aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/SpellEffects.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Spells/SpellEffects.cpp')
-rw-r--r--src/server/game/Spells/SpellEffects.cpp24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index cfe1096930a..fa4b8ea9a4a 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -367,7 +367,7 @@ void Spell::EffectSchoolDMG(SpellEffIndex effIndex)
// Shockwave
else if (m_spellInfo->Id == 46968)
{
- int32 pct = unitCaster->CalculateSpellDamage(m_spellInfo, EFFECT_2);
+ int32 pct = unitCaster->CalculateSpellDamage(m_spellInfo->GetEffect(EFFECT_2));
if (pct > 0)
damage += int32(CalculatePct(unitCaster->GetTotalAttackPowerValue(BASE_ATTACK), pct));
break;
@@ -425,10 +425,10 @@ void Spell::EffectSchoolDMG(SpellEffIndex effIndex)
// And multiply by amount of ticks to get damage potential
pdamage *= aura->GetSpellInfo()->GetMaxTicks();
- int32 pct_dir = unitCaster->CalculateSpellDamage(m_spellInfo, EFFECT_1);
+ int32 pct_dir = unitCaster->CalculateSpellDamage(m_spellInfo->GetEffect(EFFECT_1));
damage += CalculatePct(pdamage, pct_dir);
- int32 pct_dot = unitCaster->CalculateSpellDamage(m_spellInfo, EFFECT_2);
+ int32 pct_dot = unitCaster->CalculateSpellDamage(m_spellInfo->GetEffect(EFFECT_2));
int32 const dotBasePoints = CalculatePct(pdamage, pct_dot);
ASSERT(m_spellInfo->GetMaxTicks() > 0);
@@ -652,7 +652,7 @@ void Spell::EffectSchoolDMG(SpellEffIndex effIndex)
float average = (minTotal + maxTotal) / 2;
// Add main hand dps * effect[2] amount
- int32 count = unitCaster->CalculateSpellDamage(m_spellInfo, EFFECT_2);
+ int32 count = unitCaster->CalculateSpellDamage(m_spellInfo->GetEffect(EFFECT_2));
damage += count * int32(average * IN_MILLISECONDS) / unitCaster->GetAttackTime(BASE_ATTACK);
break;
}
@@ -1847,7 +1847,7 @@ void Spell::EffectOpenLock(SpellEffIndex effIndex)
int32 reqSkillValue = 0;
int32 skillValue;
- SpellCastResult res = CanOpenLock(effIndex, lockId, skillId, reqSkillValue, skillValue);
+ SpellCastResult res = CanOpenLock(m_spellInfo->GetEffect(effIndex), lockId, skillId, reqSkillValue, skillValue);
if (res != SPELL_CAST_OK)
{
SendCastResult(res);
@@ -3039,11 +3039,11 @@ void Spell::EffectWeaponDmg(SpellEffIndex effIndex)
unitCaster->CastSpell(unitTarget, 58567, true);
if (Aura* aur = unitTarget->GetAura(58567, unitCaster->GetGUID()))
- fixed_bonus += (aur->GetStackAmount() - 1) * CalculateDamage(EFFECT_2); // subtract 1 so fixed bonus is not applied twice
+ fixed_bonus += (aur->GetStackAmount() - 1) * CalculateDamage(m_spellInfo->GetEffect(EFFECT_2)); // subtract 1 so fixed bonus is not applied twice
}
else if (m_spellInfo->SpellFamilyFlags[0] & 0x8000000) // Mocking Blow
{
- if (unitTarget->IsImmunedToSpellEffect(m_spellInfo, EFFECT_1, unitCaster) || unitTarget->GetTypeId() == TYPEID_PLAYER)
+ if (unitTarget->IsImmunedToSpellEffect(m_spellInfo, m_spellInfo->GetEffect(EFFECT_1), unitCaster) || unitTarget->GetTypeId() == TYPEID_PLAYER)
{
m_damage = 0;
return;
@@ -3206,20 +3206,20 @@ void Spell::EffectWeaponDmg(SpellEffIndex effIndex)
bool normalized = false;
float weaponDamagePercentMod = 1.0f;
- for (uint8 j = 0; j < MAX_SPELL_EFFECTS; ++j)
+ for (SpellEffectInfo const& spellEffectInfo : m_spellInfo->GetEffects())
{
- switch (m_spellInfo->Effects[j].Effect)
+ switch (spellEffectInfo.Effect)
{
case SPELL_EFFECT_WEAPON_DAMAGE:
case SPELL_EFFECT_WEAPON_DAMAGE_NOSCHOOL:
- fixed_bonus += CalculateDamage(j);
+ fixed_bonus += CalculateDamage(spellEffectInfo);
break;
case SPELL_EFFECT_NORMALIZED_WEAPON_DMG:
- fixed_bonus += CalculateDamage(j);
+ fixed_bonus += CalculateDamage(spellEffectInfo);
normalized = true;
break;
case SPELL_EFFECT_WEAPON_PERCENT_DAMAGE:
- ApplyPct(weaponDamagePercentMod, CalculateDamage(j));
+ ApplyPct(weaponDamagePercentMod, CalculateDamage(spellEffectInfo));
break;
default:
break; // not weapon damage effect, just skip