summaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
Diffstat (limited to 'src/server')
-rw-r--r--src/server/game/Handlers/VehicleHandler.cpp5
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/ahnkahet/ahnkahet.h1
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/ahnkahet/boss_jedoga_shadowseeker.cpp14
-rw-r--r--src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp10
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfStone/brann_bronzebeard.cpp1
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);