{"id":47256592,"url":"https://github.com/jiegec/sts2routesuggest","last_synced_at":"2026-04-01T18:25:48.189Z","repository":{"id":344156068,"uuid":"1180539503","full_name":"jiegec/STS2RouteSuggest","owner":"jiegec","description":"Route suggest mod for Slay the Spire 2","archived":false,"fork":false,"pushed_at":"2026-03-15T16:31:58.000Z","size":3676,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-03-16T05:30:45.921Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jiegec.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-13T06:24:32.000Z","updated_at":"2026-03-16T02:51:13.000Z","dependencies_parsed_at":"2026-03-15T19:01:02.719Z","dependency_job_id":null,"html_url":"https://github.com/jiegec/STS2RouteSuggest","commit_stats":null,"previous_names":["jiegec/sts2routesuggest"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/jiegec/STS2RouteSuggest","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jiegec%2FSTS2RouteSuggest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jiegec%2FSTS2RouteSuggest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jiegec%2FSTS2RouteSuggest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jiegec%2FSTS2RouteSuggest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jiegec","download_url":"https://codeload.github.com/jiegec/STS2RouteSuggest/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jiegec%2FSTS2RouteSuggest/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30631420,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-17T17:32:55.572Z","status":"ssl_error","status_checked_at":"2026-03-17T17:32:38.732Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-03-14T18:27:16.596Z","updated_at":"2026-04-01T18:25:48.176Z","avatar_url":"https://github.com/jiegec.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RouteSuggest - Slay the Spire 2 Mod\n\n![](screenshot.png)\n\nA mod for Slay the Spire 2 that suggests the optimal path through the map and highlights it in gold/red on the map screen.\n\n**Supported game versions:** v0.99.1 and v0.101.0 (public beta)\n\n## Features\n\n- **Dual path suggestions**: Shows two optimal routes - a safe path and an aggressive path\n- **Visual highlighting**:\n  - **Gold**: Safe path (minimizes risk)\n  - **Red**: Aggressive path (prioritizes combat for rewards)\n- **Smart scoring**: Different weights for safe vs aggressive playstyles\n- **GUI Configuration**: Full in-game configuration via [ModConfig](https://github.com/xhyrzldf/ModConfig-STS2) (optional)\n- **Manual Configuration**: Direct JSON configuration for advanced users\n\n## Installation\n\n1. Download the latest release from [GitHub releases](https://github.com/jiegec/STS2RouteSuggest/releases) or [Nexus mods](https://www.nexusmods.com/slaythespire2/mods/54)\n2. Extract the mod files to your Slay the Spire 2 mods folder (`mods` folder should reside in the same folder as the game executable):\n   - **Windows**: `C:\\Program Files (x86)\\Steam\\steamapps\\common\\Slay the Spire 2\\mods\\`\n   - **macOS**: `~/Library/Application\\ Support/Steam/steamapps/common/Slay\\ the\\ Spire\\ 2/SlayTheSpire2.app/Contents/MacOS/mods/`\n   - **Linux**: `~/.steam/steam/steamapps/common/Slay\\ the\\ Spire\\ 2/mods`\n3. Launch Slay the Spire 2 - the mod will load automatically\n\n## Building from Source\n\n### Prerequisites\n\n- .NET 9.0 SDK or later\n- Godot 4.5.1 with Mono support\n- Slay the Spire 2 (for the sts2.dll reference)\n\n### Build Steps\n\n```bash\n# Clone the repository\ngit clone https://github.com/jiegec/STS2RouteSuggest\ncd RouteSuggest\n\n# Build the mod\n./build.sh\n\n# Install the mod\n./install.sh\n```\n\n## How It Works\n\nThe mod calculates two optimal paths using different scoring systems:\n\n### Safe Path (Gold)\n\nMinimizes encounters and prioritizes safety:\n\n| Room Type     | Score | Reason                         |\n|---------------|-------|--------------------------------|\n| **Rest Site** | +1    | Heal and upgrade cards         |\n| **Treasure**  | +1    | Free relic                     |\n| **Shop**      | +1    | Buy cards, relics, and potions |\n| **Monster**   | -1    | Avoid combat                   |\n| **Elite**     | -3    | Avoid hard encounters          |\n| **Boss**      | 0     | Final destination              |\n\n### Aggressive Path (Red)\n\nPrioritizes combat rewards and unknown encounters:\n\n| Room Type     | Score | Reason                         |\n|---------------|-------|--------------------------------|\n| **Rest Site** | +1    | Heal and upgrade cards         |\n| **Treasure**  | +1    | Free relic                     |\n| **Shop**      | +1    | Buy cards, relics, and potions |\n| **Monster**   | +2    | Gold and card rewards          |\n| **Elite**     | +3    | Relics and better rewards      |\n| **Unknown**   | +2    | Potential for combat           |\n| **Boss**      | 0     | Final destination              |\n\nWhen both paths share an edge, it appears in gold.\n\n## Configuration\n\n### GUI Settings (Recommended)\n\nRouteSuggest optionally integrates with [**ModConfig**](https://github.com/xhyrzldf/ModConfig-STS2). When ModConfig is installed, RouteSuggest appears in the game's **Settings \u003e Mods** menu. If ModConfig is not installed, the mod still works normally, but you'll need to edit the JSON configuration file manually (see below).\n\nWith ModConfig GUI, you can:\n\n- **General Settings**:\n  - **Highlight Type**: Choose to highlight one optimal path or all paths with optimal score\n    - **One**: Pick one path from among optimal paths\n    - **All**: Highlight all paths tied for the best score\n- **Configure each path**:\n  - **Enabled**: Toggle to enable/disable this path (disabled paths are not calculated or shown)\n  - **Name**: Identifier for the path\n  - **Color**: Enter hex color code (e.g., `#FFD700` for gold, `#FF0000` for red)\n  - **Priority**: Slider to set rendering priority (higher = renders on top when paths overlap)\n  - **Scoring Weights**: Sliders for each room type\n    - Positive = prefer this room type\n    - Negative = avoid this room type\n    - Zero = neutral\n- **Add New Path**: Slider to add a new path (slide to 1)\n- **Remove Path**: Each path has a slider to remove it (0=keep, 1=remove)\n- **Reset to Defaults**: Slider to reset all paths to default configuration\n- **Changes are saved automatically** to the config file location (see below for details)\n\n### Manual JSON Configuration\n\nAlternatively, you can customize the path types by manually editing `RouteSuggestConfig.json`:\n\n- **Existing users**: If you already have a config file at `mods/RouteSuggestConfig.json`, it will continue to be used (no migration needed)\n- **New users**: The config will be saved alongside `RouteSuggest.dll` (found recursively in the mods folder). If the DLL cannot be found, it falls back to `mods/RouteSuggestConfig.json`\n- **Note**: Config is saved to the same location where it was read from. The mod will not automatically migrate the config file to a different location.\n\n```json\n{\n  \"schema_version\": 3,\n  \"highlight_type\": \"One\",\n  \"path_configs\": [\n    {\n      \"name\": \"Safe\",\n      \"color\": \"#FFD700\",\n      \"priority\": 100,\n      \"enabled\": true,\n      \"scoring_weights\": {\n        \"RestSite\": 1,\n        \"Treasure\": 1,\n        \"Shop\": 1,\n        \"Monster\": -1,\n        \"Elite\": -2\n      }\n    },\n    {\n      \"name\": \"Aggressive\",\n      \"color\": \"#FF0000\",\n      \"priority\": 50,\n      \"enabled\": true,\n      \"scoring_weights\": {\n        \"RestSite\": 1,\n        \"Treasure\": 1,\n        \"Shop\": 1,\n        \"Monster\": 1,\n        \"Elite\": 2,\n        \"Unknown\": 1\n      }\n    }\n  ]\n}\n```\n\n- **schema_version**: Config file format version (3 is the current version)\n- **highlight_type**: \"One\" (pick one optimal path) or \"All\" (highlight all paths with optimal score)\n- **name**: Identifier for the path (e.g., \"Safe\", \"Aggressive\")\n- **enabled**: Set to `false` to disable a path (disabled paths are not calculated or shown)\n- **color**: Hex color code (e.g., `#FFD700` for gold, `#FF0000` for red)\n- **priority**: Higher values render on top when paths overlap\n- **scoring_weights**: Integer values for each room type (positive = preferred, negative = avoid)\n\nAvailable room types: `RestSite`, `Treasure`, `Shop`, `Monster`, `Elite`, `Unknown`, `Boss`\n\nIf the config file is missing or invalid, default path configs are used.\n\n### Community Configurations\n\nUsers have shared their custom configurations on the [Nexus Mods posts page](https://www.nexusmods.com/slaythespire2/mods/54?tab=posts). Check them out for inspiration or to find configs that match your playstyle.\n\n## Changelog\n\n### Unreleased\n\n- Tested on game beta v0.101.0\n- Now the mod integrates with newly added Button/ColorPicker controls introduced in ModConfig v0.2.1, and it will use them if available, and fallback for older ModConfig versions\n\n### v1.8.0\n\n- Improved ModConfig UI: changed sliders to toggles for easier configuration\n- Added enable/disable option for each path configuration\n  - Disabled paths are not calculated or shown on the map\n  - Available in both ModConfig GUI and JSON config\n- Tested on game beta v0.100.0\n\n### v1.7.0\n\n- Set `affects_gameplay` to false since this mod is visual-only and does not impact gameplay\n\n### v1.6.0\n\n- Improved config file path resolution\n  - Based on user feedback: when there are many mods in the folder, having the config file at the root level becomes messy\n  - If `mods/RouteSuggestConfig.json` exists, continue using it (no migration needed)\n  - Otherwise, find `RouteSuggest.dll` recursively and save config alongside it\n  - Fallback to `mods/RouteSuggestConfig.json` if DLL not found\n  - Config is saved to the same location where it was read from (no automatic migration)\n\n### v1.5.0\n\n- Add HighlightType option to control how many paths to highlight\n  - **One**: Pick one path from among optimal paths\n  - **All**: Highlight all paths with the optimal best score\n  - Available in both ModConfig GUI and JSON config\n\n### v1.4.0\n\n- Added GUI Settings integration with ModConfig for in-game path configuration\n  - Configure name, color (hex input), priority, and scoring weights via GUI\n  - Add/remove custom path types\n  - Changes saved to JSON automatically\n  - Use slider instead of button for now\n  - I18n support for English and Simplified Chinese\n- Tested on game beta v0.99.1\n\n### v1.3.0\n\n- Tuned the default weights for safe/aggressive paths\n- Added configurable paths via `mods/RouteSuggestConfig.json`\n- Path configs can be customized with custom colors, priorities, and scoring weights\n- Falls back to defaults if config file is missing or invalid\n\n### v1.2.0\n\n- Fixed path highlighting when entering a new act\n\n### v1.1.0\n\n- Added dual path mode: safe path (gold) and aggressive path (red)\n- Safe path minimizes combat encounters\n- Aggressive path prioritizes Elite (+2), Monster (+1), and Unknown (+1) rooms\n- Overlapping edges shown in gold\n\n### v1.0.0\n\n- Initial release\n- Support for game versions v0.98.3 and v0.99\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjiegec%2Fsts2routesuggest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjiegec%2Fsts2routesuggest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjiegec%2Fsts2routesuggest/lists"}