Battle fatigue and injuries
Receive arm, body, leg and head injuries at 25% Health-loss in a short amount of time (3-6 seconds). Receive Battle Fatigue when Health drops below 25 points.
Battle fatigue and injuries
Note that a copy of this document exists in the Skyrim\\Data\\Docs folder.
Version: 0.806
Date: 9 November 2016
Author: kuertee
Requirements:
Skyrim 1.9
Skyrim Script Extender
ShadeMe’s Fuz Ro D-oh – Silent Voice SKSE plug-in allows Dialogue topics that have no recorded voice files to display.
Optional other mods:
Simple multiple followers allows you to have more than one follower.
Battle fatigue and injuries can affect your exhaustion, hunger and thirst in Eat and Sleep
Skill-based damage multipliers – an elegant way to increase danger in combat without simply increasing your opponent’s Health.
The arm and head bandages from the Injure Kit can be used in my mod.
FISS allows you to import and export your mod settings to and from an external XML file.
Compatibilities:
Any combat mod (even other injury mods) should be compatible. Note, however, that when used in conjunction with other injury mods, the effects from both mods will be active at the same time.
The healers from the Sands of time mod can heal Serious injuries with a patch that has been made available by Tonycubed2. Download it from the Sands of time mod page.
Short description
Health loss can result in battle fatigue and injuries that require sleep to heal.
Quick start
Step 1: Quickly read these 3 sections: “Requirements”, above, “Install” (or “Updating”) and the “Uninstall” sections, all below.
Step 2: Read the “Cheat sheet” section below. And do a very quick read of available configuration settings in the “Configuring the mod” section.
Step 3: Play.
Step 4 (when something is wrong): Only when you think something is wrong, or when you don’t understand how a feature works, should you open this document again. Also search for keywords to quickly “jump” to a possibly relevant section. It’s better than reading this from top to bottom.
Step 5 (when something is REALLY wrong): If you feel that something is really wrong in your game, read the “Troubleshooting”, “Creating a clean save”, and “Script logging” sections below. A log of your game session helps in determining the problem and in finding solutions for it.
Updates since last release (0.805)
0.806, 18 October 2016:
Tweak: Interface with Simple Multiple Followers: when dismissed, followers are automatically healed of their injuries. Previously, they automatically healed when they leave the active memory space – i.e. when they leave your cell.
0.805b, 19 June 2014:
Bug fix: Asking the healer for divine healing was failing in the previous version.
0.805, 7 June 2014:
New feature: NPC animations when bandaging and when seriously injured. When seriously injured, NPCs will lie down when they become idle. They’ll get up again when they have to move.
Bug fix: Followers stay with the healer for a day. Previously, they were leaving the healer as soon as they arrive.
Tweak: Re-structured code. All actor-specific functions (e.g. detecting and receiving injuries, etc.) are now scoped (i.e. located) at the actor-level. Previously, they were scoped in the mod’s main quest and the actor scripts called on them. The functions themselves have not changed. Only their scope.
Bug fix: Importing from FISS would stall the mod.
Updating
Simply deactivate and uninstall the previous version then install and activate this version. Note that you do not need to stop the mod in-game. If you do, you will lose your accumulated mod-specific data. Let the new version back-up the data of its old version, clean-up the old data (i.e. zero-out) by stopping itself, restart itself and restore the data of the old version.
After the update is finished, the message “kuBFAI v0.806” will appear.
If the MCM fails to start, simply type “startQuest kuBFAIxMCMQ” in the console.
If updating from a version that doesn’t have the MCM merged with the mod, a clean save is required. Read the section “Creating a clean save” below.
Cheat sheet
All actors will receive an injury when they lose 25% of their health in a short period of time – 6 seconds.
Battle fatigue is incurred once per combat when health drops below 25 points.
Buy bandages from alchemists.
Make your own bandages by soaking paper into healing potions. Click on Paper in the Inventory Screen to soak it into any healing potions that you have. Self-made bandages are only 25% effective.
Sleep regularly to recover from injuries. Incurring more injuries over previous injuries can become serious injuries. Only healers (Danica Pure Spring, Colette Marence, Vigilant Carcette, and Restoration Magic trainers) can heal serious injuries.
NPCs will lie down when they are idle if they have serious injuries.
Make/unmake an item into a bandage, key = equal sign: In the Inventory Screen, highlight an item and press the equal sign (=) to make the item a bandage item. E.g. you may want to use Linen Wraps as bandages.
Make/unmake healer, key = equal sign: While an NPC is targeted, press the equal sign (=) to make them into a healer.
Gameplay changes
Injuries
If you lose 25% of your Health in a short amount of time (from combat or other like traps and falls), you will receive an injury either to an arm, your torso, a leg or your head. Arm injuries affect weapon skills (e.g. One-handed skill). Body injuries affect your efficiency to move in armour (e.g. Heavy armour skill) and your ability to sneak. Leg injuries affect your speed and jump capabilities. Head injuries affect your magic and communication skills. Each injury increment (i.e. point) is a -5 penalty to all the skills that injury affects.
Multiple injuries (of the same type) can result from high damage in the one detection. The number of injuries is (total health loss within userSecondsToPoolDamage) / (base health * userDamagePercToReceiveInjury). Basically, this is the (damage sustained) / (damage required for an injury).
If 25% Health is lost within 6 seconds, an injury is incurred. When Health is increased as you level-up, the amount of damage required for an injury to occur also increases – making it harder for you to receive an injury. Also, as you increase in level the time to poll for damage decreases. At level 50, this time is decreased to 3 seconds. So, as you gain experience in combat (the way you defend, move and strike), the chances of getting injured goes down. This decrease in time stops at level 75. The smallest amount of time the mod pools together damage received is 1.5 seconds.
Arm injuries affect: Block, Marksman, One-handed, Pick-pocketing, Two-handed skills, and WeaponSpeedMult Actor Value. Body injuries affect: Heavy armour, Light armour, Sneak skills and Mass Actor Value (which according to the Wiki affects the actor’s staggger). Leg injuries affect: jump height and moving speed Head injuries affect: Alchemy, Alteration, Conjuration, Destruction, Illlusion, Restoration skills and Speechcraft. Battle fatigue affects: Health, Magicka and Stamina
Note that these are designed to start small, annoying and not debilitating. However, if they are not healed and are left to accumulate they become serious injuries.
There is a very subtle screen blur when you receive an injury.
Battle fatigue
When your Health drops below 25 points in a fight, you will receive battle fatigue. Battle fatigue is the mental anguish of being close to death and affects Health, Magicka and Stamina. Each battle fatigue increment is a -5 penalty to Health, Stamina and Magicka.
Healing injuries and battle fatigue
Sleep and rest heals injuries and battle fatigue. Every hour slept will heal 0.5 injury and battle fatigue point. A full 8 hour sleep will heal 4 points of arm, body, leg and head injurys and 4 points of battle fatigue. However, serious injuries (i.e. > 7 points) are permanent and cannot heal with rest alone. You’ll need to visit any NPC who is a member of the JobTrainerRestorationFaction, Danica Purespring at the Temple of Kynareth in Whiterun, Colette Marence at The College of Winterhold or Keeper Carcette at the Hall of the Vigilant to get the Devines to heal them.
Increasing magnitudes
You can set the magnitude of injuries (userArmInjuryMagnitudeIncreaseFactor, userBodyInjuryMagnitudeIncreaseFactor, userHeadInjuryMagnitudeIncreaseFactor, userLegInjuryMagnitudeIncreaseFactor, userBattleFatigueMagnitudeIncreaseFactor) and Battle Fatigue to increse at each injury value.
E.g. when set to 0, the magnitude for each arm injury value does not change from userArmInjuryMagnitude. E.g. if userArmInjuryMagnitude is 5, at injury 1, the magnitude is 5. At 2, 10. At 3, 15. At 4, 20. At 5, 25. Etc.
When set to a number, the magnitude for each injury sustained increases by that number as a factor.
Increase factor – Magnitude at 1st injury – At 2nd – At 3rd – At 4th – At 5th
0 – normal magnitudes – 5 – 10 – 15 – 20 – 25
0.5 – 2.5 – 7.5 – 15 – 25 – 37.5
1 – 5 – 15 – 30 – 50 – 75
1.5 – 7.5 – 22.5 – 45 – 75 – 112.5
So with these factors (and especially at the default of 0.5), the first injuries received will be mild. But others will have increasing effects.
When this is set, it is not advisiable to set the base magnitudes (e.g. userArmInjuryMagnitude, etc.) to be more than 5.
Treating injuries
Bandages can be bought from vendors selling ingredients and reagents. Click on them in your inventory to use them. Each treatment halves the effects of an injury. This relief lasts for 12 hours or until another injury is sustained. And you can never relieve more than half of the injury.
You can prepare your own bandages by soaking a roll of paper into healing potions. However, these self-prepared bandages relieve only 25% of the injury. You can apply a second bandage to get the full of effect of a normal bandage – i.e. 50% of the injury.
Treating an injury takes 15 minutes.
Active effects screen
Battle fatigue and injuries are listed in your Active effects screen.
Eat and sleep mod synergy
Exhaustion, hunger and thirst from Eat and Sleep, are affected when receiving Battle fatigue or injuries.
HUD
By default this HUD is always shown. Set when it is shown, its location, and the key that displays it in the INI or MCM. The HUD is a “paper doll” (based on daVinci’s “man”) that shows the player’s battle fatigue and injuries. As a body part incurs injury, it’s colour turns red.
NPCs
Up to 30 NPCs (near you) receive injuries and Battle Fatigue exactly as you would. By default this is active. Turn this off by setting userApplyToNPCs to False.
NPC injury treatments:
They will also use bandages that they have in their inventory on injuries that are greater than the value of userInjuryValueNPCsUseBandages (default = 5). Though they also use the bandages from the Injure Kit mod, these bandages are not, unfortunately, equipped. This is because these items replace the NPC’s currently equipped armor. And if they are equipped, the NPC will simply re-equip their armor which unequipps the bandages in the process. These bandages are then used like normal “full bandages”. They are removed from the NPCs inventory when used. Note that this does not apply to you and these bandages still appear on your player. So you still need to keep them on if you want their effects.
NPC’s duration of injuries:NPCs who move 5000 units away from you, will have all their injuries and treatments removed. Those within 5000 units will retain their injuries – which heal at the same rate as your injuries. When you wake from sleep, NPCs within 5000 units (e.g. followers) will have their injuries heal at the same rate as yours do. Those outside 5000 units will have their injuries removed as normal.
NPCs and healers
You can tell your follower to visit a healer. In the default game, these are Danica Pure Spring, Colette Marence, and Vigilant Carcette. Your follower will leave you to visit the closest healer. Then they will spend the day there (as you would when you seek healing). They will then look for you after they are healed. Note that they will not come to you directly. Instead, they will first visit where they left you AND then head directly to you. Letting your follower visit the healer may take several days to a week, before they rejoin you.
Note that the follower’s “follower” status is not removed. So if you do not have a multiple follower mod, you will not be able to recruit other followers at this time.
API for 3rd-party mods
By using the SKSE command, SendModEvent, 3rd-party Scripts can communicate with Battle Fatigue and Injuries.
SendModEvent name – type – amount – BFAI result
injuryEvent – armHit – not used – The arm was hit. The next injury (when enough health is lost) will be an arm injury.
injuryEvent – bodyHit – not used – The next injury will be a body injury.
injuryEvent – legHit – not used – The next injury will be a leg injury.
injuryEvent – headHit – not used – The next injury will be a head injury.
injuryEvent – armInjury – not used – Immediately add an arm injury.
injuryEvent – bodyInjury – not used – Immediately add a body injury.
injuryEvent – legInjury – not used – Immediately add a leg injury.
injuryEvent – headInjury – not used – Immediately add a head injury.
configEvent – disableBF – not used – Set userBattleFatigueMagnitude to 0 – disabling BF generation.
configEvent – enableBF – 5, 10 or 20 – Sets userBattleFatigueMagnitude to the amount given – enabling BF generation.
configEvent – disableInjuries – not used – Set all injury magnitudes to 0 – disabling injury generation.
configEvent – enableInjuries – 5, 10 or 20 – Sets all injury magnitudes to the amount given – enabling injury generation.
Examples:
For a 3rd-party mod (e.g. a locational damage mod) to tell BFAI that the arm was hit, it needs to use the SKSE command {actorRef.SendModEvent (“injuryEvent”, “armHit”)}.
For head hits, {actorRef.SendModEvent (“injuryEvent”, “headHit”)}.
To immediately cause a leg injury, {actorRef.SendModevent (“injuryEvent”, “legInjury”)}.
If the 3rd-party mod prefers to control the application of injuries, it can stop my mod from doing that with this command {SendModEvent (“configEvent”, “disableInjuries”)}.
Notes:
To apply injuries to an actor, the SendModEvent () needs to be sent from the actor reference. One way to do this is to set an Actor reference to a variable (e.g. “actorRef”), then call SendModEvent () from that variable (e.g. “actorRef.SendModEvent (‘injuryEvent’, ‘headHit’)”).
To apply injuries to the player, the SendModEvent () need to be sent from the player reference. You can simply call it from any Script. The mod will simply detect that it the event was not sent from an Actor and so will apply the effects to the player.
Also, the user can override the configEvents by setting the appropriate magnitude variables in the MCM, via the console or the INI.
More information on SendModEvent () SKSE command can be viewed in SKSE’s Form.PSC file.
Custom bandages
Add an item to or remove an item from the custom bandages list by pressing the equal sign (=) when the item is highlighted in the Inventory Screen. When used to treat an injury, this item will be removed from the player’s inventory.
Custom healers
Add an NPC to or remove an NPC from the custom healers list by pressing the equal sign (=) when the NPC is targetted. Run-time created NPCs (i.e. those with the FF index in their Id or those respawned from a Leveled List) can’t be made into healers. Note that NPC followers can’t use these custom healers unless they are in your vicinity. If no custom healer is found in your vicinity, NPC followers will visit one of the 3 “normal” healers.
Configuring the mod
Method 1: SkyUI’s MCM
You can configure this mod with SkyUI’s MCM or manually as described below. Ignore the rest of this section.
Method 2: FISS
The SKSE plug-in, FISS, is required for this. With FISS installed, you can (1) export your settings from the MCM to the XML file, SKSE\\plugins\\FISS\\kuertee\\kuerteeBattleFatigueAndInjuries.xml, (2) edit this file outside the game with a text editor, (3) then import it again for any save game.
Method 3: INI file
Another way to configure this mod is to use its INI file. Note, however, that every time you change a value in the INI file, you’ll need to execute it from the in-game console by typing {bat “ini\\kuerteeBattleFatigueAndInjuries.ini”} (without the brackets).
Method 4: Console
A less efficient way to configure this mod is by using the console command {SetPQV kuBFAIQ option value}. Option is the name of setting. And value is your new value for it.
Below are the various settings that you can change, their default values and a short description.
userChanceInjuries0Arm = 25
userChanceInjuries1Body = 65
userChanceInjuries2Leg = 90
userChanceInjuries3Head = 100
Chance of receiving an injury. If you want to prevent an injury in one of those parts, set the value to 0. Valid values are 0 to 100. These four values must fit in the 0 to 100 range. E.g. The actual chance of getting a body injury compared to others is 40% (65 – 25).
userDamagePercToReceiveInjury = 0.25
Decrease userDamagePercToReceiveInjury so that less damage is required for an injury. The larger the value, the harder it will be for an injury to occur. Valid values for userDamagePercToReceiveInjury are 0.1 to 1.
userSecjavascript-event-stripped 6
Decrease userSecondsToPoolDamage so that a greater Health-loss in a shorter amount of time is required for an injury to occur. The larger the value, the easier it will be for an injury to occur – because there’ll be a longer time for the mod to pool damage together. As you progress in levels, this time is decreased. At level 50, it is halved. And at level 75, it is a quarter it’s value – which is when it stops decreasing. Valid values for userSecondsToPoolDamage are any number above 1.
userHealthToReceiveBattleFatigue = 25
Health points required for battle fatigue to be incurred.
userMultipleBattleFatiguePerCombat = False
Set userMultipleBattleFatiguePerCombat to True so that Battle Fatigue can be applied more than once per combat. By default it is False. Note, however, that even when False, Battle Fatigue can still be incurred every time you receive injuries equal to userInjuriesToBattleFatigue (which is 5 by default) or more.
userInjuriesToHealPerHourSlept = 0.5
For every hour slept, this amount of injury and battle fatigue are healed. Note that this is not the penalty to your attributes and Skills. Rather, these are the number of injuries and battle fatigue you incur. 1 injury is -2 to all affected skills. And 1 battle fatigue is -5 to your Health, Magicka and Stamina.
userInjuriesToBattleFatigue = 5
This is the number of injuries that will convert to Battle Fatigue. Set this to 0 to prevent this conversion.
userTreatmentTime = 0.25
The number of hours treating an injury takes.
userBandagesGoldValue = 100
The gold value of bandages.
userBattleFatigueMagnitude = 5
userArmInjuryMagnitude = 5
userBodyInjuryMagnitude = 5
userHeadInjuryMagnitude = 5
userLegInjuryMagnitude = 5
These values are the magnitude of each injury. Set them to either 5, 10 or 20.
userAllowMultipleInjuriesPerDetection = True
Allow multiple injuries at each detection. When True, multiple injuries (of the same type) will be applied dependent on the amount of damage received. E.g. if damage required for an injury is 25 Health and damage received is 75, then 3 injuries will be applied.
userV0p635Effects = True
Set userV0p635Effects to False so that injuries do not affect the Actor Values, WeaponSpeedMult and Mass.
userV0p635EffectsWhenSerious = True
However, you can choose to affect them only when the injuries are serious by setting userV0p635EffectsWhenSerious to True.
userApplyTjavascript-event-stripped True
Detect and apply injuries and Battle Fatigue to NPCs.
userDivineHealingCost = 1000
The cost of Divine Healing which heals serious injuries.
userInjuryValueNPCsUseBandages = 5
NPCs will use bandages if their injuries are equal to this value or more. 0 will prevent them from using bandages.
userArmInjuryMagnitudeIncreaseFactor = 0.5
userBodyInjuryMagnitudeIncreaseFactor = 0.5
userHeadInjuryMagnitudeIncreaseFactor = 0.5
userLegInjuryMagnitudeIncreaseFactor = 0.5
userBattleFatigueMagnitudeIncreaseFactor = 1
When set, the magnitude of this injury increases by this factor at each injury. E.g. at 0.5 (the default), the magnitude at the first is 2.5. The second, 7.5. The third, 15. The fourth, 25. The fifth, 37.5.
e.g. at 1, the magnitude at the first injury is 5. The second, 15. The third, 30. The fourth, 50. The fifth, 75.
When this is set, it is not advisiable to set the base magnitudes (e.g. userArmInjuryMagnitude, etc.) to be more than 5.
These factors affect the individual components of Battle fatigue:
userBFHealthMagMult 1
userBFMagickaMagMult 1
userBFStaminaMagMult 1
These factors affect the individual component of arm injuries.
userIABlockMagMult 1
userIAMarksmanMagMult 1
userIAOneHandedMagMult 1
userIATwoHandedMagMult 1
userIAWeaponSpeedMagMult 0.5
These factors affect the individual component of body injuries.
userIBHeavyArmorMagMult 1
userIBLightArmorMagMult 1
userIBSneakMagMult 1
userIBCombatBalanceMagMult 0.5
These factors affect the individual component of head injuries.
userIHAlchemyMagMult 1
userIHAlterationMagMult 1
userIHConjurationMagMult 1
userIHDestructionMagMult 1
userIHIllusionMagMult 1
userIHRestorationMagMult 1
userIHSpeechcraftMagMult 1
These factors affect the individual component of leg injuries.
userILJumpMagMult 1
userILSpeedMagMult 1
userILCarryWeightMagMult 0.5
userShowHUDMode = 2
0 = Don’t show. 1 = When penalised or on key-press. 2 = Always (default). 3 = On key-press only.
userHUDLocation = 5
0 = Top. 1 = Top-right. 2 = Right. 3 = Bottom-right. 4 = Bottom. 5 = Bottom-left. 6 = Left. 7 = Top-left.
userHUDLocatijavascript-event-stripped 50
X (horizontal) adj of HUD location.
userHUDLocatijavascript-event-stripped -50
Y (vertical) adj of HUD location.
userHUDKey = 48
Show HUD key. “B”
userToggleAsBandageKey = 13
Key to toggle item as a bandage in the inventory screen.
userToggleAsHealerKey = 13
Key to toggle NPC in your crosshair as a healer.
Install
Use Wrye Bash or another mod manger to install this mod. Note that the package is only a normal ZIP file that follow the game’s default file structure. If you know the game’s mod file structure, install it manually.
Configure the mod as described in the “Configuring the mod” section.
Activate the mod.
Starting from a downloaded saved-game
(Thanks to Restutitor Orbis for this suggestion on how to jump-start my mods when playing from a downloaded saved game.)
“Starting another character from a DLed saved game file in Helgen, I came upon an easier solution than warping into the LAL prison cell.
If you have LAL but are starting a character in Helgen, just use a bat file with these 2 console commands or just type them in after the ~:
setstage arthlalstartquest10
setstage arthlalstartquest20
This ends the LAL quest and re-enables the MQ101 update that you are supposed to get when you complete your escape, but was initially disabled by LAL.
That way you can do the vanilla MQ without switching to the LAL beginning if you want to.”
-Restutitor Orbis
Uninstall
In the console, type {SetPQV kuBFAIQ uninstallNow True} (without the brackets). Or with Sky UI’s MCM, set the uninstallNow toggle to True then exit the menus.
Wait for a message confirming the uninstallation. Save the game.
Deactivate the mod in your mod manager. If you installed this manually, simply delete all the files you installed.
Troubleshooting
You can reset the mod by typing {SetPQV kuBFAIQ resetNow True} (without the brackets) in the console. Or with Sky UI’s MCM, set the resetNow toggle to True then exit the menus.
When it resets it will ask you either reset all of its data or continue with the current data. Resetting all its data will remove all your settings and set the mod as if you have first installed it.
You can check all the mod’s data by typing {SQV kuBFAIQ} in the console. You can check if your settings were set in the mod properly with this.
If you find that your changes (with the command SetPQV or from executing the INI) do not appear in the mod, check the command again for spelling errors. Then try again.
If you find that resetting (with resetNow) and uninstalling (with uninstallNow) don’t seem to work, the mod may have been suspended. It is best to simply start-over (i.e. reinstall the mod) after a “clean” save.
Creating a clean save:
If you have FISS installed and have the mod’s MCM, export the mod’s game data by clicking on the “Export to FISS” button in the Troubleshooting section of the MCM.
Uninstall the mod from the console with {SetPQV kuSMFQ uninstallNow True}. Or with Sky UI’s MCM, set the uninstallNow toggle to True then exit the menus.
Wait for the mod to confirm the uninstallation. It may take a minute. If no confirmation appears, then simply continue to the next step.
Save the game manually from the console by typing {save uninstalledMod}.
If none of the above worked, because the mod has stalled – for example, simply continue with the steps below.
Uninstall all the mod’s files (*.ESP, *.PSC, *.PEX) from the game folders. Make sure that none of the mod’s Scripts are left. A mod manager like Wrye is best used for this.
Load the “uninstalledMod” save. Or load the last save if any of the steps 1 to 4 failed.
Save the game manually again from the console by typing {save cleanSave}. Because all of the mod’s files were removed, all of its data will be “zeroed” in this game.
Use these features of the “Save Game Script Cleaner” to remove the “zeroed” data physically from your save file:
Fix script instances
Delete all #
Clean other
Del. broken actives
Play from this save.
If you have FISS installed, import the mod’s game data by clicking on the “Import from FISS” button in the Troubleshooting section of the MCM.
Script logging
As a last resort, you can enable script logging and investigate the “Documents\\My Games\\Skyrim\\Logs\\Script\\Papyrus.0.log” and/or “Documents\\My Games\\Skyrim\\Logs\\Script\\kuBFAI*.log” files. Or send them to me. Contact me first either on TESNexus or the official Bethesda forums.
To enable script logging, set bEnableLogging, bEnableTrace and bLoadDebugInformation in the Skyrim.INI file. More information about this is described in this thread in the official Bethesda Creation Kit Forum.
Also, you can set mod specific logging by setting debugMode to 10 in either the MCM or in the console by typing {SetPQV kuBFAIQ debugMode 10} (without the brackets). Mod specific logs are found in “Documents\\My Games\\Skyrim\\Logs\\Script\\User\\kuBFAI*.log”.
Play the game for 5 minutes or so – enough time for the game to capture logging events.
If the “Papyrus.0.log” contain “Suspended stack count is over our warning threshold, dumping stacks:”, then your game is suffering very badly. I’ve written a guide on how to clean your game and recover from this problem in Bethesda’s official forums.
Feel free to send me (kuertee at gmail dot com) the “Documents\\My Games\\Skyrim\\Logs\\Script\\Papyrus.0.log”, “Documents\\My Games\\Skyrim\\Logs\\Script\\User\\kuBFAI*.log” to investigate the problem.
History
0.803, 30 March 2014:
Tweak: All actors that are not followers are removed from the list when moving between load doors. This should prevent the mod from processing actors that will be removed from active memory – which should lessen the times the mod stalls.
0.802, 10 March 2014:
Bug fix: Previously, the game would crashes after loading after death. Fixed in this version.
Bug fix: Turning into and out of a Vampire Lord form or Werewolf will not cause injuries.
0.801, 10 February 2014:
Bug fix: Reinstated the warning that the mod and MCM are disabled until after Stage 5 of the Main Quest (MQ00).
0.8, 9 February 2014:
Bug fix: Better detection of invalid actors (i.e. actors not in active memory). Previously, some invalid actors were not getting removed from aliases.
Bug fix: Treatments were sticking around after injuries were healed after sleep.
Bug fix: Previously, actors that were not in active memory (e.g. actors not in the player’s vicinity) were not getting removed from the list. This caused the mod to simply stop running without any errors. It fixed itself (i.e. non-active actors were removed) when a new save file is reloaded or when the game is restarted. Fixed now.
Bug fix: Bandages were not getting reset when another injury is incurred.
0.711, 1 January 2014:
Bug fix: Injury spells were not getting restored correctly on game-loads.
0.706, 20 December 2013:
New feature: HUD. By default this HUD is always shown. Set when it is shown, its location, and the key that displays it in the INI or MCM. The HUD is a “paper doll” (based on daVinci’s “man”) that shows the player’s battle fatigue and injuries. As a body part incurs injury, it’s colour turns red.
New feature: Custom bandages list: Add an item to or remove an item from the custom bandages list by pressing the equal sign (=) when the item is highlighted in the Inventory Screen. When used to treat an injury, this item will be removed from the player’s inventory.
New feature: Custom healers list: Add an NPC to or remove an NPC from the custom healers list by pressing the equal sign (=) when the NPC is targetted. Run-time created NPCs (i.e. those with the FF index in their Id or those respawned from a Leveled List) can’t be made into healers. Note that NPC followers can’t use these custom healers unless they are in your vicinity. If no custom healer is found in your vicinity, NPC followers will visit one of the 3 “normal” healers.
Tweak: Removed all the obsolete spell abilities that were left over from before I made the mod dynamically use only 2 spells for each injury rather than the 20 (or 40 for battle fatigue) static spells of older versions.
Bug fix: Previously, the head and leg injuries spells were not getting applied until some time after they are incurred.
Bug fix: When the Dawnguard DLC is active, followers will not seek out Vigilant Carcette when told to look for healing.
Tweak/Bug fix: Cleaned the main interval – making it more efficient in detecting injuries, healing injuries, cleaning actors, etc.
0.705, 28 October 2013:
New feature: You can change the weight of a component of an injury (in relation to the injury’s overall Magnitude). E.g.: if you don’t want Stamina affected by Battle fatigue, set userBFStaminaMult to 0. Or if you want Weapon speed to be doubly affected by an arm injury, set userIAWeaponSpeedMagMult to 2.
Tweak: The entries in the Active effects screen have been cleaned-up. Only one record per affected attribute or skill is listed.
Tweak: Followers now return to you directly after they visit the healer. Previously, they first go to where they left you and then make their way towards you.
Bug fix: Bandages had no effect on the player.
0.704, 30 July 2013:
Bug fix: The healer would take 1000 gold but not heal the player.
0.703, 28 July 2013:
Bug fix: The player alias was not initialised properly – causing the mod to ignore the player.
Bug fix: Followers were sometimes ignoring their updates causing them to ignore bandages that you give to them.
New feature: All followers’ data are backed-up and restored on version updates.
0.701, 10 July 2013:
New feature: Multiple injuries (of the same type) can result from high damage in the one detection. Previously, only one injury can result from one iteration of the detection process. The number of injuries is (total health loss within userSecondsToPoolDamage) / (base health * userDamagePercToReceiveInjury). Basically, this is the (damage sustained) / (damage required for an injury). Set userAllowMultipleInjuriesPerDetection via the console, in the INI or via the MCM to disable this and return to the experience from previous versions.
Tweak: Players can seek healing from any NPC that is a member of the JobTrainerRestorationFaction. In the base game these are still: Danica Pure Spring, Collette Marence and Vigilant Carcette. But if you find a mod that has an NPC that should be able to heal serious injuries, just ask that mod’s author to add that NPC to the JobTrainerRestorationFaction.
Bug-fix: Allow up to 10 followers to be commanded to go seek a healer. Previously, only one follower can do this – even if the Dialogue option was available to others. Of course, you need a multiple follower mod to be able to have 10 followers. You can try my Simple Multiplie Followers mod.
Tweak: You can now change user settings before the main quest is at stage 5 (e.g. before leaving Helgen).
Bug-fix: Fixes to the MCM’s ping-back code. This will be the last time this bug will resurface – I hope. I found another instance when the RegisterForModEvent () for the ping-back is not registered or loses its registration in the previous version.
0.7, 30 June 2013:
New feature: You can set the magnitude of injuries and Battle Fatigue to increse at each injury value. Read the section “Increasing magnitudes” for more info.
Tweak: The cost of healing serious injuries is now configurable. By default this is at 1000 gold. Set userDivineHealingCost to change this.
New feature: Up to 30 NPCs (near you) receive injuries and Battle Fatigue exactly as you would. Read the section “NPCs” for more info.
Tweak: The main package and the MCM can now be merged manually (with TES5Edit). Removing the reliance on GetFormFromFile () from the MCM discovery code made this possible. In this new version, SendModEvent () is used by the main package and the MCM to “ping” each other.
Tweak: Recompiled the main mod with Skyrim’s 1.9 patch and the MCM component with SkyUI’s 4 patch.
0.638, 3 March 2013:
New feature: Disable the generation of Battle Fatigue or injuries. Simply set the injury you want to disable to 0 in the MCM, the console or the INI.
New feature: API for 3rd-party mods
By using the SKSE command, SendModEvent, 3rd-party Scripts can communicate with Battle Fatigue and Injuries.
SendModEvent name – type – amount – BFAI result
injuryEvent – armHit – not used – The arm was hit. The next injury (when enough health is lost) will be an arm injury.
injuryEvent – bodyHit – not used – The next injury will be a body injury.
injuryEvent – legHit – not used – The next injury will be a leg injury.
injuryEvent – headHit – not used – The next injury will be a head injury.
injuryEvent – armInjury – not used – Immediately add an arm injury.
injuryEvent – bodyInjury – not used – Immediately add a body injury.
injuryEvent – legInjury – not used – Immediately add a leg injury.
injuryEvent – headInjury – not used – Immediately add a head injury.
configEvent – disableBF – not used – Set userBattleFatigueMagnitude to 0 – disabling BF generation.
configEvent – enableBF – 5, 10 or 20 – Sets userBattleFatigueMagnitude to the amount given – enabling BF generation.
configEvent – disableInjuries – not used – Set all injury magnitudes to 0 – disabling injury generation.
configEvent – enableInjuries – 5, 10 or 20 – Sets all injury magnitudes to the amount given – enabling injury generation.
Examples:
For a 3rd-party mod (e.g. a locational damage mod) to tell BFAI that the arm was hit, it needs to use the SKSE command {SendModEvent (“injuryEvent”, “armHit”)}.
For head hits, {SendModEvent (“injuryEvent”, “headHit”)}.
To immediately cause a leg injury, {SendModevent (“injuryEvent”, “legInjury”)}.
If the 3rd-party mod prefers to control the application of injuries, it can stop my mod from doing that with this command {SendModEvent (“configEvent”, “disableInjuries”)}.
Notes:
Bcause BFAI only works on the player, the results of these events will be applied to the player.
Also, the user can override the configEvents by setting the appropriate magnitude variables in the MCM, via the console or the INI.
More information on SendModEvent () SKSE command can be viewed in SKSE’s Form.PSC file.
0.636, 12 February 2013:
New feature: You can configure the gold value of bandages by setting userBandagesGoldValue with MCM, in the console or with the INI file. By default this is 100 gold.
Bug-fix: Health lost from loss of enchanted items like potions, armour, etc.. should not result in injuries anymore – unless health decreases below your normal base health.
0.635, 24 January 2013:
Tweak: Battle fatigue can now go to 50 points – which is -250 to Health, Stamina and Magicka with the default setting of userBattleFatigueMagnitude of 5.
Bug fix: Previously, battle fatigue magnitudes were incorrect when userBattleFatigueMagnitude was 10 or 20.
Tweak: Previously, all effects were removed and no new effects are received when you were tagged as “essential”.
Bug fix: Bandages from Injury Kit were unequipping even if the treatment sticks. Bandages should only be auto-unequipped after the treatment has expired.
Bug fix: Previously, you need to receive userInjuriesToBattleFatigue + 1 injury to get the Battle Fatigue. In this version when you get userInjuriesToBattleFatigue injuries, you’ll get the Battle Fatigue.
0.634, 2 January 2013:
New feature: Arm injuries now affect the Actor Value, WeaponSpeedMult. Body injuries affect the Actor Value, Mass – which affects stagger when userV0p635EffectsWhen is True – which is the default value. Set userV0p635Effects to False so that injuries do not affect the Actor Values, WeaponSpeedMult and Mass. However, you can choose to affect them only when the injuries are serious by setting userV0p635EffectsWhenSeriousOnly to True. Thanks to FuryFish for the suggestion!
New feature: The arm and head bandages from the mod, Injure Kit, work as bandages in my mod. Like my normal bandages, they will expire. And when you unequip them, you will lose them and their healing properties will be removed. Thanks to DarkTheif for the suggestion.
Bug fix: Previously, he application of some Battle fatigue were getting delayed until you go into your next combat.
New feature: Set userMultipleBattleFatiguePerCombat to True so that Battle Fatigue can be applied more than once per combat. By default it is False. Note, however, that even when False, Battle Fatigue can still be incurred every time you receive injuries equal to userInjuriesToBattleFatigue (which is 5 by default) or more. Thanks to FuryFish for the suggestion!
Bug fix: Previously, level 7 injuries (one before serious injuries) were not getting healed by sleep.
Tweak: In all versions, as you progress in level, the time to pool damage received (as per your setting userSecondsToPoolDamage which has a default of 6) is decreased. At level 50, this is halved. And it continually decreases as you increase in level. In previous versions, at level 100, this time becomes 0. In this version, the smallest amount of time the mod pools for damage is a quarter your setting of userSecondsToPoolDamage. I.e. it stops decreasing at Level 75.
Tweak: If you’re not a vampire and if the Divines healing process (e.g. from Danica Purespring in the Kynareth in Whiterun) will make you wake in the middle of the night (i.e. after 6pm), the healing process will instead wake you in the next morning (i.e. 6am) after that. Previous versions would wake you exactly after 24 hours but in the middle of night.
Tweak: The hours left of bandaging/treatment is now displayed in the Active effects screen.
New feature: SkyUI’s MCM (Mod Config Menu) support. The configuration tool is a separate download from my mod’s Nexus files section. It requires Sky UI’s beta 3 version or better which can be downloaded from Sky UI’s thread in Bethesda’s official Skyrim mods forum
Tweak: Better data transfer to Eat and Sleep. It now uses SKSE’s SendModEvent () rather than requiring a direct link to Eat and Sleep.
Tweak: Better handling of While…EndWhile loops when the game first loads or when the mod is uninstalling.
0.631, 16 December 2012:
Tweak: Removed the internal code for OnMenuMode since it is not required.
0.630, 4 December 2012:
Compatibility fix: This version now works with my mod Professions. Previously, for it to work with Professions, you needed to have my mod Eat and Sleep installed at least (i.e. not activated).
0.629, 22 November 2012:
Bug fix: The Bandages feature was not detecting injuries in the previous release. This fixes it.
0.628, 18 November 2012:
New feature: You can now configure the magnitude of each injury. Set userBattleFatigueMagnitude, userArmInjuryMagnitude, userBodyInjuryMagnitude, userHeadInjuryMagnitude and/or userLegInjuryMagnitude to either 5, 10, or 20 in the console by typing {SetPQV kuBFAIQ X Y} where X equals the injury magnitude and Y equals the value. Or change them INI file. Remember that you need to execute the INI file after you finish changing it. Read the Details section below. Thanks to Patriotic for his suggestion!
New feature: Battle fatigue and injuries from this mod now affect exhaustion, hunger, and thirst in my mod Eat and Sleep.
0.623, 18 August 2012:
Tweak: 5 bandages are now found in vendors – instead of just 3.
Tweak: During brawls (or when the player is tagged as “essential” – they cannot die), no injuries can be incurred. This hopefully prevents what Anach (from the Nexus forums) experiences wherein the brawling opponent decides to use his weapon against you – effectively ending the brawl.
0.622, 10 July 2012:
Bug fix: In the previous version, effects from bandages weren’t getting removed after the injuries have healed from sleep.
Bug fix: In the previous version, effects from bandages were getting applied to the effects but weren’t getting passed on to the actual Skills. This version fixes that.
0.621, 19 June 2012:
New feature: Serious injuries will not heal with sleep. You’ll need to visit Danica Purespring at the Temple of Kynareth in Whiterun, Keeper Carcette at the Hall of the Vigilant, or Colette Marence at The College of Winterhold. Healing these serious injuries will cost you 1000 gold and will take 1 day.
New feature: Bandages can be prepared from a roll of paper and healing potions. Note, however, that these self- prepare bandages relieve only 25% of the injury. You can apply two self-prepared bandages to get the full effect of a normal bandage.
Tweak: A very subtle screen blur occurs when you receive an injury.
Read-me: I’ve rewritten the Gameplay changes section. Give it a quick read.
0.61, 11 June 2012:
Tweak: Increased effects of arm, body, head and leg injuries by a factor of 2.5. So the previous effects of 2 per injury are now 5. Carry weight effects of 1 per leg injury are now 2.5 per leg injury.
New feature: Treatment of injuries. Bandages (with oitments) can be bought from vendors selling ingredients and reagents. Click on them in your inventory to use them. Each treatment halves the effects of injuries but only lasts 12 hours or until you sustain another injury. Also, each injury takes 15 minutes to clean and bandage.
0.6, 27 May 2012:
Bug-fix: Removing enchanted items that give you health shouldn’t result in injuries anymore.
Tweak: This mod doesn’t bug-out the prologue mission anymore. However, it doesn’t actually start in-game until after you escape from Helgen.
0.52, 22 April 2012:
New feature: Added a penalty to the player’s maximum carriable weight to leg injuries. Thanks to Naryl for the suggestion.
Tweak: Detrimental effects should not persist if the mod is uninstalled without following the instructions. However, you should still follow the uninstall instructions so that the iterated updates are removed safely.
0.51, 18 April 2012:
Bug-fix: Previously, Alchemy penalties are doubled-up for head injuries 9 and 10 and there were no Alteration penalties. This version has an Alchemy penalty and an Alteration penalty in those injuries. Thanks to Naryl for spotting it.
Licensing/Legal
You can do whatever you want with this mod but all I ask in return is that you give me credit. I would also like to be contacted when you include this mod in part or in full in a public release.