mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-14 17:49:10 +00:00
feat(Core/Spell): Implement ValidateSpellInfo (#4323)
* feat(Core/Spell): Implement ValidateSpellInfo * cherry-pick from2b5d7eef3a&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:
@@ -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*/)
|
||||
|
||||
Reference in New Issue
Block a user