diff options
| author | Vincent-Michael <Vincent_Michael@gmx.de> | 2013-07-24 02:32:52 +0200 |
|---|---|---|
| committer | Vincent-Michael <Vincent_Michael@gmx.de> | 2013-07-24 02:32:52 +0200 |
| commit | b2fb740b54fcb293f479c1039caaedf6928cd1e7 (patch) | |
| tree | e0dbd44d854b44108536f5e0b15c0f3256a43642 /src | |
| parent | 18a3ccd3d1f93063d08414b687221f4991873993 (diff) | |
Core/Spells: Fix priest talent "Improved Power Word: Shield"
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/scripts/Spells/spell_priest.cpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_priest.cpp b/src/server/scripts/Spells/spell_priest.cpp index 552d54410cd..3d754275c20 100644 --- a/src/server/scripts/Spells/spell_priest.cpp +++ b/src/server/scripts/Spells/spell_priest.cpp @@ -272,6 +272,41 @@ class spell_pri_glyph_of_prayer_of_healing : public SpellScriptLoader } }; +class spell_pri_improved_power_word_shield : public SpellScriptLoader +{ + public: + spell_pri_improved_power_word_shield() : SpellScriptLoader("spell_pri_improved_power_word_shield") { } + + class spell_pri_improved_power_word_shield_AuraScript : public AuraScript + { + PrepareAuraScript(spell_pri_improved_power_word_shield_AuraScript); + + void HandleEffectCalcSpellMod(AuraEffect const* aurEff, SpellModifier*& spellMod) + { + if (!spellMod) + { + spellMod = new SpellModifier(GetAura()); + spellMod->op = SpellModOp(aurEff->GetMiscValue()); + spellMod->type = SPELLMOD_PCT; + spellMod->spellId = GetId(); + spellMod->mask = GetSpellInfo()->Effects[aurEff->GetEffIndex()].SpellClassMask; + } + + spellMod->value = aurEff->GetAmount(); + } + + void Register() OVERRIDE + { + DoEffectCalcSpellMod += AuraEffectCalcSpellModFn(spell_pri_improved_power_word_shield_AuraScript::HandleEffectCalcSpellMod, EFFECT_0, SPELL_AURA_DUMMY); + } + }; + + AuraScript* GetAuraScript() const OVERRIDE + { + return new spell_pri_improved_power_word_shield_AuraScript(); + } +}; + // 37594 - Greater Heal Refund class spell_pri_item_greater_heal_refund : public SpellScriptLoader { @@ -1088,6 +1123,7 @@ void AddSC_priest_spell_scripts() new spell_pri_dispel_magic(); new spell_pri_divine_aegis(); new spell_pri_glyph_of_prayer_of_healing(); + new spell_pri_improved_power_word_shield(); new spell_pri_item_greater_heal_refund(); new spell_pri_guardian_spirit(); new spell_pri_leap_of_faith_effect_trigger(); |
