SKK Settlement Attack System console configuration

Article:  SKK Settlement Attack System console configuration Mod Name: SKK Settlement Attack System Mod File: SKKSettlementAttackSystem.ESP Source: Platform: Fallout 4 (PC, XBOX) Author: Date:     Feb 2019 Version: 001 onwards

Global Variables that can be set with the console, Papyrus remote script properties via GetFormFromFile, or MCM if you want to write a json thing:

[0 | *1] Enable or disable attacks.

[-1 to 65355] Default 3600. Real time seconds between settlement attacks, the selected value subject to +/- 20% random jitter. Totally Random -1 (15min to 4 hours), do not set to zero.

SKK_SASAttackNow [v006]
[*0 | 1] Over ride attack interval timer ONCE to start an instant attack if workshop conditions are met.

[0 to 65355] Default 6 the defense rating per settler (excluding guards who already produce 6 def) that is added to the workshop defense/safety rating you see on the building screen and in the PipBoy.

[1 to 65355] Default 6 the defense rating used to calculate each normal attacking lvlActor. Attackers are capped at max 64 for performance.

[1 to 65355] Default 36 the defense rating used to calculate each attacking lvlActor with the HeavyKnocker keyword (Deathclaw, Vertibird, Behemoth, Queen) that the player can add to SKK_SASUserAddActorsList. Large attackers are capped at max 6 for performance (render rather than AI).

[0.5 to 2.0] Default 1.0 multiplier for number of attackers based on settlement defense and settlers.

The number of standard actor attackers is calculated from:
((WorkshopParent defense rating PLUS (Number of settlers who are not guards TIMES SKK_SASDefensePerSettler)) DIVIDEDBY SKK_SASDefensePerAttacker ) MULTIPLIEDBY SKK_SASAttackStrength
Hard limits Minimum 2 Maximum 64

[50|75|*100|125|150] Sets lvlActor spawn level and health % relative to player using the aiLevelMod LevelList modifier.

SKK_SASAttackFaction (demised in 012)
[-1 to NumberOfForms] Index of SKK_SASAttackFactionList formlist lvlActor entry to pick, -1 for random. You will not be able to see the index numbers of dynamically added factions to pick (level gated, hostile relationship, DLC installation, imports from SKK_SASUserAddActorsList).

To use a specific faction set all the unlocked factions to disabled in the holotape except for the user added list, add the specific lvlActor form to FormList SKK_SASUserAddActorsList.

For any of the attack setting changes above to be executed,
call script function (SKK_SAS as SKK_SASScript).CleanupAttack(bForceClean = TRUE), or
console [ cqf SKK_SAS “SKK_SASScript.CleanupAttack” 1 ]

SKK_SASAirSupportFactionBypass (v005)
[*0 | 1] Bypass the Vertibird air support player faction membership check. If the base game Vertibird Fast Travel (VFT) is enabled (BoSFastTravelCanUse >0) then air support will be available.

SKK_SASAirSupportTimer (v005)
[1 to 86400] Default 900 real time seconds that a Vertibird support mission will loiter on station before returning to base. Inter mission cooldown is (value *2).

For any of the air support setting changes above to be executed,
call script function (SKK_SASAirSupport as SKK_SASAirupportScript).CleanupAirSupport(bForceClean = TRUE), or
console [ cqf SKK_SASAirSupport “SKK_SASAirSupportScript.CleanupAirSupport” 1 ]

SKK_SASPatrolEnabled (v007)
[*0 | 1] Enable or disable patrols between owned workshops with either (>= 1 settlers) or (>= SKK_SASDefensePerAttacker defense). Implemented by the function call:

Script  (pSKK_SASPatrol as SKK_SASPatrolScript).SwitchPatrol()
Console [ cqf SKK_SASPatrol “SKK_SASPatrolScript.SwitchPatrol” ]

SKK_SASPatrolMarkers (v007)
[0 | *1 | 2] 0 all messages disabled, 1 enable new patrol messages, 2 enable new patrol messages and patrol map markers. This is set by a function call:

Script  (pSKK_SASPatrol as SKK_SASPatrolScript).SwitchPatrolMarkers(Value)
Console [ cqf SKK_SASPatrol “SKK_SASPatrolScript.SwitchPatrolMarkers” Value ]

SKK_SASDisableBaseGameAttacks (v006)
[0|*1] Enable or disable irritating [Defend settlement name] base game attacks on workshops. This configures an existing setting on workshops and does not hack the base game in any way. Does not stop Minuteman radiants that include some [Defend] [Build Defenses] [Help defend] attacks (MinRecruitmentAllowRandomAfterPlayerOwned) as the player may be doing MM faction quests, use SKK Workshop Ownership Utilities for this.

SKK_SASIgnoreFactionRelations (v012)
[*0|1] Ignore the player relationship with each faction so they can be enabled for the random selection pool.

SKK_SASAutoRepair (v006)
[*0|1|2] Enable or disable auto repairing (1) workshop resources (like plants) or (2) resources and turrets  after an attack. 10 caps per repair is removed from the player account. Function is skipped if the player is a dead beat hobo scavver with less than 100 caps.

[*0|1] Enable or disable attacker map markers.

[0|*1] Add config holotape to player inventory if missing at each game load.

[0|*1] Remove hostile actors from the game if their 3d unloads when they are outside the player active area (12K units). If  none are left, attack cleans up.

[0|*1] Failsafe 30 real time minute timer to stop and cleanup an attack after the player arrives to start an attack.


To set global variables with the game console use [ set VARIABLE to VALUE ]

All settings are evaluated as each attack cycle triggers.

Setting a value outside of the preset settings will stop that item from showing as a holotape menu selection.

;; SKKSettlementAttackSystem defaults console bat file

set SKK_SASEnabled to 1
set SKK_SASAttackInterval to 900
set SKK_SASDefensePerSettler to 6
set SKK_SASDefensePerAttacker to 6
set SKK_SASDefensePerHeavyKnocker to 36
set SKK_SASAttackStrength to 1
set SKK_SASAttackDifficulty to 100
set SKK_SASAttackFaction to -1
set SKK_SASAttackMarkers to 0
set SKK_SASIgnoreFactionRelations to 0;
set SKK_SASDisableBaseGameAttacks to 1
set SKK_SASForceHolotape to 1
set SKK_SASAutorepair to 1
set SKK_SASAttackNow to 0
set SKK_SASStopAttackOnUnload to 1;
set SKK_SASStopAttackOnTimer to 1;
cqf SKK_SAS “SKK_SASScript.CleanupAttack” 1

set SKK_SASAirSupportFactionBypass to 0
set SKK_SASAirSupportTimer to 900
cqf SKK_SASAirSupport “SKK_SASAirSupportScript.CleanupAirSupport” 1

set SKK_SASPatrolEnabled to 1
cqf SKK_SASPatrol “SKK_SASPatrolScript.SwitchPatrol”
cqf SKK_SASPatrol “SKK_SASPatrolScript.SwitchPatrolMarkers” 1


To add specific or custom actors to the random selection, use xEDIT to add the lvlActorName records (NPC_ signature) to SKK_SASUserAddActorsList Form ID List (the one with the helpful description “Add lvlNPC actors to this list (mod will use regardless of hostility”).