mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-02-27 08:11:50 -05:00
fix boss clear logic and add bongo logic trick (#2677)
This commit is contained in:
parent
693f778b60
commit
2149cd1fdd
@ -244,7 +244,8 @@ void AreaTable_Init_JabuJabusBelly() {
|
|||||||
Area("Jabu Jabus Belly Boss Room", "Jabu Jabus Belly", NONE, NO_DAY_NIGHT_CYCLE,
|
Area("Jabu Jabus Belly Boss Room", "Jabu Jabus Belly", NONE, NO_DAY_NIGHT_CYCLE,
|
||||||
{
|
{
|
||||||
// Events
|
// Events
|
||||||
EventAccess(&JabuJabusBellyClear, { [] { return JabuJabusBellyClear || CanUse(BOOMERANG); } }),
|
EventAccess(&JabuJabusBellyClear,
|
||||||
|
{ [] { return JabuJabusBellyClear || (CanUse(BOOMERANG) && CanJumpslash); } }),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
// Locations
|
// Locations
|
||||||
|
@ -193,24 +193,25 @@ void AreaTable_Init_ShadowTemple() {
|
|||||||
Entrance(SHADOW_TEMPLE_BOSS_ROOM, { [] { return true; } }),
|
Entrance(SHADOW_TEMPLE_BOSS_ROOM, { [] { return true; } }),
|
||||||
});
|
});
|
||||||
|
|
||||||
areaTable[SHADOW_TEMPLE_BOSS_ROOM] =
|
areaTable[SHADOW_TEMPLE_BOSS_ROOM] = Area(
|
||||||
Area("Shadow Temple Boss Room", "Shadow Temple", NONE, NO_DAY_NIGHT_CYCLE,
|
"Shadow Temple Boss Room", "Shadow Temple", NONE, NO_DAY_NIGHT_CYCLE,
|
||||||
{
|
{
|
||||||
// Events
|
// Events
|
||||||
EventAccess(&ShadowTempleClear, { [] {
|
EventAccess(&ShadowTempleClear, { [] {
|
||||||
return ShadowTempleClear ||
|
return ShadowTempleClear ||
|
||||||
((CanUse(LENS_OF_TRUTH) || ((Dungeon::ShadowTemple.IsVanilla() && LogicLensShadowBack) ||
|
((CanUse(LENS_OF_TRUTH) || ((Dungeon::ShadowTemple.IsVanilla() && LogicLensShadowBack) ||
|
||||||
(Dungeon::ShadowTemple.IsMQ() && LogicLensShadowMQBack))) &&
|
(Dungeon::ShadowTemple.IsMQ() && LogicLensShadowMQBack))) &&
|
||||||
(CanUse(KOKIRI_SWORD) || CanUse(MASTER_SWORD) || CanUse(BIGGORON_SWORD)));
|
(CanUse(KOKIRI_SWORD) || CanUse(MASTER_SWORD) || CanUse(BIGGORON_SWORD) || LogicShadowBongo) &&
|
||||||
} }),
|
(CanUse(HOOKSHOT) || CanUse(BOW) || CanUse(SLINGSHOT)));
|
||||||
},
|
} }),
|
||||||
{
|
},
|
||||||
// Locations
|
{
|
||||||
LocationAccess(SHADOW_TEMPLE_BONGO_BONGO_HEART, { [] { return ShadowTempleClear; } }),
|
// Locations
|
||||||
LocationAccess(BONGO_BONGO, { [] { return ShadowTempleClear; } }),
|
LocationAccess(SHADOW_TEMPLE_BONGO_BONGO_HEART, { [] { return ShadowTempleClear; } }),
|
||||||
},
|
LocationAccess(BONGO_BONGO, { [] { return ShadowTempleClear; } }),
|
||||||
{
|
},
|
||||||
// Exits
|
{
|
||||||
Entrance(SHADOW_TEMPLE_BOSS_ENTRYWAY, { [] { return false; } }),
|
// Exits
|
||||||
});
|
Entrance(SHADOW_TEMPLE_BOSS_ENTRYWAY, { [] { return false; } }),
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
@ -1435,6 +1435,12 @@ string_view LogicShadowStatueDesc = "Difficulty: Novice\n"
|
|||||||
"By sending a Bombchu around the edge of the gorge,"
|
"By sending a Bombchu around the edge of the gorge,"
|
||||||
"you can knock down the statue without needing a\n"//
|
"you can knock down the statue without needing a\n"//
|
||||||
"Bow. Applies in both vanilla and MQ Shadow."; //
|
"Bow. Applies in both vanilla and MQ Shadow."; //
|
||||||
|
string_view LogicShadowBongoDesc = "Difficulty Expert\n" //
|
||||||
|
"Using precise sword slashes, Bongo Bongo can be\n"//
|
||||||
|
"defeated without using projectiles.\n" //
|
||||||
|
"This trick is much more difficult when done with\n"
|
||||||
|
"Kokiri Sword vs Master Sword or Biggorron Sword.\n"
|
||||||
|
"Useful for Boss Entrance Randomizer."; //
|
||||||
string_view LogicChildDeadhandDesc = "Difficulty: Novice\n" //
|
string_view LogicChildDeadhandDesc = "Difficulty: Novice\n" //
|
||||||
"Requires 9 sticks or 5 jump slashes."; //
|
"Requires 9 sticks or 5 jump slashes."; //
|
||||||
string_view LogicGtgWithoutHookshotDesc = "Difficulty: Expert\n" //
|
string_view LogicGtgWithoutHookshotDesc = "Difficulty: Expert\n" //
|
||||||
|
@ -431,6 +431,7 @@ extern string_view LogicShadowFireArrowEntryDesc;
|
|||||||
extern string_view LogicShadowUmbrellaDesc;
|
extern string_view LogicShadowUmbrellaDesc;
|
||||||
extern string_view LogicShadowFreestandingKeyDesc;
|
extern string_view LogicShadowFreestandingKeyDesc;
|
||||||
extern string_view LogicShadowStatueDesc;
|
extern string_view LogicShadowStatueDesc;
|
||||||
|
extern string_view LogicShadowBongoDesc;
|
||||||
extern string_view LogicChildDeadhandDesc;
|
extern string_view LogicChildDeadhandDesc;
|
||||||
extern string_view LogicGtgWithoutHookshotDesc;
|
extern string_view LogicGtgWithoutHookshotDesc;
|
||||||
extern string_view LogicGtgFakeWallDesc;
|
extern string_view LogicGtgFakeWallDesc;
|
||||||
|
@ -726,6 +726,7 @@ namespace Settings {
|
|||||||
Option LogicShadowUmbrella = LogicTrick(" ShT Stone Umbrella\n w/ Hover Boots", LogicShadowUmbrellaDesc);
|
Option LogicShadowUmbrella = LogicTrick(" ShT Stone Umbrella\n w/ Hover Boots", LogicShadowUmbrellaDesc);
|
||||||
Option LogicShadowFreestandingKey = LogicTrick(" ShT Skull Vase Key\n w/ Bombchu", LogicShadowFreestandingKeyDesc);
|
Option LogicShadowFreestandingKey = LogicTrick(" ShT Skull Vase Key\n w/ Bombchu", LogicShadowFreestandingKeyDesc);
|
||||||
Option LogicShadowStatue = LogicTrick(" ShT River Statue\n w/ Bombchu", LogicShadowStatueDesc);
|
Option LogicShadowStatue = LogicTrick(" ShT River Statue\n w/ Bombchu", LogicShadowStatueDesc);
|
||||||
|
Option LogicShadowBongo = LogicTrick("ShT Bongo\n w/o Projectiles", LogicShadowBongoDesc);
|
||||||
Option LogicChildDeadhand = LogicTrick(" BotW Deadhand\n w/o Sword", LogicChildDeadhandDesc);
|
Option LogicChildDeadhand = LogicTrick(" BotW Deadhand\n w/o Sword", LogicChildDeadhandDesc);
|
||||||
Option LogicGtgWithoutHookshot = LogicTrick(" GTG West Silver Rupee\n w/o Hookshot", LogicGtgWithoutHookshotDesc);
|
Option LogicGtgWithoutHookshot = LogicTrick(" GTG West Silver Rupee\n w/o Hookshot", LogicGtgWithoutHookshotDesc);
|
||||||
Option LogicGtgFakeWall = LogicTrick(" GTG Invisible Wall\n w/ Hover Boots", LogicGtgFakeWallDesc);
|
Option LogicGtgFakeWall = LogicTrick(" GTG Invisible Wall\n w/ Hover Boots", LogicGtgFakeWallDesc);
|
||||||
@ -816,6 +817,7 @@ namespace Settings {
|
|||||||
&LogicShadowUmbrella,
|
&LogicShadowUmbrella,
|
||||||
&LogicShadowFreestandingKey,
|
&LogicShadowFreestandingKey,
|
||||||
&LogicShadowStatue,
|
&LogicShadowStatue,
|
||||||
|
&LogicShadowBongo,
|
||||||
&LogicChildDeadhand,
|
&LogicChildDeadhand,
|
||||||
&LogicGtgWithoutHookshot,
|
&LogicGtgWithoutHookshot,
|
||||||
&LogicGtgFakeWall,
|
&LogicGtgFakeWall,
|
||||||
@ -2287,6 +2289,7 @@ namespace Settings {
|
|||||||
LogicSpiritSunChest.SetSelectedIndex(1);
|
LogicSpiritSunChest.SetSelectedIndex(1);
|
||||||
//LogicShadowFireArrowEntry.SetSelectedIndex(1);
|
//LogicShadowFireArrowEntry.SetSelectedIndex(1);
|
||||||
LogicShadowUmbrella.SetSelectedIndex(1);
|
LogicShadowUmbrella.SetSelectedIndex(1);
|
||||||
|
LogicShadowBongo.SetSelectedIndex(1);
|
||||||
LogicGtgWithoutHookshot.SetSelectedIndex(1);
|
LogicGtgWithoutHookshot.SetSelectedIndex(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1186,6 +1186,7 @@ void UpdateSettings(std::unordered_map<RandomizerSettingKey, uint8_t> cvarSettin
|
|||||||
extern Option LogicShadowUmbrella;
|
extern Option LogicShadowUmbrella;
|
||||||
extern Option LogicShadowFreestandingKey;
|
extern Option LogicShadowFreestandingKey;
|
||||||
extern Option LogicShadowStatue;
|
extern Option LogicShadowStatue;
|
||||||
|
extern Option LogicShadowBongo;
|
||||||
extern Option LogicChildDeadhand;
|
extern Option LogicChildDeadhand;
|
||||||
extern Option LogicGtgWithoutHookshot;
|
extern Option LogicGtgWithoutHookshot;
|
||||||
extern Option LogicGtgFakeWall;
|
extern Option LogicGtgFakeWall;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user