aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Spells
diff options
context:
space:
mode:
authorariel- <ariel-@users.noreply.github.com>2017-06-19 23:20:06 -0300
committerariel- <ariel-@users.noreply.github.com>2017-06-19 23:20:06 -0300
commit85a7d5ce9ac68b30da2277cc91d4b70358f1880d (patch)
treedf3d2084ee2e35008903c03178039b9c986e2d08 /src/server/scripts/Spells
parent052fc24315ace866ea1cf610e85df119b68100c9 (diff)
Core: ported headers cleanup from master branch
Diffstat (limited to 'src/server/scripts/Spells')
-rw-r--r--src/server/scripts/Spells/spell_dk.cpp352
-rw-r--r--src/server/scripts/Spells/spell_druid.cpp223
-rw-r--r--src/server/scripts/Spells/spell_generic.cpp365
-rw-r--r--src/server/scripts/Spells/spell_holiday.cpp182
-rw-r--r--src/server/scripts/Spells/spell_hunter.cpp147
-rw-r--r--src/server/scripts/Spells/spell_item.cpp491
-rw-r--r--src/server/scripts/Spells/spell_mage.cpp152
-rw-r--r--src/server/scripts/Spells/spell_paladin.cpp308
-rw-r--r--src/server/scripts/Spells/spell_pet.cpp20
-rw-r--r--src/server/scripts/Spells/spell_priest.cpp133
-rw-r--r--src/server/scripts/Spells/spell_quest.cpp155
-rw-r--r--src/server/scripts/Spells/spell_rogue.cpp138
-rw-r--r--src/server/scripts/Spells/spell_shaman.cpp193
-rw-r--r--src/server/scripts/Spells/spell_warlock.cpp152
-rw-r--r--src/server/scripts/Spells/spell_warrior.cpp135
15 files changed, 1328 insertions, 1818 deletions
diff --git a/src/server/scripts/Spells/spell_dk.cpp b/src/server/scripts/Spells/spell_dk.cpp
index a55dbd765a0..bd2e36bc30f 100644
--- a/src/server/scripts/Spells/spell_dk.cpp
+++ b/src/server/scripts/Spells/spell_dk.cpp
@@ -21,12 +21,20 @@
* Scriptnames of files in this file should be prefixed with "spell_dk_".
*/
+#include "ScriptMgr.h"
+#include "Containers.h"
+#include "DBCStores.h"
+#include "Map.h"
+#include "ObjectAccessor.h"
+#include "ObjectMgr.h"
#include "Player.h"
#include "PlayerAI.h"
-#include "ScriptMgr.h"
-#include "SpellScript.h"
+#include "Spell.h"
#include "SpellAuraEffects.h"
-#include "Containers.h"
+#include "SpellHistory.h"
+#include "SpellMgr.h"
+#include "SpellScript.h"
+#include "TemporarySummon.h"
enum DeathKnightSpells
{
@@ -117,14 +125,15 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DK_ACCLIMATION_HOLY) ||
- !sSpellMgr->GetSpellInfo(SPELL_DK_ACCLIMATION_FIRE) ||
- !sSpellMgr->GetSpellInfo(SPELL_DK_ACCLIMATION_FROST) ||
- !sSpellMgr->GetSpellInfo(SPELL_DK_ACCLIMATION_NATURE) ||
- !sSpellMgr->GetSpellInfo(SPELL_DK_ACCLIMATION_SHADOW) ||
- !sSpellMgr->GetSpellInfo(SPELL_DK_ACCLIMATION_ARCANE))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_DK_ACCLIMATION_HOLY,
+ SPELL_DK_ACCLIMATION_FIRE,
+ SPELL_DK_ACCLIMATION_NATURE,
+ SPELL_DK_ACCLIMATION_FROST,
+ SPELL_DK_ACCLIMATION_SHADOW,
+ SPELL_DK_ACCLIMATION_ARCANE
+ });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -206,9 +215,7 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DK_ADVANTAGE_T10_4P_MELEE))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DK_ADVANTAGE_T10_4P_MELEE });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -317,9 +324,7 @@ class spell_dk_anti_magic_shell_self : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DK_RUNIC_POWER_ENERGIZE))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DK_RUNIC_POWER_ENERGIZE });
}
void CalculateAmount(AuraEffect const* /*aurEff*/, int32 & amount, bool & /*canBeRecalculated*/)
@@ -337,7 +342,7 @@ class spell_dk_anti_magic_shell_self : public SpellScriptLoader
// damage absorbed by Anti-Magic Shell energizes the DK with additional runic power.
// This, if I'm not mistaken, shows that we get back ~20% of the absorbed damage as runic power.
int32 bp = CalculatePct(absorbAmount, 20);
- GetTarget()->CastCustomSpell(SPELL_DK_RUNIC_POWER_ENERGIZE, SPELLVALUE_BASE_POINT0, bp, GetTarget(), true, NULL, aurEff);
+ GetTarget()->CastCustomSpell(SPELL_DK_RUNIC_POWER_ENERGIZE, SPELLVALUE_BASE_POINT0, bp, GetTarget(), true, nullptr, aurEff);
}
void Register() override
@@ -381,9 +386,7 @@ class spell_dk_anti_magic_zone : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DK_ANTI_MAGIC_SHELL_TALENT))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DK_ANTI_MAGIC_SHELL_TALENT });
}
void CalculateAmount(AuraEffect const* /*aurEff*/, int32 & amount, bool & /*canBeRecalculated*/)
@@ -463,9 +466,7 @@ class spell_dk_blood_boil : public SpellScriptLoader
private:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DK_BLOOD_BOIL_TRIGGERED))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DK_BLOOD_BOIL_TRIGGERED });
}
bool Load() override
@@ -506,18 +507,9 @@ class spell_dk_blood_gorged : public SpellScriptLoader
{
PrepareAuraScript(spell_dk_blood_gorged_AuraScript);
- public:
- spell_dk_blood_gorged_AuraScript()
- {
- _procTarget = nullptr;
- }
-
- private:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DK_BLOOD_GORGED_HEAL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DK_BLOOD_GORGED_HEAL });
}
bool CheckProc(ProcEventInfo& /*eventInfo*/)
@@ -544,7 +536,7 @@ class spell_dk_blood_gorged : public SpellScriptLoader
}
private:
- Unit* _procTarget;
+ Unit* _procTarget = nullptr;
};
AuraScript* GetAuraScript() const override
@@ -592,9 +584,7 @@ class spell_dk_butchery : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DK_BUTCHERY_RUNIC_POWER))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DK_BUTCHERY_RUNIC_POWER });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -649,27 +639,21 @@ class spell_dk_corpse_explosion : public SpellScriptLoader
{
PrepareSpellScript(spell_dk_corpse_explosion_SpellScript);
- public:
- spell_dk_corpse_explosion_SpellScript()
- {
- _target = nullptr;
- }
-
- private:
bool Validate(SpellInfo const* spellInfo) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DK_CORPSE_EXPLOSION_TRIGGERED)
- || !sSpellMgr->GetSpellInfo(SPELL_DK_GHOUL_EXPLODE)
- || !sSpellMgr->GetSpellInfo(SPELL_DK_CORPSE_EXPLOSION_VISUAL)
- || !sSpellMgr->GetSpellInfo(spellInfo->Effects[EFFECT_1].CalcValue()))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_DK_CORPSE_EXPLOSION_TRIGGERED,
+ SPELL_DK_GHOUL_EXPLODE,
+ SPELL_DK_CORPSE_EXPLOSION_VISUAL,
+ static_cast<uint32>(spellInfo->Effects[EFFECT_1].CalcValue())
+ });
}
void CheckTarget(WorldObject*& target)
{
if (CorpseExplosionCheck(GetCaster()->GetGUID(), true)(target))
- target = NULL;
+ target = nullptr;
_target = target;
}
@@ -698,7 +682,7 @@ class spell_dk_corpse_explosion : public SpellScriptLoader
if (effIndex == EFFECT_0)
GetCaster()->CastCustomSpell(GetSpellInfo()->Effects[EFFECT_1].CalcValue(), SPELLVALUE_BASE_POINT0, GetEffectValue(), target, true);
else if (effIndex == EFFECT_1)
- GetCaster()->CastCustomSpell(GetEffectValue(), SPELLVALUE_BASE_POINT0, GetSpell()->CalculateDamage(EFFECT_0, NULL), target, true);
+ GetCaster()->CastCustomSpell(GetEffectValue(), SPELLVALUE_BASE_POINT0, GetSpell()->CalculateDamage(EFFECT_0, nullptr), target, true);
}
void HandleCorpseExplosion(SpellEffIndex effIndex)
@@ -729,8 +713,7 @@ class spell_dk_corpse_explosion : public SpellScriptLoader
OnEffectHitTarget += SpellEffectFn(spell_dk_corpse_explosion_SpellScript::HandleCorpseExplosion, EFFECT_1, SPELL_EFFECT_DUMMY);
}
- private:
- WorldObject* _target;
+ WorldObject* _target = nullptr;
};
SpellScript* GetSpellScript() const override
@@ -814,7 +797,7 @@ class spell_dk_death_and_decay : public SpellScriptLoader
void HandleDummyTick(AuraEffect const* aurEff)
{
if (Unit* caster = GetCaster())
- caster->CastCustomSpell(SPELL_DK_DEATH_AND_DECAY_DAMAGE, SPELLVALUE_BASE_POINT0, aurEff->GetAmount(), GetTarget(), true, NULL, aurEff);
+ caster->CastCustomSpell(SPELL_DK_DEATH_AND_DECAY_DAMAGE, SPELLVALUE_BASE_POINT0, aurEff->GetAmount(), GetTarget(), true, nullptr, aurEff);
}
void Register() override
@@ -841,9 +824,7 @@ class spell_dk_death_coil : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DK_DEATH_COIL_DAMAGE) || !sSpellMgr->GetSpellInfo(SPELL_DK_DEATH_COIL_HEAL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DK_DEATH_COIL_DAMAGE, SPELL_DK_DEATH_COIL_HEAL });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -855,13 +836,13 @@ class spell_dk_death_coil : public SpellScriptLoader
if (caster->IsFriendlyTo(target))
{
int32 bp = int32(damage * 1.5f);
- caster->CastCustomSpell(target, SPELL_DK_DEATH_COIL_HEAL, &bp, NULL, NULL, true);
+ caster->CastCustomSpell(target, SPELL_DK_DEATH_COIL_HEAL, &bp, nullptr, nullptr, true);
}
else
{
if (AuraEffect const* auraEffect = caster->GetAuraEffect(SPELL_DK_ITEM_SIGIL_VENGEFUL_HEART, EFFECT_1))
damage += auraEffect->GetBaseAmount();
- caster->CastCustomSpell(target, SPELL_DK_DEATH_COIL_DAMAGE, &damage, NULL, NULL, true);
+ caster->CastCustomSpell(target, SPELL_DK_DEATH_COIL_DAMAGE, &damage, nullptr, nullptr, true);
}
}
}
@@ -998,7 +979,7 @@ class spell_dk_death_pact : public SpellScriptLoader
void FilterTargets(std::list<WorldObject*>& targetList)
{
- Unit* target = NULL;
+ Unit* target = nullptr;
for (std::list<WorldObject*>::iterator itr = targetList.begin(); itr != targetList.end(); ++itr)
{
if (Unit* unit = (*itr)->ToUnit())
@@ -1117,9 +1098,7 @@ class spell_dk_death_strike : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DK_DEATH_STRIKE_HEAL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DK_DEATH_STRIKE_HEAL });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -1132,7 +1111,7 @@ class spell_dk_death_strike : public SpellScriptLoader
// Improved Death Strike
if (AuraEffect const* aurEff = caster->GetAuraEffect(SPELL_AURA_ADD_PCT_MODIFIER, SPELLFAMILY_DEATHKNIGHT, DK_ICON_ID_IMPROVED_DEATH_STRIKE, 0))
AddPct(bp, caster->CalculateSpellDamage(caster, aurEff->GetSpellInfo(), 2));
- caster->CastCustomSpell(caster, SPELL_DK_DEATH_STRIKE_HEAL, &bp, NULL, NULL, false);
+ caster->CastCustomSpell(caster, SPELL_DK_DEATH_STRIKE_HEAL, &bp, nullptr, nullptr, false);
}
}
@@ -1161,10 +1140,8 @@ class spell_dk_ghoul_explode : public SpellScriptLoader
bool Validate(SpellInfo const* spellInfo) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DK_CORPSE_EXPLOSION_TRIGGERED)
- || spellInfo->Effects[EFFECT_2].CalcValue() <= 0)
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DK_CORPSE_EXPLOSION_TRIGGERED }) &&
+ spellInfo->Effects[EFFECT_2].CalcValue() > 0;
}
void HandleDamage(SpellEffIndex /*effIndex*/)
@@ -1209,9 +1186,7 @@ class spell_dk_glyph_of_death_grip : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DK_DEATH_GRIP_INITIAL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DK_DEATH_GRIP_INITIAL });
}
void HandleProc(AuraEffect const* /*aurEff*/, ProcEventInfo& eventInfo)
@@ -1244,9 +1219,7 @@ class spell_dk_glyph_of_scourge_strike : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DK_GLYPH_OF_SCOURGE_STRIKE_SCRIPT))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DK_GLYPH_OF_SCOURGE_STRIKE_SCRIPT });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1359,19 +1332,20 @@ class spell_dk_improved_blood_presence : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DK_BLOOD_PRESENCE)
- || !sSpellMgr->GetSpellInfo(SPELL_DK_FROST_PRESENCE)
- || !sSpellMgr->GetSpellInfo(SPELL_DK_UNHOLY_PRESENCE)
- || !sSpellMgr->GetSpellInfo(SPELL_DK_IMPROVED_BLOOD_PRESENCE_TRIGGERED))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_DK_BLOOD_PRESENCE,
+ SPELL_DK_FROST_PRESENCE,
+ SPELL_DK_UNHOLY_PRESENCE,
+ SPELL_DK_IMPROVED_BLOOD_PRESENCE_TRIGGERED
+ });
}
void HandleEffectApply(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/)
{
Unit* target = GetTarget();
if ((target->HasAura(SPELL_DK_FROST_PRESENCE) || target->HasAura(SPELL_DK_UNHOLY_PRESENCE)) && !target->HasAura(SPELL_DK_IMPROVED_BLOOD_PRESENCE_TRIGGERED))
- target->CastCustomSpell(SPELL_DK_IMPROVED_BLOOD_PRESENCE_TRIGGERED, SPELLVALUE_BASE_POINT1, aurEff->GetAmount(), target, true, NULL, aurEff);
+ target->CastCustomSpell(SPELL_DK_IMPROVED_BLOOD_PRESENCE_TRIGGERED, SPELLVALUE_BASE_POINT1, aurEff->GetAmount(), target, true, nullptr, aurEff);
}
void HandleEffectRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -1406,9 +1380,7 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DK_IMPROVED_BLOOD_PRESENCE_HEAL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DK_IMPROVED_BLOOD_PRESENCE_HEAL });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -1452,19 +1424,20 @@ class spell_dk_improved_frost_presence : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DK_BLOOD_PRESENCE)
- || !sSpellMgr->GetSpellInfo(SPELL_DK_FROST_PRESENCE)
- || !sSpellMgr->GetSpellInfo(SPELL_DK_UNHOLY_PRESENCE)
- || !sSpellMgr->GetSpellInfo(SPELL_DK_FROST_PRESENCE_TRIGGERED))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_DK_BLOOD_PRESENCE,
+ SPELL_DK_FROST_PRESENCE,
+ SPELL_DK_UNHOLY_PRESENCE,
+ SPELL_DK_FROST_PRESENCE_TRIGGERED
+ });
}
void HandleEffectApply(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/)
{
Unit* target = GetTarget();
if ((target->HasAura(SPELL_DK_BLOOD_PRESENCE) || target->HasAura(SPELL_DK_UNHOLY_PRESENCE)) && !target->HasAura(SPELL_DK_FROST_PRESENCE_TRIGGERED))
- target->CastCustomSpell(SPELL_DK_FROST_PRESENCE_TRIGGERED, SPELLVALUE_BASE_POINT0, aurEff->GetAmount(), target, true, NULL, aurEff);
+ target->CastCustomSpell(SPELL_DK_FROST_PRESENCE_TRIGGERED, SPELLVALUE_BASE_POINT0, aurEff->GetAmount(), target, true, nullptr, aurEff);
}
void HandleEffectRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -1499,13 +1472,14 @@ class spell_dk_improved_unholy_presence : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DK_BLOOD_PRESENCE)
- || !sSpellMgr->GetSpellInfo(SPELL_DK_FROST_PRESENCE)
- || !sSpellMgr->GetSpellInfo(SPELL_DK_UNHOLY_PRESENCE)
- || !sSpellMgr->GetSpellInfo(SPELL_DK_IMPROVED_UNHOLY_PRESENCE_TRIGGERED)
- || !sSpellMgr->GetSpellInfo(SPELL_DK_UNHOLY_PRESENCE_TRIGGERED))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_DK_BLOOD_PRESENCE,
+ SPELL_DK_FROST_PRESENCE,
+ SPELL_DK_UNHOLY_PRESENCE,
+ SPELL_DK_IMPROVED_UNHOLY_PRESENCE_TRIGGERED,
+ SPELL_DK_UNHOLY_PRESENCE_TRIGGERED
+ });
}
void HandleEffectApply(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/)
@@ -1515,11 +1489,11 @@ class spell_dk_improved_unholy_presence : public SpellScriptLoader
{
// Not listed as any effect, only base points set in dbc
int32 basePoints = GetSpellInfo()->Effects[EFFECT_1].CalcValue();
- target->CastCustomSpell(target, SPELL_DK_IMPROVED_UNHOLY_PRESENCE_TRIGGERED, &basePoints, &basePoints, &basePoints, true, NULL, aurEff);
+ target->CastCustomSpell(target, SPELL_DK_IMPROVED_UNHOLY_PRESENCE_TRIGGERED, &basePoints, &basePoints, &basePoints, true, nullptr, aurEff);
}
if ((target->HasAura(SPELL_DK_BLOOD_PRESENCE) || target->HasAura(SPELL_DK_FROST_PRESENCE)) && !target->HasAura(SPELL_DK_UNHOLY_PRESENCE_TRIGGERED))
- target->CastCustomSpell(SPELL_DK_UNHOLY_PRESENCE_TRIGGERED, SPELLVALUE_BASE_POINT0, aurEff->GetAmount(), target, true, NULL, aurEff);
+ target->CastCustomSpell(SPELL_DK_UNHOLY_PRESENCE_TRIGGERED, SPELLVALUE_BASE_POINT0, aurEff->GetAmount(), target, true, nullptr, aurEff);
}
void HandleEffectRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -1557,9 +1531,7 @@ class spell_dk_pvp_4p_bonus : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DK_RUNIC_RETURN))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DK_RUNIC_RETURN });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -1602,9 +1574,7 @@ class spell_dk_mark_of_blood : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DK_MARK_OF_BLOOD_HEAL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DK_MARK_OF_BLOOD_HEAL });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1637,9 +1607,7 @@ class spell_dk_necrosis : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DK_NECROSIS_DAMAGE))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DK_NECROSIS_DAMAGE });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1678,11 +1646,12 @@ class spell_dk_pestilence : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DK_GLYPH_OF_DISEASE)
- || !sSpellMgr->GetSpellInfo(SPELL_DK_BLOOD_PLAGUE)
- || !sSpellMgr->GetSpellInfo(SPELL_DK_FROST_FEVER))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_DK_GLYPH_OF_DISEASE,
+ SPELL_DK_BLOOD_PLAGUE,
+ SPELL_DK_FROST_FEVER
+ });
}
void OnHit(SpellEffIndex /*effIndex*/)
@@ -1765,19 +1734,19 @@ class spell_dk_presence : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DK_BLOOD_PRESENCE)
- || !sSpellMgr->GetSpellInfo(SPELL_DK_FROST_PRESENCE)
- || !sSpellMgr->GetSpellInfo(SPELL_DK_UNHOLY_PRESENCE)
- || !sSpellMgr->GetSpellInfo(SPELL_DK_IMPROVED_BLOOD_PRESENCE_R1)
- || !sSpellMgr->GetSpellInfo(SPELL_DK_IMPROVED_FROST_PRESENCE_R1)
- || !sSpellMgr->GetSpellInfo(SPELL_DK_IMPROVED_UNHOLY_PRESENCE_R1)
- || !sSpellMgr->GetSpellInfo(SPELL_DK_IMPROVED_BLOOD_PRESENCE_TRIGGERED)
- || !sSpellMgr->GetSpellInfo(SPELL_DK_IMPROVED_UNHOLY_PRESENCE_TRIGGERED)
- || !sSpellMgr->GetSpellInfo(SPELL_DK_FROST_PRESENCE_TRIGGERED)
- || !sSpellMgr->GetSpellInfo(SPELL_DK_UNHOLY_PRESENCE_TRIGGERED))
- return false;
-
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_DK_BLOOD_PRESENCE,
+ SPELL_DK_FROST_PRESENCE,
+ SPELL_DK_UNHOLY_PRESENCE,
+ SPELL_DK_IMPROVED_BLOOD_PRESENCE_R1,
+ SPELL_DK_IMPROVED_FROST_PRESENCE_R1,
+ SPELL_DK_IMPROVED_UNHOLY_PRESENCE_R1,
+ SPELL_DK_IMPROVED_BLOOD_PRESENCE_TRIGGERED,
+ SPELL_DK_IMPROVED_UNHOLY_PRESENCE_TRIGGERED,
+ SPELL_DK_FROST_PRESENCE_TRIGGERED,
+ SPELL_DK_UNHOLY_PRESENCE_TRIGGERED
+ });
}
void HandleImprovedBloodPresence(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/)
@@ -1788,7 +1757,7 @@ class spell_dk_presence : public SpellScriptLoader
target->CastSpell(target, SPELL_DK_IMPROVED_BLOOD_PRESENCE_TRIGGERED, true);
else if (AuraEffect const* impAurEff = target->GetAuraEffectOfRankedSpell(SPELL_DK_IMPROVED_BLOOD_PRESENCE_R1, EFFECT_0))
if (!target->HasAura(SPELL_DK_IMPROVED_BLOOD_PRESENCE_TRIGGERED))
- target->CastCustomSpell(SPELL_DK_IMPROVED_BLOOD_PRESENCE_TRIGGERED, SPELLVALUE_BASE_POINT1, impAurEff->GetAmount(), target, true, NULL, aurEff);
+ target->CastCustomSpell(SPELL_DK_IMPROVED_BLOOD_PRESENCE_TRIGGERED, SPELLVALUE_BASE_POINT1, impAurEff->GetAmount(), target, true, nullptr, aurEff);
}
void HandleImprovedFrostPresence(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/)
@@ -1799,7 +1768,7 @@ class spell_dk_presence : public SpellScriptLoader
target->CastSpell(target, SPELL_DK_FROST_PRESENCE_TRIGGERED, true);
else if (AuraEffect const* impAurEff = target->GetAuraEffectOfRankedSpell(SPELL_DK_IMPROVED_FROST_PRESENCE_R1, EFFECT_0))
if (!target->HasAura(SPELL_DK_FROST_PRESENCE_TRIGGERED))
- target->CastCustomSpell(SPELL_DK_FROST_PRESENCE_TRIGGERED, SPELLVALUE_BASE_POINT0, impAurEff->GetAmount(), target, true, NULL, aurEff);
+ target->CastCustomSpell(SPELL_DK_FROST_PRESENCE_TRIGGERED, SPELLVALUE_BASE_POINT0, impAurEff->GetAmount(), target, true, nullptr, aurEff);
}
void HandleImprovedUnholyPresence(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/)
@@ -1815,10 +1784,10 @@ class spell_dk_presence : public SpellScriptLoader
{
// Not listed as any effect, only base points set
int32 bp = impAurEff->GetSpellInfo()->Effects[EFFECT_1].CalcValue();
- target->CastCustomSpell(target, SPELL_DK_IMPROVED_UNHOLY_PRESENCE_TRIGGERED, &bp, &bp, &bp, true, NULL, aurEff);
+ target->CastCustomSpell(target, SPELL_DK_IMPROVED_UNHOLY_PRESENCE_TRIGGERED, &bp, &bp, &bp, true, nullptr, aurEff);
}
else if (!target->HasAura(SPELL_DK_UNHOLY_PRESENCE_TRIGGERED))
- target->CastCustomSpell(SPELL_DK_UNHOLY_PRESENCE_TRIGGERED, SPELLVALUE_BASE_POINT0, impAurEff->GetAmount(), target, true, NULL, aurEff);
+ target->CastCustomSpell(SPELL_DK_UNHOLY_PRESENCE_TRIGGERED, SPELLVALUE_BASE_POINT0, impAurEff->GetAmount(), target, true, nullptr, aurEff);
}
}
@@ -1879,22 +1848,15 @@ class spell_dk_raise_dead : public SpellScriptLoader
{
PrepareSpellScript(spell_dk_raise_dead_SpellScript);
- public:
- spell_dk_raise_dead_SpellScript()
- {
- _result = SPELL_CAST_OK;
- _corpse = false;
- }
-
- private:
bool Validate(SpellInfo const* spellInfo) override
{
- if (!sSpellMgr->GetSpellInfo(spellInfo->Effects[EFFECT_1].CalcValue())
- || !sSpellMgr->GetSpellInfo(spellInfo->Effects[EFFECT_2].CalcValue())
- || !sSpellMgr->GetSpellInfo(SPELL_DK_RAISE_DEAD_USE_REAGENT)
- || !sSpellMgr->GetSpellInfo(SPELL_DK_MASTER_OF_GHOULS))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ static_cast<uint32>(spellInfo->Effects[EFFECT_1].CalcValue()),
+ static_cast<uint32>(spellInfo->Effects[EFFECT_2].CalcValue()),
+ SPELL_DK_RAISE_DEAD_USE_REAGENT,
+ SPELL_DK_MASTER_OF_GHOULS
+ });
}
bool Load() override
@@ -1957,7 +1919,7 @@ class spell_dk_raise_dead : public SpellScriptLoader
{
// Don't add caster to target map, if we found a corpse to raise dead
if (_corpse)
- target = NULL;
+ target = nullptr;
}
void ConsumeReagents()
@@ -1984,7 +1946,7 @@ class spell_dk_raise_dead : public SpellScriptLoader
SpellCastTargets targets;
targets.SetDst(*GetHitUnit());
- GetCaster()->CastSpell(targets, spellInfo, NULL, TRIGGERED_FULL_MASK);
+ GetCaster()->CastSpell(targets, spellInfo, nullptr, TRIGGERED_FULL_MASK);
}
void OverrideCooldown()
@@ -2007,9 +1969,8 @@ class spell_dk_raise_dead : public SpellScriptLoader
AfterCast += SpellCastFn(spell_dk_raise_dead_SpellScript::OverrideCooldown);
}
- private:
- SpellCastResult _result;
- bool _corpse;
+ SpellCastResult _result = SPELL_CAST_OK;
+ bool _corpse = false;
};
SpellScript* GetSpellScript() const override
@@ -2094,15 +2055,13 @@ class spell_dk_scent_of_blood : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DK_SCENT_OF_BLOOD))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DK_SCENT_OF_BLOOD });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/)
{
PreventDefaultAction();
- GetTarget()->CastSpell(GetTarget(), SPELL_DK_SCENT_OF_BLOOD, true, NULL, aurEff);
+ GetTarget()->CastSpell(GetTarget(), SPELL_DK_SCENT_OF_BLOOD, true, nullptr, aurEff);
ModStackAmount(-1);
}
@@ -2170,9 +2129,7 @@ class spell_dk_scourge_strike : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DK_SCOURGE_STRIKE_TRIGGERED))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DK_SCOURGE_STRIKE_TRIGGERED });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -2197,7 +2154,7 @@ class spell_dk_scourge_strike : public SpellScriptLoader
if (AuraEffect* aurEff = caster->GetAuraEffectOfRankedSpell(SPELL_DK_BLACK_ICE_R1, EFFECT_0))
AddPct(bp, aurEff->GetAmount());
- caster->CastCustomSpell(unitTarget, SPELL_DK_SCOURGE_STRIKE_TRIGGERED, &bp, NULL, NULL, true);
+ caster->CastCustomSpell(unitTarget, SPELL_DK_SCOURGE_STRIKE_TRIGGERED, &bp, nullptr, nullptr, true);
}
}
@@ -2277,9 +2234,7 @@ class spell_dk_sudden_doom : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DK_DEATH_COIL_R1))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DK_DEATH_COIL_R1 });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -2329,14 +2284,15 @@ class spell_dk_threat_of_thassarian : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DK_OBLITERATE_OFF_HAND_R1) ||
- !sSpellMgr->GetSpellInfo(SPELL_DK_FROST_STRIKE_OFF_HAND_R1) ||
- !sSpellMgr->GetSpellInfo(SPELL_DK_PLAGUE_STRIKE_OFF_HAND_R1) ||
- !sSpellMgr->GetSpellInfo(SPELL_DK_DEATH_STRIKE_OFF_HAND_R1) ||
- !sSpellMgr->GetSpellInfo(SPELL_DK_RUNE_STRIKE_OFF_HAND_R1) ||
- !sSpellMgr->GetSpellInfo(SPELL_DK_BLOOD_STRIKE_OFF_HAND_R1))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_DK_OBLITERATE_OFF_HAND_R1,
+ SPELL_DK_FROST_STRIKE_OFF_HAND_R1,
+ SPELL_DK_PLAGUE_STRIKE_OFF_HAND_R1,
+ SPELL_DK_DEATH_STRIKE_OFF_HAND_R1,
+ SPELL_DK_RUNE_STRIKE_OFF_HAND_R1,
+ SPELL_DK_BLOOD_STRIKE_OFF_HAND_R1
+ });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -2406,10 +2362,11 @@ class spell_dk_unholy_blight : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DK_UNHOLY_BLIGHT_DAMAGE) ||
- !sSpellMgr->GetSpellInfo(SPELL_DK_GLYPH_OF_UNHOLY_BLIGHT))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_DK_UNHOLY_BLIGHT_DAMAGE,
+ SPELL_DK_GLYPH_OF_UNHOLY_BLIGHT
+ });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -2486,9 +2443,7 @@ class spell_dk_vendetta : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DK_VENDETTA_HEAL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DK_VENDETTA_HEAL });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -2523,9 +2478,7 @@ class spell_dk_wandering_plague : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DK_WANDERING_PLAGUE_DAMAGE))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DK_WANDERING_PLAGUE_DAMAGE });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -2566,13 +2519,6 @@ class spell_dk_will_of_the_necropolis : public SpellScriptLoader
{
PrepareAuraScript(spell_dk_will_of_the_necropolis_AuraScript);
- public:
- spell_dk_will_of_the_necropolis_AuraScript()
- {
- absorbPct = 0;
- }
-
- private:
bool Validate(SpellInfo const* spellInfo) override
{
SpellInfo const* firstRankSpellInfo = sSpellMgr->GetSpellInfo(SPELL_DK_WILL_OF_THE_NECROPOLIS_AURA_R1);
@@ -2590,7 +2536,7 @@ class spell_dk_will_of_the_necropolis : public SpellScriptLoader
return true;
}
- uint32 absorbPct;
+ uint32 absorbPct = 0;
bool Load() override
{
@@ -2707,9 +2653,7 @@ public:
bool Validate(SpellInfo const* spellInfo) override
{
- if (!sSpellMgr->GetSpellInfo(uint32(spellInfo->Effects[EFFECT_0].CalcValue())))
- return false;
- return true;
+ return ValidateSpellInfo({ static_cast<uint32>(spellInfo->Effects[EFFECT_0].CalcValue()) });
}
bool Load() override
@@ -2778,11 +2722,12 @@ class player_ghoulAI : public PlayerAI
};
// 46619 - Raise Ally
-#define DkRaiseAllyScriptName "spell_dk_raise_ally"
class spell_dk_raise_ally : public SpellScriptLoader
{
public:
- spell_dk_raise_ally() : SpellScriptLoader(DkRaiseAllyScriptName) { }
+ static char constexpr const ScriptName[] = "spell_dk_raise_ally";
+
+ spell_dk_raise_ally() : SpellScriptLoader(ScriptName) { }
class spell_dk_raise_ally_SpellScript : public SpellScript
{
@@ -2825,7 +2770,7 @@ public:
Default SUMMON_CATEGORY_PUPPET behaviour sets possesor as originalCaster,
in this case we need caster as possesor and originalCaster as owner
*/
- //summon->RemoveCharmedBy(NULL);
+ //summon->RemoveCharmedBy(nullptr);
summon->SetCharmedBy(caster, CHARM_TYPE_POSSESS);
@@ -2849,7 +2794,7 @@ public:
void SetGhoul(SpellEffIndex /*effIndex*/)
{
if (Aura* aura = GetHitAura())
- if (spell_dk_raise_ally_AuraScript* script = dynamic_cast<spell_dk_raise_ally_AuraScript*>(aura->GetScriptByName(DkRaiseAllyScriptName)))
+ if (spell_dk_raise_ally_AuraScript* script = aura->GetScript<spell_dk_raise_ally_AuraScript>(ScriptName))
script->SetGhoulGuid(_ghoulGuid);
}
@@ -2874,12 +2819,6 @@ public:
PrepareAuraScript(spell_dk_raise_ally_AuraScript);
public:
- spell_dk_raise_ally_AuraScript()
- {
- oldAI = nullptr;
- oldAIState = false;
- }
-
void SetGhoulGuid(ObjectGuid guid)
{
ghoulGuid = guid;
@@ -2929,8 +2868,8 @@ public:
}
ObjectGuid ghoulGuid;
- PlayerAI* oldAI;
- bool oldAIState;
+ PlayerAI* oldAI = nullptr;
+ bool oldAIState = false;
};
AuraScript* GetAuraScript() const override
@@ -2938,6 +2877,7 @@ public:
return new spell_dk_raise_ally_AuraScript();
}
};
+char constexpr const spell_dk_raise_ally::ScriptName[];
// 47480 - Thrash
class spell_dk_ghoul_thrash : public SpellScriptLoader
@@ -2951,9 +2891,7 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_GHOUL_FRENZY))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_GHOUL_FRENZY });
}
void CalcDamage()
diff --git a/src/server/scripts/Spells/spell_druid.cpp b/src/server/scripts/Spells/spell_druid.cpp
index 11a47b025d8..d57bd1e3008 100644
--- a/src/server/scripts/Spells/spell_druid.cpp
+++ b/src/server/scripts/Spells/spell_druid.cpp
@@ -21,12 +21,14 @@
* Scriptnames of files in this file should be prefixed with "spell_dru_".
*/
-#include "Player.h"
-#include "GameTime.h"
#include "ScriptMgr.h"
-#include "SpellScript.h"
-#include "SpellAuraEffects.h"
#include "Containers.h"
+#include "GameTime.h"
+#include "Player.h"
+#include "SpellAuraEffects.h"
+#include "SpellHistory.h"
+#include "SpellMgr.h"
+#include "SpellScript.h"
enum DruidSpells
{
@@ -101,9 +103,7 @@ class spell_dru_barkskin : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_BARKSKIN_01))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DRUID_BARKSKIN_01 });
}
void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -136,10 +136,11 @@ class spell_dru_bear_form_passive : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_ENRAGE)
- || !sSpellMgr->GetSpellInfo(SPELL_DRUID_ITEM_T10_FERAL_4P_BONUS))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_DRUID_ENRAGE,
+ SPELL_DRUID_ITEM_T10_FERAL_4P_BONUS
+ });
}
void CalculateAmount(AuraEffect const* /*aurEff*/, int32& amount, bool& /*canBeRecalculated*/)
@@ -215,11 +216,11 @@ class spell_dru_eclipse : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_ECLIPSE_LUNAR_PROC))
- return false;
- if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_ECLIPSE_SOLAR_PROC))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_DRUID_ECLIPSE_LUNAR_PROC,
+ SPELL_DRUID_ECLIPSE_SOLAR_PROC
+ });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -301,12 +302,13 @@ class spell_dru_enrage : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_KING_OF_THE_JUNGLE)
- || !sSpellMgr->GetSpellInfo(SPELL_DRUID_ENRAGE_MOD_DAMAGE)
- || !sSpellMgr->GetSpellInfo(SPELL_DRUID_ENRAGED_DEFENSE)
- || !sSpellMgr->GetSpellInfo(SPELL_DRUID_ITEM_T10_FERAL_4P_BONUS))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_DRUID_KING_OF_THE_JUNGLE,
+ SPELL_DRUID_ENRAGE_MOD_DAMAGE,
+ SPELL_DRUID_ENRAGED_DEFENSE,
+ SPELL_DRUID_ITEM_T10_FERAL_4P_BONUS
+ });
}
void RecalculateBaseArmor()
@@ -370,13 +372,14 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_FORMS_TRINKET_BEAR) ||
- !sSpellMgr->GetSpellInfo(SPELL_DRUID_FORMS_TRINKET_CAT) ||
- !sSpellMgr->GetSpellInfo(SPELL_DRUID_FORMS_TRINKET_MOONKIN) ||
- !sSpellMgr->GetSpellInfo(SPELL_DRUID_FORMS_TRINKET_NONE) ||
- !sSpellMgr->GetSpellInfo(SPELL_DRUID_FORMS_TRINKET_TREE))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_DRUID_FORMS_TRINKET_BEAR,
+ SPELL_DRUID_FORMS_TRINKET_CAT,
+ SPELL_DRUID_FORMS_TRINKET_MOONKIN,
+ SPELL_DRUID_FORMS_TRINKET_NONE,
+ SPELL_DRUID_FORMS_TRINKET_TREE
+ });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -486,9 +489,7 @@ class spell_dru_glyph_of_barkskin : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_BARKSKIN_01))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DRUID_BARKSKIN_01 });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -521,9 +522,7 @@ class spell_dru_glyph_of_innervate : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_GLYPH_OF_INNERVATE_REGEN))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DRUID_GLYPH_OF_INNERVATE_REGEN });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -562,9 +561,7 @@ class spell_dru_glyph_of_rake : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_GLYPH_OF_RAKE_TRIGGERED))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DRUID_GLYPH_OF_RAKE_TRIGGERED });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -603,9 +600,7 @@ class spell_dru_glyph_of_rejuvenation : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_GLYPH_OF_REJUVENATION_HEAL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DRUID_GLYPH_OF_REJUVENATION_HEAL });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -649,10 +644,11 @@ class spell_dru_glyph_of_shred : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_GLYPH_OF_RIP) ||
- !sSpellMgr->GetSpellInfo(SPELL_DRUID_RIP_DURATION_LACERATE_DMG))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_DRUID_GLYPH_OF_RIP,
+ SPELL_DRUID_RIP_DURATION_LACERATE_DMG
+ });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -708,9 +704,7 @@ class spell_dru_glyph_of_starfire : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_INCREASED_MOONFIRE_DURATION) || !sSpellMgr->GetSpellInfo(SPELL_DRUID_NATURES_SPLENDOR))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DRUID_INCREASED_MOONFIRE_DURATION, SPELL_DRUID_NATURES_SPLENDOR });
}
void HandleScriptEffect(SpellEffIndex /*effIndex*/)
@@ -762,9 +756,7 @@ class spell_dru_glyph_of_starfire_dummy : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_GLYPH_OF_STARFIRE_SCRIPT))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DRUID_GLYPH_OF_STARFIRE_SCRIPT });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -892,11 +884,12 @@ class spell_dru_leader_of_the_pack : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_IMP_LEADER_OF_THE_PACK_R1) ||
- !sSpellMgr->GetSpellInfo(SPELL_DRUID_IMP_LEADER_OF_THE_PACK_HEAL) ||
- !sSpellMgr->GetSpellInfo(SPELL_DRUID_IMP_LEADER_OF_THE_PACK_MANA))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_DRUID_IMP_LEADER_OF_THE_PACK_R1,
+ SPELL_DRUID_IMP_LEADER_OF_THE_PACK_HEAL,
+ SPELL_DRUID_IMP_LEADER_OF_THE_PACK_MANA
+ });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -951,11 +944,11 @@ class spell_dru_lifebloom : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_LIFEBLOOM_FINAL_HEAL))
- return false;
- if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_LIFEBLOOM_ENERGIZE))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_DRUID_LIFEBLOOM_FINAL_HEAL,
+ SPELL_DRUID_LIFEBLOOM_ENERGIZE
+ });
}
void AfterRemove(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/)
@@ -972,15 +965,15 @@ class spell_dru_lifebloom : public SpellScriptLoader
healAmount = caster->SpellHealingBonusDone(GetTarget(), GetSpellInfo(), healAmount, HEAL, stack);
healAmount = GetTarget()->SpellHealingBonusTaken(caster, GetSpellInfo(), healAmount, HEAL, stack);
- GetTarget()->CastCustomSpell(GetTarget(), SPELL_DRUID_LIFEBLOOM_FINAL_HEAL, &healAmount, NULL, NULL, true, NULL, aurEff, GetCasterGUID());
+ GetTarget()->CastCustomSpell(GetTarget(), SPELL_DRUID_LIFEBLOOM_FINAL_HEAL, &healAmount, nullptr, nullptr, true, nullptr, aurEff, GetCasterGUID());
// restore mana
int32 returnMana = CalculatePct(caster->GetCreateMana(), GetSpellInfo()->ManaCostPercentage) * stack / 2;
- caster->CastCustomSpell(caster, SPELL_DRUID_LIFEBLOOM_ENERGIZE, &returnMana, NULL, NULL, true, NULL, aurEff, GetCasterGUID());
+ caster->CastCustomSpell(caster, SPELL_DRUID_LIFEBLOOM_ENERGIZE, &returnMana, nullptr, nullptr, true, nullptr, aurEff, GetCasterGUID());
return;
}
- GetTarget()->CastCustomSpell(GetTarget(), SPELL_DRUID_LIFEBLOOM_FINAL_HEAL, &healAmount, NULL, NULL, true, NULL, aurEff, GetCasterGUID());
+ GetTarget()->CastCustomSpell(GetTarget(), SPELL_DRUID_LIFEBLOOM_FINAL_HEAL, &healAmount, nullptr, nullptr, true, nullptr, aurEff, GetCasterGUID());
}
void HandleDispel(DispelInfo* dispelInfo)
@@ -995,15 +988,15 @@ class spell_dru_lifebloom : public SpellScriptLoader
{
healAmount = caster->SpellHealingBonusDone(target, GetSpellInfo(), healAmount, HEAL, dispelInfo->GetRemovedCharges());
healAmount = target->SpellHealingBonusTaken(caster, GetSpellInfo(), healAmount, HEAL, dispelInfo->GetRemovedCharges());
- target->CastCustomSpell(target, SPELL_DRUID_LIFEBLOOM_FINAL_HEAL, &healAmount, NULL, NULL, true, NULL, NULL, GetCasterGUID());
+ target->CastCustomSpell(target, SPELL_DRUID_LIFEBLOOM_FINAL_HEAL, &healAmount, nullptr, nullptr, true, nullptr, nullptr, GetCasterGUID());
// restore mana
int32 returnMana = CalculatePct(caster->GetCreateMana(), GetSpellInfo()->ManaCostPercentage) * dispelInfo->GetRemovedCharges() / 2;
- caster->CastCustomSpell(caster, SPELL_DRUID_LIFEBLOOM_ENERGIZE, &returnMana, NULL, NULL, true, NULL, NULL, GetCasterGUID());
+ caster->CastCustomSpell(caster, SPELL_DRUID_LIFEBLOOM_ENERGIZE, &returnMana, nullptr, nullptr, true, nullptr, nullptr, GetCasterGUID());
return;
}
- target->CastCustomSpell(target, SPELL_DRUID_LIFEBLOOM_FINAL_HEAL, &healAmount, NULL, NULL, true, NULL, NULL, GetCasterGUID());
+ target->CastCustomSpell(target, SPELL_DRUID_LIFEBLOOM_FINAL_HEAL, &healAmount, nullptr, nullptr, true, nullptr, nullptr, GetCasterGUID());
}
}
}
@@ -1033,9 +1026,7 @@ class spell_dru_living_seed : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_LIVING_SEED_PROC))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DRUID_LIVING_SEED_PROC });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1074,15 +1065,13 @@ class spell_dru_living_seed_proc : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_LIVING_SEED_HEAL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DRUID_LIVING_SEED_HEAL });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/)
{
PreventDefaultAction();
- GetTarget()->CastCustomSpell(SPELL_DRUID_LIVING_SEED_HEAL, SPELLVALUE_BASE_POINT0, aurEff->GetAmount(), GetTarget(), true, NULL, aurEff);
+ GetTarget()->CastCustomSpell(SPELL_DRUID_LIVING_SEED_HEAL, SPELLVALUE_BASE_POINT0, aurEff->GetAmount(), GetTarget(), true, nullptr, aurEff);
}
void Register() override
@@ -1160,10 +1149,11 @@ class spell_dru_omen_of_clarity : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_BALANCE_T10_BONUS) ||
- !sSpellMgr->GetSpellInfo(SPELL_DRUID_BALANCE_T10_BONUS_PROC))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_DRUID_BALANCE_T10_BONUS,
+ SPELL_DRUID_BALANCE_T10_BONUS_PROC
+ });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/)
@@ -1304,12 +1294,13 @@ class spell_dru_revitalize : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_REVITALIZE_ENERGIZE_MANA) ||
- !sSpellMgr->GetSpellInfo(SPELL_DRUID_REVITALIZE_ENERGIZE_RAGE) ||
- !sSpellMgr->GetSpellInfo(SPELL_DRUID_REVITALIZE_ENERGIZE_ENERGY) ||
- !sSpellMgr->GetSpellInfo(SPELL_DRUID_REVITALIZE_ENERGIZE_RP))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_DRUID_REVITALIZE_ENERGIZE_MANA,
+ SPELL_DRUID_REVITALIZE_ENERGIZE_RAGE,
+ SPELL_DRUID_REVITALIZE_ENERGIZE_ENERGY,
+ SPELL_DRUID_REVITALIZE_ENERGIZE_RP
+ });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1414,9 +1405,7 @@ class spell_dru_savage_defense : public SpellScriptLoader
bool Validate(SpellInfo const* spellInfo) override
{
- if (!sSpellMgr->GetSpellInfo(spellInfo->Effects[EFFECT_0].TriggerSpell))
- return false;
- return true;
+ return ValidateSpellInfo({ spellInfo->Effects[EFFECT_0].TriggerSpell });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1470,15 +1459,13 @@ class spell_dru_savage_roar : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_SAVAGE_ROAR))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DRUID_SAVAGE_ROAR });
}
void AfterApply(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/)
{
Unit* target = GetTarget();
- target->CastSpell(target, SPELL_DRUID_SAVAGE_ROAR, true, NULL, aurEff, GetCasterGUID());
+ target->CastSpell(target, SPELL_DRUID_SAVAGE_ROAR, true, nullptr, aurEff, GetCasterGUID());
}
void AfterRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -1608,9 +1595,7 @@ class spell_dru_survival_instincts : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_SURVIVAL_INSTINCTS))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DRUID_SURVIVAL_INSTINCTS });
}
void AfterApply(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/)
@@ -1746,11 +1731,12 @@ class spell_dru_t3_2p_bonus : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_T3_PROC_ENERGIZE_MANA) ||
- !sSpellMgr->GetSpellInfo(SPELL_DRUID_T3_PROC_ENERGIZE_RAGE) ||
- !sSpellMgr->GetSpellInfo(SPELL_DRUID_T3_PROC_ENERGIZE_ENERGY))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_DRUID_T3_PROC_ENERGIZE_MANA,
+ SPELL_DRUID_T3_PROC_ENERGIZE_RAGE,
+ SPELL_DRUID_T3_PROC_ENERGIZE_ENERGY
+ });
}
bool CheckProc(ProcEventInfo& /*eventInfo*/)
@@ -1809,9 +1795,7 @@ class spell_dru_t3_6p_bonus : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_BLESSING_OF_THE_CLAW))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DRUID_BLESSING_OF_THE_CLAW });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1844,9 +1828,7 @@ class spell_dru_t3_8p_bonus : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_EXHILARATE))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DRUID_EXHILARATE });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1886,9 +1868,7 @@ class spell_dru_t4_2p_bonus : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_INFUSION))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DRUID_INFUSION });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1921,11 +1901,11 @@ class spell_dru_item_t6_trinket : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_BLESSING_OF_REMULOS) ||
- !sSpellMgr->GetSpellInfo(SPELL_DRUID_BLESSING_OF_ELUNE) ||
- !sSpellMgr->GetSpellInfo(SPELL_DRUID_BLESSING_OF_CENARIUS))
- return false;
- return true;
+ return ValidateSpellInfo({
+ SPELL_DRUID_BLESSING_OF_REMULOS,
+ SPELL_DRUID_BLESSING_OF_ELUNE,
+ SPELL_DRUID_BLESSING_OF_CENARIUS
+ });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1987,10 +1967,11 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_T9_FERAL_RELIC_BEAR) ||
- !sSpellMgr->GetSpellInfo(SPELL_DRUID_T9_FERAL_RELIC_CAT))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_DRUID_T9_FERAL_RELIC_BEAR,
+ SPELL_DRUID_T9_FERAL_RELIC_CAT
+ });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -2058,9 +2039,7 @@ class spell_dru_t10_balance_4p_bonus : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_LANGUISH))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DRUID_LANGUISH });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -2162,9 +2141,7 @@ class spell_dru_t10_restoration_4p_bonus_dummy : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_REJUVENATION_T10_PROC))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DRUID_REJUVENATION_T10_PROC });
}
bool CheckProc(ProcEventInfo& eventInfo)
diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp
index 3e9184acc94..cbec8270e18 100644
--- a/src/server/scripts/Spells/spell_generic.cpp
+++ b/src/server/scripts/Spells/spell_generic.cpp
@@ -23,21 +23,23 @@
*/
#include "ScriptMgr.h"
-#include "GameTime.h"
#include "Battleground.h"
-#include "Cell.h"
#include "CellImpl.h"
-#include "GridNotifiers.h"
+#include "DBCStores.h"
+#include "GameTime.h"
#include "GridNotifiersImpl.h"
#include "Group.h"
#include "InstanceScript.h"
+#include "Item.h"
#include "LFGMgr.h"
+#include "Log.h"
#include "Pet.h"
#include "ReputationMgr.h"
#include "SkillDiscovery.h"
+#include "SpellAuraEffects.h"
#include "SpellHistory.h"
+#include "SpellMgr.h"
#include "SpellScript.h"
-#include "SpellAuraEffects.h"
#include "Vehicle.h"
class spell_gen_absorb0_hitlimit1 : public SpellScriptLoader
@@ -49,14 +51,7 @@ class spell_gen_absorb0_hitlimit1 : public SpellScriptLoader
{
PrepareAuraScript(spell_gen_absorb0_hitlimit1_AuraScript);
- public:
- spell_gen_absorb0_hitlimit1_AuraScript()
- {
- limit = 0;
- }
-
- private:
- uint32 limit;
+ uint32 limit = 0;
bool Load() override
{
@@ -103,13 +98,14 @@ class spell_gen_adaptive_warding : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_GEN_ADAPTIVE_WARDING_FIRE) ||
- !sSpellMgr->GetSpellInfo(SPELL_GEN_ADAPTIVE_WARDING_NATURE) ||
- !sSpellMgr->GetSpellInfo(SPELL_GEN_ADAPTIVE_WARDING_FROST) ||
- !sSpellMgr->GetSpellInfo(SPELL_GEN_ADAPTIVE_WARDING_SHADOW) ||
- !sSpellMgr->GetSpellInfo(SPELL_GEN_ADAPTIVE_WARDING_ARCANE))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_GEN_ADAPTIVE_WARDING_FIRE,
+ SPELL_GEN_ADAPTIVE_WARDING_NATURE,
+ SPELL_GEN_ADAPTIVE_WARDING_FROST,
+ SPELL_GEN_ADAPTIVE_WARDING_SHADOW,
+ SPELL_GEN_ADAPTIVE_WARDING_ARCANE
+ });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -219,9 +215,7 @@ class spell_gen_animal_blood : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SPAWN_BLOOD_POOL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SPAWN_BLOOD_POOL });
}
void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -301,9 +295,7 @@ class spell_gen_aura_service_uniform : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SERVICE_UNIFORM))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SERVICE_UNIFORM });
}
void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -398,9 +390,7 @@ class spell_gen_bandage : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_RECENTLY_BANDAGED))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_RECENTLY_BANDAGED });
}
SpellCastResult CheckCast()
@@ -450,9 +440,7 @@ class spell_gen_blood_reserve : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_GEN_BLOOD_RESERVE_HEAL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_GEN_BLOOD_RESERVE_HEAL });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -563,10 +551,8 @@ class spell_gen_bonked : public SpellScriptLoader
target->RemoveAurasDueToSpell(SPELL_BONKED);
if (Aura const* auraOnGuard = target->GetAura(SPELL_ON_GUARD))
- {
if (Item* item = target->GetItemByGuid(auraOnGuard->GetCastItemGUID()))
target->DestroyItemCount(item->GetEntry(), 1, true);
- }
}
}
@@ -618,7 +604,7 @@ enum BreakShieldSpells
class spell_gen_break_shield: public SpellScriptLoader
{
public:
- spell_gen_break_shield(const char* name) : SpellScriptLoader(name) { }
+ spell_gen_break_shield(char const* name) : SpellScriptLoader(name) { }
class spell_gen_break_shield_SpellScript : public SpellScript
{
@@ -731,9 +717,7 @@ class spell_gen_burning_depths_necrolyte_image : public SpellScriptLoader
bool Validate(SpellInfo const* spellInfo) override
{
- if (!sSpellMgr->GetSpellInfo(uint32(spellInfo->Effects[EFFECT_2].CalcValue())))
- return false;
- return true;
+ return ValidateSpellInfo({ static_cast<uint32>(spellInfo->Effects[EFFECT_2].CalcValue()) });
}
void HandleApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -776,16 +760,14 @@ class spell_gen_cannibalize : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_CANNIBALIZE_TRIGGERED))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_CANNIBALIZE_TRIGGERED });
}
SpellCastResult CheckIfCorpseNear()
{
Unit* caster = GetCaster();
float max_range = GetSpellInfo()->GetMaxRange(false);
- WorldObject* result = NULL;
+ WorldObject* result = nullptr;
// search for nearby enemy corpse in range
Trinity::AnyDeadUnitSpellTargetInRangeCheck check(caster, max_range, GetSpellInfo(), TARGET_CHECK_ENEMY);
Trinity::WorldObjectSearcher<Trinity::AnyDeadUnitSpellTargetInRangeCheck> searcher(caster, result, check);
@@ -831,16 +813,14 @@ class spell_gen_chaos_blast : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_CHAOS_BLAST))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_CHAOS_BLAST });
}
void HandleDummy(SpellEffIndex /* effIndex */)
{
int32 basepoints0 = 100;
Unit* caster = GetCaster();
if (Unit* target = GetHitUnit())
- caster->CastCustomSpell(target, SPELL_CHAOS_BLAST, &basepoints0, NULL, NULL, true);
+ caster->CastCustomSpell(target, SPELL_CHAOS_BLAST, &basepoints0, nullptr, nullptr, true);
}
void Register() override
@@ -931,23 +911,17 @@ class spell_gen_clone_weapon_aura : public SpellScriptLoader
{
PrepareAuraScript(spell_gen_clone_weapon_auraScript);
- public:
- spell_gen_clone_weapon_auraScript()
- {
- prevItem = 0;
- }
-
- private:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_COPY_WEAPON_AURA) ||
- !sSpellMgr->GetSpellInfo(SPELL_COPY_WEAPON_2_AURA) ||
- !sSpellMgr->GetSpellInfo(SPELL_COPY_WEAPON_3_AURA) ||
- !sSpellMgr->GetSpellInfo(SPELL_COPY_OFFHAND_AURA) ||
- !sSpellMgr->GetSpellInfo(SPELL_COPY_OFFHAND_2_AURA) ||
- !sSpellMgr->GetSpellInfo(SPELL_COPY_RANGED_AURA))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_COPY_WEAPON_AURA,
+ SPELL_COPY_WEAPON_2_AURA,
+ SPELL_COPY_WEAPON_3_AURA,
+ SPELL_COPY_OFFHAND_AURA,
+ SPELL_COPY_OFFHAND_2_AURA,
+ SPELL_COPY_RANGED_AURA
+ });
}
void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -1035,8 +1009,7 @@ class spell_gen_clone_weapon_aura : public SpellScriptLoader
OnEffectRemove += AuraEffectRemoveFn(spell_gen_clone_weapon_auraScript::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
}
- private:
- uint32 prevItem;
+ uint32 prevItem = 0;
};
AuraScript* GetAuraScript() const override
@@ -1101,10 +1074,11 @@ class spell_gen_create_lance : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_CREATE_LANCE_ALLIANCE) ||
- !sSpellMgr->GetSpellInfo(SPELL_CREATE_LANCE_HORDE))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_CREATE_LANCE_ALLIANCE,
+ SPELL_CREATE_LANCE_HORDE
+ });
}
void HandleScript(SpellEffIndex effIndex)
@@ -1185,7 +1159,7 @@ enum DalaranDisguiseSpells
class spell_gen_dalaran_disguise : public SpellScriptLoader
{
public:
- spell_gen_dalaran_disguise(const char* name) : SpellScriptLoader(name) { }
+ spell_gen_dalaran_disguise(char const* name) : SpellScriptLoader(name) { }
class spell_gen_dalaran_disguise_SpellScript : public SpellScript
{
@@ -1196,17 +1170,22 @@ class spell_gen_dalaran_disguise : public SpellScriptLoader
switch (spellInfo->Id)
{
case SPELL_SUNREAVER_DISGUISE_TRIGGER:
- if (!sSpellMgr->GetSpellInfo(SPELL_SUNREAVER_DISGUISE_FEMALE) ||
- !sSpellMgr->GetSpellInfo(SPELL_SUNREAVER_DISGUISE_MALE))
- return false;
- break;
+ return ValidateSpellInfo(
+ {
+ SPELL_SUNREAVER_DISGUISE_FEMALE,
+ SPELL_SUNREAVER_DISGUISE_MALE
+ });
case SPELL_SILVER_COVENANT_DISGUISE_TRIGGER:
- if (!sSpellMgr->GetSpellInfo(SPELL_SILVER_COVENANT_DISGUISE_FEMALE) ||
- !sSpellMgr->GetSpellInfo(SPELL_SILVER_COVENANT_DISGUISE_MALE))
- return false;
+ return ValidateSpellInfo(
+ {
+ SPELL_SILVER_COVENANT_DISGUISE_FEMALE,
+ SPELL_SILVER_COVENANT_DISGUISE_MALE
+ });
+ default:
break;
}
- return true;
+
+ return false;
}
void HandleScript(SpellEffIndex /*effIndex*/)
@@ -1265,9 +1244,7 @@ class spell_gen_damage_reduction_aura : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DAMAGE_REDUCTION_AURA))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DAMAGE_REDUCTION_AURA });
}
void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -1320,13 +1297,12 @@ class spell_gen_defend : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_VISUAL_SHIELD_1))
- return false;
- if (!sSpellMgr->GetSpellInfo(SPELL_VISUAL_SHIELD_2))
- return false;
- if (!sSpellMgr->GetSpellInfo(SPELL_VISUAL_SHIELD_3))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_VISUAL_SHIELD_1,
+ SPELL_VISUAL_SHIELD_2,
+ SPELL_VISUAL_SHIELD_3
+ });
}
void RefreshVisualShields(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/)
@@ -1338,7 +1314,7 @@ class spell_gen_defend : public SpellScriptLoader
for (uint8 i = 0; i < GetSpellInfo()->StackAmount; ++i)
target->RemoveAurasDueToSpell(SPELL_VISUAL_SHIELD_1 + i);
- target->CastSpell(target, SPELL_VISUAL_SHIELD_1 + GetAura()->GetStackAmount() - 1, true, NULL, aurEff);
+ target->CastSpell(target, SPELL_VISUAL_SHIELD_1 + GetAura()->GetStackAmount() - 1, true, nullptr, aurEff);
}
else
GetTarget()->RemoveAurasDueToSpell(GetId());
@@ -1442,9 +1418,7 @@ class spell_gen_divine_storm_cd_reset : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DIVINE_STORM))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DIVINE_STORM });
}
void HandleScript(SpellEffIndex /*effIndex*/)
@@ -1512,13 +1486,6 @@ class spell_gen_dungeon_credit : public SpellScriptLoader
{
PrepareSpellScript(spell_gen_dungeon_credit_SpellScript);
- public:
- spell_gen_dungeon_credit_SpellScript()
- {
- _handled = false;
- }
-
- private:
bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_UNIT;
@@ -1533,7 +1500,7 @@ class spell_gen_dungeon_credit : public SpellScriptLoader
_handled = true;
Unit* caster = GetCaster();
if (InstanceScript* instance = caster->GetInstanceScript())
- instance->UpdateEncounterState(ENCOUNTER_CREDIT_CAST_SPELL, GetSpellInfo()->Id, caster);
+ instance->UpdateEncounterStateForSpellCast(GetSpellInfo()->Id, caster);
}
void Register() override
@@ -1541,8 +1508,7 @@ class spell_gen_dungeon_credit : public SpellScriptLoader
AfterHit += SpellHitFn(spell_gen_dungeon_credit_SpellScript::CreditEncounter);
}
- private:
- bool _handled;
+ bool _handled = false;
};
SpellScript* GetSpellScript() const override
@@ -1575,13 +1541,14 @@ class spell_gen_elune_candle : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_ELUNE_CANDLE_OMEN_HEAD) ||
- !sSpellMgr->GetSpellInfo(SPELL_ELUNE_CANDLE_OMEN_CHEST) ||
- !sSpellMgr->GetSpellInfo(SPELL_ELUNE_CANDLE_OMEN_HAND_R) ||
- !sSpellMgr->GetSpellInfo(SPELL_ELUNE_CANDLE_OMEN_HAND_L) ||
- !sSpellMgr->GetSpellInfo(SPELL_ELUNE_CANDLE_NORMAL))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_ELUNE_CANDLE_OMEN_HEAD,
+ SPELL_ELUNE_CANDLE_OMEN_CHEST,
+ SPELL_ELUNE_CANDLE_OMEN_HAND_R,
+ SPELL_ELUNE_CANDLE_OMEN_HAND_L,
+ SPELL_ELUNE_CANDLE_NORMAL
+ });
}
void HandleScript(SpellEffIndex /*effIndex*/)
@@ -1609,7 +1576,7 @@ class spell_gen_elune_candle : public SpellScriptLoader
else
spellId = SPELL_ELUNE_CANDLE_NORMAL;
- GetCaster()->CastSpell(GetHitUnit(), spellId, true, NULL);
+ GetCaster()->CastSpell(GetHitUnit(), spellId, true, nullptr);
}
void Register() override
@@ -1642,11 +1609,12 @@ class spell_gen_gadgetzan_transporter_backfire : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_TRANSPORTER_MALFUNCTION_POLYMORPH) ||
- !sSpellMgr->GetSpellInfo(SPELL_TRANSPORTER_EVIL_TWIN) ||
- !sSpellMgr->GetSpellInfo(SPELL_TRANSPORTER_MALFUNCTION_MISS))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_TRANSPORTER_MALFUNCTION_POLYMORPH,
+ SPELL_TRANSPORTER_EVIL_TWIN,
+ SPELL_TRANSPORTER_MALFUNCTION_MISS
+ });
}
void HandleDummy(SpellEffIndex /* effIndex */)
@@ -1743,10 +1711,11 @@ class spell_gen_gnomish_transporter : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_TRANSPORTER_SUCCESS) ||
- !sSpellMgr->GetSpellInfo(SPELL_TRANSPORTER_FAILURE))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_TRANSPORTER_SUCCESS,
+ SPELL_TRANSPORTER_FAILURE
+ });
}
void HandleDummy(SpellEffIndex /* effIndex */)
@@ -1805,7 +1774,7 @@ enum GenericLifebloom
class spell_gen_lifebloom : public SpellScriptLoader
{
public:
- spell_gen_lifebloom(const char* name, uint32 spellId) : SpellScriptLoader(name), _spellId(spellId) { }
+ spell_gen_lifebloom(char const* name, uint32 spellId) : SpellScriptLoader(name), _spellId(spellId) { }
class spell_gen_lifebloom_AuraScript : public AuraScript
{
@@ -1814,11 +1783,10 @@ class spell_gen_lifebloom : public SpellScriptLoader
public:
spell_gen_lifebloom_AuraScript(uint32 spellId) : AuraScript(), _spellId(spellId) { }
+ private:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(_spellId))
- return false;
- return true;
+ return ValidateSpellInfo({ _spellId });
}
void AfterRemove(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/)
@@ -1828,7 +1796,7 @@ class spell_gen_lifebloom : public SpellScriptLoader
return;
// final heal
- GetTarget()->CastSpell(GetTarget(), _spellId, true, NULL, aurEff, GetCasterGUID());
+ GetTarget()->CastSpell(GetTarget(), _spellId, true, nullptr, aurEff, GetCasterGUID());
}
void Register() override
@@ -1836,7 +1804,6 @@ class spell_gen_lifebloom : public SpellScriptLoader
AfterEffectRemove += AuraEffectRemoveFn(spell_gen_lifebloom_AuraScript::AfterRemove, EFFECT_0, SPELL_AURA_PERIODIC_HEAL, AURA_EFFECT_HANDLE_REAL);
}
- private:
uint32 _spellId;
};
@@ -1961,7 +1928,7 @@ enum Mounts
class spell_gen_mount : public SpellScriptLoader
{
public:
- spell_gen_mount(const char* name, uint32 mount0 = 0, uint32 mount60 = 0, uint32 mount100 = 0, uint32 mount150 = 0, uint32 mount280 = 0, uint32 mount310 = 0) : SpellScriptLoader(name),
+ spell_gen_mount(char const* name, uint32 mount0 = 0, uint32 mount60 = 0, uint32 mount100 = 0, uint32 mount150 = 0, uint32 mount280 = 0, uint32 mount310 = 0) : SpellScriptLoader(name),
_mount0(mount0), _mount60(mount60), _mount100(mount100), _mount150(mount150), _mount280(mount280), _mount310(mount310) { }
class spell_gen_mount_SpellScript : public SpellScript
@@ -1972,21 +1939,24 @@ class spell_gen_mount : public SpellScriptLoader
spell_gen_mount_SpellScript(uint32 mount0, uint32 mount60, uint32 mount100, uint32 mount150, uint32 mount280, uint32 mount310) : SpellScript(),
_mount0(mount0), _mount60(mount60), _mount100(mount100), _mount150(mount150), _mount280(mount280), _mount310(mount310) { }
+ private:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (_mount0 && !sSpellMgr->GetSpellInfo(_mount0))
- return false;
- if (_mount60 && !sSpellMgr->GetSpellInfo(_mount60))
- return false;
- if (_mount100 && !sSpellMgr->GetSpellInfo(_mount100))
- return false;
- if (_mount150 && !sSpellMgr->GetSpellInfo(_mount150))
- return false;
- if (_mount280 && !sSpellMgr->GetSpellInfo(_mount280))
- return false;
- if (_mount310 && !sSpellMgr->GetSpellInfo(_mount310))
- return false;
- return true;
+ bool result = true;
+ if (_mount0)
+ result &= ValidateSpellInfo({ _mount0 });
+ if (_mount60)
+ result &= ValidateSpellInfo({ _mount60 });
+ if (_mount100)
+ result &= ValidateSpellInfo({ _mount100 });
+ if (_mount150)
+ result &= ValidateSpellInfo({ _mount150 });
+ if (_mount280)
+ result &= ValidateSpellInfo({ _mount280 });
+ if (_mount310)
+ result &= ValidateSpellInfo({ _mount310 });
+
+ return result;
}
void HandleMount(SpellEffIndex effIndex)
@@ -2047,7 +2017,6 @@ class spell_gen_mount : public SpellScriptLoader
OnEffectHitTarget += SpellEffectFn(spell_gen_mount_SpellScript::HandleMount, EFFECT_2, SPELL_EFFECT_SCRIPT_EFFECT);
}
- private:
uint32 _mount0;
uint32 _mount60;
uint32 _mount100;
@@ -2249,9 +2218,7 @@ class spell_gen_moss_covered_feet : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_FALL_DOWN))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_FALL_DOWN });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -2272,7 +2239,7 @@ class spell_gen_moss_covered_feet : public SpellScriptLoader
}
};
-enum Netherbloom
+enum Netherbloom : uint32
{
SPELL_NETHERBLOOM_POLLEN_1 = 28703
};
@@ -2290,8 +2257,9 @@ class spell_gen_netherbloom : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
for (uint8 i = 0; i < 5; ++i)
- if (!sSpellMgr->GetSpellInfo(SPELL_NETHERBLOOM_POLLEN_1 + i))
+ if (!ValidateSpellInfo({ SPELL_NETHERBLOOM_POLLEN_1 + i }))
return false;
+
return true;
}
@@ -2347,9 +2315,7 @@ class spell_gen_nightmare_vine : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_NIGHTMARE_POLLEN))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_NIGHTMARE_POLLEN });
}
void HandleScript(SpellEffIndex effIndex)
@@ -2398,14 +2364,15 @@ class spell_gen_obsidian_armor : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_GEN_OBSIDIAN_ARMOR_HOLY) ||
- !sSpellMgr->GetSpellInfo(SPELL_GEN_OBSIDIAN_ARMOR_FIRE) ||
- !sSpellMgr->GetSpellInfo(SPELL_GEN_OBSIDIAN_ARMOR_NATURE) ||
- !sSpellMgr->GetSpellInfo(SPELL_GEN_OBSIDIAN_ARMOR_FROST) ||
- !sSpellMgr->GetSpellInfo(SPELL_GEN_OBSIDIAN_ARMOR_SHADOW) ||
- !sSpellMgr->GetSpellInfo(SPELL_GEN_OBSIDIAN_ARMOR_ARCANE))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_GEN_OBSIDIAN_ARMOR_HOLY,
+ SPELL_GEN_OBSIDIAN_ARMOR_FIRE,
+ SPELL_GEN_OBSIDIAN_ARMOR_NATURE,
+ SPELL_GEN_OBSIDIAN_ARMOR_FROST,
+ SPELL_GEN_OBSIDIAN_ARMOR_SHADOW,
+ SPELL_GEN_OBSIDIAN_ARMOR_ARCANE
+ });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -2448,7 +2415,7 @@ class spell_gen_obsidian_armor : public SpellScriptLoader
default:
return;
}
- GetTarget()->CastSpell(GetTarget(), spellId, true, NULL, aurEff);
+ GetTarget()->CastSpell(GetTarget(), spellId, true, nullptr, aurEff);
}
void Register() override
@@ -2526,11 +2493,12 @@ class spell_gen_orc_disguise : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_ORC_DISGUISE_TRIGGER) ||
- !sSpellMgr->GetSpellInfo(SPELL_ORC_DISGUISE_MALE) ||
- !sSpellMgr->GetSpellInfo(SPELL_ORC_DISGUISE_FEMALE))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_ORC_DISGUISE_TRIGGER,
+ SPELL_ORC_DISGUISE_MALE,
+ SPELL_ORC_DISGUISE_FEMALE
+ });
}
void HandleScript(SpellEffIndex /*effIndex*/)
@@ -2575,9 +2543,7 @@ class spell_gen_paralytic_poison : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PARALYSIS))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PARALYSIS });
}
void HandleStun(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/)
@@ -2603,7 +2569,7 @@ class spell_gen_paralytic_poison : public SpellScriptLoader
class spell_gen_proc_below_pct_damaged : public SpellScriptLoader
{
public:
- spell_gen_proc_below_pct_damaged(const char* name) : SpellScriptLoader(name) { }
+ spell_gen_proc_below_pct_damaged(char const* name) : SpellScriptLoader(name) { }
class spell_gen_proc_below_pct_damaged_AuraScript : public AuraScript
{
@@ -2679,10 +2645,11 @@ class spell_gen_parachute : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PARACHUTE) ||
- !sSpellMgr->GetSpellInfo(SPELL_PARACHUTE_BUFF))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_PARACHUTE,
+ SPELL_PARACHUTE_BUFF
+ });
}
void HandleEffectPeriodic(AuraEffect const* /*aurEff*/)
@@ -2965,9 +2932,7 @@ class spell_gen_seaforium_blast : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PLANT_CHARGES_CREDIT_ACHIEVEMENT))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PLANT_CHARGES_CREDIT_ACHIEVEMENT });
}
bool Load() override
@@ -2978,7 +2943,7 @@ class spell_gen_seaforium_blast : public SpellScriptLoader
void AchievementCredit(SpellEffIndex /*effIndex*/)
{
- // but in effect handling OriginalCaster can become NULL
+ // but in effect handling OriginalCaster can become nullptr
if (Unit* originalCaster = GetOriginalCaster())
if (GameObject* go = GetHitGObj())
if (go->GetGOInfo()->type == GAMEOBJECT_TYPE_DESTRUCTIBLE_BUILDING)
@@ -3053,7 +3018,7 @@ class spell_gen_spirit_healer_res : public SpellScriptLoader
{
WorldPacket data(SMSG_SPIRIT_HEALER_CONFIRM, 8);
data << uint64(target->GetGUID());
- originalCaster->GetSession()->SendPacket(&data);
+ originalCaster->SendDirectMessage(&data);
}
}
@@ -3078,7 +3043,7 @@ enum SummonElemental
class spell_gen_summon_elemental : public SpellScriptLoader
{
public:
- spell_gen_summon_elemental(const char* name, uint32 spellId) : SpellScriptLoader(name), _spellId(spellId) { }
+ spell_gen_summon_elemental(char const* name, uint32 spellId) : SpellScriptLoader(name), _spellId(spellId) { }
class spell_gen_summon_elemental_AuraScript : public AuraScript
{
@@ -3087,11 +3052,10 @@ class spell_gen_summon_elemental : public SpellScriptLoader
public:
spell_gen_summon_elemental_AuraScript(uint32 spellId) : AuraScript(), _spellId(spellId) { }
+ private:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(_spellId))
- return false;
- return true;
+ return ValidateSpellInfo({ _spellId });
}
void AfterApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -3106,7 +3070,7 @@ class spell_gen_summon_elemental : public SpellScriptLoader
if (GetCaster())
if (Unit* owner = GetCaster()->GetOwner())
if (owner->GetTypeId() == TYPEID_PLAYER) /// @todo this check is maybe wrong
- owner->ToPlayer()->RemovePet(NULL, PET_SAVE_NOT_IN_SLOT, true);
+ owner->ToPlayer()->RemovePet(nullptr, PET_SAVE_NOT_IN_SLOT, true);
}
void Register() override
@@ -3115,7 +3079,6 @@ class spell_gen_summon_elemental : public SpellScriptLoader
AfterEffectRemove += AuraEffectRemoveFn(spell_gen_summon_elemental_AuraScript::AfterRemove, EFFECT_1, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
- private:
uint32 _spellId;
};
@@ -3144,9 +3107,7 @@ class spell_gen_summon_tournament_mount : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_LANCE_EQUIPPED))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_LANCE_EQUIPPED });
}
SpellCastResult CheckIfLanceEquiped()
@@ -3220,10 +3181,11 @@ class spell_gen_tournament_duel : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_ON_TOURNAMENT_MOUNT) ||
- !sSpellMgr->GetSpellInfo(SPELL_MOUNTED_DUEL))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_ON_TOURNAMENT_MOUNT,
+ SPELL_MOUNTED_DUEL
+ });
}
void HandleScriptEffect(SpellEffIndex /*effIndex*/)
@@ -3307,9 +3269,7 @@ class spell_pvp_trinket_wotf_shared_cd : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(Triggered))
- return false;
- return true;
+ return ValidateSpellInfo({ Triggered });
}
void HandleScript()
@@ -3371,7 +3331,7 @@ class spell_gen_turkey_marker : public SpellScriptLoader
// on stack 15 cast the achievement crediting spell
if (GetStackAmount() >= 15)
- target->CastSpell(target, SPELL_TURKEY_VENGEANCE, true, NULL, aurEff, GetCasterGUID());
+ target->CastSpell(target, SPELL_TURKEY_VENGEANCE, true, nullptr, aurEff, GetCasterGUID());
}
void OnPeriodic(AuraEffect const* /*aurEff*/)
@@ -3463,9 +3423,7 @@ class spell_gen_vampiric_touch : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_VAMPIRIC_TOUCH_HEAL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_VAMPIRIC_TOUCH_HEAL });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -3630,15 +3588,13 @@ class spell_gen_whisper_gulch_yogg_saron_whisper : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_YOGG_SARON_WHISPER_DUMMY))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_YOGG_SARON_WHISPER_DUMMY });
}
void HandleEffectPeriodic(AuraEffect const* /*aurEff*/)
{
PreventDefaultAction();
- GetTarget()->CastSpell((Unit*)NULL, SPELL_YOGG_SARON_WHISPER_DUMMY, true);
+ GetTarget()->CastSpell((Unit*)nullptr, SPELL_YOGG_SARON_WHISPER_DUMMY, true);
}
void Register() override
@@ -3733,9 +3689,7 @@ class spell_gen_gm_freeze : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_GM_FREEZE))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_GM_FREEZE });
}
void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -3918,18 +3872,9 @@ public:
{
PrepareAuraScript(spell_gen_mixology_bonus_AuraScript);
- public:
- spell_gen_mixology_bonus_AuraScript()
- {
- bonus = 0;
- }
-
- private:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_MIXOLOGY))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_MIXOLOGY });
}
bool Load() override
@@ -4115,7 +4060,7 @@ public:
}
}
- int32 bonus;
+ int32 bonus = 0;
void Register() override
{
diff --git a/src/server/scripts/Spells/spell_holiday.cpp b/src/server/scripts/Spells/spell_holiday.cpp
index 588bccb9596..eac0ff10c23 100644
--- a/src/server/scripts/Spells/spell_holiday.cpp
+++ b/src/server/scripts/Spells/spell_holiday.cpp
@@ -21,15 +21,15 @@
* Scriptnames in this file should be prefixed with "spell_#holidayname_".
*/
-#include "Player.h"
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
-#include "SpellScript.h"
-#include "SpellAuraEffects.h"
-#include "GridNotifiers.h"
-#include "GridNotifiersImpl.h"
#include "CellImpl.h"
+#include "CreatureAIImpl.h"
+#include "GridNotifiersImpl.h"
+#include "Player.h"
+#include "SpellAuraEffects.h"
+#include "SpellScript.h"
#include "Vehicle.h"
+#include "World.h"
// 45102 Romantic Picnic
enum SpellsPicnic
@@ -135,10 +135,7 @@ class spell_hallow_end_candy : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- for (uint32 spellId : spells)
- if (!sSpellMgr->GetSpellInfo(spellId))
- return false;
- return true;
+ return ValidateSpellInfo(spells);
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -181,10 +178,11 @@ class spell_hallow_end_candy_pirate : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_HALLOWS_END_CANDY_FEMALE_DEFIAS_PIRATE)
- || !sSpellMgr->GetSpellInfo(SPELL_HALLOWS_END_CANDY_MALE_DEFIAS_PIRATE))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_HALLOWS_END_CANDY_FEMALE_DEFIAS_PIRATE,
+ SPELL_HALLOWS_END_CANDY_MALE_DEFIAS_PIRATE
+ });
}
void HandleApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -238,11 +236,19 @@ class spell_hallow_end_trick : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PIRATE_COSTUME_MALE) || !sSpellMgr->GetSpellInfo(SPELL_PIRATE_COSTUME_FEMALE) || !sSpellMgr->GetSpellInfo(SPELL_NINJA_COSTUME_MALE)
- || !sSpellMgr->GetSpellInfo(SPELL_NINJA_COSTUME_FEMALE) || !sSpellMgr->GetSpellInfo(SPELL_LEPER_GNOME_COSTUME_MALE) || !sSpellMgr->GetSpellInfo(SPELL_LEPER_GNOME_COSTUME_FEMALE)
- || !sSpellMgr->GetSpellInfo(SPELL_SKELETON_COSTUME) || !sSpellMgr->GetSpellInfo(SPELL_GHOST_COSTUME_MALE) || !sSpellMgr->GetSpellInfo(SPELL_GHOST_COSTUME_FEMALE) || !sSpellMgr->GetSpellInfo(SPELL_TRICK_BUFF))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_PIRATE_COSTUME_MALE,
+ SPELL_PIRATE_COSTUME_FEMALE,
+ SPELL_NINJA_COSTUME_MALE,
+ SPELL_NINJA_COSTUME_FEMALE,
+ SPELL_LEPER_GNOME_COSTUME_MALE,
+ SPELL_LEPER_GNOME_COSTUME_FEMALE,
+ SPELL_SKELETON_COSTUME,
+ SPELL_GHOST_COSTUME_MALE,
+ SPELL_GHOST_COSTUME_FEMALE,
+ SPELL_TRICK_BUFF
+ });
}
void HandleScript(SpellEffIndex /*effIndex*/)
@@ -311,9 +317,7 @@ class spell_hallow_end_trick_or_treat : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_TRICK) || !sSpellMgr->GetSpellInfo(SPELL_TREAT) || !sSpellMgr->GetSpellInfo(SPELL_TRICKED_OR_TREATED))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_TRICK, SPELL_TREAT, SPELL_TRICKED_OR_TREATED });
}
void HandleScript(SpellEffIndex /*effIndex*/)
@@ -349,13 +353,12 @@ class spell_hallow_end_tricky_treat : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_TRICKY_TREAT_SPEED))
- return false;
- if (!sSpellMgr->GetSpellInfo(SPELL_TRICKY_TREAT_TRIGGER))
- return false;
- if (!sSpellMgr->GetSpellInfo(SPELL_UPSET_TUMMY))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_TRICKY_TREAT_SPEED,
+ SPELL_TRICKY_TREAT_TRIGGER,
+ SPELL_UPSET_TUMMY
+ });
}
void HandleScript(SpellEffIndex /*effIndex*/)
@@ -402,16 +405,17 @@ public:
bool Validate(SpellInfo const* /*spellEntry*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PIRATE_COSTUME_MALE) ||
- !sSpellMgr->GetSpellInfo(SPELL_PIRATE_COSTUME_FEMALE) ||
- !sSpellMgr->GetSpellInfo(SPELL_NINJA_COSTUME_MALE) ||
- !sSpellMgr->GetSpellInfo(SPELL_NINJA_COSTUME_FEMALE) ||
- !sSpellMgr->GetSpellInfo(SPELL_LEPER_GNOME_COSTUME_MALE) ||
- !sSpellMgr->GetSpellInfo(SPELL_LEPER_GNOME_COSTUME_FEMALE) ||
- !sSpellMgr->GetSpellInfo(SPELL_GHOST_COSTUME_MALE) ||
- !sSpellMgr->GetSpellInfo(SPELL_GHOST_COSTUME_FEMALE))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_PIRATE_COSTUME_MALE,
+ SPELL_PIRATE_COSTUME_FEMALE,
+ SPELL_NINJA_COSTUME_MALE,
+ SPELL_NINJA_COSTUME_FEMALE,
+ SPELL_LEPER_GNOME_COSTUME_MALE,
+ SPELL_LEPER_GNOME_COSTUME_FEMALE,
+ SPELL_GHOST_COSTUME_MALE,
+ SPELL_GHOST_COSTUME_FEMALE
+ });
}
void HandleScriptEffect()
@@ -472,7 +476,7 @@ class spell_pilgrims_bounty_buff_food : public SpellScriptLoader
private:
uint32 const _triggeredSpellId;
public:
- spell_pilgrims_bounty_buff_food(const char* name, uint32 triggeredSpellId) : SpellScriptLoader(name), _triggeredSpellId(triggeredSpellId) { }
+ spell_pilgrims_bounty_buff_food(char const* name, uint32 triggeredSpellId) : SpellScriptLoader(name), _triggeredSpellId(triggeredSpellId) { }
class spell_pilgrims_bounty_buff_food_AuraScript : public AuraScript
{
@@ -565,7 +569,7 @@ class spell_pilgrims_bounty_feast_on : public SpellScriptLoader
if (Player* player = target->ToPlayer())
{
player->CastSpell(player, SPELL_ON_PLATE_EAT_VISUAL, true);
- caster->CastSpell(player, _spellId, true, NULL, NULL, player->GetGUID());
+ caster->CastSpell(player, _spellId, true, nullptr, nullptr, player->GetGUID());
}
if (Aura* aura = caster->GetAura(GetEffectValue()))
@@ -609,9 +613,7 @@ class spell_pilgrims_bounty_turkey_tracker : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_KILL_COUNTER_VISUAL) || !sSpellMgr->GetSpellInfo(SPELL_KILL_COUNTER_VISUAL_MAX))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_KILL_COUNTER_VISUAL, SPELL_KILL_COUNTER_VISUAL_MAX });
}
void HandleScript(SpellEffIndex /*effIndex*/)
@@ -673,22 +675,21 @@ class spell_pilgrims_bounty_well_fed : public SpellScriptLoader
uint32 _triggeredSpellId;
public:
- spell_pilgrims_bounty_well_fed(const char* name, uint32 triggeredSpellId) : SpellScriptLoader(name), _triggeredSpellId(triggeredSpellId) { }
+ spell_pilgrims_bounty_well_fed(char const* name, uint32 triggeredSpellId) : SpellScriptLoader(name), _triggeredSpellId(triggeredSpellId) { }
class spell_pilgrims_bounty_well_fed_SpellScript : public SpellScript
{
PrepareSpellScript(spell_pilgrims_bounty_well_fed_SpellScript);
- private:
+
uint32 _triggeredSpellId;
public:
spell_pilgrims_bounty_well_fed_SpellScript(uint32 triggeredSpellId) : SpellScript(), _triggeredSpellId(triggeredSpellId) { }
+ private:
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(_triggeredSpellId))
- return false;
- return true;
+ return ValidateSpellInfo({ _triggeredSpellId });
}
void HandleScript(SpellEffIndex effIndex)
@@ -780,13 +781,13 @@ class spell_pilgrims_bounty_on_plate : public SpellScriptLoader
uint32 _triggeredSpellId4;
public:
- spell_pilgrims_bounty_on_plate(const char* name, uint32 triggeredSpellId1, uint32 triggeredSpellId2, uint32 triggeredSpellId3, uint32 triggeredSpellId4) : SpellScriptLoader(name),
+ spell_pilgrims_bounty_on_plate(char const* name, uint32 triggeredSpellId1, uint32 triggeredSpellId2, uint32 triggeredSpellId3, uint32 triggeredSpellId4) : SpellScriptLoader(name),
_triggeredSpellId1(triggeredSpellId1), _triggeredSpellId2(triggeredSpellId2), _triggeredSpellId3(triggeredSpellId3), _triggeredSpellId4(triggeredSpellId4) { }
class spell_pilgrims_bounty_on_plate_SpellScript : public SpellScript
{
PrepareSpellScript(spell_pilgrims_bounty_on_plate_SpellScript);
- private:
+
uint32 _triggeredSpellId1;
uint32 _triggeredSpellId2;
uint32 _triggeredSpellId3;
@@ -796,14 +797,16 @@ class spell_pilgrims_bounty_on_plate : public SpellScriptLoader
spell_pilgrims_bounty_on_plate_SpellScript(uint32 triggeredSpellId1, uint32 triggeredSpellId2, uint32 triggeredSpellId3, uint32 triggeredSpellId4) : SpellScript(),
_triggeredSpellId1(triggeredSpellId1), _triggeredSpellId2(triggeredSpellId2), _triggeredSpellId3(triggeredSpellId3), _triggeredSpellId4(triggeredSpellId4) { }
+ private:
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(_triggeredSpellId1)
- || !sSpellMgr->GetSpellInfo(_triggeredSpellId2)
- || !sSpellMgr->GetSpellInfo(_triggeredSpellId3)
- || !sSpellMgr->GetSpellInfo(_triggeredSpellId4))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ _triggeredSpellId1,
+ _triggeredSpellId2,
+ _triggeredSpellId3,
+ _triggeredSpellId4
+ });
}
Vehicle* GetTable(Unit* target)
@@ -898,23 +901,21 @@ class spell_pilgrims_bounty_a_serving_of : public SpellScriptLoader
private:
uint32 _triggeredSpellId;
public:
- spell_pilgrims_bounty_a_serving_of(const char* name, uint32 triggeredSpellId) : SpellScriptLoader(name), _triggeredSpellId(triggeredSpellId) { }
+ spell_pilgrims_bounty_a_serving_of(char const* name, uint32 triggeredSpellId) : SpellScriptLoader(name), _triggeredSpellId(triggeredSpellId) { }
class spell_pilgrims_bounty_a_serving_of_AuraScript : public AuraScript
{
PrepareAuraScript(spell_pilgrims_bounty_a_serving_of_AuraScript);
- private:
uint32 _triggeredSpellId;
public:
spell_pilgrims_bounty_a_serving_of_AuraScript(uint32 triggeredSpellId) : AuraScript(), _triggeredSpellId(triggeredSpellId) { }
+ private:
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(_triggeredSpellId))
- return false;
- return true;
+ return ValidateSpellInfo({ _triggeredSpellId });
}
void OnApply(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/)
@@ -976,11 +977,12 @@ class spell_winter_veil_mistletoe : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_CREATE_MISTLETOE) ||
- !sSpellMgr->GetSpellInfo(SPELL_CREATE_HOLLY) ||
- !sSpellMgr->GetSpellInfo(SPELL_CREATE_SNOWFLAKES))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_CREATE_MISTLETOE,
+ SPELL_CREATE_HOLLY,
+ SPELL_CREATE_SNOWFLAKES
+ });
}
void HandleScript(SpellEffIndex /*effIndex*/)
@@ -1013,6 +1015,14 @@ enum PX238WinterWondervolt
SPELL_PX_238_WINTER_WONDERVOLT_TRANSFORM_4 = 26274
};
+uint32 const WonderboltTransformSpells[] =
+{
+ SPELL_PX_238_WINTER_WONDERVOLT_TRANSFORM_1,
+ SPELL_PX_238_WINTER_WONDERVOLT_TRANSFORM_2,
+ SPELL_PX_238_WINTER_WONDERVOLT_TRANSFORM_3,
+ SPELL_PX_238_WINTER_WONDERVOLT_TRANSFORM_4
+};
+
class spell_winter_veil_px_238_winter_wondervolt : public SpellScriptLoader
{
public:
@@ -1024,33 +1034,20 @@ class spell_winter_veil_px_238_winter_wondervolt : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PX_238_WINTER_WONDERVOLT_TRANSFORM_1) ||
- !sSpellMgr->GetSpellInfo(SPELL_PX_238_WINTER_WONDERVOLT_TRANSFORM_2) ||
- !sSpellMgr->GetSpellInfo(SPELL_PX_238_WINTER_WONDERVOLT_TRANSFORM_3) ||
- !sSpellMgr->GetSpellInfo(SPELL_PX_238_WINTER_WONDERVOLT_TRANSFORM_4))
- return false;
- return true;
+ return ValidateSpellInfo(WonderboltTransformSpells);
}
void HandleScript(SpellEffIndex effIndex)
{
PreventHitDefaultEffect(effIndex);
- uint32 const spells[4] =
- {
- SPELL_PX_238_WINTER_WONDERVOLT_TRANSFORM_1,
- SPELL_PX_238_WINTER_WONDERVOLT_TRANSFORM_2,
- SPELL_PX_238_WINTER_WONDERVOLT_TRANSFORM_3,
- SPELL_PX_238_WINTER_WONDERVOLT_TRANSFORM_4
- };
-
if (Unit* target = GetHitUnit())
{
- for (uint8 i = 0; i < 4; ++i)
- if (target->HasAura(spells[i]))
+ for (uint32 spell : WonderboltTransformSpells)
+ if (target->HasAura(spell))
return;
- target->CastSpell(target, spells[urand(0, 3)], true);
+ target->CastSpell(target, Trinity::Containers::SelectRandomContainerElement(WonderboltTransformSpells), true);
}
}
@@ -1321,7 +1318,7 @@ class spell_brewfest_relay_race_intro_force_player_to_throw : public SpellScript
PreventHitDefaultEffect(effIndex);
// All this spells trigger a spell that requires reagents; if the
// triggered spell is cast as "triggered", reagents are not consumed
- GetHitUnit()->CastSpell((Unit*)NULL, GetSpellInfo()->Effects[effIndex].TriggerSpell, TriggerCastFlags(TRIGGERED_FULL_MASK & ~TRIGGERED_IGNORE_POWER_AND_REAGENT_COST));
+ GetHitUnit()->CastSpell((Unit*)nullptr, GetSpellInfo()->Effects[effIndex].TriggerSpell, TriggerCastFlags(TRIGGERED_FULL_MASK & ~TRIGGERED_IGNORE_POWER_AND_REAGENT_COST));
}
void Register() override
@@ -1507,9 +1504,7 @@ class spell_midsummer_braziers_hit : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_TORCH_TOSSING_TRAINING) || !sSpellMgr->GetSpellInfo(SPELL_TORCH_TOSSING_PRACTICE))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_TORCH_TOSSING_TRAINING, SPELL_TORCH_TOSSING_PRACTICE });
}
void HandleEffectApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -1560,11 +1555,12 @@ class spell_gen_ribbon_pole_dancer_check : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_HAS_FULL_MIDSUMMER_SET)
- || !sSpellMgr->GetSpellInfo(SPELL_RIBBON_DANCE)
- || !sSpellMgr->GetSpellInfo(SPELL_BURNING_HOT_POLE_DANCE))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_HAS_FULL_MIDSUMMER_SET,
+ SPELL_RIBBON_DANCE,
+ SPELL_BURNING_HOT_POLE_DANCE
+ });
}
void PeriodicTick(AuraEffect const* /*aurEff*/)
diff --git a/src/server/scripts/Spells/spell_hunter.cpp b/src/server/scripts/Spells/spell_hunter.cpp
index 79ca0a1eb6c..2b9bfac79e9 100644
--- a/src/server/scripts/Spells/spell_hunter.cpp
+++ b/src/server/scripts/Spells/spell_hunter.cpp
@@ -21,15 +21,14 @@
* Scriptnames of files in this file should be prefixed with "spell_hun_".
*/
-#include "Pet.h"
#include "ScriptMgr.h"
-#include "Cell.h"
#include "CellImpl.h"
-#include "GridNotifiers.h"
#include "GridNotifiersImpl.h"
+#include "Pet.h"
+#include "SpellAuraEffects.h"
#include "SpellHistory.h"
+#include "SpellMgr.h"
#include "SpellScript.h"
-#include "SpellAuraEffects.h"
enum HunterSpells
{
@@ -87,9 +86,7 @@ class spell_hun_aspect_of_the_beast : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_ASPECT_OF_THE_BEAST_PET))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_HUNTER_ASPECT_OF_THE_BEAST_PET });
}
void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -131,12 +128,13 @@ class spell_hun_ascpect_of_the_viper : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_ASPECT_OF_THE_VIPER_ENERGIZE) ||
- !sSpellMgr->GetSpellInfo(SPELL_HUNTER_GLYPH_OF_ASPECT_OF_THE_VIPER) ||
- !sSpellMgr->GetSpellInfo(SPELL_HUNTER_VIPER_ATTACK_SPEED) ||
- !sSpellMgr->GetSpellInfo(SPELL_HUNTER_VICIOUS_VIPER))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_HUNTER_ASPECT_OF_THE_VIPER_ENERGIZE,
+ SPELL_HUNTER_GLYPH_OF_ASPECT_OF_THE_VIPER,
+ SPELL_HUNTER_VIPER_ATTACK_SPEED,
+ SPELL_HUNTER_VICIOUS_VIPER
+ });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/)
@@ -149,14 +147,14 @@ class spell_hun_ascpect_of_the_viper : public SpellScriptLoader
if (AuraEffect const* glyph = GetTarget()->GetAuraEffect(SPELL_HUNTER_GLYPH_OF_ASPECT_OF_THE_VIPER, EFFECT_0))
AddPct(mana, glyph->GetAmount());
- GetTarget()->CastCustomSpell(SPELL_HUNTER_ASPECT_OF_THE_VIPER_ENERGIZE, SPELLVALUE_BASE_POINT0, mana, GetTarget(), true, NULL, aurEff);
+ GetTarget()->CastCustomSpell(SPELL_HUNTER_ASPECT_OF_THE_VIPER_ENERGIZE, SPELLVALUE_BASE_POINT0, mana, GetTarget(), true, nullptr, aurEff);
}
void OnApply(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/)
{
// Hunter T7 4P Bonus
if (GetTarget()->HasAura(SPELL_HUNTER_VIPER_ATTACK_SPEED))
- GetTarget()->CastSpell(GetTarget(), SPELL_HUNTER_VICIOUS_VIPER, true, NULL, aurEff);
+ GetTarget()->CastSpell(GetTarget(), SPELL_HUNTER_VICIOUS_VIPER, true, nullptr, aurEff);
}
void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -192,9 +190,7 @@ class spell_hun_chimera_shot : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_CHIMERA_SHOT_SERPENT) || !sSpellMgr->GetSpellInfo(SPELL_HUNTER_CHIMERA_SHOT_VIPER) || !sSpellMgr->GetSpellInfo(SPELL_HUNTER_CHIMERA_SHOT_SCORPID))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_HUNTER_CHIMERA_SHOT_SERPENT, SPELL_HUNTER_CHIMERA_SHOT_VIPER, SPELL_HUNTER_CHIMERA_SHOT_SCORPID });
}
void HandleScriptEffect(SpellEffIndex /*effIndex*/)
@@ -225,7 +221,8 @@ class spell_hun_chimera_shot : public SpellScriptLoader
// first, calculate damage of basic tick (C&P from AuraEffect::HandlePeriodicDamageAurasTick)
basePoint = (aurEff->GetAmount() + aurEff->GetBonusAmount()) * aurEff->GetDonePct();
if (Player* modOwner = caster->GetSpellModOwner())
- modOwner->ApplySpellMod<SPELLMOD_DOT>(aurEff->GetId(), basePoint);
+ modOwner->ApplySpellMod(aurEff->GetId(), SPELLMOD_DOT, basePoint);
+
basePoint = unitTarget->SpellDamageBonusTaken(caster, aurEff->GetSpellInfo(), basePoint, DOT, aura->GetStackAmount());
// then, multiply to get damage potential
@@ -287,9 +284,7 @@ class spell_hun_cobra_strikes : public SpellScriptLoader
bool Validate(SpellInfo const* spellInfo) override
{
- if (!sSpellMgr->GetSpellInfo(spellInfo->Effects[EFFECT_0].TriggerSpell))
- return false;
- return true;
+ return ValidateSpellInfo({ spellInfo->Effects[EFFECT_0].TriggerSpell });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/)
@@ -382,9 +377,7 @@ class spell_hun_glyph_of_arcane_shot : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_GLYPH_OF_ARCANE_SHOT))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_HUNTER_GLYPH_OF_ARCANE_SHOT });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -444,9 +437,7 @@ class spell_hun_glyph_of_mend_pet : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_GLYPH_OF_MEND_PET_HAPPINESS))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_HUNTER_GLYPH_OF_MEND_PET_HAPPINESS });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -479,9 +470,7 @@ class spell_hun_hunting_party : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_REPLENISHMENT))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_REPLENISHMENT });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -514,9 +503,7 @@ class spell_hun_improved_mend_pet : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_IMPROVED_MEND_PET))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_HUNTER_IMPROVED_MEND_PET });
}
bool CheckProc(ProcEventInfo& /*eventInfo*/)
@@ -527,7 +514,7 @@ class spell_hun_improved_mend_pet : public SpellScriptLoader
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/)
{
PreventDefaultAction();
- GetTarget()->CastSpell(GetTarget(), SPELL_HUNTER_IMPROVED_MEND_PET, true, NULL, aurEff);
+ GetTarget()->CastSpell(GetTarget(), SPELL_HUNTER_IMPROVED_MEND_PET, true, nullptr, aurEff);
}
void Register() override
@@ -555,9 +542,7 @@ class spell_hun_invigoration : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_INVIGORATION_TRIGGERED))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_HUNTER_INVIGORATION_TRIGGERED });
}
void HandleScriptEffect(SpellEffIndex /*effIndex*/)
@@ -592,9 +577,7 @@ class spell_hun_kill_command_pet : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_KILL_COMMAND_HUNTER))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_HUNTER_KILL_COMMAND_HUNTER });
}
void HandleProc(AuraEffect const* /*aurEff*/, ProcEventInfo& eventInfo)
@@ -632,16 +615,14 @@ class spell_hun_last_stand_pet : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_PET_LAST_STAND_TRIGGERED))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_HUNTER_PET_LAST_STAND_TRIGGERED });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
{
Unit* caster = GetCaster();
int32 healthModSpellBasePoints0 = int32(caster->CountPctFromMaxHealth(30));
- caster->CastCustomSpell(caster, SPELL_HUNTER_PET_LAST_STAND_TRIGGERED, &healthModSpellBasePoints0, NULL, NULL, true, NULL);
+ caster->CastCustomSpell(caster, SPELL_HUNTER_PET_LAST_STAND_TRIGGERED, &healthModSpellBasePoints0, nullptr, nullptr, true, nullptr);
}
void Register() override
@@ -668,10 +649,11 @@ class spell_hun_lock_and_load : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_LOCK_AND_LOAD_TRIGGER) ||
- !sSpellMgr->GetSpellInfo(SPELL_HUNTER_LOCK_AND_LOAD_MARKER))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_HUNTER_LOCK_AND_LOAD_TRIGGER,
+ SPELL_HUNTER_LOCK_AND_LOAD_MARKER
+ });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -740,9 +722,12 @@ class spell_hun_masters_call : public SpellScriptLoader
bool Validate(SpellInfo const* spellInfo) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_MASTERS_CALL_TRIGGERED) || !sSpellMgr->GetSpellInfo(spellInfo->Effects[EFFECT_0].CalcValue()) || !sSpellMgr->GetSpellInfo(spellInfo->Effects[EFFECT_1].CalcValue()))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_HUNTER_MASTERS_CALL_TRIGGERED,
+ static_cast<uint32>(spellInfo->Effects[EFFECT_0].CalcValue()),
+ static_cast<uint32>(spellInfo->Effects[EFFECT_1].CalcValue())
+ });
}
bool Load() override
@@ -820,9 +805,7 @@ class spell_hun_misdirection : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_MISDIRECTION_PROC))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_HUNTER_MISDIRECTION_PROC });
}
void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -839,7 +822,7 @@ class spell_hun_misdirection : public SpellScriptLoader
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/)
{
PreventDefaultAction();
- GetTarget()->CastSpell(GetTarget(), SPELL_HUNTER_MISDIRECTION_PROC, true, NULL, aurEff);
+ GetTarget()->CastSpell(GetTarget(), SPELL_HUNTER_MISDIRECTION_PROC, true, nullptr, aurEff);
}
void Register() override
@@ -902,16 +885,14 @@ class spell_hun_pet_carrion_feeder : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_PET_CARRION_FEEDER_TRIGGERED))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_HUNTER_PET_CARRION_FEEDER_TRIGGERED });
}
SpellCastResult CheckIfCorpseNear()
{
Unit* caster = GetCaster();
float max_range = GetSpellInfo()->GetMaxRange(false);
- WorldObject* result = NULL;
+ WorldObject* result = nullptr;
// search for nearby enemy corpse in range
Trinity::AnyDeadUnitSpellTargetInRangeCheck check(caster, max_range, GetSpellInfo(), TARGET_CHECK_ENEMY);
Trinity::WorldObjectSearcher<Trinity::AnyDeadUnitSpellTargetInRangeCheck> searcher(caster, result, check);
@@ -961,9 +942,7 @@ class spell_hun_pet_heart_of_the_phoenix : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_PET_HEART_OF_THE_PHOENIX_TRIGGERED) || !sSpellMgr->GetSpellInfo(SPELL_HUNTER_PET_HEART_OF_THE_PHOENIX_DEBUFF))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_HUNTER_PET_HEART_OF_THE_PHOENIX_TRIGGERED, SPELL_HUNTER_PET_HEART_OF_THE_PHOENIX_DEBUFF });
}
void HandleScript(SpellEffIndex /*effIndex*/)
@@ -1003,9 +982,7 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_PIERCING_SHOTS))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_HUNTER_PIERCING_SHOTS });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -1060,9 +1037,7 @@ class spell_hun_rapid_recuperation : public SpellScriptLoader
bool Validate(SpellInfo const* spellInfo) override
{
- if (!sSpellMgr->GetSpellInfo(spellInfo->Effects[EFFECT_0].TriggerSpell))
- return false;
- return true;
+ return ValidateSpellInfo({ spellInfo->Effects[EFFECT_0].TriggerSpell });
}
void HandlePeriodic(AuraEffect const* aurEff)
@@ -1099,10 +1074,11 @@ class spell_hun_rapid_recuperation_trigger : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_RAPID_RECUPERATION_MANA_R1) ||
- !sSpellMgr->GetSpellInfo(SPELL_HUNTER_RAPID_RECUPERATION_MANA_R2))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_HUNTER_RAPID_RECUPERATION_MANA_R1,
+ SPELL_HUNTER_RAPID_RECUPERATION_MANA_R2
+ });
}
void HandleRapidFireProc(AuraEffect const* /*aurEff*/, ProcEventInfo& eventInfo)
@@ -1202,9 +1178,7 @@ class spell_hun_roar_of_sacrifice : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_ROAR_OF_SACRIFICE_TRIGGERED))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_ROAR_OF_SACRIFICE_TRIGGERED });
}
bool CheckProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1288,9 +1262,7 @@ class spell_hun_sniper_training : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_SNIPER_TRAINING_R1) || !sSpellMgr->GetSpellInfo(SPELL_HUNTER_SNIPER_TRAINING_BUFF_R1))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_HUNTER_SNIPER_TRAINING_R1, SPELL_HUNTER_SNIPER_TRAINING_BUFF_R1 });
}
void HandlePeriodic(AuraEffect const* aurEff)
@@ -1431,9 +1403,7 @@ class spell_hun_thrill_of_the_hunt : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_THRILL_OF_THE_HUNT_MANA))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_HUNTER_THRILL_OF_THE_HUNT_MANA });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1489,9 +1459,7 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_T9_4P_GREATNESS))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_HUNTER_T9_4P_GREATNESS });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -1534,10 +1502,11 @@ class spell_hun_viper_attack_speed : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_ASPECT_OF_THE_VIPER) ||
- !sSpellMgr->GetSpellInfo(SPELL_HUNTER_VICIOUS_VIPER))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_HUNTER_ASPECT_OF_THE_VIPER,
+ SPELL_HUNTER_VICIOUS_VIPER
+ });
}
void OnApply(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/)
diff --git a/src/server/scripts/Spells/spell_item.cpp b/src/server/scripts/Spells/spell_item.cpp
index 01f3efb0e33..0de0c0c00b9 100644
--- a/src/server/scripts/Spells/spell_item.cpp
+++ b/src/server/scripts/Spells/spell_item.cpp
@@ -21,15 +21,20 @@
* Scriptnames of files in this file should be prefixed with "spell_item_".
*/
-#include "Player.h"
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
-#include "SpellHistory.h"
-#include "SpellScript.h"
-#include "SpellAuraEffects.h"
-#include "SkillDiscovery.h"
#include "Battleground.h"
+#include "Containers.h"
+#include "Creature.h"
+#include "CreatureAIImpl.h"
#include "DBCStores.h"
+#include "Map.h"
+#include "ObjectMgr.h"
+#include "Player.h"
+#include "SkillDiscovery.h"
+#include "SpellAuraEffects.h"
+#include "SpellHistory.h"
+#include "SpellMgr.h"
+#include "SpellScript.h"
// Generic script for handling item dummy effects which trigger another spell.
class spell_item_trigger_spell : public SpellScriptLoader
@@ -38,22 +43,21 @@ class spell_item_trigger_spell : public SpellScriptLoader
uint32 _triggeredSpellId;
public:
- spell_item_trigger_spell(const char* name, uint32 triggeredSpellId) : SpellScriptLoader(name), _triggeredSpellId(triggeredSpellId) { }
+ spell_item_trigger_spell(char const* name, uint32 triggeredSpellId) : SpellScriptLoader(name), _triggeredSpellId(triggeredSpellId) { }
class spell_item_trigger_spell_SpellScript : public SpellScript
{
PrepareSpellScript(spell_item_trigger_spell_SpellScript);
- private:
+
uint32 _triggeredSpellId;
public:
spell_item_trigger_spell_SpellScript(uint32 triggeredSpellId) : SpellScript(), _triggeredSpellId(triggeredSpellId) { }
+ private:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(_triggeredSpellId))
- return false;
- return true;
+ return ValidateSpellInfo({ _triggeredSpellId });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -92,15 +96,13 @@ class spell_item_aegis_of_preservation : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_AEGIS_HEAL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_AEGIS_HEAL });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/)
{
PreventDefaultAction();
- GetTarget()->CastSpell(GetTarget(), SPELL_AEGIS_HEAL, true, NULL, aurEff);
+ GetTarget()->CastSpell(GetTarget(), SPELL_AEGIS_HEAL, true, nullptr, aurEff);
}
void Register() override
@@ -142,10 +144,11 @@ class spell_item_alchemists_stone : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_ALCHEMISTS_STONE_EXTRA_HEAL) ||
- !sSpellMgr->GetSpellInfo(SPELL_ALCHEMISTS_STONE_EXTRA_MANA))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_ALCHEMISTS_STONE_EXTRA_HEAL,
+ SPELL_ALCHEMISTS_STONE_EXTRA_MANA
+ });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -213,11 +216,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)
@@ -234,7 +238,7 @@ class spell_item_anger_capacitor : public SpellScriptLoader
caster->RemoveAurasDueToSpell(SPELL_MOTE_OF_ANGER);
uint32 spellId = SPELL_MANIFEST_ANGER_MAIN_HAND;
if (Player* player = caster->ToPlayer())
- if (player->GetWeaponForAttack(OFF_ATTACK, true) && urand(0, 1))
+ if (player->GetWeaponForAttack(OFF_ATTACK, true) && roll_chance_i(50))
spellId = SPELL_MANIFEST_ANGER_OFF_HAND;
caster->CastSpell(target, spellId, true, nullptr, aurEff);
@@ -312,18 +316,18 @@ class spell_item_aura_of_madness : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SOCIOPATH) ||
- !sSpellMgr->GetSpellInfo(SPELL_DELUSIONAL) ||
- !sSpellMgr->GetSpellInfo(SPELL_KLEPTOMANIA) ||
- !sSpellMgr->GetSpellInfo(SPELL_MEGALOMANIA) ||
- !sSpellMgr->GetSpellInfo(SPELL_PARANOIA) ||
- !sSpellMgr->GetSpellInfo(SPELL_MANIC) ||
- !sSpellMgr->GetSpellInfo(SPELL_NARCISSISM) ||
- !sSpellMgr->GetSpellInfo(SPELL_MARTYR_COMPLEX) ||
- !sSpellMgr->GetSpellInfo(SPELL_DEMENTIA) ||
- !sObjectMgr->GetBroadcastText(SAY_MADNESS))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_SOCIOPATH,
+ SPELL_DELUSIONAL,
+ SPELL_KLEPTOMANIA,
+ SPELL_MEGALOMANIA,
+ SPELL_PARANOIA,
+ SPELL_MANIC,
+ SPELL_NARCISSISM,
+ SPELL_MARTYR_COMPLEX,
+ SPELL_DEMENTIA
+ }) && sObjectMgr->GetBroadcastText(SAY_MADNESS);
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -389,10 +393,11 @@ class spell_item_dementia : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DEMENTIA_POS) ||
- !sSpellMgr->GetSpellInfo(SPELL_DEMENTIA_NEG))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_DEMENTIA_POS,
+ SPELL_DEMENTIA_NEG
+ });
}
void HandlePeriodicDummy(AuraEffect const* aurEff)
@@ -430,9 +435,7 @@ class spell_item_blessing_of_ancient_kings : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PROTECTION_OF_ANCIENT_KINGS))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PROTECTION_OF_ANCIENT_KINGS });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -519,9 +522,7 @@ class spell_item_deadly_precision_dummy : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DEADLY_PRECISION))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DEADLY_PRECISION });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -575,13 +576,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)
@@ -706,11 +708,10 @@ class spell_item_defibrillate : public SpellScriptLoader
public:
spell_item_defibrillate_SpellScript(uint8 chance, uint32 failSpell) : SpellScript(), _chance(chance), _failSpell(failSpell) { }
+ private:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (_failSpell && !sSpellMgr->GetSpellInfo(_failSpell))
- return false;
- return true;
+ return !_failSpell || ValidateSpellInfo({ _failSpell });
}
void HandleScript(SpellEffIndex effIndex)
@@ -728,7 +729,6 @@ class spell_item_defibrillate : public SpellScriptLoader
OnEffectHitTarget += SpellEffectFn(spell_item_defibrillate_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_RESURRECT);
}
- private:
uint8 _chance;
uint32 _failSpell;
};
@@ -760,15 +760,13 @@ class spell_item_desperate_defense : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DESPERATE_RAGE))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DESPERATE_RAGE });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/)
{
PreventDefaultAction();
- GetTarget()->CastSpell(GetTarget(), SPELL_DESPERATE_RAGE, true, NULL, aurEff);
+ GetTarget()->CastSpell(GetTarget(), SPELL_DESPERATE_RAGE, true, nullptr, aurEff);
}
void Register() override
@@ -810,17 +808,14 @@ class spell_item_deviate_fish : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- for (uint32 spellId = SPELL_SLEEPY; spellId <= SPELL_HEALTHY_SPIRIT; ++spellId)
- if (!sSpellMgr->GetSpellInfo(spellId))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SLEEPY, SPELL_INVIGORATE, SPELL_SHRINK, SPELL_PARTY_TIME, SPELL_HEALTHY_SPIRIT });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
{
Unit* caster = GetCaster();
uint32 spellId = urand(SPELL_SLEEPY, SPELL_HEALTHY_SPIRIT);
- caster->CastSpell(caster, spellId, true, NULL);
+ caster->CastSpell(caster, spellId, true, nullptr);
}
void Register() override
@@ -852,9 +847,7 @@ class spell_item_discerning_eye_beast_dummy : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DISCERNING_EYE_BEAST))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DISCERNING_EYE_BEAST });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -926,9 +919,7 @@ class spell_item_fate_rune_of_unsurpassed_vigor : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_UNSURPASSED_VIGOR))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_UNSURPASSED_VIGOR });
}
void HandleProc(AuraEffect const* /*aurEff*/, ProcEventInfo& /*eventInfo*/)
@@ -969,9 +960,7 @@ class spell_item_flask_of_the_north : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_FLASK_OF_THE_NORTH_SP) || !sSpellMgr->GetSpellInfo(SPELL_FLASK_OF_THE_NORTH_AP) || !sSpellMgr->GetSpellInfo(SPELL_FLASK_OF_THE_NORTH_STR))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_FLASK_OF_THE_NORTH_SP, SPELL_FLASK_OF_THE_NORTH_AP, SPELL_FLASK_OF_THE_NORTH_STR });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -1004,7 +993,7 @@ class spell_item_flask_of_the_north : public SpellScriptLoader
break;
}
- caster->CastSpell(caster, possibleSpells[urand(0, (possibleSpells.size() - 1))], true, NULL);
+ caster->CastSpell(caster, possibleSpells[urand(0, (possibleSpells.size() - 1))], true, nullptr);
}
void Register() override
@@ -1037,9 +1026,7 @@ class spell_item_frozen_shadoweave : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHADOWMEND))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHADOWMEND });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1085,9 +1072,7 @@ class spell_item_gnomish_death_ray : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_GNOMISH_DEATH_RAY_SELF) || !sSpellMgr->GetSpellInfo(SPELL_GNOMISH_DEATH_RAY_TARGET))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_GNOMISH_DEATH_RAY_SELF, SPELL_GNOMISH_DEATH_RAY_TARGET });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -1132,9 +1117,7 @@ class spell_item_harm_prevention_belt : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_FORCEFIELD_COLLAPSE))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_FORCEFIELD_COLLAPSE });
}
void HandleProc(ProcEventInfo& /*eventInfo*/)
@@ -1172,9 +1155,7 @@ class spell_item_healing_touch_refund : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_HEALING_TOUCH_MANA))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_HEALING_TOUCH_MANA });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1226,12 +1207,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)
@@ -1334,9 +1316,14 @@ class spell_item_make_a_wish : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_MR_PINCHYS_BLESSING) || !sSpellMgr->GetSpellInfo(SPELL_SUMMON_MIGHTY_MR_PINCHY) || !sSpellMgr->GetSpellInfo(SPELL_SUMMON_FURIOUS_MR_PINCHY) || !sSpellMgr->GetSpellInfo(SPELL_TINY_MAGICAL_CRAWDAD) || !sSpellMgr->GetSpellInfo(SPELL_MR_PINCHYS_GIFT))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_MR_PINCHYS_BLESSING,
+ SPELL_SUMMON_MIGHTY_MR_PINCHY,
+ SPELL_SUMMON_FURIOUS_MR_PINCHY,
+ SPELL_TINY_MAGICAL_CRAWDAD,
+ SPELL_MR_PINCHYS_GIFT
+ });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -1350,7 +1337,7 @@ class spell_item_make_a_wish : public SpellScriptLoader
case 3: spellId = SPELL_SUMMON_FURIOUS_MR_PINCHY; break;
case 4: spellId = SPELL_TINY_MAGICAL_CRAWDAD; break;
}
- caster->CastSpell(caster, spellId, true, NULL);
+ caster->CastSpell(caster, spellId, true, nullptr);
}
void Register() override
@@ -1384,9 +1371,7 @@ class spell_item_mark_of_conquest : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_MARK_OF_CONQUEST_ENERGIZE))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_MARK_OF_CONQUEST_ENERGIZE });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1485,9 +1470,7 @@ class spell_item_necrotic_touch : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_ITEM_NECROTIC_TOUCH_PROC))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_ITEM_NECROTIC_TOUCH_PROC });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -1539,9 +1522,12 @@ class spell_item_net_o_matic : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_NET_O_MATIC_TRIGGERED1) || !sSpellMgr->GetSpellInfo(SPELL_NET_O_MATIC_TRIGGERED2) || !sSpellMgr->GetSpellInfo(SPELL_NET_O_MATIC_TRIGGERED3))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_NET_O_MATIC_TRIGGERED1,
+ SPELL_NET_O_MATIC_TRIGGERED2,
+ SPELL_NET_O_MATIC_TRIGGERED3
+ });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -1596,9 +1582,12 @@ class spell_item_noggenfogger_elixir : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_NOGGENFOGGER_ELIXIR_TRIGGERED1) || !sSpellMgr->GetSpellInfo(SPELL_NOGGENFOGGER_ELIXIR_TRIGGERED2) || !sSpellMgr->GetSpellInfo(SPELL_NOGGENFOGGER_ELIXIR_TRIGGERED3))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_NOGGENFOGGER_ELIXIR_TRIGGERED1,
+ SPELL_NOGGENFOGGER_ELIXIR_TRIGGERED2,
+ SPELL_NOGGENFOGGER_ELIXIR_TRIGGERED3
+ });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -1673,9 +1662,7 @@ class spell_item_persistent_shield : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PERSISTENT_SHIELD_TRIGGERED))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PERSISTENT_SHIELD_TRIGGERED });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -1729,9 +1716,7 @@ class spell_item_pet_healing : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_HEALTH_LINK))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_HEALTH_LINK });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1813,10 +1798,13 @@ class spell_item_savory_deviate_delight : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- for (uint32 spellId = SPELL_FLIP_OUT_MALE; spellId <= SPELL_YAAARRRR_FEMALE; ++spellId)
- if (!sSpellMgr->GetSpellInfo(spellId))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_FLIP_OUT_MALE,
+ SPELL_FLIP_OUT_FEMALE,
+ SPELL_YAAARRRR_MALE,
+ SPELL_YAAARRRR_FEMALE
+ });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -1830,7 +1818,7 @@ class spell_item_savory_deviate_delight : public SpellScriptLoader
// Yaaarrrr - pirate
case 2: spellId = (caster->getGender() == GENDER_MALE ? SPELL_YAAARRRR_MALE : SPELL_YAAARRRR_FEMALE); break;
}
- caster->CastSpell(caster, spellId, true, NULL);
+ caster->CastSpell(caster, spellId, true, nullptr);
}
void Register() override
@@ -2013,13 +2001,12 @@ class spell_item_shadowmourne : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHADOWMOURNE_CHAOS_BANE_DAMAGE))
- return false;
- if (!sSpellMgr->GetSpellInfo(SPELL_SHADOWMOURNE_SOUL_FRAGMENT))
- return false;
- if (!sSpellMgr->GetSpellInfo(SPELL_SHADOWMOURNE_CHAOS_BANE_BUFF))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_SHADOWMOURNE_CHAOS_BANE_DAMAGE,
+ SPELL_SHADOWMOURNE_SOUL_FRAGMENT,
+ SPELL_SHADOWMOURNE_CHAOS_BANE_BUFF
+ });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -2032,14 +2019,14 @@ class spell_item_shadowmourne : public SpellScriptLoader
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
{
PreventDefaultAction();
- GetTarget()->CastSpell(GetTarget(), SPELL_SHADOWMOURNE_SOUL_FRAGMENT, true, NULL, aurEff);
+ GetTarget()->CastSpell(GetTarget(), SPELL_SHADOWMOURNE_SOUL_FRAGMENT, true, nullptr, aurEff);
// this can't be handled in AuraScript of SoulFragments because we need to know victim
if (Aura* soulFragments = GetTarget()->GetAura(SPELL_SHADOWMOURNE_SOUL_FRAGMENT))
{
if (soulFragments->GetStackAmount() >= 10)
{
- GetTarget()->CastSpell(eventInfo.GetProcTarget(), SPELL_SHADOWMOURNE_CHAOS_BANE_DAMAGE, true, NULL, aurEff);
+ GetTarget()->CastSpell(eventInfo.GetProcTarget(), SPELL_SHADOWMOURNE_CHAOS_BANE_DAMAGE, true, nullptr, aurEff);
soulFragments->Remove();
}
}
@@ -2070,9 +2057,12 @@ class spell_item_shadowmourne_soul_fragment : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHADOWMOURNE_VISUAL_LOW) || !sSpellMgr->GetSpellInfo(SPELL_SHADOWMOURNE_VISUAL_HIGH) || !sSpellMgr->GetSpellInfo(SPELL_SHADOWMOURNE_CHAOS_BANE_BUFF))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_SHADOWMOURNE_VISUAL_LOW,
+ SPELL_SHADOWMOURNE_VISUAL_HIGH,
+ SPELL_SHADOWMOURNE_CHAOS_BANE_BUFF
+ });
}
void OnStackChange(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -2139,9 +2129,15 @@ class spell_item_six_demon_bag : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_FROSTBOLT) || !sSpellMgr->GetSpellInfo(SPELL_POLYMORPH) || !sSpellMgr->GetSpellInfo(SPELL_SUMMON_FELHOUND_MINION) || !sSpellMgr->GetSpellInfo(SPELL_FIREBALL) || !sSpellMgr->GetSpellInfo(SPELL_CHAIN_LIGHTNING) || !sSpellMgr->GetSpellInfo(SPELL_ENVELOPING_WINDS))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_FROSTBOLT,
+ SPELL_POLYMORPH,
+ SPELL_SUMMON_FELHOUND_MINION,
+ SPELL_FIREBALL,
+ SPELL_CHAIN_LIGHTNING,
+ SPELL_ENVELOPING_WINDS
+ });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -2204,9 +2200,7 @@ class spell_item_swift_hand_justice_dummy : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SWIFT_HAND_OF_JUSTICE_HEAL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SWIFT_HAND_OF_JUSTICE_HEAL });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -2248,9 +2242,7 @@ class spell_item_totem_of_flowing_water : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_LESSER_HEALING_WAVE_MANA))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_LESSER_HEALING_WAVE_MANA });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -2325,9 +2317,12 @@ class spell_item_underbelly_elixir : public SpellScriptLoader
}
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_UNDERBELLY_ELIXIR_TRIGGERED1) || !sSpellMgr->GetSpellInfo(SPELL_UNDERBELLY_ELIXIR_TRIGGERED2) || !sSpellMgr->GetSpellInfo(SPELL_UNDERBELLY_ELIXIR_TRIGGERED3))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_UNDERBELLY_ELIXIR_TRIGGERED1,
+ SPELL_UNDERBELLY_ELIXIR_TRIGGERED2,
+ SPELL_UNDERBELLY_ELIXIR_TRIGGERED3
+ });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -2339,7 +2334,7 @@ class spell_item_underbelly_elixir : public SpellScriptLoader
case 1: spellId = SPELL_UNDERBELLY_ELIXIR_TRIGGERED1; break;
case 2: spellId = SPELL_UNDERBELLY_ELIXIR_TRIGGERED2; break;
}
- caster->CastSpell(caster, spellId, true, NULL);
+ caster->CastSpell(caster, spellId, true, nullptr);
}
void Register() override
@@ -2423,9 +2418,12 @@ class spell_item_red_rider_air_rifle : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_AIR_RIFLE_HOLD_VISUAL) || !sSpellMgr->GetSpellInfo(SPELL_AIR_RIFLE_SHOOT) || !sSpellMgr->GetSpellInfo(SPELL_AIR_RIFLE_SHOOT_SELF))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_AIR_RIFLE_HOLD_VISUAL,
+ SPELL_AIR_RIFLE_SHOOT,
+ SPELL_AIR_RIFLE_SHOOT_SELF
+ });
}
void HandleScript(SpellEffIndex effIndex)
@@ -2654,9 +2652,12 @@ class spell_item_vanquished_clutches : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_CRUSHER) || !sSpellMgr->GetSpellInfo(SPELL_CONSTRICTOR) || !sSpellMgr->GetSpellInfo(SPELL_CORRUPTOR))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_CRUSHER,
+ SPELL_CONSTRICTOR,
+ SPELL_CORRUPTOR
+ });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -2840,15 +2841,17 @@ class spell_item_purify_helboar_meat : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SUMMON_PURIFIED_HELBOAR_MEAT) || !sSpellMgr->GetSpellInfo(SPELL_SUMMON_TOXIC_HELBOAR_MEAT))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_SUMMON_PURIFIED_HELBOAR_MEAT,
+ SPELL_SUMMON_TOXIC_HELBOAR_MEAT
+ });
}
void HandleDummy(SpellEffIndex /* effIndex */)
{
Unit* caster = GetCaster();
- caster->CastSpell(caster, roll_chance_i(50) ? SPELL_SUMMON_PURIFIED_HELBOAR_MEAT : SPELL_SUMMON_TOXIC_HELBOAR_MEAT, true, NULL);
+ caster->CastSpell(caster, roll_chance_i(50) ? SPELL_SUMMON_PURIFIED_HELBOAR_MEAT : SPELL_SUMMON_TOXIC_HELBOAR_MEAT, true, nullptr);
}
void Register() override
@@ -2889,7 +2892,7 @@ class spell_item_crystal_prison_dummy_dnd : public SpellScriptLoader
if (Creature* target = GetHitCreature())
if (target->isDead() && !target->IsPet())
{
- GetCaster()->SummonGameObject(OBJECT_IMPRISONED_DOOMGUARD, *target, G3D::Quat(), uint32(target->GetRespawnTime()-time(NULL)));
+ GetCaster()->SummonGameObject(OBJECT_IMPRISONED_DOOMGUARD, *target, QuaternionData(), uint32(target->GetRespawnTime()-time(nullptr)));
target->DespawnOrUnsummon();
}
}
@@ -2926,11 +2929,14 @@ class spell_item_reindeer_transformation : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_FLYING_REINDEER_310) || !sSpellMgr->GetSpellInfo(SPELL_FLYING_REINDEER_280)
- || !sSpellMgr->GetSpellInfo(SPELL_FLYING_REINDEER_60) || !sSpellMgr->GetSpellInfo(SPELL_REINDEER_100)
- || !sSpellMgr->GetSpellInfo(SPELL_REINDEER_60))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_FLYING_REINDEER_310,
+ SPELL_FLYING_REINDEER_280,
+ SPELL_FLYING_REINDEER_60,
+ SPELL_REINDEER_100,
+ SPELL_REINDEER_60
+ });
}
void HandleDummy(SpellEffIndex /* effIndex */)
@@ -2991,9 +2997,7 @@ class spell_item_nigh_invulnerability : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_NIGH_INVULNERABILITY) || !sSpellMgr->GetSpellInfo(SPELL_COMPLETE_VULNERABILITY))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_NIGH_INVULNERABILITY, SPELL_COMPLETE_VULNERABILITY });
}
void HandleDummy(SpellEffIndex /* effIndex */)
@@ -3037,9 +3041,7 @@ class spell_item_poultryizer : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_POULTRYIZER_SUCCESS) || !sSpellMgr->GetSpellInfo(SPELL_POULTRYIZER_BACKFIRE))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_POULTRYIZER_SUCCESS, SPELL_POULTRYIZER_BACKFIRE });
}
void HandleDummy(SpellEffIndex /* effIndex */)
@@ -3081,9 +3083,7 @@ class spell_item_socrethars_stone : public SpellScriptLoader
}
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SOCRETHAR_TO_SEAT) || !sSpellMgr->GetSpellInfo(SPELL_SOCRETHAR_FROM_SEAT))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SOCRETHAR_TO_SEAT, SPELL_SOCRETHAR_FROM_SEAT });
}
void HandleDummy(SpellEffIndex /* effIndex */)
@@ -3132,9 +3132,9 @@ class spell_item_demon_broiled_surprise : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_CREATE_DEMON_BROILED_SURPRISE) || !sObjectMgr->GetCreatureTemplate(NPC_ABYSSAL_FLAMEBRINGER) || !sObjectMgr->GetQuestTemplate(QUEST_SUPER_HOT_STEW))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_CREATE_DEMON_BROILED_SURPRISE }) &&
+ sObjectMgr->GetCreatureTemplate(NPC_ABYSSAL_FLAMEBRINGER) &&
+ sObjectMgr->GetQuestTemplate(QUEST_SUPER_HOT_STEW);
}
bool Load() override
@@ -3189,9 +3189,7 @@ class spell_item_complete_raptor_capture : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_RAPTOR_CAPTURE_CREDIT))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_RAPTOR_CAPTURE_CREDIT });
}
void HandleDummy(SpellEffIndex /* effIndex */)
@@ -3202,7 +3200,7 @@ class spell_item_complete_raptor_capture : public SpellScriptLoader
GetHitCreature()->DespawnOrUnsummon();
//cast spell Raptor Capture Credit
- caster->CastSpell(caster, SPELL_RAPTOR_CAPTURE_CREDIT, true, NULL);
+ caster->CastSpell(caster, SPELL_RAPTOR_CAPTURE_CREDIT, true, nullptr);
}
}
@@ -3283,9 +3281,13 @@ class spell_item_brewfest_mount_transformation : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_MOUNT_RAM_100) || !sSpellMgr->GetSpellInfo(SPELL_MOUNT_RAM_60) || !sSpellMgr->GetSpellInfo(SPELL_MOUNT_KODO_100) || !sSpellMgr->GetSpellInfo(SPELL_MOUNT_KODO_60))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_MOUNT_RAM_100,
+ SPELL_MOUNT_RAM_60,
+ SPELL_MOUNT_KODO_100,
+ SPELL_MOUNT_KODO_60
+ });
}
void HandleDummy(SpellEffIndex /* effIndex */)
@@ -3353,9 +3355,7 @@ class spell_item_nitro_boots : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_NITRO_BOOTS_SUCCESS) || !sSpellMgr->GetSpellInfo(SPELL_NITRO_BOOTS_BACKFIRE))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_NITRO_BOOTS_SUCCESS, SPELL_NITRO_BOOTS_BACKFIRE });
}
void HandleDummy(SpellEffIndex /* effIndex */)
@@ -3399,9 +3399,7 @@ class spell_item_teach_language : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_LEARN_GNOMISH_BINARY) || !sSpellMgr->GetSpellInfo(SPELL_LEARN_GOBLIN_BINARY))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_LEARN_GNOMISH_BINARY, SPELL_LEARN_GOBLIN_BINARY });
}
void HandleDummy(SpellEffIndex /* effIndex */)
@@ -3445,9 +3443,7 @@ class spell_item_rocket_boots : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_ROCKET_BOOTS_PROC))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_ROCKET_BOOTS_PROC });
}
void HandleDummy(SpellEffIndex /* effIndex */)
@@ -3457,7 +3453,7 @@ class spell_item_rocket_boots : public SpellScriptLoader
bg->EventPlayerDroppedFlag(caster);
caster->GetSpellHistory()->ResetCooldown(SPELL_ROCKET_BOOTS_PROC);
- caster->CastSpell(caster, SPELL_ROCKET_BOOTS_PROC, true, NULL);
+ caster->CastSpell(caster, SPELL_ROCKET_BOOTS_PROC, true, nullptr);
}
SpellCastResult CheckCast()
@@ -3497,9 +3493,7 @@ class spell_item_pygmy_oil : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PYGMY_OIL_PYGMY_AURA) || !sSpellMgr->GetSpellInfo(SPELL_PYGMY_OIL_SMALLER_AURA))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PYGMY_OIL_PYGMY_AURA, SPELL_PYGMY_OIL_SMALLER_AURA });
}
void HandleDummy(SpellEffIndex /* effIndex */)
@@ -3583,9 +3577,9 @@ class spell_item_chicken_cover : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_CHICKEN_NET) || !sSpellMgr->GetSpellInfo(SPELL_CAPTURE_CHICKEN_ESCAPE) || !sObjectMgr->GetQuestTemplate(QUEST_CHICKEN_PARTY) || !sObjectMgr->GetQuestTemplate(QUEST_FLOWN_THE_COOP))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_CHICKEN_NET, SPELL_CAPTURE_CHICKEN_ESCAPE }) &&
+ sObjectMgr->GetQuestTemplate(QUEST_CHICKEN_PARTY) &&
+ sObjectMgr->GetQuestTemplate(QUEST_FLOWN_THE_COOP);
}
void HandleDummy(SpellEffIndex /* effIndex */)
@@ -3744,10 +3738,11 @@ 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)
@@ -3794,12 +3789,13 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SOUL_PRESERVER_DRUID) ||
- !sSpellMgr->GetSpellInfo(SPELL_SOUL_PRESERVER_PALADIN) ||
- !sSpellMgr->GetSpellInfo(SPELL_SOUL_PRESERVER_PRIEST) ||
- !sSpellMgr->GetSpellInfo(SPELL_SOUL_PRESERVER_SHAMAN))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_SOUL_PRESERVER_DRUID,
+ SPELL_SOUL_PRESERVER_PALADIN,
+ SPELL_SOUL_PRESERVER_PRIEST,
+ SPELL_SOUL_PRESERVER_SHAMAN
+ });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -3881,12 +3877,9 @@ 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))
- return false;
- return true;
+ return ValidateSpellInfo({ Aldors, Scryers }) &&
+ sFactionStore.LookupEntry(FACTION_ALDOR) &&
+ sFactionStore.LookupEntry(FACTION_SCRYERS);
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -3981,12 +3974,13 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DEATH_CHOICE_NORMAL_STRENGTH) ||
- !sSpellMgr->GetSpellInfo(SPELL_DEATH_CHOICE_NORMAL_AGILITY) ||
- !sSpellMgr->GetSpellInfo(SPELL_DEATH_CHOICE_HEROIC_STRENGTH) ||
- !sSpellMgr->GetSpellInfo(SPELL_DEATH_CHOICE_HEROIC_AGILITY))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_DEATH_CHOICE_NORMAL_STRENGTH,
+ SPELL_DEATH_CHOICE_NORMAL_AGILITY,
+ SPELL_DEATH_CHOICE_HEROIC_STRENGTH,
+ SPELL_DEATH_CHOICE_HEROIC_AGILITY
+ });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -4065,11 +4059,10 @@ public:
{
}
+ private:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(_stackSpell) || !sSpellMgr->GetSpellInfo(_triggerSpell))
- return false;
- return true;
+ return ValidateSpellInfo({ _stackSpell, _triggerSpell });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -4097,7 +4090,6 @@ public:
OnEffectProc += AuraEffectProcFn(spell_item_trinket_stack_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
}
- private:
uint32 _stackSpell;
uint32 _triggerSpell;
};
@@ -4115,7 +4107,7 @@ private:
// 57345 - Darkmoon Card: Greatness
enum DarkmoonCardSpells
{
- SPELL_DARKMOON_CARD_STRENGHT = 60229,
+ SPELL_DARKMOON_CARD_STRENGTH = 60229,
SPELL_DARKMOON_CARD_AGILITY = 60233,
SPELL_DARKMOON_CARD_INTELLECT = 60234,
SPELL_DARKMOON_CARD_SPIRIT = 60235,
@@ -4132,12 +4124,13 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DARKMOON_CARD_STRENGHT) ||
- !sSpellMgr->GetSpellInfo(SPELL_DARKMOON_CARD_AGILITY) ||
- !sSpellMgr->GetSpellInfo(SPELL_DARKMOON_CARD_INTELLECT) ||
- !sSpellMgr->GetSpellInfo(SPELL_DARKMOON_CARD_SPIRIT))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_DARKMOON_CARD_STRENGTH,
+ SPELL_DARKMOON_CARD_AGILITY,
+ SPELL_DARKMOON_CARD_INTELLECT,
+ SPELL_DARKMOON_CARD_SPIRIT
+ });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -4151,11 +4144,11 @@ public:
float spi = caster->GetStat(STAT_SPIRIT);
float stat = 0.0f;
- uint32 spellTrigger = SPELL_DARKMOON_CARD_STRENGHT;
+ uint32 spellTrigger = SPELL_DARKMOON_CARD_STRENGTH;
if (str > stat)
{
- spellTrigger = SPELL_DARKMOON_CARD_STRENGHT;
+ spellTrigger = SPELL_DARKMOON_CARD_STRENGTH;
stat = str;
}
@@ -4209,9 +4202,7 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_CHARM_WITCH_DOCTOR_PROC))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_CHARM_WITCH_DOCTOR_PROC });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -4258,10 +4249,11 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_MANA_DRAIN_ENERGIZE)
- || !sSpellMgr->GetSpellInfo(SPELL_MANA_DRAIN_LEECH))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_MANA_DRAIN_ENERGIZE,
+ SPELL_MANA_DRAIN_LEECH
+ });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -4309,11 +4301,8 @@ class spell_item_taunt_flag_targeting : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_TAUNT_FLAG))
- return false;
- if (!sObjectMgr->GetBroadcastText(EMOTE_PLANTS_FLAG))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_TAUNT_FLAG }) &&
+ sObjectMgr->GetBroadcastText(EMOTE_PLANTS_FLAG);
}
void FilterTargets(std::list<WorldObject*>& targets)
@@ -4381,9 +4370,7 @@ class spell_item_mind_control_cap : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_GNOMISH_MIND_CONTROL_CAP) || !sSpellMgr->GetSpellInfo(SPELL_DULLARD))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_GNOMISH_MIND_CONTROL_CAP, SPELL_DULLARD });
}
void HandleDummy(SpellEffIndex /* effIndex */)
@@ -4436,9 +4423,7 @@ class spell_item_universal_remote : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_CONTROL_MACHINE) || !sSpellMgr->GetSpellInfo(SPELL_MOBILITY_MALFUNCTION) || !sSpellMgr->GetSpellInfo(SPELL_TARGET_LOCK))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_CONTROL_MACHINE, SPELL_MOBILITY_MALFUNCTION, SPELL_TARGET_LOCK });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -4492,9 +4477,7 @@ class spell_item_zandalarian_charm : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(_spellId))
- return false;
- return true;
+ return ValidateSpellInfo({ _spellId });
}
bool CheckProc(ProcEventInfo& eventInfo)
diff --git a/src/server/scripts/Spells/spell_mage.cpp b/src/server/scripts/Spells/spell_mage.cpp
index 72b4a323710..c40e164a130 100644
--- a/src/server/scripts/Spells/spell_mage.cpp
+++ b/src/server/scripts/Spells/spell_mage.cpp
@@ -21,11 +21,14 @@
* Scriptnames of files in this file should be prefixed with "spell_mage_".
*/
-#include "Player.h"
#include "ScriptMgr.h"
+#include "Creature.h"
+#include "Player.h"
+#include "Random.h"
+#include "SpellAuraEffects.h"
#include "SpellHistory.h"
+#include "SpellMgr.h"
#include "SpellScript.h"
-#include "SpellAuraEffects.h"
enum MageSpells
{
@@ -79,11 +82,11 @@ class spell_mage_incanters_absorbtion_base_AuraScript : public AuraScript
public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_INCANTERS_ABSORBTION_TRIGGERED))
- return false;
- if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_INCANTERS_ABSORBTION_R1))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_MAGE_INCANTERS_ABSORBTION_TRIGGERED,
+ SPELL_MAGE_INCANTERS_ABSORBTION_R1
+ });
}
void Trigger(AuraEffect* aurEff, DamageInfo& /*dmgInfo*/, uint32& absorbAmount)
@@ -93,7 +96,7 @@ class spell_mage_incanters_absorbtion_base_AuraScript : public AuraScript
if (AuraEffect* talentAurEff = target->GetAuraEffectOfRankedSpell(SPELL_MAGE_INCANTERS_ABSORBTION_R1, EFFECT_0))
{
int32 bp = CalculatePct(absorbAmount, talentAurEff->GetAmount());
- target->CastCustomSpell(target, SPELL_MAGE_INCANTERS_ABSORBTION_TRIGGERED, &bp, NULL, NULL, true, NULL, aurEff);
+ target->CastCustomSpell(target, SPELL_MAGE_INCANTERS_ABSORBTION_TRIGGERED, &bp, nullptr, nullptr, true, nullptr, aurEff);
}
}
};
@@ -110,10 +113,11 @@ class spell_mage_arcane_potency : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_ARCANE_POTENCY_RANK_1) ||
- !sSpellMgr->GetSpellInfo(SPELL_MAGE_ARCANE_POTENCY_RANK_2))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_MAGE_ARCANE_POTENCY_RANK_1,
+ SPELL_MAGE_ARCANE_POTENCY_RANK_2
+ });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -161,9 +165,7 @@ class spell_mage_blast_wave : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_GLYPH_OF_BLAST_WAVE))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_MAGE_GLYPH_OF_BLAST_WAVE });
}
void HandleKnockBack(SpellEffIndex effIndex)
@@ -196,9 +198,7 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_BLAZING_SPEED))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_MAGE_BLAZING_SPEED });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -264,9 +264,7 @@ class spell_mage_burnout : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_BURNOUT))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_MAGE_BURNOUT });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -350,9 +348,7 @@ class spell_mage_combustion : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_COMBUSTION_PROC))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_MAGE_COMBUSTION_PROC });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -391,9 +387,7 @@ class spell_mage_imp_blizzard : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_CHILLED))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_MAGE_CHILLED });
}
void HandleChill(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -428,9 +422,7 @@ class spell_mage_imp_mana_gems : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_MANA_SURGE))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_MAGE_MANA_SURGE });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -463,9 +455,7 @@ class spell_mage_empowered_fire : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_EMPOWERED_FIRE_PROC))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_MAGE_EMPOWERED_FIRE_PROC });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -511,9 +501,7 @@ class spell_mage_fingers_of_frost : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_FINGERS_OF_FROST_AURASTATE_AURA))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_MAGE_FINGERS_OF_FROST_AURASTATE_AURA });
}
void HandleDummy(AuraEffect const* /*aurEff*/, ProcEventInfo& eventInfo)
@@ -553,11 +541,11 @@ class spell_mage_fire_frost_ward : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_FROST_WARDING_TRIGGERED))
- return false;
- if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_FROST_WARDING_R1))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_MAGE_FROST_WARDING_TRIGGERED,
+ SPELL_MAGE_FROST_WARDING_R1
+ });
}
void CalculateAmount(AuraEffect const* /*aurEff*/, int32& amount, bool& canBeRecalculated)
@@ -586,7 +574,7 @@ class spell_mage_fire_frost_ward : public SpellScriptLoader
{
int32 bp = dmgInfo.GetDamage();
dmgInfo.AbsorbDamage(bp);
- target->CastCustomSpell(target, SPELL_MAGE_FROST_WARDING_TRIGGERED, &bp, NULL, NULL, true, NULL, aurEff);
+ target->CastCustomSpell(target, SPELL_MAGE_FROST_WARDING_TRIGGERED, &bp, nullptr, nullptr, true, nullptr, aurEff);
absorbAmount = 0;
PreventDefaultAction();
}
@@ -617,18 +605,9 @@ class spell_mage_focus_magic : public SpellScriptLoader
{
PrepareAuraScript(spell_mage_focus_magic_AuraScript);
- public:
- spell_mage_focus_magic_AuraScript()
- {
- _procTarget = nullptr;
- }
-
- private:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_FOCUS_MAGIC_PROC))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_MAGE_FOCUS_MAGIC_PROC });
}
bool CheckProc(ProcEventInfo& /*eventInfo*/)
@@ -640,7 +619,7 @@ class spell_mage_focus_magic : public SpellScriptLoader
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/)
{
PreventDefaultAction();
- GetTarget()->CastSpell(_procTarget, SPELL_MAGE_FOCUS_MAGIC_PROC, true, NULL, aurEff);
+ GetTarget()->CastSpell(_procTarget, SPELL_MAGE_FOCUS_MAGIC_PROC, true, nullptr, aurEff);
}
void Register() override
@@ -649,8 +628,7 @@ class spell_mage_focus_magic : public SpellScriptLoader
OnEffectProc += AuraEffectProcFn(spell_mage_focus_magic_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_MOD_SPELL_CRIT_CHANCE);
}
- private:
- Unit* _procTarget;
+ Unit* _procTarget = nullptr;
};
AuraScript* GetAuraScript() const override
@@ -673,11 +651,12 @@ class spell_mage_gen_extra_effects : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_T10_2P_BONUS) ||
- !sSpellMgr->GetSpellInfo(SPELL_MAGE_T10_2P_BONUS_EFFECT) ||
- !sSpellMgr->GetSpellInfo(SPELL_MAGE_T8_4P_BONUS))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_MAGE_T10_2P_BONUS,
+ SPELL_MAGE_T10_2P_BONUS_EFFECT,
+ SPELL_MAGE_T8_4P_BONUS
+ });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -825,9 +804,7 @@ class spell_mage_hot_streak : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_HOT_STREAK_PROC))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_MAGE_HOT_STREAK_PROC });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -880,9 +857,7 @@ class spell_mage_ice_barrier : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_SHATTERED_BARRIER))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_MAGE_SHATTERED_BARRIER });
}
void CalculateAmount(AuraEffect const* aurEff, int32& amount, bool& canBeRecalculated)
@@ -942,9 +917,7 @@ class spell_mage_ignite : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_IGNITE))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_MAGE_IGNITE });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -989,9 +962,7 @@ class spell_mage_living_bomb : public SpellScriptLoader
bool Validate(SpellInfo const* spell) override
{
- if (!sSpellMgr->GetSpellInfo(uint32(spell->Effects[EFFECT_1].CalcValue())))
- return false;
- return true;
+ return ValidateSpellInfo({ static_cast<uint32>(spell->Effects[EFFECT_1].CalcValue()) });
}
void AfterRemove(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/)
@@ -1001,7 +972,7 @@ class spell_mage_living_bomb : public SpellScriptLoader
return;
if (Unit* caster = GetCaster())
- caster->CastSpell(GetTarget(), uint32(aurEff->GetAmount()), true, NULL, aurEff);
+ caster->CastSpell(GetTarget(), uint32(aurEff->GetAmount()), true, nullptr, aurEff);
}
void Register() override
@@ -1028,9 +999,7 @@ class spell_mage_magic_absorption : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_MAGIC_ABSORPTION_MANA))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_MAGE_MAGIC_ABSORPTION_MANA });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1065,10 +1034,8 @@ class spell_mage_mana_shield : public SpellScriptLoader
bool Validate(SpellInfo const* spellInfo) override
{
- if (!spell_mage_incanters_absorbtion_base_AuraScript::Validate(spellInfo) ||
- !sSpellMgr->GetSpellInfo(SPELL_MAGE_ARCANE_SURGE))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_MAGE_ARCANE_SURGE }) &&
+ spell_mage_incanters_absorbtion_base_AuraScript::Validate(spellInfo);
}
void CalculateAmount(AuraEffect const* /*aurEff*/, int32& amount, bool& canBeRecalculated)
@@ -1119,9 +1086,7 @@ class spell_mage_master_of_elements : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_MASTER_OF_ELEMENTS_ENERGIZE))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_MAGE_MASTER_OF_ELEMENTS_ENERGIZE });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -1209,22 +1174,18 @@ class spell_mage_polymorph_cast_visual : public SpellScriptLoader
{
PrepareSpellScript(spell_mage_polymorph_cast_visual_SpellScript);
- static const uint32 PolymorhForms[6];
+ static const uint32 PolymorphForms[6];
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- // check if spell ids exist in dbc
- for (uint32 i = 0; i < 6; ++i)
- if (!sSpellMgr->GetSpellInfo(PolymorhForms[i]))
- return false;
- return true;
+ return ValidateSpellInfo(PolymorphForms);
}
void HandleDummy(SpellEffIndex /*effIndex*/)
{
if (Unit* target = GetCaster()->FindNearestCreature(NPC_AUROSALIA, 30.0f))
if (target->GetTypeId() == TYPEID_UNIT)
- target->CastSpell(target, PolymorhForms[urand(0, 5)], true);
+ target->CastSpell(target, PolymorphForms[urand(0, 5)], true);
}
void Register() override
@@ -1239,7 +1200,7 @@ class spell_mage_polymorph_cast_visual : public SpellScriptLoader
}
};
-const uint32 spell_mage_polymorph_cast_visual::spell_mage_polymorph_cast_visual_SpellScript::PolymorhForms[6] =
+const uint32 spell_mage_polymorph_cast_visual::spell_mage_polymorph_cast_visual_SpellScript::PolymorphForms[6] =
{
SPELL_MAGE_SQUIRREL_FORM,
SPELL_MAGE_GIRAFFE_FORM,
@@ -1261,9 +1222,12 @@ class spell_mage_summon_water_elemental : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_GLYPH_OF_ETERNAL_WATER) || !sSpellMgr->GetSpellInfo(SPELL_MAGE_SUMMON_WATER_ELEMENTAL_TEMPORARY) || !sSpellMgr->GetSpellInfo(SPELL_MAGE_SUMMON_WATER_ELEMENTAL_PERMANENT))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_MAGE_GLYPH_OF_ETERNAL_WATER,
+ SPELL_MAGE_SUMMON_WATER_ELEMENTAL_TEMPORARY,
+ SPELL_MAGE_SUMMON_WATER_ELEMENTAL_PERMANENT
+ });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
diff --git a/src/server/scripts/Spells/spell_paladin.cpp b/src/server/scripts/Spells/spell_paladin.cpp
index b259db332a9..08ea6472a8d 100644
--- a/src/server/scripts/Spells/spell_paladin.cpp
+++ b/src/server/scripts/Spells/spell_paladin.cpp
@@ -21,13 +21,15 @@
* Scriptnames of files in this file should be prefixed with "spell_pal_".
*/
-#include "Player.h"
-#include "GameTime.h"
#include "ScriptMgr.h"
-#include "SpellScript.h"
+#include "GameTime.h"
+#include "Group.h"
+#include "Player.h"
+#include "Random.h"
#include "SpellAuraEffects.h"
#include "SpellHistory.h"
-#include "Group.h"
+#include "SpellMgr.h"
+#include "SpellScript.h"
enum PaladinSpells
{
@@ -146,15 +148,8 @@ class spell_pal_ardent_defender : public SpellScriptLoader
{
PrepareAuraScript(spell_pal_ardent_defender_AuraScript);
- public:
- spell_pal_ardent_defender_AuraScript()
- {
- absorbPct = 0;
- healPct = 0;
- }
-
- private:
- uint32 absorbPct, healPct;
+ uint32 _absorbPct = 0;
+ uint32 _healPct = 0;
enum Spell
{
@@ -163,15 +158,13 @@ class spell_pal_ardent_defender : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(PAL_SPELL_ARDENT_DEFENDER_HEAL))
- return false;
- return true;
+ return ValidateSpellInfo({ PAL_SPELL_ARDENT_DEFENDER_HEAL });
}
bool Load() override
{
- healPct = GetSpellInfo()->Effects[EFFECT_1].CalcValue();
- absorbPct = GetSpellInfo()->Effects[EFFECT_0].CalcValue();
+ _absorbPct = GetSpellInfo()->Effects[EFFECT_0].CalcValue();
+ _healPct = GetSpellInfo()->Effects[EFFECT_1].CalcValue();
return GetUnitOwner()->GetTypeId() == TYPEID_PLAYER;
}
@@ -181,7 +174,7 @@ class spell_pal_ardent_defender : public SpellScriptLoader
amount = -1;
}
- void Absorb(AuraEffect* aurEff, DamageInfo & dmgInfo, uint32 & absorbAmount)
+ void Absorb(AuraEffect* aurEff, DamageInfo& dmgInfo, uint32& absorbAmount)
{
Unit* victim = GetTarget();
int32 remainingHealth = victim->GetHealth() - dmgInfo.GetDamage();
@@ -192,15 +185,13 @@ class spell_pal_ardent_defender : public SpellScriptLoader
// Cast healing spell, completely avoid damage
absorbAmount = dmgInfo.GetDamage();
- uint32 defenseSkillValue = victim->GetDefenseSkillValue();
+ float defenseSkillValue = victim->GetDefenseSkillValue();
// Max heal when defense skill denies critical hits from raid bosses
// Formula: max defense at level + 140 (raiting from gear)
- uint32 reqDefForMaxHeal = victim->getLevel() * 5 + 140;
- float pctFromDefense = (defenseSkillValue >= reqDefForMaxHeal)
- ? 1.0f
- : float(defenseSkillValue) / float(reqDefForMaxHeal);
+ float reqDefForMaxHeal = victim->GetMaxSkillValueForLevel() + 140.0f;
+ float defenseFactor = std::min(1.0f, defenseSkillValue / reqDefForMaxHeal);
- int32 healAmount = int32(victim->CountPctFromMaxHealth(uint32(healPct * pctFromDefense)));
+ int32 healAmount = int32(victim->CountPctFromMaxHealth(static_cast<uint32>(lroundf(_healPct * defenseFactor))));
victim->CastCustomSpell(PAL_SPELL_ARDENT_DEFENDER_HEAL, SPELLVALUE_BASE_POINT0, healAmount, victim, true, nullptr, aurEff);
victim->GetSpellHistory()->AddCooldown(PAL_SPELL_ARDENT_DEFENDER_HEAL, 0, std::chrono::minutes(2));
}
@@ -210,7 +201,7 @@ class spell_pal_ardent_defender : public SpellScriptLoader
uint32 damageToReduce = (victim->GetHealth() < allowedHealth)
? dmgInfo.GetDamage()
: allowedHealth - remainingHealth;
- absorbAmount = CalculatePct(damageToReduce, absorbPct);
+ absorbAmount = CalculatePct(damageToReduce, _absorbPct);
}
}
@@ -239,9 +230,7 @@ class spell_pal_aura_mastery : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_AURA_MASTERY_IMMUNE))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PALADIN_AURA_MASTERY_IMMUNE });
}
void HandleEffectApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -279,9 +268,7 @@ class spell_pal_aura_mastery_immune : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_CONCENTRACTION_AURA))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PALADIN_CONCENTRACTION_AURA });
}
bool CheckAreaTarget(Unit* target)
@@ -313,10 +300,11 @@ class spell_pal_avenging_wrath : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_SANCTIFIED_WRATH)
- || !sSpellMgr->GetSpellInfo(SPELL_PALADIN_SANCTIFIED_WRATH_TALENT_R1))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_PALADIN_SANCTIFIED_WRATH,
+ SPELL_PALADIN_SANCTIFIED_WRATH_TALENT_R1
+ });
}
void HandleApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -325,7 +313,7 @@ class spell_pal_avenging_wrath : public SpellScriptLoader
if (AuraEffect const* aurEff = target->GetAuraEffectOfRankedSpell(SPELL_PALADIN_SANCTIFIED_WRATH_TALENT_R1, EFFECT_2))
{
int32 basepoints = aurEff->GetAmount();
- target->CastCustomSpell(target, SPELL_PALADIN_SANCTIFIED_WRATH, &basepoints, &basepoints, NULL, true, NULL, aurEff);
+ target->CastCustomSpell(target, SPELL_PALADIN_SANCTIFIED_WRATH, &basepoints, &basepoints, nullptr, true, nullptr, aurEff);
}
}
@@ -359,9 +347,13 @@ class spell_pal_blessing_of_faith : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_BLESSING_OF_LOWER_CITY_DRUID) || !sSpellMgr->GetSpellInfo(SPELL_PALADIN_BLESSING_OF_LOWER_CITY_PALADIN) || !sSpellMgr->GetSpellInfo(SPELL_PALADIN_BLESSING_OF_LOWER_CITY_PRIEST) || !sSpellMgr->GetSpellInfo(SPELL_PALADIN_BLESSING_OF_LOWER_CITY_SHAMAN))
- return false;
- return true;
+ 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*/)
@@ -416,11 +408,11 @@ class spell_pal_blessing_of_sanctuary : public SpellScriptLoader
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;
+ return ValidateSpellInfo(
+ {
+ SPELL_PALADIN_BLESSING_OF_SANCTUARY_BUFF,
+ SPELL_PALADIN_BLESSING_OF_SANCTUARY_ENERGIZE
+ });
}
void HandleEffectApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -444,7 +436,7 @@ class spell_pal_blessing_of_sanctuary : public SpellScriptLoader
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/)
{
PreventDefaultAction();
- GetTarget()->CastSpell(GetTarget(), SPELL_PALADIN_BLESSING_OF_SANCTUARY_ENERGIZE, true, NULL, aurEff);
+ GetTarget()->CastSpell(GetTarget(), SPELL_PALADIN_BLESSING_OF_SANCTUARY_ENERGIZE, true, nullptr, aurEff);
}
void Register() override
@@ -558,32 +550,23 @@ class spell_pal_divine_storm : public SpellScriptLoader
{
PrepareSpellScript(spell_pal_divine_storm_SpellScript);
- public:
- spell_pal_divine_storm_SpellScript()
- {
- healPct = 0;
- }
-
- private:
- uint32 healPct;
+ uint32 _healPct = 0;
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_DIVINE_STORM_DUMMY))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PALADIN_DIVINE_STORM_DUMMY });
}
bool Load() override
{
- healPct = GetSpellInfo()->Effects[EFFECT_1].CalcValue(GetCaster());
+ _healPct = GetSpellInfo()->Effects[EFFECT_1].CalcValue(GetCaster());
return true;
}
void TriggerHeal()
{
Unit* caster = GetCaster();
- caster->CastCustomSpell(SPELL_PALADIN_DIVINE_STORM_DUMMY, SPELLVALUE_BASE_POINT0, (GetHitDamage() * healPct) / 100, caster, true);
+ caster->CastCustomSpell(SPELL_PALADIN_DIVINE_STORM_DUMMY, SPELLVALUE_BASE_POINT0, (GetHitDamage() * _healPct) / 100, caster, true);
}
void Register() override
@@ -608,18 +591,10 @@ class spell_pal_divine_storm_dummy : public SpellScriptLoader
{
PrepareSpellScript(spell_pal_divine_storm_dummy_SpellScript);
- public:
- spell_pal_divine_storm_dummy_SpellScript()
- {
- _targetCount = 0;
- }
- private:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_DIVINE_STORM_HEAL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PALADIN_DIVINE_STORM_HEAL });
}
void CountTargets(std::list<WorldObject*>& targetList)
@@ -633,10 +608,10 @@ class spell_pal_divine_storm_dummy : public SpellScriptLoader
return;
int32 heal = GetEffectValue() / _targetCount;
- GetCaster()->CastCustomSpell(GetHitUnit(), SPELL_PALADIN_DIVINE_STORM_HEAL, &heal, NULL, NULL, true);
+ GetCaster()->CastCustomSpell(GetHitUnit(), SPELL_PALADIN_DIVINE_STORM_HEAL, &heal, nullptr, nullptr, true);
}
- private:
- uint32 _targetCount;
+
+ uint32 _targetCount = 0;
void Register() override
{
@@ -699,9 +674,7 @@ class spell_pal_eye_for_an_eye : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_EYE_FOR_AN_EYE_DAMAGE))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PALADIN_EYE_FOR_AN_EYE_DAMAGE });
}
void OnProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -740,9 +713,7 @@ class spell_pal_glyph_of_divinity : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_GLYPH_OF_DIVINITY_PROC))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PALADIN_GLYPH_OF_DIVINITY_PROC });
}
void OnProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -817,9 +788,7 @@ class spell_pal_glyph_of_holy_light_dummy : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_GLYPH_OF_HOLY_LIGHT_HEAL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PALADIN_GLYPH_OF_HOLY_LIGHT_HEAL });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -860,9 +829,7 @@ class spell_pal_guarded_by_the_light : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_DIVINE_PLEA))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PALADIN_DIVINE_PLEA });
}
void HandleScriptEffect(SpellEffIndex /*effIndex*/)
@@ -980,9 +947,7 @@ class spell_pal_heart_of_the_crusader : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_HEART_OF_THE_CRUSADER_EFF_R1))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PALADIN_HEART_OF_THE_CRUSADER_EFF_R1 });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1089,11 +1054,12 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_HOLY_SHOCK_R1_HEALING) ||
- !sSpellMgr->GetSpellInfo(SPELL_PALADIN_ILLUMINATION_ENERGIZE) ||
- !sSpellMgr->GetSpellInfo(SPELL_PALADIN_HOLY_SHOCK_R1))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_PALADIN_HOLY_SHOCK_R1_HEALING,
+ SPELL_PALADIN_ILLUMINATION_ENERGIZE,
+ SPELL_PALADIN_HOLY_SHOCK_R1
+ });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1153,11 +1119,12 @@ class spell_pal_improved_aura : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(_spellId)
- || !sSpellMgr->GetSpellInfo(SPELL_PALADIN_SANCTIFIED_RETRIBUTION_R1)
- || !sSpellMgr->GetSpellInfo(SPELL_PALADIN_SWIFT_RETRIBUTION_R1))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ _spellId,
+ SPELL_PALADIN_SANCTIFIED_RETRIBUTION_R1,
+ SPELL_PALADIN_SWIFT_RETRIBUTION_R1
+ });
}
void HandleEffectApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -1251,9 +1218,7 @@ class spell_pal_improved_lay_of_hands : public SpellScriptLoader
bool Validate(SpellInfo const* spellInfo) override
{
- if (!sSpellMgr->GetSpellInfo(spellInfo->Effects[EFFECT_0].TriggerSpell))
- return false;
- return true;
+ return ValidateSpellInfo({ spellInfo->Effects[EFFECT_0].TriggerSpell });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1286,11 +1251,12 @@ class spell_pal_infusion_of_light : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_SACRED_SHIELD) ||
- !sSpellMgr->GetSpellInfo(SPELL_PALADIN_T9_HOLY_4P_BONUS) ||
- !sSpellMgr->GetSpellInfo(SPELL_PALADIN_FLASH_OF_LIGHT_PROC))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_PALADIN_SACRED_SHIELD,
+ SPELL_PALADIN_T9_HOLY_4P_BONUS,
+ SPELL_PALADIN_FLASH_OF_LIGHT_PROC
+ });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1353,15 +1319,13 @@ class spell_pal_item_healing_discount : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_ITEM_HEALING_TRANCE))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PALADIN_ITEM_HEALING_TRANCE });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/)
{
PreventDefaultAction();
- GetTarget()->CastSpell(GetTarget(), SPELL_PALADIN_ITEM_HEALING_TRANCE, true, NULL, aurEff);
+ GetTarget()->CastSpell(GetTarget(), SPELL_PALADIN_ITEM_HEALING_TRANCE, true, nullptr, aurEff);
}
void Register() override
@@ -1388,10 +1352,11 @@ class spell_pal_item_t6_trinket : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_ENDURING_LIGHT) ||
- !sSpellMgr->GetSpellInfo(SPELL_PALADIN_ENDURING_JUDGEMENT))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_PALADIN_ENDURING_LIGHT,
+ SPELL_PALADIN_ENDURING_JUDGEMENT
+ });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1450,12 +1415,14 @@ class spell_pal_judgement : public SpellScriptLoader
public:
spell_pal_judgement_SpellScript(uint32 spellId) : SpellScript(), _spellId(spellId) { }
+ private:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_JUDGEMENT_DAMAGE)
- || !sSpellMgr->GetSpellInfo(_spellId))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_PALADIN_JUDGEMENT_DAMAGE,
+ _spellId
+ });
}
void HandleScriptEffect(SpellEffIndex /*effIndex*/)
@@ -1485,7 +1452,6 @@ class spell_pal_judgement : public SpellScriptLoader
OnEffectHitTarget += SpellEffectFn(spell_pal_judgement_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
- private:
uint32 const _spellId;
};
@@ -1512,7 +1478,7 @@ class spell_pal_judgement_of_command : public SpellScriptLoader
{
if (Unit* unitTarget = GetHitUnit())
if (SpellInfo const* spell_proto = sSpellMgr->GetSpellInfo(GetEffectValue()))
- GetCaster()->CastSpell(unitTarget, spell_proto, true, NULL);
+ GetCaster()->CastSpell(unitTarget, spell_proto, true, nullptr);
}
void Register() override
@@ -1539,9 +1505,7 @@ class spell_pal_judgement_of_light_heal : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_JUDGEMENT_OF_LIGHT_HEAL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PALADIN_JUDGEMENT_OF_LIGHT_HEAL });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1578,9 +1542,7 @@ class spell_pal_judgement_of_wisdom_mana : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_JUDGEMENT_OF_WISDOM_MANA))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PALADIN_JUDGEMENT_OF_WISDOM_MANA });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -1624,9 +1586,7 @@ class spell_pal_judgements_of_the_just : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_JUDGEMENTS_OF_THE_JUST_PROC))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PALADIN_JUDGEMENTS_OF_THE_JUST_PROC });
}
void OnProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1659,10 +1619,11 @@ class spell_pal_judgements_of_the_wise : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_REPLENISHMENT) ||
- !sSpellMgr->GetSpellInfo(SPELL_PALADIN_JUDGEMENTS_OF_THE_WISE_MANA))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_REPLENISHMENT,
+ SPELL_PALADIN_JUDGEMENTS_OF_THE_WISE_MANA
+ });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1698,13 +1659,12 @@ class spell_pal_lay_on_hands : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_FORBEARANCE))
- return false;
- if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_AVENGING_WRATH_MARKER))
- return false;
- if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_IMMUNE_SHIELD_MARKER))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_PALADIN_FORBEARANCE,
+ SPELL_PALADIN_AVENGING_WRATH_MARKER,
+ SPELL_PALADIN_IMMUNE_SHIELD_MARKER
+ });
}
SpellCastResult CheckCast()
@@ -1754,13 +1714,14 @@ class spell_pal_light_s_beacon : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_BEACON_OF_LIGHT)
- || !sSpellMgr->GetSpellInfo(SPELL_PALADIN_BEACON_OF_LIGHT_HEAL_1)
- || !sSpellMgr->GetSpellInfo(SPELL_PALADIN_BEACON_OF_LIGHT_HEAL_2)
- || !sSpellMgr->GetSpellInfo(SPELL_PALADIN_BEACON_OF_LIGHT_HEAL_3)
- || !sSpellMgr->GetSpellInfo(SPELL_PALADIN_HOLY_LIGHT))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_PALADIN_BEACON_OF_LIGHT,
+ SPELL_PALADIN_BEACON_OF_LIGHT_HEAL_1,
+ SPELL_PALADIN_BEACON_OF_LIGHT_HEAL_2,
+ SPELL_PALADIN_BEACON_OF_LIGHT_HEAL_3,
+ SPELL_PALADIN_HOLY_LIGHT
+ });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -1820,9 +1781,7 @@ class spell_pal_righteous_defense : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_RIGHTEOUS_DEFENSE_TAUNT))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PALADIN_RIGHTEOUS_DEFENSE_TAUNT });
}
SpellCastResult CheckCast()
@@ -1884,9 +1843,7 @@ class spell_pal_righteous_vengeance : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_RIGHTEOUS_VENGEANCE_DAMAGE))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PALADIN_RIGHTEOUS_VENGEANCE_DAMAGE });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1977,10 +1934,11 @@ class spell_pal_sacred_shield_dummy : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_SACRED_SHIELD_TRIGGER) ||
- !sSpellMgr->GetSpellInfo(SPELL_PALADIN_T8_HOLY_4P_BONUS))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_PALADIN_SACRED_SHIELD_TRIGGER,
+ SPELL_PALADIN_T8_HOLY_4P_BONUS
+ });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -2030,9 +1988,7 @@ class spell_pal_seal_of_righteousness : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_SEAL_OF_RIGHTEOUSNESS))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PALADIN_SEAL_OF_RIGHTEOUSNESS });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -2048,7 +2004,7 @@ class spell_pal_seal_of_righteousness : public SpellScriptLoader
int32 holy = GetTarget()->SpellBaseDamageBonusDone(SPELL_SCHOOL_MASK_HOLY);
holy += eventInfo.GetProcTarget()->SpellBaseDamageBonusTaken(SPELL_SCHOOL_MASK_HOLY);
int32 bp = int32((ap * 0.022f + 0.044f * holy) * GetTarget()->GetAttackTime(BASE_ATTACK) / 1000);
- GetTarget()->CastCustomSpell(SPELL_PALADIN_SEAL_OF_RIGHTEOUSNESS, SPELLVALUE_BASE_POINT0, bp, eventInfo.GetProcTarget(), true, NULL, aurEff);
+ GetTarget()->CastCustomSpell(SPELL_PALADIN_SEAL_OF_RIGHTEOUSNESS, SPELLVALUE_BASE_POINT0, bp, eventInfo.GetProcTarget(), true, nullptr, aurEff);
}
void Register() override
@@ -2079,10 +2035,11 @@ class spell_pal_seal_of_vengeance : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(DoTSpell) ||
- !sSpellMgr->GetSpellInfo(DamageSpell))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ DoTSpell,
+ DamageSpell
+ });
}
/*
@@ -2205,9 +2162,7 @@ class spell_pal_spiritual_attunement : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_SPIRITUAL_ATTUNEMENT_MANA))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PALADIN_SPIRITUAL_ATTUNEMENT_MANA });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -2253,9 +2208,7 @@ class spell_pal_sheath_of_light : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_SHEATH_OF_LIGHT_HEAL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PALADIN_SHEATH_OF_LIGHT_HEAL });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -2302,12 +2255,13 @@ class spell_pal_t3_6p_bonus : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_HOLY_POWER_ARMOR) ||
- !sSpellMgr->GetSpellInfo(SPELL_PALADIN_HOLY_POWER_ATTACK_POWER) ||
- !sSpellMgr->GetSpellInfo(SPELL_PALADIN_HOLY_POWER_SPELL_POWER) ||
- !sSpellMgr->GetSpellInfo(SPELL_PALADIN_HOLY_POWER_MP5))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_PALADIN_HOLY_POWER_ARMOR,
+ SPELL_PALADIN_HOLY_POWER_ATTACK_POWER,
+ SPELL_PALADIN_HOLY_POWER_SPELL_POWER,
+ SPELL_PALADIN_HOLY_POWER_MP5
+ });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -2368,9 +2322,7 @@ class spell_pal_t8_2p_bonus : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_HOLY_MENDING))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PALADIN_HOLY_MENDING });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
diff --git a/src/server/scripts/Spells/spell_pet.cpp b/src/server/scripts/Spells/spell_pet.cpp
index abe40cc2c7d..1386a212322 100644
--- a/src/server/scripts/Spells/spell_pet.cpp
+++ b/src/server/scripts/Spells/spell_pet.cpp
@@ -22,11 +22,13 @@
*/
#include "ScriptMgr.h"
-#include "SpellScript.h"
+#include "ObjectMgr.h"
+#include "Pet.h"
+#include "Player.h"
#include "SpellAuraEffects.h"
+#include "SpellMgr.h"
+#include "SpellScript.h"
#include "Unit.h"
-#include "Player.h"
-#include "Pet.h"
enum HunterPetCalculate
{
@@ -1497,13 +1499,6 @@ public:
{
PrepareAuraScript(spell_dk_pet_scaling_01_AuraScript);
- public:
- spell_dk_pet_scaling_01_AuraScript()
- {
- _tempHealth = 0;
- }
-
- private:
bool Load() override
{
if (!GetCaster() || !GetCaster()->GetOwner() || GetCaster()->GetOwner()->GetTypeId() != TYPEID_PLAYER)
@@ -1563,7 +1558,7 @@ public:
float mod = 0.7f;
// Ravenous Dead
- AuraEffect const* aurEff = NULL;
+ AuraEffect const* aurEff = nullptr;
// Check just if owner has Ravenous Dead since it's effect is not an aura
aurEff = owner->GetAuraEffect(SPELL_AURA_MOD_TOTAL_STAT_PERCENTAGE, SPELLFAMILY_DEATHKNIGHT, 3010, 0);
if (aurEff)
@@ -1587,8 +1582,7 @@ public:
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_dk_pet_scaling_01_AuraScript::CalculateStrengthAmount, EFFECT_1, SPELL_AURA_MOD_STAT);
}
- private:
- uint32 _tempHealth;
+ uint32 _tempHealth = 0;
};
AuraScript* GetAuraScript() const override
diff --git a/src/server/scripts/Spells/spell_priest.cpp b/src/server/scripts/Spells/spell_priest.cpp
index cd8aa4138a0..4ba231b021c 100644
--- a/src/server/scripts/Spells/spell_priest.cpp
+++ b/src/server/scripts/Spells/spell_priest.cpp
@@ -21,11 +21,12 @@
* Scriptnames of files in this file should be prefixed with "spell_pri_".
*/
-#include "Player.h"
#include "ScriptMgr.h"
-#include "SpellScript.h"
-#include "SpellAuraEffects.h"
#include "GridNotifiers.h"
+#include "Player.h"
+#include "SpellAuraEffects.h"
+#include "SpellMgr.h"
+#include "SpellScript.h"
enum PriestSpells
{
@@ -115,9 +116,7 @@ class spell_pri_aq_3p_bonus : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_ORACULAR_HEAL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PRIEST_ORACULAR_HEAL });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -159,9 +158,7 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_BLESSED_RECOVERY_R1))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PRIEST_BLESSED_RECOVERY_R1 });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -205,10 +202,11 @@ class spell_pri_body_and_soul : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_BODY_AND_SOUL_POISON_TRIGGER) ||
- !sSpellMgr->GetSpellInfo(SPELL_PRIEST_ABOLISH_DISEASE))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_PRIEST_BODY_AND_SOUL_POISON_TRIGGER,
+ SPELL_PRIEST_ABOLISH_DISEASE
+ });
}
void HandleProcTriggerSpell(AuraEffect const* /*aurEff*/, ProcEventInfo& eventInfo)
@@ -264,9 +262,7 @@ class spell_pri_circle_of_healing : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_GLYPH_OF_CIRCLE_OF_HEALING))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PRIEST_GLYPH_OF_CIRCLE_OF_HEALING });
}
void FilterTargets(std::list<WorldObject*>& targets)
@@ -306,9 +302,7 @@ class spell_pri_divine_aegis : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_DIVINE_AEGIS))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PRIEST_DIVINE_AEGIS });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -395,9 +389,7 @@ class spell_pri_glyph_of_dispel_magic : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_GLYPH_OF_DISPEL_MAGIC_HEAL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PRIEST_GLYPH_OF_DISPEL_MAGIC_HEAL });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -439,9 +431,7 @@ class spell_pri_glyph_of_prayer_of_healing : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_GLYPH_OF_PRAYER_OF_HEALING_HEAL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PRIEST_GLYPH_OF_PRAYER_OF_HEALING_HEAL });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -479,20 +469,11 @@ class spell_pri_guardian_spirit : public SpellScriptLoader
{
PrepareAuraScript(spell_pri_guardian_spirit_AuraScript);
- public:
- spell_pri_guardian_spirit_AuraScript()
- {
- healPct = 0;
- }
-
- private:
- uint32 healPct;
+ uint32 healPct = 0;
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_GUARDIAN_SPIRIT_HEAL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PRIEST_GUARDIAN_SPIRIT_HEAL });
}
bool Load() override
@@ -516,7 +497,7 @@ class spell_pri_guardian_spirit : public SpellScriptLoader
int32 healAmount = int32(target->CountPctFromMaxHealth(healPct));
// remove the aura now, we don't want 40% healing bonus
Remove(AURA_REMOVE_BY_ENEMY_SPELL);
- target->CastCustomSpell(target, SPELL_PRIEST_GUARDIAN_SPIRIT_HEAL, &healAmount, NULL, NULL, true);
+ target->CastCustomSpell(target, SPELL_PRIEST_GUARDIAN_SPIRIT_HEAL, &healAmount, nullptr, nullptr, true);
absorbAmount = dmgInfo.GetDamage();
}
@@ -610,10 +591,11 @@ class spell_pri_improved_spirit_tap : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_SHADOW_WORD_DEATH_R1) ||
- !sSpellMgr->GetSpellInfo(SPELL_PRIEST_MIND_BLAST_R1))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_PRIEST_SHADOW_WORD_DEATH_R1,
+ SPELL_PRIEST_MIND_BLAST_R1
+ });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -654,10 +636,11 @@ class spell_pri_item_t6_trinket : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_DIVINE_BLESSING) ||
- !sSpellMgr->GetSpellInfo(SPELL_PRIEST_DIVINE_WRATH))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_PRIEST_DIVINE_BLESSING,
+ SPELL_PRIEST_DIVINE_WRATH
+ });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -780,18 +763,9 @@ class spell_pri_mana_leech : public SpellScriptLoader
{
PrepareAuraScript(spell_pri_mana_leech_AuraScript);
- public:
- spell_pri_mana_leech_AuraScript()
- {
- _procTarget = nullptr;
- }
-
- private:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_MANA_LEECH_PROC))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PRIEST_MANA_LEECH_PROC });
}
bool CheckProc(ProcEventInfo& /*eventInfo*/)
@@ -803,7 +777,7 @@ class spell_pri_mana_leech : public SpellScriptLoader
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/)
{
PreventDefaultAction();
- GetTarget()->CastSpell(_procTarget, SPELL_PRIEST_MANA_LEECH_PROC, true, NULL, aurEff);
+ GetTarget()->CastSpell(_procTarget, SPELL_PRIEST_MANA_LEECH_PROC, true, nullptr, aurEff);
}
void Register() override
@@ -812,8 +786,7 @@ class spell_pri_mana_leech : public SpellScriptLoader
OnEffectProc += AuraEffectProcFn(spell_pri_mana_leech_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
}
- private:
- Unit* _procTarget;
+ Unit* _procTarget = nullptr;
};
AuraScript* GetAuraScript() const override
@@ -1003,11 +976,11 @@ class spell_pri_power_word_shield : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_REFLECTIVE_SHIELD_TRIGGERED))
- return false;
- if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_REFLECTIVE_SHIELD_R1))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_PRIEST_REFLECTIVE_SHIELD_TRIGGERED,
+ SPELL_PRIEST_REFLECTIVE_SHIELD_R1
+ });
}
void CalculateAmount(AuraEffect const* aurEff, int32& amount, bool& canBeRecalculated)
@@ -1049,7 +1022,7 @@ class spell_pri_power_word_shield : public SpellScriptLoader
if (AuraEffect* talentAurEff = target->GetAuraEffectOfRankedSpell(SPELL_PRIEST_REFLECTIVE_SHIELD_R1, EFFECT_0))
{
int32 bp = CalculatePct(absorbAmount, talentAurEff->GetAmount());
- target->CastCustomSpell(dmgInfo.GetAttacker(), SPELL_PRIEST_REFLECTIVE_SHIELD_TRIGGERED, &bp, NULL, NULL, true, NULL, aurEff);
+ target->CastCustomSpell(dmgInfo.GetAttacker(), SPELL_PRIEST_REFLECTIVE_SHIELD_TRIGGERED, &bp, nullptr, nullptr, true, nullptr, aurEff);
}
}
@@ -1127,7 +1100,8 @@ class spell_pri_renew : public SpellScriptLoader
{
int32 heal = (aurEff->GetAmount() + aurEff->GetBonusAmount()) * aurEff->GetDonePct();
if (Player* modOwner = caster->GetSpellModOwner())
- modOwner->ApplySpellMod<SPELLMOD_DOT>(GetId(), heal);
+ modOwner->ApplySpellMod(GetId(), SPELLMOD_DOT, heal);
+
heal = GetTarget()->SpellHealingBonusTaken(caster, GetSpellInfo(), heal, DOT);
heal *= GetSpellInfo()->GetMaxTicks();
@@ -1161,9 +1135,7 @@ class spell_pri_shadowfiend_death : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_GLYPH_OF_SHADOWFIEND_MANA))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PRIEST_GLYPH_OF_SHADOWFIEND_MANA });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -1244,9 +1216,7 @@ class spell_pri_vampiric_embrace : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_VAMPIRIC_EMBRACE_HEAL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PRIEST_VAMPIRIC_EMBRACE_HEAL });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1286,10 +1256,11 @@ class spell_pri_vampiric_touch : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_VAMPIRIC_TOUCH_DISPEL) ||
- !sSpellMgr->GetSpellInfo(SPELL_REPLENISHMENT))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_PRIEST_VAMPIRIC_TOUCH_DISPEL,
+ SPELL_REPLENISHMENT
+ });
}
bool CheckDummy(AuraEffect const* /*aurEff*/, ProcEventInfo& /*eventInfo*/)
@@ -1346,9 +1317,7 @@ class spell_pri_t3_4p_bonus : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_ARMOR_OF_FAITH))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PRIEST_ARMOR_OF_FAITH });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1381,9 +1350,7 @@ class spell_pri_t5_heal_2p_bonus : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_ITEM_EFFICIENCY))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PRIEST_ITEM_EFFICIENCY });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -1428,9 +1395,7 @@ class spell_pri_t10_heal_2p_bonus : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_BLESSED_HEALING))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_PRIEST_BLESSED_HEALING });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
diff --git a/src/server/scripts/Spells/spell_quest.cpp b/src/server/scripts/Spells/spell_quest.cpp
index 4b3074888cb..72e29df22f8 100644
--- a/src/server/scripts/Spells/spell_quest.cpp
+++ b/src/server/scripts/Spells/spell_quest.cpp
@@ -21,15 +21,15 @@
* Scriptnames of files in this file should be prefixed with "spell_q#questID_".
*/
+#include "ScriptMgr.h"
#include "CellImpl.h"
+#include "CreatureAIImpl.h"
#include "CreatureTextMgr.h"
-#include "GridNotifiers.h"
#include "GridNotifiersImpl.h"
#include "Player.h"
-#include "ScriptMgr.h"
#include "ScriptedCreature.h"
-#include "SpellScript.h"
#include "SpellAuraEffects.h"
+#include "SpellScript.h"
#include "Vehicle.h"
class spell_generic_quest_update_entry_SpellScript : public SpellScript
@@ -104,9 +104,7 @@ class spell_q2203_thaumaturgy_channel : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_THAUMATURGY_CHANNEL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_THAUMATURGY_CHANNEL });
}
void HandleEffectPeriodic(AuraEffect const* /*aurEff*/)
@@ -152,16 +150,14 @@ class spell_q5206_test_fetid_skull : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellEntry*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_CREATE_RESONATING_SKULL) || !sSpellMgr->GetSpellInfo(SPELL_CREATE_BONE_DUST))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_CREATE_RESONATING_SKULL, SPELL_CREATE_BONE_DUST });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
{
Unit* caster = GetCaster();
uint32 spellId = roll_chance_i(50) ? SPELL_CREATE_RESONATING_SKULL : SPELL_CREATE_BONE_DUST;
- caster->CastSpell(caster, spellId, true, NULL);
+ caster->CastSpell(caster, spellId, true, nullptr);
}
void Register() override
@@ -316,9 +312,7 @@ class spell_q11396_11399_scourging_crystal_controller : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellEntry*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_FORCE_SHIELD_ARCANE_PURPLE_X3) || !sSpellMgr->GetSpellInfo(SPELL_SCOURGING_CRYSTAL_CONTROLLER))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_FORCE_SHIELD_ARCANE_PURPLE_X3, SPELL_SCOURGING_CRYSTAL_CONTROLLER });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -354,9 +348,7 @@ class spell_q11396_11399_scourging_crystal_controller_dummy : public SpellScript
bool Validate(SpellInfo const* /*spellEntry*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_FORCE_SHIELD_ARCANE_PURPLE_X3))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_FORCE_SHIELD_ARCANE_PURPLE_X3 });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -417,9 +409,7 @@ class spell_q11587_arcane_prisoner_rescue : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellEntry*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SUMMON_ARCANE_PRISONER_MALE) || !sSpellMgr->GetSpellInfo(SPELL_SUMMON_ARCANE_PRISONER_FEMALE) || !sSpellMgr->GetSpellInfo(SPELL_ARCANE_PRISONER_KILL_CREDIT))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SUMMON_ARCANE_PRISONER_MALE, SPELL_SUMMON_ARCANE_PRISONER_FEMALE, SPELL_ARCANE_PRISONER_KILL_CREDIT });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -480,9 +470,15 @@ class spell_q11730_ultrasonic_screwdriver : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellEntry*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SUMMON_SCAVENGEBOT_004A8) || !sSpellMgr->GetSpellInfo(SPELL_SUMMON_SENTRYBOT_57K) || !sSpellMgr->GetSpellInfo(SPELL_SUMMON_DEFENDOTANK_66D) || !sSpellMgr->GetSpellInfo(SPELL_SUMMON_SCAVENGEBOT_005B6) || !sSpellMgr->GetSpellInfo(SPELL_SUMMON_55D_COLLECTATRON) || !sSpellMgr->GetSpellInfo(SPELL_ROBOT_KILL_CREDIT))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_SUMMON_SCAVENGEBOT_004A8,
+ SPELL_SUMMON_SENTRYBOT_57K,
+ SPELL_SUMMON_DEFENDOTANK_66D,
+ SPELL_SUMMON_SCAVENGEBOT_005B6,
+ SPELL_SUMMON_55D_COLLECTATRON,
+ SPELL_ROBOT_KILL_CREDIT
+ });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -592,9 +588,13 @@ class spell_q12634_despawn_fruit_tosser : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellEntry*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_BANANAS_FALL_TO_GROUND) || !sSpellMgr->GetSpellInfo(SPELL_ORANGE_FALLS_TO_GROUND) || !sSpellMgr->GetSpellInfo(SPELL_PAPAYA_FALLS_TO_GROUND) || !sSpellMgr->GetSpellInfo(SPELL_SUMMON_ADVENTUROUS_DWARF))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_BANANAS_FALL_TO_GROUND,
+ SPELL_ORANGE_FALLS_TO_GROUND,
+ SPELL_PAPAYA_FALLS_TO_GROUND,
+ SPELL_SUMMON_ADVENTUROUS_DWARF
+ });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -608,7 +608,7 @@ class spell_q12634_despawn_fruit_tosser : public SpellScriptLoader
// sometimes, if you're lucky, you get a dwarf
if (roll_chance_i(5))
spellId = SPELL_SUMMON_ADVENTUROUS_DWARF;
- GetCaster()->CastSpell(GetCaster(), spellId, true, NULL);
+ GetCaster()->CastSpell(GetCaster(), spellId, true, nullptr);
}
void Register() override
@@ -642,7 +642,7 @@ class spell_q12683_take_sputum_sample : public SpellScriptLoader
if (caster->HasAuraEffect(reqAuraId, 0))
{
uint32 spellId = GetSpellInfo()->Effects[EFFECT_0].CalcValue();
- caster->CastSpell(caster, spellId, true, NULL);
+ caster->CastSpell(caster, spellId, true, nullptr);
}
}
@@ -744,9 +744,7 @@ class spell_q12937_relief_for_the_fallen : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellEntry*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_TRIGGER_AID_OF_THE_EARTHEN))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_TRIGGER_AID_OF_THE_EARTHEN });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -754,7 +752,7 @@ class spell_q12937_relief_for_the_fallen : public SpellScriptLoader
Player* caster = GetCaster()->ToPlayer();
if (Creature* target = GetHitCreature())
{
- caster->CastSpell(caster, SPELL_TRIGGER_AID_OF_THE_EARTHEN, true, NULL);
+ caster->CastSpell(caster, SPELL_TRIGGER_AID_OF_THE_EARTHEN, true, nullptr);
caster->KilledMonsterCredit(NPC_FALLEN_EARTHEN_DEFENDER);
target->DespawnOrUnsummon();
}
@@ -790,9 +788,7 @@ class spell_q10041_q10040_who_are_they : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellEntry*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_MALE_DISGUISE) || !sSpellMgr->GetSpellInfo(SPELL_FEMALE_DISGUISE) || !sSpellMgr->GetSpellInfo(SPELL_GENERIC_DISGUISE))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_MALE_DISGUISE, SPELL_FEMALE_DISGUISE, SPELL_GENERIC_DISGUISE });
}
void HandleScript(SpellEffIndex effIndex)
@@ -1051,9 +1047,7 @@ class spell_q14112_14145_chum_the_water: public SpellScriptLoader
bool Validate(SpellInfo const* /*spellEntry*/) override
{
- if (!sSpellMgr->GetSpellInfo(SUMMON_ANGRY_KVALDIR) || !sSpellMgr->GetSpellInfo(SUMMON_NORTH_SEA_MAKO) || !sSpellMgr->GetSpellInfo(SUMMON_NORTH_SEA_THRESHER) || !sSpellMgr->GetSpellInfo(SUMMON_NORTH_SEA_BLUE_SHARK))
- return false;
- return true;
+ return ValidateSpellInfo({ SUMMON_ANGRY_KVALDIR, SUMMON_NORTH_SEA_MAKO, SUMMON_NORTH_SEA_THRESHER, SUMMON_NORTH_SEA_BLUE_SHARK });
}
void HandleScriptEffect(SpellEffIndex /*effIndex*/)
@@ -1662,16 +1656,14 @@ class spell_q12527_zuldrak_rat : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SUMMON_GORGED_LURKING_BASILISK))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SUMMON_GORGED_LURKING_BASILISK });
}
void HandleScriptEffect(SpellEffIndex /* effIndex */)
{
if (GetHitAura() && GetHitAura()->GetStackAmount() >= GetSpellInfo()->StackAmount)
{
- GetHitUnit()->CastSpell((Unit*) NULL, SPELL_SUMMON_GORGED_LURKING_BASILISK, true);
+ GetHitUnit()->CastSpell((Unit*) nullptr, SPELL_SUMMON_GORGED_LURKING_BASILISK, true);
if (Creature* basilisk = GetHitUnit()->ToCreature())
basilisk->DespawnOrUnsummon();
}
@@ -1734,9 +1726,7 @@ class spell_q12730_quenching_mist : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_FLICKERING_FLAMES))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_FLICKERING_FLAMES });
}
void HandleEffectPeriodic(AuraEffect const* /*aurEff*/)
@@ -1777,10 +1767,7 @@ class spell_q13291_q13292_q13239_q13261_frostbrood_skytalon_grab_decoy : public
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_RIDE))
- return false;
-
- return true;
+ return ValidateSpellInfo({ SPELL_RIDE });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -1864,9 +1851,8 @@ class spell_q12847_summon_soul_moveto_bunny : public SpellScriptLoader
enum BearFlankMaster
{
- SPELL_BEAR_FLANK_MASTER = 56565,
SPELL_CREATE_BEAR_FLANK = 56566,
- SPELL_BEAR_FLANK_FAIL = 56569
+ SPELL_BEAR_FLANK_FAIL = 56569
};
class spell_q13011_bear_flank_master : public SpellScriptLoader
@@ -1880,10 +1866,11 @@ class spell_q13011_bear_flank_master : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_BEAR_FLANK_MASTER) ||
- !sSpellMgr->GetSpellInfo(SPELL_CREATE_BEAR_FLANK))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_CREATE_BEAR_FLANK,
+ SPELL_BEAR_FLANK_FAIL
+ });
}
bool Load() override
@@ -1929,9 +1916,7 @@ class spell_q13086_cannons_target : public SpellScriptLoader
bool Validate(SpellInfo const* spellInfo) override
{
- if (!sSpellMgr->GetSpellInfo(spellInfo->Effects[EFFECT_0].CalcValue()))
- return false;
- return true;
+ return ValidateSpellInfo({ static_cast<uint32>(spellInfo->Effects[EFFECT_0].CalcValue()) });
}
void HandleEffectDummy(SpellEffIndex /*effIndex*/)
@@ -1980,14 +1965,15 @@ class spell_q12690_burst_at_the_seams : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_BURST_AT_THE_SEAMS)
- || !sSpellMgr->GetSpellInfo(SPELL_BURST_AT_THE_SEAMS_DMG)
- || !sSpellMgr->GetSpellInfo(SPELL_BURST_AT_THE_SEAMS_DMG_2)
- || !sSpellMgr->GetSpellInfo(SPELL_BURST_AT_THE_SEAMS_BONE)
- || !sSpellMgr->GetSpellInfo(SPELL_BURST_AT_THE_SEAMS_MEAT)
- || !sSpellMgr->GetSpellInfo(SPELL_BURST_AT_THE_SEAMS_BMEAT))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_BURST_AT_THE_SEAMS,
+ SPELL_BURST_AT_THE_SEAMS_DMG,
+ SPELL_BURST_AT_THE_SEAMS_DMG_2,
+ SPELL_BURST_AT_THE_SEAMS_BONE,
+ SPELL_BURST_AT_THE_SEAMS_MEAT,
+ SPELL_BURST_AT_THE_SEAMS_BMEAT
+ });
}
bool Load() override
@@ -2056,9 +2042,7 @@ class spell_q12308_escape_from_silverbrook : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SUMMON_WORGEN))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SUMMON_WORGEN });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -2134,12 +2118,13 @@ class spell_q12641_death_comes_from_on_high : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_FORGE_CREDIT) ||
- !sSpellMgr->GetSpellInfo(SPELL_TOWN_HALL_CREDIT) ||
- !sSpellMgr->GetSpellInfo(SPELL_SCARLET_HOLD_CREDIT) ||
- !sSpellMgr->GetSpellInfo(SPELL_CHAPEL_CREDIT))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_FORGE_CREDIT,
+ SPELL_TOWN_HALL_CREDIT,
+ SPELL_SCARLET_HOLD_CREDIT,
+ SPELL_CHAPEL_CREDIT
+ });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -2164,7 +2149,7 @@ class spell_q12641_death_comes_from_on_high : public SpellScriptLoader
return;
}
- GetCaster()->CastSpell((Unit*)NULL, spellId, true);
+ GetCaster()->CastSpell((Unit*)nullptr, spellId, true);
}
void Register() override
@@ -2230,7 +2215,7 @@ class spell_q12619_emblazon_runeblade : public SpellScriptLoader
{
PreventDefaultAction();
if (Unit* caster = GetCaster())
- caster->CastSpell(caster, GetSpellInfo()->Effects[aurEff->GetEffIndex()].TriggerSpell, true, NULL, aurEff);
+ caster->CastSpell(caster, GetSpellInfo()->Effects[aurEff->GetEffIndex()].TriggerSpell, true, nullptr, aurEff);
}
void Register() override
@@ -2289,9 +2274,7 @@ class spell_q12919_gymers_grab : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_RIDE_GYMER))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_RIDE_GYMER });
}
void HandleScript(SpellEffIndex /*effIndex*/)
@@ -2368,9 +2351,7 @@ class spell_q13400_illidan_kill_master : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_ILLIDAN_KILL_CREDIT))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_ILLIDAN_KILL_CREDIT });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -2410,9 +2391,7 @@ class spell_q14100_q14111_make_player_destroy_totems : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_TOTEM_OF_THE_EARTHEN_RING))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_TOTEM_OF_THE_EARTHEN_RING });
}
void HandleScriptEffect(SpellEffIndex /*effIndex*/)
@@ -2451,11 +2430,7 @@ class spell_q10929_fumping : SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SUMMON_SAND_GNOME))
- return false;
- if (!sSpellMgr->GetSpellInfo(SPELL_SUMMON_BONE_SLICER))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SUMMON_SAND_GNOME, SPELL_SUMMON_BONE_SLICER });
}
void HandleEffectRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
diff --git a/src/server/scripts/Spells/spell_rogue.cpp b/src/server/scripts/Spells/spell_rogue.cpp
index 4d9f32de2db..750b5073a7c 100644
--- a/src/server/scripts/Spells/spell_rogue.cpp
+++ b/src/server/scripts/Spells/spell_rogue.cpp
@@ -21,12 +21,17 @@
* Scriptnames of files in this file should be prefixed with "spell_rog_".
*/
-#include "Player.h"
#include "ScriptMgr.h"
-#include "SpellScript.h"
+#include "Containers.h"
+#include "DBCStores.h"
+#include "Item.h"
+#include "Log.h"
+#include "ObjectAccessor.h"
+#include "Player.h"
#include "SpellAuraEffects.h"
#include "SpellHistory.h"
-#include "Containers.h"
+#include "SpellMgr.h"
+#include "SpellScript.h"
enum RogueSpells
{
@@ -60,18 +65,9 @@ class spell_rog_blade_flurry : public SpellScriptLoader
{
PrepareAuraScript(spell_rog_blade_flurry_AuraScript);
- public:
- spell_rog_blade_flurry_AuraScript()
- {
- _procTarget = nullptr;
- }
-
- private:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_ROGUE_BLADE_FLURRY_EXTRA_ATTACK))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_ROGUE_BLADE_FLURRY_EXTRA_ATTACK });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -96,8 +92,7 @@ class spell_rog_blade_flurry : public SpellScriptLoader
OnEffectProc += AuraEffectProcFn(spell_rog_blade_flurry_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_MOD_MELEE_HASTE);
}
- private:
- Unit* _procTarget;
+ Unit* _procTarget = nullptr;
};
AuraScript* GetAuraScript() const override
@@ -116,20 +111,11 @@ class spell_rog_cheat_death : public SpellScriptLoader
{
PrepareAuraScript(spell_rog_cheat_death_AuraScript);
- public:
- spell_rog_cheat_death_AuraScript()
- {
- absorbChance = 0;
- }
-
- private:
- uint32 absorbChance;
+ uint32 absorbChance = 0;
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_ROGUE_CHEAT_DEATH_COOLDOWN))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_ROGUE_CHEAT_DEATH_COOLDOWN });
}
bool Load() override
@@ -227,9 +213,7 @@ class spell_rog_deadly_brew : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_ROGUE_CRIPPLING_POISON))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_ROGUE_CRIPPLING_POISON });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -260,13 +244,6 @@ class spell_rog_deadly_poison : public SpellScriptLoader
{
PrepareSpellScript(spell_rog_deadly_poison_SpellScript);
- public:
- spell_rog_deadly_poison_SpellScript()
- {
- _stackAmount = 0;
- }
-
- private:
bool Load() override
{
// at this point CastItem must already be initialized
@@ -341,7 +318,7 @@ class spell_rog_deadly_poison : public SpellScriptLoader
AfterHit += SpellHitFn(spell_rog_deadly_poison_SpellScript::HandleAfterHit);
}
- uint8 _stackAmount;
+ uint8 _stackAmount = 0;
};
SpellScript* GetSpellScript() const override
@@ -351,11 +328,12 @@ class spell_rog_deadly_poison : public SpellScriptLoader
};
// 51690 - Killing Spree
-#define KillingSpreeScriptName "spell_rog_killing_spree"
class spell_rog_killing_spree : public SpellScriptLoader
{
public:
- spell_rog_killing_spree() : SpellScriptLoader(KillingSpreeScriptName) { }
+ static char constexpr const ScriptName[] = "spell_rog_killing_spree";
+
+ spell_rog_killing_spree() : SpellScriptLoader(ScriptName) { }
class spell_rog_killing_spree_SpellScript : public SpellScript
{
@@ -370,10 +348,8 @@ class spell_rog_killing_spree : public SpellScriptLoader
void HandleDummy(SpellEffIndex /*effIndex*/)
{
if (Aura* aura = GetCaster()->GetAura(SPELL_ROGUE_KILLING_SPREE))
- {
- if (spell_rog_killing_spree_AuraScript* script = dynamic_cast<spell_rog_killing_spree_AuraScript*>(aura->GetScriptByName(KillingSpreeScriptName)))
+ if (spell_rog_killing_spree_AuraScript* script = aura->GetScript<spell_rog_killing_spree_AuraScript>(ScriptName))
script->AddTarget(GetHitUnit());
- }
}
void Register() override
@@ -394,11 +370,12 @@ class spell_rog_killing_spree : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_ROGUE_KILLING_SPREE_TELEPORT)
- || !sSpellMgr->GetSpellInfo(SPELL_ROGUE_KILLING_SPREE_WEAPON_DMG)
- || !sSpellMgr->GetSpellInfo(SPELL_ROGUE_KILLING_SPREE_DMG_BUFF))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_ROGUE_KILLING_SPREE_TELEPORT,
+ SPELL_ROGUE_KILLING_SPREE_WEAPON_DMG,
+ SPELL_ROGUE_KILLING_SPREE_DMG_BUFF
+ });
}
void HandleApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -449,6 +426,7 @@ class spell_rog_killing_spree : public SpellScriptLoader
return new spell_rog_killing_spree_AuraScript();
}
};
+char constexpr const spell_rog_killing_spree::ScriptName[];
// -31130 - Nerves of Steel
class spell_rog_nerves_of_steel : public SpellScriptLoader
@@ -518,9 +496,7 @@ class spell_rog_preparation : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_ROGUE_GLYPH_OF_PREPARATION))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_ROGUE_GLYPH_OF_PREPARATION });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -566,9 +542,7 @@ class spell_rog_prey_on_the_weak : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_ROGUE_PREY_ON_THE_WEAK))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_ROGUE_PREY_ON_THE_WEAK });
}
void HandleEffectPeriodic(AuraEffect const* /*aurEff*/)
@@ -611,9 +585,7 @@ class spell_rog_quick_recovery : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_ROGUE_QUICK_RECOVERY_ENERGY))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_ROGUE_QUICK_RECOVERY_ENERGY });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -641,11 +613,12 @@ class spell_rog_quick_recovery : public SpellScriptLoader
};
// -1943 - Rupture
-static char const* const RuptureScriptName = "spell_rog_rupture";
class spell_rog_rupture : public SpellScriptLoader
{
public:
- spell_rog_rupture() : SpellScriptLoader(RuptureScriptName) { }
+ static char constexpr const ScriptName[] = "spell_rog_rupture";
+
+ spell_rog_rupture() : SpellScriptLoader(ScriptName) { }
class spell_rog_rupture_AuraScript : public AuraScript
{
@@ -703,6 +676,7 @@ class spell_rog_rupture : public SpellScriptLoader
return new spell_rog_rupture_AuraScript();
}
};
+char constexpr const spell_rog_rupture::ScriptName[];
// 56800 - Glyph of Backstab (dummy)
class spell_rog_glyph_of_backstab : public SpellScriptLoader
@@ -716,9 +690,7 @@ class spell_rog_glyph_of_backstab : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_ROGUE_GLYPH_OF_BACKSTAB_TRIGGER))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_ROGUE_GLYPH_OF_BACKSTAB_TRIGGER });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -759,7 +731,7 @@ class spell_rog_glyph_of_backstab_triggered : public SpellScriptLoader
// search our Rupture aura on target
if (AuraEffect* aurEff = GetHitUnit()->GetAuraEffect(SPELL_AURA_PERIODIC_DAMAGE, SPELLFAMILY_ROGUE, 0x00100000, 0, 0, caster->GetGUID()))
{
- RuptureAuraScript* ruptureAuraScript = dynamic_cast<RuptureAuraScript*>(aurEff->GetBase()->GetScriptByName(RuptureScriptName));
+ RuptureAuraScript* ruptureAuraScript = aurEff->GetBase()->GetScript<RuptureAuraScript>(spell_rog_rupture::ScriptName);
if (!ruptureAuraScript)
return;
@@ -843,9 +815,7 @@ class spell_rog_shiv : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_ROGUE_SHIV_TRIGGERED))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_ROGUE_SHIV_TRIGGERED });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -877,20 +847,13 @@ class spell_rog_tricks_of_the_trade : public SpellScriptLoader
{
PrepareAuraScript(spell_rog_tricks_of_the_trade_AuraScript);
- public:
- spell_rog_tricks_of_the_trade_AuraScript()
- {
- _redirectTarget = nullptr;
- }
-
- private:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_ROGUE_TRICKS_OF_THE_TRADE_DMG_BOOST))
- return false;
- if (!sSpellMgr->GetSpellInfo(SPELL_ROGUE_TRICKS_OF_THE_TRADE_PROC))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_ROGUE_TRICKS_OF_THE_TRADE_DMG_BOOST,
+ SPELL_ROGUE_TRICKS_OF_THE_TRADE_PROC
+ });
}
void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -922,8 +885,7 @@ class spell_rog_tricks_of_the_trade : public SpellScriptLoader
OnEffectProc += AuraEffectProcFn(spell_rog_tricks_of_the_trade_AuraScript::HandleProc, EFFECT_1, SPELL_AURA_DUMMY);
}
- private:
- Unit* _redirectTarget;
+ Unit* _redirectTarget = nullptr;
};
AuraScript* GetAuraScript() const override
@@ -971,10 +933,11 @@ public:
bool Validate(SpellInfo const* spellInfo) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_ROGUE_HONOR_AMONG_THIEVES_2) ||
- !sSpellMgr->GetSpellInfo(spellInfo->Effects[EFFECT_0].TriggerSpell))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_ROGUE_HONOR_AMONG_THIEVES_2,
+ spellInfo->Effects[EFFECT_0].TriggerSpell
+ });
}
bool CheckProc(ProcEventInfo& /*eventInfo*/)
@@ -1023,10 +986,7 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_ROGUE_HONOR_AMONG_THIEVES_PROC))
- return false;
-
- return true;
+ return ValidateSpellInfo({ SPELL_ROGUE_HONOR_AMONG_THIEVES_PROC });
}
void FilterTargets(std::list<WorldObject*>& targets)
@@ -1089,9 +1049,7 @@ class spell_rog_turn_the_tables : public SpellScriptLoader
bool Validate(SpellInfo const* spellInfo) override
{
- if (!sSpellMgr->GetSpellInfo(spellInfo->Effects[EFFECT_0].TriggerSpell))
- return false;
- return true;
+ return ValidateSpellInfo({ spellInfo->Effects[EFFECT_0].TriggerSpell });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/)
diff --git a/src/server/scripts/Spells/spell_shaman.cpp b/src/server/scripts/Spells/spell_shaman.cpp
index 0b93927ecd0..5b89beaee2c 100644
--- a/src/server/scripts/Spells/spell_shaman.cpp
+++ b/src/server/scripts/Spells/spell_shaman.cpp
@@ -21,13 +21,17 @@
* Scriptnames of files in this file should be prefixed with "spell_sha_".
*/
-#include "Player.h"
#include "ScriptMgr.h"
#include "GridNotifiers.h"
-#include "Unit.h"
+#include "Item.h"
+#include "ObjectAccessor.h"
+#include "Map.h"
+#include "Player.h"
+#include "SpellAuraEffects.h"
#include "SpellHistory.h"
+#include "SpellMgr.h"
#include "SpellScript.h"
-#include "SpellAuraEffects.h"
+#include "Unit.h"
enum ShamanSpells
{
@@ -106,9 +110,7 @@ class spell_sha_ancestral_awakening : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_ANCESTRAL_AWAKENING_DUMMY))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHAMAN_ANCESTRAL_AWAKENING_DUMMY });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -146,9 +148,7 @@ class spell_sha_ancestral_awakening_proc : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_ANCESTRAL_AWAKENING_PROC))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHAMAN_ANCESTRAL_AWAKENING_PROC });
}
void FilterTargets(std::list<WorldObject*>& targets)
@@ -167,7 +167,7 @@ class spell_sha_ancestral_awakening_proc : public SpellScriptLoader
{
int32 damage = GetEffectValue();
if (GetHitUnit())
- GetCaster()->CastCustomSpell(GetHitUnit(), SPELL_SHAMAN_ANCESTRAL_AWAKENING_PROC, &damage, NULL, NULL, true);
+ GetCaster()->CastCustomSpell(GetHitUnit(), SPELL_SHAMAN_ANCESTRAL_AWAKENING_PROC, &damage, nullptr, nullptr, true);
}
void Register() override
@@ -277,9 +277,7 @@ class spell_sha_bloodlust : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_SATED))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHAMAN_SATED });
}
void RemoveInvalidTargets(std::list<WorldObject*>& targets)
@@ -371,16 +369,14 @@ class spell_sha_cleansing_totem_pulse : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_CLEANSING_TOTEM_EFFECT))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHAMAN_CLEANSING_TOTEM_EFFECT });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
{
int32 bp = 1;
if (GetCaster() && GetHitUnit() && GetOriginalCaster())
- GetCaster()->CastCustomSpell(GetHitUnit(), SPELL_SHAMAN_CLEANSING_TOTEM_EFFECT, NULL, &bp, NULL, true, NULL, NULL, GetOriginalCaster()->GetGUID());
+ GetCaster()->CastCustomSpell(GetHitUnit(), SPELL_SHAMAN_CLEANSING_TOTEM_EFFECT, nullptr, &bp, nullptr, true, nullptr, nullptr, GetOriginalCaster()->GetGUID());
}
void Register() override
@@ -407,9 +403,7 @@ class spell_sha_earth_shield : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_EARTH_SHIELD_HEAL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHAMAN_EARTH_SHIELD_HEAL });
}
void CalculateAmount(AuraEffect const* /*aurEff*/, int32& amount, bool& /*canBeRecalculated*/)
@@ -451,9 +445,7 @@ class spell_sha_earthbind_totem : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_TOTEM_EARTHBIND_TOTEM) || !sSpellMgr->GetSpellInfo(SPELL_SHAMAN_TOTEM_EARTHEN_POWER))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHAMAN_TOTEM_EARTHBIND_TOTEM, SPELL_SHAMAN_TOTEM_EARTHEN_POWER });
}
void HandleEffectPeriodic(AuraEffect const* /*aurEff*/)
@@ -463,7 +455,7 @@ class spell_sha_earthbind_totem : public SpellScriptLoader
if (Player* owner = GetCaster()->GetCharmerOrOwnerPlayerOrPlayerItself())
if (AuraEffect* aur = owner->GetDummyAuraEffect(SPELLFAMILY_SHAMAN, 2289, 0))
if (roll_chance_i(aur->GetBaseAmount()))
- GetTarget()->CastSpell((Unit*)NULL, SPELL_SHAMAN_TOTEM_EARTHEN_POWER, true);
+ GetTarget()->CastSpell((Unit*)nullptr, SPELL_SHAMAN_TOTEM_EARTHEN_POWER, true);
}
void Apply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -550,9 +542,7 @@ class spell_sha_earthliving_weapon : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_BLESSING_OF_THE_ETERNALS_R1))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHAMAN_BLESSING_OF_THE_ETERNALS_R1 });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -648,11 +638,7 @@ class spell_sha_flame_shock : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_LAVA_FLOWS_R1))
- return false;
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_LAVA_FLOWS_TRIGGERED_R1))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHAMAN_LAVA_FLOWS_R1, SPELL_SHAMAN_LAVA_FLOWS_TRIGGERED_R1 });
}
void HandleDispel(DispelInfo* /*dispelInfo*/)
@@ -694,9 +680,7 @@ class spell_sha_flametongue_weapon : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_FLAMETONGUE_ATTACK))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHAMAN_FLAMETONGUE_ATTACK });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -778,9 +762,7 @@ class spell_sha_frozen_power : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_FREEZE))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHAMAN_FREEZE });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -864,9 +846,7 @@ class spell_sha_glyph_of_healing_wave : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_GLYPH_OF_HEALING_WAVE_HEAL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHAMAN_GLYPH_OF_HEALING_WAVE_HEAL });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -908,9 +888,7 @@ class spell_sha_glyph_of_totem_of_wrath : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_TOTEM_OF_WRATH_SPELL_POWER))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHAMAN_TOTEM_OF_WRATH_SPELL_POWER });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -969,9 +947,7 @@ class spell_sha_healing_stream_totem : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_GLYPH_OF_HEALING_STREAM_TOTEM) || !sSpellMgr->GetSpellInfo(SPELL_SHAMAN_TOTEM_HEALING_STREAM_HEAL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHAMAN_GLYPH_OF_HEALING_STREAM_TOTEM, SPELL_SHAMAN_TOTEM_HEALING_STREAM_HEAL });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -1027,9 +1003,7 @@ class spell_sha_heroism : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_EXHAUSTION))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHAMAN_EXHAUSTION });
}
void RemoveInvalidTargets(std::list<WorldObject*>& targets)
@@ -1129,10 +1103,11 @@ class spell_sha_lightning_overload : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_LIGHTNING_BOLT_OVERLOAD_R1) ||
- !sSpellMgr->GetSpellInfo(SPELL_SHAMAN_CHAIN_LIGHTNING_OVERLOAD_R1))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_SHAMAN_LIGHTNING_BOLT_OVERLOAD_R1,
+ SPELL_SHAMAN_CHAIN_LIGHTNING_OVERLOAD_R1
+ });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1188,9 +1163,7 @@ class spell_sha_item_lightning_shield : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_ITEM_LIGHTNING_SHIELD))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHAMAN_ITEM_LIGHTNING_SHIELD });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1223,9 +1196,7 @@ class spell_sha_item_lightning_shield_trigger : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_ITEM_LIGHTNING_SHIELD_DAMAGE))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHAMAN_ITEM_LIGHTNING_SHIELD_DAMAGE });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/)
@@ -1258,9 +1229,7 @@ class spell_sha_item_mana_surge : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_ITEM_MANA_SURGE))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHAMAN_ITEM_MANA_SURGE });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1300,10 +1269,11 @@ class spell_sha_item_t6_trinket : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_ENERGY_SURGE) ||
- !sSpellMgr->GetSpellInfo(SPELL_SHAMAN_POWER_SURGE))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_SHAMAN_ENERGY_SURGE,
+ SPELL_SHAMAN_POWER_SURGE
+ });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1365,9 +1335,7 @@ class spell_sha_item_t10_elemental_2p_bonus : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_ELEMENTAL_MASTERY))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHAMAN_ELEMENTAL_MASTERY });
}
void HandleEffectProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/)
@@ -1446,9 +1414,7 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_LIGHTNING_SHIELD_R1))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHAMAN_LIGHTNING_SHIELD_R1 });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -1491,10 +1457,11 @@ class spell_sha_maelstrom_weapon : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_MAELSTROM_POWER) ||
- !sSpellMgr->GetSpellInfo(SPELL_SHAMAN_T10_ENHANCEMENT_4P_BONUS))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_SHAMAN_MAELSTROM_POWER,
+ SPELL_SHAMAN_T10_ENHANCEMENT_4P_BONUS
+ });
}
void HandleBonus(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -1534,9 +1501,7 @@ class spell_sha_mana_spring_totem : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_MANA_SPRING_TOTEM_ENERGIZE))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHAMAN_MANA_SPRING_TOTEM_ENERGIZE });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -1573,9 +1538,7 @@ class spell_sha_mana_tide_totem : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_GLYPH_OF_MANA_TIDE) || !sSpellMgr->GetSpellInfo(SPELL_SHAMAN_MANA_TIDE_TOTEM))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHAMAN_GLYPH_OF_MANA_TIDE, SPELL_SHAMAN_MANA_TIDE_TOTEM });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -1623,9 +1586,7 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_NATURE_GUARDIAN))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHAMAN_NATURE_GUARDIAN });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1676,9 +1637,7 @@ class spell_sha_sentry_totem : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_BIND_SIGHT))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHAMAN_BIND_SIGHT });
}
void AfterApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -1721,9 +1680,7 @@ class spell_sha_shamanistic_rage : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_SHAMANISTIC_RAGE_PROC))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHAMAN_SHAMANISTIC_RAGE_PROC });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/)
@@ -1759,9 +1716,7 @@ class spell_sha_spirit_hunt : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_SPIRIT_HUNT_HEAL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHAMAN_SPIRIT_HUNT_HEAL });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1805,9 +1760,7 @@ class spell_sha_static_shock : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_LIGHTNING_SHIELD_DAMAGE_R1))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHAMAN_LIGHTNING_SHIELD_DAMAGE_R1 });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1850,9 +1803,7 @@ class spell_sha_tidal_force_dummy : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_TIDAL_FORCE_CRIT))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHAMAN_TIDAL_FORCE_CRIT });
}
void HandleProc(AuraEffect const* /*aurEff*/, ProcEventInfo& eventInfo)
@@ -1914,9 +1865,7 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_TOTEMIC_MASTERY))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHAMAN_TOTEMIC_MASTERY });
}
void HandleDummy(AuraEffect const* aurEff)
@@ -1954,12 +1903,13 @@ class spell_sha_t3_6p_bonus : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_TOTEMIC_POWER_ARMOR) ||
- !sSpellMgr->GetSpellInfo(SPELL_SHAMAN_TOTEMIC_POWER_ATTACK_POWER) ||
- !sSpellMgr->GetSpellInfo(SPELL_SHAMAN_TOTEMIC_POWER_SPELL_POWER) ||
- !sSpellMgr->GetSpellInfo(SPELL_SHAMAN_TOTEMIC_POWER_MP5))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_SHAMAN_TOTEMIC_POWER_ARMOR,
+ SPELL_SHAMAN_TOTEMIC_POWER_ATTACK_POWER,
+ SPELL_SHAMAN_TOTEMIC_POWER_SPELL_POWER,
+ SPELL_SHAMAN_TOTEMIC_POWER_MP5
+ });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -2020,9 +1970,7 @@ class spell_sha_t8_elemental_4p_bonus : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_ELECTRIFIED))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHAMAN_ELECTRIFIED });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -2069,9 +2017,7 @@ class spell_sha_t9_elemental_4p_bonus : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_LAVA_BURST_BONUS_DAMAGE))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHAMAN_LAVA_BURST_BONUS_DAMAGE });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -2163,9 +2109,7 @@ class spell_sha_t10_restoration_4p_bonus : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_CHAINED_HEAL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHAMAN_CHAINED_HEAL });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -2212,11 +2156,12 @@ class spell_sha_windfury_weapon : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_WINDFURY_WEAPON_R1) ||
- !sSpellMgr->GetSpellInfo(SPELL_SHAMAN_WINDFURY_ATTACK_MH) ||
- !sSpellMgr->GetSpellInfo(SPELL_SHAMAN_WINDFURY_ATTACK_OH))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_SHAMAN_WINDFURY_WEAPON_R1,
+ SPELL_SHAMAN_WINDFURY_ATTACK_MH,
+ SPELL_SHAMAN_WINDFURY_ATTACK_OH
+ });
}
bool CheckProc(ProcEventInfo& eventInfo)
diff --git a/src/server/scripts/Spells/spell_warlock.cpp b/src/server/scripts/Spells/spell_warlock.cpp
index 1f8954d0da7..1b602210889 100644
--- a/src/server/scripts/Spells/spell_warlock.cpp
+++ b/src/server/scripts/Spells/spell_warlock.cpp
@@ -21,10 +21,16 @@
* Scriptnames of files in this file should be prefixed with "spell_warl_".
*/
-#include "Player.h"
#include "ScriptMgr.h"
-#include "SpellScript.h"
+#include "Creature.h"
+#include "GameObject.h"
+#include "Log.h"
+#include "ObjectMgr.h"
+#include "Player.h"
+#include "Random.h"
#include "SpellAuraEffects.h"
+#include "SpellMgr.h"
+#include "SpellScript.h"
enum WarlockSpells
{
@@ -152,9 +158,7 @@ class spell_warl_create_healthstone : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_IMPROVED_HEALTHSTONE_R1) || !sSpellMgr->GetSpellInfo(SPELL_WARLOCK_IMPROVED_HEALTHSTONE_R2))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_WARLOCK_IMPROVED_HEALTHSTONE_R1, SPELL_WARLOCK_IMPROVED_HEALTHSTONE_R2 });
}
SpellCastResult CheckCast()
@@ -163,7 +167,7 @@ class spell_warl_create_healthstone : public SpellScriptLoader
{
uint8 spellRank = GetSpellInfo()->GetRank();
ItemPosCountVec dest;
- InventoryResult msg = caster->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, iTypes[spellRank - 1][0], 1, NULL);
+ InventoryResult msg = caster->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, iTypes[spellRank - 1][0], 1, nullptr);
if (msg != EQUIP_ERR_OK)
return SPELL_FAILED_TOO_MANY_OF_ITEM;
}
@@ -233,9 +237,7 @@ class spell_warl_curse_of_doom : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_CURSE_OF_DOOM_EFFECT))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_WARLOCK_CURSE_OF_DOOM_EFFECT });
}
bool Load() override
@@ -253,7 +255,7 @@ class spell_warl_curse_of_doom : public SpellScriptLoader
return;
if (GetCaster()->ToPlayer()->isHonorOrXPTarget(GetTarget()))
- GetCaster()->CastSpell(GetTarget(), SPELL_WARLOCK_CURSE_OF_DOOM_EFFECT, true, NULL, aurEff);
+ GetCaster()->CastSpell(GetTarget(), SPELL_WARLOCK_CURSE_OF_DOOM_EFFECT, true, nullptr, aurEff);
}
void Register() override
@@ -396,9 +398,14 @@ class spell_warl_demonic_empowerment : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_DEMONIC_EMPOWERMENT_SUCCUBUS) || !sSpellMgr->GetSpellInfo(SPELL_WARLOCK_DEMONIC_EMPOWERMENT_VOIDWALKER) || !sSpellMgr->GetSpellInfo(SPELL_WARLOCK_DEMONIC_EMPOWERMENT_FELGUARD) || !sSpellMgr->GetSpellInfo(SPELL_WARLOCK_DEMONIC_EMPOWERMENT_FELHUNTER) || !sSpellMgr->GetSpellInfo(SPELL_WARLOCK_DEMONIC_EMPOWERMENT_IMP))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_WARLOCK_DEMONIC_EMPOWERMENT_SUCCUBUS,
+ SPELL_WARLOCK_DEMONIC_EMPOWERMENT_VOIDWALKER,
+ SPELL_WARLOCK_DEMONIC_EMPOWERMENT_FELGUARD,
+ SPELL_WARLOCK_DEMONIC_EMPOWERMENT_FELHUNTER,
+ SPELL_WARLOCK_DEMONIC_EMPOWERMENT_IMP
+ });
}
void HandleScriptEffect(SpellEffIndex /*effIndex*/)
@@ -418,7 +425,7 @@ class spell_warl_demonic_empowerment : public SpellScriptLoader
{
SpellInfo const* spellInfo = sSpellMgr->AssertSpellInfo(SPELL_WARLOCK_DEMONIC_EMPOWERMENT_VOIDWALKER);
int32 hp = int32(targetCreature->CountPctFromMaxHealth(GetCaster()->CalculateSpellDamage(targetCreature, spellInfo, 0)));
- targetCreature->CastCustomSpell(targetCreature, SPELL_WARLOCK_DEMONIC_EMPOWERMENT_VOIDWALKER, &hp, NULL, NULL, true);
+ targetCreature->CastCustomSpell(targetCreature, SPELL_WARLOCK_DEMONIC_EMPOWERMENT_VOIDWALKER, &hp, nullptr, nullptr, true);
//unitTarget->CastSpell(unitTarget, 54441, true);
break;
}
@@ -462,10 +469,11 @@ class spell_warl_drain_soul : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_IMPROVED_DRAIN_SOUL_R1) ||
- !sSpellMgr->GetSpellInfo(SPELL_WARLOCK_IMPROVED_DRAIN_SOUL_PROC))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_WARLOCK_IMPROVED_DRAIN_SOUL_R1,
+ SPELL_WARLOCK_IMPROVED_DRAIN_SOUL_PROC
+ });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -543,9 +551,7 @@ class spell_warl_fel_synergy : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_FEL_SYNERGY_HEAL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_WARLOCK_FEL_SYNERGY_HEAL });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -591,9 +597,7 @@ class spell_warl_glyph_of_corruption_nightfall : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_SHADOW_TRANCE))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_WARLOCK_SHADOW_TRANCE });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -627,9 +631,7 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_GLYPH_OF_LIFE_TAP_TRIGGERED))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_WARLOCK_GLYPH_OF_LIFE_TAP_TRIGGERED });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -663,15 +665,13 @@ class spell_warl_glyph_of_shadowflame : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_GLYPH_OF_SHADOWFLAME))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_WARLOCK_GLYPH_OF_SHADOWFLAME });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
{
PreventDefaultAction();
- GetTarget()->CastSpell(eventInfo.GetProcTarget(), SPELL_WARLOCK_GLYPH_OF_SHADOWFLAME, true, NULL, aurEff);
+ GetTarget()->CastSpell(eventInfo.GetProcTarget(), SPELL_WARLOCK_GLYPH_OF_SHADOWFLAME, true, nullptr, aurEff);
}
void Register() override
@@ -715,9 +715,7 @@ class spell_warl_haunt : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_HAUNT_HEAL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_WARLOCK_HAUNT_HEAL });
}
void HandleRemove(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/)
@@ -725,7 +723,7 @@ class spell_warl_haunt : public SpellScriptLoader
if (Unit* caster = GetCaster())
{
int32 amount = aurEff->GetAmount();
- GetTarget()->CastCustomSpell(caster, SPELL_WARLOCK_HAUNT_HEAL, &amount, NULL, NULL, true, NULL, aurEff, GetCasterGUID());
+ GetTarget()->CastCustomSpell(caster, SPELL_WARLOCK_HAUNT_HEAL, &amount, nullptr, nullptr, true, nullptr, aurEff, GetCasterGUID());
}
}
@@ -806,9 +804,7 @@ class spell_warl_life_tap : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_LIFE_TAP_ENERGIZE) || !sSpellMgr->GetSpellInfo(SPELL_WARLOCK_LIFE_TAP_ENERGIZE_2))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_WARLOCK_LIFE_TAP_ENERGIZE, SPELL_WARLOCK_LIFE_TAP_ENERGIZE_2 });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -826,7 +822,7 @@ class spell_warl_life_tap : public SpellScriptLoader
if (AuraEffect const* aurEff = caster->GetDummyAuraEffect(SPELLFAMILY_WARLOCK, WARLOCK_ICON_ID_IMPROVED_LIFE_TAP, 0))
AddPct(mana, aurEff->GetAmount());
- caster->CastCustomSpell(target, SPELL_WARLOCK_LIFE_TAP_ENERGIZE, &mana, NULL, NULL, false);
+ caster->CastCustomSpell(target, SPELL_WARLOCK_LIFE_TAP_ENERGIZE, &mana, nullptr, nullptr, false);
// Mana Feed
int32 manaFeedVal = 0;
@@ -836,7 +832,7 @@ class spell_warl_life_tap : public SpellScriptLoader
if (manaFeedVal > 0)
{
ApplyPct(manaFeedVal, mana);
- caster->CastCustomSpell(caster, SPELL_WARLOCK_LIFE_TAP_ENERGIZE_2, &manaFeedVal, NULL, NULL, true, NULL);
+ caster->CastCustomSpell(caster, SPELL_WARLOCK_LIFE_TAP_ENERGIZE_2, &manaFeedVal, nullptr, nullptr, true, nullptr);
}
}
}
@@ -873,14 +869,15 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_NETHER_PROTECTION_HOLY) ||
- !sSpellMgr->GetSpellInfo(SPELL_WARLOCK_NETHER_PROTECTION_FIRE) ||
- !sSpellMgr->GetSpellInfo(SPELL_WARLOCK_NETHER_PROTECTION_FROST) ||
- !sSpellMgr->GetSpellInfo(SPELL_WARLOCK_NETHER_PROTECTION_ARCANE) ||
- !sSpellMgr->GetSpellInfo(SPELL_WARLOCK_NETHER_PROTECTION_SHADOW) ||
- !sSpellMgr->GetSpellInfo(SPELL_WARLOCK_NETHER_PROTECTION_NATURE))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_WARLOCK_NETHER_PROTECTION_HOLY,
+ SPELL_WARLOCK_NETHER_PROTECTION_FIRE,
+ SPELL_WARLOCK_NETHER_PROTECTION_NATURE,
+ SPELL_WARLOCK_NETHER_PROTECTION_FROST,
+ SPELL_WARLOCK_NETHER_PROTECTION_SHADOW,
+ SPELL_WARLOCK_NETHER_PROTECTION_ARCANE
+ });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -962,9 +959,7 @@ class spell_warl_demonic_pact : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_DEMONIC_PACT_PROC))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_WARLOCK_DEMONIC_PACT_PROC });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -1039,9 +1034,7 @@ class spell_warl_seduction : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_GLYPH_OF_SUCCUBUS))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_WARLOCK_GLYPH_OF_SUCCUBUS });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -1108,9 +1101,7 @@ class spell_warl_seed_of_corruption_dummy : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_SEED_OF_CORRUPTION_DAMAGE_R1))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_WARLOCK_SEED_OF_CORRUPTION_DAMAGE_R1 });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1168,9 +1159,7 @@ class spell_warl_seed_of_corruption_generic : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_SEED_OF_CORRUPTION_GENERIC))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_WARLOCK_SEED_OF_CORRUPTION_GENERIC });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1257,11 +1246,11 @@ class spell_warl_siphon_life : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_SIPHON_LIFE_HEAL))
- return false;
- if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_GLYPH_OF_SIPHON_LIFE))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_WARLOCK_SIPHON_LIFE_HEAL,
+ SPELL_WARLOCK_GLYPH_OF_SIPHON_LIFE
+ });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -1310,15 +1299,16 @@ class spell_warl_soul_leech : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_SOUL_LEECH_HEAL) ||
- !sSpellMgr->GetSpellInfo(SPELL_WARLOCK_IMP_SOUL_LEECH_R1) ||
- !sSpellMgr->GetSpellInfo(SPELL_WARLOCK_SOUL_LEECH_PET_MANA_1) ||
- !sSpellMgr->GetSpellInfo(SPELL_WARLOCK_SOUL_LEECH_PET_MANA_2) ||
- !sSpellMgr->GetSpellInfo(SPELL_WARLOCK_SOUL_LEECH_CASTER_MANA_1) ||
- !sSpellMgr->GetSpellInfo(SPELL_WARLOCK_SOUL_LEECH_CASTER_MANA_2) ||
- !sSpellMgr->GetSpellInfo(SPELL_REPLENISHMENT))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_WARLOCK_SOUL_LEECH_HEAL,
+ SPELL_WARLOCK_IMP_SOUL_LEECH_R1,
+ SPELL_WARLOCK_SOUL_LEECH_PET_MANA_1,
+ SPELL_WARLOCK_SOUL_LEECH_PET_MANA_2,
+ SPELL_WARLOCK_SOUL_LEECH_CASTER_MANA_1,
+ SPELL_WARLOCK_SOUL_LEECH_CASTER_MANA_2,
+ SPELL_REPLENISHMENT
+ });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1375,9 +1365,7 @@ class spell_warl_soulshatter : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_SOULSHATTER))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_WARLOCK_SOULSHATTER });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -1417,9 +1405,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)
@@ -1453,9 +1439,7 @@ class spell_warl_unstable_affliction : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_UNSTABLE_AFFLICTION_DISPEL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_WARLOCK_UNSTABLE_AFFLICTION_DISPEL });
}
void HandleDispel(DispelInfo* dispelInfo)
@@ -1465,7 +1449,7 @@ class spell_warl_unstable_affliction : public SpellScriptLoader
{
int32 damage = aurEff->GetAmount() * 9;
// backfire damage and silence
- caster->CastCustomSpell(dispelInfo->GetDispeller(), SPELL_WARLOCK_UNSTABLE_AFFLICTION_DISPEL, &damage, NULL, NULL, true, NULL, aurEff);
+ caster->CastCustomSpell(dispelInfo->GetDispeller(), SPELL_WARLOCK_UNSTABLE_AFFLICTION_DISPEL, &damage, nullptr, nullptr, true, nullptr, aurEff);
}
}
diff --git a/src/server/scripts/Spells/spell_warrior.cpp b/src/server/scripts/Spells/spell_warrior.cpp
index 7ee2833e30f..70a4946b424 100644
--- a/src/server/scripts/Spells/spell_warrior.cpp
+++ b/src/server/scripts/Spells/spell_warrior.cpp
@@ -21,11 +21,13 @@
* Scriptnames of files in this file should be prefixed with "spell_warr_".
*/
-#include "Player.h"
#include "ScriptMgr.h"
+#include "Player.h"
+#include "Random.h"
+#include "SpellAuraEffects.h"
#include "SpellHistory.h"
+#include "SpellMgr.h"
#include "SpellScript.h"
-#include "SpellAuraEffects.h"
enum WarriorSpells
{
@@ -109,7 +111,7 @@ class spell_warr_bloodthirst : public SpellScriptLoader
void HandleDummy(SpellEffIndex /*effIndex*/)
{
int32 damage = GetEffectValue();
- GetCaster()->CastCustomSpell(GetCaster(), SPELL_WARRIOR_BLOODTHIRST, &damage, NULL, NULL, true, NULL);
+ GetCaster()->CastCustomSpell(GetCaster(), SPELL_WARRIOR_BLOODTHIRST, &damage, nullptr, nullptr, true, nullptr);
}
void Register() override
@@ -165,16 +167,14 @@ class spell_warr_charge : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_JUGGERNAUT_CRIT_BONUS_TALENT) || !sSpellMgr->GetSpellInfo(SPELL_WARRIOR_JUGGERNAUT_CRIT_BONUS_BUFF) || !sSpellMgr->GetSpellInfo(SPELL_WARRIOR_CHARGE))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_WARRIOR_JUGGERNAUT_CRIT_BONUS_TALENT, SPELL_WARRIOR_JUGGERNAUT_CRIT_BONUS_BUFF, SPELL_WARRIOR_CHARGE });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
{
int32 chargeBasePoints0 = GetEffectValue();
Unit* caster = GetCaster();
- caster->CastCustomSpell(caster, SPELL_WARRIOR_CHARGE, &chargeBasePoints0, NULL, NULL, true);
+ caster->CastCustomSpell(caster, SPELL_WARRIOR_CHARGE, &chargeBasePoints0, nullptr, nullptr, true);
// Juggernaut crit bonus
if (caster->HasAura(SPELL_WARRIOR_JUGGERNAUT_CRIT_BONUS_TALENT))
@@ -232,9 +232,7 @@ class spell_warr_damage_shield : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_DAMAGE_SHIELD_DAMAGE))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_WARRIOR_DAMAGE_SHIELD_DAMAGE });
}
void OnProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -243,7 +241,7 @@ class spell_warr_damage_shield : public SpellScriptLoader
// % of amount blocked
int32 damage = CalculatePct(int32(GetTarget()->GetShieldBlockValue()), aurEff->GetAmount());
- GetTarget()->CastCustomSpell(SPELL_WARRIOR_DAMAGE_SHIELD_DAMAGE, SPELLVALUE_BASE_POINT0, damage, eventInfo.GetProcTarget(), true, NULL, aurEff);
+ GetTarget()->CastCustomSpell(SPELL_WARRIOR_DAMAGE_SHIELD_DAMAGE, SPELLVALUE_BASE_POINT0, damage, eventInfo.GetProcTarget(), true, nullptr, aurEff);
}
void Register() override
@@ -270,12 +268,13 @@ class spell_warr_deep_wounds : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_DEEP_WOUNDS_RANK_1) ||
- !sSpellMgr->GetSpellInfo(SPELL_WARRIOR_DEEP_WOUNDS_RANK_2) ||
- !sSpellMgr->GetSpellInfo(SPELL_WARRIOR_DEEP_WOUNDS_RANK_3) ||
- !sSpellMgr->GetSpellInfo(SPELL_WARRIOR_DEEP_WOUNDS_PERIODIC))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_WARRIOR_DEEP_WOUNDS_RANK_1,
+ SPELL_WARRIOR_DEEP_WOUNDS_RANK_2,
+ SPELL_WARRIOR_DEEP_WOUNDS_RANK_3,
+ SPELL_WARRIOR_DEEP_WOUNDS_PERIODIC
+ });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -319,9 +318,7 @@ class spell_warr_deep_wounds_aura : public SpellScriptLoader
bool Validate(SpellInfo const* spellInfo) override
{
- if (!sSpellMgr->GetSpellInfo(spellInfo->Effects[EFFECT_0].TriggerSpell))
- return false;
- return true;
+ return ValidateSpellInfo({ spellInfo->Effects[EFFECT_0].TriggerSpell });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -373,9 +370,7 @@ class spell_warr_execute : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_EXECUTE) || !sSpellMgr->GetSpellInfo(SPELL_WARRIOR_GLYPH_OF_EXECUTION))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_WARRIOR_EXECUTE, SPELL_WARRIOR_GLYPH_OF_EXECUTION });
}
void HandleEffect(SpellEffIndex effIndex)
@@ -401,7 +396,7 @@ class spell_warr_execute : public SpellScriptLoader
int32 bp = GetEffectValue() + int32(rageUsed * spellInfo->Effects[effIndex].DamageMultiplier + caster->GetTotalAttackPowerValue(BASE_ATTACK) * 0.2f);
- caster->CastCustomSpell(target, SPELL_WARRIOR_EXECUTE, &bp, NULL, NULL, true, NULL, NULL, GetOriginalCaster()->GetGUID());
+ caster->CastCustomSpell(target, SPELL_WARRIOR_EXECUTE, &bp, nullptr, nullptr, true, nullptr, nullptr, GetOriginalCaster()->GetGUID());
}
}
@@ -430,12 +425,13 @@ class spell_warr_extra_proc : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_T10_MELEE_4P_BONUS) ||
- !sSpellMgr->GetSpellInfo(SPELL_WARRIOR_EXTRA_CHARGE) ||
- !sSpellMgr->GetSpellInfo(SPELL_WARRIOR_SLAM_GCD_REDUCED) ||
- !sSpellMgr->GetSpellInfo(SPELL_WARRIOR_EXECUTE_GCD_REDUCED))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_WARRIOR_T10_MELEE_4P_BONUS,
+ SPELL_WARRIOR_EXTRA_CHARGE,
+ SPELL_WARRIOR_SLAM_GCD_REDUCED,
+ SPELL_WARRIOR_EXECUTE_GCD_REDUCED
+ });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/)
@@ -481,9 +477,7 @@ class spell_warr_glyph_of_blocking : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_GLYPH_OF_BLOCKING))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_WARRIOR_GLYPH_OF_BLOCKING });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -553,9 +547,7 @@ class spell_warr_improved_spell_reflection : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_IMPROVED_SPELL_REFLECTION_TRIGGER))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_WARRIOR_IMPROVED_SPELL_REFLECTION_TRIGGER });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -617,9 +609,7 @@ class spell_warr_item_t10_prot_4p_bonus : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_STOICISM))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_WARRIOR_STOICISM });
}
void HandleProc(ProcEventInfo& eventInfo)
@@ -655,16 +645,14 @@ class spell_warr_last_stand : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_LAST_STAND_TRIGGERED))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_WARRIOR_LAST_STAND_TRIGGERED });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
{
Unit* caster = GetCaster();
int32 healthModSpellBasePoints0 = int32(caster->CountPctFromMaxHealth(GetEffectValue()));
- caster->CastCustomSpell(caster, SPELL_WARRIOR_LAST_STAND_TRIGGERED, &healthModSpellBasePoints0, NULL, NULL, true, NULL);
+ caster->CastCustomSpell(caster, SPELL_WARRIOR_LAST_STAND_TRIGGERED, &healthModSpellBasePoints0, nullptr, nullptr, true, nullptr);
}
void Register() override
@@ -775,9 +763,7 @@ class spell_warr_retaliation : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_RETALIATION_DAMAGE))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_WARRIOR_RETALIATION_DAMAGE });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -789,7 +775,7 @@ class spell_warr_retaliation : public SpellScriptLoader
void HandleEffectProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
{
PreventDefaultAction();
- GetTarget()->CastSpell(eventInfo.GetProcTarget(), SPELL_WARRIOR_RETALIATION_DAMAGE, true, NULL, aurEff);
+ GetTarget()->CastSpell(eventInfo.GetProcTarget(), SPELL_WARRIOR_RETALIATION_DAMAGE, true, nullptr, aurEff);
}
void Register() override
@@ -817,10 +803,11 @@ class spell_warr_second_wind : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_SECOND_WIND_TRIGGER_1) ||
- !sSpellMgr->GetSpellInfo(SPELL_WARRIOR_SECOND_WIND_TRIGGER_2))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_WARRIOR_SECOND_WIND_TRIGGER_1,
+ SPELL_WARRIOR_SECOND_WIND_TRIGGER_2
+ });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -898,9 +885,7 @@ class spell_warr_slam : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_SLAM))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_WARRIOR_SLAM });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -931,18 +916,9 @@ class spell_warr_sweeping_strikes : public SpellScriptLoader
{
PrepareAuraScript(spell_warr_sweeping_strikes_AuraScript);
- public:
- spell_warr_sweeping_strikes_AuraScript()
- {
- _procTarget = nullptr;
- }
-
- private:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_SWEEPING_STRIKES_EXTRA_ATTACK_1) || !sSpellMgr->GetSpellInfo(SPELL_WARRIOR_SWEEPING_STRIKES_EXTRA_ATTACK_2))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_WARRIOR_SWEEPING_STRIKES_EXTRA_ATTACK_1, SPELL_WARRIOR_SWEEPING_STRIKES_EXTRA_ATTACK_2 });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -976,8 +952,7 @@ class spell_warr_sweeping_strikes : public SpellScriptLoader
OnEffectProc += AuraEffectProcFn(spell_warr_sweeping_strikes_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
}
- private:
- Unit* _procTarget;
+ Unit* _procTarget = nullptr;
};
AuraScript* GetAuraScript() const override
@@ -1063,24 +1038,15 @@ class spell_warr_vigilance : public SpellScriptLoader
{
PrepareAuraScript(spell_warr_vigilance_AuraScript);
- public:
- spell_warr_vigilance_AuraScript()
- {
- _procTarget = nullptr;
- }
-
- private:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_GLYPH_OF_VIGILANCE))
- return false;
- if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_VIGILANCE_PROC))
- return false;
- if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_VIGILANCE_REDIRECT_THREAT))
- return false;
- if (!sSpellMgr->GetSpellInfo(SPELL_GEN_DAMAGE_REDUCTION_AURA))
- return false;
- return true;
+ return ValidateSpellInfo(
+ {
+ SPELL_WARRIOR_GLYPH_OF_VIGILANCE,
+ SPELL_WARRIOR_VIGILANCE_PROC,
+ SPELL_WARRIOR_VIGILANCE_REDIRECT_THREAT,
+ SPELL_GEN_DAMAGE_REDUCTION_AURA
+ });
}
void HandleApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -1126,7 +1092,7 @@ class spell_warr_vigilance : public SpellScriptLoader
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/)
{
PreventDefaultAction();
- GetTarget()->CastSpell(_procTarget, SPELL_WARRIOR_VIGILANCE_PROC, true, NULL, aurEff);
+ GetTarget()->CastSpell(_procTarget, SPELL_WARRIOR_VIGILANCE_PROC, true, nullptr, aurEff);
}
void Register() override
@@ -1138,8 +1104,7 @@ class spell_warr_vigilance : public SpellScriptLoader
OnEffectProc += AuraEffectProcFn(spell_warr_vigilance_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
}
- private:
- Unit* _procTarget;
+ Unit* _procTarget = nullptr;
};
AuraScript* GetAuraScript() const override