diff options
| author | Vincent-Michael <Vincent_Michael@gmx.de> | 2013-07-23 16:28:23 +0200 | 
|---|---|---|
| committer | Vincent-Michael <Vincent_Michael@gmx.de> | 2013-07-23 16:28:23 +0200 | 
| commit | 98f51b47b0306d7811c7407d479404b8c0417802 (patch) | |
| tree | ffcc5e04ea0cf7d94360f10a21e59552e6ec6562 /src/server/scripts | |
| parent | 059d23de2d0b9b8b5d63ffde050dbbed9bcf0cf3 (diff) | |
DB/Spells: Fix paladin talent "Sanctuary" for 4.3.4
Diffstat (limited to 'src/server/scripts')
| -rw-r--r-- | src/server/scripts/Spells/spell_dk.cpp | 128 | ||||
| -rw-r--r-- | src/server/scripts/Spells/spell_paladin.cpp | 62 | 
2 files changed, 62 insertions, 128 deletions
| diff --git a/src/server/scripts/Spells/spell_dk.cpp b/src/server/scripts/Spells/spell_dk.cpp index ccd0ced8049..752f3823210 100644 --- a/src/server/scripts/Spells/spell_dk.cpp +++ b/src/server/scripts/Spells/spell_dk.cpp @@ -33,6 +33,8 @@ enum DeathKnightSpells      SPELL_DK_BLOOD_BOIL_TRIGGERED               = 65658,      SPELL_DK_BLOOD_GORGED_HEAL                  = 50454,      SPELL_DK_BLOOD_PRESENCE                     = 48266, +    SPELL_DK_BLOOD_SHIELD_MASTERY               = 77513, +    SPELL_DK_BLOOD_SHIELD_ABSORB                = 77535,      SPELL_DK_BUTCHERY                           = 50163,      SPELL_DK_CORPSE_EXPLOSION_TRIGGERED         = 43999,      SPELL_DK_CORPSE_EXPLOSION_VISUAL            = 51270, @@ -52,15 +54,7 @@ enum DeathKnightSpells      SPELL_DK_SCOURGE_STRIKE_TRIGGERED           = 70890,      SPELL_DK_WILL_OF_THE_NECROPOLIS_TALENT_R1   = 49189,      SPELL_DK_WILL_OF_THE_NECROPOLIS_AURA_R1     = 52284, -    SPELL_DK_UNHOLY_PRESENCE                    = 48265, -     -    SPELL_DK_BLOOD_SHIELD_MASTERY               = 77513, -    SPELL_DK_BLOOD_SHIELD_ABSORB                = 77535 -}; - -enum DeathKnightSpellIcons -{ -    DK_ICON_ID_IMPROVED_DEATH_STRIKE            = 2751 +    SPELL_DK_UNHOLY_PRESENCE                    = 48265  };  // 50462 - Anti-Magic Shell (on raid member) @@ -609,8 +603,10 @@ class spell_dk_death_strike : public SpellScriptLoader              bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE              { -                if (!sSpellMgr->GetSpellInfo(SPELL_DK_DEATH_STRIKE_ENABLER) -                    || !sSpellMgr->GetSpellInfo(SPELL_DK_DEATH_STRIKE_HEAL)) +                if (!sSpellMgr->GetSpellInfo(SPELL_DK_DEATH_STRIKE_ENABLER) || +                    !sSpellMgr->GetSpellInfo(SPELL_DK_DEATH_STRIKE_HEAL) || +                    !sSpellMgr->GetSpellInfo(SPELL_DK_BLOOD_SHIELD_MASTERY) || +                    !sSpellMgr->GetSpellInfo(SPELL_DK_BLOOD_SHIELD_ABSORB))                      return false;                  return true;              } @@ -651,75 +647,75 @@ class spell_dk_death_strike : public SpellScriptLoader  // 89832 - Death Strike (Save damage taken in last 5 sec)  class spell_dk_death_strike_enabler : public SpellScriptLoader  { -public: -    spell_dk_death_strike_enabler() : SpellScriptLoader("spell_dk_death_strike_enabler") { } - -    class spell_dk_death_strike_enabler_AuraScript : public AuraScript -    { -        PrepareAuraScript(spell_dk_death_strike_enabler_AuraScript); +    public: +        spell_dk_death_strike_enabler() : SpellScriptLoader("spell_dk_death_strike_enabler") { } -        bool Load() OVERRIDE +        class spell_dk_death_strike_enabler_AuraScript : public AuraScript          { -            for (uint8 i = 0; i < 5; ++i) -                _damagePerSecond[i] = 0; -            return true; -        } +            PrepareAuraScript(spell_dk_death_strike_enabler_AuraScript); -        void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo) -        { -            if (!GetUnitOwner()->HasAura(SPELL_DK_BLOOD_PRESENCE)) +            bool Load() OVERRIDE              {                  for (uint8 i = 0; i < 5; ++i)                      _damagePerSecond[i] = 0; +                return true;              } -            else -                _damagePerSecond[0] += eventInfo.GetDamageInfo()->GetDamage(); -        } -        bool CheckProc(ProcEventInfo& eventInfo) -        { -            return eventInfo.GetDamageInfo(); -        } +            bool CheckProc(ProcEventInfo& eventInfo) +            { +                return eventInfo.GetDamageInfo(); +            } -        // Cheap hack to have update calls -        void CalcPeriodic(AuraEffect const* /*aurEff*/, bool& isPeriodic, int32& amplitude) -        { -            isPeriodic = true; -            amplitude = 1000; -        } +            void HandleProc(AuraEffect const* /*aurEff*/, ProcEventInfo& eventInfo) +            { +                if (!GetUnitOwner()->HasAura(SPELL_DK_BLOOD_PRESENCE)) +                { +                    for (uint8 i = 0; i < 5; ++i) +                        _damagePerSecond[i] = 0; +                } +                else +                    _damagePerSecond[0] += eventInfo.GetDamageInfo()->GetDamage(); +            } -        void Update(AuraEffect* aurEff) -        { -            // Move backwards all datas by one -            for (uint8 i = 4; i > 0; --i) -                _damagePerSecond[i] = _damagePerSecond[i - 1]; -            _damagePerSecond[0] = 0; -        } +            // Cheap hack to have update calls +            void CalcPeriodic(AuraEffect const* /*aurEff*/, bool& isPeriodic, int32& amplitude) +            { +                isPeriodic = true; +                amplitude = 1000; +            } -        void HandleCalcAmount(AuraEffect const* aurEff, int32& amount, bool& canBeRecalculated) -        { -            canBeRecalculated = true; -            amount = 0; -            for (uint8 i = 0; i < 5; ++i) -                amount += int32(_damagePerSecond[i]); -        } +            void Update(AuraEffect* /*aurEff*/) +            { +                // Move backwards all datas by one +                for (uint8 i = 4; i > 0; --i) +                    _damagePerSecond[i] = _damagePerSecond[i - 1]; +                _damagePerSecond[0] = 0; +            } -        void Register() OVERRIDE -        { -            DoCheckProc += AuraCheckProcFn(spell_dk_death_strike_enabler_AuraScript::CheckProc); -            OnEffectProc += AuraEffectProcFn(spell_dk_death_strike_enabler_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY); -            DoEffectCalcPeriodic += AuraEffectCalcPeriodicFn(spell_dk_death_strike_enabler_AuraScript::CalcPeriodic, EFFECT_0, SPELL_AURA_DUMMY); -            OnEffectUpdatePeriodic += AuraEffectUpdatePeriodicFn(spell_dk_death_strike_enabler_AuraScript::Update, EFFECT_0, SPELL_AURA_DUMMY); -            DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_dk_death_strike_enabler_AuraScript::HandleCalcAmount, EFFECT_0, SPELL_AURA_DUMMY); -        } +            void HandleCalcAmount(AuraEffect const* /*aurEff*/, int32& amount, bool& canBeRecalculated) +            { +                canBeRecalculated = true; +                amount = 0; +                for (uint8 i = 0; i < 5; ++i) +                    amount += int32(_damagePerSecond[i]); +            } -        uint32 _damagePerSecond[5]; -    }; +            void Register() OVERRIDE +            { +                DoCheckProc += AuraCheckProcFn(spell_dk_death_strike_enabler_AuraScript::CheckProc); +                OnEffectProc += AuraEffectProcFn(spell_dk_death_strike_enabler_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY); +                DoEffectCalcPeriodic += AuraEffectCalcPeriodicFn(spell_dk_death_strike_enabler_AuraScript::CalcPeriodic, EFFECT_0, SPELL_AURA_DUMMY); +                OnEffectUpdatePeriodic += AuraEffectUpdatePeriodicFn(spell_dk_death_strike_enabler_AuraScript::Update, EFFECT_0, SPELL_AURA_DUMMY); +                DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_dk_death_strike_enabler_AuraScript::HandleCalcAmount, EFFECT_0, SPELL_AURA_DUMMY); +            } -    AuraScript* GetAuraScript() const OVERRIDE -    { -        return new spell_dk_death_strike_enabler_AuraScript(); -    } +            uint32 _damagePerSecond[5]; +        }; + +        AuraScript* GetAuraScript() const OVERRIDE +        { +            return new spell_dk_death_strike_enabler_AuraScript(); +        }  };  // 47496 - Explode, Ghoul spell for Corpse Explosion diff --git a/src/server/scripts/Spells/spell_paladin.cpp b/src/server/scripts/Spells/spell_paladin.cpp index 0458e4966ca..be05f21b774 100644 --- a/src/server/scripts/Spells/spell_paladin.cpp +++ b/src/server/scripts/Spells/spell_paladin.cpp @@ -30,8 +30,6 @@  enum PaladinSpells  {      SPELL_PALADIN_DIVINE_PLEA                    = 54428, -    SPELL_PALADIN_BLESSING_OF_SANCTUARY_BUFF     = 67480, -    SPELL_PALADIN_BLESSING_OF_SANCTUARY_ENERGIZE = 57319,      SPELL_PALADIN_HOLY_SHOCK_R1                  = 20473,      SPELL_PALADIN_HOLY_SHOCK_R1_DAMAGE           = 25912, @@ -202,65 +200,6 @@ class spell_pal_blessing_of_faith : public SpellScriptLoader          }  }; -// 20911 - Blessing of Sanctuary -// 25899 - Greater Blessing of Sanctuary -class spell_pal_blessing_of_sanctuary : public SpellScriptLoader -{ -    public: -        spell_pal_blessing_of_sanctuary() : SpellScriptLoader("spell_pal_blessing_of_sanctuary") { } - -        class spell_pal_blessing_of_sanctuary_AuraScript : public AuraScript -        { -            PrepareAuraScript(spell_pal_blessing_of_sanctuary_AuraScript); - -            bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE -            { -                if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_BLESSING_OF_SANCTUARY_BUFF)) -                    return false; -                if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_BLESSING_OF_SANCTUARY_ENERGIZE)) -                    return false; -                return true; -            } - -            void HandleEffectApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) -            { -                Unit* target = GetTarget(); -                if (Unit* caster = GetCaster()) -                    caster->CastSpell(target, SPELL_PALADIN_BLESSING_OF_SANCTUARY_BUFF, true); -            } - -            void HandleEffectRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) -            { -                Unit* target = GetTarget(); -                target->RemoveAura(SPELL_PALADIN_BLESSING_OF_SANCTUARY_BUFF, GetCasterGUID()); -            } - -            bool CheckProc(ProcEventInfo& /*eventInfo*/) -            { -                return GetTarget()->getPowerType() == POWER_MANA; -            } - -            void HandleProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/) -            { -                PreventDefaultAction(); -                GetTarget()->CastSpell(GetTarget(), SPELL_PALADIN_BLESSING_OF_SANCTUARY_ENERGIZE, true, NULL, aurEff); -            } - -            void Register() OVERRIDE -            { -                AfterEffectApply += AuraEffectApplyFn(spell_pal_blessing_of_sanctuary_AuraScript::HandleEffectApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK); -                AfterEffectRemove += AuraEffectRemoveFn(spell_pal_blessing_of_sanctuary_AuraScript::HandleEffectRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK); -                DoCheckProc += AuraCheckProcFn(spell_pal_blessing_of_sanctuary_AuraScript::CheckProc); -                OnEffectProc += AuraEffectProcFn(spell_pal_blessing_of_sanctuary_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY); -            } -        }; - -        AuraScript* GetAuraScript() const OVERRIDE -        { -            return new spell_pal_blessing_of_sanctuary_AuraScript(); -        } -}; -  // 64205 - Divine Sacrifice  class spell_pal_divine_sacrifice : public SpellScriptLoader  { @@ -1000,7 +939,6 @@ void AddSC_paladin_spell_scripts()  {      //new spell_pal_ardent_defender();      new spell_pal_blessing_of_faith(); -    new spell_pal_blessing_of_sanctuary();      new spell_pal_divine_sacrifice();      new spell_pal_divine_storm();      new spell_pal_divine_storm_dummy(); | 
