Core/Spells: Moved hardcoded immunity data for SPELL_AURA_MECHANIC_IMMUNITY_MASK to database
Port From (https://github.com/TrinityCore/TrinityCore/commit/e6785094fce1bc0d8537cddef73088d30521883a)
This commit is contained in:
@@ -2146,7 +2146,6 @@ namespace Game.Spells
|
|||||||
uint damageImmunityMask = 0;
|
uint damageImmunityMask = 0;
|
||||||
|
|
||||||
int miscVal = effect.MiscValue;
|
int miscVal = effect.MiscValue;
|
||||||
int amount = effect.CalcValue();
|
|
||||||
|
|
||||||
ImmunityInfo immuneInfo = effect.GetImmunityInfo();
|
ImmunityInfo immuneInfo = effect.GetImmunityInfo();
|
||||||
|
|
||||||
@@ -2165,147 +2164,6 @@ namespace Game.Spells
|
|||||||
foreach (AuraType aura in creatureImmunities.Aura)
|
foreach (AuraType aura in creatureImmunities.Aura)
|
||||||
immuneInfo.AuraTypeImmune.Add(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;
|
break;
|
||||||
}
|
}
|
||||||
case AuraType.MechanicImmunity:
|
case AuraType.MechanicImmunity:
|
||||||
|
|||||||
Reference in New Issue
Block a user