Implement speed reduction at creatures DoFleeToGetAssistance, by NoFantasy.

--HG--
branch : trunk
This commit is contained in:
n0n4m3
2010-01-16 19:35:30 +03:00
parent ec10853f22
commit c9a3698a11
3 changed files with 21 additions and 5 deletions

View File

@@ -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)