From 415aaae7f2fa3a5e09a51b0355120bf4138cde41 Mon Sep 17 00:00:00 2001 From: Shauren Date: Tue, 11 Jan 2022 19:05:35 +0100 Subject: Core/Spells: Validate spell_proc.AttributesMask on startup --- src/server/game/Spells/SpellMgr.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/server/game/Spells/SpellMgr.cpp') diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index 5599e0cea39..6860f0e9347 100644 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -1626,6 +1626,11 @@ void SpellMgr::LoadSpellProcs() if (!found) TC_LOG_ERROR("sql.sql", "The `spell_proc` table entry for spellId %u has Attribute PROC_ATTR_REQ_SPELLMOD, but spell has no spell mods. Proc will not be triggered", spellInfo->Id); } + if (procEntry.AttributesMask & ~PROC_ATTR_ALL_ALLOWED) + { + TC_LOG_ERROR("sql.sql", "The `spell_proc` table entry for spellId %u has `AttributesMask` value specifying invalid attributes 0x%02X.", spellInfo->Id, procEntry.AttributesMask & ~PROC_ATTR_ALL_ALLOWED); + procEntry.AttributesMask &= PROC_ATTR_ALL_ALLOWED; + } mSpellProcMap[{ spellInfo->Id, spellInfo->Difficulty }] = procEntry; -- cgit v1.2.3