GTFO
You are viewing a potentially older version of this package. View Latest Version
Install with App

Details

Date Uploaded
Downloads
241
Size
9.2KB

ReloadSync

Aligns three things that were out of sync on several vanilla GTFO weapons:

  1. the reload animation,
  2. the reload sounds,
  3. the exact moment ammo is actually refilled.

It changes only ReloadSequence on 8 weapon parts. No stats are touched — damage, range, magazine size, reload time, recoil are all left alone.

Requires only BepInEx-BepInExPack_GTFO. No GTFO-API, no MTFO.

What it fixes

Part Type Weapon Change
14 Front_Rifle_3 front Drekker Pres MOD 556 end 2.7 → 1.184, ammo 2.0 → 0.85, magazine drop/show removed
20 Front_Shotgun_3 front Buckland XDist2 (Choke) ammo 2.0 → 1.6
21 Front_Precision_1 front Köning PR 11 ammo 2.4 → 2.0, tail sounds moved earlier
24 Front_SMG_1 front Accrat STB ammo 1.1 → 0.85, grab 1.1 → 0.8, mag in 1.4 → 1.3
35 Front_Revolver_2 front Bataldo 3RB ammo 1.1 → 0.85, cylinder sounds moved earlier
47 Front_Short_Shotgun_2 front Buckland SBS III cocking sound 2.0 → 1.7
37 Front_Short_Shotgun_1 front not used by any vanilla loadout replaced with the 16-event version from 47
17 Stock_Bullpop_1 stock Bullpup events re-sorted; ammo 1.0 → 1.15 to match the mag-in sound

Why it was broken

Each reload event has a Type:

0 / 1 / 2 / 8 / 9   animations (weapon movement, front part, left hand, stock, right hand)
5                   sound (StringData is the Wwise event name)
6                   DoUpdateAmmo — the exact moment bullets are refilled
7                   Empty — end-of-sequence marker
10                  magazine action (drop / show)

Vanilla had two problems:

  1. Ammo refilled too late — e.g. Pres MOD 556 refilled at 2.0s while the animation already seated the magazine at 1.66s.
  2. The Bullpup sequence was out of order — its ammo event was listed after two end-of-sequence markers: the sequence ended, then ammo arrived.

Compatibility

Before writing anything, each block is compared against its vanilla value:

current == target      -> do nothing (repeated launches never re-write)
current == vanilla     -> write the aligned version
current != vanilla     -> assume another mod changed it, skip and log

So it coexists with MTFO / ProjectEternal / other weapon-data mods: it never overwrites a part that someone else already modified. It writes no config files and touches no saves.

Installation

<game folder>\BepInEx\plugins\ReloadSync.dll

Close the game completely, then start it again.

Verifying

BepInEx\LogOutput.log prints one line per block plus a summary (the human-readable part of these messages is in Chinese in this build):

[ReloadSync] id=17 Stock_Bullpop_1 ...  end=2.1  ammo=1  events=17  ->  end=2.1  ammo=1.15  events=17
[ReloadSync] done: written 8 / already correct 0 / skipped (modified by another mod) 0 / missing 0

The left-hand values are what the game reported before the change.

Credits

  • Front-part timing is taken from cris's ProjectEternal (GearFrontPartDataBlock). This mod only ports that alignment back onto vanilla data.
  • The Bullpup entry has no external reference — it was re-sorted from vanilla data and the ammo event aligned to the mag-in sound.

Notes

  • Only these 8 parts are handled. Any weapon not in the list is left untouched.
  • Multiplayer: only local memory is modified; the reload animation is a local presentation.
Thunderstore development is made possible with ads. Please consider making an exception to your adblock.