Fixes bug introduced by 73052617ed where keys, among others, would corrupt inventory slots. (#2626)

This commit is contained in:
Malkierian 2023-03-14 02:46:33 -07:00 committed by GitHub
parent 356d959b70
commit 1b158015e6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 10 additions and 10 deletions

View File

@ -2325,7 +2325,7 @@ u16 Randomizer_Item_Give(PlayState* play, GetItemEntry giEntry) {
gSaveContext.isMagicAcquired = true;
gSaveContext.magicFillTarget = 0x30;
Magic_Fill(play);
Return_Item_Entry(giEntry, RG_NONE);
return Return_Item_Entry(giEntry, RG_NONE);
} else if (item == RG_MAGIC_DOUBLE) {
if (!gSaveContext.isMagicAcquired) {
gSaveContext.isMagicAcquired = true;
@ -2334,7 +2334,7 @@ u16 Randomizer_Item_Give(PlayState* play, GetItemEntry giEntry) {
gSaveContext.magicFillTarget = 0x60;
gSaveContext.magicLevel = 0;
Magic_Fill(play);
Return_Item_Entry(giEntry, RG_NONE);
return Return_Item_Entry(giEntry, RG_NONE);
}
if (item == RG_MAGIC_BEAN_PACK) {
@ -2342,14 +2342,14 @@ u16 Randomizer_Item_Give(PlayState* play, GetItemEntry giEntry) {
INV_CONTENT(ITEM_BEAN) = ITEM_BEAN;
AMMO(ITEM_BEAN) = 10;
}
Return_Item_Entry(giEntry, RG_NONE);
return Return_Item_Entry(giEntry, RG_NONE);
}
if (item == RG_DOUBLE_DEFENSE) {
gSaveContext.isDoubleDefenseAcquired = true;
gSaveContext.inventory.defenseHearts = 20;
gSaveContext.healthAccumulator = 0x140;
Return_Item_Entry(giEntry, RG_NONE);
return Return_Item_Entry(giEntry, RG_NONE);
}
if (item >= RG_BOTTLE_WITH_RED_POTION && item <= RG_BOTTLE_WITH_BIG_POE) {
@ -2387,7 +2387,7 @@ u16 Randomizer_Item_Give(PlayState* play, GetItemEntry giEntry) {
}
gSaveContext.inventory.items[temp + i] = item;
Return_Item(item, giEntry.modIndex, RG_NONE);
return Return_Item_Entry(giEntry, RG_NONE);
}
}
} else if ((item >= RG_FOREST_TEMPLE_SMALL_KEY && item <= RG_GANONS_CASTLE_SMALL_KEY) ||
@ -2488,11 +2488,11 @@ u16 Randomizer_Item_Give(PlayState* play, GetItemEntry giEntry) {
} else {
gSaveContext.inventory.dungeonKeys[mapIndex]++;
}
Return_Item_Entry(giEntry, RG_NONE);
return Return_Item_Entry(giEntry, RG_NONE);
} else if ((item >= RG_FOREST_TEMPLE_KEY_RING) && (item <= RG_GANONS_CASTLE_KEY_RING)) {
gSaveContext.sohStats.dungeonKeys[mapIndex] = numOfKeysOnKeyring;
gSaveContext.inventory.dungeonKeys[mapIndex] = numOfKeysOnKeyring;
Return_Item_Entry(giEntry, RG_NONE);
return Return_Item_Entry(giEntry, RG_NONE);
} else {
int bitmask;
if ((item >= RG_DEKU_TREE_MAP) && (item <= RG_ICE_CAVERN_MAP)) {
@ -2504,7 +2504,7 @@ u16 Randomizer_Item_Give(PlayState* play, GetItemEntry giEntry) {
}
gSaveContext.inventory.dungeonItems[mapIndex] |= bitmask;
Return_Item_Entry(giEntry, RG_NONE);
return Return_Item_Entry(giEntry, RG_NONE);
}
}
@ -2513,14 +2513,14 @@ u16 Randomizer_Item_Give(PlayState* play, GetItemEntry giEntry) {
if (gSaveContext.n64ddFlag && Randomizer_GetSettingValue(RSK_FULL_WALLETS)) {
Rupees_ChangeBy(999);
}
Return_Item_Entry(giEntry, RG_NONE);
return Return_Item_Entry(giEntry, RG_NONE);
}
if (item == RG_GREG_RUPEE) {
Rupees_ChangeBy(1);
Flags_SetRandomizerInf(RAND_INF_GREG_FOUND);
gSaveContext.sohStats.timestamp[TIMESTAMP_FOUND_GREG] = GAMEPLAYSTAT_TOTAL_TIME;
Return_Item_Entry(giEntry, RG_NONE);
return Return_Item_Entry(giEntry, RG_NONE);
}
temp = gSaveContext.inventory.items[slot];