Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Hermit's Mod Doctor

A code-only, non-gameplay diagnostic mod for Slay the Spire 2. Press F8 at any time, or run moddoctor in the developer console.

Included in v0.2.0

  • Reworked issue presentation: every recognized problem is shown as what was detected → why it happens → possible impact → recommended fix → technical evidence.
  • Missing required dependencies are no longer treated as minor warnings:
    • a loaded mod with a missing/unloaded/incompatible prerequisite is Critical;
    • an installed but currently unloaded mod with a broken prerequisite is Error.
  • Replaced the raw Harmony text wall with a selectable table:
    • friendly game-behavior names instead of full CLR signatures;
    • low-risk shared targets hidden by default;
    • plain-language risk, impact, and recommendation details;
    • raw method and patch names available through an explicit technical-details toggle.
  • Added resource-based i18n with automatic game-locale detection plus manual Automatic / English / 简体中文 selection.
  • Markdown, JSON, plain-text reports, recovery notes, console messages, and recognized log descriptions follow the selected language.
  • Added direct Tools-page actions:
    • export a report;
    • generate recovery files;
    • restart with --nomods after confirmation;
    • start the dependency-aware local-mod bisection assistant after confirmation;
    • open reports/tools folders;
    • clear old crash markers.
  • Toolbar actions now show immediate success/failure feedback.
  • Existing scanners remain included: manifests, dependencies, game minimum versions, duplicate IDs, duplicate DLL names/hashes, Harmony risk combinations, recent logs, live errors, crash markers, and likely log suspects.
  • Optional ModConfig integration through reflection. ModConfig and BaseLib are not required.

Installation

Extract the release so the game directory contains:

Slay the Spire 2/mods/HermitsModDoctor/
├── HermitsModDoctor.dll
└── HermitsModDoctor.json

No PCK is required.

Build

  1. Install the .NET 9 SDK and the Godot .NET SDK used by the current STS2 mod template.
  2. Copy local.props.template to local.props.
  3. Set Sts2Dir to the game installation.
  4. Build:
dotnet build -c Release

The project copies the DLL and manifest into mods/HermitsModDoctor/ after a successful build.

Interface language

Open Settings → Interface and report language and select:

  • Automatic: follows the game locale;
  • English;
  • 简体中文.

Localization files are embedded from Localization/en.json and Localization/zh-CN.json.

Commands

moddoctor open
moddoctor scan
moddoctor export
moddoctor tools
moddoctor clear

Recovery actions

The Tools tab can execute supported actions directly. Restart and bisection actions show a confirmation dialog because they close the current game process.

Generated files are stored under the game's user-data directory:

HermitsModDoctor/tools/
  • Start-STS2-NoMods.ps1 waits for the current process to exit, then starts the game with --nomods.
  • ModDoctor.Bisect.ps1 moves local mod folders between mods and mods.__moddoctor_disabled while preserving declared dependency closure.
  • Steam Workshop subscriptions are never moved by the bisection helper.

Important limitations

  • Harmony collision scoring is diagnostic. Multiple ordinary Prefix/Postfix patches are common and are hidden as low-risk information by default.
  • Log attribution is heuristic. A high score is evidence to test, not proof of fault.
  • A failure that happens before Mod Doctor initializes cannot be intercepted live, but the next successful launch can analyze the previous log.
  • Removing a content mod from an important in-progress run can invalidate the run. Back up saves first.
  • Direct restart and bisection actions are currently Windows-only.

Verified build

v0.2.0 was compiled against the user-supplied current sts2.dll and 0Harmony.dll using .NET 9 and Godot.NET.Sdk 4.5.1. The release build completed with 0 warnings and 0 errors. Localization resources, dependency severity, friendly Harmony target formatting, readable report structure, embedded recovery scripts, direct restart waiting, and PowerShell syntax were covered by smoke tests. See VALIDATION.md.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages