UndoEverywhere
Adds Restart Ring to the pause menu outside combat, undoing shop purchases, event choices and path picks back to the end of your last battle. Battles you already won stay won.
| Last updated | an hour ago |
| Total downloads | 1 |
| Total rating | 0 |
| Categories | |
| Dependency string | SpecialCircumstances-UndoEverywhere-0.1.0 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2100MT2-Trainworks_Reloaded
A Data Loader and Injection Engine for Monster Train 2
Preferred version: 0.7.2Conductor-Conductor
Central library of reusable custom effects, status effects, and keywords to make modding Monster Train 2 safer and easier, used as a dependency for other mods.
Preferred version: 0.4.1README
UndoEverywhere
A Monster Train 2 mod that adds a way to undo out-of-combat mistakes -- shop purchases, event choices, path picks -- that the game otherwise has no undo for outside of battle.
The pause menu's Restart Battle button now also works on the map, where it relabels itself to Restart Ring. Picking it rewinds the run to the moment the last battle ended -- or to the start of the run, if you haven't fought one yet -- and reloads from there. Any battles you've already won stay won; only the shop purchases, event choices and path picks made since are undone.
Under the hood the mod snapshots your save file at each of those boundaries
(a .stagestart file next to the real save) and restores it through the
game's own continue-run path, so gold, relics, deck and map position all come
back exactly as the game itself would load them.
Configuration
None -- the mod has no config file. It's on whenever the plugin is loaded.
Install
Use a mod manager (r2modman / Thunderstore Mod Manager) and install
SpecialCircumstances-UndoEverywhere. Dependencies are pulled in
automatically:
- BepInEx 5.4.2100
- Trainworks Reloaded 0.7.2
- Conductor 0.4.1
Manual install: drop UndoEverywhere.dll into BepInEx/plugins/.
Known limitations
- Snapshots survive quitting and relaunching, but only exist once the mod has seen a run start or a battle end. Installing the mod part-way through a ring leaves the button hidden until your next battle finishes.
- The button stays hidden during battle intros and at the game-over screen -- a lost run can't be rewound.
- Rewinding is all-or-nothing back to the last battle. There's no step-by-step undo of a single shop purchase.
- No confirmation-text customization yet -- it reuses the game's own restart confirmation dialog as-is.
- Snapshot files are never cleaned up. They're tiny (one JSON per save slot, overwritten in place), just not tidied away when a run ends.
Build
dotnet build
The output DLL is copied to ../../mt2-plugins/UndoEverywhere after every
build (PluginDeployDir in UndoEverywhere.csproj) --
point that at your BepInEx/plugins folder to test in-game directly.
Harmony patches live in UndoEverywhere/patches/: RestartStagePatches.cs wires the pause-menu button up outside of combat and performs the restart, and StageStartMarker.cs captures the snapshots it restores back to.
Publishing to Thunderstore is driven by thunderstore.toml
via tcli; the GitHub workflows in .github/workflows/ build and validate the package.
License
See LICENSE.