feat(Core/Spell): Implement ValidateSpellInfo (#4323)

* feat(Core/Spell): Implement ValidateSpellInfo

* cherry-pick from 2b5d7eef3a & a0a158b5b8

* sLog->outError

* cleanup

* convert to ValidateSpellInfo

* fix error log

* improve sLog->outError

* remove non related spells stuff from Validate

* remove the last

* build

* build x2
This commit is contained in:
Kitzunu
2021-02-01 18:57:25 +01:00
committed by GitHub
parent b68f469c73
commit 0d52b4ca4a
45 changed files with 544 additions and 841 deletions

View File

@@ -1552,13 +1552,14 @@ public:
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)
@@ -1709,9 +1710,7 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_CANNIBALIZE_TRIGGERED))
return false;
return true;
return ValidateSpellInfo({ SPELL_CANNIBALIZE_TRIGGERED });
}
SpellCastResult CheckIfCorpseNear()
@@ -1764,10 +1763,7 @@ public:
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)
@@ -1813,9 +1809,7 @@ public:
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)
@@ -1911,9 +1905,7 @@ public:
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)
@@ -1962,14 +1954,15 @@ public:
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)
@@ -2045,10 +2038,7 @@ public:
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*/)
@@ -2159,13 +2149,14 @@ public:
PrepareSpellScript(spell_gen_elune_candle_SpellScript);
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*/)
@@ -2274,9 +2265,7 @@ public:
bool Validate(SpellInfo const* /*spellEntry*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WILL_OF_THE_FORSAKEN_COOLDOWN_TRIGGER) || !sSpellMgr->GetSpellInfo(SPELL_WILL_OF_THE_FORSAKEN_COOLDOWN_TRIGGER_WOTF))
return false;
return true;
return ValidateSpellInfo({ SPELL_WILL_OF_THE_FORSAKEN_COOLDOWN_TRIGGER, SPELL_WILL_OF_THE_FORSAKEN_COOLDOWN_TRIGGER_WOTF });
}
void HandleScript()
@@ -2344,9 +2333,7 @@ public:
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*/)
@@ -2400,9 +2387,7 @@ public:
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*/)
@@ -2552,14 +2537,15 @@ public:
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
});
}
bool Load() override
@@ -2679,9 +2665,7 @@ public:
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
@@ -3034,9 +3018,7 @@ public:
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*/)
@@ -3087,10 +3069,7 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PERSISTANT_SHIELD_TRIGGERED) ||
!sSpellMgr->GetSpellInfo(SPELL_PERSISTANT_SHIELD))
return false;
return true;
return ValidateSpellInfo({ SPELL_PERSISTANT_SHIELD_TRIGGERED, SPELL_PERSISTANT_SHIELD });
}
void HandleDummy(SpellEffIndex /* effIndex */)
@@ -3170,11 +3149,12 @@ public:
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 */)
@@ -3218,10 +3198,7 @@ public:
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 */)
@@ -3266,17 +3243,21 @@ public:
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*/)
@@ -3605,13 +3586,12 @@ public:
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*/)
@@ -3718,10 +3698,7 @@ public:
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*/)
@@ -3769,9 +3746,7 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_LANCE_EQUIPPED))
return false;
return true;
return ValidateSpellInfo({ SPELL_LANCE_EQUIPPED });
}
SpellCastResult CheckIfLanceEquiped()
@@ -4209,9 +4184,7 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_RECENTLY_BANDAGED))
return false;
return true;
return ValidateSpellInfo({ SPELL_RECENTLY_BANDAGED });
}
SpellCastResult CheckCast()
@@ -4302,9 +4275,7 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_GEN_BLADE_WARDING_TRIGGERED))
return false;
return true;
return ValidateSpellInfo({ SPELL_GEN_BLADE_WARDING_TRIGGERED });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -4358,9 +4329,7 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(_spellId))
return false;
return true;
return ValidateSpellInfo({ _spellId });
}
void AfterRemove(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/)
@@ -4411,9 +4380,7 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(_spellId))
return false;
return true;
return ValidateSpellInfo({ _spellId });
}
void AfterApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -4950,9 +4917,7 @@ public:
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*/)