From b5a5841c73a5445dcca4e9571d144ad55e253a9e Mon Sep 17 00:00:00 2001 From: hondacrx Date: Tue, 6 Feb 2024 17:23:44 -0500 Subject: [PATCH] Core/Spells: Moved hardcoded immunity data for SPELL_AURA_MECHANIC_IMMUNITY_MASK to database Port From (https://github.com/TrinityCore/TrinityCore/commit/e6785094fce1bc0d8537cddef73088d30521883a) --- Source/Game/Spells/SpellInfo.cs | 142 -------------------------------- 1 file changed, 142 deletions(-) diff --git a/Source/Game/Spells/SpellInfo.cs b/Source/Game/Spells/SpellInfo.cs index e917ab6fd..d5cf0b765 100644 --- a/Source/Game/Spells/SpellInfo.cs +++ b/Source/Game/Spells/SpellInfo.cs @@ -2146,7 +2146,6 @@ namespace Game.Spells uint damageImmunityMask = 0; int miscVal = effect.MiscValue; - int amount = effect.CalcValue(); ImmunityInfo immuneInfo = effect.GetImmunityInfo(); @@ -2165,147 +2164,6 @@ namespace Game.Spells foreach (AuraType aura in creatureImmunities.Aura) immuneInfo.AuraTypeImmune.Add(aura); } - - switch (miscVal) - { - case 96: // Free Friend, Uncontrollable Frenzy, Warlord's Presence - { - mechanicImmunityMask |= (ulong)Mechanics.ImmuneToMovementImpairmentAndLossControlMask; - - immuneInfo.AuraTypeImmune.Add(AuraType.ModStun); - immuneInfo.AuraTypeImmune.Add(AuraType.ModDecreaseSpeed); - immuneInfo.AuraTypeImmune.Add(AuraType.ModRoot); - immuneInfo.AuraTypeImmune.Add(AuraType.ModConfuse); - immuneInfo.AuraTypeImmune.Add(AuraType.ModFear); - immuneInfo.AuraTypeImmune.Add(AuraType.ModRoot2); - break; - } - case 1615: // Incite Rage, Wolf Spirit, Overload, Lightning Tendrils - { - switch (Id) - { - case 43292: // Incite Rage - case 49172: // Wolf Spirit - mechanicImmunityMask |= (ulong)Mechanics.ImmuneToMovementImpairmentAndLossControlMask; - - immuneInfo.AuraTypeImmune.Add(AuraType.ModStun); - immuneInfo.AuraTypeImmune.Add(AuraType.ModDecreaseSpeed); - immuneInfo.AuraTypeImmune.Add(AuraType.ModRoot); - immuneInfo.AuraTypeImmune.Add(AuraType.ModConfuse); - immuneInfo.AuraTypeImmune.Add(AuraType.ModFear); - immuneInfo.AuraTypeImmune.Add(AuraType.ModRoot2); - goto case 61869; - // no break intended - case 61869: // Overload - case 63481: - case 61887: // Lightning Tendrils - case 63486: - mechanicImmunityMask |= (1 << (int)Mechanics.Interrupt) | (1 << (int)Mechanics.Silence); - - immuneInfo.SpellEffectImmune.Add(SpellEffectName.KnockBack); - immuneInfo.SpellEffectImmune.Add(SpellEffectName.KnockBackDest); - break; - default: - break; - } - break; - } - case 679: // Mind Control, Avenging Fury - { - if (Id == 57742) // Avenging Fury - { - mechanicImmunityMask |= (ulong)Mechanics.ImmuneToMovementImpairmentAndLossControlMask; - - immuneInfo.AuraTypeImmune.Add(AuraType.ModStun); - immuneInfo.AuraTypeImmune.Add(AuraType.ModDecreaseSpeed); - immuneInfo.AuraTypeImmune.Add(AuraType.ModRoot); - immuneInfo.AuraTypeImmune.Add(AuraType.ModConfuse); - immuneInfo.AuraTypeImmune.Add(AuraType.ModFear); - immuneInfo.AuraTypeImmune.Add(AuraType.ModRoot2); - } - break; - } - case 1557: // Startling Roar, Warlord Roar, Break Bonds, Stormshield - { - if (Id == 64187) // Stormshield - { - mechanicImmunityMask |= 1 << (int)Mechanics.Stun; - immuneInfo.AuraTypeImmune.Add(AuraType.ModStun); - } - else - { - mechanicImmunityMask |= (ulong)Mechanics.ImmuneToMovementImpairmentAndLossControlMask; - - immuneInfo.AuraTypeImmune.Add(AuraType.ModStun); - immuneInfo.AuraTypeImmune.Add(AuraType.ModDecreaseSpeed); - immuneInfo.AuraTypeImmune.Add(AuraType.ModRoot); - immuneInfo.AuraTypeImmune.Add(AuraType.ModConfuse); - immuneInfo.AuraTypeImmune.Add(AuraType.ModFear); - immuneInfo.AuraTypeImmune.Add(AuraType.ModRoot2); - } - break; - } - case 1614: // Fixate - case 1694: // Fixated, Lightning Tendrils - { - immuneInfo.SpellEffectImmune.Add(SpellEffectName.AttackMe); - immuneInfo.AuraTypeImmune.Add(AuraType.ModTaunt); - break; - } - case 1630: // Fervor, Berserk - { - if (Id == 64112) // Berserk - { - immuneInfo.SpellEffectImmune.Add(SpellEffectName.AttackMe); - immuneInfo.AuraTypeImmune.Add(AuraType.ModTaunt); - } - else - { - mechanicImmunityMask |= (ulong)Mechanics.ImmuneToMovementImpairmentAndLossControlMask; - - immuneInfo.AuraTypeImmune.Add(AuraType.ModStun); - immuneInfo.AuraTypeImmune.Add(AuraType.ModDecreaseSpeed); - immuneInfo.AuraTypeImmune.Add(AuraType.ModRoot); - immuneInfo.AuraTypeImmune.Add(AuraType.ModConfuse); - immuneInfo.AuraTypeImmune.Add(AuraType.ModFear); - immuneInfo.AuraTypeImmune.Add(AuraType.ModRoot2); - } - break; - } - case 477: // Bladestorm - case 1733: // Bladestorm, Killing Spree - { - if (amount == 0) - { - mechanicImmunityMask |= (ulong)Mechanics.ImmuneToMovementImpairmentAndLossControlMask; - - immuneInfo.SpellEffectImmune.Add(SpellEffectName.KnockBack); - immuneInfo.SpellEffectImmune.Add(SpellEffectName.KnockBackDest); - - immuneInfo.AuraTypeImmune.Add(AuraType.ModStun); - immuneInfo.AuraTypeImmune.Add(AuraType.ModDecreaseSpeed); - immuneInfo.AuraTypeImmune.Add(AuraType.ModRoot); - immuneInfo.AuraTypeImmune.Add(AuraType.ModConfuse); - immuneInfo.AuraTypeImmune.Add(AuraType.ModFear); - immuneInfo.AuraTypeImmune.Add(AuraType.ModRoot2); - } - break; - } - case 878: // Whirlwind, Fog of Corruption, Determination - { - if (Id == 66092) // Determination - { - mechanicImmunityMask |= (1 << (int)Mechanics.Snare) | (1 << (int)Mechanics.Stun) - | (1 << (int)Mechanics.Disoriented) | (1 << (int)Mechanics.Freeze); - - immuneInfo.AuraTypeImmune.Add(AuraType.ModStun); - immuneInfo.AuraTypeImmune.Add(AuraType.ModDecreaseSpeed); - } - break; - } - default: - break; - } break; } case AuraType.MechanicImmunity: