Core/Spells: Implemented SPELL_ATTR9_CHANNEL_PERSISTS_ON_PET_FOLLOW
Port From (https://github.com/TrinityCore/TrinityCore/commit/fd329ee8483da81585db484c005a6fe22448bc63)
This commit is contained in:
@@ -1997,7 +1997,7 @@ namespace Framework.Constants
|
|||||||
CannotKillTarget = 0x10000000, // Cannot Kill Target
|
CannotKillTarget = 0x10000000, // Cannot Kill Target
|
||||||
LogPassive = 0x20000000, // Allows passive auras to trigger aura applied/refreshed/removed combat log events
|
LogPassive = 0x20000000, // Allows passive auras to trigger aura applied/refreshed/removed combat log events
|
||||||
NoMovementRadiusBonus = 0x40000000, // No Movement Radius Bonus
|
NoMovementRadiusBonus = 0x40000000, // No Movement Radius Bonus
|
||||||
Unk31 = 0x80000000 // 31
|
ChannelPersistsOnPetFollow = 0x80000000 // Channel Persists on Pet Follow
|
||||||
}
|
}
|
||||||
public enum SpellAttr10 : uint
|
public enum SpellAttr10 : uint
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -142,7 +142,10 @@ namespace Game
|
|||||||
break;
|
break;
|
||||||
case CommandStates.Follow: // spellid = 1792 //FOLLOW
|
case CommandStates.Follow: // spellid = 1792 //FOLLOW
|
||||||
pet.AttackStop();
|
pet.AttackStop();
|
||||||
pet.InterruptNonMeleeSpells(false);
|
pet.InterruptSpell(CurrentSpellTypes.Generic, false, false);
|
||||||
|
Spell channeledSpell = pet.GetCurrentSpell(CurrentSpellTypes.Channeled);
|
||||||
|
if (channeledSpell != null && !channeledSpell.GetSpellInfo().HasAttribute(SpellAttr9.ChannelPersistsOnPetFollow))
|
||||||
|
pet.InterruptSpell(CurrentSpellTypes.Channeled, true, true);
|
||||||
pet.GetMotionMaster().MoveFollow(GetPlayer(), SharedConst.PetFollowDist, pet.GetFollowAngle());
|
pet.GetMotionMaster().MoveFollow(GetPlayer(), SharedConst.PetFollowDist, pet.GetFollowAngle());
|
||||||
charmInfo.SetCommandState(CommandStates.Follow);
|
charmInfo.SetCommandState(CommandStates.Follow);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user