aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/CharacterHandler.cpp
diff options
context:
space:
mode:
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 b4a488d887f..dd444b1c501 100644
--- a/src/server/game/Handlers/CharacterHandler.cpp
+++ b/src/server/game/Handlers/CharacterHandler.cpp
@@ -2191,3 +2191,18 @@ void WorldSession::SendBarberShopResult(BarberShopResult result)
data << uint32(result);
SendPacket(&data);
}
+
+void WorldSession::HandleOpeningCinematic(WorldPackets::Misc::OpeningCinematic& /*packet*/)
+{
+ // 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);
+ }
+}