Fallout 4

File information

Last updated

Original upload

Created by

SKK50

Uploaded by

SKK50

Virus scan

Safe to use

Tags for this mod

About this mod

Dynamically find and replace virtually any actor(s) with virtually any actor(s) in game to deliver new exciting surprises. Then manage their respawning for yet more surprises over time.

Permissions and credits
Changelogs
Dynamically find and replace virtually any actor(s) with virtually any actor(s) in game to deliver new exciting surprises. Then manage their respawning for yet more surprises over time.

[ this is powerful stuff - read the full description to avoid self-harm ]

Install this non intrusive mod at any time in any game, as it makes no static changes to your game at all. After waking in V111 cryo or moving in the Commonwealth the player is given a [ .SKK Actor Replace & Respawn Manager ] holotape for configuration.

This solution can do powerful stuff to your game so you need to invest some reading time to learn how to use it responsibly. If you don't want to make that effort, it really would be best not use this solution to blow up your game and then moan about it. 

The intent of this solution is to randomise the world to keep it interesting over time by mixing up actors so you dont know what your going to get next for surprise. Whilst you can use it to replace one specific actor like ActorTypeMolerat with a specific replacement actor type say lvlFeralGhoul, that will not scale to multiple findactorkeyword:replaceactor sets if you want to try and create fixed faction zones or dioramas. 

This is a broad brush to mix many finds with many replacements to deliver fresh new surprises. TOP TIP: if you don't actually want new surprises, walk away now.


Main holotape Menu


Find & Replace              [  ON | *OFF ]
Replacement difficulty      [ 50% | 75% | *100% | 125% | 150% | Random ] 
Replacement multiplier      [  *1 | 2    ]
Replace created actors      [  ON | *OFF ]
Respawn replacements        [ Off, *iHoursToRespawnCell, 3, 6, 12, 24, 48, 96, 192, 384 ]
Respawn created actors      [  ON | *OFF ]
Respawn workshop locations  [  ON | *OFF ]
Innocent actor protection   [ *ON |  OFF ]
Actor death tag             [  ON | *OFF ]
Rotting Meat                [ *OFF, 5%, 10%, 20% ]
Keyword conflict warning    [ *ON |  OFF ]



Find actor settings Menu

Replace Corpses             [  ON | *OFF ]
Replace Interior corpses    [  ON | *OFF ]
Replace Friendly actors     [  ON | *OFF ]
Replace Created actors      [  ON | *OFF ] (duplicates Main menu)
Replace Workshop actors     [  ON | *OFF ]
Replace Quest actors        [  ON | *OFF ]
Replace Unique actors       [  ON | *OFF ]
Replace Essential actors    [  ON | *OFF ]



Find actor keywords Menu

These are all existing base game race attached keywords: 

ActorTypeAnimal      [ *Select | Selected ] Brahmin, Cat, Dog, FEVHound, Gorilla, Molerat,
                                            Radstag, Yao. 
ActorTypeBug         [ *Select | Selected ] Bloatfly, Bloodbug, Radroach, Stingwing. 
ActorTypeCreature    [ *Select | Selected ] Bloatfly, Bloodbug, Brahmin, Cat, Deathclaw, Dog,
                                            FeralGhoul, FEVHound, Gorilla, Mirelurk, Molerat,
                                            RadRoach, RadScorpion, RadStag, Stingwing, Yao.
ActorTypeFeralGhoul  [ *Select | Selected ] FeralGhoul, FeralGhoulGlowing.
ActorTypeHuman       [ *Select | Selected ] Human, Child.
ActorTypeMirelurk    [ *Select | Selected ] (v002) Excludes King & Queen
ActorTypeMolerat     [ *Select | Selected ] (v002)
ActorTypeNPC         [ *Select | Selected ] (v002) Human, Ghoul, Child, SynthGen2 (WHY ?) 
ActorTypeRadscorpion [ *Select | Selected ] (v002)
ActorTypeRadStag     [ *Select | Selected ] (v002)   
ActorTypeRobot       [ *Select | Selected ] Assultron, Eyebot,  Handy, Protectron,  Sentrybot.
ActorTypeSynth       [ *Select | Selected ] SynthGen1, SynthGen2.
ActorTypeSuperMutant [ *Select | Selected ] Alien, Supermutant (includes Behemoth keyword).
UserAddKeywords      [  Select | Selected | *Locked ] SKK_ARMUserAddKeywordList
CustomKeywords       [  Select | Selected | *Locked ] SKKActorReplaceRespawnManagerCustomLists.esp


Replacement actors MENU

Faction Relations [ Respect | *Ignore ] 
Brotherhood       [ Enabled | *Disabled |  Locked ]      
ChildrenOfAtom    [ Enabled | *Disabled |  Locked ]   
DeathClaw         [ Enabled | *Disabled |  Locked ]         
DLC01RustDevil    [ Enabled |  Disabled | *Locked ]  
DLC03Trapper      [ Enabled |  Disabled | *Locked ]  
DLC04Disciple     [ Enabled |  Disabled | *Locked ]    
DLC04Operator     [ Enabled |  Disabled | *Locked ]    
DLC04Pack         [ Enabled |  Disabled | *Locked ]        
Feral Ghoul       [ Enabled | *Disabled |  Locked ]            
Gunner            [ Enabled | *Disabled |  Locked ]           
Minutemen         [ Enabled | *Disabled |  Locked ]        
Raider            [ Enabled | *Disabled |  Locked ]           
Railroad          [ Enabled | *Disabled |  Locked ]         
Supermutant       [ Enabled | *Disabled |  Locked ]     
Synth             [ Enabled | *Disabled |  Locked ]            
Triggerman        [ Enabled | *Disabled |  Locked ]       
UserAddActorList  [ Enabled |  Disabled | *Locked ] SKK_ARMUserAddActorList
CustomActorList   [ Enabled |  Disabled | *Locked ] SKKActorReplaceRespawnManagerCustomLists.esp



Main Menu Options 

With [ Find & Replace ON ] as the player moves through the world, the active area around the player (uGridsToLoad) is scanned for actors that have the selected find actor keywords. If they match without an exclusion setting a marker is placed at them and stamped with some original actor info. The original actor is moved to a holding cell and killed to ensure any quests or scripts that are holding on to them can release, then they are disabled and deleted (if possible) to clean up their references. 

Regardless of keyword matches, actors are not replaced if they are active player followers or closer than 1500 game units to the player (to avoid visual snaps) when detected in an external worldspace.

If replacement actors are configured then a replacement is randomly chosen from the enabled list for each replacement cycle to create groups of the same actor faction. Its not 100% effective as sometimes groups split across detection boundaries to be converted in different sweeps. The replacement actor level/health is set to match the player (v003 can set difficulty % of player level).  To be super clear if no actors are selected, originals will be removed by there will be no new replacement until something is selected and the respawn time triggers. 

The replacement multiplier exists to help avoid using nasty spawn multipliers that cause problems. Rather than use the replacement multiplier, replacing corpses is more exciting and surprising as you probably don't know where all the corpses are. As this volume can get sporty in interiors (like Mass Pike Tunnel) that is separately switchable [ Replace interior corpses ON | OFF ] in the settings menu.

Placed vs Created ("spawned") actors. Placed actors are statically placed in the Creation Kit and may or may not be set to respawn. Created actors are spawned by a script and should never be set to respawn. By default this only replaces static placed actors [ Replace created actors OFF ]. Only replace created actors if you totally understand how your additional spawning mods work as some may not react well to their products being killed and replaced. SKK spawning mods will survive this, but you are creating extra script load by spawning actors and then replacing them. 

Respawning of replaced actors if enabled defaults to match your base game iHoursToRespawnCell setting. Every time an actor replacement marker loads, the timestamp and original actor data (Placed/Hostile/Corpse) are checked to trigger a respawn based on your CURRENT settings and player level  (v003 can set difficulty %). Yes thats right, all the settings are dynamic so you can change them at any time to take effect when the marker next loads. None of that sleep for a week and try to trigger [ pcb ] cell reset nonsense and actors struck at the Player's original trigger level.

If Created actors are being replaced, the option to respawn them HAS STRONG WARNINGS. Respawning actors that were originally spawned is likely to create disastrous volumes of actors at base game random encounter locations and wherever your other spawning mods cough up product. This option has been included as a Vault-Tec sponsored contract experiment to see how many use it and then complain about ignoring the warnings and trashing their games, just like the original out of control spawning mods used to do.

[ Respawn in workshop locations OFF ] avoids the replacements of original local hostiles re-bothering you in Red Rocket, Sunshine, Jamaica, Croup, Castle & etc unless you enjoy those insider attacks.

Replacement actors are always added to a common ally faction to try and stop them attacking each other BY DESIGN. If you want to explain how this affects your immersion, go ahead whilst imagining me metaphorically punching you in the face until you stop.

The default setting of [ Innocent actor protection ON ] removes player hostile replacements from all factions (except the face punchable replacement ally faction), making them only hostile to the player to try and prevent them attacking neutrals like DC residents and settlers to trash those areas. This is not 100% effective as some actors are configured for "Aggro Radius" which will attack neutrals no matter what. You takes your chances when you roll the random combat spawning dice. Switching protection off leaves hostile actors in their default factions which can cause mayhem around other actors if that's what you desire.

The [ Actor Death Tag ] is left over from development to identify replaced actors as some like me find it amusing to collect and count.

[ Rotting meat chance ]  is an option to manage the case that all animals are being removed or converted to something that does not give meat. I run survival and cooked meat is a staple, so this provides the chance for something cookable (3:1 with antiseptic) to populate on organic corpses. It even respects the Wastleand Survival Guide extra meat multiple.

The keyword conflict warning pops for every find keyword and replacement actor conflict after selection changes are submitted to try and help you detect and avoid performance problems. Only disable the warning if you totally understand what you are doing. The ability to disable warnings and then complain is another embedded behavioral test.


Find actor settings Menu Options 

Most of these menu options probably should not exist, as choosing unwisely will have game trashing consequences. We shall see.
  
[ Replace Corpses ] is not a problem for quests or preformance. Its good for UX and a useful way to multiply the active hostiles for difficulty. As some interiors can become rather tight and sporty with the volume of corpses like Super Duper Mart [ Replace Interior corpses ] is seperatly switchable. Note that some corpses are not actually actors so they will not be replaced.

Replace Friendly actors OFF ] will ignore neutral and friendly actors that are not covered by the other attributes, folks like Diamond City and Godneighbor residents.  If enabled the actual replacement may be hostile or friendly depending on how you have configured the replacement actor list. Its random and does not offer to replace hostile with hostile and friend with friend, which is why the innocent actor protection setting is available. 

Replace Workshop actors OFF ] exists to avoid workshop assigned actors from being replaced. Consider also that most settlers are created/spawned by the workshop recruiting system. Switching this ON with replace created actor enabled will stress the WorkshopParentScript as each workshop assigned actor (settler and unique dismissed companion if thats enabled) has to be unassigned from resources as they are killed. It's an option that should not be enabled.

[ Replace Quest actors OFF ]  exists to stop active quest target actors from being replaced.  There is a warning if you try to switch this on as quests will be broken.  It's an option that should not be enabled.

Replace Unique actors OFF ] exists to stop general quest and companion actors from being replaced. There is a warning if you try to switch this on as quests will be broken.   It's an option that should not be enabled.

[ Replace Essential actors OFF ]  exists to stop general quest and companion actors from being replaced. There is a warning if you try to switch this on as quests will be broken.  It's an option that should not be enabled.


Find actor keywords Menu


If no search keywords are selected nothing will happen. 

If duplicate keywords are selected, example ActorTypeAnimal includes Molerat and Radstag, the broader keyword wins and subsidiary selections are automatically disabled. If an item is not switching from [ select ] to SELECTED this is why. Betcha $100 this gets "reported" more than once as a defect ;)

If the search keywords include selected replacement actors (imagine your search includes ActorTypeSuperMutant keyword and replacement actors are SuperMutants) the system will not break, but will add script load as it keeps finding the replacement actors to then filter out. This condition will be detected and warned if [ Keyword conflict warning ] is left enabled. 


The holotape list is of common base game ActorType* keywords attached at the actor race level. To avoid conflicts from hacking base game forms this mod will not be adding any more keywords so don't bother asking for them.

If you find more granular existing keywords that meet your specific needs such as ActorTypeBortherhoodOfSteel, or want to add new ones read SKK ARM adding new keywords and actors article.


Replacement actors MENU

By default you can add any of the presented faction actors regardless if they have arrived (Prydwen) or if they are hostile/non-hostile. If you only want quest aware lore aligned hostile factions to be available, set [ Respect Faction Relations ] in the main menu.

If you want to add other actors to the list, read SKK ARM adding new keywords and actors article.


If no actors are selected the world will be depopulated with no replacements until one or more replacement actors are selected and the spawn markers load and trigger in the active area.

If multiple replacement actors are selected, the system selects a random replacement per detection cycle. On occasion there may be mixed groups if actors are on a detection boundary, but as they are added to a shared ally faction they should not fight each other. BY DESIGN (remember the punching).


Content Creators

If you are excited about the dynamic flexibiltiy of SKK ARM adding new keywords and actors, you can create and publish premade mixes of removal keywords and replacement actor form lists in User over-ride and/or Custom addon files. DO NOT REPUBLISH THIS CORE MOD ESP OR BA2 FILES, or other masters without express permission from the original author.


Performance Notes


This has been tested extensively on vanilla games with all removal keywords enabled, replace corpses and created actors, using all of the replacement actors enabled including user and custom list options. It runs full speed ahead at 72fps Ultra (GTX1070/144Hz monitor managed by the excellent LoadAccelerator) in busy spaces like College square with 30 replacement actors and only drops fps when downtown as per usual.

Whilst scripts can not slow down frame rate, slow frame rate affects script execution and the script system itself will lag if there are not enough time slices to run all the queued functions. 

In principle the more actor keywords you include to be found the more load on the script system. The pool of replacement actors does not affect script performance at all. Replacing and particularly respawning created/spawned actors is the major perormance and stability consideration. As long as replace created actors is off (or the keywords do not pick created actors) the SKK spawning solutions such as Random Encounter Manager, Combat Stalkers and Settlement Attack System have absolutley no problem and cause no script back-log/lag. 

If you run script intensive solutions such as Sim Settlements and/or PANPC you will notice this script lag when original actors disappear and the replacements appear closer and closer to the player as the scripts try to catch up with movement through the world during combat and/or around workshops. You need to (a) slow down and (b) reduce the script function call load learn more here.

For maximum performance configure:

(a) One keyword choice to find and replace.

(b) As many replacement actors as you like as the list causes no performance impact.

(c) Multiply 1:1.

(d) Do not replace or respawn created actors. RESPAWNING CREATED ACTORS IS BAD, MMMKAY ?

(e) Respawn 24 game hours or more to give the game time to clean up old corpses.

(f) Do not replace corpses so less to do.

(g) Do not replace Friendly, Quest, Unique, Essential, Workshop actors. 


Known Issues

(1) Most of the ferals that spawn in the BOS100 Fire Support Cambridge PD fight will not be replaced regardless of settings as they spawn too close to be detected in time. SKK Feral Replacement System has a quest safe handler for that specific spawning script if you need to remove ferals.


Compatibility

The mod has no dependencies on extenders or DLCs and does not change any base game assets, objects or scripts. It is 100% pure new Creation Kit forms and scripts. As such it has no load order preference and will not conflict, excepting the known issues.

Whilst the solution tries to detect quest dependent actors with the [ QuestMarker | Unique | Essential | Follower | Friendly ] actor lockouts, this may not be 100% effective as some less well implemented content may manage to bypass all 4 categories. The two problem conditions are: hostile actors that have a quest death item that could be lost (a Vault 88 feral) or friendly actors that have quest trigger dialog.

This detects if SKK Feral Replacement System is installed and active to disable feral keyword search and replacement. It is compatible with all other SKK spawning solutions if replacement and respawning of created actors is disabled. If they are enabled you are creating script contention.


As this mod was published after November 2019 it depends on Fallout4.exe 1.10.162.0 (or later).


Nexus PC manual installation & disable

Copy SKKActorReplaceRespawnManager.esp and  SKKActorReplaceRespawnManager – Main.BA2 to your...\Fallout 4\Data directory and add to Plugins.txt, or enable in the Bethesda mod menu, use a mod manger or however you organise. 

Do not try to remove or disable this solution from a save game once it has been activated. It places its own spawn markers at each replaced actor so removing/disabling in the load order will leave a LOT of orphan objects in your game. Seriously, DON'T no matter what idiots on reddit tell you. Simply set Find & Replace in the main holotape menu to OFF.


Nexus FAQ

(1) Why is there no ESL version ? Because life already contains sufficient hassle. 

(2) Why a holotape menu rather than MCM ? Because 90% of SKK mod users do stuff on Xbox.

(3) This all seeams to be a bit bloody complicated to simply replace anything I want with something else ! OK Chief.


Console Configuration for default settings

set SKK_ARMEnabled to 1;
set SKK_ARMReplacementMultiplier to 1;

set SKK_ARMReplaceCorpses to 0;
set SKK_ARMReplaceInteriorCorpses to 0;
set SKK_ARMReplaceCreatedActors to 0;
set SKK_ARMReplaceFriendlyActors to 0;
set SKK_ARMReplaceEssentialActors to 0;
set SKK_ARMReplaceUniqueActors to 0;
set SKK_ARMReplaceQuestActors to 0;
set SKK_ARMReplaceWorkshopActors to 0;

set SKK_ARMRespawnGameHours to 24;
set SKK_ARMRespawnCreatedActors to 0;
set SKK_ARMRespawnWorkshops to 0;

set SKK_ARMInnocentProtection to 1;
set SKK_ARMEnableDeathTag to 0;
set SKK_ARMRottingMeatChanceNone to 100;
set SKK_ARMIgnoreFactionRelations to 0;
set SKK_ARMKeywordConflictWarning to 1;

cqf SKK_ARMQuest "SKK_ARMQuestScript.SwitchEnabled" ; Implement any changes

; There are no console commands to pick individual Keywords or replacement Actors, the holotape must be used, except to disable all keywords and actor selections:

cqf SKK_ARMQuest "SKK_ARMQuestScript.ResetAllKeywordsAndActors"

********************************************************************************************
SKK mods for Fallout4 will no longer be maintained on nexusmods.com from July 2021
 
If you have read the comprehensive solution description and still need support, use the SKK Mods Discord channel https://discord.gg/tgKNT77DC8

If you are looking for an SKK solution that has been removed from this site to respect the author's IP, or would like to stay up to date with other content, you can find it on SKKMods.com http://skkmods.com

SKK solutions are provided as-is for personal use only. No commercial use, monetization, re-use, packaging, re-packaging or distribution of SKK created code/scripts in whole or in part is allowed.
© 2021 [email protected] all rights reserved.
********************************************************************************************