Vapu-VapuFastpit icon

VapuFastpit

Skips the pit stop wait and between-day transit, but keeps DaySummary and GameOver intact.

By Vapu
Last updated 7 hours ago
Total downloads 17
Total rating 0 
Categories Mods
Dependency string Vapu-VapuFastpit-1.0.0
Dependants 0 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2100 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2100

README

VapuFastpit

A BepInEx mod for Gamble With Your Friends that removes the parts of the day-transition flow you have to sit through without actually adding any gameplay — while keeping the screens you genuinely want to see (DaySummary, GameOver) intact.

What it skips

  • Pit stop / leave-casino countdown. The end-of-day trigger zone at the casino exit normally counts down for several seconds once all players are inside. This mod reduces that countdown to a fraction of a second and lets it fire as soon as one player is in the zone, so AFK or stuck teammates can't stall the day.
  • Lose-scene pit jump. When you lose, the game loads LoseStateScene which contains an actual pit you have to walk to and drop into before the GameOver screen appears. This mod automatically triggers the same SceneSwitcher the pit would have triggered, so the GameOver flow starts on its own.
  • GameOver result roll. The GameOver UI normally animates each line (title, day reached, per-player contributions, totals, ticket balance) with delays between segments. This mod feeds skip requests into the UI's own per-segment skip system so each phase completes instantly while still firing the callbacks that set the final values — you see the full result screen, just without the long buildup.

What it does NOT touch

  • Mirror.NetworkManager.ServerChangeScene — scene transitions are unmodified, LoseStateScene still loads on a loss.
  • SkipUI.SetSkippableForLocal — the DaySummary skip vote is not auto-cast, so the day-end summary screen behaves exactly as in vanilla.
  • DaySummaryUI and GameManager.ShowDayStats() — the between-day summary is shown in full.
  • EndingCutscene_Coinflip_Won, EndingCutscene_Coinflip_Lost, EndingCutscene_Debt_Paid — endgame cutscenes are unmodified.
  • FollowUsSceneManager — the post-credits scene is unmodified.

Configuration

Settings are written to BepInEx/config/vapu.fastpit.cfg on first run.

Section Key Default Description
Pit Stop CountdownSeconds 0.2 Replacement for AllPlayersTriggerZone.delayBeforeEvent. 0 makes the trigger fire instantly.
Pit Stop TriggerOnAnyPlayerInZone true If true, the zone fires when at least one player is inside instead of requiring all of them.
GameOver AutoSkipAnimation true If true, GameOverUI's animated phases auto-complete via its own skip mechanism.
GameOver AutoJumpInPit true If true, the host server auto-invokes the LoseStateScene SceneSwitcher on scene load, so nobody has to physically jump in the pit. Host-only effect.
GameOver AutoJumpDelaySeconds 1.5 Seconds to wait after LoseStateScene loads before auto-triggering the SceneSwitcher. Gives LoseInitializeRoutine and player spawn time to settle.

Multiplayer

  • The pit-stop countdown patch runs on the host (the trigger zone's logic only executes server-side after OnStartClient).
  • The auto-jump-in-pit patch is gated by NetworkServer.active, so only the host invokes it. Clients without the mod still see the result because the host calls GameManager.ShowGameOverStats()RpcPlayGameOverFeedbackGameOverUI.Show() on every client.
  • The GameOver animation skip is local to each client. Install the mod on every machine that should see the fast version.

Requirements

  • Gamble With Your Friends (Steam, Unity 6000.x, Mirror Networking)
  • BepInEx 5.4.x (BepInExPack)

Installation

Thunderstore Mod Manager / r2modman

Use Import local mod in the manager and select the release zip.

Manual

Drop VapuFastpit.dll into …/BepInEx/plugins/VapuFastpit/.

Build from source

dotnet build -c Release

The project targets netstandard2.1. It references the BepInEx core DLLs and the game's Assembly-CSharp.dll / Mirror.dll / UnityEngine.*.dll — adjust the BepInExCore and GameManaged paths in VapuFastpit.csproj to match your install.

How it works internally

Hook Type Effect
AllPlayersTriggerZone.OnStartClient Postfix Writes delayBeforeEvent and tightens colliderCheckInterval on every instance of the trigger zone as it comes online.
AllPlayersTriggerZone.CheckPlayers Prefix (replaces) Skips the "all players inside" requirement and starts the countdown as soon as one player is in the bounds.
GameOverUI.Show Postfix Starts a coroutine that keeps _pendingSegmentSkips topped up, so each WaitForSecondsOrSkip call consumes a skip and fires its end-state callback immediately.
SceneManager.sceneLoaded (event) When LoseStateScene loads on the host, waits AutoJumpDelaySeconds, finds the scene's SceneSwitcher and calls ServerProgressSceneWithoutInteraction(). With GameManager.state == Lose (2) it routes into ShowGameOverStats().

License

MIT.