aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/CharacterHandler.cpp
diff options
context:
space:
mode:
authorkaelima <kaelima@live.se>2012-09-18 01:30:00 +0200
committerkaelima <kaelima@live.se>2012-09-18 01:30:17 +0200
commitc83d2dc4065c94df9e27a1e8f10267cb851b7438 (patch)
tree5bbb8d48b74dfbf1cd2ea7a94450d14320265c42 /src/server/game/Handlers/CharacterHandler.cpp
parent6568b0624dcd03243c70f9aa905b88422cb1e4c2 (diff)
Core/Protocol: Implemented CMSG_OPENING_CINEMATIC and enabled CMSG_GUILD_BANK_WITHDRAW_MONEY
Diffstat (limited to 'src/server/game/Handlers/CharacterHandler.cpp')
-rw-r--r--src/server/game/Handlers/CharacterHandler.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp
index 70c1bc5955b..7951ac25d92 100644
--- a/src/server/game/Handlers/CharacterHandler.cpp
+++ b/src/server/game/Handlers/CharacterHandler.cpp
@@ -2199,3 +2199,18 @@ void WorldSession::HandleReorderCharacters(WorldPacket& recvData)
CharacterDatabase.CommitTransaction(trans);
}
+
+void WorldSession::HandleOpeningCinematic(WorldPacket& /*recvData*/)
+{
+ // Only players that has not yet gained any experience can use this
+ if (_player->GetUInt32Value(PLAYER_XP))
+ return;
+
+ if (ChrClassesEntry const* classEntry = sChrClassesStore.LookupEntry(_player->getClass()))
+ {
+ if (classEntry->CinematicSequence)
+ _player->SendCinematicStart(classEntry->CinematicSequence);
+ else if (ChrRacesEntry const* raceEntry = sChrRacesStore.LookupEntry(_player->getRace()))
+ _player->SendCinematicStart(raceEntry->CinematicSequence);
+ }
+}