mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-23 10:26:28 +01:00
Core/Units: updated spell crit damage bonus percentages for Cataclysm
This commit is contained in:
@@ -1175,6 +1175,8 @@ void Unit::CalculateSpellDamageTaken(SpellNonMeleeDamage* damageInfo, int32 dama
|
||||
|
||||
SpellSchoolMask damageSchoolMask = SpellSchoolMask(damageInfo->schoolMask);
|
||||
|
||||
damageInfo->originalDamage = damage;
|
||||
|
||||
// Spells with SPELL_ATTR4_IGNORE_DAMAGE_TAKEN_MODIFIERS ignore resilience because their damage is based off another spell's damage.
|
||||
if (!spellInfo->HasAttribute(SPELL_ATTR4_IGNORE_DAMAGE_TAKEN_MODIFIERS))
|
||||
{
|
||||
@@ -1255,7 +1257,6 @@ void Unit::CalculateSpellDamageTaken(SpellNonMeleeDamage* damageInfo, int32 dama
|
||||
damage = 0;
|
||||
|
||||
damageInfo->damage = damage;
|
||||
damageInfo->originalDamage = damage;
|
||||
DamageInfo dmgInfo(*damageInfo, SPELL_DIRECT_DAMAGE, BASE_ATTACK, PROC_HIT_NONE);
|
||||
Unit::CalcAbsorbResist(dmgInfo, spell);
|
||||
damageInfo->absorb = dmgInfo.GetAbsorb();
|
||||
@@ -7102,9 +7103,21 @@ float Unit::SpellCritChanceTaken(Unit const* caster, Spell* spell, AuraEffect co
|
||||
/*static*/ uint32 Unit::SpellCriticalDamageBonus(Unit const* caster, SpellInfo const* spellProto, uint32 damage, Unit* victim)
|
||||
{
|
||||
// Calculate critical bonus
|
||||
int32 crit_bonus = damage * 2;
|
||||
int32 crit_bonus = damage;
|
||||
float crit_mod = 0.0f;
|
||||
|
||||
switch (spellProto->DmgClass)
|
||||
{
|
||||
case SPELL_DAMAGE_CLASS_MELEE: // for melee based spells is 100%
|
||||
case SPELL_DAMAGE_CLASS_RANGED:
|
||||
/// @todo write here full calculation for melee/ranged spells
|
||||
crit_bonus += damage;
|
||||
break;
|
||||
default:
|
||||
crit_bonus += damage / 2; // for spells is 50%
|
||||
break;
|
||||
}
|
||||
|
||||
if (caster)
|
||||
{
|
||||
crit_mod += (caster->GetTotalAuraMultiplierByMiscMask(SPELL_AURA_MOD_CRIT_DAMAGE_BONUS, spellProto->GetSchoolMask()) - 1.0f) * 100;
|
||||
|
||||
Reference in New Issue
Block a user