Core/Spells: Implemented effect SPELL_EFFECT_DAMAGE_FROM_MAX_HEALTH_PCT

This commit is contained in:
Vincent_Michael
2012-12-31 02:10:04 +01:00
parent ee9b7dfef8
commit e7d02bfb7f
3 changed files with 14 additions and 2 deletions

View File

@@ -945,7 +945,7 @@ enum SpellEffects
SPELL_EFFECT_TALENT_SPEC_SELECT = 162,
SPELL_EFFECT_163 = 163, // Unused (4.3.4)
SPELL_EFFECT_REMOVE_AURA = 164,
SPELL_EFFECT_165 = 165,
SPELL_EFFECT_DAMAGE_FROM_MAX_HEALTH_PCT = 165,
SPELL_EFFECT_166 = 166,
SPELL_EFFECT_167 = 167,
SPELL_EFFECT_168 = 168,

View File

@@ -335,6 +335,7 @@ class Spell
void EffectActivateSpec(SpellEffIndex effIndex);
void EffectPlayerNotification(SpellEffIndex effIndex);
void EffectRemoveAura(SpellEffIndex effIndex);
void EffectDamageFromMaxHealthPCT(SpellEffIndex effIndex);
void EffectCastButtons(SpellEffIndex effIndex);
void EffectRechargeManaGem(SpellEffIndex effIndex);

View File

@@ -234,7 +234,7 @@ pEffect SpellEffects[TOTAL_SPELL_EFFECTS]=
&Spell::EffectActivateSpec, //162 SPELL_EFFECT_TALENT_SPEC_SELECT activate primary/secondary spec
&Spell::EffectUnused, //163 SPELL_EFFECT_163 unused
&Spell::EffectRemoveAura, //164 SPELL_EFFECT_REMOVE_AURA
&Spell::EffectNULL, //165 SPELL_EFFECT_165
&Spell::EffectDamageFromMaxHealthPCT, //165 SPELL_EFFECT_DAMAGE_FROM_MAX_HEALTH_PCT
&Spell::EffectNULL, //166 SPELL_EFFECT_166
&Spell::EffectNULL, //167 SPELL_EFFECT_167
&Spell::EffectNULL, //168 SPELL_EFFECT_168
@@ -5896,6 +5896,17 @@ void Spell::EffectRemoveAura(SpellEffIndex effIndex)
unitTarget->RemoveAurasDueToSpell(m_spellInfo->Effects[effIndex].TriggerSpell);
}
void Spell::EffectDamageFromMaxHealthPCT(SpellEffIndex effIndex)
{
if (effectHandleMode != SPELL_EFFECT_HANDLE_HIT_TARGET)
return;
if (!unitTarget)
return;
m_damage += unitTarget->CountPctFromMaxHealth(damage);
}
void Spell::EffectCastButtons(SpellEffIndex effIndex)
{
if (effectHandleMode != SPELL_EFFECT_HANDLE_HIT)