aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/SpellMgr.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2022-01-11 19:05:35 +0100
committerShauren <shauren.trinity@gmail.com>2022-01-11 19:05:35 +0100
commit415aaae7f2fa3a5e09a51b0355120bf4138cde41 (patch)
tree28d9edc672d0d1abd628f4b5647df9f208183737 /src/server/game/Spells/SpellMgr.cpp
parent4772b55368e43002b32b598812bffa4c8877504e (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.cpp5
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;