From da61b05a82deebb589be328eed0207a1b609f536 Mon Sep 17 00:00:00 2001 From: sogladev Date: Tue, 11 Nov 2025 14:20:13 +0100 Subject: [PATCH] fix(Scripts/Northrend): Sniffing Out The Perpetrator horde (#23620) --- .../scripts/Northrend/zone_storm_peaks.cpp | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/src/server/scripts/Northrend/zone_storm_peaks.cpp b/src/server/scripts/Northrend/zone_storm_peaks.cpp index 5a50bee8a..fff36ff1e 100644 --- a/src/server/scripts/Northrend/zone_storm_peaks.cpp +++ b/src/server/scripts/Northrend/zone_storm_peaks.cpp @@ -31,6 +31,7 @@ enum qSniffingOutThePerpetrator { NPC_FROSTHOUND = 29677, + NPC_FROSTBITE = 29903, SPELL_SUMMON_PURSUERS_PERIODIC = 54993, SPELL_SNIFFING_CREDIT = 55477, TALK_EMOTE_FROSTHOUND_SNIFF = 0, @@ -41,7 +42,7 @@ enum qSniffingOutThePerpetrator struct npc_frosthound : public npc_escortAI { - explicit npc_frosthound(Creature* creature) : npc_escortAI(creature), _summons(creature) {} + explicit npc_frosthound(Creature* creature) : npc_escortAI(creature), _summons(creature), _completionWaypoint((creature->GetEntry() == NPC_FROSTBITE) ? 19 : 34) { } void AttackStart(Unit* /*who*/) override {} void JustEngagedWith(Unit* /*who*/) override {} @@ -77,20 +78,15 @@ struct npc_frosthound : public npc_escortAI if (!player) return; - switch (waypointId) + if (waypointId == 0) + Talk(TALK_SEEN, player); + else if (waypointId == _completionWaypoint) { - case 0: - Talk(TALK_SEEN, player); - break; - case 34: - Talk(TALK_EMOTE_TRACKED_COMPLETE, me); - Talk(TALK_CONFRONT, player); - if (Unit* summoner = me->ToTempSummon()->GetSummonerUnit()) - summoner->ToPlayer()->KilledMonsterCredit(NPC_FROSTHOUND); - _summons.DespawnAll(); - break; - default: - break; + Talk(TALK_EMOTE_TRACKED_COMPLETE, me); + Talk(TALK_CONFRONT, player); + if (Unit* summoner = me->ToTempSummon()->GetSummonerUnit()) + summoner->ToPlayer()->KilledMonsterCredit(NPC_FROSTHOUND); // same credit for Alliance and Horde + _summons.DespawnAll(); } } @@ -112,6 +108,7 @@ struct npc_frosthound : public npc_escortAI private: SummonList _summons; + uint32 _completionWaypoint; }; enum eIronWatcher