mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-19 08:55:32 +01:00
Core/Spells: Add assertions validating various spell enums
This commit is contained in:
@@ -1263,7 +1263,11 @@ enum SpellEffectName
|
||||
SPELL_EFFECT_249 = 249,
|
||||
SPELL_EFFECT_TAKE_SCREENSHOT = 250, // Serverside marker for selfie screenshot - achievement check
|
||||
SPELL_EFFECT_SET_GARRISON_CACHE_SIZE = 251,
|
||||
TOTAL_SPELL_EFFECTS = 252,
|
||||
SPELL_EFFECT_252 = 252,
|
||||
SPELL_EFFECT_253 = 253,
|
||||
SPELL_EFFECT_254 = 254,
|
||||
SPELL_EFFECT_255 = 255,
|
||||
TOTAL_SPELL_EFFECTS = 256,
|
||||
};
|
||||
|
||||
enum SpellCastResult // 21355
|
||||
@@ -2017,6 +2021,7 @@ enum Targets
|
||||
TARGET_UNK_145 = 145,
|
||||
TARGET_UNK_146 = 146,
|
||||
TARGET_UNK_147 = 147,
|
||||
TARGET_UNK_148 = 148,
|
||||
TOTAL_SPELL_TARGETS
|
||||
};
|
||||
|
||||
|
||||
@@ -317,6 +317,10 @@ pEffect SpellEffects[TOTAL_SPELL_EFFECTS]=
|
||||
&Spell::EffectNULL, //249 SPELL_EFFECT_249
|
||||
&Spell::EffectNULL, //250 SPELL_EFFECT_TAKE_SCREENSHOT
|
||||
&Spell::EffectNULL, //251 SPELL_EFFECT_SET_GARRISON_CACHE_SIZE
|
||||
&Spell::EffectNULL, //252 SPELL_EFFECT_252
|
||||
&Spell::EffectNULL, //253 SPELL_EFFECT_253
|
||||
&Spell::EffectNULL, //254 SPELL_EFFECT_254
|
||||
&Spell::EffectNULL, //255 SPELL_EFFECT_255
|
||||
};
|
||||
|
||||
void Spell::EffectNULL(SpellEffIndex /*effIndex*/)
|
||||
|
||||
@@ -358,6 +358,7 @@ SpellImplicitTargetInfo::StaticData SpellImplicitTargetInfo::_data[TOTAL_SPELL_
|
||||
{TARGET_OBJECT_TYPE_NONE, TARGET_REFERENCE_TYPE_NONE, TARGET_SELECT_CATEGORY_NYI, TARGET_CHECK_DEFAULT, TARGET_DIR_NONE}, // 145
|
||||
{TARGET_OBJECT_TYPE_NONE, TARGET_REFERENCE_TYPE_NONE, TARGET_SELECT_CATEGORY_NYI, TARGET_CHECK_DEFAULT, TARGET_DIR_NONE}, // 146
|
||||
{TARGET_OBJECT_TYPE_NONE, TARGET_REFERENCE_TYPE_NONE, TARGET_SELECT_CATEGORY_NYI, TARGET_CHECK_DEFAULT, TARGET_DIR_NONE}, // 147
|
||||
{TARGET_OBJECT_TYPE_NONE, TARGET_REFERENCE_TYPE_NONE, TARGET_SELECT_CATEGORY_NYI, TARGET_CHECK_DEFAULT, TARGET_DIR_NONE}, // 148
|
||||
};
|
||||
|
||||
SpellEffectInfo::SpellEffectInfo(SpellEffectScalingEntry const* spellEffectScaling, SpellInfo const* spellInfo, uint8 effIndex, SpellEffectEntry const* _effect)
|
||||
@@ -971,6 +972,10 @@ SpellEffectInfo::StaticData SpellEffectInfo::_data[TOTAL_SPELL_EFFECTS] =
|
||||
{EFFECT_IMPLICIT_TARGET_NONE, TARGET_OBJECT_TYPE_NONE}, // 249 SPELL_EFFECT_249
|
||||
{EFFECT_IMPLICIT_TARGET_NONE, TARGET_OBJECT_TYPE_NONE}, // 250 SPELL_EFFECT_TAKE_SCREENSHOT
|
||||
{EFFECT_IMPLICIT_TARGET_NONE, TARGET_OBJECT_TYPE_NONE}, // 251 SPELL_EFFECT_SET_GARRISON_CACHE_SIZE
|
||||
{EFFECT_IMPLICIT_TARGET_NONE, TARGET_OBJECT_TYPE_NONE}, // 252 SPELL_EFFECT_252
|
||||
{EFFECT_IMPLICIT_TARGET_NONE, TARGET_OBJECT_TYPE_NONE}, // 253 SPELL_EFFECT_253
|
||||
{EFFECT_IMPLICIT_TARGET_NONE, TARGET_OBJECT_TYPE_NONE}, // 254 SPELL_EFFECT_254
|
||||
{EFFECT_IMPLICIT_TARGET_NONE, TARGET_OBJECT_TYPE_NONE}, // 255 SPELL_EFFECT_255
|
||||
};
|
||||
|
||||
SpellInfo::SpellInfo(SpellInfoLoadHelper const& data, SpellEffectEntryMap const& effectsMap, SpellVisualMap&& visuals,
|
||||
|
||||
@@ -2697,11 +2697,11 @@ void SpellMgr::LoadSpellInfoStore()
|
||||
|
||||
for (SpellEffectEntry const* effect : sSpellEffectStore)
|
||||
{
|
||||
if (effect->EffectIndex >= MAX_SPELL_EFFECTS)
|
||||
{
|
||||
TC_LOG_ERROR("server.loading", "Spell %u has invalid EffectIndex %u, max is %u, skipped", effect->SpellID, effect->EffectIndex, uint32(MAX_SPELL_EFFECTS));
|
||||
continue;
|
||||
}
|
||||
ASSERT(effect->EffectIndex < MAX_SPELL_EFFECTS, "MAX_SPELL_EFFECTS must be at least %u", effect->EffectIndex);
|
||||
ASSERT(effect->Effect < TOTAL_SPELL_EFFECTS, "TOTAL_SPELL_EFFECTS must be at least %u", effect->Effect);
|
||||
ASSERT(effect->EffectAura < TOTAL_AURAS, "TOTAL_AURAS must be at least %u", effect->EffectAura);
|
||||
ASSERT(effect->ImplicitTarget[0] < TOTAL_SPELL_TARGETS, "TOTAL_SPELL_TARGETS must be at least %u", effect->ImplicitTarget[0]);
|
||||
ASSERT(effect->ImplicitTarget[1] < TOTAL_SPELL_TARGETS, "TOTAL_SPELL_TARGETS must be at least %u", effect->ImplicitTarget[1]);
|
||||
|
||||
SpellEffectEntryVector& effectsForDifficulty = effectsBySpell[effect->SpellID][effect->DifficultyID];
|
||||
if (effectsForDifficulty.size() <= effect->EffectIndex)
|
||||
|
||||
Reference in New Issue
Block a user