This plugin uses the OnCellFullyLoaded event, DecapitateActor, IsLimbGone, IsFormGenerated, IsPluginFound, GetCommandedActors, GetMenuContainer, and GetCriticalStage functions.
Other user's assetsAll the assets in this file belong to the author, or are from free-to-use modder's resources
Upload permissionYou can upload this file to other sites but you must credit me as the creator of the file
Modification permissionYou are allowed to modify my files and release bug fixes or improve on the features so long as you credit me as the original creator
Conversion permissionYou can convert this file to work with other games as long as you credit me as the creator of the file
Asset use permissionYou are allowed to use the assets in this file without permission or crediting me
Asset use permission in mods/files that are being soldYou are not allowed to use assets from this file in any mods/files that are being sold, for money, on Steam Workshop or other platforms
Asset use permission in mods/files that earn donation pointsYou are allowed to earn Donation Points for your mods if they use my assets
Author notes
This author has not provided any additional notes regarding file permissions
File credits
Drakae, for Collect Unique Corpses, which is used as reference for Cadaver's implementation. Goubo, for SL Defeat's body bag mesh. Issgard, PROMETHEUS_ts, and Kulharin for Beast Skeletons.
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
Thralls Keep Equipped now should not trigger on thralls whose gears have never been recorded.
Version 1.8.2
Avoid cloning using LeveledActorBase, just use ActorBase instead. This should fix a bug where some cloned leveled actors become temporary due to them being garbage collected by the game.
Added missing notification when trying to decapitate an unmanaged corpse without the proper tools.
When processing a unique (no cloning) actor, avoid resurrection unless it has a missing limb.
Fixed the SetCarriedState function always setting the value of "Cadaver:Carried" to 1 when Unmanaging.
Dispose of CadaverNoBodyArmor and CadaverNoHeadArmor items when reprocessing a recently Unmanaged corpse.
Some code refactoring.
Extra, replaced the script for Karita the Pilgrim (HHpilgrim02Script). When dead, prevent her corpse from being deleted every time after reaching High Hrothgar, just in case you want to collect it.
Version 1.8.1
Allow decapitation of unmanaged actors, but without the prompt on which part to keep to prevent exploiting resource collection.
Updated Strings.json for the unmanaged decapitation prompt.
Version 1.8.0
Added Send to Player to the Managed Actions in the MCM. This will move a managed corpse to the Player's location. If the corpse somehow doesn't appear, try going to a different cell/location, then try again.
Removed usages of unused actor values in favor of StorageUtil values. An update of these values for all carried and managed actors should happen on game load.
Faster checks for Thralls Keep Equipped when accessing inventory due to usage of the StorageUtil value instead of doing a full IsManaged check.
Removed Dremora race from the HumanoidRaceList and instead added to its own DremoraRaceList, this is to prevent them from being cleanable.
For unique NPCs, restrict Carry Keeps Equipped function to humanoid/dremora only.
Extra sanity check when copying spells.
abRemoveQuestItems is now true for all usages of RemoveAllItems in the script.
Added missing EnableReference translation string in Strings.json.
Updated Strings.json.
Version 1.7.0
Added Don't Template Clones option (disabled by default) in the MCM. If enabled, non-unique NPCs will always clone from their base form instead of their templates. The clone spawned might have a different appearance.
Carry Keeps Equipped will now try to keep the first weapon it finds in the corpse's inventory if the corpse has no weapon equipped.
Cloning will now copy spells from the base form to the clone.
Added Dremora race to the HumanoidRaceList. Carry Keeps Equipped should now work on them.
More sanity checks for equip, unequip and remove item.
Added proper case string handling for Dremora race.
Some code refactoring.
Updated Strings.json for the new option.
Version 1.6.0
Added Carry Keeps Equipped option (disabled by default) in the MCM. If enabled, when carrying a corpse, the outfit of the corpse will be kept equipped.
Don't use prevent removal or prevent equip when transferring and removing items.
Updated Strings.json for the new option.
Version 1.5.2
Changed how the Alias script is initialized to fix a bug where starting a new game would break the MCM half the time. This doesn't seem to affect existing saves though.
Also, recompiled all scripts and resaved the esp.
Version 1.5.1
Micro-optimization on load game when no equipped thralls are active.
Some minor script changes.
Version 1.5.0
Changed Require Shift to Require Mod Key.
Added a remappable Mod Key option in the MCM. You can now rebind the default mod key (L-Shift) to something else.
This means a few changes in Strings.json.
Reworked the Thralls Keep Equipped workaround again. Removed TKE Activate Key from the MCM.
Thralls Keep Equipped is now utilizing Papyrus Extender's OnCellFullyLoaded to detect major cell changes, since that's when thralls seem to reset their gear. It should now be relatively more robust.
Thralls Keep Equipped will save the thralls' equipment upon accessing a managed corpse's inventory, accessing an active thrall's inventory, and when loading a saved game where there are active thralls.
Some code cleanup.
Version 1.4.5
Rewritten the Keep Thralls Equipped function for when changing cells, the bug seems to be happening only on exterior cells. It will now perform the workaround every time you activate and enter through a load door that leads to an exterior cell.
Don't forget to set the TKE Activate Key (Thralls Keep Equipped Activate Key) to the same key as Skyrim's Activate key.
Version 1.4.4
"Thralls Keep Equipped" option now applies to when loading a save and then switching from an interior cell to an exterior cell or vice-versa.
Added missing article "a" in noshovelnotif string.
Version 1.4.3
Fixed translation stuff. OnConfigInit is being called before the strings are loaded, causing the Pages strings to not match the loaded strings and also OnConfigInit is only called once during first install apparently.
Version 1.4.2
When calling EquipItem, use abPreventRemoval = false to fix some instances where dress-up fails to equip an item properly.
Some minor code refactoring.
Version 1.4.1
Exempted creatures from Thralls Keep Equipped.
Added a weird workaround fix for the glitching mesmerized vampire cattles that appear alive still but uninteractable when dropped. No idea what the actual cause is, could be the mesmerized package, idk.
Version 1.4.0
Added argonian, khajiit, elf, and orc skeletons from Beast Skeletons. Beast Skeletons mod is not required.
Default to spawning a melee skeleton instead of a fire mage one if there are no destruction or conjuration spells found for a mage type actor.
Retain name of templated NPCs using SetDisplayName during cloning, apparently this name is persistent.
Added a workaround for keeping dead thralls equipped with the stuff you gave them on every fast travel. Toggleable in the MCM. The way it works is that everytime you open the map, it uses StorageUtil to save the stuff they have currently equipped, and then restores them after a fast travel.
Copied bodymorphs are now saved with the cloned reference using StorageUtil in case you want to restore them if you ever cleaned your skse co-save using NiO Cleaner or something.
Added a BodyMorphs section in the MCM Settings. This includes the Restore, Save, and Clear functions.
Fixed losing a linen wrap if carry fails.
Some MCM script changes.
Try to use a proper case for the sex and race tags on the entry strings.
Script cleanup.
Packed files into a BSA because why not.
Version 1.3.0
Don't use ForceActorValue, just stick to SetActorValue. AVs of Carried and Managed actors during v1.2.0 will be reset during the update process on game load. This might take a while depending on how many you have carried and managed.
Added more Actor Values to copy.
Turning an actor into a skeleton will evaluate what combat style it uses and spawn the skeleton accordingly. A fire mage will spawn a skeleton with fire spells, etc...
More script tweaks.
Version 1.2.0
During the Carry process, revert the protected status of the target's ActorBase after the kill function.
Copy body morphs and actor values to clones and skeletons during the cloning and clean carcass process.
Make sure the corpse becomes out of reach while clean carcass is in progress.
Some script tweaks.
Version 1.1.2
Make sure protected NPCs like most followers that died don't stay resurrected when getting carried or dropped. Can't believe I missed this.
Version 1.1.1
A minor speed bump on the MCM's Carry and Managed pages.
Clear the MCM actor reference arrays for the lists when necessary to avoid holding onto references for too long.
Some minor script changes.
Version 1.1.0
Added a child-sized skeleton, in case you're using a killable children mod, psycho.
Clean carcass now requires an embalming tool.
View Details' Index is now Alias, representing the name of the Alias the actor is in (console "sqv _asd_CadaverQuest" to view the aliases).
Use unused actor value "RightMobilityCondition" as a check if a generated actor should be cloned or not, set it to 1 to prevent cloning. This can be implemented by other mods that spawn NPCs and prevent those NPCs from being re-cloned.
Description: This plugin allows you to carry corpses and store them to be marked as managed. Managed corpses become persistent and won't despawn. It also allows you to dress up corpses by storing equipment in them. To show the "Corpse" option, crouch, then hold L-Shift (configurable) when activating a corpse. You need a linen wrap and an embalming tool to "Carry" a corpse. Once you're carrying a corpse, you can use the misc item "Cadaver Sack" to select and drop one of the corpses you're carrying. Upon dropping a corpse, you will be prompted if you want to "Manage" it. You can manage up to 512 corpses.
Features: Carry: Using a linen wrap and an embalming tool, you can take a corpse anywhere with you. You'll also get a sack on your back whenever you're carrying a corpse. Decapitate: Managed corpses can be decapitated. Although, decapitation is only available on humans and hagravens. Clean Carcass: This option will rid the corpse of its flesh and organs, giving you human flesh and heart, or bone meal and skull if it's a skeleton. Only limited to humans and giants. Bury: Using a shovel, you can bury a corpse to get rid of it. Also works on ash piles. Dress up Corpse: You can equip items on corpses by placing them in their inventory.
This is an alternative/replacement to Collect Unique Corpses and does the same things with some differences in the implementation. Differences include:
An MCM for configuring the settings and the weight for each weight category of corpses. And also a list for tracking the currently carried and managed corpses.
By default, requires holding L-Shift to show the option, makes it less annoying when you just want to search a corpse.
A cosmetic sack (toggleable) that is equipped in slot 47 to indicate that a body is being carried.
More detailed prompts.
All options are found under the "Corpse" option, including the "Bury" option.
No more misc items as corpse objects, all carried corpses are listed with UIExtensions by using the misc item "Cadaver Sack".
By default, unique actors will keep the same reference instead of being cloned. To prevent them from getting cleaned up by the game, they are added to the WINoBodyCleanupFaction.
If a corpse has some body morphs applied, it can copy those morphs into the generated clone.
Uses po3's Papyrus Extender for some functions like decapitation.
Some other stuff I forgot.
Compatibility: Not compatible with Collect Unique Corpses. Does the same things and uses the same entry point.
Translations: If you wish to translate the MCM, just edit the SKSE/Plugins/Cadaver/Strings.json file.
Credits: Drakae, for Collect Unique Corpses, which is used as reference for Cadaver's implementation. Goubo, for SL Defeat's body bag mesh. Issgard, PROMETHEUS_ts, and Kulharin for Beast Skeletons.