aboutsummaryrefslogtreecommitdiff
path: root/src/game/Unit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/Unit.cpp')
-rw-r--r--src/game/Unit.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index 268de0d0f05..04de0f4840a 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -8927,7 +8927,12 @@ bool Unit::AttackStop()
if (GetTypeId() == TYPEID_UNIT)
{
((Creature*)this)->SetNoCallAssistance(false);
- ((Creature*)this)->SetNoSearchAssistance(false);
+
+ if (((Creature*)this)->HasSearchedAssistance())
+ {
+ ((Creature*)this)->SetNoSearchAssistance(false);
+ UpdateSpeed(MOVE_RUN, false);
+ }
}
SendMeleeAttackStop(victim);
@@ -11714,6 +11719,13 @@ void Unit::UpdateSpeed(UnitMoveType mtype, bool forced)
break;
}
+ // for creature case, we check explicit if mob searched for assistance
+ if (GetTypeId() == TYPEID_UNIT)
+ {
+ if (((Creature*)this)->HasSearchedAssistance())
+ speed *= 0.66f; // best guessed value, so this will be 33% reduction. Based off initial speed, mob can then "run", "walk fast" or "walk".
+ }
+
// Apply strongest slow aura mod to speed
int32 slow = GetMaxNegativeAuraModifier(SPELL_AURA_MOD_DECREASE_SPEED);
if (slow)