diff options
| author | Patrick12115 <115201185+Patrick12115@users.noreply.github.com> | 2025-12-07 11:48:28 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-12-07 09:48:28 -0700 |
| commit | 53162fde4ad3faaecee7218897745f1e5a5de14f (patch) | |
| tree | ffce159a6c4703c8614373bc9e3c62313f21650a | |
| parent | 1aa04eeee12918e95a1f2a73b7c2f62e3230df8f (diff) | |
Make Extra Traps fully random when in Archi save file (#36)
Since extra traps are based off GI model ID and Scene ID and the GI model is always a gold rupee in Multiworld Archi, it would always be the same trap per scene.
| -rw-r--r-- | soh/soh/Enhancements/ExtraTraps.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/soh/soh/Enhancements/ExtraTraps.cpp b/soh/soh/Enhancements/ExtraTraps.cpp index 155b1af71..47a1164bf 100644 --- a/soh/soh/Enhancements/ExtraTraps.cpp +++ b/soh/soh/Enhancements/ExtraTraps.cpp @@ -63,6 +63,10 @@ std::vector<AltTrapType> getEnabledAddTraps() { static void RollRandomTrap(uint32_t seed) { uint32_t finalSeed = seed + (IS_RANDO ? Rando::Context::GetInstance()->GetSeed() : static_cast<uint32_t>(gSaveContext.ship.stats.fileCreatedAt)); + // Makes Extra Traps completely random in Archipelago since GI is always the same + if (IS_ARCHIPELAGO) { + finalSeed += rand(); + } Random_Init(finalSeed); roll = RandomElement(getEnabledAddTraps()); |
