mirror of
https://github.com/araxiaonline/TrinityCore.git
synced 2026-06-13 03:32:28 -04:00
Core/Spell: Fixed immunities for some spells (they were broken before rewrite too)
- Warlord's Presence, Uncontrollable Frenzy, Free Friend - Overload, Lightning Tendrils - Fervor, Berserk - Determination
This commit is contained in:
@@ -2488,21 +2488,50 @@ void SpellInfo::_LoadImmunityInfo()
|
||||
{
|
||||
switch (miscVal)
|
||||
{
|
||||
case 27:
|
||||
mechanicImmunityMask |= (1 << MECHANIC_SILENCE);
|
||||
immuneInfo.AuraTypeImmune.insert(SPELL_AURA_MOD_SILENCE);
|
||||
break;
|
||||
case 96:
|
||||
case 1615:
|
||||
case 96: // Free Friend, Uncontrollable Frenzy, Warlord's Presence
|
||||
{
|
||||
if (amount)
|
||||
mechanicImmunityMask |= IMMUNE_TO_MOVEMENT_IMPAIRMENT_AND_LOSS_CONTROL_MASK;
|
||||
|
||||
immuneInfo.AuraTypeImmune.insert(SPELL_AURA_MOD_STUN);
|
||||
immuneInfo.AuraTypeImmune.insert(SPELL_AURA_MOD_DECREASE_SPEED);
|
||||
immuneInfo.AuraTypeImmune.insert(SPELL_AURA_MOD_ROOT);
|
||||
immuneInfo.AuraTypeImmune.insert(SPELL_AURA_MOD_CONFUSE);
|
||||
immuneInfo.AuraTypeImmune.insert(SPELL_AURA_MOD_FEAR);
|
||||
break;
|
||||
}
|
||||
case 1615: // Incite Rage, Wolf Spirit, Overload, Lightning Tendrils
|
||||
{
|
||||
switch (Id)
|
||||
{
|
||||
mechanicImmunityMask |= (1 << MECHANIC_SNARE) | (1 << MECHANIC_ROOT)
|
||||
| (1 << MECHANIC_FEAR) | (1 << MECHANIC_STUN)
|
||||
| (1 << MECHANIC_SLEEP) | (1 << MECHANIC_CHARM)
|
||||
| (1 << MECHANIC_SAPPED) | (1 << MECHANIC_HORROR)
|
||||
| (1 << MECHANIC_POLYMORPH) | (1 << MECHANIC_DISORIENTED)
|
||||
| (1 << MECHANIC_FREEZE) | (1 << MECHANIC_TURN) | (1 << MECHANIC_BANISH);
|
||||
case 43292: // Incite Rage
|
||||
case 49172: // Wolf Spirit
|
||||
mechanicImmunityMask |= IMMUNE_TO_MOVEMENT_IMPAIRMENT_AND_LOSS_CONTROL_MASK;
|
||||
|
||||
immuneInfo.AuraTypeImmune.insert(SPELL_AURA_MOD_STUN);
|
||||
immuneInfo.AuraTypeImmune.insert(SPELL_AURA_MOD_DECREASE_SPEED);
|
||||
immuneInfo.AuraTypeImmune.insert(SPELL_AURA_MOD_ROOT);
|
||||
immuneInfo.AuraTypeImmune.insert(SPELL_AURA_MOD_CONFUSE);
|
||||
immuneInfo.AuraTypeImmune.insert(SPELL_AURA_MOD_FEAR);
|
||||
// no break intended
|
||||
case 61869: // Overload
|
||||
case 63481:
|
||||
case 61887: // Lightning Tendrils
|
||||
case 63486:
|
||||
mechanicImmunityMask |= (1 << MECHANIC_INTERRUPT) | (1 << MECHANIC_SILENCE);
|
||||
|
||||
immuneInfo.SpellEffectImmune.insert(SPELL_EFFECT_KNOCK_BACK);
|
||||
immuneInfo.SpellEffectImmune.insert(SPELL_EFFECT_KNOCK_BACK_DEST);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 679: // Mind Control, Avenging Fury
|
||||
{
|
||||
if (Id == 57742) // Avenging Fury
|
||||
{
|
||||
mechanicImmunityMask |= IMMUNE_TO_MOVEMENT_IMPAIRMENT_AND_LOSS_CONTROL_MASK;
|
||||
|
||||
immuneInfo.AuraTypeImmune.insert(SPELL_AURA_MOD_STUN);
|
||||
immuneInfo.AuraTypeImmune.insert(SPELL_AURA_MOD_DECREASE_SPEED);
|
||||
@@ -2512,40 +2541,16 @@ void SpellInfo::_LoadImmunityInfo()
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 679:
|
||||
case 1557: // Startling Roar, Warlord Roar, Break Bonds, Stormshield
|
||||
{
|
||||
if (Id == 57742)
|
||||
{
|
||||
mechanicImmunityMask |= (1 << MECHANIC_SNARE) | (1 << MECHANIC_ROOT)
|
||||
| (1 << MECHANIC_FEAR) | (1 << MECHANIC_STUN)
|
||||
| (1 << MECHANIC_SLEEP) | (1 << MECHANIC_CHARM)
|
||||
| (1 << MECHANIC_SAPPED) | (1 << MECHANIC_HORROR)
|
||||
| (1 << MECHANIC_POLYMORPH) | (1 << MECHANIC_DISORIENTED)
|
||||
| (1 << MECHANIC_FREEZE) | (1 << MECHANIC_TURN) | (1 << MECHANIC_BANISH);
|
||||
|
||||
immuneInfo.AuraTypeImmune.insert(SPELL_AURA_MOD_STUN);
|
||||
immuneInfo.AuraTypeImmune.insert(SPELL_AURA_MOD_DECREASE_SPEED);
|
||||
immuneInfo.AuraTypeImmune.insert(SPELL_AURA_MOD_ROOT);
|
||||
immuneInfo.AuraTypeImmune.insert(SPELL_AURA_MOD_CONFUSE);
|
||||
immuneInfo.AuraTypeImmune.insert(SPELL_AURA_MOD_FEAR);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 1557:
|
||||
{
|
||||
if (Id == 64187)
|
||||
if (Id == 64187) // Stormshield
|
||||
{
|
||||
mechanicImmunityMask |= (1 << MECHANIC_STUN);
|
||||
immuneInfo.AuraTypeImmune.insert(SPELL_AURA_MOD_STUN);
|
||||
}
|
||||
else
|
||||
{
|
||||
mechanicImmunityMask |= (1 << MECHANIC_SNARE) | (1 << MECHANIC_ROOT)
|
||||
| (1 << MECHANIC_FEAR) | (1 << MECHANIC_STUN)
|
||||
| (1 << MECHANIC_SLEEP) | (1 << MECHANIC_CHARM)
|
||||
| (1 << MECHANIC_SAPPED) | (1 << MECHANIC_HORROR)
|
||||
| (1 << MECHANIC_POLYMORPH) | (1 << MECHANIC_DISORIENTED)
|
||||
| (1 << MECHANIC_FREEZE) | (1 << MECHANIC_TURN) | (1 << MECHANIC_BANISH);
|
||||
mechanicImmunityMask |= IMMUNE_TO_MOVEMENT_IMPAIRMENT_AND_LOSS_CONTROL_MASK;
|
||||
|
||||
immuneInfo.AuraTypeImmune.insert(SPELL_AURA_MOD_STUN);
|
||||
immuneInfo.AuraTypeImmune.insert(SPELL_AURA_MOD_DECREASE_SPEED);
|
||||
@@ -2555,28 +2560,23 @@ void SpellInfo::_LoadImmunityInfo()
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 1614:
|
||||
case 1694:
|
||||
case 1614: // Fixate
|
||||
case 1694: // Fixated, Lightning Tendrils
|
||||
{
|
||||
immuneInfo.SpellEffectImmune.insert(SPELL_EFFECT_ATTACK_ME);
|
||||
immuneInfo.AuraTypeImmune.insert(SPELL_AURA_MOD_TAUNT);
|
||||
break;
|
||||
}
|
||||
case 1630:
|
||||
case 1630: // Fervor, Berserk
|
||||
{
|
||||
if (!amount)
|
||||
if (Id == 64112) // Berserk
|
||||
{
|
||||
immuneInfo.SpellEffectImmune.insert(SPELL_EFFECT_ATTACK_ME);
|
||||
immuneInfo.AuraTypeImmune.insert(SPELL_AURA_MOD_TAUNT);
|
||||
}
|
||||
else
|
||||
{
|
||||
mechanicImmunityMask |= (1 << MECHANIC_SNARE) | (1 << MECHANIC_ROOT)
|
||||
| (1 << MECHANIC_FEAR) | (1 << MECHANIC_STUN)
|
||||
| (1 << MECHANIC_SLEEP) | (1 << MECHANIC_CHARM)
|
||||
| (1 << MECHANIC_SAPPED) | (1 << MECHANIC_HORROR)
|
||||
| (1 << MECHANIC_POLYMORPH) | (1 << MECHANIC_DISORIENTED)
|
||||
| (1 << MECHANIC_FREEZE) | (1 << MECHANIC_TURN) | (1 << MECHANIC_BANISH);
|
||||
mechanicImmunityMask |= IMMUNE_TO_MOVEMENT_IMPAIRMENT_AND_LOSS_CONTROL_MASK;
|
||||
|
||||
immuneInfo.AuraTypeImmune.insert(SPELL_AURA_MOD_STUN);
|
||||
immuneInfo.AuraTypeImmune.insert(SPELL_AURA_MOD_DECREASE_SPEED);
|
||||
@@ -2586,17 +2586,12 @@ void SpellInfo::_LoadImmunityInfo()
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 477:
|
||||
case 1733:
|
||||
case 477: // Bladestorm
|
||||
case 1733: // Bladestorm, Killing Spree
|
||||
{
|
||||
if (!amount)
|
||||
{
|
||||
mechanicImmunityMask |= (1 << MECHANIC_SNARE) | (1 << MECHANIC_ROOT)
|
||||
| (1 << MECHANIC_FEAR) | (1 << MECHANIC_STUN)
|
||||
| (1 << MECHANIC_SLEEP) | (1 << MECHANIC_CHARM)
|
||||
| (1 << MECHANIC_SAPPED) | (1 << MECHANIC_HORROR)
|
||||
| (1 << MECHANIC_POLYMORPH) | (1 << MECHANIC_DISORIENTED)
|
||||
| (1 << MECHANIC_FREEZE) | (1 << MECHANIC_TURN) | (1 << MECHANIC_BANISH);
|
||||
mechanicImmunityMask |= IMMUNE_TO_MOVEMENT_IMPAIRMENT_AND_LOSS_CONTROL_MASK;
|
||||
|
||||
immuneInfo.SpellEffectImmune.insert(SPELL_EFFECT_KNOCK_BACK);
|
||||
immuneInfo.SpellEffectImmune.insert(SPELL_EFFECT_KNOCK_BACK_DEST);
|
||||
@@ -2609,9 +2604,9 @@ void SpellInfo::_LoadImmunityInfo()
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 878:
|
||||
case 878: // Whirlwind, Fog of Corruption, Determination
|
||||
{
|
||||
if (amount == 1)
|
||||
if (Id == 66092) // Determination
|
||||
{
|
||||
mechanicImmunityMask |= (1 << MECHANIC_SNARE) | (1 << MECHANIC_STUN)
|
||||
| (1 << MECHANIC_DISORIENTED) | (1 << MECHANIC_FREEZE);
|
||||
|
||||
Reference in New Issue
Block a user