English | 简体中文
A mod for Slay the Spire 2 that suggests the optimal path through the map and highlights it in gold/red on the map screen.
Supported game versions: v0.107.1
- Dual path suggestions: Shows two optimal routes - a safe path and an aggressive path
- Visual highlighting:
- Gold: Safe path (minimizes risk)
- Red: Aggressive path (prioritizes combat for rewards)
- Smart scoring: Different weights for safe vs aggressive playstyles
- Expert scoring: Optional adjacency bonuses that reward positional patterns (e.g., Rest before Elite)
- GUI Configuration: Full in-game configuration via ModConfig (optional)
- Manual Configuration: Direct JSON configuration for advanced users
Subscribe: Route Suggest
- Download the latest release from GitHub releases or Nexus mods
- Extract the mod files to your Slay the Spire 2 mods folder (
modsfolder should reside in the same folder as the game executable):- Windows:
C:\Program Files (x86)\Steam\steamapps\common\Slay the Spire 2\mods\ - macOS:
~/Library/Application\ Support/Steam/steamapps/common/Slay\ the\ Spire\ 2/SlayTheSpire2.app/Contents/MacOS/mods/ - Linux:
~/.steam/steam/steamapps/common/Slay\ the\ Spire\ 2/mods
- Windows:
- Launch Slay the Spire 2 - the mod will load automatically
- .NET 9.0 SDK or later
- Godot 4.5.1 with Mono support
- Slay the Spire 2 (for the sts2.dll reference)
# Clone the repository
git clone https://github.com/jiegec/STS2RouteSuggest
cd RouteSuggest
# Build the mod
./build.sh
# Install the mod
./install.shThe mod calculates two optimal paths using different scoring systems:
Minimizes encounters and prioritizes safety:
| Room Type | Score | Reason |
|---|---|---|
| Rest Site | +1 | Heal and upgrade cards |
| Treasure | +1 | Free relic |
| Shop | +1 | Buy cards, relics, and potions |
| Monster | -1 | Avoid combat |
| Elite | -3 | Avoid hard encounters |
| Boss | 0 | Final destination |
Prioritizes combat rewards and unknown encounters:
| Room Type | Score | Reason |
|---|---|---|
| Rest Site | +1 | Heal and upgrade cards |
| Treasure | +1 | Free relic |
| Shop | +1 | Buy cards, relics, and potions |
| Monster | +2 | Gold and card rewards |
| Elite | +3 | Relics and better rewards |
| Unknown | +2 | Potential for combat |
| Boss | 0 | Final destination |
When both paths share an edge, it appears in gold.
Each path can optionally enable Expert Mode to apply positional bonuses on top of base weights. Expert Mode is a global toggle that affects all paths. These reward specific node sequences:
| Pattern | Description | Default |
|---|---|---|
| Rest -> Elite | Rest site directly before an elite encounter | 0 |
| Elite -> Rest | Elite encounter directly before a rest site | 0 |
| Treasure -> Elite | Treasure room directly before an elite encounter | 0 |
| Rest -> Any -> Elite | Rest site two steps before an elite (one node in between) | 0 |
| Elite -> Any -> Rest | Elite encounter two steps before a rest site | 0 |
| 0 Shops to Boss | Route to Boss contains zero shops (excl. current point) | 0 |
| 1 Shop to Boss | Route to Boss contains exactly one shop (excl. current point) | 0 |
| 2 Shops to Boss | Route to Boss contains exactly two shops (excl. current point) | 0 |
All bonuses default to 0 (disabled). When Expert Mode is off, scoring is identical to before. The toggle and bonuses are configurable via ModConfig GUI or JSON.
RouteSuggest optionally integrates with ModConfig. When ModConfig is installed, RouteSuggest appears in the game's Settings > 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).
With ModConfig GUI, you can:
- General Settings:
- Highlight Type: Choose to highlight one optimal path or all paths with optimal score
- One: Pick one path to highlight from among optimal paths
- All: Highlight all paths tied for the best score
- Enable Expert Scoring: Global toggle to enable adjacency bonuses (affects all paths)
- Highlight Type: Choose to highlight one optimal path or all paths with optimal score
- Configure each path:
- Enabled: Toggle to enable/disable this path (disabled paths are not calculated or shown)
- Name: Identifier for the path
- Color: Enter hex color code (e.g.,
#FFD700for gold,#FF0000for red) - Priority: Slider to set rendering priority (higher = renders on top when paths overlap)
- Scoring Weights: Sliders for each room type
- Positive = prefer this room type
- Negative = avoid this room type
- Zero = neutral
- Expert Scoring: sliders for positional patterns (Rest -> Elite, etc.) and shop count bonuses
- Add New Path: Slider to add a new path (slide to 1)
- Remove Path: Each path has a slider to remove it (0=keep, 1=remove)
- Reset to Defaults: Slider to reset all paths to default configuration
- Changes are saved automatically to the config file location (see below for details)
Alternatively, you can customize the path types by manually editing RouteSuggestConfig.json:
- Existing users: If you already have a config file at
mods/RouteSuggestConfig.json, it will continue to be used (no migration needed) - 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 tomods/RouteSuggestConfig.json - 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.
{
"schema_version": 5,
"highlight_type": "One",
"expert_mode": false,
"path_configs": [
{
"name": "Safe",
"color": "#FFD700",
"priority": 100,
"enabled": true,
"rest_before_elite_bonus": 0,
"elite_before_rest_bonus": 0,
"treasure_before_elite_bonus": 0,
"rest_two_before_elite_bonus": 0,
"elite_two_before_rest_bonus": 0,
"zero_shops_bonus": 0,
"one_shop_bonus": 0,
"two_shops_bonus": 0,
"scoring_weights": {
"RestSite": 1,
"Treasure": 1,
"Shop": 1,
"Monster": -1,
"Elite": -2
}
},
{
"name": "Aggressive",
"color": "#FF0000",
"priority": 50,
"enabled": true,
"rest_before_elite_bonus": 0,
"elite_before_rest_bonus": 0,
"treasure_before_elite_bonus": 0,
"rest_two_before_elite_bonus": 0,
"elite_two_before_rest_bonus": 0,
"zero_shops_bonus": 0,
"one_shop_bonus": 0,
"two_shops_bonus": 0,
"scoring_weights": {
"RestSite": 1,
"Treasure": 1,
"Shop": 1,
"Monster": 1,
"Elite": 2,
"Unknown": 1
}
}
]
}- schema_version: Config file format version (5 is the current version)
- highlight_type: "One" (pick one optimal path) or "All" (highlight all paths with optimal score)
- expert_mode: Set to
trueto enable adjacency bonuses (affects all path configs) - name: Identifier for the path (e.g., "Safe", "Aggressive")
- enabled: Set to
falseto disable a path (disabled paths are not calculated or shown) - color: Hex color code (e.g.,
#FFD700for gold,#FF0000for red) - priority: Higher values render on top when paths overlap
- scoring_weights: Integer values for each room type (positive = preferred, negative = avoid)
- rest_before_elite_bonus: Bonus when Rest is directly followed by Elite
- elite_before_rest_bonus: Bonus when Elite is directly followed by Rest
- treasure_before_elite_bonus: Bonus when Treasure is directly followed by Elite
- rest_two_before_elite_bonus: Bonus when Rest is followed by Elite with one node in between
- elite_two_before_rest_bonus: Bonus when Elite is followed by Rest with one node in between
- zero_shops_bonus: Bonus when route to Boss has zero shops (excl. current point)
- one_shop_bonus: Bonus when route to Boss has exactly one shop (excl. current point)
- two_shops_bonus: Bonus when route to Boss has exactly two shops (excl. current point)
Available room types: RestSite, Treasure, Shop, Monster, Elite, Unknown, Boss
If the config file is missing or invalid, default path configs are used.
Users have shared their custom configurations on the Nexus Mods posts page. Check them out for inspiration or to find configs that match your playstyle.
- Improved detection of ModConfig
- Added RouteSuggestConfig.json path fallback when RouteSuggest.dll is missing
- Published on Steam Workshop
- Tested on game v0.107.1
- Fixed configuration not saved correctly bug, thanks CheezyBallz
- Added shop count bonuses to expert scoring mode (schema version 5)
- 3 new bonus sliders: 0 Shops to Boss, 1 Shop to Boss, 2 Shops to Boss
- Bonuses apply based on the number of shops on the route to Boss, excluding the current map point
- Available in both ModConfig GUI and JSON config
- All bonuses default to 0
- Tested on game beta v0.99.1 and v0.102.0
- Added expert scoring mode with adjacency bonuses (schema version 4)
- Global toggle to enable expert scoring (affects all paths)
- 5 adjacency bonus sliders: Rest->Elite, Elite->Rest, Treasure->Elite, Rest->Any->Elite, Elite->Any->Rest
- Sliders hidden when expert mode is disabled
- Available in both ModConfig GUI and JSON config
- All bonuses default to 0, no impact when expert mode is off
- 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
- Improved ModConfig UI: changed sliders to toggles for easier configuration
- Added enable/disable option for each path configuration
- Disabled paths are not calculated or shown on the map
- Available in both ModConfig GUI and JSON config
- Tested on game beta v0.100.0
- Set
affects_gameplayto false since this mod is visual-only and does not impact gameplay
- Improved config file path resolution
- Based on user feedback: when there are many mods in the folder, having the config file at the root level becomes messy
- If
mods/RouteSuggestConfig.jsonexists, continue using it (no migration needed) - Otherwise, find
RouteSuggest.dllrecursively and save config alongside it - Fallback to
mods/RouteSuggestConfig.jsonif DLL not found - Config is saved to the same location where it was read from (no automatic migration)
- Add HighlightType option to control how many paths to highlight
- One: Pick one path from among optimal paths
- All: Highlight all paths with the optimal best score
- Available in both ModConfig GUI and JSON config
- Added GUI Settings integration with ModConfig for in-game path configuration
- Configure name, color (hex input), priority, and scoring weights via GUI
- Add/remove custom path types
- Changes saved to JSON automatically
- Use slider instead of button for now
- I18n support for English and Simplified Chinese
- Tested on game beta v0.99.1
- Tuned the default weights for safe/aggressive paths
- Added configurable paths via
mods/RouteSuggestConfig.json - Path configs can be customized with custom colors, priorities, and scoring weights
- Falls back to defaults if config file is missing or invalid
- Fixed path highlighting when entering a new act
- Added dual path mode: safe path (gold) and aggressive path (red)
- Safe path minimizes combat encounters
- Aggressive path prioritizes Elite (+2), Monster (+1), and Unknown (+1) rooms
- Overlapping edges shown in gold
- Initial release
- Support for game versions v0.98.3 and v0.99
