diff options
| author | Malkierian <malkierian@live.com> | 2023-07-12 19:03:43 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-07-12 22:03:43 -0400 |
| commit | 93ab9f0072a1883acff1672f266d589b964cf6c8 (patch) | |
| tree | 61c670b84f0734ceebeb18eb4ccc53940f9981fa /soh/src/code | |
| parent | 423e8b96b148e0efc69a3c811acfda88160ad6a6 (diff) | |
[Fix] Merchant Check Fixes (#3067)
* Change Granny's Shop collection type to RandomizerInf with proper scene and inf IDs so the tracker tracks it properly.
* Changed pendingSale code to be checked outside of decrementing if block.
Diffstat (limited to 'soh/src/code')
| -rw-r--r-- | soh/src/code/z_parameter.c | 32 |
1 files changed, 15 insertions, 17 deletions
diff --git a/soh/src/code/z_parameter.c b/soh/src/code/z_parameter.c index 43be8b854..d708770e1 100644 --- a/soh/src/code/z_parameter.c +++ b/soh/src/code/z_parameter.c @@ -6303,26 +6303,24 @@ void Interface_Update(PlayState* play) { gSaveContext.rupees--; Audio_PlaySoundGeneral(NA_SE_SY_RUPY_COUNT, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); } - if (gSaveContext.rupeeAccumulator == 0) { - if (gSaveContext.pendingSale != ITEM_NONE) { - u16 tempSaleItem = gSaveContext.pendingSale; - u16 tempSaleMod = gSaveContext.pendingSaleMod; - gSaveContext.pendingSale = ITEM_NONE; - gSaveContext.pendingSaleMod = MOD_NONE; - if (tempSaleMod == MOD_NONE) { - s16 giid = GetGIID(tempSaleItem); - if (giid == -1) { - tempSaleMod = MOD_RANDOMIZER; - } else { - tempSaleItem = giid; - } - } - GameInteractor_ExecuteOnSaleEndHooks(ItemTable_RetrieveEntry(tempSaleMod, tempSaleItem)); - } - } } else { gSaveContext.rupeeAccumulator = 0; } + if (gSaveContext.rupeeAccumulator == 0 && gSaveContext.pendingSale != ITEM_NONE) { + u16 tempSaleItem = gSaveContext.pendingSale; + u16 tempSaleMod = gSaveContext.pendingSaleMod; + gSaveContext.pendingSale = ITEM_NONE; + gSaveContext.pendingSaleMod = MOD_NONE; + if (tempSaleMod == MOD_NONE) { + s16 giid = GetGIID(tempSaleItem); + if (giid == -1) { + tempSaleMod = MOD_RANDOMIZER; + } else { + tempSaleItem = giid; + } + } + GameInteractor_ExecuteOnSaleEndHooks(ItemTable_RetrieveEntry(tempSaleMod, tempSaleItem)); + } } switch (interfaceCtx->unk_1EC) { |
