About this mod
Solve your bullet sponge game balance issues by killing nearly any actor in the game with one tap to the head (if they have one) from any weapon. A scripted solution with no compatibility patching needed (or even possible).
- Requirements
- Permissions and credits
- Changelogs
For non FPS players or English speakers 'HEADSHOT' or 'HEADSHOTTED' in shooting games means something is killed with one hit to the head.
This is a quick and EZ switchable solution when you just want to slap something that JustWorks™ into any game at any stage to do more killing, altho that flexibility comes with some headpart exceptions. The alternative is to use something that static hacks actor head condition bodypart data but creates conflicts and/or significant patching.
Configuration Menu
Configure and start headshotability with the [ .SKK Headshot any actor ] aid menu item given to the player after vault exit (craft spare at chemlab). Default settings are all disabled until YOU enable them and are switchable as much as you like:
(1) Hostile Headshots [ On| *Off ] actors hostile to the player can be headshotted.
(2) Friendly Headshots [ On | *Off ] actors firendly to the player can be headshotted.
(3) Essential Headshots [ On | *Off ] quest essential actors can be headshotted (this will affect quests, use wisely).
(4) Player Headshots [ On | *Off ] the player can be killed by a headshot (for balance).
(5) Headshot Notifications [ *On | Off ] for additional dopamine hit.
(6) Exploding heads [ 0% | *50% | 100% ]
(7) Operating mode [ *High performance cloak | Timer | Low overhead player movement ]
Performance
Big change in the script method from verison 003 OnCripple to 004 OnHit to ensure that the player is credited with their headshot kills. To avoid high frequency events clogging up the script system during combat this no longer holds a cache of live actors, releasing them OnUnload so the menu counts will be a lot lower.
If it looks like the script system is lagging only enable hostile headshots, no notifications or exploding heads and finally switch peformance from cloak spell to player movement.
Nearly any actor/weapon considerations
(1) To ensure that the player is credited EXP for headshot kills which are normally only 5 damage, this makes a hard edit of [ SetGS fXPDeathRewardHealthThreshold 0.005 ] which is half a percent compared to the default 25% threshold. Anything changing that later in the load order may cost you EXP awards.
(2) You still need to penetrate any head armor, of course.
3) Some combinations of low damage weapons, range damage dropoff and high base health/armor/DR actors may need two hits.
(4) Humanoid actors are all OK, but the head hitbox from some actors can be tricky e.g. dogs only register in the top of head. Radscorpions and Mirelurk Queens have headparts but do not register headshots outside of VATS which provides something to run away from if you dont aimbot.
(5) Actors that do not have a head e.g. Handy robots and Turrets can not be headshoted. Protectrons are specifically excluded as their massive glass dome head would start broken/missing on destruction state and I prefer my Protecton settlers to start whole.
(6) Actors that are configured to be Ghosted (Preston on the balcony), Invulnerable (kids) or DeferredKill (some scripted fight scenes) can not be killed as it takes too long to detect and disable those super-rare edge states.
(7) Switch the operating mode for performance vs overhead. The default is (0) player cloak spell which updates every 1 to 2 seconds to find any unmanaged actors in a 10K radus. If that causes visual spikes on busy cell changes, switch to (1) a ten second timer which can smooth out processing by not happening instantly as actors load with cells, but may miss jumpscare actors spawning within 4k units of the player before they sprint to engage. The lowest overhead (2) triggers after 4K of player movement which will not find jumpscare or actors that actively track and hunt to engage the player (e.g. Combat Stalkers) whilst your idling and not moving. Mmmm CHOICES !
Compatibility
This works by finding actors and if their PerceptionCondition is above 10% applies a spell to reduce PerceptionCondition by 98%, then monitors each actor that the player hits for for a -% PerceptionCondition to kill them. It does not touch base forms or actor health in any way so it will work with any actor that has PerceptionCondition, any weapon that deals damage and any other damage management mod that either adjusts actor health/body data or damage multipliers.
It will deliver unpredictable results other solutions that manage actor headshots by script, but is specifically designed to work WITH Commonwealth of Decay feral headshots which should be left ENABLED (because COD feral headshot scripts run on the feral actors so are more efficient).
PC manual installation
Install this mod at any point in any game as it is 100% new scripts making no changes to anything static in your game so has no load order considerations. Archive contains both ESP and ESL options, only install one of them. Yes you can ESL flag the ESP.
Copy SKKHeadshotAnyActor.esp or .esl and SKKHeadshotAnyActor – 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.
If the configuration is set to [ Disabled ] in the menu then no script functions or events run and the mod could be removed from a savegame if you are mad and understand that potential conflicts from load order changes can trash a save game.
As this is published after November 2019 it requires Fallout4.exe 1.10.162.0 (or later) or equivalent workarounds.
Console Commands
To exclude a specfic actor from headshots add a keyword in the console [ ObjectReference.AddKeyword SKK_HAAProtected ] or xEdit or GetFormFromFile script.
To avoid another menu item, console commands can be hotkeyed or turned into an MCM JSON thing:
cqf SKK_HAAManagerQuest "SKK_HAAManagerQuestScript.SwitchHeadshotPlayer" 1 ; values [ 0 | 1 ]
cqf SKK_HAAManagerQuest "SKK_HAAManagerQuestScript.SwitchHeadshotHostile" 1 ; values [ 0 | 1 ]
cqf SKK_HAAManagerQuest "SKK_HAAManagerQuestScript.SwitchHeadshotFriendly" 1 ; values [ 0 | 1 ]
cqf SKK_HAAManagerQuest "SKK_HAAManagerQuestScript.SwitchHeadshotEssential" 1 ; values [ 0 | 1 ]
cqf SKK_HAAManagerQuest "SKK_HAAManagerQuestScript.SwitchPerformanceMode" 1 ; values [ 0 cloak | 1 timer | 2 movement ]
set SKK_HAAShowNotification to 1 ; values [ 0 | 1 ]
set SKK_HAAExplodeHeadChance to 50 ; values [ 0 to 100 ]
A full MCM configuration has been created for version 003 Headshots kill any actor - MCM Settings Menu this is no longer compatible with chnages in version 004 or later
Other spawning mods calling this
If you are the author of a spawning mod and want to ensure your spawns are instantly headshotable as they can spawn within the player active cell, some masterless Papyrus script:
; define this script persistent variable before any functions:
ScriptObject rSKK_HAAManagerQuestScript = None
; include this OnPlayerLoadGame or however you process updates:
If (rSKK_HAAManagerQuestScript == None) && (Game.IsPluginInstalled("SKKHeadshotAnyActor.esp") == TRUE)
Quest rSKK_HAAManagerQuest = Game.GetFormFromFile(0x00000800, "SKKHeadshotAnyActor.esp") as Quest
rSKK_HAAManagerQuestScript = rSKK_HAAManagerQuest.CastAs("SKK_HAAManagerQuestScript")
EndIf
; call this after generating spawns, it checks HAA IsEnabled condition:
If (rSKK_HAAManagerQuestScript != None)
rSKK_HAAManagerQuestScript.CallFunctionNoWait("RemoteTrigger", New Var[0])
EndIf
********************************************************************************************
If you have read the comprehensive solution description and articles but still need support,
best to use the SKK Mods Discord channel discord://discord.gg/tgKNT77DC8
********************************************************************************************