mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Core/Stats: Fix haste display in character panel
This commit is contained in:
@@ -14089,11 +14089,27 @@ void Unit::ApplyAttackTimePercentMod(WeaponAttackType att, float val, bool apply
|
||||
{
|
||||
ApplyPercentModFloatVar(m_modAttackSpeedPct[att], val, !apply);
|
||||
ApplyPercentModFloatValue(UNIT_FIELD_BASEATTACKTIME+att, val, !apply);
|
||||
|
||||
if (GetTypeId() == TYPEID_PLAYER)
|
||||
{
|
||||
if (att == BASE_ATTACK)
|
||||
ApplyPercentModFloatValue(PLAYER_FIELD_MOD_HASTE, val, !apply);
|
||||
else if (att == RANGED_ATTACK)
|
||||
ApplyPercentModFloatValue(PLAYER_FIELD_MOD_RANGED_HASTE, val, !apply);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ApplyPercentModFloatVar(m_modAttackSpeedPct[att], -val, apply);
|
||||
ApplyPercentModFloatValue(UNIT_FIELD_BASEATTACKTIME+att, -val, apply);
|
||||
|
||||
if (GetTypeId() == TYPEID_PLAYER)
|
||||
{
|
||||
if (att == BASE_ATTACK)
|
||||
ApplyPercentModFloatValue(PLAYER_FIELD_MOD_HASTE, -val, apply);
|
||||
else if (att == RANGED_ATTACK)
|
||||
ApplyPercentModFloatValue(PLAYER_FIELD_MOD_RANGED_HASTE, -val, apply);
|
||||
}
|
||||
}
|
||||
m_attackTimer[att] = uint32(GetAttackTime(att) * m_modAttackSpeedPct[att] * remainingTimePct);
|
||||
}
|
||||
@@ -14101,9 +14117,15 @@ void Unit::ApplyAttackTimePercentMod(WeaponAttackType att, float val, bool apply
|
||||
void Unit::ApplyCastTimePercentMod(float val, bool apply)
|
||||
{
|
||||
if (val > 0)
|
||||
{
|
||||
ApplyPercentModFloatValue(UNIT_MOD_CAST_SPEED, val, !apply);
|
||||
ApplyPercentModFloatValue(UNIT_MOD_CAST_HASTE, val, !apply);
|
||||
}
|
||||
else
|
||||
{
|
||||
ApplyPercentModFloatValue(UNIT_MOD_CAST_SPEED, -val, apply);
|
||||
ApplyPercentModFloatValue(UNIT_MOD_CAST_HASTE, -val, apply);
|
||||
}
|
||||
}
|
||||
|
||||
uint32 Unit::GetCastingTimeForBonus(SpellInfo const* spellProto, DamageEffectType damagetype, uint32 CastingTime) const
|
||||
|
||||
Reference in New Issue
Block a user