diff --git a/Source/Framework/Constants/Spells/SpellConst.cs b/Source/Framework/Constants/Spells/SpellConst.cs index 1f118e8d5..3b193994a 100644 --- a/Source/Framework/Constants/Spells/SpellConst.cs +++ b/Source/Framework/Constants/Spells/SpellConst.cs @@ -163,9 +163,9 @@ namespace Framework.Constants { None = 0, Falling = 0x01, // NYI - Swimming = 0x02, // NYI + Swimming = 0x02, NotMoving = 0x04, // NYI - Ground = 0x08, // NYI + Ground = 0x08, Transform = 0x10, // NYI Jump = 0x20, ChangeSpec = 0x40, // NYI diff --git a/Source/Game/Entities/Unit/Unit.Movement.cs b/Source/Game/Entities/Unit/Unit.Movement.cs index 4fa0de062..f924d2d3c 100644 --- a/Source/Game/Entities/Unit/Unit.Movement.cs +++ b/Source/Game/Entities/Unit/Unit.Movement.cs @@ -617,6 +617,13 @@ namespace Game.Entities UpdatePositionData(); + bool isInWater = IsInWater(); + if (!IsFalling() || isInWater || IsFlying()) + RemoveAurasWithInterruptFlags(SpellAuraInterruptFlags2.Ground); + + if (isInWater) + RemoveAurasWithInterruptFlags(SpellAuraInterruptFlags2.Swimming); + return (relocated || turn); }