diff --git a/Source/Game/AI/CoreAI/PetAI.cs b/Source/Game/AI/CoreAI/PetAI.cs index b7c688802..90f260f60 100644 --- a/Source/Game/AI/CoreAI/PetAI.cs +++ b/Source/Game/AI/CoreAI/PetAI.cs @@ -633,7 +633,7 @@ namespace Game.AI public override void OnCharmed(bool isNew) { - if (me.IsCharmed()) + if (!me.IsPossessedByPlayer() && me.IsCharmed()) me.GetMotionMaster().MoveFollow(me.GetCharmer(), SharedConst.PetFollowDist, me.GetFollowAngle()); base.OnCharmed(isNew); diff --git a/Source/Game/Entities/Unit/Unit.cs b/Source/Game/Entities/Unit/Unit.cs index cb5d6fa4e..54c824d0e 100644 --- a/Source/Game/Entities/Unit/Unit.cs +++ b/Source/Game/Entities/Unit/Unit.cs @@ -1239,6 +1239,11 @@ namespace Game.Entities return; } + public bool IsPossessedByPlayer() + { + return HasUnitState(UnitState.Possessed) && GetCharmerGUID().IsPlayer(); + } + public bool IsPossessing() { Unit u = GetCharmed();