Starfield

File information

Last updated

Original upload

Created by

SKKmods

Uploaded by

SKKmods

Virus scan

Safe to use

Tags for this mod

About this mod

Spawn and manage unlimited follower allies. Spawn hostiles that can actively stalk the player, on demand or at random times. Safety features to protect innocent NPCs and your savegame from spawn bloat.

Permissions and credits
Changelogs
Spawn and manage unlimited follower allies. Spawn hostiles that can actively stalk the player, on demand or at random times. Safety features to protect innocent NPCs and your savegame from spawn bloat.


Nearly Fallout 4 Combat Stalkers 


The player automatically gets regenerating [ Spawn Follower Menu ] and [ Spawn Hostile Menu ] AID item activators when the mod starts up. As new game start clears player inventory, craft replacements at any Industral workbench with 1 [ Fe ] iron.  Favorite them for quick access.



=======================
Spawn Follower Menu

Followers are disposable combat meat-sheilds. They are not waifus or husbandos to dwessup and form long lasting relationships with like companions. Followers are unaggressive and will not initate combat to avoid spoiling a sneak attack.


(1) Open all Followers Inventories: in sequence.

(2) Heal all Followers:  only heals under 80% health to avoid spanking Medpacks (if used), updates follower to match Player base health.

(3) Move all Followers to Player: Clears any "wait here" conditions.

(4) Spawn a Random follower: picks from list at player level:

Spoiler:  
Show

SKK_SFListFollowers

LvlMarine_Assault [NPC_:00056F09]
LvlSecurity_Assault [NPC_:0025C5E5]
LvlSecurity_Freestar [NPC_:0026FB62]
LvlSecurity_Neon [NPC_:00247D45]
LvlSecurity_TrackersAlliance [NPC_:0007F891]
LvlVanguard [NPC_:00096546]


(5) Spawn a matching follower:  match the first live follower you recruited (best not have more than ~8 concurrent player followers).
 
(6) Dismiss all Followers: stop following the player to sandbox in place and delete when the actor unloads.

(7) Loot and remove corpses: finds all human corpses in a 25 meter range, opens each corpse inventory in sequence for EZ looting then disables the corpse for the game to cleanup.  Robots, creatures and critters dont really much of value to bother with.

(8)  Followers use ammo: [ *Off | On ] for those that enjoy loadout micromanagement (some do).

(9)  Heal Followers uses Medpacks: [ Off | *On ] Only heals if a Medpack can be taken from the Player.

(10)  Actor Commands Menu: [ Off | *On ] This uses an AddActivate perk to display an additional activation option on all non hostile actors. If  another mod adds an activation nothing is shown, so this can be switched on and off as much as you like to play nice with others.



===================
Actor Commands Menu

If enabled, any non hostile actor can have an optional [ R ] Commands action option that pops a menu;


(1) Wait here | Follow me: (only active followers) wait clears on player teleport.

(2) Open Inventory.

(3) Heal:  only heals if under 80% health to avoid spanking Medpacks (if used), updates follower to match Player base health.

(4) Recruit: will recruit nearly any actor that is not hostile to the player as a follower. Excludes Companion, Elite, Unique, Essential, but be careful as you can break quests recruiting undetectable scene controlled actors.

(5) Dismiss: (only active followers) stop following the player to sandbox in place and delete when the actor unloads.



=================
Spawn Hostile Menu

Hostiles are base game actors that are forced hostile to the player with aggression set to attack Enemies on sight, but not Neutrals. The menu header shows the current value of [ iNumberActorsInCombatPlayer ] FYI.


(1) Human List [ *Enabled | Disabled ] random pick from list at random +/- 150% player level:
Spoiler:  
Show

SKK_SFHumanHostilesList

LvlHumanHostile_Assault [NPC_:00375AA4]
LvlSpacer_Assault [NPC_:0027BB8F]
LvlCrimsonFleet_Assault [NPC_:00054327]
LvlEcliptic_Assault [NPC_:0026FF67]
LvlTheFirst_Assault [NPC_:0026FB3E]
LvlVaruun [NPC_:00278716]


(2) Creature List [ *Enabled | Disabled ] random pick from list at random +/- 150% player level:
Spoiler:  
Show

SKK_SFCreatureHostilesList

LvlAceles "Aceles" [NPC_:001EA2C3]
LvlOctopedeABlisterCrab [NPC_:002BF32D]
LvlOctopedeAExocrawler [NPC_:002BF649]
LvlOctopedeAGallopingBeetle [NPC_:002BF64A]
LvlOctopedeAHornedCrab [NPC_:002BF64B]
LvlOctopedeALonghornBeetle [NPC_:002BF64C]
LvlOctopedeAMaggotCrab "Maggot Crab" [NPC_:002BF64D]
LvlOctopedeARockCrab [NPC_:002BF64F]
LvlTerrormorph [NPC_:002B2293]


(3) Custom List [ *Enabled | Disabled ] random pick from list at random +/- 150% player level:
Spoiler:  
Show

SKK_SFCsutomHostilesList
... empty ...


(4) Spawn number [ 2 | 4 | 8 | 16 | *Random (2/8) ] Actors are a random pick from list at a random +/- 150% player level:

(5) Spawn distance [ 20/40m | 40/80m | 80/160m | 120/240m | *Random 40/240m ] interior spawns always use 20/40m.

(6) Stalk player [ 0% | 50% | *100% ] if they dont stalk/follow they sandbox in place so you may never meet them before they unload.

(7) Protect innocents [ *On | Off ] removes actors from all factions and disables aggro/radius so they are ONLY hostile only to player and allies. To help with spawning in settlements, but its not 100% foolproof so don't spawn in settlements and then cry.

(8) Show hostile info [ *On | Off ] helps you find them, disables when in combat until the last one.

(9) Timed spawns [ Off | 10/20 min | 20/40 min | 40/80 min ] real time (not game) minutes. Any change restarts the timer. 

(10) Spawn in settlements [ *Off | On ] to protect innocent NPCs. This may or may not include Outposts, that location tag is inconsistent. 

(11) Spawn in interiors [ Off | *On ] can't always find markers at a decent range in small interiors.

(12) >>> SPAWN NOW: Can be run as many times as you like to stack active hostiles until your game falls over. Best not have more than 32  concurrent active. Only works on planet surfaces and interiors, not in space or on ships right now because reasons: [ Unable to spawn here. ] message.





=================
Spawning Education

(a) Persistent unreleased spawned actors are a top reason for performance issues, savegame bloat and unloadable saves.

This solution is careful to hold no actors persistent and removes any live actors when they unload from the active area. That means live spawns will automatically clean up when you get over ~500 meters from them, or teleport to a new location. Corpses are left for the game engine to handle as they are low load, unless you use the loot and remove corpses feature.

If that design decision sounds like "a lame bug in the mod" (actual half-wit quote) then best move on. If not, check your other spawning solutions as the tools to clean up* Starfield are not around.

(b) Fallout 4 would handle ~ 300 actors in the loaded area before freezing, but only the first ~30 will actually follow and fight due to AI settings and processing load. Starfield has not been benchmarked for AI handling limits so stick to around 30 followers + hostiles for an actual exprience. Of course you CAN spawn HUNDREDS of actors for your click-bait youtube content, but they wont do much unles you start configuring [ setgs iNumberActorsInCombatPlayer ] and such.

(c) Bethesda OpenWorld OpenUniverse games are not designed for random spawning which can destroy games if implemented without consideration.

They mostly use placed actors and scripted events that are spaced widely enough that they do not interact, so hostile actors mostly default to AI.aggression and AI.AggroRadius which will attack hostiles AND neutrals on sight. Spawn them "as is" into Diamond City Atlantis and you have just killed a stack of non resetting/respawning NPCs denuding that immersive ambiance and preventing rumour dialog quest triggers.


=====================
Editing Actor Spawn Lists

If you want to modify the spawned actor random pick lists to meet your exacting needs and you know how to use xEdit to edit forms, have at it. Understand that this page can not teach you basic xEdit skills no matter how desperate you are. Youtube tutorials ?

If you absolutley positivley must have a specific actor spawning then: (a) why are you using a RANDOM spawning mod and (b) the list needs to have only that one lvlActor in it. 

Spoiler:  
Show

When adding actors that have a hierarchy EncActor > LCharActor > lvlActor, always use the levelled ActorBase (_NPC).
 
Existing ActorBases can all be removed, but each formlist must have at least ONE valid actorbase to not fall over.

SKK_SFListFollowers "OK to xEdit this with friendly lvlActors" [FLST:xx0080A] 
SKK_SFListHumanHostiles "OK to xEdit this with hostile lvlActors" [FLST:xx00080B] 
SKK_SFListCreatureHostiles "OK to xEdit this with hostile lvlActors" [FLST:xx00083B] 
SKK_SFListCustomHostiles "OK to xEdit this with hostile lvlActors" [FLST:xx00083C] 

When you xEdit mods be sure to save your changes as a seperate over-ride file, else they will be overwritten when the base mod updates. You should plan for mods to be updated, not frozen in perpetuity like that old half eaten curry you shoved in the back of your freezer when hammered on a dark and stormy night years ago. 




=========
Installation

This does not depend on anything at all (like script extenders) except your ability to follow instructions.


(A) Mod Manager Install 

Folllow your chosen mod manager install instructions for ESM files and loose scripts, I'm not getting involved any more. 


(B) Manual Install 

Spoiler:  
Show

(1) Extract the (not _MODMANAGER) download archive files and folders to C:\Program Files (x86)\Steam\steamapps\common\Starfield\Data

Using standard paths will look like:

C:\Program Files (x86)\Steam\steamapps\common\Starfield\Data\SKKStalkersFollowers.esm
C:\Program Files (x86)\Steam\steamapps\common\Starfield\Data\Scripts\SKK_SFQuestScript.pex
C:\Program Files (x86)\Steam\steamapps\common\Starfield\Data\Scripts\SKK_SFCollectionAliasScript.pex
C:\Program Files (x86)\Steam\steamapps\common\Starfield\Data\Scripts\SKK_SFFollowerMenuItemMGEFScript.pex
C:\Program Files (x86)\Steam\steamapps\common\Starfield\Data\Scripts\SKK_SFHostileMenuItemMGEFScript.pex
C:\Program Files (x86)\Steam\steamapps\common\Starfield\Data\Scripts\Fragments\Perks\SKK_SFActorMenuPerkScript.pex

But, if you have buggered about with non standard folder paths then "wherever starfield.exe lives ...\Data folder and wherever starfield.exe lives ...\Data\Scripts folder" is the best guidance your going to get as I have no idea where you installed. If you can't work from that then best just stop now.

(2) If you are not using plugins.txt, edit C:\Users\%USERNAME%\Documents\My Games\Starfield\StarfieldCustom.ini to include the following sections and entries:

[General]
sTestFile1=SKKStalkersFollowers.esm

[Archive]
bInvalidateOlderFiles=1
sResourceDataDirsFinal=

If you already have sTestFile1 in use, no problem you can have up to 10 of them from sTestFile1=FileName to sTestFile10=FileName. BUT with only 10 to fill you will clearly need to choose wisely.

(3) If you are using a plugins.txt enabler mod you should follow its instructions which are probably "add *SKKStalkersFollowers.esm to Plugins.txt"



(C) To validate your installation attempt in a running game:

To validate scripts console [ cgf "SKK_SFQuestScript.GetVersion" 1 ]
To validate the ESM console [ help SKK_SFQuest 4 quest ]




===================
Quality & Compatibility

(1) This is 100% new forms and scripts. As it does not modify any base game content at all, the likelyhood of it CAUSING conflict is zero. If you have issues, best start with your stuff that does hack the base game or configures odd settings.

(2) Except the issue described with AddActivate activation menu perks colliding. 

(3) Installing mods disables achievements.



===========
Known Issues

(1) Do not get clever and rename the ESM file. The scripts use GetFormFromFile() lookups on fixed file names rather than script properties until Creation Kit releases because technical reasons.

(2) The Papyrus scripts produce debug log output to help investigate any issues, if you want to look at the logs enable the Papyrus Debug.Trace log.

(3) Before you throw a fit about ESM mod files because muh mhassive ESL flag limits, best educate yourself on the actual Starfield file format issues: The Case for Exclusively Supporting .esm Files in Starfield and Starfield - An update on plugin mods.



==============
With thanks to ...

This early development has been enabled by CHAMPOLLION and CAPRICA Papyrus tools created and maintained by the amazing software engineering talents of Orvid and Nikitalita and of course a public xEdit build from ElminsterAU and team.


(*) the awesome work by @LarannKiar on orphan persistence and MarkForForcedDeletion even though I dont actually use F4SE.