summaryrefslogtreecommitdiff
path: root/soh/src/code
diff options
context:
space:
mode:
authorMalkierian <malkierian@live.com>2023-07-12 19:03:43 -0700
committerGitHub <noreply@github.com>2023-07-12 22:03:43 -0400
commit93ab9f0072a1883acff1672f266d589b964cf6c8 (patch)
tree61c670b84f0734ceebeb18eb4ccc53940f9981fa /soh/src/code
parent423e8b96b148e0efc69a3c811acfda88160ad6a6 (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.c32
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) {