summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick12115 <115201185+Patrick12115@users.noreply.github.com>2025-12-07 11:48:28 -0500
committerGitHub <noreply@github.com>2025-12-07 09:48:28 -0700
commit53162fde4ad3faaecee7218897745f1e5a5de14f (patch)
treeffce159a6c4703c8614373bc9e3c62313f21650a
parent1aa04eeee12918e95a1f2a73b7c2f62e3230df8f (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.cpp4
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());