Neow always gives blessings
NeowAlwaysRewards allows Neow's Blessing rewards to be displayed in Custom Mode and Daily Challenges, not just in Standard Mode. (Now supports multiplayer!)
Screenshots 6 screenshots
About this mod Machine translation
NeowAlwaysRewards allows Neow's Blessing rewards to be displayed in Custom Mode and Daily Challenges, not just in Standard Mode. (Now supports multiplayer!)
Neow always gives blessings
🎮 **Now supports multiplayer! **
NOTE: You can choose **Expert Mode** > **Crazy Mode** > **All-Star Mode** and still get Neow's blessing.
---
✨ Function introduction
In the original game, Neow's Blessing only appeared in Standard mode. The reason is most likely that challenge modifiers in custom games (such as **Deck Build**, **Sealed Deck**, **Expert Mode**, **Crazy Mode**, and **All-Star Mode**) are actually treated as a clickable blessing option at the start of the game.
With this mod, you will **first** be rewarded with whatever modifier you choose, and then Neow will give you his blessing as usual. Other mods designed to extend Neow's blessings will also appear normally.
Used with the following modules, the custom mode can have all the functions of the standard mode:
- Another mod of mine: CustomRunsUnlock
- The much loved UnifiedSavePath by luojies
**Supported Game Modes:**
- ✅Standard mode
- ✅Daily challenges
- ✅ Custom mode without additional Newow options
- ✅ Custom mode with any number of additional Neow options
- ✅ Multiplayer mode (tested in a team of 2)
---
🛠️ How it works
This mod replaces the `OnModifierOptionsSelected` method in the Neow class with Harmony Prefix. I chose this method because few mods modify it.
I added a low priority Harmony Postfix to the `GenerateInitialOption` method to ensure it runs last. What it does is temporarily clear the modifier and then call the original `GenerateInitialOptions` method so that Neow's rewards will be displayed. Once completed, the modifier will be restored. I added a guard mechanism to prevent `GenerateInitialOptions` from being called repeatedly to avoid infinite recursion. The specific process is as follows:
- Retain the original modifier-option process order.
- Detect when the last modifier option has been processed.
- Temporarily replace `RunState.Modifiers` with an empty `IReadOnlyList`.
- Call the original `GenerateInitialOptions()` method.
- Restore original modifier list.
This will allow the game to use current vanilla logic (or any postfix added by other mods) to generate normal Neow rewards.
---
🤔 Why use this method?
This approach is more robust than manually copying and editing the complete `GenerateInitialOptions()` bonus branch.
**advantage:**
- 🛡️ **More Stable**: Less prone to errors when the game is updated.
- 🔄 **Complete process**: Retains the process of all custom mode modifiers.
- 🤝 **Good compatibility**: Better compatible with other modules that postfix the `GenerateInitialOptions()` method.
---
🔗 Compatibility
This mod aims to maintain relatively good compatibility with other mods that modify Neow rewards, especially those that postfix the `GenerateInitialOptions()` method, for example:
- Mods that add more rewards to the reward pool.
- Mod that adds a fourth option.
- Mod that modifies the final returned options list.
If you also use Harmony low priority, patch order may still have an impact when multiple mods postfix the same method.
---
📁 File description
- `Main.cs` — Module entry point and Harmony settings.
- `NeowPatch.cs` — Neow process patch and auxiliary logic.
- `CHANGELOG.md` — Release notes/development history.
---
📥 Installation method
Place the module files in the following directory:
```
Slay the Spire 2/
mods/
NeowAlwaysRewards/
NeowAlwaysRewards.dll
NeowAlwaysRewards.pck
NeowAlwaysRewardsjson
```
---
🐛 Question feedback
You can submit compatibility issues related to this mod or your own mods in my GitHub repository:
---
🚀 Future plans
- Monitor patch order interactions with other Neow modules.
- Add explicit Harmony sorting if needed.
- Clean up remaining debug logs.
---
🙏 Acknowledgments
Thanks **Alchyr**. I used their guides and templates to set up my JellyBeans Rider …
Install & use Install: follow the bundled instructions
- Unzip the archive from playbuff and read the bundled readme / instructions first.
- There is no universal mod manager for this game: some mods replace game files directly, some go into a game-specific Mods folder, and some need a game-specific community loader or tool first — follow the bundled readme.
- Place the files exactly as the readme says; mods with listed dependencies need those installed too.
- Launch the game to confirm it loaded; some games require enabling mods in settings or an in-game mod menu.
Install locations vary a lot between games and mods — the bundled readme is the most reliable guide.