diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp | 4 | ||||
-rw-r--r-- | src/game/Spell.cpp | 2 | ||||
-rw-r--r-- | src/game/SpellAuras.cpp | 10 | ||||
-rw-r--r-- | src/game/Unit.cpp | 4 |
4 files changed, 10 insertions, 10 deletions
diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp index 7883a1c056a..81d85180cb4 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp @@ -267,7 +267,7 @@ struct TRINITY_DLL_DECL boss_leotheras_the_blindAI : public ScriptedAI m_creature->RemoveAurasDueToSpell(AURA_BANISH); // Leotheras is getting immune again - m_creature->ApplySpellImmune(AURA_BANISH, IMMUNITY_MECHANIC, 1<<(MECHANIC_BANISH-1), true); + m_creature->ApplySpellImmune(AURA_BANISH, IMMUNITY_MECHANIC, 1<<MECHANIC_BANISH, true); // changing model to bloodelf m_creature->SetUInt32Value(UNIT_FIELD_DISPLAYID, MODEL_NIGHTELF); @@ -288,7 +288,7 @@ struct TRINITY_DLL_DECL boss_leotheras_the_blindAI : public ScriptedAI { // channelers != 0 apply banish aura // removing Leotheras banish immune to apply AURA_BANISH - m_creature->ApplySpellImmune(AURA_BANISH, IMMUNITY_MECHANIC, 1<<(MECHANIC_BANISH-1), false); + m_creature->ApplySpellImmune(AURA_BANISH, IMMUNITY_MECHANIC, 1<<MECHANIC_BANISH, false); DoCast(m_creature, AURA_BANISH); // changing model diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index e6b7499f813..a2c6ae6dfee 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -4580,7 +4580,7 @@ SpellCastResult Spell::CheckCasterAuras() const { if( GetAllSpellMechanicMask(itr->second->GetSpellProto()) & mechanic_immune ) continue; - if( GetAllSpellMechanicMask(itr->second->GetSpellProto()) & school_immune ) + if( GetSpellSchoolMask(itr->second->GetSpellProto()) & school_immune ) continue; if( (1<<(itr->second->GetSpellProto()->Dispel)) & dispel_immune) continue; diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 247a72a30a4..c4857fc9ccf 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -3987,7 +3987,7 @@ void AuraEffect::HandleAuraModIncreaseFlightSpeed(bool apply, bool Real) //Players on flying mounts must be immune to polymorph if (m_target->GetTypeId()==TYPEID_PLAYER) - m_target->ApplySpellImmune(GetId(),IMMUNITY_MECHANIC,1<<(MECHANIC_POLYMORPH-1),apply); + m_target->ApplySpellImmune(GetId(),IMMUNITY_MECHANIC,1<<MECHANIC_POLYMORPH,apply); // Dragonmaw Illusion (overwrite mount model, mounted aura already applied) if( apply && m_target->HasAuraEffect(42016,0) && m_target->GetMountID()) @@ -4036,7 +4036,7 @@ void AuraEffect::HandleModMechanicImmunity(bool apply, bool Real) { uint32 mechanic; if (GetSpellProto()->EffectApplyAuraName[GetEffIndex()]==SPELL_AURA_MECHANIC_IMMUNITY) - mechanic = 1 << (GetMiscValue()-1); + mechanic = 1 << GetMiscValue(); else //SPELL_AURA_MECHANIC_IMMUNITY_MASK mechanic = GetMiscValue(); //immune movement impairment and loss of control @@ -4067,10 +4067,10 @@ void AuraEffect::HandleModMechanicImmunity(bool apply, bool Real) // Patch 3.0.3 Bladestorm now breaks all snares and roots on the warrior when activated. // however not all mechanic specified in immunity - if (apply & GetId()==46924) + if (apply && GetId()==46924) { - RemoveAurasByType(SPELL_AURA_MOD_ROOT); - RemoveAurasByType(SPELL_AURA_MOD_DECREASE_SPEED); + m_target->RemoveAurasByType(SPELL_AURA_MOD_ROOT); + m_target->RemoveAurasByType(SPELL_AURA_MOD_DECREASE_SPEED); } m_target->ApplySpellImmune(GetId(),IMMUNITY_MECHANIC,mechanic,apply); diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 46c93c97ccb..eb5bd306511 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -9137,7 +9137,7 @@ bool Unit::IsImmunedToSpell(SpellEntry const* spellInfo) SpellImmuneList const& mechanicList = m_spellImmune[IMMUNITY_MECHANIC]; for(SpellImmuneList::const_iterator itr = mechanicList.begin(); itr != mechanicList.end(); ++itr) { - if(itr->type & (1<<(spellInfo->Mechanic-1))) + if(itr->type & (1<<spellInfo->Mechanic)) { return true; } @@ -9170,7 +9170,7 @@ bool Unit::IsImmunedToSpellEffect(SpellEntry const* spellInfo, uint32 index) con { SpellImmuneList const& mechanicList = m_spellImmune[IMMUNITY_MECHANIC]; for (SpellImmuneList::const_iterator itr = mechanicList.begin(); itr != mechanicList.end(); ++itr) - if(itr->type & 1<<(spellInfo->EffectMechanic[index]-1)) + if(itr->type & 1<<(spellInfo->EffectMechanic[index])) return true; } |