Changelog
1.0.1 (2026-08-08)
Added
- UI Countdown timer multiplier (
UICountdownMultiplier).
- All 12 independent timer multipliers now available in config:
ShiftStartMultiplier, ShiftDurationMultiplier
TruckPatienceMultiplier, TruckArrivalMultiplier, TruckDepartureMultiplier
PauseMultiplier, LockInMultiplier
RespawnMultiplier, BoxSpawnMultiplier
WarehouseMultiplier, UICountdownMultiplier
Changed
- Timer discovery now uses Mono.Cecil analysis of
febjam.dll for accurate method targeting.
- Patch methods use thread-safe dictionary storage to prevent race conditions.
- Configuration generation improved with individual descriptions for each timer.
- Logging includes resolved type paths and patch counts for easier debugging.
OnEntityCreated field patches verify declaring type with IsAssignableFrom before modifying fields.
Fixed
- Harmony patch stability: all
HarmonyMethod constructors verified against real HarmonyX 2.9 API.
- Timer patch reliability: fields correctly identified via
AccessTools.Field and type resolution with fallback enumeration.
- Reflection/type resolution:
ShiftManager found via AccessTools.TypeByName with fallback to runtime assembly scan.
- Configuration generation: all entries now generate with proper defaults and descriptions.
- Multiplayer compatibility: host-authoritative timer fields correctly targeted on server-side methods.
- DLL caching: stale builds prevented by deleting output file before each compilation.
Notes
- First stable public release of Strazer's Extra Time.
- All timer fields verified against
febjam.dll (429 types, 118 SetTimer(Single) call sites).
- Core game timer is
Timer struct using DecrementTimer(Int32) per frame via OnUpdateSimulation.
- Shift duration calculated in
ShiftManager.ServerPrepareShift from ContractShift.truckPatienceDuration.
Thunderstore development is made possible with ads. Please consider making an exception to your adblock.