Core/Spells: Implemented SPELL_ATTR9_IGNORE_SCHOOL_LOCKOUT

Port From (https://github.com/TrinityCore/TrinityCore/commit/0b8eed2d547acc0ba115198cb306c4f9127af807)
This commit is contained in:
Hondacrx
2024-08-26 18:05:34 -04:00
parent 87a04a76e9
commit 585949a9cf
2 changed files with 5 additions and 2 deletions
@@ -1984,7 +1984,7 @@ namespace Framework.Constants
DoNotDisplayPowerCost = 0x8000, // Do Not Display Power Cost (client only)
NextModalSpellRequiresSameUnitTarget = 0x10000, // Prevents automatically casting the spell from SpellClassOptions::ModalNextSpell after current spell if target was changed (client only)
AutocastOffByDefault = 0x20000, // AutoCast Off By Default
Unk18 = 0x40000, // 18
IgnoreSchoolLockout = 0x40000, // Ignore School Lockout
Unk19 = 0x80000, // 19
Unk20 = 0x100000, // 20
Unk21 = 0x200000, // 21
+4 -1
View File
@@ -211,7 +211,7 @@ namespace Game.Spells
public bool IsReady(SpellInfo spellInfo, uint itemId = 0)
{
if (spellInfo.PreventionType.HasAnyFlag(SpellPreventionType.Silence))
if (!spellInfo.HasAttribute(SpellAttr9.IgnoreSchoolLockout) && spellInfo.PreventionType.HasFlag(SpellPreventionType.Silence))
if (IsSchoolLocked(spellInfo.GetSchoolMask()))
return false;
@@ -741,6 +741,9 @@ namespace Game.Spells
if (!spellInfo.PreventionType.HasAnyFlag(SpellPreventionType.Silence))
continue;
if (spellInfo.HasAttribute(SpellAttr9.IgnoreSchoolLockout))
continue;
if ((schoolMask & spellInfo.GetSchoolMask()) == 0)
continue;