mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-08-23 06:35:33 -07:00
feedback, mostly shadow
This commit is contained in:
parent
e9694b7e40
commit
d7d6c61bba
4 changed files with 25 additions and 24 deletions
|
@ -107,7 +107,7 @@ void RegionTable_Init_IceCavern() {
|
||||||
areaTable[RR_ICE_CAVERN_MQ_MAP_ROOM] = Region("Ice Cavern MQ Map Room", "Ice Cavern", {RA_ICE_CAVERN}, NO_DAY_NIGHT_CYCLE, {
|
areaTable[RR_ICE_CAVERN_MQ_MAP_ROOM] = Region("Ice Cavern MQ Map Room", "Ice Cavern", {RA_ICE_CAVERN}, NO_DAY_NIGHT_CYCLE, {
|
||||||
//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->BlueFireAccess || logic->IsChild || logic->CanJumpslash() || logic->HasExplosives();}),
|
EventAccess(&logic->BlueFireAccess, []{return logic->IsChild || logic->CanJumpslash() || logic->HasExplosives();}),
|
||||||
}, {
|
}, {
|
||||||
//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();})),
|
||||||
|
|
|
@ -22,7 +22,6 @@ void RegionTable_Init_JabuJabusBelly() {
|
||||||
Entrance(RR_JABU_JABUS_BELLY_LIFT_ROOM, []{return logic->CanUseProjectile();}),
|
Entrance(RR_JABU_JABUS_BELLY_LIFT_ROOM, []{return logic->CanUseProjectile();}),
|
||||||
});
|
});
|
||||||
|
|
||||||
//Combines Lift room middle and lower, 1F holes room, the forked corridor, and it's side rooms
|
|
||||||
areaTable[RR_JABU_JABUS_BELLY_LIFT_ROOM] = Region("Jabu Jabus Belly Lift Room", "Jabu Jabus Belly", {RA_JABU_JABUS_BELLY}, NO_DAY_NIGHT_CYCLE, {}, {
|
areaTable[RR_JABU_JABUS_BELLY_LIFT_ROOM] = Region("Jabu Jabus Belly Lift Room", "Jabu Jabus Belly", {RA_JABU_JABUS_BELLY}, NO_DAY_NIGHT_CYCLE, {}, {
|
||||||
//Locations
|
//Locations
|
||||||
LOCATION(RC_JABU_JABUS_BELLY_DEKU_SCRUB, logic->HasItem(RG_BRONZE_SCALE) && (logic->IsChild || logic->HasItem(RG_SILVER_SCALE) || ctx->GetTrickOption(RT_JABU_ALCOVE_JUMP_DIVE) || logic->CanUse(RG_IRON_BOOTS)) && logic->CanStunDeku()),
|
LOCATION(RC_JABU_JABUS_BELLY_DEKU_SCRUB, logic->HasItem(RG_BRONZE_SCALE) && (logic->IsChild || logic->HasItem(RG_SILVER_SCALE) || ctx->GetTrickOption(RT_JABU_ALCOVE_JUMP_DIVE) || logic->CanUse(RG_IRON_BOOTS)) && logic->CanStunDeku()),
|
||||||
|
@ -155,7 +154,7 @@ void RegionTable_Init_JabuJabusBelly() {
|
||||||
Entrance(RR_JABU_JABUS_BELLY_FORKED_CORRIDOR, []{return true;}),
|
Entrance(RR_JABU_JABUS_BELLY_FORKED_CORRIDOR, []{return true;}),
|
||||||
});
|
});
|
||||||
|
|
||||||
areaTable[RR_JABU_JABUS_BELLY_BIGOCTO_LEDGE] = Region("Jabu Jabus Belly Bigocto Ledge", "Jabu Jabus Belly", {RA_JABU_JABUS_BELLY}, NO_DAY_NIGHT_CYCLE, {}, {
|
areaTable[RR_JABU_JABUS_BELLY_BIGOCTO_LEDGE] = Region("Jabu Jabus Belly Big Octo Ledge", "Jabu Jabus Belly", {RA_JABU_JABUS_BELLY}, NO_DAY_NIGHT_CYCLE, {}, {
|
||||||
//Locations
|
//Locations
|
||||||
//Only adult can get the token without assistance
|
//Only adult can get the token without assistance
|
||||||
LOCATION(RC_JABU_JABUS_BELLY_GS_LOBBY_BASEMENT_UPPER, logic->IsAdult && logic->CanGetEnemyDrop(RE_GOLD_SKULLTULA, ED_SHORT_JUMPSLASH)),
|
LOCATION(RC_JABU_JABUS_BELLY_GS_LOBBY_BASEMENT_UPPER, logic->IsAdult && logic->CanGetEnemyDrop(RE_GOLD_SKULLTULA, ED_SHORT_JUMPSLASH)),
|
||||||
|
@ -166,13 +165,13 @@ void RegionTable_Init_JabuJabusBelly() {
|
||||||
Entrance(RR_JABU_JABUS_BELLY_BIGOCTO, []{return logic->JabuRutoIn1F && Here(RR_JABU_JABUS_BELLY_BIGOCTO_LEDGE, []{return logic->CanKillEnemy(RE_BIG_OCTO);});}),
|
Entrance(RR_JABU_JABUS_BELLY_BIGOCTO, []{return logic->JabuRutoIn1F && Here(RR_JABU_JABUS_BELLY_BIGOCTO_LEDGE, []{return logic->CanKillEnemy(RE_BIG_OCTO);});}),
|
||||||
});
|
});
|
||||||
|
|
||||||
areaTable[RR_JABU_JABUS_BELLY_BIGOCTO] = Region("Jabu Jabus Belly Bigocto", "Jabu Jabus Belly", {RA_JABU_JABUS_BELLY}, NO_DAY_NIGHT_CYCLE, {}, {}, {
|
areaTable[RR_JABU_JABUS_BELLY_BIGOCTO] = Region("Jabu Jabus Belly Big Octo", "Jabu Jabus Belly", {RA_JABU_JABUS_BELLY}, NO_DAY_NIGHT_CYCLE, {}, {}, {
|
||||||
//Exits
|
//Exits
|
||||||
Entrance(RR_JABU_JABUS_BELLY_BIGOCTO_LEDGE, []{return true;}),
|
Entrance(RR_JABU_JABUS_BELLY_BIGOCTO_LEDGE, []{return true;}),
|
||||||
Entrance(RR_JABU_JABUS_BELLY_ABOVE_BIGOCTO, []{return logic->JabuRutoIn1F && Here(RR_JABU_JABUS_BELLY_BIGOCTO, []{return logic->CanKillEnemy(RE_BIG_OCTO);});}),
|
Entrance(RR_JABU_JABUS_BELLY_ABOVE_BIGOCTO, []{return logic->JabuRutoIn1F && Here(RR_JABU_JABUS_BELLY_BIGOCTO, []{return logic->CanKillEnemy(RE_BIG_OCTO);});}),
|
||||||
});
|
});
|
||||||
|
|
||||||
areaTable[RR_JABU_JABUS_BELLY_ABOVE_BIGOCTO] = Region("Jabu Jabus Belly Above Bigocto", "Jabu Jabus Belly", {RA_JABU_JABUS_BELLY}, NO_DAY_NIGHT_CYCLE, {
|
areaTable[RR_JABU_JABUS_BELLY_ABOVE_BIGOCTO] = Region("Jabu Jabus Belly Above Big Octo", "Jabu Jabus Belly", {RA_JABU_JABUS_BELLY}, NO_DAY_NIGHT_CYCLE, {
|
||||||
//Events
|
//Events
|
||||||
EventAccess(&logic->FairyPot, []{return true;}),
|
EventAccess(&logic->FairyPot, []{return true;}),
|
||||||
EventAccess(&logic->NutPot, []{return true;}),
|
EventAccess(&logic->NutPot, []{return true;}),
|
||||||
|
@ -287,7 +286,8 @@ void RegionTable_Init_JabuJabusBelly() {
|
||||||
});
|
});
|
||||||
|
|
||||||
areaTable[RR_JABU_JABUS_BELLY_MQ_WATER_SWITCH_ROOM] = Region("Jabu Jabus Belly MQ Water Switch Room", "Jabu Jabus Belly", {RA_JABU_JABUS_BELLY}, NO_DAY_NIGHT_CYCLE, {
|
areaTable[RR_JABU_JABUS_BELLY_MQ_WATER_SWITCH_ROOM] = Region("Jabu Jabus Belly MQ Water Switch Room", "Jabu Jabus Belly", {RA_JABU_JABUS_BELLY}, NO_DAY_NIGHT_CYCLE, {
|
||||||
EventAccess(&logic->MQJabuWaterSwitchLiftAccess, []{return logic->MQJabuWaterSwitchLiftAccess || logic->CanKillEnemy(RE_LIZALFOS);}),
|
//Events
|
||||||
|
EventAccess(&logic->MQJabuWaterSwitchLiftAccess, []{return logic->CanKillEnemy(RE_LIZALFOS);}),
|
||||||
}, {
|
}, {
|
||||||
//Locations
|
//Locations
|
||||||
LOCATION(RC_JABU_JABUS_BELLY_MQ_BOOMERANG_ROOM_SMALL_CHEST, true),
|
LOCATION(RC_JABU_JABUS_BELLY_MQ_BOOMERANG_ROOM_SMALL_CHEST, true),
|
||||||
|
@ -305,6 +305,7 @@ void RegionTable_Init_JabuJabusBelly() {
|
||||||
});
|
});
|
||||||
|
|
||||||
areaTable[RR_JABU_JABUS_BELLY_MQ_WATER_SWITCH_ROOM_PAST_GEYSER] = Region("Jabu Jabus Belly MQ Water Switch Room Past Geyser", "Jabu Jabus Belly", {RA_JABU_JABUS_BELLY}, NO_DAY_NIGHT_CYCLE, {}, {}, {
|
areaTable[RR_JABU_JABUS_BELLY_MQ_WATER_SWITCH_ROOM_PAST_GEYSER] = Region("Jabu Jabus Belly MQ Water Switch Room Past Geyser", "Jabu Jabus Belly", {RA_JABU_JABUS_BELLY}, NO_DAY_NIGHT_CYCLE, {}, {}, {
|
||||||
|
//Exits
|
||||||
Entrance(RR_JABU_JABUS_BELLY_MQ_WATER_SWITCH_ROOM, []{return logic->MQJabuWaterSwitchLiftAccess;}),
|
Entrance(RR_JABU_JABUS_BELLY_MQ_WATER_SWITCH_ROOM, []{return logic->MQJabuWaterSwitchLiftAccess;}),
|
||||||
Entrance(RR_JABU_JABUS_BELLY_MQ_LIFT_ROOM, []{return true;}),
|
Entrance(RR_JABU_JABUS_BELLY_MQ_LIFT_ROOM, []{return true;}),
|
||||||
});
|
});
|
||||||
|
|
|
@ -9,7 +9,7 @@ void RegionTable_Init_ShadowTemple() {
|
||||||
// Vanilla/MQ Decider
|
// Vanilla/MQ Decider
|
||||||
areaTable[RR_SHADOW_TEMPLE_ENTRYWAY] = Region("Shadow Temple Entryway", "Shadow Temple", {RA_SHADOW_TEMPLE}, NO_DAY_NIGHT_CYCLE, {}, {}, {
|
areaTable[RR_SHADOW_TEMPLE_ENTRYWAY] = Region("Shadow Temple Entryway", "Shadow Temple", {RA_SHADOW_TEMPLE}, NO_DAY_NIGHT_CYCLE, {}, {}, {
|
||||||
//Exits
|
//Exits
|
||||||
Entrance(RR_SHADOW_TEMPLE_BEGINNING, []{return ctx->GetDungeon(SHADOW_TEMPLE)->IsVanilla() && (ctx->GetTrickOption(RT_LENS_SHADOW) || logic->CanUse(RG_LENS_OF_TRUTH)) && (logic->CanUse(RG_HOVER_BOOTS) || logic->CanUse(RG_HOOKSHOT));}),
|
Entrance(RR_SHADOW_TEMPLE_BEGINNING, []{return ctx->GetDungeon(SHADOW_TEMPLE)->IsVanilla() && (logic->CanUse(RG_HOVER_BOOTS) || logic->CanUse(RG_HOOKSHOT));}),
|
||||||
Entrance(RR_SHADOW_TEMPLE_MQ_BEGINNING, []{return ctx->GetDungeon(SHADOW_TEMPLE)->IsMQ();}),
|
Entrance(RR_SHADOW_TEMPLE_MQ_BEGINNING, []{return ctx->GetDungeon(SHADOW_TEMPLE)->IsMQ();}),
|
||||||
Entrance(RR_GRAVEYARD_WARP_PAD_REGION, []{return true;}),
|
Entrance(RR_GRAVEYARD_WARP_PAD_REGION, []{return true;}),
|
||||||
});
|
});
|
||||||
|
@ -19,8 +19,8 @@ void RegionTable_Init_ShadowTemple() {
|
||||||
areaTable[RR_SHADOW_TEMPLE_BEGINNING] = Region("Shadow Temple Beginning", "Shadow Temple", {RA_SHADOW_TEMPLE}, NO_DAY_NIGHT_CYCLE, {}, {}, {
|
areaTable[RR_SHADOW_TEMPLE_BEGINNING] = Region("Shadow Temple Beginning", "Shadow Temple", {RA_SHADOW_TEMPLE}, NO_DAY_NIGHT_CYCLE, {}, {}, {
|
||||||
//Exits
|
//Exits
|
||||||
Entrance(RR_SHADOW_TEMPLE_ENTRYWAY, []{return true;}),
|
Entrance(RR_SHADOW_TEMPLE_ENTRYWAY, []{return true;}),
|
||||||
Entrance(RR_SHADOW_TEMPLE_WHISPERING_WALLS, []{return true;}),
|
Entrance(RR_SHADOW_TEMPLE_WHISPERING_WALLS, []{return ctx->GetTrickOption(RT_LENS_SHADOW) || logic->CanUse(RG_LENS_OF_TRUTH);}),
|
||||||
Entrance(RR_SHADOW_TEMPLE_FIRST_BEAMOS, []{return logic->CanUse(RG_HOVER_BOOTS);}),
|
Entrance(RR_SHADOW_TEMPLE_FIRST_BEAMOS, []{return (ctx->GetTrickOption(RT_LENS_SHADOW) || logic->CanUse(RG_LENS_OF_TRUTH)) && logic->CanUse(RG_HOVER_BOOTS);}),
|
||||||
});
|
});
|
||||||
|
|
||||||
areaTable[RR_SHADOW_TEMPLE_WHISPERING_WALLS] = Region("Shadow Temple Whispering Walls", "Shadow Temple", {RA_SHADOW_TEMPLE}, NO_DAY_NIGHT_CYCLE, {
|
areaTable[RR_SHADOW_TEMPLE_WHISPERING_WALLS] = Region("Shadow Temple Whispering Walls", "Shadow Temple", {RA_SHADOW_TEMPLE}, NO_DAY_NIGHT_CYCLE, {
|
||||||
|
@ -36,12 +36,12 @@ void RegionTable_Init_ShadowTemple() {
|
||||||
LOCATION(RC_SHADOW_TEMPLE_NEAR_DEAD_HAND_POT_1, logic->CanBreakPots()),
|
LOCATION(RC_SHADOW_TEMPLE_NEAR_DEAD_HAND_POT_1, logic->CanBreakPots()),
|
||||||
}, {
|
}, {
|
||||||
//Exits
|
//Exits
|
||||||
Entrance(RR_SHADOW_TEMPLE_BEGINNING, []{return true;}),
|
Entrance(RR_SHADOW_TEMPLE_BEGINNING, []{return true;}),
|
||||||
Entrance(RR_SHADOW_TEMPLE_MAP_ROOM, []{return true;}),
|
Entrance(RR_SHADOW_TEMPLE_WHISPERING_WALLS_SIDE_ROOM, []{return true;}),
|
||||||
Entrance(RR_SHADOW_TEMPLE_DEAD_HAND, []{return true;}),
|
Entrance(RR_SHADOW_TEMPLE_DEAD_HAND, []{return true;}),
|
||||||
});
|
});
|
||||||
|
|
||||||
areaTable[RR_SHADOW_TEMPLE_MAP_ROOM] = Region("Shadow Temple Map Room", "Shadow Temple", {RA_SHADOW_TEMPLE}, NO_DAY_NIGHT_CYCLE, {}, {
|
areaTable[RR_SHADOW_TEMPLE_WHISPERING_WALLS_SIDE_ROOM] = Region("Shadow Temple Whispering Walls Side Room", "Shadow Temple", {RA_SHADOW_TEMPLE}, NO_DAY_NIGHT_CYCLE, {}, {
|
||||||
//Locations
|
//Locations
|
||||||
LOCATION(RC_SHADOW_TEMPLE_MAP_CHEST, logic->CanJumpslashExceptHammer()),
|
LOCATION(RC_SHADOW_TEMPLE_MAP_CHEST, logic->CanJumpslashExceptHammer()),
|
||||||
LOCATION(RC_SHADOW_TEMPLE_MAP_CHEST_POT_1, logic->CanBreakPots()),
|
LOCATION(RC_SHADOW_TEMPLE_MAP_CHEST_POT_1, logic->CanBreakPots()),
|
||||||
|
@ -64,6 +64,7 @@ void RegionTable_Init_ShadowTemple() {
|
||||||
LOCATION(RC_SHADOW_TEMPLE_BEAMOS_STORM_FAIRY, logic->CanUse(RG_SONG_OF_STORMS)),
|
LOCATION(RC_SHADOW_TEMPLE_BEAMOS_STORM_FAIRY, logic->CanUse(RG_SONG_OF_STORMS)),
|
||||||
}, {
|
}, {
|
||||||
//Exits
|
//Exits
|
||||||
|
Entrance(RR_SHADOW_TEMPLE_BEGINNING, []{return ctx->GetTrickOption(RT_VISIBLE_COLLISION) && logic->CanUse(RG_HOVER_BOOTS);}),
|
||||||
Entrance(RR_SHADOW_TEMPLE_COMPASS_ROOM, []{return true;}),
|
Entrance(RR_SHADOW_TEMPLE_COMPASS_ROOM, []{return true;}),
|
||||||
Entrance(RR_SHADOW_TEMPLE_SPINNING_BLADES, []{return true;}),
|
Entrance(RR_SHADOW_TEMPLE_SPINNING_BLADES, []{return true;}),
|
||||||
Entrance(RR_SHADOW_TEMPLE_HUGE_PIT, []{return logic->HasExplosives() && logic->IsAdult && logic->SmallKeys(RR_SHADOW_TEMPLE, 1);}),
|
Entrance(RR_SHADOW_TEMPLE_HUGE_PIT, []{return logic->HasExplosives() && logic->IsAdult && logic->SmallKeys(RR_SHADOW_TEMPLE, 1);}),
|
||||||
|
@ -100,7 +101,7 @@ void RegionTable_Init_ShadowTemple() {
|
||||||
LOCATION(RC_SHADOW_TEMPLE_PIT_STORM_FAIRY, logic->CanUse(RG_SONG_OF_STORMS)),
|
LOCATION(RC_SHADOW_TEMPLE_PIT_STORM_FAIRY, logic->CanUse(RG_SONG_OF_STORMS)),
|
||||||
}, {
|
}, {
|
||||||
//Exits
|
//Exits
|
||||||
Entrance(RR_SHADOW_TEMPLE_FIRST_BEAMOS, []{return false;}), // TODO hookshot up?
|
Entrance(RR_SHADOW_TEMPLE_FIRST_BEAMOS, []{return false;}), // TODO hookshot up
|
||||||
Entrance(RR_SHADOW_TEMPLE_INVISIBLE_SPINNING_BLADES, []{return true;}),
|
Entrance(RR_SHADOW_TEMPLE_INVISIBLE_SPINNING_BLADES, []{return true;}),
|
||||||
Entrance(RR_SHADOW_TEMPLE_INVISIBLE_SPIKES, []{return logic->SmallKeys(RR_SHADOW_TEMPLE, 2);}),
|
Entrance(RR_SHADOW_TEMPLE_INVISIBLE_SPIKES, []{return logic->SmallKeys(RR_SHADOW_TEMPLE, 2);}),
|
||||||
});
|
});
|
||||||
|
@ -116,7 +117,6 @@ void RegionTable_Init_ShadowTemple() {
|
||||||
}, {
|
}, {
|
||||||
//Exits
|
//Exits
|
||||||
Entrance(RR_SHADOW_TEMPLE_HUGE_PIT, []{return true;}),
|
Entrance(RR_SHADOW_TEMPLE_HUGE_PIT, []{return true;}),
|
||||||
Entrance(RR_SHADOW_TEMPLE_SKULL_JAR, []{return ((ctx->GetTrickOption(RT_LENS_SHADOW_PLATFORM) && ctx->GetTrickOption(RT_LENS_SHADOW)) || logic->CanUse(RG_LENS_OF_TRUTH)) && logic->CanUse(RG_HOOKSHOT);}),
|
|
||||||
});
|
});
|
||||||
|
|
||||||
areaTable[RR_SHADOW_TEMPLE_INVISIBLE_SPIKES] = Region("Shadow Temple Invisible Spinning Blades", "Shadow Temple", {RA_SHADOW_TEMPLE}, NO_DAY_NIGHT_CYCLE, {}, {
|
areaTable[RR_SHADOW_TEMPLE_INVISIBLE_SPIKES] = Region("Shadow Temple Invisible Spinning Blades", "Shadow Temple", {RA_SHADOW_TEMPLE}, NO_DAY_NIGHT_CYCLE, {}, {
|
||||||
|
@ -142,11 +142,11 @@ void RegionTable_Init_ShadowTemple() {
|
||||||
areaTable[RR_SHADOW_TEMPLE_WIND_TUNNEL] = Region("Shadow Temple Wind Tunnel", "Shadow Temple", {RA_SHADOW_TEMPLE}, NO_DAY_NIGHT_CYCLE, {}, {}, {
|
areaTable[RR_SHADOW_TEMPLE_WIND_TUNNEL] = Region("Shadow Temple Wind Tunnel", "Shadow Temple", {RA_SHADOW_TEMPLE}, NO_DAY_NIGHT_CYCLE, {}, {}, {
|
||||||
//Exits
|
//Exits
|
||||||
Entrance(RR_SHADOW_TEMPLE_INVISIBLE_SPIKES, []{return logic->SmallKeys(RR_SHADOW_TEMPLE, 3);}),
|
Entrance(RR_SHADOW_TEMPLE_INVISIBLE_SPIKES, []{return logic->SmallKeys(RR_SHADOW_TEMPLE, 3);}),
|
||||||
Entrance(RR_SHADOW_TEMPLE_WIND_TUNNEL_HINT_ROOM, []{return logic->CanUse(RG_HOVER_BOOTS) || logic->CanUse(RG_HOOKSHOT);}),
|
Entrance(RR_SHADOW_TEMPLE_WIND_TUNNEL_HINT_ROOM, []{return (logic->CanUse(RG_HOVER_BOOTS) && logic->CanPassEnemy(RE_BIG_SKULLTULA)) || logic->CanUse(RG_HOOKSHOT);}),
|
||||||
Entrance(RR_SHADOW_TEMPLE_ROOM_TO_BOAT, []{return true;}),
|
Entrance(RR_SHADOW_TEMPLE_ROOM_TO_BOAT, []{return true;}),
|
||||||
});
|
});
|
||||||
|
|
||||||
areaTable[RR_SHADOW_TEMPLE_WIND_TUNNEL_HINT_ROOM] = Region("Shadow Temple Wind Tunnel Side Room", "Shadow Temple", {RA_SHADOW_TEMPLE}, NO_DAY_NIGHT_CYCLE, {}, {
|
areaTable[RR_SHADOW_TEMPLE_WIND_TUNNEL_HINT_ROOM] = Region("Shadow Temple Wind Tunnel Hint Room", "Shadow Temple", {RA_SHADOW_TEMPLE}, NO_DAY_NIGHT_CYCLE, {}, {
|
||||||
//Locations
|
//Locations
|
||||||
LOCATION(RC_SHADOW_TEMPLE_WIND_HINT_CHEST, true),
|
LOCATION(RC_SHADOW_TEMPLE_WIND_HINT_CHEST, true),
|
||||||
LOCATION(RC_SHADOW_TEMPLE_WIND_HINT_SUN_FAIRY, logic->CanUse(RG_SUNS_SONG)),
|
LOCATION(RC_SHADOW_TEMPLE_WIND_HINT_SUN_FAIRY, logic->CanUse(RG_SUNS_SONG)),
|
||||||
|
@ -155,7 +155,7 @@ void RegionTable_Init_ShadowTemple() {
|
||||||
Entrance(RR_SHADOW_TEMPLE_WIND_TUNNEL, []{return true;}),
|
Entrance(RR_SHADOW_TEMPLE_WIND_TUNNEL, []{return true;}),
|
||||||
});
|
});
|
||||||
|
|
||||||
areaTable[RR_SHADOW_TEMPLE_ROOM_TO_BOAT] = Region("Shadow Temple Dock", "Shadow Temple", {RA_SHADOW_TEMPLE}, NO_DAY_NIGHT_CYCLE, {}, {
|
areaTable[RR_SHADOW_TEMPLE_ROOM_TO_BOAT] = Region("Shadow Temple Room to Boat", "Shadow Temple", {RA_SHADOW_TEMPLE}, NO_DAY_NIGHT_CYCLE, {}, {
|
||||||
//Locations
|
//Locations
|
||||||
LOCATION(RC_SHADOW_TEMPLE_AFTER_WIND_ENEMY_CHEST, logic->CanKillEnemy(RE_GIBDO, ED_CLOSE, true, 2)),
|
LOCATION(RC_SHADOW_TEMPLE_AFTER_WIND_ENEMY_CHEST, logic->CanKillEnemy(RE_GIBDO, ED_CLOSE, true, 2)),
|
||||||
LOCATION(RC_SHADOW_TEMPLE_AFTER_WIND_HIDDEN_CHEST, logic->HasExplosives()),
|
LOCATION(RC_SHADOW_TEMPLE_AFTER_WIND_HIDDEN_CHEST, logic->HasExplosives()),
|
||||||
|
@ -214,8 +214,7 @@ void RegionTable_Init_ShadowTemple() {
|
||||||
|
|
||||||
areaTable[RR_SHADOW_TEMPLE_THREE_SKULL_JARS] = Region("Shadow Temple Three Skull Jars", "Shadow Temple", {RA_SHADOW_TEMPLE}, NO_DAY_NIGHT_CYCLE, {}, {
|
areaTable[RR_SHADOW_TEMPLE_THREE_SKULL_JARS] = Region("Shadow Temple Three Skull Jars", "Shadow Temple", {RA_SHADOW_TEMPLE}, NO_DAY_NIGHT_CYCLE, {}, {
|
||||||
//Locations
|
//Locations
|
||||||
//RANDOTODO check if child can reach the token
|
LOCATION(RC_SHADOW_TEMPLE_GS_TRIPLE_GIANT_POT, logic->HasItem(RG_GORONS_BRACELET) || logic->CanAttack()),
|
||||||
LOCATION(RC_SHADOW_TEMPLE_GS_TRIPLE_GIANT_POT, logic->IsAdult && logic->CanAttack()),
|
|
||||||
}, {
|
}, {
|
||||||
//Exits
|
//Exits
|
||||||
Entrance(RR_SHADOW_TEMPLE_MAZE, []{return true;}),
|
Entrance(RR_SHADOW_TEMPLE_MAZE, []{return true;}),
|
||||||
|
@ -272,12 +271,12 @@ void RegionTable_Init_ShadowTemple() {
|
||||||
}, {
|
}, {
|
||||||
//Exits
|
//Exits
|
||||||
Entrance(RR_SHADOW_TEMPLE_MQ_SPINNER_ROOM, []{return true;}),
|
Entrance(RR_SHADOW_TEMPLE_MQ_SPINNER_ROOM, []{return true;}),
|
||||||
Entrance(RR_SHADOW_TEMPLE_MQ_WHISPERING_WALLS_REDEADS, []{return true;}),
|
Entrance(RR_SHADOW_TEMPLE_MQ_WHISPERING_WALLS_SIDE_ROOM, []{return true;}),
|
||||||
//There's a shared flag tied to some glass here. eye target here and killing an enemy group later in the dungeon toggles. I'm building the logic as "intended", assuming the switch needs flipping
|
//There's a shared flag tied to some glass here. eye target here and killing an enemy group later in the dungeon toggles. I'm building the logic as "intended", assuming the switch needs flipping
|
||||||
Entrance(RR_SHADOW_TEMPLE_MQ_WHISPERING_WALLS_DEAD_HAND, []{return (logic->IsChild || logic->CanUse(RG_SONG_OF_TIME)) && logic->CanHitEyeTargets();}),
|
Entrance(RR_SHADOW_TEMPLE_MQ_WHISPERING_WALLS_DEAD_HAND, []{return (logic->IsChild || logic->CanUse(RG_SONG_OF_TIME)) && logic->CanHitEyeTargets();}),
|
||||||
});
|
});
|
||||||
|
|
||||||
areaTable[RR_SHADOW_TEMPLE_MQ_WHISPERING_WALLS_REDEADS] = Region("Shadow Temple MQ Whispering Walls Redeads", "Shadow Temple", {RA_SHADOW_TEMPLE}, NO_DAY_NIGHT_CYCLE, {}, {
|
areaTable[RR_SHADOW_TEMPLE_MQ_WHISPERING_WALLS_SIDE_ROOM] = Region("Shadow Temple MQ Whispering Walls Redeads", "Shadow Temple", {RA_SHADOW_TEMPLE}, NO_DAY_NIGHT_CYCLE, {}, {
|
||||||
//Locations
|
//Locations
|
||||||
LOCATION(RC_SHADOW_TEMPLE_MQ_COMPASS_CHEST, logic->CanKillEnemy(RE_REDEAD)),
|
LOCATION(RC_SHADOW_TEMPLE_MQ_COMPASS_CHEST, logic->CanKillEnemy(RE_REDEAD)),
|
||||||
LOCATION(RC_SHADOW_TEMPLE_MQ_ENTRANCE_REDEAD_POT_1, logic->CanBreakPots()),
|
LOCATION(RC_SHADOW_TEMPLE_MQ_ENTRANCE_REDEAD_POT_1, logic->CanBreakPots()),
|
||||||
|
@ -301,6 +300,7 @@ void RegionTable_Init_ShadowTemple() {
|
||||||
LOCATION(RC_SHADOW_TEMPLE_MQ_BEAMOS_STORM_FAIRY, logic->CanUse(RG_SONG_OF_STORMS)),
|
LOCATION(RC_SHADOW_TEMPLE_MQ_BEAMOS_STORM_FAIRY, logic->CanUse(RG_SONG_OF_STORMS)),
|
||||||
}, {
|
}, {
|
||||||
//Exits
|
//Exits
|
||||||
|
Entrance(RR_SHADOW_TEMPLE_MQ_SPINNER_ROOM, []{return ctx->GetTrickOption(RT_VISIBLE_COLLISION) && (logic->CanUse(RG_HOVER_BOOTS) || logic->HasFireSource());}),
|
||||||
Entrance(RR_SHADOW_TEMPLE_MQ_B2_GIBDO_ROOM, []{return true;}),
|
Entrance(RR_SHADOW_TEMPLE_MQ_B2_GIBDO_ROOM, []{return true;}),
|
||||||
Entrance(RR_SHADOW_TEMPLE_MQ_B2_TO_B3_CORRIDOR, []{return logic->HasExplosives() && logic->SmallKeys(RR_SHADOW_TEMPLE, 2);}),
|
Entrance(RR_SHADOW_TEMPLE_MQ_B2_TO_B3_CORRIDOR, []{return logic->HasExplosives() && logic->SmallKeys(RR_SHADOW_TEMPLE, 2);}),
|
||||||
Entrance(RR_SHADOW_TEMPLE_MQ_B2_SPINNING_BLADE_ROOM, []{return ctx->GetTrickOption(RT_LENS_SHADOW_MQ) || logic->CanUse(RG_LENS_OF_TRUTH);}),
|
Entrance(RR_SHADOW_TEMPLE_MQ_B2_SPINNING_BLADE_ROOM, []{return ctx->GetTrickOption(RT_LENS_SHADOW_MQ) || logic->CanUse(RG_LENS_OF_TRUTH);}),
|
||||||
|
|
|
@ -970,7 +970,7 @@ typedef enum {
|
||||||
|
|
||||||
RR_SHADOW_TEMPLE_BEGINNING,
|
RR_SHADOW_TEMPLE_BEGINNING,
|
||||||
RR_SHADOW_TEMPLE_WHISPERING_WALLS,
|
RR_SHADOW_TEMPLE_WHISPERING_WALLS,
|
||||||
RR_SHADOW_TEMPLE_MAP_ROOM,
|
RR_SHADOW_TEMPLE_WHISPERING_WALLS_SIDE_ROOM,
|
||||||
RR_SHADOW_TEMPLE_DEAD_HAND,
|
RR_SHADOW_TEMPLE_DEAD_HAND,
|
||||||
RR_SHADOW_TEMPLE_FIRST_BEAMOS,
|
RR_SHADOW_TEMPLE_FIRST_BEAMOS,
|
||||||
RR_SHADOW_TEMPLE_COMPASS_ROOM,
|
RR_SHADOW_TEMPLE_COMPASS_ROOM,
|
||||||
|
@ -994,7 +994,7 @@ typedef enum {
|
||||||
RR_SHADOW_TEMPLE_MQ_BEGINNING,
|
RR_SHADOW_TEMPLE_MQ_BEGINNING,
|
||||||
RR_SHADOW_TEMPLE_MQ_SPINNER_ROOM,
|
RR_SHADOW_TEMPLE_MQ_SPINNER_ROOM,
|
||||||
RR_SHADOW_TEMPLE_MQ_WHISPERING_WALLS,
|
RR_SHADOW_TEMPLE_MQ_WHISPERING_WALLS,
|
||||||
RR_SHADOW_TEMPLE_MQ_WHISPERING_WALLS_REDEADS,
|
RR_SHADOW_TEMPLE_MQ_WHISPERING_WALLS_SIDE_ROOM,
|
||||||
RR_SHADOW_TEMPLE_MQ_WHISPERING_WALLS_DEAD_HAND,
|
RR_SHADOW_TEMPLE_MQ_WHISPERING_WALLS_DEAD_HAND,
|
||||||
RR_SHADOW_TEMPLE_MQ_FIRST_BEAMOS,
|
RR_SHADOW_TEMPLE_MQ_FIRST_BEAMOS,
|
||||||
RR_SHADOW_TEMPLE_MQ_B2_GIBDO_ROOM,
|
RR_SHADOW_TEMPLE_MQ_B2_GIBDO_ROOM,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue