diff options
author | Teleqraph <nyrdeveloper@gmail.com> | 2022-01-30 13:10:08 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-30 13:10:08 +0100 |
commit | af0edf5afc2bc41b87f2408868f8bc5c2a3065e3 (patch) | |
tree | f0860f1f6d2927ddfaf582b4048d877febc96ab6 | |
parent | 78283e3ef221041ffe4b7c5881193ffcbbdd987a (diff) |
Scripts/Spells: Moved Blessing of Faith script to spell_items (#27692)
-rw-r--r-- | sql/updates/world/master/2022_01_30_01_world.sql | 1 | ||||
-rw-r--r-- | src/server/scripts/Spells/spell_item.cpp | 59 | ||||
-rw-r--r-- | src/server/scripts/Spells/spell_paladin.cpp | 54 |
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); |