diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Spells/spell_priest.cpp | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/src/server/scripts/Spells/spell_priest.cpp b/src/server/scripts/Spells/spell_priest.cpp index 32fc158a888..f17c4d1c4ad 100644 --- a/src/server/scripts/Spells/spell_priest.cpp +++ b/src/server/scripts/Spells/spell_priest.cpp @@ -78,6 +78,7 @@ enum PriestSpells enum PriestSpellIcons { + PRIEST_ICON_ID_FOCUSED_POWER = 2210, PRIEST_ICON_ID_BORROWED_TIME = 2899, PRIEST_ICON_ID_EMPOWERED_RENEW_TALENT = 3021, PRIEST_ICON_ID_PAIN_AND_SUFFERING = 2874, @@ -95,7 +96,15 @@ enum PriestMisc enum MiscSpells { - SPELL_MAGE_ARCANE_POWER = 12042 + SPELL_MAGE_ARCANE_POWER = 12042, + SPELL_GENERIC_ARENA_DAMPENING = 74410, + SPELL_GENERIC_BATTLEGROUND_DAMPENING = 74411 +}; + +enum MiscSpellIcons +{ + SPELL_ICON_ID_STRENGTH_OF_WRYNN = 1704, + SPELL_ICON_ID_HELLSCREAM_WARSONG = 937 }; class PowerCheck @@ -1116,7 +1125,21 @@ class spell_pri_power_word_shield : public SpellScriptLoader AddPct(amount, twinDisciplines->GetAmount()); // Focused Power - amount *= caster->GetTotalAuraMultiplier(SPELL_AURA_MOD_HEALING_DONE_PERCENT); + if (AuraEffect const* focusedPower = caster->GetAuraEffect(SPELL_AURA_MOD_HEALING_DONE_PERCENT, SPELLFAMILY_PRIEST, PRIEST_ICON_ID_FOCUSED_POWER, EFFECT_2)) + AddPct(amount, focusedPower->GetAmount()); + + // Arena - Dampening + if (AuraEffect const* auraEffArenaDampening = caster->GetAuraEffect(SPELL_GENERIC_ARENA_DAMPENING, EFFECT_0)) + AddPct(amount, auraEffArenaDampening->GetAmount()); + // Battleground - Dampening + else if (AuraEffect const* auraEffBattlegroudDampening = caster->GetAuraEffect(SPELL_GENERIC_BATTLEGROUND_DAMPENING, EFFECT_0)) + AddPct(amount, auraEffBattlegroudDampening->GetAmount()); + + // ICC buff + if (AuraEffect const* auraStrengthOfWrynn = caster->GetAuraEffect(SPELL_AURA_MOD_HEALING_DONE_PERCENT, SPELLFAMILY_GENERIC, SPELL_ICON_ID_STRENGTH_OF_WRYNN, EFFECT_2)) + AddPct(amount, auraStrengthOfWrynn->GetAmount()); + else if (AuraEffect const* auraHellscreamsWarsong = caster->GetAuraEffect(SPELL_AURA_MOD_HEALING_DONE_PERCENT, SPELLFAMILY_GENERIC, SPELL_ICON_ID_HELLSCREAM_WARSONG, EFFECT_2)) + AddPct(amount, auraHellscreamsWarsong->GetAmount()); } } |