Arm Overhaul

Arm Overhaul 1.13

Please register for a free account to download
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:
  • 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
Setup
Installation:
  • If you are using animtools V39 or higher, skip steps 1 and 2 (you don't need the included custom animtoolsV38 version)
  1. Install animtoolsV38 (if it isn't installed already)
  2. Replace animtoolsV38.swf with the version included in this download
    1. If you are using sby's V16 loaderpack that will be here:
      1. Loader5.45\Mods\$INIT$\sby_default\animtoolsV38\animtoolsV38.swf
  3. Install this mod
  4. 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)
This mod replaces the following mods (it does the job the same/better, and will probably conflict so you should remove them from your load order and not use them):
This mod includes additional features for the following mods, which are recommended:
New Arm Positions
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
Dynamic Arms
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:

Normal
Normal (online-video-cutter.com).gif


Happy
Happy (online-video-cutter.com).gif


Angry
Angry (online-video-cutter.com).gif


Ahegao
Ahegao (online-video-cutter.com).gif


Also, I recommend using SpankAnywhereForked so you can do stuff like this
Spanking (online-video-cutter.com).gif
  • 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​
You can see what factors are affecting each arm position's weights in the settings file. It's probably not worth memorizing them all, but just playing, checking and adjusting the settings if the behavior isn't to your liking. In the settings you can also set debugMode=1, which will display the position / weight / type of each arm at regular intervals, to help with adjusting.
  • 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
Restrained Modes
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
Struggle 'percent' which determines the current positions of her arms, and struggle chance are modified by a variety of factors adjustable in the settings file.

You can cycle between Loose, Tight, Fixed, Off with a hotkey.

Examples:
Tight
Tight (online-video-cutter.com).gif


Loose
Loose (online-video-cutter.com).gif
Tapping / Rubbing / Slipping
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)
Additions to rubbing (Note: all of this is only active when dynamicArms is on):
  • 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)
Slipping Time (small thing but figured I'd include some words about it):
  • 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
Jitter / Resistance
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:
Frightened (online-video-cutter.com) (1).gif

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
Through character codes you can also set custom settings that will override mood settings, by appending every value of the 35 settings to the armOverhaul code (it's going to be very messy though, and good luck not messing up any of the values):
  • 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;
Changing moods or loading a character code that doesn't include all additional 35 values will cancel the custom settings.

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:
    • armAngleLimit.png
    • Note that sometimes during arm transitions the arms may lock out, which will lock her min pos prematurely. This can be fixed by switching arm positions or waiting and pulling back gradually.
  • 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
    • Before: mouseDownLayerBefore.png After: mouseDownLayerAfter.png
  • HimSizer hand position scaling
    • Lines up his right hand better with her head as him size changes
    • Before: himSizeHandBefore.png After: himSizeHandAfter.png
  • HimSizer handjob position scaling
    • Lines up her hands better on his penis as him size changes
    • Before: himSizeHJBefore.png After: himSizeHJAfter.png
    • It doesn't scale perfectly with him size but it's better than nothing; you can adjust the scaling in the settings
  • 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
Hotkeys
Here are the main things you can use hotkeys for and their default hotkeys (hopefully you have a numpad):

Cycle dynamicArmsNumpad 8
Cycle restrained modeNumpad .
Release her hand (if In His Hand / Holding Hand)Numpad 5
Toggle his leg layerNumpad 2
Increment his left arm positionNumpad 3
Decrement his left arm positionNumpad 1
Cycle her left arm leftNumpad 7
Cycle her left arm rightNumpad 9
Cycle her right arm leftNumpad 4
Cycle her right arm rightNumpad 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')
By default the only arm positions that have a default binding are:
  • Masturbating = 'L' (76)
  • 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
Notes
  • 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
Author
YoBoi
Downloads
2,898
Views
19,779
First release
Last update
Rating
4.63 star(s) 35 ratings

More resources from YoBoi

Latest updates

  1. Added features to scale her max pos with her body scale and him body scale

    Added features to scale her max pos with her body scale and him body scale
  2. Fixed an incompatibility with throatcumbulge, causing swallow animation to be sped up

    Fixed an incompatibility with throatcumbulge, causing swallow animation to be sped up
  3. Added option to disable closed fists (all closed fist positions, hand tapping, restrained struggle)

    Added option to disable closed fists (all closed fist positions, hand tapping, restrained...

Latest reviews

How do i disable its' randomness? Kind of annoying.
With BreastExpPlus_v3_7 she will keep moving her arms without the stomach growing while holding stomach as if the stomach is growing from 0 to max and once her arms reaches max she will reset back down to 0 and move them max and repeat forever.
Using Sby loader pack 16, did proper install, tried with animtools V39, tried installing into a fresh Sby loader but it persists no matter what.
The coolest mod ever! Amazing work done, also would like to have mod with chocking, cuts, blood, scars.
okay it works, i forgot to drag it into the settings folder, great mod
Excellent mod !

Is there a way to put triggers in dialogue to change her arms position ?
I'm having a difficult time even adding this mod, could you go over more in depth what i need to do to add this mod? I have the animtools but i cannot get this mod to load.
One of the best mods available. Waiting for someone to polish something like this for a while.
Couple questions tho, is there a way to assign the arm behavior of one mood to another? For instance, I like to run the disgusted mood but I also like to have him hands free so she is doing all the work, so ideally, i want the handjob/cupping actions from her while on this mood. Is there any way to go about that?
Y
YoBoi
Thanks!

You can't assign select arm positions, but you can select 'positive', 'negative' and 'neutral' positions as a whole. In this particular instance, in the mood settings in the settings file, you can set disgustedPositiveFactor=1 and she will do positive actions, and maybe set disgustedNegativeFactor lower.

If you just want to do if for say a certain character and don't want to change the mood settings as a whole, you can assign it via charcode (more details on that in the charcode section of the overview)
Amazing mod, really a game changer.
Is there a way to prevent certain hand positions to happen at all? Like the girl holding his hand when in a happy mood?
Y
YoBoi
Thanks, glad you are enjoying it!

There actually is a specific setting for each mood called HandHoldingFactor in the settings that at low values will disable hand holding.

Other than that, there is no explicit way to disable a hand position by mood, and I probably won't add that in due to additional performance impact and further bloating the settings/variables/character codes.

If you want to disable a hand position universally for all moods, in the Dynamic Arms section of the settings file you can set all weight gain sources for the position to 0.
After installation via sby, the girl does not resist with her hands like in the GIF where she is scared, I did everything according to the instructions, please help me solve the problem
Y
YoBoi
I am assuming you were using the same 'Frightened' mood, right?

Make sure the settings file is in the your settings folder.

Are there any other problems you noticed?
Excellent in so many ways. The only issue I find is an inability to get the restrained mode working (no numpad). I have tried changing hot keys but havent got it to work yet.
Top


Are you 18 or older?

This website requires you to be 18 years of age or older. Please verify your age to view the content, or click Exit to leave.