diff options
5 files changed, 21 insertions, 4 deletions
diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp index 6c64a255370..719e6f32eff 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp +++ b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp @@ -166,6 +166,12 @@ struct TRINITY_DLL_DECL boss_ambassador_hellmawAI : public ScriptedAI if (!UpdateVictim() ) return; + if(m_creature->HasAura(SPELL_BANISH, 0)) + { + EnterEvadeMode(); + return; + } + if (CorrosiveAcid_Timer < diff) { DoCast(m_creature->getVictim(),SPELL_CORROSIVE_ACID); diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp index b8c6162a809..3f4c2d5b62c 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp +++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp @@ -187,7 +187,7 @@ struct TRINITY_DLL_DECL boss_warbringer_omroggAI : public ScriptedAI Unit *Left = Unit::GetUnit(*m_creature,LeftHead); Unit *Right = Unit::GetUnit(*m_creature,RightHead); - if (!Left && !Right) + if (!Left || !Right) return; ithreat = rand()%4; @@ -240,7 +240,7 @@ struct TRINITY_DLL_DECL boss_warbringer_omroggAI : public ScriptedAI Unit *Left = Unit::GetUnit(*m_creature,LeftHead); Unit *Right = Unit::GetUnit(*m_creature,RightHead); - if (!Left && !Right) + if (!Left || !Right) return; ikilling = rand()%2; @@ -269,7 +269,7 @@ struct TRINITY_DLL_DECL boss_warbringer_omroggAI : public ScriptedAI Unit *Left = Unit::GetUnit(*m_creature,LeftHead); Unit *Right = Unit::GetUnit(*m_creature,RightHead); - if (!Left && !Right) + if (!Left || !Right) return; DoScriptText(YELL_DIE_L, Left); diff --git a/src/game/Map.cpp b/src/game/Map.cpp index 0dabf205af7..adefb0770ae 100644 --- a/src/game/Map.cpp +++ b/src/game/Map.cpp @@ -732,7 +732,9 @@ void Map::Update(const uint32 &t_diff) i_lock = true; + MoveAllCreaturesInMoveList(); RelocationNotify(); + RemoveAllObjectsInRemoveList(); // Don't unload grids if it's battleground, since we may have manually added GOs,creatures, those doesn't load from DB at grid re-load ! // This isn't really bother us, since as soon as we have instanced BG-s, the whole map unloads as the BG gets ended diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index c8b78b759c2..a41e791c38a 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -5390,6 +5390,15 @@ void AuraEffect::HandleAuraModPacify(bool apply, bool Real) m_target->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PACIFIED); else m_target->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PACIFIED); + + + if(m_spellProto->Id == 45839){ + if(apply){ + m_target->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); + }else{ + m_target->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); + } + } } void AuraEffect::HandleAuraModPacifyAndSilence(bool apply, bool Real) diff --git a/src/game/World.cpp b/src/game/World.cpp index fe96d160a10..375cab10f42 100644 --- a/src/game/World.cpp +++ b/src/game/World.cpp @@ -1778,7 +1778,7 @@ void World::Update(uint32 diff) /// </ul> ///- Move all creatures with "delayed move" and remove and delete all objects with "delayed remove" - MapManager::Instance().DoDelayedMovesAndRemoves(); + //MapManager::Instance().DoDelayedMovesAndRemoves(); // update the instance reset times sInstanceSaveManager.Update(); |