About This File
As some of you may know, our pyramid friend has retired from the modding scene, and left his projects to us. And, some of you may remember that I've once made a couple of animations for Practical Defeat to be featured during the defeat sequence - but the update with them never made it to the public. Also, I feel like Practical Defeat was one of ponzi's main flagship mods, so having it relegated to being hidden in the depths of the @Nuascura's kindly provided file dump feels unfitting to a mod of that calibre.
Â
So, let's kill two birds with one stone, sort of speaking. Welcome back to its own page:
Â
Practical Defeat, the (re)Animated version.
Â
I will not be taking over it's development, adding new features and such, but I'd like for a somewhat finalized version of ponzi's efforts to be back on here. I will try do some interim care taking of PD until someone adopts it properly - if the found bugs aren't going to be too hardcore to fix, as the original author's coding proficiency far outpaced mine. Basically, I'll keep it as close to the known original vision as possible.
Â
A comprehensive, modular, and extensible human enemy-player defeat system for Acheron. Features include:
- Parametrized robbery by item type, value, and chance
- Varied defeat events and release outcomes including Simple Slavery, Devious Devices, Follower Slavery Mod, etc.
- Struggle animations + minigame via Acheron Extension Library
- First class followers support (up to 3)
- Fast, multi-threaded operation with fail safes
- Designed/written for any player character and follower gender
- Devious Devices awareness - default idles will change, enemies will react to player already being restrained, confiscate keys, and tamper with devices
- Easily extendable by other mod authors and can be used to hook into other Acheron consequences
Â
You can use other Acheron Consequence mods like Simple Outcomes for Acheron and/or Yamete Kudasai 2.x with this mod for creature support and to defeat NPCs. To reiterate, this mod only adds a system for player defeat at the hands of humanoid enemies e.g. Nords, Khajits, etc.
Â
Compatibility
Acheron is SE/AE-exclusive and as a result so is this mod.
Â
Not designed for use with defeat mods beyond other Acheron Consequences i.e. you should not use Defeat, Naked Defeat, etc. with this mod. You can add similar features from those mods to this one using Simple Outcomes and/or Yamete Kudasai.
Â
Requirements
Hard:
- AcheronÂ
- SkyUI
- Fuz ro D'Oh
- PO3 Papyrus Extender
- PapyrusUtil (latest for your version SE/AE)
- Sexlab
- FNIS / Nemesis / Pandora
- Scrab's Papyrus Extender (v 2.0.0 or higher - this will act as a full replacement for PyramidUtils, many thanks to Scrab)
- Open Animation Replacer (for crawling/surrender animations)
- Paired Animation Improvements (for the paired animation sequences to work correctly)
- Backported Extended ESL Support (if you're using Skyrim version < 1130)
Â
Soft:
- Struggling QTE (for struggles)
- Simple Slavery++ (for player enslavement)
- Sanguine Debauchery (for player enslavement)
- Follower Slavery Mod (for follower enslavement)
- Devious Devices NG (for restraints)
- Amputator Framework Tweaked (for post-defeat amputation)
- Kidnapped by Rieklings (for the titular post-defeat outcome)
- Simple Capture (for post-defeat outcome)
Â
Recommended:
- Spectator Crowds Ultra Edition (for immersive comments and reactions during events)
- SL Survival (for amputee gameplay effects and healing methods)
- Sexlab P+ (for faster starting scenes but only if you're okay with using a work-in-progress mod)
- RemoveAllItems Freeze Fix (you should be using this anyways, it will help against any bugs in the mass item removal for any mod, including PD)
Â
Addons
- Simple Events (updated by @gerroth)
- Bad Endings (updated by @guliguliradish)
- Creature Comforts (didn't test)
- Voice Pack (updated)
Â
Installation
- Install as you would any other mod.
- Run FNIS or Nemesis
- Configure the weight of this outcome in the Acheron MCM.
Â
For Users
If all members of your party including you enter bleedout, an enemy will initiate a struggle minigame with you. If you win, you and your followers will recover and can get back in the fight.
If you lose, you and your followers will be robbed and subjected to some...unsavory events until the max number of rounds is reached or (if enabled) all aggressors are satisfied. Once the last round is complete, a release event will play out.
Â
You can find all registered events in the MCM's events page. It features a number of configuration options including robbery parameters, event weights, and restraint type chance.
Â
You can edit the default restraints by modifying Data/SKSE/Plugins/Practical Defeat/Devious Devices.json which includes a list of each of potential restraints for each area. I've mostly picked ones I feel are appropriate for Skyrim's world (rope, iron, leather). Being restrained with DD's may spawn the necessary keys on the enemy which should incentivize you to get revenge.
I've included some safe measures for preventing item loss on enemy despawn.
Â
Performance may be slightly worse on 1.5.97 (SE) due to missing PapyrusUtil functions.
Â
For Modders
Â
Here's a quick explanation:
Â
Events are registered through ReferenceAlias scripts attached to the player. When the player loads or starts a new game, a mod event to register is sent out and these scripts respond. The author must implement a couple functions used to validate, select, and start their event with the base script handling everything else. These functions are free to do whatever they want during the event but must eventually call the FinishEvent() function to wrap up. This eliminates hard dependencies on PD and allows for seamless registration of new events on load. PD_EventTemplate.psc has some brief documentation for the functions you are expected to fill in and what they do. Your event scripts will extend this script.
Â
You can check out examples of this by opening up the mod in the CK and looking at the Player Reference Alias in the PD_Main quest. Everything from 5P sex to the Simple Slavery integration is built using this system. I recommend reading through PD_2PSex.psc to get a basic example of how it works. PD_Util also features some convenience functions used in these events that you can also use.
Â
Changelog for the (re)Animated version vs the 0.4.7 in the filedump:
Â
fixed the one uncompacted form
fixed the missing behaviour.hkx
installed both of the of the cutscene animations and the code to start them (one starts after failing the Acheron Extension Library/Struggles QTE struggle event, one starts without it)
fixed one of the items in \SKSE\Plugins\Practical Defeat\Devious Devices.json to work with DD NG
Broken SL P+ detection fixed
PD's ropes got a NoStrip keyword, to stop them from occasionally disappearing
A bunch of community made patches, big thanks to those who contributed to making PD even better:
Amputator code rework by @Loki15kun
- It will always apply the max level amputation you set on the MCM
- If the amputation event was triggered, but no limb was picked, it will always remove one limb in the following order as long as the limb chance is greater than 0
- Adjusted the AmpLimbExists so it applies the adjustment difference from rank to level
DD Equip fix by We new high V
-Â expanded number of DDe slots,Â
- fixed a bug of useDDe function
Basic creatures support & bug fixes by LittleVampire
- Feature: Allow creatures as aggressors.
- Feature: Allow excluding SL animation tags by '-' prefix
- Bugfix: Scene PD_EventRegularRelease was started twice
- Bugfix: EventScript property for the LocalRelease-quest was wrong type
- Bugfix: Removed some obsolete script properties from esp to get rid of harmless error logs.
- Bugfix: Satisfied actors could get repeated scenes, as they were not removed from the aggressor pool passed to the events.
- Bugfix: Events could yield true for CanSelect, but fail on Select, as Anim-selection was not identical (CanSelect without tags).
- Optimization: CanSelect remembers result for potential follow-up select, so select doesn't have to search again.
- Refactor: Changed logic for selecting valid aggressors, valid gender combinations, valid animations
Â
Defeat animation previews:
Â
Permissions:
Practical Defeat's code base is open source, as per wishes of the original author.
Assets such as meshes & animations belong to their authors (i.e. if you wish to create your own fork of PD - make sure to seek and clarify the permissions for their usage)
Â
Credits
- ponzi for, you know, making this whole thing
- @Scrab for Acheron, Acheron Extension Library, and a bunch of general development help and helping to preserve the more complicated native ponzi's mods
- @Mister X for laying the groundwork for Acheron defeat mods
- @Pamatronic for inspiring this mod's design with Prison Alternative
- @Nuascura for preserving and keeping up ponzi's mods after his departure from modding
- @naaitsab & @Frayed for smart answers to my stupid papyrus questions
- ZAP team for some assets.
What's New in Version 0.4.9
Released
- Added blindfolds equipping during the defeat sequence off a request
- Missing Acheron yaml for critters defeat
- Potential bugfix for items losing tempering after being robbed
- Remade the ZAP animations PD used for post-defeat idlesÂ
- Simple Capture (new mod that I'm hoping to release soon-ish) integration, PD can now send you to it post-defeatÂ
- Creatures SL tag search fix by LiterallyATurtle
- Amputator bugfixes by Loki15kun
- SelectWeightedRandomEvent selecting aggressors selected for 2 or more events (if you have a follower), which causes a fatal error from SL bugfix by Somebody once told me
- Bugfixes by LittleVampire