
ShrinkingZone
A closing perimeter that shrinks over time, damaging players caught outside it based on their max health. Includes a looping sound effect while the ring is actively collapsing.ShrinkingZone — ROUNDS Mod
A closing "safe zone" for ROUNDS: a circular perimeter that shrinks over time, damaging any player caught outside it (battle-royale ring style).
Files
ShrinkingZonePlugin.cs— BepInEx plugin entry point, hooks round start/end.ZoneController.cs— spawns the ring visual, shrinks it, and damages players outside it.ShrinkingZoneMod.csproj— build project; references the 4 game DLLs needed to compile.manifest.json— Thunderstore package manifest.
Requirements
- BepInEx (5.4.x) installed for ROUNDS
- UnboundLib — round lifecycle hooks
- (Optional) ModdingUtils — extra player/health helpers if you want cleaner damage calls
Tuning
All the knobs are public static fields at the top of ShrinkingZonePlugin:
StartRadius = 50f;
FinalRadius = 8f;
ShrinkStartDelay = 5f;
ShrinkDuration = 25f;
DamagePercentPerSecond = 0.10f; // 10% of the player's MAX health per second
DamageTickInterval = 0.5f;
Damage scales off each player's max health rather than a flat number, so the zone hurts proportionally regardless of health-boosting cards a player has picked up. At the defaults, a player fully outside the zone loses 5% of their max health every second (i.e. dies in ~20s of standing outside it).
Building
-
Open
ShrinkingZoneMod.csprojand edit the<GamePath>property near the top to point at your actual ROUNDS install folder, e.g.:<GamePath>C:\Program Files (x86)\Steam\steamapps\common\ROUNDS</GamePath>Everything else (Managed folder, plugins folder) is derived from this.
-
Double-check the reference filenames actually match what's on disk — open your
ROUNDS_Data\ManagedandBepInEx\pluginsfolders and confirm:Photon3Unity3D.dll,PhotonUnityNetworking.dll,PhotonRealtime.dll, andUnityEngine.CoreModule.dllexist with those exact names (Unity/Photon DLL naming varies a bit between versions — if a name doesn't match, update the<HintPath>in the.csprojaccordingly).- The
UnboundLibsubfolder name underBepInEx\plugins\matches what's in the.csproj(Willis81808-UnboundLibis a guess based on common naming — yours may differ, especially if you installed via a mod manager that names folders differently).
-
Build:
dotnet build -
Copy the resulting
ShrinkingZoneMod.dll(inbin/Debug/netstandard2.1/) intoROUNDS/BepInEx/plugins/.