mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-08-20 21:33:40 -07:00
feedback
This commit is contained in:
parent
6ea6f80250
commit
4119cfb0bb
4 changed files with 52 additions and 45 deletions
|
@ -27,12 +27,6 @@ void RegionTable_Init_IceCavern() {
|
||||||
Entrance(RR_ICE_CAVERN_ABOVE_BEGINNING, []{return false;}),
|
Entrance(RR_ICE_CAVERN_ABOVE_BEGINNING, []{return false;}),
|
||||||
});
|
});
|
||||||
|
|
||||||
areaTable[RR_ICE_CAVERN_ABOVE_BEGINNING] = Region("Ice Cavern Above Beginning", SCENE_ICE_CAVERN, {}, {}, {
|
|
||||||
//Exits
|
|
||||||
Entrance(RR_ICE_CAVERN_FINAL_ROOM_UNDERWATER, []{return logic->CanUse(RG_IRON_BOOTS);}),
|
|
||||||
Entrance(RR_ICE_CAVERN_BEGINNING, []{return true;}),
|
|
||||||
});
|
|
||||||
|
|
||||||
areaTable[RR_ICE_CAVERN_HUB] = Region("Ice Cavern Hub", SCENE_ICE_CAVERN, {}, {
|
areaTable[RR_ICE_CAVERN_HUB] = Region("Ice Cavern Hub", SCENE_ICE_CAVERN, {}, {
|
||||||
//Locations
|
//Locations
|
||||||
LOCATION(RC_ICE_CAVERN_GS_SPINNING_SCYTHE_ROOM, logic->HookshotOrBoomerang()),
|
LOCATION(RC_ICE_CAVERN_GS_SPINNING_SCYTHE_ROOM, logic->HookshotOrBoomerang()),
|
||||||
|
@ -44,9 +38,9 @@ void RegionTable_Init_IceCavern() {
|
||||||
}, {
|
}, {
|
||||||
//Exits
|
//Exits
|
||||||
Entrance(RR_ICE_CAVERN_BEGINNING, []{return true;}),
|
Entrance(RR_ICE_CAVERN_BEGINNING, []{return true;}),
|
||||||
Entrance(RR_ICE_CAVERN_MAP_ROOM, []{return logic->IsAdult;}),
|
Entrance(RR_ICE_CAVERN_MAP_ROOM, []{return logic->IsAdult && logic->CanClearStalagmite();}),
|
||||||
Entrance(RR_ICE_CAVERN_COMPASS_ROOM, []{return logic->BlueFire();}),
|
Entrance(RR_ICE_CAVERN_COMPASS_ROOM, []{return Here(RR_ICE_CAVERN_HUB, []{return logic->BlueFire();})}),
|
||||||
Entrance(RR_ICE_CAVERN_BLOCK_ROOM, []{return logic->BlueFire();}),
|
Entrance(RR_ICE_CAVERN_BLOCK_ROOM, []{return Here(RR_ICE_CAVERN_HUB, []{return logic->BlueFire();})}),
|
||||||
});
|
});
|
||||||
|
|
||||||
areaTable[RR_ICE_CAVERN_MAP_ROOM] = Region("Ice Cavern Map Room", SCENE_ICE_CAVERN, {
|
areaTable[RR_ICE_CAVERN_MAP_ROOM] = Region("Ice Cavern Map Room", SCENE_ICE_CAVERN, {
|
||||||
|
@ -69,27 +63,29 @@ void RegionTable_Init_IceCavern() {
|
||||||
EventAccess(&logic->BlueFireAccess, []{return true;}),
|
EventAccess(&logic->BlueFireAccess, []{return true;}),
|
||||||
}, {
|
}, {
|
||||||
//Locations
|
//Locations
|
||||||
LOCATION(RC_ICE_CAVERN_COMPASS_CHEST, logic->BlueFire()),
|
LOCATION(RC_ICE_CAVERN_COMPASS_CHEST, logic->CanClearStalagmite()),
|
||||||
LOCATION(RC_ICE_CAVERN_FREESTANDING_POH, logic->BlueFire()),
|
LOCATION(RC_ICE_CAVERN_FREESTANDING_POH, logic->CanClearStalagmite()),
|
||||||
LOCATION(RC_ICE_CAVERN_GS_HEART_PIECE_ROOM, logic->BlueFire() && logic->HookshotOrBoomerang()),
|
LOCATION(RC_ICE_CAVERN_GS_HEART_PIECE_ROOM, logic->HookshotOrBoomerang()),
|
||||||
}, {
|
}, {
|
||||||
//Exits
|
//Exits
|
||||||
Entrance(RR_ICE_CAVERN_HUB, []{return true;}),
|
Entrance(RR_ICE_CAVERN_HUB, []{return true;}),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// heavily relies on str0
|
||||||
areaTable[RR_ICE_CAVERN_BLOCK_ROOM] = Region("Ice Cavern Block Room", SCENE_ICE_CAVERN, {
|
areaTable[RR_ICE_CAVERN_BLOCK_ROOM] = Region("Ice Cavern Block Room", SCENE_ICE_CAVERN, {
|
||||||
//Events
|
//Events
|
||||||
EventAccess(&logic->BlueFireAccess, []{return true;}),
|
EventAccess(&logic->BlueFireAccess, []{return true;}),
|
||||||
}, {
|
}, {
|
||||||
//Locations
|
//Locations
|
||||||
LOCATION(RC_ICE_CAVERN_GS_PUSH_BLOCK_ROOM, logic->HookshotOrBoomerang() || (ctx->GetTrickOption(RT_ICE_BLOCK_GS) && logic->IsAdult && logic->CanUse(RG_HOVER_BOOTS))),
|
// trick involves backflip, could be merged into general trick
|
||||||
|
LOCATION(RC_ICE_CAVERN_GS_PUSH_BLOCK_ROOM, logic->HookshotOrBoomerang() || (ctx->GetTrickOption(RT_ICE_BLOCK_GS) && logic->IsAdult && logic->CanUse(RG_HOVER_BOOTS) && logic->CanGetEnemyDrop(RE_GOLD_SKULLTULA, ED_BOMB_THROW))),
|
||||||
LOCATION(RC_ICE_CAVERN_SLIDING_BLOCK_RUPEE_1, logic->CanUse(RG_SONG_OF_TIME) || logic->CanUse(RG_BOOMERANG)),
|
LOCATION(RC_ICE_CAVERN_SLIDING_BLOCK_RUPEE_1, logic->CanUse(RG_SONG_OF_TIME) || logic->CanUse(RG_BOOMERANG)),
|
||||||
LOCATION(RC_ICE_CAVERN_SLIDING_BLOCK_RUPEE_2, logic->CanUse(RG_SONG_OF_TIME) || logic->CanUse(RG_BOOMERANG)),
|
LOCATION(RC_ICE_CAVERN_SLIDING_BLOCK_RUPEE_2, logic->CanUse(RG_SONG_OF_TIME) || logic->CanUse(RG_BOOMERANG)),
|
||||||
LOCATION(RC_ICE_CAVERN_SLIDING_BLOCK_RUPEE_3, logic->CanUse(RG_SONG_OF_TIME) || logic->CanUse(RG_BOOMERANG)),
|
LOCATION(RC_ICE_CAVERN_SLIDING_BLOCK_RUPEE_3, logic->CanUse(RG_SONG_OF_TIME) || logic->CanUse(RG_BOOMERANG)),
|
||||||
}, {
|
}, {
|
||||||
//Exits
|
//Exits
|
||||||
Entrance(RR_ICE_CAVERN_HUB, []{return true;}),
|
Entrance(RR_ICE_CAVERN_HUB, []{return true;}),
|
||||||
Entrance(RR_ICE_CAVERN_BEFORE_FINAL_ROOM, []{return logic->BlueFire();}),
|
Entrance(RR_ICE_CAVERN_BEFORE_FINAL_ROOM, []{return Here(RR_ICE_CAVERN_BLOCK_ROOM, []{return logic->BlueFire();});}),
|
||||||
});
|
});
|
||||||
|
|
||||||
// this represents being past the red ice barricade, not just past the silver rupee door
|
// this represents being past the red ice barricade, not just past the silver rupee door
|
||||||
|
@ -99,18 +95,18 @@ void RegionTable_Init_IceCavern() {
|
||||||
LOCATION(RC_ICE_CAVERN_NEAR_END_POT_2, logic->CanBreakPots() && logic->BlueFire()),
|
LOCATION(RC_ICE_CAVERN_NEAR_END_POT_2, logic->CanBreakPots() && logic->BlueFire()),
|
||||||
}, {
|
}, {
|
||||||
//Exits
|
//Exits
|
||||||
Entrance(RR_ICE_CAVERN_BLOCK_ROOM, []{return logic->BlueFire();}),
|
Entrance(RR_ICE_CAVERN_BLOCK_ROOM, []{return Here(RR_ICE_CAVERN_BEFORE_FINAL_ROOM, []{return logic->BlueFire()});}),
|
||||||
Entrance(RR_ICE_CAVERN_FINAL_ROOM, []{return true;}),
|
Entrance(RR_ICE_CAVERN_FINAL_ROOM, []{return true;}),
|
||||||
});
|
});
|
||||||
|
|
||||||
areaTable[RR_ICE_CAVERN_FINAL_ROOM] = Region("Ice Cavern Final Room", SCENE_ICE_CAVERN, {}, {
|
areaTable[RR_ICE_CAVERN_FINAL_ROOM] = Region("Ice Cavern Final Room", SCENE_ICE_CAVERN, {}, {
|
||||||
//Locations
|
//Locations
|
||||||
LOCATION(RC_ICE_CAVERN_IRON_BOOTS_CHEST, logic->CanKillEnemy(RE_WOLFOS)),
|
LOCATION(RC_ICE_CAVERN_IRON_BOOTS_CHEST, Here(RR_ICE_CAVERN_FINAL_ROOM, []{return logic->CanKillEnemy(RE_WOLFOS);})),
|
||||||
LOCATION(RC_SHEIK_IN_ICE_CAVERN, logic->CanKillEnemy(RE_WOLFOS) && logic->IsAdult),
|
LOCATION(RC_SHEIK_IN_ICE_CAVERN, Here(RR_ICE_CAVERN_FINAL_ROOM, []{return logic->CanKillEnemy(RE_WOLFOS);}) && logic->IsAdult),
|
||||||
}, {
|
}, {
|
||||||
//Exits
|
//Exits
|
||||||
Entrance(RR_ICE_CAVERN_BEFORE_FINAL_ROOM, []{return logic->CanKillEnemy(RE_WOLFOS);}),
|
Entrance(RR_ICE_CAVERN_BEFORE_FINAL_ROOM, []{return Here(RR_ICE_CAVERN_FINAL_ROOM, []{return logic->CanKillEnemy(RE_WOLFOS);});}),
|
||||||
Entrance(RR_ICE_CAVERN_FINAL_ROOM_UNDERWATER, []{return logic->CanKillEnemy(RE_WOLFOS) && logic->CanUse(RG_IRON_BOOTS);}),
|
Entrance(RR_ICE_CAVERN_FINAL_ROOM_UNDERWATER, []{return Here(RR_ICE_CAVERN_FINAL_ROOM, []{return logic->CanKillEnemy(RE_WOLFOS);}) && logic->CanUse(RG_IRON_BOOTS);}),
|
||||||
});
|
});
|
||||||
|
|
||||||
areaTable[RR_ICE_CAVERN_FINAL_ROOM_UNDERWATER] = Region("Ice Cavern Final Room Underwater", SCENE_ICE_CAVERN, {}, {}, {
|
areaTable[RR_ICE_CAVERN_FINAL_ROOM_UNDERWATER] = Region("Ice Cavern Final Room Underwater", SCENE_ICE_CAVERN, {}, {}, {
|
||||||
|
@ -118,6 +114,12 @@ void RegionTable_Init_IceCavern() {
|
||||||
Entrance(RR_ICE_CAVERN_FINAL_ROOM, []{return logic->CanUse(RG_BRONZE_SCALE);}),
|
Entrance(RR_ICE_CAVERN_FINAL_ROOM, []{return logic->CanUse(RG_BRONZE_SCALE);}),
|
||||||
Entrance(RR_ICE_CAVERN_ABOVE_BEGINNING, []{return logic->CanUse(RG_IRON_BOOTS);}),
|
Entrance(RR_ICE_CAVERN_ABOVE_BEGINNING, []{return logic->CanUse(RG_IRON_BOOTS);}),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
areaTable[RR_ICE_CAVERN_ABOVE_BEGINNING] = Region("Ice Cavern Above Beginning", SCENE_ICE_CAVERN, {}, {}, {
|
||||||
|
//Exits
|
||||||
|
Entrance(RR_ICE_CAVERN_FINAL_ROOM_UNDERWATER, []{return logic->CanUse(RG_IRON_BOOTS);}),
|
||||||
|
Entrance(RR_ICE_CAVERN_BEGINNING, []{return true;}),
|
||||||
|
});
|
||||||
#pragma endregion
|
#pragma endregion
|
||||||
|
|
||||||
#pragma region MQ
|
#pragma region MQ
|
||||||
|
@ -133,12 +135,6 @@ void RegionTable_Init_IceCavern() {
|
||||||
Entrance(RR_ICE_CAVERN_MQ_ABOVE_BEGINNING, []{return false;}),
|
Entrance(RR_ICE_CAVERN_MQ_ABOVE_BEGINNING, []{return false;}),
|
||||||
});
|
});
|
||||||
|
|
||||||
areaTable[RR_ICE_CAVERN_MQ_ABOVE_BEGINNING] = Region("Ice Cavern MQ Above Beginning", SCENE_ICE_CAVERN, {}, {}, {
|
|
||||||
//Exits
|
|
||||||
Entrance(RR_ICE_CAVERN_MQ_STALFOS_ROOM_UNDERWATER, []{return logic->CanUse(RG_IRON_BOOTS);}),
|
|
||||||
Entrance(RR_ICE_CAVERN_MQ_BEGINNING, []{return true;}),
|
|
||||||
});
|
|
||||||
|
|
||||||
areaTable[RR_ICE_CAVERN_MQ_HUB] = Region("Ice Cavern MQ Hub", SCENE_ICE_CAVERN, {
|
areaTable[RR_ICE_CAVERN_MQ_HUB] = Region("Ice Cavern MQ Hub", SCENE_ICE_CAVERN, {
|
||||||
//Events
|
//Events
|
||||||
EventAccess(&logic->FairyPot, []{return true;}),
|
EventAccess(&logic->FairyPot, []{return true;}),
|
||||||
|
@ -163,7 +159,7 @@ void RegionTable_Init_IceCavern() {
|
||||||
areaTable[RR_ICE_CAVERN_MQ_MAP_ROOM] = Region("Ice Cavern MQ Map Room", SCENE_ICE_CAVERN, {
|
areaTable[RR_ICE_CAVERN_MQ_MAP_ROOM] = Region("Ice Cavern MQ Map Room", SCENE_ICE_CAVERN, {
|
||||||
//Events
|
//Events
|
||||||
//Child can fit between the stalagmites on the left hand side
|
//Child can fit between the stalagmites on the left hand side
|
||||||
EventAccess(&logic->BlueFireAccess, []{return logic->IsChild || logic->CanJumpslash() || logic->HasExplosives();}),
|
EventAccess(&logic->BlueFireAccess, []{return logic->IsChild || logic->CanClearStalagmite();}),
|
||||||
}, {
|
}, {
|
||||||
//Locations
|
//Locations
|
||||||
LOCATION(RC_ICE_CAVERN_MQ_MAP_CHEST, logic->BlueFire() && Here(RR_ICE_CAVERN_MQ_MAP_ROOM, []{return logic->CanHitSwitch();})),
|
LOCATION(RC_ICE_CAVERN_MQ_MAP_CHEST, logic->BlueFire() && Here(RR_ICE_CAVERN_MQ_MAP_ROOM, []{return logic->CanHitSwitch();})),
|
||||||
|
@ -190,6 +186,20 @@ void RegionTable_Init_IceCavern() {
|
||||||
Entrance(RR_ICE_CAVERN_MQ_STALFOS_ROOM, []{return true;}),
|
Entrance(RR_ICE_CAVERN_MQ_STALFOS_ROOM, []{return true;}),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
areaTable[RR_ICE_CAVERN_MQ_COMPASS_ROOM] = Region("Ice Cavern MQ Compass Room", SCENE_ICE_CAVERN, {
|
||||||
|
//Events
|
||||||
|
EventAccess(&logic->BlueFireAccess, []{return true;}),
|
||||||
|
}, {
|
||||||
|
//Locations
|
||||||
|
LOCATION(RC_ICE_CAVERN_MQ_COMPASS_CHEST, true),
|
||||||
|
//It is possible for child with master, BGS or sticks, or adult with BGS, to hit this switch through the ice with a crouchstab, but it's precise and unintuitive for a trick
|
||||||
|
LOCATION(RC_ICE_CAVERN_MQ_FREESTANDING_POH, logic->HasExplosives()),
|
||||||
|
//doing RT_ICE_MQ_RED_ICE_GS as child is untested, as I could not perform the trick reliably even as adult
|
||||||
|
LOCATION(RC_ICE_CAVERN_MQ_GS_RED_ICE, (ctx->GetOption(RSK_BLUE_FIRE_ARROWS) && logic->CanUse(RG_ICE_ARROWS)) || (logic->CanUse(RG_BOTTLE_WITH_BLUE_FIRE) && (logic->CanUse(RG_SONG_OF_TIME) || (logic->IsAdult && ctx->GetTrickOption(RT_ICE_MQ_RED_ICE_GS))) && logic->CanGetEnemyDrop(RE_GOLD_SKULLTULA))),
|
||||||
|
LOCATION(RC_ICE_CAVERN_MQ_COMPASS_POT_1, logic->CanBreakPots()),
|
||||||
|
LOCATION(RC_ICE_CAVERN_MQ_COMPASS_POT_2, logic->CanBreakPots()),
|
||||||
|
}, {});
|
||||||
|
|
||||||
areaTable[RR_ICE_CAVERN_MQ_STALFOS_ROOM] = Region("Ice Cavern MQ Stalfos Room", SCENE_ICE_CAVERN, {}, {
|
areaTable[RR_ICE_CAVERN_MQ_STALFOS_ROOM] = Region("Ice Cavern MQ Stalfos Room", SCENE_ICE_CAVERN, {}, {
|
||||||
//Locations
|
//Locations
|
||||||
LOCATION(RC_ICE_CAVERN_MQ_IRON_BOOTS_CHEST, logic->CanKillEnemy(RE_STALFOS)),
|
LOCATION(RC_ICE_CAVERN_MQ_IRON_BOOTS_CHEST, logic->CanKillEnemy(RE_STALFOS)),
|
||||||
|
@ -206,19 +216,11 @@ void RegionTable_Init_IceCavern() {
|
||||||
Entrance(RR_ICE_CAVERN_MQ_ABOVE_BEGINNING, []{return logic->CanUse(RG_IRON_BOOTS);}),
|
Entrance(RR_ICE_CAVERN_MQ_ABOVE_BEGINNING, []{return logic->CanUse(RG_IRON_BOOTS);}),
|
||||||
});
|
});
|
||||||
|
|
||||||
areaTable[RR_ICE_CAVERN_MQ_COMPASS_ROOM] = Region("Ice Cavern MQ Compass Room", SCENE_ICE_CAVERN, {
|
areaTable[RR_ICE_CAVERN_MQ_ABOVE_BEGINNING] = Region("Ice Cavern MQ Above Beginning", SCENE_ICE_CAVERN, {}, {}, {
|
||||||
//Events
|
//Exits
|
||||||
EventAccess(&logic->BlueFireAccess, []{return true;}),
|
Entrance(RR_ICE_CAVERN_MQ_STALFOS_ROOM_UNDERWATER, []{return logic->CanUse(RG_IRON_BOOTS);}),
|
||||||
}, {
|
Entrance(RR_ICE_CAVERN_MQ_BEGINNING, []{return true;}),
|
||||||
//Locations
|
});
|
||||||
LOCATION(RC_ICE_CAVERN_MQ_COMPASS_CHEST, true),
|
|
||||||
//It is possible for child with master, BGS or sticks, or adult with BGS, to hit this switch through the ice with a crouchstab, but it's precise and unintuitive for a trick
|
|
||||||
LOCATION(RC_ICE_CAVERN_MQ_FREESTANDING_POH, logic->HasExplosives()),
|
|
||||||
//doing RT_ICE_MQ_RED_ICE_GS as child is untested, as I could not perform the trick reliably even as adult
|
|
||||||
LOCATION(RC_ICE_CAVERN_MQ_GS_RED_ICE, (ctx->GetOption(RSK_BLUE_FIRE_ARROWS) && logic->CanUse(RG_ICE_ARROWS)) || (logic->CanUse(RG_BOTTLE_WITH_BLUE_FIRE) && (logic->CanUse(RG_SONG_OF_TIME) || (logic->IsAdult && ctx->GetTrickOption(RT_ICE_MQ_RED_ICE_GS))) && logic->CanGetEnemyDrop(RE_GOLD_SKULLTULA))),
|
|
||||||
LOCATION(RC_ICE_CAVERN_MQ_COMPASS_POT_1, logic->CanBreakPots()),
|
|
||||||
LOCATION(RC_ICE_CAVERN_MQ_COMPASS_POT_2, logic->CanBreakPots()),
|
|
||||||
}, {});
|
|
||||||
|
|
||||||
#pragma endregion
|
#pragma endregion
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
|
@ -1075,6 +1075,10 @@ bool Logic::CanJumpslash() {
|
||||||
return CanJumpslashExceptHammer() || CanUse(RG_MEGATON_HAMMER);
|
return CanJumpslashExceptHammer() || CanUse(RG_MEGATON_HAMMER);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Logic::CanClearStalagmite() {
|
||||||
|
return CanJumpslash() || HasExplosives();
|
||||||
|
}
|
||||||
|
|
||||||
bool Logic::CanHitSwitch(EnemyDistance distance, bool inWater) {
|
bool Logic::CanHitSwitch(EnemyDistance distance, bool inWater) {
|
||||||
bool hit = false;
|
bool hit = false;
|
||||||
switch (distance) {
|
switch (distance) {
|
||||||
|
|
|
@ -217,6 +217,7 @@ class Logic {
|
||||||
bool CanUseSword();
|
bool CanUseSword();
|
||||||
bool CanJumpslashExceptHammer();
|
bool CanJumpslashExceptHammer();
|
||||||
bool CanJumpslash();
|
bool CanJumpslash();
|
||||||
|
bool CanClearStalagmite();
|
||||||
bool CanHitSwitch(EnemyDistance distance = ED_CLOSE, bool inWater = false);
|
bool CanHitSwitch(EnemyDistance distance = ED_CLOSE, bool inWater = false);
|
||||||
bool CanDamage();
|
bool CanDamage();
|
||||||
bool CanAttack();
|
bool CanAttack();
|
||||||
|
|
|
@ -1000,14 +1000,14 @@ typedef enum {
|
||||||
RR_ICE_CAVERN_ABOVE_BEGINNING,
|
RR_ICE_CAVERN_ABOVE_BEGINNING,
|
||||||
|
|
||||||
RR_ICE_CAVERN_MQ_BEGINNING,
|
RR_ICE_CAVERN_MQ_BEGINNING,
|
||||||
RR_ICE_CAVERN_MQ_ABOVE_BEGINNING,
|
|
||||||
RR_ICE_CAVERN_MQ_HUB,
|
RR_ICE_CAVERN_MQ_HUB,
|
||||||
RR_ICE_CAVERN_MQ_MAP_ROOM,
|
RR_ICE_CAVERN_MQ_MAP_ROOM,
|
||||||
RR_ICE_CAVERN_MQ_SCARECROW_ROOM,
|
RR_ICE_CAVERN_MQ_SCARECROW_ROOM,
|
||||||
RR_ICE_CAVERN_MQ_STALFOS_ROOM,
|
|
||||||
RR_ICE_CAVERN_MQ_STALFOS_ROOM_UNDERWATER,
|
|
||||||
RR_ICE_CAVERN_MQ_WEST_CORRIDOR,
|
RR_ICE_CAVERN_MQ_WEST_CORRIDOR,
|
||||||
RR_ICE_CAVERN_MQ_COMPASS_ROOM,
|
RR_ICE_CAVERN_MQ_COMPASS_ROOM,
|
||||||
|
RR_ICE_CAVERN_MQ_STALFOS_ROOM,
|
||||||
|
RR_ICE_CAVERN_MQ_STALFOS_ROOM_UNDERWATER,
|
||||||
|
RR_ICE_CAVERN_MQ_ABOVE_BEGINNING,
|
||||||
|
|
||||||
RR_GERUDO_TRAINING_GROUND_LOBBY,
|
RR_GERUDO_TRAINING_GROUND_LOBBY,
|
||||||
RR_GERUDO_TRAINING_GROUND_CENTRAL_MAZE,
|
RR_GERUDO_TRAINING_GROUND_CENTRAL_MAZE,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue