Core/Spells: Validate spellmod array size at startup

Port From (https://github.com/TrinityCore/TrinityCore/commit/c2d8c64d366899d7f3ab22b5abd79f44640a70e7)
This commit is contained in:
hondacrx
2023-09-14 02:49:50 -04:00
parent c23045a38d
commit ae837fb074
+12
View File
@@ -2207,6 +2207,18 @@ namespace Game.Entities
if (effect.Effect == (int)SpellEffectName.Language)
Global.LanguageMgr.LoadSpellEffectLanguage(effect);
switch ((AuraType)effect.EffectAura)
{
case AuraType.AddFlatModifier:
case AuraType.AddPctModifier:
case AuraType.AddPctModifierBySpellLabel:
case AuraType.AddFlatModifierBySpellLabel:
Cypher.Assert(effect.EffectMiscValue[0] < (int)SpellModOp.Max, $"MAX_SPELLMOD must be at least {effect.EffectMiscValue[0] + 1}");
break;
default:
break;
}
}
foreach (SpellAuraOptionsRecord auraOptions in CliDB.SpellAuraOptionsStorage.Values)