Adds option for shorter biggoron quest

This commit is contained in:
Ada 2022-05-16 15:03:56 +01:00
parent 076887e71f
commit 9f82457830
3 changed files with 39 additions and 11 deletions

View File

@ -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();
}

View File

@ -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;

View File

@ -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;