mirror of
https://github.com/HarbourMasters/Shipwright
synced 2026-08-27 00:44:04 -04:00
Fixed carpenter guard hylian jabbernut requirement (#7121)
Made the boss introduction scene skip only work on the carpenter guards if the player has hylian nut or has not shuffled the ability to speak.
This commit is contained in:
@@ -441,7 +441,9 @@ void TimeSaverOnVanillaBehaviorHandler(GIVanillaBehavior id, bool* should, va_li
|
||||
|
||||
// If it's near a jailed carpenter, skip it along with introduction of Gerudo mini-boss
|
||||
if (gPlayState->sceneNum == SCENE_THIEVES_HIDEOUT &&
|
||||
CVarGetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.BossIntro"), IS_RANDO)) {
|
||||
CVarGetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.BossIntro"), IS_RANDO) &&
|
||||
(!IS_RANDO || !RAND_GET_OPTION(RSK_SHUFFLE_SPEAK) ||
|
||||
Flags_GetRandomizerInf(RAND_INF_CAN_SPEAK_HYLIAN))) {
|
||||
EnWonderTalk2* enWonderTalk = va_arg(args, EnWonderTalk2*);
|
||||
EnDaiku* enDaiku =
|
||||
(EnDaiku*)Actor_FindNearby(gPlayState, &enWonderTalk->actor, ACTOR_EN_DAIKU, ACTORCAT_NPC, 999.0f);
|
||||
|
||||
@@ -12,7 +12,7 @@ void RegionTable_Init_ThievesHideout() {
|
||||
EVENT_ACCESS(LOGIC_TH_RESCUED_ALL_CARPENTERS, logic->SmallKeys(SCENE_THIEVES_HIDEOUT, ctx->GetOption(RSK_GERUDO_FORTRESS).Is(RO_GF_CARPENTERS_NORMAL) ? 4 : 1) && logic->Get(LOGIC_TH_COULD_FREE_1_TORCH_CARPENTER) && logic->Get(LOGIC_TH_COULD_FREE_DOUBLE_CELL_CARPENTER) && logic->Get(LOGIC_TH_COULD_FREE_DEAD_END_CARPENTER) && logic->Get(LOGIC_TH_COULD_FREE_SLOPE_CARPENTER)),
|
||||
}, {
|
||||
//Locations
|
||||
LOCATION(RC_TH_1_TORCH_CARPENTER, logic->CanKillEnemy(RE_GERUDO_WARRIOR)),
|
||||
LOCATION(RC_TH_1_TORCH_CARPENTER, logic->Get(LOGIC_TH_COULD_FREE_1_TORCH_CARPENTER)),
|
||||
LOCATION(RC_TH_1_TORCH_CELL_RIGHT_POT, logic->CanBreakPots()),
|
||||
LOCATION(RC_TH_1_TORCH_CELL_MID_POT, logic->CanBreakPots()),
|
||||
LOCATION(RC_TH_1_TORCH_CELL_LEFT_POT, logic->CanBreakPots()),
|
||||
@@ -32,7 +32,7 @@ void RegionTable_Init_ThievesHideout() {
|
||||
EVENT_ACCESS(LOGIC_TH_RESCUED_ALL_CARPENTERS, logic->SmallKeys(SCENE_THIEVES_HIDEOUT, ctx->GetOption(RSK_GERUDO_FORTRESS).Is(RO_GF_CARPENTERS_NORMAL) ? 4 : 1) && logic->Get(LOGIC_TH_COULD_FREE_1_TORCH_CARPENTER) && logic->Get(LOGIC_TH_COULD_FREE_DOUBLE_CELL_CARPENTER) && logic->Get(LOGIC_TH_COULD_FREE_DEAD_END_CARPENTER) && logic->Get(LOGIC_TH_COULD_FREE_SLOPE_CARPENTER)),
|
||||
}, {
|
||||
//Locations
|
||||
LOCATION(RC_TH_DOUBLE_CELL_CARPENTER, logic->CanKillEnemy(RE_GERUDO_WARRIOR)),
|
||||
LOCATION(RC_TH_DOUBLE_CELL_CARPENTER, logic->Get(LOGIC_TH_COULD_FREE_DOUBLE_CELL_CARPENTER)),
|
||||
LOCATION(RC_TH_NEAR_DOUBLE_CELL_RIGHT_POT, logic->CanBreakPots()),
|
||||
LOCATION(RC_TH_NEAR_DOUBLE_CELL_MID_POT, logic->CanBreakPots()),
|
||||
LOCATION(RC_TH_NEAR_DOUBLE_CELL_LEFT_POT, logic->CanBreakPots()),
|
||||
@@ -58,7 +58,7 @@ void RegionTable_Init_ThievesHideout() {
|
||||
EVENT_ACCESS(LOGIC_TH_RESCUED_ALL_CARPENTERS, logic->SmallKeys(SCENE_THIEVES_HIDEOUT, ctx->GetOption(RSK_GERUDO_FORTRESS).Is(RO_GF_CARPENTERS_NORMAL) ? 4 : 1) && logic->Get(LOGIC_TH_COULD_FREE_1_TORCH_CARPENTER) && logic->Get(LOGIC_TH_COULD_FREE_DOUBLE_CELL_CARPENTER) && logic->Get(LOGIC_TH_COULD_FREE_DEAD_END_CARPENTER) && logic->Get(LOGIC_TH_COULD_FREE_SLOPE_CARPENTER)),
|
||||
}, {
|
||||
//Locations
|
||||
LOCATION(RC_TH_DEAD_END_CARPENTER, logic->CanKillEnemy(RE_GERUDO_WARRIOR)),
|
||||
LOCATION(RC_TH_DEAD_END_CARPENTER, logic->Get(LOGIC_TH_COULD_FREE_DEAD_END_CARPENTER)),
|
||||
LOCATION(RC_TH_DEAD_END_CELL_CRATE, logic->CanBreakCrates()),
|
||||
LOCATION(RC_TH_WONDER_DEAD_END_SKULL_ENTRANCE, logic->CanUse(RG_FAIRY_BOW)),
|
||||
LOCATION(RC_TH_WONDER_DEAD_END_SKULL_NEAR_JAIL, logic->CanUse(RG_FAIRY_BOW)),
|
||||
@@ -74,7 +74,7 @@ void RegionTable_Init_ThievesHideout() {
|
||||
EVENT_ACCESS(LOGIC_TH_RESCUED_ALL_CARPENTERS, logic->SmallKeys(SCENE_THIEVES_HIDEOUT, ctx->GetOption(RSK_GERUDO_FORTRESS).Is(RO_GF_CARPENTERS_NORMAL) ? 4 : 1) && logic->Get(LOGIC_TH_COULD_FREE_1_TORCH_CARPENTER) && logic->Get(LOGIC_TH_COULD_FREE_DOUBLE_CELL_CARPENTER) && logic->Get(LOGIC_TH_COULD_FREE_DEAD_END_CARPENTER) && logic->Get(LOGIC_TH_COULD_FREE_SLOPE_CARPENTER)),
|
||||
}, {
|
||||
//Locations
|
||||
LOCATION(RC_TH_STEEP_SLOPE_CARPENTER, logic->CanKillEnemy(RE_GERUDO_WARRIOR)),
|
||||
LOCATION(RC_TH_STEEP_SLOPE_CARPENTER, logic->Get(LOGIC_TH_COULD_FREE_SLOPE_CARPENTER)),
|
||||
LOCATION(RC_TH_STEEP_SLOPE_RIGHT_POT, logic->CanBreakPots()),
|
||||
LOCATION(RC_TH_STEEP_SLOPE_LEFT_POT, logic->CanBreakPots()),
|
||||
LOCATION(RC_TH_WONDER_STEEP_SLOPE_LOWER_EXIT, logic->CanUse(RG_FAIRY_BOW)),
|
||||
|
||||
Reference in New Issue
Block a user