aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/master/2022_02_13_03_world_priest_power_word_solace.sql3
-rw-r--r--src/server/scripts/Spells/spell_priest.cpp25
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);