aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/CharacterHandler.cpp
diff options
context:
space:
mode:
authorForesterDev <11771800+ForesterDev@users.noreply.github.com>2020-02-08 23:37:34 +0400
committerGitHub <noreply@github.com>2020-02-08 20:37:34 +0100
commit58313fc33092236b4eedbbfb25e10ab42bec6b0e (patch)
tree4af2ab726c2b87c5ff9a7a0b96ce5cdbf70741b0 /src/server/game/Handlers/CharacterHandler.cpp
parentf87a4543ad886eb119a02f65ba4423fd4f208ec6 (diff)
Core/PacketIO: update cinematic packets to new system. Implement CMSG_OPENING_CINEMATIC and CMSG_COMPLETE_MOVIE (#24135)
* Server/PacketIO: Enable SMSG_TRIGGER_CINEMATIC & SMSG_TRIGGER_MOVIE. * Update SMSG_TRIGGER_CINEMATIC & SMSG_TRIGGER_MOVIE to new Format. Signed-off-by: AriDEV <aridev666@gmail.com> # Conflicts: # src/server/game/Entities/Player/Player.cpp # src/server/game/Server/Packets/MiscPackets.cpp # src/server/game/Server/Packets/MiscPackets.h # src/server/game/Server/Protocol/Opcodes.cpp * Core/Scripts: Add server-side script support for movie completion (#18308) # Conflicts: # src/server/game/Entities/Player/Player.h # src/server/game/Handlers/MiscHandler.cpp # src/server/game/Scripting/ScriptMgr.h # src/server/game/Server/Packets/MiscPackets.h # src/server/game/Server/Protocol/Opcodes.cpp # src/server/game/Server/WorldSession.h * Core/PacketIO: CMSG_COMPLETE_CINEMATIC, CMSG_NEXT_CINEMATIC_CAMERA and enabled some opcodes # Conflicts: # src/server/game/Server/Protocol/Opcodes.cpp # src/server/game/Server/WorldSession.h * Core/Protocol: Implemented CMSG_OPENING_CINEMATIC # Conflicts: # src/server/game/Handlers/GuildHandler.cpp # src/server/game/Server/Protocol/Opcodes.cpp # src/server/game/Server/WorldSession.h * fix build Co-authored-by: Krudor <erikstrandberg93@hotmail.com> Co-authored-by: MitchesD <majklprofik@seznam.cz> Co-authored-by: Kaelima <kaelima@live.se>
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);
+ }
+}