diff options
| author | ariel- <ariel-@users.noreply.github.com> | 2016-11-13 18:46:58 -0300 |
|---|---|---|
| committer | ariel- <ariel-@users.noreply.github.com> | 2016-11-14 02:06:30 -0300 |
| commit | fc6844173f70f436b92fb0dbc4398290ce935038 (patch) | |
| tree | 275f95d5f7c9d22b7a5463ce19df1d5b49ad769f /src | |
| parent | 699e22cb4c8204c7b1302efc01e387f4afb2967f (diff) | |
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
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/game/Spells/SpellInfo.cpp | 103 |
1 files changed, 49 insertions, 54 deletions
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp index 615e3a2696b..d19974a10f2 100644 --- a/src/server/game/Spells/SpellInfo.cpp +++ b/src/server/game/Spells/SpellInfo.cpp @@ -2488,40 +2488,50 @@ void SpellInfo::_LoadImmunityInfo() { switch (miscVal) { - case 27: - mechanicImmunityMask |= (1 << MECHANIC_SILENCE); - immuneInfo.AuraTypeImmune.insert(SPELL_AURA_MOD_SILENCE); + case 96: // Free Friend, Uncontrollable Frenzy, Warlord's Presence + { + 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 96: - case 1615: + } + case 1615: // Incite Rage, Wolf Spirit, Overload, Lightning Tendrils { - if (amount) + 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); - - 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); + 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: + case 679: // Mind Control, Avenging Fury { - if (Id == 57742) + if (Id == 57742) // Avenging Fury { - 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); @@ -2531,21 +2541,16 @@ void SpellInfo::_LoadImmunityInfo() } break; } - case 1557: + case 1557: // Startling Roar, Warlord Roar, Break Bonds, Stormshield { - 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); |
