Stops the rifle from following your hand's leftover motion right after a bolt cycle or regrabbing, so your aim stays where it was while your hand settles back into the gun. Hold forward hand trigger to activate!
The trigger requirement can be switched off from the wrist menu.
Show Detail
- The steadying is gated on the support hand holding its trigger, which is the vanilla way of steadying a rifle. Not every gun is nicer that way, so the wrist menu now carries a `Require trigger: ON / OFF` button in Sodalite's Custom Buttons page. OFF means a foregrip grab settles, and a re-grip holds, even when that hand's trigger is not down.
- The button writes `[Gate] UseTriggerHold` and saves the config file: it is the same switch as the key in the file, so flipping either one flips both.
- Nothing else follows the gate. `ReleaseOnFire` still ends a hold on the shot, and while ON letting go of the trigger still releases on the spot.
- The button lives on Sodalite's Custom Buttons page, so **Sodalite is now a dependency** (added to the manifest, and a hard `[BepInDependency]`: without it the mod does not load instead of quietly losing the switch). If the button cannot be added, the mod logs a warning and the config key does the same job.
1.2.0
Taking the foregrip with its trigger held is smoothed. Thanks to JerryAr for the suggestion!
Show Detail
- Grabbing the foregrip changes the hand the rifle is anchored to, so its target pose moves a few degrees away and vanilla sweeps it there at full speed - the "the rifle snapped onto my hand" feel. The mod now keeps the game in charge and scales its follow velocity down, so the same move happens as a smooth settle. `[StraightPull] ForegripSmooth` is the strength knob: 0.03 = 3 % of the follow velocity (the default, a very gentle settle), 1 = off.
- The settle uses the normal `WindowSeconds` and `RampOutSeconds`, with the same curve every other hold uses: full slowdown for `WindowSeconds - RampOutSeconds`, then the multiplier climbs back to 1 over `RampOutSeconds`. That fade is what keeps the hand-over smooth - without it the last bit of remaining offset got covered at full speed on the single tick the settle ended, which read as one final hop.
- It is a per-tick multiplier and not a latch: the rifle keeps following your hands, just slower, so you can keep re-aiming with both hands while it runs. Nothing gets frozen, and letting go of the foregrip's trigger stops it on the spot.
- It fires from a prefix on `FVRAlternateGrip.BeginInteraction`, i.e. the moment the foregrip is actually grabbed. That matters: when the rifle is already held, grabbing the foregrip only attaches an alt grip and the weapon's own `BeginInteraction` is never called, so the old re-grab trigger could not see that grab reliably.
- `[StraightPull] Regrab` (the latch window for re-gripping the rifle's own grip on a straight-pull with no quickbolt script) is unchanged, and now explicitly ignores the foregrip hand-over so the two can never both act on the same grab.
- One-handed carrying and one-handed aiming are left alone on purpose: the mod only does anything when a hand comes back to the rifle with the right trigger held.
- Every config description is a single short line now.
Optimized changelog though no one will ever read it.
1.1.1
Straight-pull ("closed bolt") rifles are supported. Thanks to Aesrs for the suggestion!
Show Detail
Vanilla has no quickbolting for them, so the hand-back to the rifle comes from the gun mod instead (OpenScripts2's ClosedBoltQuickbolting, Volks' ClosedBoltQBFixed, or a copy of either), and the buffer used to ignore it. Any hand coming back to a rifle from a bolt / charging handle now starts the buffer: BoltActionRifle_Handle, ClosedBolt, ClosedBoltHandle, RailTater_Handle, and a gun mod's own copy of a bolt class. The rifle and receiver types themselves are still excluded.
New [StraightPull] Regrab (default true), for straight-pull rifles whose bolt has no quickbolt script: you let go of the grip to work the bolt, and when you take the grip again the rifle re-anchors to that hand, so the aim jumps by however differently you grabbed it. Taking hold of a rifle that is already in your hands now starts the buffer on the pose from just before the grab, so the aim stays where it was. It works on any gun, so switch it off if you would rather have the plain grab back.
New [StraightPull] TakeOverScripts (default true): gun mods that ship their own quickbolt stabiliser write the rifle's transform after the physics tick this mod controls, which overwrites our hold (Volks' ClosedBoltQBFixed does this for 0.5 s after the bolt closes). That component's own stabilisation is now switched off for as long as our buffer runs and restored afterwards, so the trigger gate does the steadying instead - measured against the Swiss K31's own stabiliser, ours drifts less. Only components whose type name says quickbolt and that carry a bool field about stabilising are ever touched.
Both new triggers are still gated by the support hand's trigger and still end the hold the moment it is released.
Fixed: hand-editing the config file while the game is running did nothing (no reload and no log line), because the file's last-write stamp was kept in a float - DateTime.Ticks is about 6.4e17, which a float rounds to a quantum of roughly an hour, so a real edit never registered as a change. Stamps are compared exactly now: a hand-edit reloads the settings live and logs config file changed on disk, reloaded.
1.1.0
Now uses the same input as vanilla game's Long Gun Stabilization to activate the assist. Thanks to BitWizrd for this idea!
Show Detail
The buffer is now gated by the game's own way of steadying a rifle: it only holds while your support (foregrip) hand is holding its trigger - the same input vanilla reads for LongGunSnipingAssist. Release the trigger and the hold ends at once, then the speed-capped tail finishes the cycle as usual
Removed the whole [Escape] section (grace period, deliberate-move test with its arming/settle logic, support-hand drift test, blunt fallback tests) together with ReleaseOnTrigger. The trigger gate replaces all of them: nobody keeps the foregrip trigger held while swinging the rifle onto another target, so swinging to a new target releases instantly.
New [Gate] section: UseTriggerHold (default true) turns the gate on; ReleaseOnFire (default true, moved from [Escape]) drops the hold the moment you fire. With UseTriggerHold = false the mod falls back to the plain time window, so the old behaviour is one key away.
Tuning keys and their defaults are unchanged (WindowSeconds 1.3, RotationStrength 0.95, PositionStrength 0.9, RampOutSeconds 0.7, speed caps).
Old [Escape] keys left in an existing config file are simply ignored.
1.0.0
Initial release
Thunderstore development is made possible with ads. Please consider making an exception to your adblock.