From 53162fde4ad3faaecee7218897745f1e5a5de14f Mon Sep 17 00:00:00 2001 From: Patrick12115 <115201185+Patrick12115@users.noreply.github.com> Date: Sun, 7 Dec 2025 11:48:28 -0500 Subject: [PATCH] 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. --- soh/soh/Enhancements/ExtraTraps.cpp | 4 ++++ 1 file changed, 4 insertions(+) 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 getEnabledAddTraps() { static void RollRandomTrap(uint32_t seed) { uint32_t finalSeed = seed + (IS_RANDO ? Rando::Context::GetInstance()->GetSeed() : static_cast(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());