Overview
The original goal of this mod was to use state-based arm position changes to make her seem more like an independent agent who has her own agency and can react to the game state. I ended up working on this mod off and on for the past few months and kept adding and fixing things as I went so now it's more of a jumble of a bunch of mostly arm-related features, and is now the largest mod I've made to date (roughly 6000 lines of code). I think many of these features cumulatively do pretty well at hitting the original goal.
Here is a summary of what is included:
Installation:
Some of the new arm positions were made mainly for use in 'Dynamic Arms' so might not be very useful otherwise.
The 'main' feature; arm positions change depending on circumstances, and particular behaviors are set based on mood or character code. Here's some sample behavior, using the 4 vanilla moods:
Restrained mode simulates her arms being restrained behind her back. There are three types:
You can cycle between Loose, Tight, Fixed, Off with a hotkey.
Examples:
Additions to tapping:
The jitter feature simulates shaking due to excitement, fear, mindlessness, etc. by adding a chance to shift her position slightly each frame. 'Distance-based' jittering can be set to increase jittering with proximity to his penis as well.
The resistance feature simulates her pushing/keeping herself away by adding a negative speed to her movement. Her 'resistance' degrades due to a number of factors, most of note being acceleration towards him (I.e. mouse dragged towards his side of the screen). Resistance recovers per frame that she is breathing while her acceleration is not towards him. Like with jittering, distance-based resistance can be set.
Both jitter and resistance gain an optional bonus (on by default) for each arm position on him that is of a negative or neutral type (if using dynamicArms)
Normal/distance-based Jitter/resistance can be enabled on a mood/character code basis.
Moods + Character Codes
There are 34 settings for each vanilla and moremoods mood that control how the above features vary between moods. I selected default values for each mood so they should all work out of the box; of course, feel free to modify them as suits your needs.
You can set the dynamicArms mode, restrained mode, and option to disable closed hands (in case you are using armwear that does not support closed hands), through character codes:
Other Features and Fixes
Here are the main things you can use hotkeys for and their default hotkeys (hopefully you have a numpad):
You can also set hotkeys for any combination of arm positions.
The original goal of this mod was to use state-based arm position changes to make her seem more like an independent agent who has her own agency and can react to the game state. I ended up working on this mod off and on for the past few months and kept adding and fixing things as I went so now it's more of a jumble of a bunch of mostly arm-related features, and is now the largest mod I've made to date (roughly 6000 lines of code). I think many of these features cumulatively do pretty well at hitting the original goal.
Here is a summary of what is included:
- New arm positions
- 'Dynamic Arms' (State-based arm changes and arm transition animations)
- 'Restrained Modes' (Simulates her arms being restrained behind her back)
- Rubbing / tapping / slipping behavior modifications
- Body jittering and resistive push back
- Hotkeys for various functions, and for all combinations of arm positions
- Various bug fixes and smaller features
Installation:
- If you are using animtools V39 or higher, skip steps 1 and 2 (you don't need the included custom animtoolsV38 version)
- Install animtoolsV38 (if it isn't installed already)
- Replace animtoolsV38.swf with the version included in this download
- If you are using sby's V16 loaderpack that will be here:
- Loader5.45\Mods\$INIT$\sby_default\animtoolsV38\animtoolsV38.swf
- If you are using sby's V16 loaderpack that will be here:
- Install this mod
- Make sure this mod loads after animtools, and if you are using it, Throat Bulge Increase (one of the arm positions takes into account throat bulge)
- himLegLayerMove
- Him/Her Arm Position Hotkeys
- Breath-based Arm Positions
- femalemasturbate
- pullOffEdit (sort of - you can use both if you want)
- moremoodsV18
- himSizerV2
- BreastExpPlus_v3_7
- SpankAnywhereForked (Must be 5/2/24 version or newer)
- dynamicBlushing (Must be 5/2/24 version or newer)
- progressiveExhaustion (Must be 5/2/24 version or newer)
Some of the new arm positions were made mainly for use in 'Dynamic Arms' so might not be very useful otherwise.
- On Hips
- Hands are kept on her hips
- On Neck
- Hands are held to her neck and rotate to follow her neck bulge
- In Face
- Hands are held out in front of her face
- In Air
- Hands are kept out in the space in front of her
- A percentage value is constantly modified based on a variety of factors adjustable in the settings file, that controls the movement of her arms
- Holding Stomach
- Hands are gripping her stomach and move with her stomach
- Couldn't find a way to perfectly follow her stomach movements so it is an approximation that adjustable in the settings file
- Scales with expanded stomachs from BreastExpPlus_v3_7
- Cupping Balls
- Hands cup his balls and follow their movements
- Left hand follows his right ball, right hand follows his left ball
- On His Ass
- Hands reach under/around his legs (depending on his leg layer - more on that later) and cup his cheeks
- On His Hand (Left Only)
- Hand is kept on his right hand and follows its movements
- Masturbating (Left Only)
- Hand is between her legs and moves in a rubbing motion
- Copied a lot of code from femalemasturbate, and made some modifications
- Masturbation speed is constantly modified based on a variety of factors adjustable in the settings file
- Increased masturbation speed leads to breath loss and more blushing (dynamicBlushing)
- If speed is below a certain amount, she will occasionally randomly masturbate quicker
- In His Hand (Right Only)
- He holds her hand
- If arm transitions are on, he will reach out to grab it when hotkey for the position is pressed
- Spanking (if spank animation is enabled) or pressing a hotkey will cause her arm to drop
- Holding Hand (Right Only)
- They hold hands
- Spanking (if spank animation is enabled) or pressing a hotkey will cause her arm to drop
The 'main' feature; arm positions change depending on circumstances, and particular behaviors are set based on mood or character code. Here's some sample behavior, using the 4 vanilla moods:
- The mod tracks three types of 'weights' (positive / negative / neutral) for every arm position (except In His Hand) for each arm.
- Each position gains weights based on a variety of in-game factors.
- All weights decay over time by factors adjustable in the settings file.
- For each arm, the arm position with the highest weight (among all three types of weights) will be the active position.
- The 'type' of weight represents the 'motive' behind the arm:
- Positive - Cooperative, eager, trying to help or serve
- Negative - Acting against him, trying to prevent/mitigate his actions
- Neutral - 'Involuntary' responses, instinctual behaviors
- The type of weight dominant in a current arm position will also have effects on tapping, rubbing, etc. among other things.
- Multipliers and adjustments to weight gains of different types are set per mood, or by character codes
- If using progressiveExhaustion, one thing I added that I think is pretty cool is a 'behavior change' of sorts, where as exhaustion increases, multipliers to positive / negative / neutral weights shift in specific directions
- You can toggle dynamicArms off and on with a hotkey
- Note that the following transitions are prevented, because they look really weird (you can enable them in the settings but only to snap into place, not move there)
- Left:
- On His Hand > Back, On His Hand > On Legs, On His Hand > On Her Ass, On His Hand > On Hips, On His Hand > Masturbating
- Right:
- Back > Holding Breast, Back > Gripping Thigh, Back > Holding Stomach, Back > On Hips, Holding Breast > Gripping Breast, Holding Breast > Holding Stomach
- Left:
Restrained mode simulates her arms being restrained behind her back. There are three types:
- Fixed
- The same as having her arms on back in vanilla SDT
- Tight
- Starts in vanilla arms on back position
- One arm will occasionally shift and move to simulate struggling
- Loose
- Arms start down near her ass
- Arms follow two ranges of motion as struggling increases - first up above her ass, and then in the same range of motion as in Tight
You can cycle between Loose, Tight, Fixed, Off with a hotkey.
Examples:
Tight
Loose
Tapping / Rubbing / SlippingLoose
Additions to tapping:
- Adjustable vanilla constants
- Adjustable custom 'held' tapping behavior
- In vanilla, tapping begins, and is highest, once she runs out of breath and is at full passout and steadily decreases
- When using custom behavior (on by default in settings), a 'peak' is set (default 70% passout). Tapping increases at an adjustable exponential rate while approaching the peak, and then begins to drop after the peak.
- Chance of tapping due to a number of factors adjustable in the settings file
- Chance of random tapping (on a per mood / character code basis)
- Chance of tapping with closed fists (based on a number of factors, mood, etc.)
- Chance of tapping using an alternative tap 'angle' (the default angle I chose looks pretty good in my opinion, and adds variety)
- One time rubbing when arms move to a position that allows rubbing due to a spank
- Adjustable chance of rubbing with just one arm
- Adjustable rubbing in intervals, with possible breaks in between
- Rubbing chance and interval length determined based on arm position 'type' (positive / negative / neutral)
- Without mod, slip times (speed at which arms fall when going loose) are identical for all arm positions, except for On Legs, which is significantly shorter
- With mod, you can set different slip times for each arm position
- I already set some slip times that seemed good in the settings file - adjust them if you don't like them
The jitter feature simulates shaking due to excitement, fear, mindlessness, etc. by adding a chance to shift her position slightly each frame. 'Distance-based' jittering can be set to increase jittering with proximity to his penis as well.
The resistance feature simulates her pushing/keeping herself away by adding a negative speed to her movement. Her 'resistance' degrades due to a number of factors, most of note being acceleration towards him (I.e. mouse dragged towards his side of the screen). Resistance recovers per frame that she is breathing while her acceleration is not towards him. Like with jittering, distance-based resistance can be set.
Both jitter and resistance gain an optional bonus (on by default) for each arm position on him that is of a negative or neutral type (if using dynamicArms)
Normal/distance-based Jitter/resistance can be enabled on a mood/character code basis.
Example using 'Frightened' mood:
Moods + Character Codes
There are 34 settings for each vanilla and moremoods mood that control how the above features vary between moods. I selected default values for each mood so they should all work out of the box; of course, feel free to modify them as suits your needs.
You can set the dynamicArms mode, restrained mode, and option to disable closed hands (in case you are using armwear that does not support closed hands), through character codes:
- Example: armOverhaul:1,2,1;
- Above will set dynamicArms on, restrained mode to 'fixed', and enabled closed hands
- Value 1 - dynamic arms mode, 0 = off, 1 = both, 2 = left, 3 = right
- Value 2 - restrained mode, 0 = loose, 1 = tight, 2 = fixed, 3 = off
- Value 3 - closed hands, 0 = off, 1 = on
- Example: armOverhaul:1,2,1,0.995,1,1,0,1,0.5,0,1,0.5,1,0,1,0,1,1,2,0.01,1,2,0.75,2,0.01,10,0.08,-0.05,0.05,0,2,0.15,1,1,0;
Other Features and Fixes
- Implemented himLegLayerMove, but got rid of the bugs (as far as I'm aware) and made it toggleable
- It toggles on when her right arm changes to On His Ass and Cupping Balls by default, and reverts back after
- Made her min pos (furthest back she can go) and max pos (furthest forward, into him) adjustable
- Added scaling of her max pos based on her body scale and his body scale (if using HimSizer)
- In vanilla, at smaller body scales her max pos would be limited to be further away from the penis base, and further past the penis base at larger body scales. This feature keeps the max pos somewhat consistent between body scales.
- Added option to scale her min pos with the reach of his arm when using HimSizer
- Added option to lock her min pos when one of her arms is completely stretched out, to prevent floating arms like this:
- Added pos shift on wake, to simulate being 'startled' awake
- Added eyeshock limiter (also in SpankAnywhereForked)
- Fixed bug where her hand appears behind him when mouse is held down and penis is out, or when her head is past his penis
- HimSizer hand position scaling
- HimSizer handjob position scaling
- Fixed bug where her left hand would be missing the fingers when closed and not in hand job position
- Fixed bug where her arms would snap to previous position on wake, rather than transition there
- Fixed oversight where her body would 'freeze' at min pos or max pos, aside from her stomach. If you noticed it then maybe you know what I'm talking about, and if you didn't then all is fine and dandy.
- Fixed bug where arms could flicker on pass out
- Fixed issue where hands would rotate on wake, or when moving, while reversed
- Disabled hand tapping for non-hand tapping positions
- Support for setting dynamic arms mode via dialogue actions with [DYNAMIC_ARMS_MODE_*0-3*]
- Ex: [DYNAMIC_ARMS_MODE_1] = set dynamic arms for both arms
- Support for setting restrained mode via dialogue actions with [RESTRAINED_MODE_*0-3*]
- Ex: [RESTRAINED_MODE_2] = set restrained mode to fixed
Here are the main things you can use hotkeys for and their default hotkeys (hopefully you have a numpad):
Cycle dynamicArms | Numpad 8 |
Cycle restrained mode | Numpad . |
Release her hand (if In His Hand / Holding Hand) | Numpad 5 |
Toggle his leg layer | Numpad 2 |
Increment his left arm position | Numpad 3 |
Decrement his left arm position | Numpad 1 |
Cycle her left arm left | Numpad 7 |
Cycle her left arm right | Numpad 9 |
Cycle her right arm left | Numpad 4 |
Cycle her right arm right | Numpad 6 |
Cycle his left arm | ] |
Cycle his right arm | [ |
You can also set hotkeys for any combination of arm positions.
- Multiple keys can be bound to one position by using a comma separated list of keys.
- Ex. leftOnHisChestKeys=104,110,86
- The same key can be bound to multiple arm positions (make sure the arms are different though).
- (Ex. leftOnHipsKeys=86 rightOnLegsKeys=86 himRightHoldingKeys=86 himLeftLooseKeys=86 means that pressing the 'V' (86) key will set her left hand to 'On Hips', right hand to 'On His Legs', his right hand to 'Holding' and his left hand to 'Loose')
- Masturbating = 'L' (76)
- Same default key as in femalemasturbate
- In His Hand = 'V' (86)
- There is no way to trigger it through dynamicArms, since grabbing her hand is more of a 'him' action, so I bound it
- On rare occasions, when using dynamicArms one of her hands may get stuck with a slight offset that can look pretty strange, but it fixes itself after a while
- I am not sure of what is causing this, so if anyone can deduce steps to replicate it please let me know
- The settings file may seem intimidatingly large, but it is all split into parts and documented, and 2/3 of it is just the same 34 variables for every possible mood
- I used deepthroatactionsV6, and 48fps during a majority of the tweaking of settings, so you may want to either use them, or adjust the settings
- A warning about hooking 'tapHands' is normal - that is from a conflict with moremoods, that this mod overrides
- Set mouseDownHandLayerFix=0 to prevent hair clipping under her arm
- Please let me know if anything is funky or if help is needed figuring this thing out
https://www.undertow.club/threads/how-to-install-mods.16298/