Core/Spells: Fully prevent infinite proc loops and add logging to detect most spells that could possibly trigger this behavior at startup

Port From (https://github.com/TrinityCore/TrinityCore/commit/29eac37a16df2ec14cba89f4d6e28f54ca1a4e25)
This commit is contained in:
hondacrx
2023-07-01 09:24:55 -04:00
parent 04eaeb0fe8
commit 445733704e
4 changed files with 41 additions and 1 deletions
+2 -1
View File
@@ -77,7 +77,8 @@ namespace Game.Entities
MultiMap<uint, uint>[] m_spellImmune = new MultiMap<uint, uint>[(int)SpellImmunity.Max];
SpellAuraInterruptFlags m_interruptMask;
SpellAuraInterruptFlags2 m_interruptMask2;
protected int m_procDeep;
int m_procDeep; // tracked for proc system correctness (what spells should proc what)
int m_procChainLength; // tracked to protect against infinite proc loops (hard limit, will disallow procs even if they should happen)
SpellHistory _spellHistory;
//Auras