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
committerShauren <shauren.trinity@gmail.com>2024-07-03 21:10:23 +0200
commitfd329ee8483da81585db484c005a6fe22448bc63 (patch)
tree952246372a484866dfb5c5b8dbd9e6672021bc12 /src/server/game/Handlers/PetHandler.cpp
parent6c0ae0302207ad5e09de1076fbbb4ab46a3c3147 (diff)
Core/Spells: Implemented SPELL_ATTR9_CHANNEL_PERSISTS_ON_PET_FOLLOW
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 48ad47cdb48..bd31cf65117 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);