aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/master/2022_01_30_01_world.sql1
-rw-r--r--src/server/scripts/Spells/spell_item.cpp59
-rw-r--r--src/server/scripts/Spells/spell_paladin.cpp54
3 files changed, 60 insertions, 54 deletions
diff --git a/sql/updates/world/master/2022_01_30_01_world.sql b/sql/updates/world/master/2022_01_30_01_world.sql
new file mode 100644
index 00000000000..150416ded5e
--- /dev/null
+++ b/sql/updates/world/master/2022_01_30_01_world.sql
@@ -0,0 +1 @@
+UPDATE `spell_script_names` SET `ScriptName`='spell_item_blessing_of_faith' WHERE `ScriptName`='spell_pal_blessing_of_faith';
diff --git a/src/server/scripts/Spells/spell_item.cpp b/src/server/scripts/Spells/spell_item.cpp
index 9e4b0d9cf7e..01f61d95b05 100644
--- a/src/server/scripts/Spells/spell_item.cpp
+++ b/src/server/scripts/Spells/spell_item.cpp
@@ -143,6 +143,64 @@ class spell_item_absorb_eye_of_grillok : public AuraScript
}
};
+enum LowerCityPrayerbook
+{
+ SPELL_BLESSING_OF_LOWER_CITY_DRUID = 37878,
+ SPELL_BLESSING_OF_LOWER_CITY_PALADIN = 37879,
+ SPELL_BLESSING_OF_LOWER_CITY_PRIEST = 37880,
+ SPELL_BLESSING_OF_LOWER_CITY_SHAMAN = 37881
+};
+
+// 37877 - Blessing of Faith
+class spell_item_blessing_of_faith : public SpellScript
+{
+ PrepareSpellScript(spell_item_blessing_of_faith);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo
+ ({
+ SPELL_BLESSING_OF_LOWER_CITY_DRUID,
+ SPELL_BLESSING_OF_LOWER_CITY_PALADIN,
+ SPELL_BLESSING_OF_LOWER_CITY_PRIEST,
+ SPELL_BLESSING_OF_LOWER_CITY_SHAMAN
+ });
+ }
+
+ void HandleDummy(SpellEffIndex /*effIndex*/)
+ {
+ if (Unit* unitTarget = GetHitUnit())
+ {
+ uint32 spellId = 0;
+ switch (unitTarget->GetClass())
+ {
+ case CLASS_DRUID:
+ spellId = SPELL_BLESSING_OF_LOWER_CITY_DRUID;
+ break;
+ case CLASS_PALADIN:
+ spellId = SPELL_BLESSING_OF_LOWER_CITY_PALADIN;
+ break;
+ case CLASS_PRIEST:
+ spellId = SPELL_BLESSING_OF_LOWER_CITY_PRIEST;
+ break;
+ case CLASS_SHAMAN:
+ spellId = SPELL_BLESSING_OF_LOWER_CITY_SHAMAN;
+ break;
+ default:
+ return; // ignore for non-healing classes
+ }
+
+ Unit* caster = GetCaster();
+ caster->CastSpell(caster, spellId, true);
+ }
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_item_blessing_of_faith::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
+ }
+};
+
enum AlchemistStone
{
SPELL_ALCHEMIST_STONE_EXTRA_HEAL = 21399,
@@ -4482,6 +4540,7 @@ void AddSC_item_spell_scripts()
RegisterAuraScript(spell_item_aegis_of_preservation);
RegisterAuraScript(spell_item_absorb_eye_of_grillok);
+ RegisterSpellScript(spell_item_blessing_of_faith);
RegisterAuraScript(spell_item_alchemist_stone);
new spell_item_anger_capacitor<8>("spell_item_tiny_abomination_in_a_jar");
new spell_item_anger_capacitor<7>("spell_item_tiny_abomination_in_a_jar_hero");
diff --git a/src/server/scripts/Spells/spell_paladin.cpp b/src/server/scripts/Spells/spell_paladin.cpp
index 820551eeb01..9f7cab4d949 100644
--- a/src/server/scripts/Spells/spell_paladin.cpp
+++ b/src/server/scripts/Spells/spell_paladin.cpp
@@ -42,10 +42,6 @@ enum PaladinSpells
SPELL_PALADIN_AVENGING_WRATH = 31884,
SPELL_PALADIN_BEACON_OF_LIGHT = 53563,
SPELL_PALADIN_BEACON_OF_LIGHT_HEAL = 53652,
- SPELL_PALADIN_BLESSING_OF_LOWER_CITY_DRUID = 37878,
- SPELL_PALADIN_BLESSING_OF_LOWER_CITY_PALADIN = 37879,
- SPELL_PALADIN_BLESSING_OF_LOWER_CITY_PRIEST = 37880,
- SPELL_PALADIN_BLESSING_OF_LOWER_CITY_SHAMAN = 37881,
SPELL_PALADIN_BLINDING_LIGHT_EFFECT = 105421,
SPELL_PALADIN_CONCENTRACTION_AURA = 19746,
SPELL_PALADIN_CONSECRATED_GROUND_PASSIVE = 204054,
@@ -192,55 +188,6 @@ class spell_pal_ardent_defender : public SpellScriptLoader
};
*/
-// 37877 - Blessing of Faith
-class spell_pal_blessing_of_faith : public SpellScript
-{
- PrepareSpellScript(spell_pal_blessing_of_faith);
-
- bool Validate(SpellInfo const* /*spellInfo*/) override
- {
- return ValidateSpellInfo(
- {
- SPELL_PALADIN_BLESSING_OF_LOWER_CITY_DRUID,
- SPELL_PALADIN_BLESSING_OF_LOWER_CITY_PALADIN,
- SPELL_PALADIN_BLESSING_OF_LOWER_CITY_PRIEST,
- SPELL_PALADIN_BLESSING_OF_LOWER_CITY_SHAMAN
- });
- }
-
- void HandleDummy(SpellEffIndex /*effIndex*/)
- {
- if (Unit* unitTarget = GetHitUnit())
- {
- uint32 spell_id = 0;
- switch (unitTarget->GetClass())
- {
- case CLASS_DRUID:
- spell_id = SPELL_PALADIN_BLESSING_OF_LOWER_CITY_DRUID;
- break;
- case CLASS_PALADIN:
- spell_id = SPELL_PALADIN_BLESSING_OF_LOWER_CITY_PALADIN;
- break;
- case CLASS_PRIEST:
- spell_id = SPELL_PALADIN_BLESSING_OF_LOWER_CITY_PRIEST;
- break;
- case CLASS_SHAMAN:
- spell_id = SPELL_PALADIN_BLESSING_OF_LOWER_CITY_SHAMAN;
- break;
- default:
- return; // ignore for non-healing classes
- }
- Unit* caster = GetCaster();
- caster->CastSpell(caster, spell_id, true);
- }
- }
-
- void Register() override
- {
- OnEffectHitTarget += SpellEffectFn(spell_pal_blessing_of_faith::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
- }
-};
-
// 1022 - Blessing of Protection
// 204018 - Blessing of Spellwarding
class spell_pal_blessing_of_protection : public SpellScript
@@ -1361,7 +1308,6 @@ class spell_pal_zeal : public AuraScript
void AddSC_paladin_spell_scripts()
{
//new spell_pal_ardent_defender();
- RegisterSpellScript(spell_pal_blessing_of_faith);
RegisterSpellScript(spell_pal_blessing_of_protection);
RegisterSpellScript(spell_pal_blinding_light);
RegisterAuraScript(spell_pal_crusader_might);