R.E.P.O.
Install with App

Details

Latest version
1.4.5
Last Updated
First Uploaded
Downloads
9.2K
Likes
2
Size
33KB
Dependants

Changelog

1.4.5 candidate

  • Reduced idle truck UI polling to twice per second. Death recording, save loading, reset, synchronization, and RepoLevelMVP awards now advance a UI revision, so the compact panel does not walk the whole player list on every idle check.
  • Refreshed the shared award text after player names change so dynamic font atlas updates do not momentarily leave the MVP strip empty.
  • Kept the shared retained Canvas. The older 1.4.1 IMGUI path measured substantially slower in the isolated native truck benchmark.
  • Preserved the bug-report/request survey link in the English and Japanese descriptions.

1.4.4 candidate

  • Added an optional, assembly-independent results bridge for RepoLevelMVP. When that mod is installed, its last-level MVP and second award appear inside the existing compact truck scoreboard, rather than creating a second scoreboard Canvas.
  • Kept the awards strip to one extra text mesh, with its own layout space and safe handling of player names containing markup characters. Native 720p/1080p truck layouts were inspected with empty, 3-player, 12-player, and 32-player synthetic death lists.
  • Death counting, save behavior, and the BepInEx-only dependency are unchanged.

1.4.3

  • Replaced the per-player Unity UI graphics with a compact two-column text layout. Player names and death counts now use only two text meshes per column, while preserving self highlighting, totals, sorting, and automatic paging for large lobbies.
  • In an isolated copy of the full installed mod profile, the native 12-player truck overlay averaged about 135 FPS visible versus 144 FPS hidden at both 720p and 1080p. The 1.4.2 overlay had averaged 120 FPS visible versus 143 FPS hidden at 1080p. This reduces the overlay's measurable cost, though other mods can still affect frame rate.
  • Visually checked empty, 12-player (including a long name), and 32-player paged layouts in the native truck at 720p and 1080p. Death recording, per-save storage, and networking rules are unchanged.

1.4.2

  • Fixed severe slowdown in the pre-level truck. The scoreboard now uses a retained Unity UI canvas, updating only when deaths, names, display settings, resolution, or the visible page change instead of sorting and redrawing every label on every IMGUI layout/repaint event.
  • Moved the default scoreboard below the truck's cash HUD, and fixed the empty-state header layout. Checked the empty, 12-player, and 32-player paged views in the native game.
  • The scoreboard and synchronization runtime now survive REPO's initial scene switch even if its BepInEx manager is discarded during native startup.

1.4.1

  • Added large-lobby support with dynamically sized synchronization data instead of any six-player assumption. Large snapshots and per-player totals are preserved for every connected player.
  • Rebuilt the truck overlay as a compact scoreboard with a dark panel, alternating player rows, count badges, self highlighting, responsive multi-column layout, and automatic paging for lobbies too large to fit on one screen.
  • Fixed deaths never appearing: deaths are now recorded from the dying player's own PlayerDeath path and sent to the host using an owner-verified avatar ViewID. The authenticated PlayerDeathRPC path remains as a deduplicated host fallback, so one death is counted once.
  • Counts remain per save slot. Loading a save restores that save's own tally; a new save starts at zero. Only the Arena GAME OVER path clears the active save's tally—REPO's unrelated pre-load ResetProgress call cannot erase another save's data.
  • Shop deaths never count. The check now uses only REPO's current shop-level state and shop flag. It no longer mistakes the persistent ShopManager singleton for proof that the current level is a shop—a bug that could suppress every later normal death and leave the display stuck at zero.
  • Removed the per-player most-common-death-cause / "Nemesis" display and its unnecessary cause tracking. Existing save files remain readable; their old extra cause columns are simply ignored.
  • The package requires only BepInEx. The lobby host needs the mod for the shared tally; clients need it to see the overlay and get the new direct-report reliability path.

1.3.2

  • Fixed: death counts survived a save wipe / starting a fresh campaign in the same save slot. The reset logic only watched for the save FILE NAME changing, but a total-party-wipe (Arena failure) or starting a new campaign reuses the same save slot with fresh contents — so old counts silently carried over. Now hooks the game's own RunManager.ResetProgress (its single choke point for "this save's progress is now zero") directly, so death counts reset in lockstep with everything else the save wipes.
  • Fixed: some shop deaths still counted despite IgnoreShopDeaths. Shop detection relied solely on the current level being registered as a shop level, which doesn't always hold. Now also checks whether a ShopManager is actually active in the scene, independent of level registration.

1.3.1

  • Shop death exclusion: deaths that occur while in the shop no longer count (toggle via Counting / IgnoreShopDeaths, default on).
  • Improved death-cause detection: enemies that kill via impact or tumble (e.g. body-slam, dash) are now attributed correctly instead of always showing "Environment". Works in singleplayer and for all players in multiplayer. New cause categories: Fall (fell to death), Player (killed by another player's physics throw), and enemy name for impact kills.
  • Far fewer false "Environment" deaths:
    • Networked damage (explosions, mod abilities) is now tracked too, and traced back to the enemy that caused it.
    • The contact window was widened (3.5s -> 8s) so being grabbed/dragged before dying still counts as that enemy's kill.
    • New host-side fallback: if a death would still read "Environment", it's attributed to the nearest live enemy at the death spot - this also fixes causes for players running an older version of this mod. True environment deaths (pits, crushers) still show "Environment".

1.3.0

  • Nemesis tracking: each player's row now shows the enemy that has killed them the most (e.g. Player: 5 ☠ Huntsman). Non-enemy deaths (falls, etc.) count as "Environment". Toggle with Display / ShowNemesis. Causes are synced to all clients and saved per run like the counts.

1.2.0

  • Added a Total line at the bottom of the overlay, summing every player's deaths (toggle with Display / ShowTotal).
  • Your own row is now highlighted in a distinct color by default, so you can find your count at a glance (Display / HighlightSelf, color via Display / SelfColorHex, default gold).
  • README now includes a bug reports & feature requests section with a link to the shared feedback form.

1.1.0

  • The overlay is now customizable via config (BepInEx/config/matsu.repo.deathcounter.cfg, [Display]):
    • Corner — anchor the overlay to any screen corner (default top-right).
    • FontSize / TitleFontSize — text sizes.
    • TextColorHex / TitleColorHex — text colors as hex RGB.
    • SortMode — list order: fewest deaths on top (default), most on top, or by name (A–Z / Z–A).

1.0.2

  • Re-inspected and hardened the Photon integration for a stable public release.
  • Added defensive guards around the on-screen overlay and the per-frame update loop, so a reflection or state error can never spam the log or interfere with anything else.

1.0.1

  • Fixed a serious bug where the mod registered its Photon callbacks at plugin load (during the connection handshake). This could make the multiplayer lobby hang and the invite button fail to appear. Photon callbacks are now registered only while you are actually inside a room, and removed again on leaving — the connection handshake is never touched.

1.0.0

  • Initial release. Per-player death counter shown in the truck lobby. Host-authoritative, synced to all clients (including late joiners) via lightweight Photon events, and persisted per save slot (keyed by Steam ID) so counts survive across sessions.
Thunderstore development is made possible with ads. Please consider making an exception to your adblock.