summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 56badaa90d..b65b14e37b 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -13483,8 +13483,15 @@ void Unit::UpdateSpeed(UnitMoveType mtype, bool forced)
SetSpeed(mtype, AddPct(non_stack_bonus, (*itr)->GetAmount()), forced);
return;
}
- else if ((*itr)->GetAmount() > main_speed_mod)
+ else if (
+ // case: increase speed
+ ((*itr)->GetAmount() > 0 && (*itr)->GetAmount() > main_speed_mod) ||
+ // case: decrease speed
+ ((*itr)->GetAmount() < 0 && (*itr)->GetAmount() < main_speed_mod)
+ )
+ {
main_speed_mod = (*itr)->GetAmount();
+ }
}
break;
}