mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-01-30 23:10:14 -05:00
Move fix to hook
This commit is contained in:
parent
f05e9c99b9
commit
802a25971e
@ -800,6 +800,21 @@ void RegisterBrokenGiantsKnifeFix() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RegisterDekuNutUpgradeFix() {
|
||||||
|
GameInteractor::Instance->RegisterGameHook<GameInteractor::OnGameFrameUpdate>([]() {
|
||||||
|
if (!GameInteractor::IsSaveLoaded(true)) return;
|
||||||
|
if (CVarGetInteger(CVAR_ENHANCEMENT("DekuNutUpgradeFix"), 0)) {
|
||||||
|
s32 expectedNutUpgrades = (INV_CONTENT(ITEM_NUT) == ITEM_NUT ? 1 : 0) +
|
||||||
|
(Flags_GetInfTable(INFTABLE_193) ? 1 : 0) +
|
||||||
|
(Flags_GetItemGetInf(ITEMGETINF_OBTAINED_NUT_UPGRADE_FROM_STAGE) ? 1 : 0);
|
||||||
|
s32 actualNutUpgrades = CUR_UPG_VALUE(UPG_NUTS);
|
||||||
|
if (expectedNutUpgrades != actualNutUpgrades) {
|
||||||
|
Flags_UnsetItemGetInf(ITEMGETINF_OBTAINED_NUT_UPGRADE_FROM_STAGE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
//this map is used for enemies that can be uniquely identified by their id
|
//this map is used for enemies that can be uniquely identified by their id
|
||||||
//and that are always counted
|
//and that are always counted
|
||||||
//enemies that can't be uniquely identified by their id
|
//enemies that can't be uniquely identified by their id
|
||||||
@ -1502,6 +1517,7 @@ void InitMods() {
|
|||||||
RegisterMirrorModeHandler();
|
RegisterMirrorModeHandler();
|
||||||
RegisterResetNaviTimer();
|
RegisterResetNaviTimer();
|
||||||
RegisterBrokenGiantsKnifeFix();
|
RegisterBrokenGiantsKnifeFix();
|
||||||
|
RegisterDekuNutUpgradeFix();
|
||||||
RegisterEnemyDefeatCounts();
|
RegisterEnemyDefeatCounts();
|
||||||
RegisterBossDefeatTimestamps();
|
RegisterBossDefeatTimestamps();
|
||||||
RegisterAltTrapTypes();
|
RegisterAltTrapTypes();
|
||||||
|
@ -1468,18 +1468,10 @@ void DrawEnhancementsMenu() {
|
|||||||
UIWidgets::PaddedEnhancementCheckbox("Fix the Gravedigging Tour Glitch", CVAR_ENHANCEMENT("GravediggingTourFix"), true, false, SaveManager::Instance->IsRandoFile(),
|
UIWidgets::PaddedEnhancementCheckbox("Fix the Gravedigging Tour Glitch", CVAR_ENHANCEMENT("GravediggingTourFix"), true, false, SaveManager::Instance->IsRandoFile(),
|
||||||
"This setting is always enabled in randomizer files", UIWidgets::CheckboxGraphics::Checkmark);
|
"This setting is always enabled in randomizer files", UIWidgets::CheckboxGraphics::Checkmark);
|
||||||
UIWidgets::Tooltip("Fixes a bug where the Gravedigging Tour Heart Piece disappears if the area reloads");
|
UIWidgets::Tooltip("Fixes a bug where the Gravedigging Tour Heart Piece disappears if the area reloads");
|
||||||
if (UIWidgets::PaddedEnhancementCheckbox(
|
UIWidgets::PaddedEnhancementCheckbox(
|
||||||
"Fix Deku Nut upgrade", CVAR_ENHANCEMENT("DekuNutUpgradeFix"), true, false, IS_RANDO,
|
"Fix Deku Nut upgrade", CVAR_ENHANCEMENT("DekuNutUpgradeFix"), true, false, IS_RANDO,
|
||||||
"This setting is forcefully enabled when you are playing a randomizer.",
|
"This setting is forcefully enabled when you are playing a randomizer.",
|
||||||
UIWidgets::CheckboxGraphics::Checkmark)) {
|
UIWidgets::CheckboxGraphics::Checkmark);
|
||||||
s32 expectedNutUpgrades = (INV_CONTENT(ITEM_NUT) == ITEM_NUT ? 1 : 0) +
|
|
||||||
(Flags_GetInfTable(INFTABLE_193) ? 1 : 0) +
|
|
||||||
(Flags_GetItemGetInf(ITEMGETINF_OBTAINED_NUT_UPGRADE_FROM_STAGE) ? 1 : 0);
|
|
||||||
s32 actualNutUpgrades = CUR_UPG_VALUE(UPG_NUTS);
|
|
||||||
if (expectedNutUpgrades != actualNutUpgrades) {
|
|
||||||
Flags_UnsetItemGetInf(ITEMGETINF_OBTAINED_NUT_UPGRADE_FROM_STAGE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
UIWidgets::Tooltip("Prevents the Forest Stage Deku Nut upgrade from becoming unobtainable after receiving the Poacher's Saw");
|
UIWidgets::Tooltip("Prevents the Forest Stage Deku Nut upgrade from becoming unobtainable after receiving the Poacher's Saw");
|
||||||
UIWidgets::PaddedEnhancementCheckbox("Fix Navi text HUD position", CVAR_ENHANCEMENT("NaviTextFix"), true, false);
|
UIWidgets::PaddedEnhancementCheckbox("Fix Navi text HUD position", CVAR_ENHANCEMENT("NaviTextFix"), true, false);
|
||||||
UIWidgets::Tooltip("Correctly centers the Navi text prompt on the HUD's C-Up button");
|
UIWidgets::Tooltip("Correctly centers the Navi text prompt on the HUD's C-Up button");
|
||||||
|
Loading…
Reference in New Issue
Block a user