diff options
-rw-r--r-- | sql/updates/world/3.3.5/2019_07_25_00_world_335.sql | 14 | ||||
-rw-r--r-- | src/server/scripts/Spells/spell_priest.cpp | 26 |
2 files changed, 40 insertions, 0 deletions
diff --git a/sql/updates/world/3.3.5/2019_07_25_00_world_335.sql b/sql/updates/world/3.3.5/2019_07_25_00_world_335.sql new file mode 100644 index 00000000000..04c1de08b90 --- /dev/null +++ b/sql/updates/world/3.3.5/2019_07_25_00_world_335.sql @@ -0,0 +1,14 @@ +-- +SET @GROUP_ID := 1123; -- Change with the proper ID if this is in use +DELETE FROM `spell_group` WHERE `id`=@GROUP_ID AND `spell_id` IN (10060,12042); +INSERT INTO `spell_group` (`id`,`spell_id`) VALUES +(@GROUP_ID,10060), -- Priest - Power Infusion +(@GROUP_ID,12042); -- Mage - Arcane Power + +DELETE FROM `spell_group_stack_rules` WHERE `group_id`=@GROUP_ID; +INSERT INTO `spell_group_stack_rules` (`group_id`,`stack_rule`) VALUES +(@GROUP_ID,1); + +DELETE FROM `spell_script_names` WHERE `spell_id`=10060 AND `ScriptName`='spell_pri_power_infusion'; +INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES +(10060,'spell_pri_power_infusion'); diff --git a/src/server/scripts/Spells/spell_priest.cpp b/src/server/scripts/Spells/spell_priest.cpp index 1d871b7615d..32fc158a888 100644 --- a/src/server/scripts/Spells/spell_priest.cpp +++ b/src/server/scripts/Spells/spell_priest.cpp @@ -93,6 +93,11 @@ enum PriestMisc PRIEST_LIGHTWELL_NPC_6 = 31883 }; +enum MiscSpells +{ + SPELL_MAGE_ARCANE_POWER = 12042 +}; + class PowerCheck { public: @@ -1544,6 +1549,26 @@ class spell_pri_t10_heal_2p_bonus : public SpellScriptLoader } }; +// 10060 - Power Infusion +class spell_pri_power_infusion : public SpellScript +{ + PrepareSpellScript(spell_pri_power_infusion); + + SpellCastResult CheckCast() + { + if (Unit* target = GetExplTargetUnit()) + if (target->HasAura(SPELL_MAGE_ARCANE_POWER)) + return SPELL_FAILED_AURA_BOUNCED; + + return SPELL_CAST_OK; + } + + void Register() override + { + OnCheckCast += SpellCheckCastFn(spell_pri_power_infusion::CheckCast); + } +}; + void AddSC_priest_spell_scripts() { new spell_pri_aq_3p_bonus(); @@ -1576,4 +1601,5 @@ void AddSC_priest_spell_scripts() new spell_pri_t3_4p_bonus(); new spell_pri_t5_heal_2p_bonus(); new spell_pri_t10_heal_2p_bonus(); + RegisterSpellScript(spell_pri_power_infusion); } |