Fallout 4

File information

Last updated

Original upload

Created by

SKKmods

Uploaded by

SKKmods

Virus scan

Safe to use

About this mod

Dynamically replace ferals with different actors to freshen up engagements for new experiences as you wander the Commonwealth.

Requirements
Permissions and credits
Translations
  • Spanish
Mirrors
Changelogs
Dynamically replace ferals with different actors to freshen up engagements for new experiences as you wander the Commonwealth.

[ avoid those Feral heebie-jeebies ] 


Install this mod at any point in any game to receive a [ .SKK Feral Replacement System Holotape ] in MISC inventory after V111 exit (craft spare at chemlab). This makes no changes to your game until you enable in the holotape option:


Configuration Menu 

Feral replacement [ *Disabled - Enabled ]

Exterior replacement multipler [ 0 - *1 - 2 - 3 ]

Interior replacement multipler  [ 0 - *1 - 2 ]

Remove corpses  [ *Yes - No ]

Respawn replacements [ Off -  *On ] this only affects originally placed actors, not spawned actors to avoid respawns stacking.

Respawn Time game hours [ 6 - 12 - 24 - 48 - *96 - 192 - 384 ]

Respawn in workshop areas  [ *Off - On ]  sunshine, croup, jamaica.

Scan on timer [ *Off - On ] additional protection from feral spawning mods.

All options are dynamic and can be changed at any time for instant gratification. 


Replacement Actor Menu

Raiders [ Available - *Enabled ]
Gunners [ *Available - Enabled ] 
Synths [ *Available - Enabled ] 
Supermutants [ *Available - Enabled ] 
DLC Actors [ Available - Enabled ] 
User List Actors [ Available - Enabled ] 

Available means they are installed. Enabled means they have been added to the replacement actor pick list.

If no actors are enabled then ferals will be removed but not replaced.

If more than one faction actor is enabled then spawns are a random pick from those enabled. The random pick refreshes every 90 seconds to try and keep groups the same.

If DLCs are installed, the scripted actor adds are: DLC01LvlBotRaider, DLC03LvlTrapperWoodsRifle, DLC03LvlTrapperCoast, DLC04_LvlGang_Disciple, DLC04_LvlGang_Operator, DLC04_LvlGang_Pack.

To add custom actor picks, xEdit form list SKK_FRSUserReplacementActors to add NPC_ ActorBases from the base game or other mods and save as a seperate over-ride file. This can be changed at any time as it is updated every game load to enable/disable the User List Actors holotape option.


Feral quest handlers

Quest BOS100 [ Fire Support ] feral fight at Cambridge PD is automatically handled. There is also a one time holotape option to [ Fix BOS100 check your fire bug ] if the player is in CambridgePD location and the quest is stuck. This works regardless if feral replacement is enabled or disabled.

Quest MinRecruit07 [ Ghoul Problem at <Location> ] doesn't need handling as that quest will automatically complete when this solution finds and kills the target ferals.

DLC06 Vault 88 first workshop control board from feral Anderson is placed in the desk under the security terminal. 






Why, what and how (RTFM) 

Why replace anything ?  As you probably know exactly what will happen in most engagements, this will help freshen up for new experiences. It is a proven system from Fallout 4-76 Open World that has been dynamically removing and replacing all humans in the world since 2018.

Why pick on Ferals ? They are handy as the race is distinct for fast detection and there is only one significant quest that depends on them: BOS100 [Fire Support], which this mod manages to completion, along with MinRecruit07 [Ghoul Problem at <Location>]. The reason why base game quests are an issue is that wrapping those quests without hacking the base game in any way took 4 times as long to produce as the rest of this mod. Ensuring there is zero impact on any base game quest lines gives you the CHOICE to progress them if you want. 

How it Works: As the player moves through the world (or telports between world spaces) at each cell boundary this mod scans for actors with the keyword ActorTypeFeralGhoul within the active uGridsToLoad (default 10K) radius around the player. It removes what it finds from the world and replaces them with nothing or the actors you choose.

If the player is not moving around to trigger the movement scan, a regular 30 second timer will trigger a scan to catch ferals spawned within the player area (e.g. Combat Stalkers).

If the original actor was static placed in the game, dead replacements can be configured to respawn after a configurable Game Hours time. Changing the respawn time will dynamically apply to the replacement markers when they load.


Manual installation & removal

The mod has no dependencies on extenders or DLCs and does not change any existing base game scripts, assets or objects. As with 99% of SKK mods, its 100% pure new Creation Kit forms and scripts. As it does not touch any other stuff in your save-game, there should be no load order issues or mod conflicts. 

Copy  SKKFeralReplacementSystem esp and SKKFeralReplacementSystem  - Main.ba2 to your ...\Fallout 4\Data directory, enable in the Bethesda mod menu, mod manger or whatever. All functions can be totally disabled in the settings holotape, do not plan to remove scripted mods from a save game.

As this update is after November 2019 it requires Fallout4.exe 1.10.162.0 (or later) or equivalent workarounds.


Compatibility & performance

Do not run this with mods that are set to actively GENERATE large volumes of ferals unless you really want to stress test the scripting system:

SKK Settlement Attack System will detect this mod is removing ferals and not spawn them.

SKK Random Encounter Manager will detect this mod and is removing feals and not spawn them.

SKK Combat Stalkers will spawn ferals unless you edit the spawn lists.

Fallout 4-76 do not configure to replace humans with ferals (use any option except ferals). 

True Storms do not enable feral spawns.

Zombie Walkers, More ferals, Loads of ferals, Feral hordes, World of Ferals, Will Feral or Colin Feral ... just no.



Known Issues & FAQ

(1) If a script or trigger spawns a Feral within the detection radius, this solution will not have time to detect and remove it. CombatStalkers is an example. Best to configure your spanwing mods to not spawn more ferals. 

(2) This finds ferals by the keyword ActorTypeFeralGhoul which is attached to all actors based on the feral race. If you use feral overhauls or replacers that do not conform to that base game standard, those actors may LOOK like ferals but they cant be detected. Have a word with those authors about standards, compatibility and stuff.

(3) If you want to replace other types of actor consider Replace Any actor with Any actor.

(4) Yes you can ESL flag this ESP.

(5) Yes you can make an MCM JSON thing using the handy console command list:


Console Configuration

If you don't want to use the holotape you can use these console commands in hotkeys.ini:


cqf SKK_FRSQuest "SKK_FRSQuestScript.SwitchEnabled" 1 ; [0|1] switch on/off state.

cqf SKK_FRSQuest "SKK_FRSQuestScript.SwitchScanOnTimerSeconds" 30 ; 0 disabled else real time seconds, default 30.

set SKK_FRSReplacementMultExt to 1; [0|*1|2|3] number of replacement actors to spawn exteriors.

set SKK_FRSReplacementMultInt to 1; [0|*1|2] number of replacement actors to spawn interiors.

set SKK_FRSRemoveCorpses to 1; [0|1*] No, yes.

set SKK_FRSRespawnReplacements to 1; [0|*1] Respawn dead replacements.

set SKK_FRSRespawnGameHours to 96; [0:65536] Default 4 game days 

set SKK_FRSRespawnWorkshops to 0 ;[0|1] Placed ferals in Sunshine, Croup, Jamaica.

set pSKK_FRSRandomActorPickSeconds to 90 ; real time seconds between random actor pick updates to avoid different factions spawning in the same update.

cqf SKK_FRSQuest "SKK_FRSQuestScript.SwitchReplacementActor" value;
0 = remove all actors from replacement list.
1 = add lvlRaider to replacement list.
2 = add lvlSynth to replacement list.
3 = add lvlGunner to replacement list.
4 = add lvlSuperMutantMixed to replacement list.
5 = add SKK_FRSUserReplacementActors list content to replacement list.
6 = add SKK_FRSDLCReplacementActors list content to replacement list.



Other spawning mods calling this
 
If you are the author of a spawning mod and want to ensure your feral spawns are removed, some masterless Papyrus script:

 
Spoiler:  
Show

; define this script persistent variable  before any functions: 
ScriptObject rSKK_FRSQuestScript = None

; include this OnPlayerLoadGame or however you process updates:
If (rSKK_FRSQuestScript == None) && (Game.IsPluginInstalled("SKKFeralReplacementSystem.esp")  == TRUE) 
Quest rSKK_FRSQuest =  Game.GetFormFromFile(0x00000800, "SKKFeralReplacementSystem.esp") as Quest
rSKK_FRSQuestScript = rSKK_FRSQuest.CastAs("SKK_FRSQuestScript")
EndIf

; call this after generating spawns, it checks FRS IsEnabled condition:
If (rSKK_FRSQuestScript != None)
rSKK_FRSQuestScript.CallFunctionNoWait("RemoteTrigger", New Var[0])
EndIf



********************************************************************************************
If you have read the comprehensive solution description and still need support,
use the SKK Mods Discord channel https://discord.gg/tgKNT77DC8
********************************************************************************************