This is an addon for Devious Devices NG.
The goal of this mod is to add more immersion to the game by adding some limitations to the vanilla mechanics and adding some lore-friendly restraints and some game mechanics and effects.
This mod is mainly a modders ressource but you can use tools like modex to get the assets into your game without a mod that utilizes the assets (like Maria Eden).
Dependencies
- Devious Devices NG
- Leash Framework
- powerofthree's Tweaks
- PapyrusUtil SE - is implicit provided by Sexlab
Assets
- black cloth blindfold
- red cloth blindfold
- iron collar
- leather collar with chains
- black leather collar
- white leather collar
- simple leather collar
- strangulation collar
- rope collar
- iron handcuffs
- iron legcuffs
- rope handcuffs
- rope legcuffs
- rope collar
- simple yoke
- a gag that can be plugged
- a version of HRs painful slave heels with a heels progression system.
- leather collar with cow bell - your enemies will love this collar! (Thank you Predator-RJ@loverslab)
- Broom plug (Thank you pchs@loverslab)
- Carrot plug (Thank you pchs@loverslab)
- Lantern plug (Thank you pchs@loverslab)
- Torch plug (Thank you pchs@loverslab)
- Wooden Leash pole (Thank you Audhol@loverslab)
- Stone Leash pole (Thank you Audhol@loverslab)
- Wall leash (Thank you Audhol@loverslab)
Heels progression enchantment (LFT_HighHeelEnch)
This is an Enchantment for High Heels that makes wearing the heels more immersive. At the beginning the actor will stumble a lot, over the time the actor get used to the heels.
Progression levels
- Novice - the actor stumbles very often, especially if he moves fast or jumps
- Competence - the actor stumbles less often
- Expert - the actor stumbles even less
- Master - the actor stumbles lesser than less
- Goddess - the actor stumbles almost never
Heels categories
The NIOverride height of the heels and the influences how fast the actor progress through the levels and how often the actor stumbles.
- fake heels - height up to 2 - no progress at all while wearing such heels, no limitations, no stumbling
- light heels - up to 5 - slow progress, minor speed limitation based on progression level, stumble occurs sometimes.
- average heels - up to 10 - normal progress, speed limitation based on progression level. But 100% speed can never be reached with such heels.
- extreme heels - higher than 10 - progressing is fast, but at the beginning the speed limitations are very high and stumbling occurs often. Even with maximum progression level, speed remains quite limited
Walking speed
The walking speed influences how often the actor stumbles. If the actor walks very slowly, the chance to stumble is almost zero.
Jumping
Jumping with heels increases the chance to stumble a lot - up to 100%.
Faction
The progression is reflected in the faction LFT_HeelsProgressionFaction - Rank 0 is Novice...
Special heels (Pain heels)
There is a special enchantment LFT_PainHeelEnch which mainly does the same as LFT_HighHeelEnch but adds additional effects to the wearer like stamina and heal damage.
LFT_SlavePainHeels_Inventory is an example of such heels - which is just a proxy for DD HR Iron Boots with additonal effects.
Customization
Some values can be configured in Data\SKSE\Plugins\StorageUtilData\LoreFriendlyToys.json:
{
"int" :
{
"heels_stepslevel1": 100,
"heels_stepslevel2": 200,
"heels_stepslevel3": 500,
"heels_stepslevel3": 800,
"heels_speed_slow": 60,
"heels_speed_average": 30,
"heels_minimum_steps_before_stumble": 20,
"heels_sneak_damage": 50,
"heels_stumble_health_damage": 5
}
}
-
stepslevelare the base amount of steps you have to walk until you progress. The heel category influences this limit - the lower the heel the more steps are needed. -
speed_slowis the amount of milliseconds between two steps - the higher you set this value, the slower you have to walk to avoid stumbling. -
speed_averageis same as above and considered as normal walk, sometimes you stumble. -
minimum_steps_before_stumbleis the amount of steps you always can walk before you might stumble again, it is doubled for light heels. -
sneak damageis a damage % value for non-fake heels. -
health damagedefines how much your health being hit when you stumble - this is only applied when your hands are bound as you can't protect yourself with bound hands.
Mod event
A mod event is sent when an actor stumbles. Example:
RegisterForModEvent("LFT_Stumble", "OnStumble")
function OnStumble(Form victim, int heelsRank, int stepsSinceLastStumble)
...
endfunction
Leash System
Leashes
Leashes are loose chains equipped at amulet slot (35):
-
LFT_LeashChainShort- 50-100 units long -
LFT_LeashChainMedium- 80-120 units long -
LFT_LeashChainLong- 120-180 units long
They have the keyword LFT_WornLeashChain and occupies slot 35 (amulet).
Leash Collar
-
LFT_LeashCollar_Rendered- collar with a ring -
LFT_LeashCollar_Inventory- inventory object
There could be collars with chains permanently attached to the collar - then the collar has both keywords LFT_WornLeashCollar and LFT_WornLeashChain.
Otherwhise the collar has just the keyword LFT_WornLeashCollar and occupies slot 45 (neck).
Leash Anchor Object
The leash anchor is an activator object that can be placed in the game world and used to leash actors to it.
A leashed actor is in faction LFT_LeashedToAnchorFaction.
If an leashed anchor is occupied by another actor, the anchor has the keyword LFT_LeashAnchorOccupiedKeyword.
The activation of a leash anchor can be done by either a leash holder or the leashed actor.
There is a Formlist LFT_LeashAnchorList available that you can use in search conditions and find package routines.
Types
-
LFT_LeashPostStone- small stone post with a ring -
LFT_LeashPostStoneShort- small stone post with a ring with a short leash -
LFT_LeashPostStoneLong- small stone post with a ring with a long leash -
LFT_LeashPostWood- wooden post with a ring -
LFT_LeashPostWoodShort- wooden post with a ring with a short leash -
LFT_LeashPostWoodLong- wooden post with a ring with a long leash -
LFT_LeashRing- a ring to attach to a wall or another object (disable havok!) -
LFT_LeashRingShort- a ring to attach to a wall or another object with a short leash (disable havok!) -
LFT_LeashRingLong- a ring to attach to a wall or another object with a long leash (disable havok!)
Rules for activating the leash anchor
-
if actor wears a leash collar (
LFT_LeashCollar_Rendered) - it will be re-used. If not, it will be equipped. - if an actor wears a different collar, it will be stashed and restored after the actor is unleashed.
- if the actor is a leash holder, not himself but the first leashed actor is transferred
- if the anchor is occupied
- if the actor wears a leash collar, he replaces the actual leashed actor
- else the actor becomes leash holder of the actual leashed actor
-
if the actor already has a leash equipped (
LFT_LeashChain...), it is being re-used - if the actor as a differen leash or leash collar equipped, it is stashed and restored when the actor gets unleashed or handed over to a leash holder
Rules while being leashed to an anchor
-
the leashed actor is in faction
LFT_LeashedToAnchorFaction - teleport is disabled if leashed actor is the Player
-
the anchor reference has the keyword
LFT_LeashAnchorOccupiedKeyword
Rules for unleashing the leash anchor
- the leashed actor cannot unleash himself when
-
he wears a DD binder (
zad_DeviousArmbinder) -
he doesn't have the key
zad_RestraintsKey -
the leash (
LFT_LeashChain...) is detached and removed from the leashed actor - another actor can unleash the leashed actor (leash handover)
- a stashed DD collar will be restored
Mod properties
Read only properties
- previousCollar - DD collar that was stashed
- previousLeash - leash that was stashed
- victim - Leashed actor
Customizable properties
- attachPointX - relative X position of the attachment point
- attachPointY - relative Y position of the attachment point
- attachPointZ - relative Z position of the attachment point
-
defaultLeashCollar - DD collar (inventory item) that will be equipped -
LFT_LeashCollar_Inventoryis default -
defaultLeash - leash that will be equipped (
LFT_LeashChain...) -LFT_LeashChainMediumis default
Footstep sets
There are several footstep sets installed with this mod. They can be assigend to Armor addons in order to change the footstep sounds of the worn armor.
You can use SkyPatcher or Sound Record Distributor in order to assign the footstep sets to Armor addons dynamically or use SetFootstepSet from PO3_SKSEFunctions.
In the past, mods used magic effects and tracked animation events to add sound effects to armor. That did not work reliable and especially not on NPCS.
Footstep sets provided by this mod
-
LFT_BrassBellsFootstepSet- brass bells sound, often used for indish styled ankle bells -
LFT_ChainFootstepSet- heavy chain sound, often used for shackles and chain leashes -
LFT_SmallBellsFootstepSet- tiny bells, often used for piercings -
LFT_SqueakingFootstepSet- squeaking sound
Factions
-
LFT_HeelsProgressionFaction- see above -
LFT_LeashedToAnchorFaction- see above
Armor Keywords
-
LFT_Appearance_PonyGear- can be applied to pony play armor -
LFT_WornGagPlug- plug of a pluggable gag -
LFT_WornPluggableGag- a pluggable gag -
LFT_WornLeashChain- actor wears a leash chain -
LFT_Property_Humiliating- armor is humiliating -
LFT_Property_Humiliating_Collar- collar is humiliating -
LFT_Property_Humiliating_Gag- gag is humiliating -
LFT_Property_Humiliating_Nipples- nipple clamps are humiliating -
LFT_Property_HumiliatingPlug- anal or vaginal plugs are humiliating -
LFT_Property_TimedDeadly- wearing this armor will kill the actor
Item keywords
-
LFT_LeashAnchorKeyword- see above -
LFT_LeashAnchorOccupiedKeyword- see above
Sound effects
Most sound effects are taken from https://opennsfw.carrd.co/.
The license can be found there as well.
-
LFT_AMBCrowdSound- ambient crowd sound -
LFT_AMBFemaleTortureSound- ambient female torture sound -
LFT_AMBFetishSexSound- ambient fetish sound -
LFT_AMBSexSound- ambient sex sound -
LFT_ShavingSound- shaving sound -
LFT_Stumble- stumble sound -
LFT_CowBellSound- cow bell sound -
LFT_BurningSound- burning sound -
LFT_CageOpenSound- cage open sound -
LFT_CageCloseSound- cage close sound -
LFT_PeeInMouthSound- pee in mouth sound -
LFT_PeeInPampasSound- pee in pampas sound -
LFT_FurnitureLockSound- furniture lock sound -
LFT_FurnitureUnlockSound- furniture unlock sound -
LFT_GlideInSound- glide in sound -
LFT_GlideOutSound- glide out sound -
LFT_GulpSound- gulp sound -
LFT_MetalSqueakingSound- metal squeaking sound -
LFT_DrippingFastSound- dripping fast sound -
LFT_DrippingSlowSound- dripping slow sound -
LFT_FemaleBreathingSound- female breathing sound -
LFT_LubriciousSound- lubricious sound -
LFT_MaleBreathingSound- male breathing sound - (and many more)...
Edited by zaira
What's New in Version 2026-08-13
Released
- stash / unstash of current collar
- modder interfaces improved (keywords, api calls)
DD Team
DD NG Team
Predator-RJ
pchs
Audhol
lordbuttcheese