Hades II Randomizer Crash Fix
Replacement fork of Dannyj1's Hades II Randomizer 1.6.0. Fixes missing enemy-data crashes during stat scaling while keeping the original randomizer features. Disable the original before use.
By aiespion
| Last updated | a day ago |
| Total downloads | 10 |
| Total rating | 0 |
| Categories | Mods Gameplay AI Generated |
| Dependency string | aiespion-Hades_II_Randomizer_Crash_Fix-1.0.0 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
SGG_Modding-DemonDaemon
Adapter to allow mods to be designed for both ReturnOfModding and ModImporter
Preferred version: 1.1.0SGG_Modding-ModUtil
Utility mod for mod interactions within lua for SGG's games
Preferred version: 4.0.1README
Hades II Randomizer — Crash Fix
Keep the chaos. Fix the missing-data crashes.
A focused replacement fork of Dannyj1's Hades II Randomizer 1.6.0, with three defensive checks in enemy stat scaling. It addresses the GeneratorData nil-value crash that can interrupt room transitions, including later in a run.
All original randomizer features are included. Enemies, elite enemies, minibosses, boon offerings, and elemental traits can be shuffled; optional settings also randomize your starting keepsake, weapon/aspect, and Arcana cards.
What this fixes
- Late-game crash: skips difficulty scaling when an enemy has no
GeneratorData, instead of attempting to read a field from nil. - Early-game miniboss crash: applies the same missing-data check to miniboss scaling.
- Missing-health crash: checks that
MaxHealthexists before using it in the late-game armor condition.
The existing scaling rules and randomization logic are otherwise preserved.
Install
- Back up your Hades II saves before changing gameplay mods.
- Disable or uninstall
Dannyj1-Hades_II_Randomizer. This package replaces it; do not enable both. They register the same randomizer and wrap the same game functions. - Install this package through Thunderstore Mod Manager or r2modman. Allow its required dependencies to install.
- Launch the game with mods enabled and start a new run.
If you previously customized the original mod, reapply those settings to this fork's configuration. The mod manager's Config Editor is recommended. The configuration file is under your profile's ReturnOfModding/config folder and uses this package's team and package name.
For manual installation, place the contents of this archive's plugins folder in a dedicated folder under ReturnOfModding/plugins, with the required dependencies installed.
Configuration
| Setting | Default | Effect |
|---|---|---|
Enabled |
true |
Enables the randomizer |
RandomizeEnemies |
true |
Shuffles enemies, elites, and minibosses |
RandomizeBoonOfferings |
true |
Shuffles god boon offerings |
RandomizeElementalTraits |
true |
Shuffles elemental traits |
ScaleStats |
true |
Adjusts enemy stats by run progress |
RandomizeKeepsake |
false |
Randomizes the starting keepsake |
RandomizeWeapon |
false |
Randomizes the starting weapon and aspect |
RandomizeArcanaCards |
false |
Randomizes equipped Arcana cards |
ArcanaCardEquipChance |
50 |
Equip chance for randomized Arcana cards |
Testing and limits
The original script's missing-data failures were reproduced in an isolated process using Hades II's installed Lua 5.2 runtime. The repair passed those regression cases, normal scaling and restoration across 12 room transitions, ignored-enemy checks, and a disabled-mod check. Packaged Lua files were also checked for syntax errors.
Full gameplay and compatibility with every mod combination have not been verified. This is a targeted repair to version 1.6.0, not a general update of the entire randomizer. It does not fix unrelated model, animation, font, or audio warnings from other mods.
The original mod's limitations still apply: a fresh save's first run is not randomized, pre-placed satyrs in Chronos' room are not randomized, and loading an existing run after restarting the game does not restore the original mod's randomization state. Start a new run to use the randomizer reliably.
Credits, source, and license
Original randomizer: Danny Jelsma / Dannyj1, copyright 2024. Upstream source.
This is an unofficial fork, not an official release by Dannyj1 or Supergiant Games. The upstream Lua sources and loader entry point are included, with the stat-scaling changes identified in plugins/stat_scaler.lua. The Apache License 2.0 and attribution are preserved in LICENSE and NOTICE.
The three defensive checks, release text, and custom icon were prepared with AI assistance. The original randomizer code is credited to its upstream author.