aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Spells
diff options
context:
space:
mode:
authorjoschiwald <joschiwald.trinity@gmail.com>2017-09-24 23:15:56 +0200
committerjoschiwald <joschiwald.trinity@gmail.com>2017-09-24 23:15:56 +0200
commit0fcf6043b7e9c4fd02f81d03bc6b8f8f036ec0c1 (patch)
tree343fffae8001ac7a9029bb58e101ef77b15d7c38 /src/server/scripts/Spells
parentee7f598e19f76c8c71dc9c748b5d0a09b54b0c66 (diff)
Core/Misc: Changed some SpellMgr::GetSpellInfo calls
Diffstat (limited to 'src/server/scripts/Spells')
-rw-r--r--src/server/scripts/Spells/spell_item.cpp54
-rw-r--r--src/server/scripts/Spells/spell_monk.cpp191
-rw-r--r--src/server/scripts/Spells/spell_warlock.cpp4
3 files changed, 109 insertions, 140 deletions
diff --git a/src/server/scripts/Spells/spell_item.cpp b/src/server/scripts/Spells/spell_item.cpp
index d212683754b..2f43fc60256 100644
--- a/src/server/scripts/Spells/spell_item.cpp
+++ b/src/server/scripts/Spells/spell_item.cpp
@@ -209,11 +209,12 @@ class spell_item_anger_capacitor : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_MOTE_OF_ANGER) ||
- !sSpellMgr->GetSpellInfo(SPELL_MANIFEST_ANGER_MAIN_HAND) ||
- !sSpellMgr->GetSpellInfo(SPELL_MANIFEST_ANGER_OFF_HAND))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_MOTE_OF_ANGER,
+ SPELL_MANIFEST_ANGER_MAIN_HAND,
+ SPELL_MANIFEST_ANGER_OFF_HAND
+ });
}
void HandleProc(AuraEffect const* /*aurEff*/, ProcEventInfo& eventInfo)
@@ -564,13 +565,14 @@ class spell_item_deathbringers_will : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(Strength) ||
- !sSpellMgr->GetSpellInfo(Agility) ||
- !sSpellMgr->GetSpellInfo(AttackPower) ||
- !sSpellMgr->GetSpellInfo(Critical) ||
- !sSpellMgr->GetSpellInfo(Haste))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ Strength,
+ Agility,
+ AttackPower,
+ Critical,
+ Haste
+ });
}
void HandleProc(AuraEffect const* /*aurEff*/, ProcEventInfo& eventInfo)
@@ -1128,12 +1130,13 @@ class spell_item_heartpierce : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(Energy) ||
- !sSpellMgr->GetSpellInfo(Mana) ||
- !sSpellMgr->GetSpellInfo(Rage) ||
- !sSpellMgr->GetSpellInfo(RunicPower))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ Energy,
+ Mana,
+ Rage,
+ RunicPower
+ });
}
void HandleProc(AuraEffect const* /*aurEff*/, ProcEventInfo& eventInfo)
@@ -3611,10 +3614,7 @@ class spell_item_shard_of_the_scale : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(HealProc) ||
- !sSpellMgr->GetSpellInfo(DamageProc))
- return false;
- return true;
+ return ValidateSpellInfo({ HealProc, DamageProc });
}
void HandleProc(AuraEffect const* /*aurEff*/, ProcEventInfo& eventInfo)
@@ -3750,11 +3750,13 @@ class spell_item_sunwell_neck : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sFactionStore.LookupEntry(FACTION_ALDOR) ||
- !sFactionStore.LookupEntry(FACTION_SCRYERS) ||
- !sSpellMgr->GetSpellInfo(Aldors) ||
- !sSpellMgr->GetSpellInfo(Scryers))
+ !sFactionStore.LookupEntry(FACTION_SCRYERS))
return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ Aldors,
+ Scryers
+ });
}
bool CheckProc(ProcEventInfo& eventInfo)
diff --git a/src/server/scripts/Spells/spell_monk.cpp b/src/server/scripts/Spells/spell_monk.cpp
index 6e86295e322..696d5270117 100644
--- a/src/server/scripts/Spells/spell_monk.cpp
+++ b/src/server/scripts/Spells/spell_monk.cpp
@@ -42,157 +42,126 @@ enum MonkSpells
};
// 117952 - Crackling Jade Lightning
-class spell_monk_crackling_jade_lightning : public SpellScriptLoader
+class spell_monk_crackling_jade_lightning : public AuraScript
{
-public:
- spell_monk_crackling_jade_lightning() : SpellScriptLoader("spell_monk_crackling_jade_lightning") { }
+ PrepareAuraScript(spell_monk_crackling_jade_lightning);
- class spell_monk_crackling_jade_lightning_AuraScript : public AuraScript
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
- PrepareAuraScript(spell_monk_crackling_jade_lightning_AuraScript);
-
- bool Validate(SpellInfo const* /*spellInfo*/) override
+ return ValidateSpellInfo(
{
- if (!sSpellMgr->GetSpellInfo(SPELL_MONK_CRACKLING_JADE_LIGHTNING_CHI_PROC))
- return false;
- return true;
- }
-
- void OnTick(AuraEffect const* /*aurEff*/)
- {
- if (Unit* caster = GetCaster())
- if (caster->HasAura(SPELL_MONK_STANCE_OF_THE_SPIRITED_CRANE))
- caster->CastSpell(caster, SPELL_MONK_CRACKLING_JADE_LIGHTNING_CHI_PROC, TRIGGERED_FULL_MASK);
- }
+ SPELL_MONK_STANCE_OF_THE_SPIRITED_CRANE,
+ SPELL_MONK_CRACKLING_JADE_LIGHTNING_CHI_PROC
+ });
+ }
- void Register() override
- {
- OnEffectPeriodic += AuraEffectPeriodicFn(spell_monk_crackling_jade_lightning_AuraScript::OnTick, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE);
- }
- };
+ void OnTick(AuraEffect const* /*aurEff*/)
+ {
+ if (Unit* caster = GetCaster())
+ if (caster->HasAura(SPELL_MONK_STANCE_OF_THE_SPIRITED_CRANE))
+ caster->CastSpell(caster, SPELL_MONK_CRACKLING_JADE_LIGHTNING_CHI_PROC, TRIGGERED_FULL_MASK);
+ }
- AuraScript* GetAuraScript() const override
+ void Register() override
{
- return new spell_monk_crackling_jade_lightning_AuraScript();
+ OnEffectPeriodic += AuraEffectPeriodicFn(spell_monk_crackling_jade_lightning::OnTick, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE);
}
};
// 117959 - Crackling Jade Lightning
-class spell_monk_crackling_jade_lightning_knockback_proc_aura : public SpellScriptLoader
+class spell_monk_crackling_jade_lightning_knockback_proc_aura : public AuraScript
{
-public:
- spell_monk_crackling_jade_lightning_knockback_proc_aura() : SpellScriptLoader("spell_monk_crackling_jade_lightning_knockback_proc_aura") { }
+ PrepareAuraScript(spell_monk_crackling_jade_lightning_knockback_proc_aura);
- class spell_monk_crackling_jade_lightning_aura_AuraScript : public AuraScript
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
- PrepareAuraScript(spell_monk_crackling_jade_lightning_aura_AuraScript);
-
- bool Validate(SpellInfo const* /*spellInfo*/) override
+ return ValidateSpellInfo(
{
- if (!sSpellMgr->GetSpellInfo(SPELL_MONK_CRACKLING_JADE_LIGHTNING_KNOCKBACK))
- return false;
- if (!sSpellMgr->GetSpellInfo(SPELL_MONK_CRACKLING_JADE_LIGHTNING_KNOCKBACK_CD))
- return false;
- return true;
- }
-
- bool CheckProc(ProcEventInfo& eventInfo)
- {
- if (GetTarget()->HasAura(SPELL_MONK_CRACKLING_JADE_LIGHTNING_KNOCKBACK_CD))
- return false;
+ SPELL_MONK_CRACKLING_JADE_LIGHTNING_KNOCKBACK,
+ SPELL_MONK_CRACKLING_JADE_LIGHTNING_KNOCKBACK_CD
+ });
+ }
- if (eventInfo.GetActor()->HasAura(SPELL_MONK_CRACKLING_JADE_LIGHTNING_CHANNEL, GetTarget()->GetGUID()))
- return false;
+ bool CheckProc(ProcEventInfo& eventInfo)
+ {
+ if (GetTarget()->HasAura(SPELL_MONK_CRACKLING_JADE_LIGHTNING_KNOCKBACK_CD))
+ return false;
- Spell* currentChanneledSpell = GetTarget()->GetCurrentSpell(CURRENT_CHANNELED_SPELL);
- if (!currentChanneledSpell || currentChanneledSpell->GetSpellInfo()->Id != SPELL_MONK_CRACKLING_JADE_LIGHTNING_CHANNEL)
- return false;
+ if (eventInfo.GetActor()->HasAura(SPELL_MONK_CRACKLING_JADE_LIGHTNING_CHANNEL, GetTarget()->GetGUID()))
+ return false;
- return true;
- }
+ Spell* currentChanneledSpell = GetTarget()->GetCurrentSpell(CURRENT_CHANNELED_SPELL);
+ if (!currentChanneledSpell || currentChanneledSpell->GetSpellInfo()->Id != SPELL_MONK_CRACKLING_JADE_LIGHTNING_CHANNEL)
+ return false;
- void HandleProc(AuraEffect const* /*aurEff*/, ProcEventInfo& eventInfo)
- {
- GetTarget()->CastSpell(eventInfo.GetActor(), SPELL_MONK_CRACKLING_JADE_LIGHTNING_KNOCKBACK, TRIGGERED_FULL_MASK);
- GetTarget()->CastSpell(GetTarget(), SPELL_MONK_CRACKLING_JADE_LIGHTNING_KNOCKBACK_CD, TRIGGERED_FULL_MASK);
- }
+ return true;
+ }
- void Register() override
- {
- DoCheckProc += AuraCheckProcFn(spell_monk_crackling_jade_lightning_aura_AuraScript::CheckProc);
- OnEffectProc += AuraEffectProcFn(spell_monk_crackling_jade_lightning_aura_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
- }
- };
+ void HandleProc(AuraEffect const* /*aurEff*/, ProcEventInfo& eventInfo)
+ {
+ GetTarget()->CastSpell(eventInfo.GetActor(), SPELL_MONK_CRACKLING_JADE_LIGHTNING_KNOCKBACK, TRIGGERED_FULL_MASK);
+ GetTarget()->CastSpell(GetTarget(), SPELL_MONK_CRACKLING_JADE_LIGHTNING_KNOCKBACK_CD, TRIGGERED_FULL_MASK);
+ }
- AuraScript* GetAuraScript() const override
+ void Register() override
{
- return new spell_monk_crackling_jade_lightning_aura_AuraScript();
+ DoCheckProc += AuraCheckProcFn(spell_monk_crackling_jade_lightning_knockback_proc_aura::CheckProc);
+ OnEffectProc += AuraEffectProcFn(spell_monk_crackling_jade_lightning_knockback_proc_aura::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
// 115546 - Provoke
-class spell_monk_provoke : public SpellScriptLoader
+class spell_monk_provoke : public SpellScript
{
-public:
- spell_monk_provoke() : SpellScriptLoader("spell_monk_provoke") { }
+ PrepareSpellScript(spell_monk_provoke);
- class spell_monk_provoke_SpellScript : public SpellScript
- {
- PrepareSpellScript(spell_monk_provoke_SpellScript);
-
- static uint32 const BlackOxStatusEntry = 61146;
+ static uint32 const BlackOxStatusEntry = 61146;
- bool Validate(SpellInfo const* spellInfo) override
+ bool Validate(SpellInfo const* spellInfo) override
+ {
+ if (!(spellInfo->GetExplicitTargetMask() & TARGET_FLAG_UNIT_MASK)) // ensure GetExplTargetUnit() will return something meaningful during CheckCast
+ return false;
+ return ValidateSpellInfo(
{
- if (!(spellInfo->GetExplicitTargetMask() & TARGET_FLAG_UNIT_MASK)) // ensure GetExplTargetUnit() will return something meaningful during CheckCast
- return false;
- if (!sSpellMgr->GetSpellInfo(SPELL_MONK_PROVOKE_SINGLE_TARGET))
- return false;
- if (!sSpellMgr->GetSpellInfo(SPELL_MONK_PROVOKE_AOE))
- return false;
- return true;
- }
+ SPELL_MONK_PROVOKE_SINGLE_TARGET,
+ SPELL_MONK_PROVOKE_AOE
+ });
+ }
- SpellCastResult CheckExplicitTarget()
+ SpellCastResult CheckExplicitTarget()
+ {
+ if (GetExplTargetUnit()->GetEntry() != BlackOxStatusEntry)
{
- if (GetExplTargetUnit()->GetEntry() != BlackOxStatusEntry)
- {
- SpellInfo const* singleTarget = sSpellMgr->AssertSpellInfo(SPELL_MONK_PROVOKE_SINGLE_TARGET);
- SpellCastResult singleTargetExplicitResult = singleTarget->CheckExplicitTarget(GetCaster(), GetExplTargetUnit());
- if (singleTargetExplicitResult != SPELL_CAST_OK)
- return singleTargetExplicitResult;
- }
- else if (GetExplTargetUnit()->GetOwnerGUID() != GetCaster()->GetGUID())
- return SPELL_FAILED_BAD_TARGETS;
-
- return SPELL_CAST_OK;
+ SpellInfo const* singleTarget = sSpellMgr->AssertSpellInfo(SPELL_MONK_PROVOKE_SINGLE_TARGET);
+ SpellCastResult singleTargetExplicitResult = singleTarget->CheckExplicitTarget(GetCaster(), GetExplTargetUnit());
+ if (singleTargetExplicitResult != SPELL_CAST_OK)
+ return singleTargetExplicitResult;
}
+ else if (GetExplTargetUnit()->GetOwnerGUID() != GetCaster()->GetGUID())
+ return SPELL_FAILED_BAD_TARGETS;
- void HandleDummy(SpellEffIndex effIndex)
- {
- PreventHitDefaultEffect(effIndex);
- if (GetHitUnit()->GetEntry() != BlackOxStatusEntry)
- GetCaster()->CastSpell(GetHitUnit(), SPELL_MONK_PROVOKE_SINGLE_TARGET, true);
- else
- GetCaster()->CastSpell(GetHitUnit(), SPELL_MONK_PROVOKE_AOE, true);
- }
+ return SPELL_CAST_OK;
+ }
- void Register() override
- {
- OnCheckCast += SpellCheckCastFn(spell_monk_provoke_SpellScript::CheckExplicitTarget);
- OnEffectHitTarget += SpellEffectFn(spell_monk_provoke_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
- }
- };
+ void HandleDummy(SpellEffIndex effIndex)
+ {
+ PreventHitDefaultEffect(effIndex);
+ if (GetHitUnit()->GetEntry() != BlackOxStatusEntry)
+ GetCaster()->CastSpell(GetHitUnit(), SPELL_MONK_PROVOKE_SINGLE_TARGET, true);
+ else
+ GetCaster()->CastSpell(GetHitUnit(), SPELL_MONK_PROVOKE_AOE, true);
+ }
- SpellScript* GetSpellScript() const override
+ void Register() override
{
- return new spell_monk_provoke_SpellScript();
+ OnCheckCast += SpellCheckCastFn(spell_monk_provoke::CheckExplicitTarget);
+ OnEffectHitTarget += SpellEffectFn(spell_monk_provoke::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
void AddSC_monk_spell_scripts()
{
- new spell_monk_crackling_jade_lightning();
- new spell_monk_crackling_jade_lightning_knockback_proc_aura();
- new spell_monk_provoke();
+ RegisterAuraScript(spell_monk_crackling_jade_lightning);
+ RegisterAuraScript(spell_monk_crackling_jade_lightning_knockback_proc_aura);
+ RegisterSpellScript(spell_monk_provoke);
}
diff --git a/src/server/scripts/Spells/spell_warlock.cpp b/src/server/scripts/Spells/spell_warlock.cpp
index 809c7074538..61d65d0f52e 100644
--- a/src/server/scripts/Spells/spell_warlock.cpp
+++ b/src/server/scripts/Spells/spell_warlock.cpp
@@ -1380,9 +1380,7 @@ class spell_warl_t4_2p_bonus : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(Trigger))
- return false;
- return true;
+ return ValidateSpellInfo({ Trigger });
}
void HandleProc(AuraEffect const* /*aurEff*/, ProcEventInfo& eventInfo)