diff options
Diffstat (limited to 'src/server')
5 files changed, 27 insertions, 4 deletions
diff --git a/src/server/game/Handlers/VehicleHandler.cpp b/src/server/game/Handlers/VehicleHandler.cpp index 28b5a83a3c..4df63ad67f 100644 --- a/src/server/game/Handlers/VehicleHandler.cpp +++ b/src/server/game/Handlers/VehicleHandler.cpp @@ -50,7 +50,10 @@ void WorldSession::HandleDismissControlledVehicle(WorldPacket& recvData) mi.guid = guid; ReadMovementInfo(recvData, &mi); - _player->m_mover->m_movementInfo = mi; + if (_player->m_mover->IsRooted()) // for some reason client sends it without it even if rooted + mi.AddMovementFlag(MOVEMENTFLAG_ROOT); + + ProcessMovementInfo(mi, _player->m_mover, _player->m_mover->ToPlayer(), recvData); _player->ExitVehicle(); } diff --git a/src/server/scripts/Northrend/AzjolNerub/ahnkahet/ahnkahet.h b/src/server/scripts/Northrend/AzjolNerub/ahnkahet/ahnkahet.h index 8b1dd67366..c2ddd3b7e2 100644 --- a/src/server/scripts/Northrend/AzjolNerub/ahnkahet/ahnkahet.h +++ b/src/server/scripts/Northrend/AzjolNerub/ahnkahet/ahnkahet.h @@ -44,6 +44,7 @@ enum AhnKahetCreatures NPC_AMANITAR = 30258, // Teldaram and Jedoga encounter related NPC_JEDOGA_CONTROLLER = 30181, + NPC_TWILIGHT_WORSHIPPER = 30111 }; enum AhnkahetSpells diff --git a/src/server/scripts/Northrend/AzjolNerub/ahnkahet/boss_jedoga_shadowseeker.cpp b/src/server/scripts/Northrend/AzjolNerub/ahnkahet/boss_jedoga_shadowseeker.cpp index adc26fcc97..6392a738ed 100644 --- a/src/server/scripts/Northrend/AzjolNerub/ahnkahet/boss_jedoga_shadowseeker.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/ahnkahet/boss_jedoga_shadowseeker.cpp @@ -90,6 +90,7 @@ enum SummonGroups { SUMMON_GROUP_OOC = 0, SUMMON_GROUP_OOC_TRIGGERS = 1, + SUMMON_GROUP_IC_WORSHIPPERS = 2 }; enum Points @@ -217,7 +218,7 @@ struct boss_jedoga_shadowseeker : public BossAI void JustSummoned(Creature* summon) override { - if (summon->GetEntry() == NPC_JEDOGA_CONTROLLER) + if (summon->EntryEquals(NPC_JEDOGA_CONTROLLER, NPC_TWILIGHT_WORSHIPPER)) { summons.Summon(summon); } @@ -326,6 +327,17 @@ struct boss_jedoga_shadowseeker : public BossAI _JustEngagedWith(); Talk(SAY_AGGRO); ReschedulleCombatEvents(); + + std::list<TempSummon*> tempSummons; + me->SummonCreatureGroup(SUMMON_GROUP_IC_WORSHIPPERS, &tempSummons); + if (!tempSummons.empty()) + { + for (TempSummon* summon : tempSummons) + { + if (summon) + summon->SetStandState(UNIT_STAND_STATE_KNEEL); + } + } } void KilledUnit(Unit* who) override diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp index c75c8966b8..8380f1caae 100644 --- a/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp +++ b/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp @@ -130,6 +130,12 @@ public: if (!UpdateVictim()) return; + if (!CheckInRoom()) + { + EnterEvadeMode(EVADE_REASON_BOUNDARY); + return; + } + events.Update(diff); if (me->HasUnitState(UNIT_STATE_CASTING)) return; @@ -159,9 +165,9 @@ public: DoMeleeAttackIfReady(); } - bool CheckEvadeIfOutOfCombatArea() const override + bool CheckInRoom() override { - return me->GetHomePosition().GetExactDist2d(me) > 60.0f; + return (me->GetPositionY() >= -700.0f && me->GetPositionY() <= -628.0f); } private: diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/brann_bronzebeard.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/brann_bronzebeard.cpp index a783794652..f9612cf600 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/brann_bronzebeard.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/brann_bronzebeard.cpp @@ -413,6 +413,7 @@ public: DoCast(me, 58506, false); me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_READY_UNARMED); me->SendMovementFlagUpdate(); + me->SetImmuneToAll(true); break; case ACTION_START_SJONNIR_FIGHT: SetEscortPaused(false); |
