diff --git a/Source/Game/Movement/MotionMaster.cs b/Source/Game/Movement/MotionMaster.cs index 65448f66e..7eecc45c1 100644 --- a/Source/Game/Movement/MotionMaster.cs +++ b/Source/Game/Movement/MotionMaster.cs @@ -351,6 +351,9 @@ namespace Game.Movement if (_owner.IsTypeId(TypeId.Player)) return; + if (speedXY < 0.01f) + return; + float x, y, z; float moveTimeHalf = (float)(speedZ / gravity); float dist = 2 * moveTimeHalf * speedXY; @@ -393,6 +396,8 @@ namespace Game.Movement JumpArrivalCastArgs arrivalCast = null, SpellEffectExtraData spellEffectExtraData = null) { Log.outDebug(LogFilter.Server, "Unit ({0}) jump to point (X: {1} Y: {2} Z: {3})", _owner.GetGUID().ToString(), x, y, z); + if (speedXY < 0.01f) + return; float moveTimeHalf = (float)(speedZ / gravity); float max_height = -MoveSpline.computeFallElevation(moveTimeHalf, false, -speedZ); diff --git a/Source/Game/Movement/MoveSplineInitArgs.cs b/Source/Game/Movement/MoveSplineInitArgs.cs index aa3311774..8eb0ecf0b 100644 --- a/Source/Game/Movement/MoveSplineInitArgs.cs +++ b/Source/Game/Movement/MoveSplineInitArgs.cs @@ -66,7 +66,7 @@ namespace Game.Movement if (!CHECK(path.Length > 1)) return false; - if (!CHECK(velocity > 0.01f)) + if (!CHECK(velocity >= 0.01f)) return false; if (!CHECK(time_perc >= 0.0f && time_perc <= 1.0f)) return false; diff --git a/Source/Game/Spells/SpellEffects.cs b/Source/Game/Spells/SpellEffects.cs index 1ba499a52..89bdfbfde 100644 --- a/Source/Game/Spells/SpellEffects.cs +++ b/Source/Game/Spells/SpellEffects.cs @@ -4179,7 +4179,7 @@ namespace Game.Spells float ratio = 0.1f; float speedxy = effectInfo.MiscValue * ratio; float speedz = damage * ratio; - if (speedxy < 0.1f && speedz < 0.1f) + if (speedxy < 0.01f && speedz < 0.01f) return; float x, y;