Crashout Crew
You are viewing a potentially older version of this package. View Latest Version
Install

Details

Date Uploaded
12 hours ago
Downloads
5
Size
46KB
Dependency string
Strazer-CrashoutCrewExtraTime-1.0.0

Crashout Crew Extra Time

A BepInEx 5 plugin that lets you configure nearly every timer in Crashout Crew through a generated configuration file.

Features

  • Adjustable timer multipliers for deliveries, shifts, coroutines, and more.
  • Automatic config generation on first launch.
  • Harmony patches using HarmonyX.
  • Runtime timer discovery — finds and patches timer fields automatically.
  • Graceful failure — continues loading even if some patches fail after game updates.

Installation

  1. Install BepInEx 5 for Crashout Crew.
  2. Place the CrashoutCrewExtraTime.dll into BepInEx/plugins/.
  3. Launch the game once to generate the config file.
  4. Edit BepInEx/config/com.strazer.extratime.cfg to your liking.
  5. Restart the game.

Configuration

The config file is at BepInEx/config/com.strazer.extratime.cfg.

[Timers]

## Timer multiplier.
## 0.0 = Instant (when safe)
## 0.5 = Twice as fast
## 1.0 = Vanilla
## 2.0 = Twice as long
DeliveryMultiplier = 1.0
ShiftMultiplier = 1.0
GameSpeedMultiplier = 1.0
CoroutineMultiplier = 1.0
AutoDiscoveredMultiplier = 1.0

Timer Descriptions

Config Key Default Affects
DeliveryMultiplier 1.0 Truck arrival duration (GameUtil.truckArriveDuration)
ShiftMultiplier 1.0 Shift/work duration (GameUtil.shiftDuration)
GameSpeedMultiplier 1.0 Base game duration (GameUtil.duration)
CoroutineMultiplier 1.0 All WaitForSeconds / WaitForSecondsRealtime delays
AutoDiscoveredMultiplier 1.0 Any float/int fields matching timer keywords

Value Reference

Value Effect
0.0 Instant (set responsibly)
0.5 Twice as fast
1.0 Vanilla (default)
2.0 Twice as long
10.0 Ten times as long

How It Works

The plugin uses HarmonyX to patch the following at runtime:

Patch Target Type Effect
GameUtil.get_truckArriveDuration Postfix Multiplies return value
GameUtil.get_shiftDuration Postfix Multiplies return value
GameUtil.get_duration Postfix Multiplies return value
WaitForSeconds(float) constructor Prefix Multiplies seconds parameter
WaitForSecondsRealtime(float) constructor Prefix Multiplies seconds parameter
Auto-discovered timer fields Postfix Multiplies return value

All game timer fields are discovered by analyzing the #Strings metadata heap in Assembly-CSharp.dll. The following fields were confirmed present:

  • truckArriveDuration — truck arrival timing
  • shiftDuration — work shift length
  • duration — base duration reference

Coroutines discovered include LoadCo, InitializeGameCo, RefreshGlobalStatsCo, and WaitForTask. These are covered by the global CoroutineMultiplier which patches the WaitForSeconds constructor.

Compatibility

  • Game: Crashout Crew (current version)
  • Mod Loader: BepInEx 5.x
  • Patcher: HarmonyX (bundled with BepInEx)

Building from Source

Requires .NET Framework 4.8 SDK or csc.exe.

csc /target:library /out:CrashoutCrewExtraTime.dll ^
    /reference:0Harmony.dll ^
    /reference:BepInEx.dll ^
    CrashoutCrewExtraTimePlugin.cs

License

MIT License — see LICENSE.txt in the game folder or GitHub.

Credits

Thunderstore development is made possible with ads. Please consider making an exception to your adblock.