diff --git a/common/src/main/scala/net/psforever/packet/GamePacketOpcode.scala b/common/src/main/scala/net/psforever/packet/GamePacketOpcode.scala index 69629b548..35a4cd105 100644 --- a/common/src/main/scala/net/psforever/packet/GamePacketOpcode.scala +++ b/common/src/main/scala/net/psforever/packet/GamePacketOpcode.scala @@ -385,7 +385,7 @@ object GamePacketOpcode extends Enumeration { case 0x36 => game.PickupItemMessage.decode case 0x37 => game.DropItemMessage.decode // 0x38 - case 0x38 => noDecoder(InventoryStateMessage) + case 0x38 => game.InventoryStateMessage.decode case 0x39 => game.ChangeFireStateMessage_Start.decode case 0x3a => game.ChangeFireStateMessage_Stop.decode case 0x3b => noDecoder(UnknownMessage59) diff --git a/common/src/main/scala/net/psforever/packet/game/InventoryStateMessage.scala b/common/src/main/scala/net/psforever/packet/game/InventoryStateMessage.scala new file mode 100644 index 000000000..60817688c --- /dev/null +++ b/common/src/main/scala/net/psforever/packet/game/InventoryStateMessage.scala @@ -0,0 +1,25 @@ +// 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 InventoryStateMessage(player_guid : PlanetSideGUID, + unk1 : Int, + unk2 : Int, + unk3 : Long) + extends PlanetSideGamePacket { + type Packet = InventoryStateMessage + def opcode = GamePacketOpcode.InventoryStateMessage + def encode = InventoryStateMessage.encode(this) +} + +object InventoryStateMessage extends Marshallable[InventoryStateMessage] { + implicit val codec : Codec[InventoryStateMessage] = ( + ("player_guid" | PlanetSideGUID.codec) :: + ("unk1" | uintL(10)) :: + ("unk2" | uint16L) :: + ("unk3" | uint32L) + ).as[InventoryStateMessage] +}