diff --git a/soh/src/overlays/actors/ovl_player_actor/z_player.c b/soh/src/overlays/actors/ovl_player_actor/z_player.c index c1ee456a9..391b20aa7 100644 --- a/soh/src/overlays/actors/ovl_player_actor/z_player.c +++ b/soh/src/overlays/actors/ovl_player_actor/z_player.c @@ -6104,14 +6104,14 @@ s32 func_8083E5A8(Player* this, GlobalContext* globalCtx) { this->getItemId = iREG(68); } - if (this->getItemId < GI_MAX) { - GetItemEntry giEntry; - if (this->getItemEntry.objectId == OBJECT_INVALID) { - giEntry = ItemTable_Retrieve(this->getItemId); - } else { - giEntry = this->getItemEntry; - } - + GetItemEntry giEntry; + if (this->getItemEntry.objectId == OBJECT_INVALID) { + giEntry = ItemTable_Retrieve(this->getItemId); + } else { + giEntry = this->getItemEntry; + } + if ((giEntry.modIndex == MOD_NONE && this->getItemId < GI_MAX) || + (giEntry.modIndex == MOD_RANDOMIZER && this->getItemId < RG_MAX)) { if ((interactedActor != &this->actor) && !iREG(67)) { interactedActor->parent = &this->actor; }