mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-04-28 13:17:58 +03:00
Merge bdaf47a580
into fbbfc07ff1
This commit is contained in:
commit
aa8be6f32e
11 changed files with 49 additions and 22 deletions
|
@ -26,8 +26,8 @@ void RegionTable_Init_BottomOfTheWell() {
|
|||
//Locations
|
||||
LOCATION(RC_BOTTOM_OF_THE_WELL_FRONT_CENTER_BOMBABLE_CHEST, logic->HasExplosives()),
|
||||
LOCATION(RC_BOTTOM_OF_THE_WELL_FREESTANDING_KEY, (logic->HasItem(RG_BRONZE_SCALE) || logic->LoweredWaterInsideBotw) && logic->CanUse(RG_STICKS) || logic->CanUse(RG_DINS_FIRE)),
|
||||
LOCATION(RC_BOTTOM_OF_THE_WELL_UNDERWATER_FRONT_CHEST, logic->LoweredWaterInsideBotw),
|
||||
LOCATION(RC_BOTTOM_OF_THE_WELL_UNDERWATER_LEFT_CHEST, logic->LoweredWaterInsideBotw),
|
||||
LOCATION(RC_BOTTOM_OF_THE_WELL_UNDERWATER_FRONT_CHEST, logic->LoweredWaterInsideBotw || logic->CanOpenUnderwaterChest()),
|
||||
LOCATION(RC_BOTTOM_OF_THE_WELL_UNDERWATER_LEFT_CHEST, logic->LoweredWaterInsideBotw || logic->CanOpenUnderwaterChest()),
|
||||
LOCATION(RC_BOTTOM_OF_THE_WELL_NEAR_ENTRANCE_POT_1, logic->CanBreakPots()),
|
||||
LOCATION(RC_BOTTOM_OF_THE_WELL_NEAR_ENTRANCE_POT_2, logic->CanBreakPots()),
|
||||
LOCATION(RC_BOTTOM_OF_THE_WELL_UNDERWATER_POT, (logic->CanBreakPots() && logic->LoweredWaterInsideBotw) || logic->CanUse(RG_BOOMERANG)),
|
||||
|
|
|
@ -117,7 +117,7 @@ void RegionTable_Init_DodongosCavern() {
|
|||
areaTable[RR_DODONGOS_CAVERN_STAIRS_LOWER] = Region("Dodongos Cavern Stairs Lower", "Dodongos Cavern", {RA_DODONGOS_CAVERN}, NO_DAY_NIGHT_CYCLE, {}, {}, {
|
||||
//Exits
|
||||
Entrance(RR_DODONGOS_CAVERN_LOBBY, []{return true;}),
|
||||
Entrance(RR_DODONGOS_CAVERN_STAIRS_UPPER, []{return logic->HasExplosives() || logic->HasItem(RG_GORONS_BRACELET) || logic->CanUse(RG_DINS_FIRE) || (ctx->GetTrickOption(RT_DC_STAIRCASE) && logic->CanUse(RG_FAIRY_BOW));}),
|
||||
Entrance(RR_DODONGOS_CAVERN_STAIRS_UPPER, []{return logic->HasExplosives() || logic->HasItem(RG_GORONS_BRACELET) || logic->CanUse(RG_DINS_FIRE) || (ctx->GetTrickOption(RT_DC_STAIRS_WITH_BOW) && logic->CanUse(RG_FAIRY_BOW));}),
|
||||
Entrance(RR_DODONGOS_CAVERN_COMPASS_ROOM, []{return Here(RR_DODONGOS_CAVERN_STAIRS_LOWER, []{return logic->CanBreakMudWalls() || logic->HasItem(RG_GORONS_BRACELET);});}),
|
||||
});
|
||||
|
||||
|
@ -303,7 +303,7 @@ void RegionTable_Init_DodongosCavern() {
|
|||
|
||||
areaTable[RR_DODONGOS_CAVERN_MQ_STAIRS_LOWER] = Region("Dodongos Cavern MQ Stairs Lower", "Dodongos Cavern", {RA_DODONGOS_CAVERN}, NO_DAY_NIGHT_CYCLE, {
|
||||
//Events
|
||||
//EventAccess(&logic->CanClimbDCStairs, []{return logic->HasExplosives || logic->CanUse(RG_DINS_FIRE) || (ctx->GetTrickOption(RT_DC_STAIRCASE) && logic->CanUse(RG_FAIRY_BOW));}),
|
||||
//EventAccess(&logic->CanClimbDCStairs, []{return logic->HasExplosives || logic->CanUse(RG_DINS_FIRE) || (ctx->GetTrickOption(RT_DC_STAIRS_WITH_BOW) && logic->CanUse(RG_FAIRY_BOW));}),
|
||||
}, {
|
||||
//Locations
|
||||
LOCATION(RC_DODONGOS_CAVERN_MQ_STAIRCASE_POT_1, logic->CanBreakPots()),
|
||||
|
@ -316,7 +316,7 @@ void RegionTable_Init_DodongosCavern() {
|
|||
//Exits
|
||||
Entrance(RR_DODONGOS_CAVERN_MQ_LOBBY, []{return true;}),
|
||||
//This is possible with sticks and shield, igniting a first flower by "touch" then very quickly crouch stabbing in a way that cuts the corner to light the 3rd bomb on the other side, but that's a trick
|
||||
Entrance(RR_DODONGOS_CAVERN_MQ_STAIRS_UPPER, []{return Here(RR_DODONGOS_CAVERN_MQ_STAIRS_LOWER, []{return logic->HasExplosives() || logic->CanUse(RG_DINS_FIRE) || (ctx->GetTrickOption(RT_DC_STAIRCASE) && logic->CanUse(RG_FAIRY_BOW));});}),
|
||||
Entrance(RR_DODONGOS_CAVERN_MQ_STAIRS_UPPER, []{return Here(RR_DODONGOS_CAVERN_MQ_STAIRS_LOWER, []{return logic->HasExplosives() || logic->CanUse(RG_DINS_FIRE) || (ctx->GetTrickOption(RT_DC_STAIRS_WITH_BOW) && logic->CanUse(RG_FAIRY_BOW));});}),
|
||||
Entrance(RR_DODONGOS_CAVERN_MQ_STAIRS_PAST_MUD_WALL, []{return Here(RR_DODONGOS_CAVERN_MQ_STAIRS_LOWER, []{return logic->CanBreakMudWalls();});}),
|
||||
});
|
||||
|
||||
|
@ -329,7 +329,7 @@ void RegionTable_Init_DodongosCavern() {
|
|||
LOCATION(RC_DODONGOS_CAVERN_MQ_GS_SONG_OF_TIME_BLOCK_ROOM, logic->CanUse(RG_SONG_OF_TIME) && logic->CanGetEnemyDrop(RE_GOLD_SKULLTULA)),
|
||||
}, {
|
||||
//Exits
|
||||
Entrance(RR_DODONGOS_CAVERN_MQ_STAIRS_UPPER, []{return logic->HasItem(RG_GORONS_BRACELET) && (logic->CanUse(RG_STICKS));}),
|
||||
Entrance(RR_DODONGOS_CAVERN_MQ_STAIRS_UPPER, []{return logic->HasExplosives() || (logic->HasItem(RG_GORONS_BRACELET) && (logic->CanUse(RG_STICKS) || ctx->GetTrickOption(RT_DC_MQ_STAIRS_WITH_ONLY_STRENGTH))) || logic->CanUse(RG_DINS_FIRE) || (ctx->GetTrickOption(RT_DC_STAIRS_WITH_BOW) && logic->CanUse(RG_FAIRY_BOW));}),
|
||||
Entrance(RR_DODONGOS_CAVERN_MQ_STAIRS_LOWER, []{return true;}),
|
||||
});
|
||||
|
||||
|
@ -567,7 +567,7 @@ void RegionTable_Init_DodongosCavern() {
|
|||
|
||||
areaTable[RR_DODONGOS_CAVERN_BOSS_ROOM] = Region("Dodongos Cavern Boss Room", "Dodongos Cavern", {}, NO_DAY_NIGHT_CYCLE, {
|
||||
// Events
|
||||
EventAccess(&logic->DodongosCavernClear, []{return logic->DodongosCavernClear || (Here(RR_DODONGOS_CAVERN_BOSS_ROOM, []{return logic->HasExplosives() || (logic->CanUse(RG_MEGATON_HAMMER) && ctx->GetTrickOption(RT_DC_HAMMER_FLOOR));}) && logic->CanKillEnemy(RE_KING_DODONGO)); /*todo add chu kill to tricks*/}),
|
||||
EventAccess(&logic->DodongosCavernClear, []{return logic->DodongosCavernClear || (Here(RR_DODONGOS_CAVERN_BOSS_ROOM, []{return logic->HasExplosives() || (logic->CanUse(RG_MEGATON_HAMMER) && ctx->GetTrickOption(RT_DC_HAMMER_FLOOR));}) && logic->CanKillEnemy(RE_KING_DODONGO));}),
|
||||
}, {
|
||||
// Locations
|
||||
LOCATION(RC_DODONGOS_CAVERN_BOSS_ROOM_CHEST, true),
|
||||
|
|
|
@ -147,7 +147,7 @@ void RegionTable_Init_ForestTemple() {
|
|||
|
||||
areaTable[RR_FOREST_TEMPLE_SEWER] = Region("Forest Temple Sewer", "Forest Temple", {RA_FOREST_TEMPLE}, NO_DAY_NIGHT_CYCLE, {}, {
|
||||
//Locations
|
||||
LOCATION(RC_FOREST_TEMPLE_WELL_CHEST, HasAccessTo(RR_FOREST_TEMPLE_NE_OUTDOORS_UPPER)),
|
||||
LOCATION(RC_FOREST_TEMPLE_WELL_CHEST, HasAccessTo(RR_FOREST_TEMPLE_NE_OUTDOORS_UPPER) || (logic->CanOpenUnderwaterChest() && logic->WaterTimer() >= 8)),
|
||||
LOCATION(RC_FOREST_TEMPLE_WELL_WEST_HEART, HasAccessTo(RR_FOREST_TEMPLE_NE_OUTDOORS_UPPER) || (logic->CanUse(RG_IRON_BOOTS) && logic->WaterTimer() >= 8)),
|
||||
LOCATION(RC_FOREST_TEMPLE_WELL_EAST_HEART, HasAccessTo(RR_FOREST_TEMPLE_NE_OUTDOORS_UPPER) || (logic->CanUse(RG_IRON_BOOTS) && logic->WaterTimer() >= 8)),
|
||||
}, {
|
||||
|
@ -444,7 +444,7 @@ void RegionTable_Init_ForestTemple() {
|
|||
EventAccess(&logic->DekuBabaNuts, []{return logic->CanGetDekuBabaNuts();}),
|
||||
}, {
|
||||
//Locations
|
||||
LOCATION(RC_FOREST_TEMPLE_MQ_WELL_CHEST, logic->CanHitEyeTargets()),
|
||||
LOCATION(RC_FOREST_TEMPLE_MQ_WELL_CHEST, logic->CanHitEyeTargets() || (logic->CanOpenUnderwaterChest() && logic->WaterTimer() >= 8)),
|
||||
LOCATION(RC_FOREST_TEMPLE_MQ_GS_RAISED_ISLAND_COURTYARD, logic->CanGetEnemyDrop(RE_GOLD_SKULLTULA)),
|
||||
//implies logic->CanGetEnemyDrop(RE_GOLD_SKULLTULA)
|
||||
LOCATION(RC_FOREST_TEMPLE_MQ_GS_WELL, logic->CanHitEyeTargets() || (logic->CanUse(RG_IRON_BOOTS) && logic->CanUse(RG_HOOKSHOT))),
|
||||
|
|
|
@ -173,7 +173,7 @@ void RegionTable_Init_GerudoTrainingGround() {
|
|||
areaTable[RR_GERUDO_TRAINING_GROUND_MQ_LEFT_SIDE] = Region("Gerudo Training Ground MQ Left Side", "Gerudo Training Ground", {RA_GERUDO_TRAINING_GROUND}, NO_DAY_NIGHT_CYCLE, {}, {}, {
|
||||
//Exits
|
||||
Entrance(RR_GERUDO_TRAINING_GROUND_MQ_SAND_ROOM, []{return true;}),
|
||||
Entrance(RR_GERUDO_TRAINING_GROUND_MQ_STALFOS_ROOM, []{return Here(RR_GERUDO_TRAINING_GROUND_MQ_LEFT_SIDE, []{return logic->CanUse(RG_LONGSHOT) || ctx->GetTrickOption(RT_GTG_MQ_WIHTOUT_HOOKSHOT) || (ctx->GetTrickOption(RT_GTG_MQ_WITH_HOOKSHOT) && logic->IsAdult && logic->CanJumpslash() && logic->CanUse(RG_HOOKSHOT));});}),
|
||||
Entrance(RR_GERUDO_TRAINING_GROUND_MQ_STALFOS_ROOM, []{return Here(RR_GERUDO_TRAINING_GROUND_MQ_LEFT_SIDE, []{return logic->CanUse(RG_LONGSHOT) || ctx->GetTrickOption(RT_GTG_MQ_WITHOUT_HOOKSHOT) || (ctx->GetTrickOption(RT_GTG_MQ_WITH_HOOKSHOT) && logic->IsAdult && logic->CanJumpslash() && logic->CanUse(RG_HOOKSHOT));});}),
|
||||
});
|
||||
|
||||
areaTable[RR_GERUDO_TRAINING_GROUND_MQ_STALFOS_ROOM] = Region("Gerudo Training Ground MQ Stalfos Room", "Gerudo Training Ground", {RA_GERUDO_TRAINING_GROUND}, NO_DAY_NIGHT_CYCLE, {
|
||||
|
@ -287,7 +287,7 @@ void RegionTable_Init_GerudoTrainingGround() {
|
|||
areaTable[RR_GERUDO_TRAINING_GROUND_MQ_UNDERWATER] = Region("Gerudo Training Ground MQ Underwater", "Gerudo Training Ground", {RA_GERUDO_TRAINING_GROUND}, NO_DAY_NIGHT_CYCLE, {}, {
|
||||
//Locations
|
||||
//it is possible to snipe the stingers with bow or sling before dropping in, or just get really lucky, and avoid needing to take damage, but that might be trick worthy
|
||||
LOCATION(RC_GERUDO_TRAINING_GROUND_MQ_UNDERWATER_SILVER_RUPEE_CHEST, logic->HasFireSource() && logic->CanUse(RG_IRON_BOOTS) && logic->WaterTimer() >= 24 && logic->TakeDamage()),
|
||||
LOCATION(RC_GERUDO_TRAINING_GROUND_MQ_UNDERWATER_SILVER_RUPEE_CHEST, logic->HasFireSource() && logic->CanUse(RG_IRON_BOOTS) && logic->WaterTimer() >= 24 && logic->HasItem(RG_BRONZE_SCALE) && logic->TakeDamage()),
|
||||
}, {
|
||||
//Exits
|
||||
Entrance(RR_GERUDO_TRAINING_GROUND_MQ_PLATFORMS_UNLIT_TORCH, []{return true;}),
|
||||
|
|
|
@ -351,7 +351,7 @@ void RegionTable_Init_SpiritTemple() {
|
|||
|
||||
areaTable[RR_SPIRIT_TEMPLE_MQ_STATUE_ROOM_EAST] = Region("Spirit Temple MQ Statue Room East", "Spirit Temple", {RA_SPIRIT_TEMPLE}, NO_DAY_NIGHT_CYCLE, {}, {
|
||||
//Locations
|
||||
LOCATION(RC_SPIRIT_TEMPLE_MQ_STATUE_ROOM_LULLABY_CHEST, logic->CanUse(RG_HOOKSHOT) & logic->CanUse(RG_ZELDAS_LULLABY) && (logic->CanJumpslash() || logic->CanUse(RG_HOVER_BOOTS))),
|
||||
LOCATION(RC_SPIRIT_TEMPLE_MQ_STATUE_ROOM_LULLABY_CHEST, logic->CanUse(RG_HOOKSHOT) && logic->CanUse(RG_ZELDAS_LULLABY) && (logic->CanJumpslash() || logic->CanUse(RG_HOVER_BOOTS))),
|
||||
LOCATION(RC_SPIRIT_TEMPLE_MQ_STATUE_ROOM_INVISIBLE_CHEST, (ctx->GetTrickOption(RT_LENS_SPIRIT_MQ) || logic->CanUse(RG_LENS_OF_TRUTH)) && (logic->CanUse(RG_HOOKSHOT) || logic->CanUse(RG_HOVER_BOOTS))),
|
||||
}, {
|
||||
//Exits
|
||||
|
|
|
@ -379,8 +379,7 @@ void RegionTable_Init_WaterTemple() {
|
|||
}, {
|
||||
//Locations
|
||||
LOCATION(RC_WATER_TEMPLE_MQ_MAP_CHEST, logic->MQWaterLevel(WL_HIGH) && logic->HasFireSource() && logic->CanUse(RG_HOOKSHOT)),
|
||||
//easy to get at WL_HIGH with the hook-the-underwater-chest glitch
|
||||
LOCATION(RC_WATER_TEMPLE_MQ_LONGSHOT_CHEST, logic->MQWaterLevel(WL_MID) && logic->CanUse(RG_HOOKSHOT)),
|
||||
LOCATION(RC_WATER_TEMPLE_MQ_LONGSHOT_CHEST, (logic->MQWaterLevel(WL_MID) && logic->CanUse(RG_HOOKSHOT)) || (logic->MQWaterLevel(WL_HIGH_OR_MID) && logic->CanOpenUnderwaterChest())),
|
||||
LOCATION(RC_WATER_TEMPLE_MQ_LOWER_TORCHES_POT_1, (logic->MQWaterLevel(WL_LOW) && logic->CanBreakPots()) || (logic->CanUse(RG_IRON_BOOTS) && logic->CanUse(RG_HOOKSHOT) && logic->WaterTimer() >= 16)),
|
||||
LOCATION(RC_WATER_TEMPLE_MQ_LOWER_TORCHES_POT_2, (logic->MQWaterLevel(WL_LOW) && logic->CanBreakPots()) || (logic->CanUse(RG_IRON_BOOTS) && logic->CanUse(RG_HOOKSHOT) && logic->WaterTimer() >= 16)),
|
||||
}, {
|
||||
|
|
|
@ -7,7 +7,7 @@ void RegionTable_Init_HyruleField() {
|
|||
// clang-format off
|
||||
areaTable[RR_HYRULE_FIELD] = Region("Hyrule Field", "Hyrule Field", {RA_HYRULE_FIELD}, DAY_NIGHT_CYCLE, {
|
||||
//Events
|
||||
EventAccess(&logic->BigPoeKill, []{return logic->CanUse(RG_FAIRY_BOW) && logic->CanUse(RG_EPONA) && logic->HasBottle();}),
|
||||
EventAccess(&logic->BigPoeKill, []{return logic->HasBottle() && logic->CanUse(RG_FAIRY_BOW) && (logic->CanUse(RG_EPONA) || ctx->GetTrickOption(RT_HF_BIG_POE_WITHOUT_EPONA));}),
|
||||
}, {
|
||||
//Locations
|
||||
LOCATION(RC_HF_OCARINA_OF_TIME_ITEM, logic->IsChild && logic->StoneCount() == 3 && logic->HasItem(RG_BRONZE_SCALE)),
|
||||
|
|
|
@ -443,6 +443,10 @@ bool Logic::CanOpenOverworldDoor(RandomizerGet key) {
|
|||
return HasItem(key);
|
||||
}
|
||||
|
||||
bool Logic::CanOpenUnderwaterChest() {
|
||||
return ctx->GetTrickOption(RT_OPEN_UNDERWATER_CHEST) && CanUse(RG_IRON_BOOTS) && CanUse(RG_HOOKSHOT);
|
||||
}
|
||||
|
||||
uint8_t GetDifficultyValueFromString(Rando::Option& glitchOption) {
|
||||
return 0;
|
||||
}
|
||||
|
@ -734,7 +738,8 @@ bool Logic::CanKillEnemy(RandomizerEnemy enemy, EnemyDistance distance, bool wal
|
|||
(CanUse(RG_NUTS) || CanUse(RG_FAIRY_SLINGSHOT) || CanUse(RG_FAIRY_BOW) || HookshotOrBoomerang());
|
||||
case RE_KING_DODONGO:
|
||||
return HasBossSoul(RG_KING_DODONGO_SOUL) && CanJumpslash() &&
|
||||
(CanUse(RG_BOMB_BAG) || HasItem(RG_GORONS_BRACELET));
|
||||
(CanUse(RG_BOMB_BAG) || HasItem(RG_GORONS_BRACELET) ||
|
||||
(ctx->GetTrickOption(RT_DC_DODONGO_CHU) && IsAdult && CanUse(RG_BOMBCHU_5)));
|
||||
case RE_BARINADE:
|
||||
return HasBossSoul(RG_BARINADE_SOUL) && CanUse(RG_BOOMERANG) && CanJumpslashExceptHammer();
|
||||
case RE_PHANTOM_GANON:
|
||||
|
@ -743,7 +748,10 @@ bool Logic::CanKillEnemy(RandomizerEnemy enemy, EnemyDistance distance, bool wal
|
|||
case RE_VOLVAGIA:
|
||||
return HasBossSoul(RG_VOLVAGIA_SOUL) && CanUse(RG_MEGATON_HAMMER);
|
||||
case RE_MORPHA:
|
||||
return HasBossSoul(RG_MORPHA_SOUL) && CanUse(RG_HOOKSHOT) && (CanUseSword() || CanUse(RG_MEGATON_HAMMER));
|
||||
return HasBossSoul(RG_MORPHA_SOUL) &&
|
||||
(CanUse(RG_HOOKSHOT) ||
|
||||
(ctx->GetTrickOption(RT_WATER_MORPHA_WITHOUT_HOOKSHOT) && HasItem(RG_BRONZE_SCALE))) &&
|
||||
(CanUseSword() || CanUse(RG_MEGATON_HAMMER));
|
||||
case RE_BONGO_BONGO:
|
||||
return HasBossSoul(RG_BONGO_BONGO_SOUL) &&
|
||||
(CanUse(RG_LENS_OF_TRUTH) || ctx->GetTrickOption(RT_LENS_BONGO)) && CanUseSword() &&
|
||||
|
|
|
@ -192,6 +192,7 @@ class Logic {
|
|||
bool CanOpenOverworldDoor(RandomizerGet itemName);
|
||||
bool SmallKeys(RandomizerRegion dungeon, uint8_t requiredAmount);
|
||||
bool SmallKeys(RandomizerRegion dungeon, uint8_t requiredAmountGlitchless, uint8_t requiredAmountGlitched);
|
||||
bool CanOpenUnderwaterChest();
|
||||
bool CanDoGlitch(GlitchType glitch);
|
||||
bool CanEquipSwap(RandomizerGet itemName);
|
||||
bool CanKillEnemy(RandomizerEnemy enemy, EnemyDistance distance = ED_CLOSE, bool wallOrFloor = true,
|
||||
|
|
|
@ -3489,11 +3489,13 @@ typedef enum {
|
|||
RT_HOVER_BOOST_SIMPLE,
|
||||
RT_BOMBCHU_BEEHIVES,
|
||||
RT_BLUE_FIRE_MUD_WALLS,
|
||||
RT_OPEN_UNDERWATER_CHEST,
|
||||
RT_KF_ADULT_GS, // -- location tricks
|
||||
RT_LW_BRIDGE,
|
||||
RT_LW_MIDO_BACKFLIP,
|
||||
RT_LW_GS_BEAN,
|
||||
RT_HC_STORMS_GS,
|
||||
RT_HF_BIG_POE_WITHOUT_EPONA,
|
||||
RT_KAK_MAN_ON_ROOF,
|
||||
RT_KAK_TOWER_GS,
|
||||
RT_KAK_ADULT_WINDMILL_POH,
|
||||
|
@ -3548,14 +3550,16 @@ typedef enum {
|
|||
RT_DEKU_MQ_LOG,
|
||||
RT_DC_SCARECROW_GS,
|
||||
RT_DC_VINES_GS,
|
||||
RT_DC_STAIRCASE,
|
||||
RT_DC_STAIRS_WITH_BOW,
|
||||
RT_DC_SLINGSHOT_SKIP,
|
||||
RT_DC_SCRUB_ROOM,
|
||||
RT_DC_JUMP,
|
||||
RT_DC_HAMMER_FLOOR,
|
||||
RT_DC_MQ_STAIRS_WITH_ONLY_STRENGTH,
|
||||
RT_DC_MQ_CHILD_BOMBS,
|
||||
RT_DC_MQ_CHILD_EYES,
|
||||
RT_DC_MQ_ADULT_EYES,
|
||||
RT_DC_DODONGO_CHU,
|
||||
RT_JABU_ALCOVE_JUMP_DIVE,
|
||||
RT_JABU_BOSS_HOVER,
|
||||
RT_JABU_NEAR_BOSS_RANGED,
|
||||
|
@ -3611,6 +3615,7 @@ typedef enum {
|
|||
RT_WATER_CHILD_DRAGON,
|
||||
RT_WATER_MQ_CENTRAL_PILLAR,
|
||||
RT_WATER_MQ_LOCKED_GS,
|
||||
RT_WATER_MORPHA_WITHOUT_HOOKSHOT,
|
||||
RT_LENS_SHADOW,
|
||||
RT_LENS_SHADOW_PLATFORM,
|
||||
RT_LENS_BONGO,
|
||||
|
@ -3649,7 +3654,7 @@ typedef enum {
|
|||
RT_GTG_FAKE_WALL,
|
||||
RT_LENS_GTG_MQ,
|
||||
RT_GTG_MQ_WITH_HOOKSHOT,
|
||||
RT_GTG_MQ_WIHTOUT_HOOKSHOT,
|
||||
RT_GTG_MQ_WITHOUT_HOOKSHOT,
|
||||
RT_LENS_GANON,
|
||||
RT_GANON_SPIRIT_TRIAL_HOOKSHOT,
|
||||
RT_LENS_GANON_MQ,
|
||||
|
|
|
@ -401,6 +401,9 @@ void Settings::CreateOptions() {
|
|||
"Allows exploding beehives with Bombchus.");
|
||||
OPT_TRICK(RT_BLUE_FIRE_MUD_WALLS, RCQUEST_BOTH, RA_NONE, { Tricks::Tag::NOVICE }, "Break Mud Walls with Blue Fire",
|
||||
"Use Blue Fire to break mud walls.");
|
||||
OPT_TRICK(RT_OPEN_UNDERWATER_CHEST, RCQUEST_BOTH, RA_NONE, { Tricks::Tag::NOVICE, Tricks::Tag::GLITCH },
|
||||
"Open Underwater Chests",
|
||||
"Underwater chests can be opened by wearing iron boots and hookshotting the chest.");
|
||||
OPT_TRICK(RT_KF_ADULT_GS, RCQUEST_BOTH, RA_KOKIRI_FOREST, { Tricks::Tag::NOVICE },
|
||||
"Adult Kokiri Forest GS with Hover Boots",
|
||||
"Can be obtained without Hookshot by using the Hover Boots off of one of the roots.");
|
||||
|
@ -418,6 +421,9 @@ void Settings::CreateOptions() {
|
|||
"Hyrule Castle Storms Grotto GS with Just Boomerang",
|
||||
"With precise throws, the Boomerang alone can kill the Skulltula and collect the token, without first "
|
||||
"needing to blow up the wall.");
|
||||
OPT_TRICK(RT_HF_BIG_POE_WITHOUT_EPONA, RCQUEST_BOTH, RA_HYRULE_FIELD, { Tricks::Tag::NOVICE },
|
||||
"Big Poe without Epona",
|
||||
"Big Poes have a chance of appearing without Epona, you can shoot them quickly with only bow.");
|
||||
OPT_TRICK(RT_KAK_MAN_ON_ROOF, RCQUEST_BOTH, RA_KAKARIKO_VILLAGE, { Tricks::Tag::NOVICE },
|
||||
"Man on Roof without Hookshot",
|
||||
"Can be reached by side-hopping off the watchtower as either age, or by jumping onto the potion shop's "
|
||||
|
@ -635,8 +641,8 @@ void Settings::CreateOptions() {
|
|||
"Dodongo\'s Cavern Vines GS from Below with Longshot",
|
||||
"The vines upon which this Skulltula rests are one-sided collision. You can use the Longshot to get it "
|
||||
"from below, by shooting it through the vines, bypassing the need to lower the staircase.");
|
||||
OPT_TRICK(RT_DC_STAIRCASE, RCQUEST_VANILLA, RA_DODONGOS_CAVERN, { Tricks::Tag::NOVICE },
|
||||
"Dodongo\'s Cavern Staircase with Bow",
|
||||
OPT_TRICK(RT_DC_STAIRS_WITH_BOW, RCQUEST_VANILLA, RA_DODONGOS_CAVERN, { Tricks::Tag::NOVICE },
|
||||
"Dodongo\'s Cavern Stairs with Bow",
|
||||
"The Bow can be used to knock down the stairs with two well-timed shots.");
|
||||
OPT_TRICK(RT_DC_SLINGSHOT_SKIP, RCQUEST_VANILLA, RA_DODONGOS_CAVERN, { Tricks::Tag::EXPERT },
|
||||
"Dodongo\'s Cavern Child Slingshot Skips",
|
||||
|
@ -655,6 +661,12 @@ void Settings::CreateOptions() {
|
|||
"The bombable floor before King Dodongo can be destroyed with Hammer if hit in the very center. This is "
|
||||
"only relevant with Shuffle Boss Entrances or if Dodongo's Cavern is MQ and either variant of "
|
||||
"\"Dodongo's Cavern MQ Light the Eyes with Strength\" is on.");
|
||||
OPT_TRICK(RT_DC_DODONGO_CHU, RCQUEST_BOTH, RA_DODONGOS_CAVERN, { Tricks::Tag::ADVANCED },
|
||||
"Dodongo\'s Cavern Dodongo without Bombchus",
|
||||
"With precise timing you can feed King Dodongo a bombchu during a backflip");
|
||||
OPT_TRICK(RT_DC_MQ_STAIRS_WITH_ONLY_STRENGTH, RCQUEST_MQ, RA_DODONGOS_CAVERN, { Tricks::Tag::NOVICE },
|
||||
"Dodongo\'s Cavern MQ Stairs With Only Strength",
|
||||
"Taking a bomb from the back can be used to lower stairs without using stick to drop bomb from wall.");
|
||||
OPT_TRICK(RT_DC_MQ_CHILD_BOMBS, RCQUEST_MQ, RA_DODONGOS_CAVERN, { Tricks::Tag::ADVANCED },
|
||||
"Dodongo\'s Cavern MQ Early Bomb Bag Area as Child",
|
||||
"With a precise jump slash from above, you can reach the Bomb Bag area as only child without needing a "
|
||||
|
@ -930,6 +942,8 @@ void Settings::CreateOptions() {
|
|||
"Water Temple MQ North Basement GS without Small Key",
|
||||
"There is an invisible Hookshot target that can be used to get over the gate that blocks you from going to "
|
||||
"this Skulltula early, skipping a small key as well as needing Hovers or Scarecrow to reach the locked door.");
|
||||
OPT_TRICK(RT_WATER_MORPHA_WITHOUT_HOOKSHOT, RCQUEST_BOTH, RA_WATER_TEMPLE, { Tricks::Tag::EXTREME },
|
||||
"Water Temple Morpha without Hookshot", "It is possible to slash at Morpha without hookshot.");
|
||||
OPT_TRICK(RT_LENS_SHADOW, RCQUEST_VANILLA, RA_SHADOW_TEMPLE, { Tricks::Tag::NOVICE },
|
||||
"Shadow Temple Stationary Objects without Lens of Truth",
|
||||
"Removes the requirements for the Lens of Truth in Shadow Temple for most areas in the dungeon except "
|
||||
|
@ -1092,7 +1106,7 @@ void Settings::CreateOptions() {
|
|||
"Gerudo Training Ground MQ Left Side Silver Rupees with Hookshot",
|
||||
"The highest Silver Rupee can be obtained by hookshooting the target and then immediately jump slashing "
|
||||
"toward the Rupee.");
|
||||
OPT_TRICK(RT_GTG_MQ_WIHTOUT_HOOKSHOT, RCQUEST_MQ, RA_GERUDO_TRAINING_GROUND, { Tricks::Tag::INTERMEDIATE },
|
||||
OPT_TRICK(RT_GTG_MQ_WITHOUT_HOOKSHOT, RCQUEST_MQ, RA_GERUDO_TRAINING_GROUND, { Tricks::Tag::INTERMEDIATE },
|
||||
"Gerudo Training Ground MQ Left Side Silver Rupees without Hookshot",
|
||||
"After collecting the rest of the Silver Rupees in the room, you can reach the final Silver Rupee on the "
|
||||
"ceiling by being pulled up into it after getting grabbed by the Wallmaster. The Wallmaster will not "
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue