Skip to content

Commit

Permalink
Addresses Forest Temple Poes and NPC Dialogue issues. (HarbourMasters…
Browse files Browse the repository at this point in the history
  • Loading branch information
Caladius authored Oct 30, 2023
1 parent 2810996 commit ff7fa77
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 5 deletions.
15 changes: 11 additions & 4 deletions soh/soh/Enhancements/mods.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -387,11 +387,18 @@ void RegisterShadowTag() {
if (!CVarGetInteger("gShadowTag", 0)) {
return;
}
if (shouldSpawn && (delayTimer <= 0)) {
Actor_Spawn(&gPlayState->actorCtx, gPlayState, ACTOR_EN_WALLMAS, 0, 0, 0, 0, 0, 0, 3, false);
shouldSpawn = false;
if (gPlayState->sceneNum == SCENE_FOREST_TEMPLE && // Forest Temple Scene
gPlayState->roomCtx.curRoom.num == 16 || // Green Poe Room
gPlayState->roomCtx.curRoom.num == 13 || // Blue Poe Room
gPlayState->roomCtx.curRoom.num == 12) { // Red Poe Room
return;
} else {
delayTimer--;
if (shouldSpawn && (delayTimer <= 0)) {
Actor_Spawn(&gPlayState->actorCtx, gPlayState, ACTOR_EN_WALLMAS, 0, 0, 0, 0, 0, 0, 3, false);
shouldSpawn = false;
} else {
delayTimer--;
}
}
});
GameInteractor::Instance->RegisterGameHook<GameInteractor::OnSceneSpawnActors>([]() {
Expand Down
6 changes: 5 additions & 1 deletion soh/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c
Original file line number Diff line number Diff line change
Expand Up @@ -328,7 +328,11 @@ void EnWallmas_WaitToDrop(EnWallmas* this, PlayState* play) {
}

if (this->timer == 0) {
EnWallmas_SetupDrop(this, play);
if (this->actor.params == WMT_SHADOWTAG && (player->stateFlags1 & PLAYER_STATE1_IN_CUTSCENE)) {
this->timer = 0x82; // Prevents Shadow Tag Hand from dropping when talking to an NPC or Signpost.
} else {
EnWallmas_SetupDrop(this, play);
}
}
}

Expand Down

0 comments on commit ff7fa77

Please sign in to comment.