diff --git a/common/src/main/scala/net/psforever/packet/GamePacketOpcode.scala b/common/src/main/scala/net/psforever/packet/GamePacketOpcode.scala index cad228880..47d5b88a3 100644 --- a/common/src/main/scala/net/psforever/packet/GamePacketOpcode.scala +++ b/common/src/main/scala/net/psforever/packet/GamePacketOpcode.scala @@ -407,7 +407,7 @@ object GamePacketOpcode extends Enumeration { case 0x48 => game.TimeOfDayMessage.decode case 0x49 => noDecoder(UnknownMessage73) case 0x4a => noDecoder(SpawnRequestMessage) - case 0x4b => noDecoder(DeployRequestMessage) + case 0x4b => game.DeployRequestMessage.decode case 0x4c => noDecoder(UnknownMessage76) case 0x4d => game.RepairMessage.decode case 0x4e => noDecoder(ServerVehicleOverrideMsg) diff --git a/common/src/main/scala/net/psforever/packet/game/DeployRequestMessage.scala b/common/src/main/scala/net/psforever/packet/game/DeployRequestMessage.scala new file mode 100644 index 000000000..f9f5623d1 --- /dev/null +++ b/common/src/main/scala/net/psforever/packet/game/DeployRequestMessage.scala @@ -0,0 +1,30 @@ +// Copyright (c) 2017 PSForever +package net.psforever.packet.game + +import net.psforever.packet.{GamePacketOpcode, Marshallable, PlanetSideGamePacket} +import net.psforever.types.Vector3 +import scodec.Codec +import scodec.codecs._ + +final case class DeployRequestMessage(guid1 : PlanetSideGUID, + guid2 : PlanetSideGUID, + unk1 : Int, + unk2 : Int, + unk3 : Boolean, + pos : Vector3) + extends PlanetSideGamePacket { + type Packet = DeployRequestMessage + def opcode = GamePacketOpcode.DeployRequestMessage + def encode = DeployRequestMessage.encode(this) +} + +object DeployRequestMessage extends Marshallable[DeployRequestMessage] { + implicit val codec : Codec[DeployRequestMessage] = ( + ("guid1" | PlanetSideGUID.codec) :: + ("guid2" | PlanetSideGUID.codec) :: + ("unk1" | uint(3)) :: + ("unk2" | uint(5)) :: + ("unk3" | bool) :: + ("pos" | Vector3.codec_pos) + ).as[DeployRequestMessage] +}