diff options
-rw-r--r-- | sql/updates/world/master/2022_02_13_03_world_priest_power_word_solace.sql | 3 | ||||
-rw-r--r-- | src/server/scripts/Spells/spell_priest.cpp | 25 |
2 files changed, 28 insertions, 0 deletions
diff --git a/sql/updates/world/master/2022_02_13_03_world_priest_power_word_solace.sql b/sql/updates/world/master/2022_02_13_03_world_priest_power_word_solace.sql new file mode 100644 index 00000000000..3475e4c88fa --- /dev/null +++ b/sql/updates/world/master/2022_02_13_03_world_priest_power_word_solace.sql @@ -0,0 +1,3 @@ +DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_pri_power_word_solace'; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(129250, 'spell_pri_power_word_solace'); diff --git a/src/server/scripts/Spells/spell_priest.cpp b/src/server/scripts/Spells/spell_priest.cpp index 9d699ce5795..e51d046a42d 100644 --- a/src/server/scripts/Spells/spell_priest.cpp +++ b/src/server/scripts/Spells/spell_priest.cpp @@ -63,6 +63,7 @@ enum PriestSpells SPELL_PRIEST_PENANCE_R1 = 47540, SPELL_PRIEST_PENANCE_R1_DAMAGE = 47758, SPELL_PRIEST_PENANCE_R1_HEAL = 47757, + SPELL_PRIEST_POWER_WORD_SOLACE_ENERGIZE = 129253, SPELL_PRIEST_PRAYER_OF_HEALING = 596, SPELL_PRIEST_RAPTURE = 47536, SPELL_PRIEST_RENEW = 139, @@ -855,6 +856,29 @@ class spell_pri_power_word_shield_aura : public AuraScript } }; +// 129250 - Power Word: Solace +class spell_pri_power_word_solace : public SpellScript +{ + PrepareSpellScript(spell_pri_power_word_solace); + + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_PRIEST_POWER_WORD_SOLACE_ENERGIZE }); + } + + void RestoreMana(SpellEffIndex /*effIndex*/) + { + GetCaster()->CastSpell(GetCaster(), SPELL_PRIEST_POWER_WORD_SOLACE_ENERGIZE, + CastSpellExtraArgs(TRIGGERED_IGNORE_CAST_IN_PROGRESS).SetTriggeringSpell(GetSpell()) + .AddSpellMod(SPELLVALUE_BASE_POINT0, GetEffectValue() / 100)); + } + + void Register() override + { + OnEffectLaunch += SpellEffectFn(spell_pri_power_word_solace::RestoreMana, EFFECT_1, SPELL_EFFECT_DUMMY); + } +}; + // Base class used by various prayer of mending spells class spell_pri_prayer_of_mending_SpellScriptBase : public SpellScript { @@ -1489,6 +1513,7 @@ void AddSC_priest_spell_scripts() new spell_pri_penance(); RegisterSpellScript(spell_pri_power_word_radiance); RegisterSpellAndAuraScriptPair(spell_pri_power_word_shield, spell_pri_power_word_shield_aura); + RegisterSpellScript(spell_pri_power_word_solace); RegisterSpellScript(spell_pri_prayer_of_mending); RegisterSpellScript(spell_pri_prayer_of_mending_aura); RegisterSpellScript(spell_pri_prayer_of_mending_jump); |