Strazer-CrashoutCrewExtraTime icon

CrashoutCrewExtraTime

Configure individual gameplay timers in Crashout Crew. Independently adjust shift duration, truck patience, respawn delay, warehouse speed, and more.

CHANGELOG

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.