RunSaves
Save a run and keep playing it across sessions: autosave every wave plus Save Run in the pause menu, resume from the lobby after quitting, a crash or a restart. Solo and multiplayer.
| Date uploaded | a day ago |
| Version | 1.1.0 |
| Download link | girthy_mods-RunSaves-1.1.0.zip |
| Downloads | 10 |
| Dependency string | girthy_mods-RunSaves-1.1.0 |
This mod requires the following mods to function
BepInEx-BepInExPack_IL2CPP
BepInEx pack for IL2CPP x64 Unity games. Preconfigured and ready to use.
Preferred version: 6.0.788README
RunSaves
Save a run and pick it up later: after quitting, a crash, or restarting the game. Works solo and in multiplayer.
Saving (host)
- Save Run in the pause menu.
- Autosave at the start of every wave, in every run, including restored ones, so a crash costs at most one wave. If a level-up shop is open, it waits until everyone has picked. The previous save is kept as a backup.
- A restored run keeps saving like any other, so you can play a run across as many sessions as you like.
- Saves are never deleted automatically, not even after a win or a loss. Only the Delete button in the lobby removes one.
- Optional save key (off by default, see config).
A save holds:
- the world, loop and wave;
- the party level and XP;
- revives;
- every player's spells and upgrades: stat upgrades, spell upgrades, infusions, spell variants, artifacts and final upgrades.
Restoring (host)
- In the lobby, a Saved Run panel on the right shows the world, wave, level and players. Press Resume.
- Everyone rejoins and picks the same wizards as before.
- Start a run in the same world.
The run jumps to the start of the saved wave. Each player's spells are re-equipped, then every upgrade is replayed through the game's own upgrade system, so builds come back exactly as they were. The party level, XP and revives are set last. It takes a few seconds at the start of the run.
Players are matched by their Steam/Epic account. Someone on a different account gets the build saved for the same wizard.
What isn't saved
- The moment itself. Enemies on screen, an objective halfway done and orbs on the ground aren't saved. The saved wave starts fresh.
- Health (everyone starts full), and gold picked up during the run.
- Curses and starting stats. These aren't saved because the game applies them again when the run starts, so pick the same difficulty.
Multiplayer
Everyone needs the mod. A player's equipped spells can only be changed by their own game, so the host asks each player's game to re-equip them. If someone doesn't have the mod, their stats and artifacts still come back but their extra spells (and those spells' upgrades) don't.
Config
| Section | Setting | Default | What it does |
|---|---|---|---|
| General | Enabled | true | Turn saving and restoring on or off. |
| Saving | AutosaveEachWave | true | Save when each new wave starts. |
| Saving | ShowAutosaveMessage | true | Show a short message on autosave. |
| Saving | PauseMenuButton | true | Add Save Run to the pause menu. |
| Saving | SaveKey | (empty) | Optional key to save, e.g. F5. |
| Restoring | LobbyPrompt | true | Show the saved run in the lobby. |
| Restoring | LobbyPanelSide | Right | Which side of the lobby the panel sits on (Right / Left). |
The save is stored in BepInEx/config/RunSaves/save.json, and the one before it is kept as save.prev.json.
Works with MoreWizards, StarterSpells, TripleInfusion, ReviveRegen and BetterNetcode.
CHANGELOG
1.4.0
- Drop-in joining (experimental). Friends can join a run that's already going, from a Steam invite or "Join game", without waiting for the next run. Their game loads the realm and gets caught up on everyone else (who they are, their upgrades, the party level), then their wizard appears next to the others.
- A new player then gets catch-up picks in the paused catch-up session (spells, artifacts, upgrades).
- Someone who was in this run before (crashed or left) gets their old build back instead.
- The lobby stays joinable during the run and isn't shown as "game in progress". It still isn't listed for matchmaking. The player cap (MoreWizards'
MaxPlayers, or 4) still applies. - Everyone needs RunSaves 1.4.0. New setting
[Drop-in] Enabled(on).
1.3.4
- Everyone uses the host's settings. While you're in someone's game, this mod reads the host's config instead of yours, from the lobby on. Your own messages, the save button and key, and the lobby panel stay yours. Your config file isn't changed, and your own values are back when you leave. If the host doesn't have the mod, it stays off for you in that game.
1.3.3
- The game pauses during catch-up. When a new player joins a restored run, everyone's game stays paused while they pick all their catch-up shops (spells, artifacts, upgrades), then resumes by itself. Before, the game ran between shops.
- Catch-up spell shops are back with MoreSpellSlots installed too, so all of a new player's picks happen in that one paused session.
1.3.2
- Fixed the check that keeps RunSaves' catch-up shops from overlapping with MoreSpellSlots' owed-spell shops.
1.3.1
- With MoreSpellSlots installed, catch-up spells come from its owed-spell shops instead of RunSaves', so nobody gets spells twice. Only one player-only shop opens at a time.
1.3.0
- Run setup is saved. Saves now store the threat level (difficulty), Harmony (peaceful mode), Eternity (endless mode) and single-spell mode along with the realm. Pressing Resume in the lobby sets all of them for you, and the saved-run panel shows the difficulty.
- Catch-up picks for new players. Someone who joins a restored run without a build in the save gets shops that only they pick from, until they match the party:
- spell shops until they have as many spells as the others,
- artifact shops (about as many as the others have),
- up to 15 upgrade picks, where each pick counts as several level-ups so the total matches the levels they missed.
Everyone else's shop shows "waiting for other players" while this happens. There's no countdown or kick during catch-up shops. Settings are in
[Catch-up].
Changelog
1.2.2
- Fix: once hidden, the lobby's saved-run panel couldn't be brought back. Hide now folds it into a small "Saved Run" tab on the same side; click it (or press F10, setting
PanelKey) to open it again.
1.2.1
- Saves are written to disk in the background, so the game never waits for the disk while saving.
1.2.0
- Artifact stacks are saved and restored: artifacts that grow during a run (per revive, per objective, per health pickup, per infusion, per common upgrade) keep their stacks. Revives performed are kept too.
- Saves when the host quits the run from the pause menu, and quietly every 60 seconds (
AutosaveIntervalSeconds), so quitting mid-wave keeps the upgrades and levels from that wave. A restore still starts at the beginning of the saved wave. - Fix: Save Run was missing from the pause menu in every run after the first one in a session, including resumed runs.
1.1.1
- Fix: Save Run was missing from the pause menu in every run after the first one in a session (including resumed runs). The button belonged to the previous run's menu, which the game destroys. It's now added to each new pause menu.
1.1.0
- Autosave always runs, at the start of every wave in every run, including restored ones. It no longer turns itself off when an older save exists. The previous save is kept as
save.prev.json. - Saves are no longer deleted automatically when a run is won or lost. Only the lobby's Delete button removes one, so after a loss you can resume from the last autosave and try again. The
ClearSaveWhenRunEndssetting is gone. - Messages are smaller and sit in the top-right corner.
1.0.2
- The lobby's saved-run panel now sits on the right side with stacked buttons, out of the way of the mission bar. New setting
LobbyPanelSide(Right / Left).
1.0.1
- Fix: the mod didn't load ("Error loading [RunSaves]"), so there was no Save Run button and no lobby panel. It hooked a RunManager method the game doesn't have.
1.0.0
- First release: save a run from the pause menu or by autosave each wave, then resume it from the lobby. Restores the world, wave, party level and XP, revives, and every player's spells and upgrades.