aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVincent-Michael <Vincent_Michael@gmx.de>2013-07-24 02:32:52 +0200
committerVincent-Michael <Vincent_Michael@gmx.de>2013-07-24 02:32:52 +0200
commitb2fb740b54fcb293f479c1039caaedf6928cd1e7 (patch)
treee0dbd44d854b44108536f5e0b15c0f3256a43642 /src
parent18a3ccd3d1f93063d08414b687221f4991873993 (diff)
Core/Spells: Fix priest talent "Improved Power Word: Shield"
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Spells/spell_priest.cpp36
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();