From 91a429506ff2f22ce52e19f09b23e781c6498689 Mon Sep 17 00:00:00 2001 From: FateJH Date: Fri, 20 Jan 2017 23:53:56 -0500 Subject: [PATCH] initial PlayerStasisMessage packet work --- .../psforever/packet/GamePacketOpcode.scala | 2 +- .../packet/game/PlayerStasisMessage.scala | 26 +++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 common/src/main/scala/net/psforever/packet/game/PlayerStasisMessage.scala diff --git a/common/src/main/scala/net/psforever/packet/GamePacketOpcode.scala b/common/src/main/scala/net/psforever/packet/GamePacketOpcode.scala index 1eb8898d3..a8a216e87 100644 --- a/common/src/main/scala/net/psforever/packet/GamePacketOpcode.scala +++ b/common/src/main/scala/net/psforever/packet/GamePacketOpcode.scala @@ -482,7 +482,7 @@ object GamePacketOpcode extends Enumeration { // 0x88 case 0x88 => game.WeaponDelayFireMessage.decode case 0x89 => noDecoder(BugReportMessage) - case 0x8a => noDecoder(PlayerStasisMessage) + case 0x8a => game.PlayerStasisMessage.decode case 0x8b => noDecoder(UnknownMessage139) case 0x8c => noDecoder(OutfitMembershipRequest) case 0x8d => noDecoder(OutfitMembershipResponse) diff --git a/common/src/main/scala/net/psforever/packet/game/PlayerStasisMessage.scala b/common/src/main/scala/net/psforever/packet/game/PlayerStasisMessage.scala new file mode 100644 index 000000000..91ee3faf0 --- /dev/null +++ b/common/src/main/scala/net/psforever/packet/game/PlayerStasisMessage.scala @@ -0,0 +1,26 @@ +// Copyright (c) 2016 PSForever.net to present +package net.psforever.packet.game + +import net.psforever.packet.{GamePacketOpcode, Marshallable, PlanetSideGamePacket} +import scodec.Codec +import scodec.codecs._ + +/** + * na + * @param player_guid the player + * @param stasis whether or not the player is held in stasis + */ +final case class PlayerStasisMessage(player_guid : PlanetSideGUID, + stasis : Boolean) + extends PlanetSideGamePacket { + type Packet = PlayerStasisMessage + def opcode = GamePacketOpcode.PlayerStasisMessage + def encode = PlayerStasisMessage.encode(this) +} + +object PlayerStasisMessage extends Marshallable[PlayerStasisMessage] { + implicit val codec : Codec[PlayerStasisMessage] = ( + ("player_guid" | PlanetSideGUID.codec) :: + ("stasis" | bool) + ).as[PlayerStasisMessage] +}