diff --git a/soh/soh/Enhancements/randomizer.cpp b/soh/soh/Enhancements/randomizer.cpp index 51f34a861..6b32c286d 100644 --- a/soh/soh/Enhancements/randomizer.cpp +++ b/soh/soh/Enhancements/randomizer.cpp @@ -1538,6 +1538,8 @@ RandomizerCheck Randomizer::GetCheckFromActor(s16 sceneNum, s16 actorId, s16 act } else { return KAK_ANJU_AS_CHILD; } + case 359: + return KAK_MAN_ON_ROOF; } case 17: switch (actorId) { diff --git a/soh/src/overlays/actors/ovl_En_Ani/z_en_ani.c b/soh/src/overlays/actors/ovl_En_Ani/z_en_ani.c index 40b26c790..7cbf4e65f 100644 --- a/soh/src/overlays/actors/ovl_En_Ani/z_en_ani.c +++ b/soh/src/overlays/actors/ovl_En_Ani/z_en_ani.c @@ -126,7 +126,13 @@ void func_809B0558(EnAni* this, GlobalContext* globalCtx) { } gSaveContext.itemGetInf[1] |= 0x20; } else { - func_8002F434(&this->actor, globalCtx, GI_HEART_PIECE, 10000.0f, 200.0f); + if (gSaveContext.n64ddFlag) { + s32 getItemId = + GetRandomizedItemId(GI_HEART_PIECE, this->actor.id, this->actor.params, globalCtx->sceneNum); + func_8002F434(&this->actor, globalCtx, getItemId, 10000.0f, 200.0f); + } else { + func_8002F434(&this->actor, globalCtx, GI_HEART_PIECE, 10000.0f, 200.0f); + } } } @@ -134,7 +140,13 @@ void func_809B05F0(EnAni* this, GlobalContext* globalCtx) { if (Actor_TextboxIsClosing(&this->actor, globalCtx)) { EnAni_SetupAction(this, func_809B0558); } - func_8002F434(&this->actor, globalCtx, GI_HEART_PIECE, 10000.0f, 200.0f); + + if (gSaveContext.n64ddFlag) { + s32 getItemId = GetRandomizedItemId(GI_HEART_PIECE, this->actor.id, this->actor.params, globalCtx->sceneNum); + func_8002F434(&this->actor, globalCtx, getItemId, 10000.0f, 200.0f); + } else { + func_8002F434(&this->actor, globalCtx, GI_HEART_PIECE, 10000.0f, 200.0f); + } } void func_809B064C(EnAni* this, GlobalContext* globalCtx) {