mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2024-11-25 10:52:19 -05:00
Fix kokiri sword unequipping when using switch age cheat/enhancements (#3415)
* test fix for ks unequip * remove unnecessary brackets
This commit is contained in:
parent
d50ad4779d
commit
95f27ace2e
@ -1526,13 +1526,13 @@ void Inventory_SwapAgeEquipment(void) {
|
|||||||
} else {
|
} else {
|
||||||
// When becoming child, set swordless flag if player doesn't have kokiri sword
|
// When becoming child, set swordless flag if player doesn't have kokiri sword
|
||||||
// Only in rando to keep swordless link bugs in vanilla
|
// Only in rando to keep swordless link bugs in vanilla
|
||||||
if (IS_RANDO && (EQUIP_INV_SWORD_KOKIRI << (EQUIP_TYPE_SWORD * 4) & gSaveContext.inventory.equipment) == 0) {
|
if (IS_RANDO && CHECK_OWNED_EQUIP(EQUIP_TYPE_SWORD, EQUIP_INV_SWORD_KOKIRI) == 0) {
|
||||||
Flags_SetInfTable(INFTABLE_SWORDLESS);
|
Flags_SetInfTable(INFTABLE_SWORDLESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
// When using enhancements, set swordless flag if player doesn't have kokiri sword or hasn't equipped a sword yet.
|
// When using enhancements, set swordless flag if player doesn't have kokiri sword or hasn't equipped a sword yet.
|
||||||
// Then set the child equips button items to item none to ensure kokiri sword is not equipped
|
// Then set the child equips button items to item none to ensure kokiri sword is not equipped
|
||||||
if ((CVarGetInteger("gSwitchAge", 0) || CVarGetInteger("gSwitchTimeline", 0)) && ((EQUIP_INV_SWORD_KOKIRI << (EQUIP_TYPE_SWORD * 4) & gSaveContext.inventory.equipment) == 0 || Flags_GetInfTable(INFTABLE_SWORDLESS))) {
|
if ((CVarGetInteger("gSwitchAge", 0) || CVarGetInteger("gSwitchTimeline", 0)) && (CHECK_OWNED_EQUIP(EQUIP_TYPE_SWORD, EQUIP_INV_SWORD_KOKIRI) == 0 || Flags_GetInfTable(INFTABLE_SWORDLESS))) {
|
||||||
Flags_SetInfTable(INFTABLE_SWORDLESS);
|
Flags_SetInfTable(INFTABLE_SWORDLESS);
|
||||||
gSaveContext.childEquips.buttonItems[0] = ITEM_NONE;
|
gSaveContext.childEquips.buttonItems[0] = ITEM_NONE;
|
||||||
}
|
}
|
||||||
@ -1568,7 +1568,7 @@ void Inventory_SwapAgeEquipment(void) {
|
|||||||
gSaveContext.equips.equipment = gSaveContext.childEquips.equipment;
|
gSaveContext.equips.equipment = gSaveContext.childEquips.equipment;
|
||||||
gSaveContext.equips.equipment &= (u16) ~(0xF << (EQUIP_TYPE_SWORD * 4));
|
gSaveContext.equips.equipment &= (u16) ~(0xF << (EQUIP_TYPE_SWORD * 4));
|
||||||
// Equips kokiri sword in the inventory screen only if kokiri sword exists in inventory and a sword has been equipped already
|
// Equips kokiri sword in the inventory screen only if kokiri sword exists in inventory and a sword has been equipped already
|
||||||
if (!((EQUIP_INV_SWORD_KOKIRI << (EQUIP_TYPE_SWORD * 4) & gSaveContext.inventory.equipment) == 0) && !Flags_GetInfTable(INFTABLE_SWORDLESS)) {
|
if (!(CHECK_OWNED_EQUIP(EQUIP_TYPE_SWORD, EQUIP_INV_SWORD_KOKIRI) == 0) && !Flags_GetInfTable(INFTABLE_SWORDLESS)) {
|
||||||
gSaveContext.equips.equipment |= EQUIP_VALUE_SWORD_KOKIRI << (EQUIP_TYPE_SWORD * 4);
|
gSaveContext.equips.equipment |= EQUIP_VALUE_SWORD_KOKIRI << (EQUIP_TYPE_SWORD * 4);
|
||||||
}
|
}
|
||||||
} else if (gSaveContext.childEquips.buttonItems[0] != ITEM_NONE) {
|
} else if (gSaveContext.childEquips.buttonItems[0] != ITEM_NONE) {
|
||||||
@ -1598,7 +1598,7 @@ void Inventory_SwapAgeEquipment(void) {
|
|||||||
(only kokiri tunic/boots equipped, no sword, no C-button items, no D-Pad items).
|
(only kokiri tunic/boots equipped, no sword, no C-button items, no D-Pad items).
|
||||||
When becoming child, set swordless flag if player doesn't have kokiri sword
|
When becoming child, set swordless flag if player doesn't have kokiri sword
|
||||||
Only in rando to keep swordless link bugs in vanilla*/
|
Only in rando to keep swordless link bugs in vanilla*/
|
||||||
if (EQUIP_INV_SWORD_KOKIRI << (EQUIP_TYPE_SWORD * 4) & gSaveContext.inventory.equipment == 0) {
|
if (CHECK_OWNED_EQUIP(EQUIP_TYPE_SWORD, EQUIP_INV_SWORD_KOKIRI) == 0) {
|
||||||
Flags_SetInfTable(INFTABLE_SWORDLESS);
|
Flags_SetInfTable(INFTABLE_SWORDLESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user