From ad452cb6c03fd0f8ec6c2c616fb10a7f46fb5b4b Mon Sep 17 00:00:00 2001 From: Eric Robinson <68359262+kphoenix137@users.noreply.github.com> Date: Fri, 15 Mar 2024 18:07:41 -0400 Subject: [PATCH] Bugfix: DLVL 16 speech after Diablo death (#7008) --- Source/player.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Source/player.cpp b/Source/player.cpp index ab671b91a..d38f67ad0 100644 --- a/Source/player.cpp +++ b/Source/player.cpp @@ -3464,9 +3464,15 @@ void PlayDungMsgs() myPlayer.Say(HeroSpeech::IMustBeGettingClose, 40); myPlayer.pDungMsgs |= DungMsgHell; } else if (!setlevel && currlevel == 16 && !myPlayer._pLvlVisited[16] && (myPlayer.pDungMsgs & DungMsgDiablo) == 0) { - sfxdelay = 40; - sfxdnum = SfxID::DiabloGreeting; - myPlayer.pDungMsgs |= DungMsgDiablo; + for (auto &monster : Monsters) { + if (monster.type().type != MT_DIABLO) continue; + if (monster.hitPoints > 0) { + sfxdelay = 40; + sfxdnum = SfxID::DiabloGreeting; + myPlayer.pDungMsgs |= DungMsgDiablo; + } + break; + } } else if (!setlevel && currlevel == 17 && !myPlayer._pLvlVisited[17] && (myPlayer.pDungMsgs2 & 1) == 0) { sfxdelay = 10; sfxdnum = SfxID::Defiler1;