aboutsummaryrefslogtreecommitdiff
path: root/src/server/game
diff options
context:
space:
mode:
authorGustavo <sirikfoll@hotmail.com>2017-02-24 08:20:20 -0300
committerShauren <shauren.trinity@gmail.com>2019-08-17 20:04:14 +0200
commit1d2f20d59a372cf3625db93a50da206a4e60e9b9 (patch)
treec2a6800de5046f01f94c9f08f080327ccd3363c2 /src/server/game
parent38ea7154add7354c4e64fa231e773097a34cdf42 (diff)
Core/Unit: Correct speed calculus when affected by SPELL_AURA_MOD_MINIMUM_SPEED (#18136)
(cherrypicked from 4224259d83c336ef46fa627a8ba0015200a788eb)
Diffstat (limited to 'src/server/game')
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 7249fdecca6..ffe8df10a6a 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -8559,7 +8559,11 @@ void Unit::UpdateSpeed(UnitMoveType mtype)
if (float minSpeedMod = (float)GetMaxPositiveAuraModifier(SPELL_AURA_MOD_MINIMUM_SPEED))
{
- float min_speed = minSpeedMod / 100.0f;
+ float baseMinSpeed = 1.0f;
+ if (!GetOwnerGUID().IsPlayer() && !IsHunterPet() && GetTypeId() == TYPEID_UNIT)
+ baseMinSpeed = ToCreature()->GetCreatureTemplate()->speed_run;
+
+ float min_speed = CalculatePct(baseMinSpeed, minSpeedMod);
if (speed < min_speed)
speed = min_speed;
}