diff options
| author | J <8190899+hamy710@users.noreply.github.com> | 2026-03-31 12:55:51 +1100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-30 21:55:51 -0400 |
| commit | abbf191931b5540ac7db7e51fb7fc6bfd777a8a9 (patch) | |
| tree | edf0fcccf6a83b1459018d0c7dd0a39cda802d17 | |
| parent | 8b9615ca51e4cd2fa45c2b54b04227fcc6d67817 (diff) | |
Logic Fix Snowhead (#1604)
* Update block room into two regions upper and lower to account for the vanilla expected access for the stray fairy chest via fire arrows and pushing a block in the compass room
* Update mm/2s2h/Rando/Logic/Regions/SnowheadTemple.cpp
* Update mm/2s2h/Rando/Logic/Regions/SnowheadTemple.cpp
---------
Co-authored-by: Eblo <7004497+Eblo@users.noreply.github.com>
| -rw-r--r-- | mm/2s2h/Rando/Logic/Regions/SnowheadTemple.cpp | 16 | ||||
| -rw-r--r-- | mm/2s2h/Rando/Types.h | 1 |
2 files changed, 13 insertions, 4 deletions
diff --git a/mm/2s2h/Rando/Logic/Regions/SnowheadTemple.cpp b/mm/2s2h/Rando/Logic/Regions/SnowheadTemple.cpp index 64611300b..8d1540704 100644 --- a/mm/2s2h/Rando/Logic/Regions/SnowheadTemple.cpp +++ b/mm/2s2h/Rando/Logic/Regions/SnowheadTemple.cpp @@ -10,16 +10,24 @@ static RegisterShipInitFunc initFunc([]() { Regions[RR_SNOWHEAD_TEMPLE_BLOCK_ROOM] = RandoRegion{ .sceneId = SCENE_HAKUGIN, .checks = { CHECK(RC_SNOWHEAD_TEMPLE_BLOCK_ROOM_HIDDEN_CHEST, true), - CHECK(RC_SNOWHEAD_TEMPLE_BLOCK_ROOM_LEDGE_CHEST, HAS_ITEM(ITEM_HOOKSHOT)), CHECK(RC_SNOWHEAD_TEMPLE_BLOCK_ROOM_POT_01, true), CHECK(RC_SNOWHEAD_TEMPLE_BLOCK_ROOM_POT_02, true), - CHECK(RC_ENEMY_DROP_FLYING_POT, CanKillEnemy(ACTOR_EN_TUBO_TRAP)), }, .connections = { CONNECTION(RR_SNOWHEAD_TEMPLE_CENTRAL_ROOM_FIRST_FLOOR, true), - CONNECTION(RR_SNOWHEAD_TEMPLE_COMPASS_ROOM, HAS_ITEM(ITEM_HOOKSHOT)), + CONNECTION(RR_SNOWHEAD_TEMPLE_BLOCK_ROOM_UPPER, HAS_ITEM(ITEM_HOOKSHOT) || CAN_BE_ZORA), // TODO : Should using Zora for this be considered a trick? }, }; + Regions[RR_SNOWHEAD_TEMPLE_BLOCK_ROOM_UPPER] = RandoRegion { .sceneId = SCENE_HAKUGIN, + .checks = { + CHECK(RC_SNOWHEAD_TEMPLE_BLOCK_ROOM_LEDGE_CHEST, true), + CHECK(RC_ENEMY_DROP_FLYING_POT, CanKillEnemy(ACTOR_EN_TUBO_TRAP)), + }, + .connections = { + CONNECTION(RR_SNOWHEAD_TEMPLE_BLOCK_ROOM, true), + CONNECTION(RR_SNOWHEAD_TEMPLE_COMPASS_ROOM, true), + } + }; Regions[RR_SNOWHEAD_TEMPLE_BOSS_ROOM] = RandoRegion{ .sceneId = SCENE_HAKUGIN_BS, .checks = { CHECK(RC_SNOWHEAD_TEMPLE_BOSS_HEART_CONTAINER, CanKillEnemy(ACTOR_BOSS_HAKUGIN)), @@ -189,7 +197,7 @@ static RegisterShipInitFunc initFunc([]() { }, .connections = { CONNECTION(RR_SNOWHEAD_TEMPLE_ENTRANCE_AFTER_BLOCK, KEY_COUNT(SNOWHEAD_TEMPLE) >= 1), - CONNECTION(RR_SNOWHEAD_TEMPLE_BLOCK_ROOM, CAN_BE_ZORA || HAS_ITEM(ITEM_HOOKSHOT) || CAN_USE_MAGIC_ARROW(FIRE)), // TODO : Should using Zora for this be considered a trick? + CONNECTION(RR_SNOWHEAD_TEMPLE_BLOCK_ROOM_UPPER, CAN_BE_ZORA || HAS_ITEM(ITEM_HOOKSHOT) || CAN_USE_MAGIC_ARROW(FIRE)), // TODO : Should using Zora for this be considered a trick? CONNECTION(RR_SNOWHEAD_TEMPLE_ICICLE_ROOM, CAN_USE_EXPLOSIVE), }, }; diff --git a/mm/2s2h/Rando/Types.h b/mm/2s2h/Rando/Types.h index 36b584f0a..89f6a60c7 100644 --- a/mm/2s2h/Rando/Types.h +++ b/mm/2s2h/Rando/Types.h @@ -2795,6 +2795,7 @@ typedef enum { RR_SNOWHEAD_OUTSIDE_FOUNTAIN, RR_SNOWHEAD_OUTSIDE_TEMPLE_ENTRANCE, RR_SNOWHEAD_TEMPLE_BLOCK_ROOM, + RR_SNOWHEAD_TEMPLE_BLOCK_ROOM_UPPER, RR_SNOWHEAD_TEMPLE_BOSS_ROOM, RR_SNOWHEAD_TEMPLE_BRIDGE_ROOM_AFTER, RR_SNOWHEAD_TEMPLE_BRIDGE_ROOM_BEFORE, |
