mirror of
https://github.com/mangosfour/server.git
synced 2025-12-21 10:37:06 +00:00
[9397] Fixed unexpected rounding in healamount = healamount * int32(TakenTotalMod);
This commit is contained in:
parent
9e4829ecef
commit
f9db93e78b
7 changed files with 41 additions and 40 deletions
|
|
@ -3506,7 +3506,7 @@ void Aura::HandleAuraTrackStealthed(bool apply, bool /*Real*/)
|
|||
|
||||
void Aura::HandleAuraModScale(bool apply, bool /*Real*/)
|
||||
{
|
||||
m_target->ApplyPercentModFloatValue(OBJECT_FIELD_SCALE_X, m_modifier.m_amount, apply);
|
||||
m_target->ApplyPercentModFloatValue(OBJECT_FIELD_SCALE_X, float(m_modifier.m_amount), apply);
|
||||
}
|
||||
|
||||
void Aura::HandleModPossess(bool apply, bool Real)
|
||||
|
|
@ -4221,7 +4221,7 @@ void Aura::HandleModThreat(bool apply, bool Real)
|
|||
if (m_target->GetTypeId() == TYPEID_PLAYER)
|
||||
for(int8 x=0;x < MAX_SPELL_SCHOOL;x++)
|
||||
if (m_modifier.m_miscvalue & int32(1<<x))
|
||||
ApplyPercentModFloatVar(m_target->m_threatModifier[x], m_modifier.m_amount, apply);
|
||||
ApplyPercentModFloatVar(m_target->m_threatModifier[x], float(m_modifier.m_amount), apply);
|
||||
}
|
||||
|
||||
void Aura::HandleAuraModTotalThreat(bool apply, bool Real)
|
||||
|
|
@ -4888,7 +4888,7 @@ void Aura::HandleAuraModResistanceExclusive(bool apply, bool /*Real*/)
|
|||
{
|
||||
m_target->HandleStatModifier(UnitMods(UNIT_MOD_RESISTANCE_START + x), BASE_VALUE, float(m_modifier.m_amount), apply);
|
||||
if(m_target->GetTypeId() == TYPEID_PLAYER)
|
||||
m_target->ApplyResistanceBuffModsMod(SpellSchools(x), m_positive, m_modifier.m_amount, apply);
|
||||
m_target->ApplyResistanceBuffModsMod(SpellSchools(x), m_positive, float(m_modifier.m_amount), apply);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -4901,7 +4901,7 @@ void Aura::HandleAuraModResistance(bool apply, bool /*Real*/)
|
|||
{
|
||||
m_target->HandleStatModifier(UnitMods(UNIT_MOD_RESISTANCE_START + x), TOTAL_VALUE, float(m_modifier.m_amount), apply);
|
||||
if(m_target->GetTypeId() == TYPEID_PLAYER || ((Creature*)m_target)->isPet())
|
||||
m_target->ApplyResistanceBuffModsMod(SpellSchools(x), m_positive, m_modifier.m_amount, apply);
|
||||
m_target->ApplyResistanceBuffModsMod(SpellSchools(x), m_positive, float(m_modifier.m_amount), apply);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -4934,8 +4934,8 @@ void Aura::HandleModResistancePercent(bool apply, bool /*Real*/)
|
|||
m_target->HandleStatModifier(UnitMods(UNIT_MOD_RESISTANCE_START + i), TOTAL_PCT, float(m_modifier.m_amount), apply);
|
||||
if(m_target->GetTypeId() == TYPEID_PLAYER || ((Creature*)m_target)->isPet())
|
||||
{
|
||||
m_target->ApplyResistanceBuffModsPercentMod(SpellSchools(i), true, m_modifier.m_amount, apply);
|
||||
m_target->ApplyResistanceBuffModsPercentMod(SpellSchools(i), false, m_modifier.m_amount, apply);
|
||||
m_target->ApplyResistanceBuffModsPercentMod(SpellSchools(i), true, float(m_modifier.m_amount), apply);
|
||||
m_target->ApplyResistanceBuffModsPercentMod(SpellSchools(i), false, float(m_modifier.m_amount), apply);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -4978,7 +4978,7 @@ void Aura::HandleAuraModStat(bool apply, bool /*Real*/)
|
|||
//m_target->ApplyStatMod(Stats(i), m_modifier.m_amount,apply);
|
||||
m_target->HandleStatModifier(UnitMods(UNIT_MOD_STAT_START + i), TOTAL_VALUE, float(m_modifier.m_amount), apply);
|
||||
if(m_target->GetTypeId() == TYPEID_PLAYER || ((Creature*)m_target)->isPet())
|
||||
m_target->ApplyStatBuffMod(Stats(i), m_modifier.m_amount, apply);
|
||||
m_target->ApplyStatBuffMod(Stats(i), float(m_modifier.m_amount), apply);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -5078,7 +5078,7 @@ void Aura::HandleModTotalPercentStat(bool apply, bool /*Real*/)
|
|||
{
|
||||
m_target->HandleStatModifier(UnitMods(UNIT_MOD_STAT_START + i), TOTAL_PCT, float(m_modifier.m_amount), apply);
|
||||
if(m_target->GetTypeId() == TYPEID_PLAYER || ((Creature*)m_target)->isPet())
|
||||
m_target->ApplyStatPercentBuffMod(Stats(i), m_modifier.m_amount, apply );
|
||||
m_target->ApplyStatPercentBuffMod(Stats(i), float(m_modifier.m_amount), apply );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -5430,22 +5430,22 @@ void Aura::HandleModSpellCritChanceShool(bool /*apply*/, bool Real)
|
|||
|
||||
void Aura::HandleModCastingSpeed(bool apply, bool /*Real*/)
|
||||
{
|
||||
m_target->ApplyCastTimePercentMod(m_modifier.m_amount,apply);
|
||||
m_target->ApplyCastTimePercentMod(float(m_modifier.m_amount),apply);
|
||||
}
|
||||
|
||||
void Aura::HandleModMeleeRangedSpeedPct(bool apply, bool /*Real*/)
|
||||
{
|
||||
m_target->ApplyAttackTimePercentMod(BASE_ATTACK, m_modifier.m_amount, apply);
|
||||
m_target->ApplyAttackTimePercentMod(OFF_ATTACK, m_modifier.m_amount, apply);
|
||||
m_target->ApplyAttackTimePercentMod(RANGED_ATTACK, m_modifier.m_amount, apply);
|
||||
m_target->ApplyAttackTimePercentMod(BASE_ATTACK, float(m_modifier.m_amount), apply);
|
||||
m_target->ApplyAttackTimePercentMod(OFF_ATTACK, float(m_modifier.m_amount), apply);
|
||||
m_target->ApplyAttackTimePercentMod(RANGED_ATTACK, float(m_modifier.m_amount), apply);
|
||||
}
|
||||
|
||||
void Aura::HandleModCombatSpeedPct(bool apply, bool /*Real*/)
|
||||
{
|
||||
m_target->ApplyCastTimePercentMod(m_modifier.m_amount, apply);
|
||||
m_target->ApplyAttackTimePercentMod(BASE_ATTACK, m_modifier.m_amount, apply);
|
||||
m_target->ApplyAttackTimePercentMod(OFF_ATTACK, m_modifier.m_amount, apply);
|
||||
m_target->ApplyAttackTimePercentMod(RANGED_ATTACK, m_modifier.m_amount, apply);
|
||||
m_target->ApplyCastTimePercentMod(float(m_modifier.m_amount), apply);
|
||||
m_target->ApplyAttackTimePercentMod(BASE_ATTACK, float(m_modifier.m_amount), apply);
|
||||
m_target->ApplyAttackTimePercentMod(OFF_ATTACK, float(m_modifier.m_amount), apply);
|
||||
m_target->ApplyAttackTimePercentMod(RANGED_ATTACK, float(m_modifier.m_amount), apply);
|
||||
}
|
||||
|
||||
void Aura::HandleModAttackSpeed(bool apply, bool /*Real*/)
|
||||
|
|
@ -5453,26 +5453,26 @@ void Aura::HandleModAttackSpeed(bool apply, bool /*Real*/)
|
|||
if(!m_target->isAlive() )
|
||||
return;
|
||||
|
||||
m_target->ApplyAttackTimePercentMod(BASE_ATTACK,m_modifier.m_amount,apply);
|
||||
m_target->ApplyAttackTimePercentMod(BASE_ATTACK,float(m_modifier.m_amount),apply);
|
||||
}
|
||||
|
||||
void Aura::HandleHaste(bool apply, bool /*Real*/)
|
||||
{
|
||||
m_target->ApplyAttackTimePercentMod(BASE_ATTACK, m_modifier.m_amount, apply);
|
||||
m_target->ApplyAttackTimePercentMod(OFF_ATTACK, m_modifier.m_amount, apply);
|
||||
m_target->ApplyAttackTimePercentMod(RANGED_ATTACK, m_modifier.m_amount, apply);
|
||||
m_target->ApplyAttackTimePercentMod(BASE_ATTACK, float(m_modifier.m_amount), apply);
|
||||
m_target->ApplyAttackTimePercentMod(OFF_ATTACK, float(m_modifier.m_amount), apply);
|
||||
m_target->ApplyAttackTimePercentMod(RANGED_ATTACK, float(m_modifier.m_amount), apply);
|
||||
}
|
||||
|
||||
void Aura::HandleAuraModRangedHaste(bool apply, bool /*Real*/)
|
||||
{
|
||||
m_target->ApplyAttackTimePercentMod(RANGED_ATTACK, m_modifier.m_amount, apply);
|
||||
m_target->ApplyAttackTimePercentMod(RANGED_ATTACK, float(m_modifier.m_amount), apply);
|
||||
}
|
||||
|
||||
void Aura::HandleRangedAmmoHaste(bool apply, bool /*Real*/)
|
||||
{
|
||||
if(m_target->GetTypeId() != TYPEID_PLAYER)
|
||||
return;
|
||||
m_target->ApplyAttackTimePercentMod(RANGED_ATTACK,m_modifier.m_amount, apply);
|
||||
m_target->ApplyAttackTimePercentMod(RANGED_ATTACK, float(m_modifier.m_amount), apply);
|
||||
}
|
||||
|
||||
/********************************/
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue