diff --git a/libultraship/libultraship/SohImGuiImpl.cpp b/libultraship/libultraship/SohImGuiImpl.cpp index d17d6ccee..a8fbed7f1 100644 --- a/libultraship/libultraship/SohImGuiImpl.cpp +++ b/libultraship/libultraship/SohImGuiImpl.cpp @@ -679,6 +679,8 @@ namespace SohImGui { Tooltip("Allows equiping the tunic and boots to c-buttons"); EnhancementCheckbox("MM Bunny Hood", "gMMBunnyHood"); Tooltip("Wearing the Bunny Hood grants a speed increase like in Majora's Mask"); + EnhancementCheckbox("2 Day Biggoron Quest", "gBiggoronShortQuest"); + Tooltip("Makes you wait 2 days instead of 3 to forge the Biggoron Sword"); ImGui::EndMenu(); } diff --git a/soh/src/overlays/actors/ovl_En_Go/z_en_go.c b/soh/src/overlays/actors/ovl_En_Go/z_en_go.c index 9508abf9a..a3db9c9f8 100644 --- a/soh/src/overlays/actors/ovl_En_Go/z_en_go.c +++ b/soh/src/overlays/actors/ovl_En_Go/z_en_go.c @@ -96,10 +96,18 @@ u16 EnGo_GetTextID(GlobalContext* globalCtx, Actor* thisx) { if (gSaveContext.bgsFlag) { return 0x305E; } else if (INV_CONTENT(ITEM_TRADE_ADULT) >= ITEM_CLAIM_CHECK) { - if (Environment_GetBgsDayCount() >= 3) { - return 0x305E; + if (CVar_GetS32("gBiggoronShortQuest", 0) != 0) { + if (Environment_GetBgsDayCount() >= 2) { + return 0x305E; + } else { + return 0x305D; + } } else { - return 0x305D; + if (Environment_GetBgsDayCount() >= 3) { + return 0x305E; + } else { + return 0x305D; + } } } else if (INV_CONTENT(ITEM_TRADE_ADULT) >= ITEM_EYEDROPS) { player->exchangeItemId = EXCH_ITEM_EYEDROPS; diff --git a/soh/src/overlays/actors/ovl_En_Go2/z_en_go2.c b/soh/src/overlays/actors/ovl_En_Go2/z_en_go2.c index b9603e246..c38f06df3 100644 --- a/soh/src/overlays/actors/ovl_En_Go2/z_en_go2.c +++ b/soh/src/overlays/actors/ovl_En_Go2/z_en_go2.c @@ -1021,19 +1021,37 @@ void EnGo2_BiggoronSetTextId(EnGo2* this, GlobalContext* globalCtx, Player* play } else if (!gSaveContext.bgsFlag && (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_CLAIM_CHECK)) { if (func_8002F368(globalCtx) == EXCH_ITEM_CLAIM_CHECK) { - if (Environment_GetBgsDayCount() >= 3) { - textId = 0x305E; - } else { + if (CVar_GetS32("gBiggoronShortQuest", 0) != 0) { + if (Environment_GetBgsDayCount() >= 2) { + textId = 0x305E; + } else { textId = 0x305D; + } + this->actor.textId = textId; + } else { + if (Environment_GetBgsDayCount() >= 3) { + textId = 0x305E; + } else { + textId = 0x305D; + } + this->actor.textId = textId; } - this->actor.textId = textId; } else { - if (Environment_GetBgsDayCount() >= 3) { - textId = 0x3002; + if (CVar_GetS32("gBiggoronShortQuest", 0) != 0) { + if (Environment_GetBgsDayCount() >= 2) { + textId = 0x3002; + } else { + textId = 0x305D; + } + this->actor.textId = textId; } else { - textId = 0x305D; + if (Environment_GetBgsDayCount() >= 3) { + textId = 0x3002; + } else { + textId = 0x305D; + } + this->actor.textId = textId; } - this->actor.textId = textId; } player->actor.textId = this->actor.textId;