From 2b42dcadf7ca01b48be2fceef5288b5f0b28e61f Mon Sep 17 00:00:00 2001 From: John Holiver Date: Fri, 31 Dec 2010 18:31:16 -0200 Subject: Fix T10 Bonus for: - Paladin 2P Retribution - Shaman 4P Enhancement --- src/server/scripts/Spells/spell_generic.cpp | 44 +++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'src/server/scripts') diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index 95a93b65b4c..c9b8f75b5fb 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -595,6 +595,49 @@ class spell_gen_shroud_of_death : public SpellScriptLoader } }; +enum DivineStormSpell +{ + SPELL_DIVINE_STORM = 53385, +}; + +// 70769 Divine Storm! +class spell_gen_divine_storm_cd_reset : public SpellScriptLoader +{ +public: + spell_gen_divine_storm_cd_reset() : SpellScriptLoader("spell_gen_divine_storm_cd_reset") {} + + class spell_gen_divine_storm_cd_reset_SpellScript : public SpellScript + { + PrepareSpellScript(spell_gen_divine_storm_cd_reset_SpellScript) + bool Validate(SpellEntry const * /*spellEntry*/) + { + if (!sSpellStore.LookupEntry(SPELL_DIVINE_STORM)) + return false; + return true; + } + + void HandleScript(SpellEffIndex /*effIndex*/) + { + Player *caster = GetCaster()->ToPlayer(); + if (caster->GetTypeId() != TYPEID_PLAYER) + return; + + if (caster->HasSpellCooldown(SPELL_DIVINE_STORM)) + caster->RemoveSpellCooldown(SPELL_DIVINE_STORM, true); + } + + void Register() + { + OnEffect += SpellEffectFn(spell_gen_divine_storm_cd_reset_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_DUMMY); + } + }; + + SpellScript* GetSpellScript() const + { + return new spell_gen_divine_storm_cd_reset_SpellScript(); + } +}; + void AddSC_generic_spell_scripts() { new spell_gen_absorb0_hitlimit1(); @@ -610,4 +653,5 @@ void AddSC_generic_spell_scripts() new spell_pvp_trinket_wotf_shared_cd(); new spell_gen_animal_blood(); new spell_gen_shroud_of_death(); + new spell_gen_divine_storm_cd_reset(); } -- cgit v1.2.3