diff --git a/Source/quests.cpp b/Source/quests.cpp index a5d18b146..b3bf67102 100644 --- a/Source/quests.cpp +++ b/Source/quests.cpp @@ -487,35 +487,33 @@ void CheckQuestKill(const Monster &monster, bool sendmsg) } else if (monster._uniqtype - 1 == UMT_ZHAR) { //"Zhar the Mad" Quests[Q_ZHAR]._qactive = QUEST_DONE; myPlayer.Say(HeroSpeech::ImSorryDidIBreakYourConcentration, 30); - } else if (monster._uniqtype - 1 == UMT_LAZARUS && gbIsMultiplayer) { //"Arch-Bishop Lazarus" + } else if (monster._uniqtype - 1 == UMT_LAZARUS) { //"Arch-Bishop Lazarus" auto &betrayerQuest = Quests[Q_BETRAYER]; - auto &diabloQuest = Quests[Q_DIABLO]; betrayerQuest._qactive = QUEST_DONE; + myPlayer.Say(HeroSpeech::YourMadnessEndsHereBetrayer, 30); betrayerQuest._qvar1 = 7; + auto &diabloQuest = Quests[Q_DIABLO]; diabloQuest._qactive = QUEST_ACTIVE; - for (int j = 0; j < MAXDUNY; j++) { - for (int i = 0; i < MAXDUNX; i++) { - if (dPiece[i][j] == 370) { - trigs[numtrigs].position = { i, j }; - trigs[numtrigs]._tmsg = WM_DIABNEXTLVL; - numtrigs++; + if (gbIsMultiplayer) { + for (int j = 0; j < MAXDUNY; j++) { + for (int i = 0; i < MAXDUNX; i++) { + if (dPiece[i][j] == 370) { + trigs[numtrigs].position = { i, j }; + trigs[numtrigs]._tmsg = WM_DIABNEXTLVL; + numtrigs++; + } } } + if (sendmsg) { + NetSendCmdQuest(true, betrayerQuest); + NetSendCmdQuest(true, diabloQuest); + } + } else { + InitVPTriggers(); + betrayerQuest._qvar2 = 4; + AddMissile({ 35, 32 }, { 35, 32 }, Direction::South, MIS_RPORTAL, TARGET_MONSTERS, MyPlayerId, 0, 0); } - myPlayer.Say(HeroSpeech::YourMadnessEndsHereBetrayer, 30); - if (sendmsg) { - NetSendCmdQuest(true, betrayerQuest); - NetSendCmdQuest(true, diabloQuest); - } - } else if (monster._uniqtype - 1 == UMT_LAZARUS && !gbIsMultiplayer) { //"Arch-Bishop Lazarus" - Quests[Q_BETRAYER]._qactive = QUEST_DONE; - InitVPTriggers(); - Quests[Q_BETRAYER]._qvar1 = 7; - Quests[Q_BETRAYER]._qvar2 = 4; - Quests[Q_DIABLO]._qactive = QUEST_ACTIVE; - AddMissile({ 35, 32 }, { 35, 32 }, Direction::South, MIS_RPORTAL, TARGET_MONSTERS, MyPlayerId, 0, 0); - myPlayer.Say(HeroSpeech::YourMadnessEndsHereBetrayer, 30); } else if (monster._uniqtype - 1 == UMT_WARLORD) { //"Warlord of Blood" Quests[Q_WARLORD]._qactive = QUEST_DONE; myPlayer.Say(HeroSpeech::YourReignOfPainHasEnded, 30);