summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Handlers/VehicleHandler.cpp5
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp25
2 files changed, 13 insertions, 17 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/EasternKingdoms/Karazhan/karazhan.cpp b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp
index bfe5e6db10..484a0ada74 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp
@@ -218,29 +218,22 @@ public:
switch (m_uiEventId)
{
case EVENT_OZ:
- if (OzDialogue[count].textid)
- text = OzDialogue[count].textid;
- if (OzDialogue[count].timer)
- TalkTimer = OzDialogue[count].timer;
+ text = OzDialogue[count].textid;
+ TalkTimer = OzDialogue[count].timer;
break;
-
case EVENT_HOOD:
- if (HoodDialogue[count].textid)
- text = HoodDialogue[count].textid;
- if (HoodDialogue[count].timer)
- TalkTimer = HoodDialogue[count].timer;
+ text = HoodDialogue[count].textid;
+ TalkTimer = HoodDialogue[count].timer;
break;
-
case EVENT_RAJ:
- if (RAJDialogue[count].textid)
- text = RAJDialogue[count].textid;
- if (RAJDialogue[count].timer)
- TalkTimer = RAJDialogue[count].timer;
+ text = RAJDialogue[count].textid;
+ TalkTimer = RAJDialogue[count].timer;
break;
+ default:
+ return;
}
- if (text)
- CreatureAI::Talk(text);
+ CreatureAI::Talk(text);
}
void PrepareEncounter()