aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/PetHandler.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-07-03 21:10:23 +0200
committerOvahlord <dreadkiller@gmx.de>2024-07-05 04:43:34 +0200
commit8d9e1e663e2e62d91365f61f373c3a1466607c69 (patch)
treeefa9b6726bea4e19361934f64e7b5a00f15b73d3 /src/server/game/Handlers/PetHandler.cpp
parent071ddfa162db86815ecfc3a52c72c62863c08898 (diff)
Core/Spells: Implemented SPELL_ATTR9_CHANNEL_PERSISTS_ON_PET_FOLLOW
(cherry picked from commit fd329ee8483da81585db484c005a6fe22448bc63)
Diffstat (limited to 'src/server/game/Handlers/PetHandler.cpp')
-rw-r--r--src/server/game/Handlers/PetHandler.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/server/game/Handlers/PetHandler.cpp b/src/server/game/Handlers/PetHandler.cpp
index cd680f4a973..90d40407cbb 100644
--- a/src/server/game/Handlers/PetHandler.cpp
+++ b/src/server/game/Handlers/PetHandler.cpp
@@ -167,7 +167,9 @@ void WorldSession::HandlePetActionHelper(Unit* pet, ObjectGuid guid1, uint32 spe
break;
case COMMAND_FOLLOW: // spellid = 1792 - FOLLOW
pet->AttackStop();
- pet->InterruptNonMeleeSpells(false);
+ pet->InterruptSpell(CURRENT_GENERIC_SPELL, false, false);
+ if (Spell const* channeledSpell = pet->GetCurrentSpell(CURRENT_CHANNELED_SPELL); channeledSpell && !channeledSpell->GetSpellInfo()->HasAttribute(SPELL_ATTR9_CHANNEL_PERSISTS_ON_PET_FOLLOW))
+ pet->InterruptSpell(CURRENT_CHANNELED_SPELL, true, true);
pet->GetMotionMaster()->MoveFollow(_player, PET_FOLLOW_DIST, pet->GetFollowAngle());
charmInfo->SetCommandState(COMMAND_FOLLOW);