summaryrefslogtreecommitdiff
path: root/soh/src/code
diff options
context:
space:
mode:
Diffstat (limited to 'soh/src/code')
-rw-r--r--soh/src/code/z_message_PAL.c4
-rw-r--r--soh/src/code/z_parameter.c9
2 files changed, 9 insertions, 4 deletions
diff --git a/soh/src/code/z_message_PAL.c b/soh/src/code/z_message_PAL.c
index b049f7c2a..60cbef0bd 100644
--- a/soh/src/code/z_message_PAL.c
+++ b/soh/src/code/z_message_PAL.c
@@ -2736,7 +2736,9 @@ void Message_OpenText(PlayState* play, u16 textId) {
textId = 0xB; // Traded Giant's Knife for Biggoron Sword
} else if (!IS_RANDO &&
(msgCtx->textId == 0xB4 && (Flags_GetEventChkInf(EVENTCHKINF_SPOKE_TO_CURSED_MAN_IN_SKULL_HOUSE)))) {
- textId = 0xB5; // Destroyed Gold Skulltula
+ textId = 0xB5; // Destroyed Gold Skulltula
+ } else if (textId == 0x0) { // Invalid text probably from GIM or SRM
+ textId = 1;
}
// Ocarina Staff + Dialog
if (textId == 0x4077 || // Pierre?
diff --git a/soh/src/code/z_parameter.c b/soh/src/code/z_parameter.c
index a807a42b1..6f53e192b 100644
--- a/soh/src/code/z_parameter.c
+++ b/soh/src/code/z_parameter.c
@@ -2383,7 +2383,7 @@ u8 Item_Give(PlayState* play, u8 item) {
}
gSaveContext.inventory.items[temp + i] = item;
- break;
+ return Return_Item(item, MOD_NONE, ITEM_NONE);
}
}
} else {
@@ -2393,11 +2393,14 @@ u8 Item_Give(PlayState* play, u8 item) {
for (i = 0; i < 4; i++) {
if (gSaveContext.inventory.items[temp + i] == ITEM_NONE) {
gSaveContext.inventory.items[temp + i] = item;
- break;
+ return Return_Item(item, MOD_NONE, ITEM_NONE);
}
}
}
- return Return_Item(item, MOD_NONE, ITEM_NONE);
+
+ if (IS_RANDO) {
+ return Return_Item(item, MOD_NONE, ITEM_NONE);
+ }
} else if ((item >= ITEM_WEIRD_EGG) && (item <= ITEM_CLAIM_CHECK)) {
if (GameInteractor_Should(VB_POACHERS_SAW_SET_DEKU_NUT_UPGRADE_FLAG, item == ITEM_SAW)) {
Flags_SetItemGetInf(ITEMGETINF_OBTAINED_NUT_UPGRADE_FROM_STAGE);