matsu-Emergency_Dice_REPOED_Fixed icon

Emergency Dice REPOED Fixed

A patch for Emergency Dice REPOED: fixes dice rolling (throw & E-key) and restores in-game chat messages showing which effect triggered, both broken in current R.E.P.O.

By matsu

CHANGELOG

Changelog

1.0.2 (2026-07-13)

Fixed

  • The roller speaking in chat actually works now. 1.0.1's fix called the dice-roll RPC directly, which turned out to be fragile. Digging into the current game's chat code found the real issue: REPO's chat isn't a text bubble anymore — typing a message calls PlayerAvatar.ChatMessageSend, which always ends at a text-to-speech voice line (works great with a TTS voice pack installed). The dice mod's own chat call wasn't going through that same path, so it silently did nothing on some setups. Now it calls the exact same method vanilla typing uses, so the roller's character speaks the result the same way it would if they'd typed it themselves — in both singleplayer and multiplayer.
  • Every step of the chat logic now logs a warning if something's missing, instead of failing silently.

1.0.1 (2026-07-10)

Fixed

  • Singleplayer effects that did nothing (UI popups, scaling, revives...) now work. Many effects call Photon RPCs first, which throw outside a room — the effect died before doing anything. A scoped singleplayer RPC emulator now runs those calls locally with correct PUN semantics (Others = no-op, All/MasterClient = run once locally). Multiplayer is untouched.
  • Rainbow die reroll never fired in multiplayer — the original compared against a brand-new object (== new InstantReroll()), which is always false. Now a proper type check.
  • Crash on a rolled 6 with the rainbow reroll — the reroll looked up face 7, which doesn't exist. Clamped to 6.
  • Double chat messages in multiplayer — the original's own chat call and this patch's chat line no longer both fire.

Changed

  • The roller now speaks the result — the chat line comes from the player who rolled the die (their own networked chat), not the host. Falls back to a host [Dice] line if needed.
  • Chat respects SpoilerMode: ON shows the effect name, OFF shows the effect tooltip (same rule as the original mod's log).

1.0.0 (2026-07-09)

Fixed

  • Dice rolling broken in current R.E.P.O. — FixedUpdate now uses RunManager.levelIsShop (bool) instead of the old RunManager.levelShop (Level) field whose type changed to List<Level>.
  • Throwing the dice and pressing E key now correctly trigger a roll.
  • All per-frame reflection lookups cached at startup to eliminate frame-rate impact.

Added

  • In-game chat message displayed whenever a dice effect triggers: [Dice] <EffectName>. Replaces the broken ChatMessageSendRPC that no longer exists in the current R.E.P.O. ChatManager.