diff --git a/common/src/main/scala/net/psforever/packet/GamePacketOpcode.scala b/common/src/main/scala/net/psforever/packet/GamePacketOpcode.scala index 9da9c70cb..63b1bac19 100644 --- a/common/src/main/scala/net/psforever/packet/GamePacketOpcode.scala +++ b/common/src/main/scala/net/psforever/packet/GamePacketOpcode.scala @@ -353,7 +353,7 @@ object GamePacketOpcode extends Enumeration { case 0x1b => noDecoder(VehicleStateMessage) case 0x1c => noDecoder(FrameVehicleStateMessage) case 0x1d => game.GenericObjectStateMsg.decode - case 0x1e => noDecoder(ChildObjectStateMessage) + case 0x1e => game.ChildObjectStateMessage.decode case 0x1f => game.ActionResultMessage.decode // OPCODES 0x20-2f diff --git a/common/src/main/scala/net/psforever/packet/game/ChildObjectStateMessage.scala b/common/src/main/scala/net/psforever/packet/game/ChildObjectStateMessage.scala new file mode 100644 index 000000000..efbb27cd2 --- /dev/null +++ b/common/src/main/scala/net/psforever/packet/game/ChildObjectStateMessage.scala @@ -0,0 +1,23 @@ +// Copyright (c) 2017 PSForever +package net.psforever.packet.game + +import net.psforever.packet.{GamePacketOpcode, Marshallable, PlanetSideGamePacket} +import scodec.Codec +import scodec.codecs._ + +final case class ChildObjectStateMessage(unk1 : Int, + unk2 : Int, + unk3 : Int) + extends PlanetSideGamePacket { + type Packet = ChildObjectStateMessage + def opcode = GamePacketOpcode.ChildObjectStateMessage + def encode = ChildObjectStateMessage.encode(this) +} + +object ChildObjectStateMessage extends Marshallable[ChildObjectStateMessage] { + implicit val codec : Codec[ChildObjectStateMessage] = ( + ("unk1" | uint16L) :: + ("unk2" | uint8L) :: + ("unk3" | uint8L) + ).as[ChildObjectStateMessage] +}