diff options
| author | Shauren <shauren.trinity@gmail.com> | 2022-01-11 19:05:35 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2022-01-11 19:05:35 +0100 |
| commit | 415aaae7f2fa3a5e09a51b0355120bf4138cde41 (patch) | |
| tree | 28d9edc672d0d1abd628f4b5647df9f208183737 /src/server/game/Spells/SpellMgr.cpp | |
| parent | 4772b55368e43002b32b598812bffa4c8877504e (diff) | |
Core/Spells: Validate spell_proc.AttributesMask on startup
Diffstat (limited to 'src/server/game/Spells/SpellMgr.cpp')
| -rw-r--r-- | src/server/game/Spells/SpellMgr.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
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; |
