From 424d45ede82e91b395390505bc28c65a71ab58a1 Mon Sep 17 00:00:00 2001 From: KPhoenix Date: Thu, 7 Mar 2024 04:58:10 -0500 Subject: [PATCH 1/2] Bugfix: DLVL 16 message after Diablo death --- Source/player.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Source/player.cpp b/Source/player.cpp index 66261e5861b..21d111cfe56 100644 --- a/Source/player.cpp +++ b/Source/player.cpp @@ -3464,9 +3464,13 @@ 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 && monster.hitPoints > 0) { + sfxdelay = 40; + sfxdnum = SfxID::DiabloGreeting; + myPlayer.pDungMsgs |= DungMsgDiablo; + } + } } else if (!setlevel && currlevel == 17 && !myPlayer._pLvlVisited[17] && (myPlayer.pDungMsgs2 & 1) == 0) { sfxdelay = 10; sfxdnum = SfxID::Defiler1; From 9e4be45355888b8b8cf0fcc56e4ac32a5fed9b1e Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Fri, 15 Mar 2024 22:59:07 +0100 Subject: [PATCH 2/2] Update Source/player.cpp --- Source/player.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Source/player.cpp b/Source/player.cpp index 21d111cfe56..1a3edf3dbfb 100644 --- a/Source/player.cpp +++ b/Source/player.cpp @@ -3465,11 +3465,13 @@ void PlayDungMsgs() myPlayer.pDungMsgs |= DungMsgHell; } else if (!setlevel && currlevel == 16 && !myPlayer._pLvlVisited[16] && (myPlayer.pDungMsgs & DungMsgDiablo) == 0) { for (auto &monster : Monsters) { - if (monster.type().type == MT_DIABLO && monster.hitPoints > 0) { + 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;