initial work on InventoryStateMessage packet

This commit is contained in:
FateJH 2017-04-22 14:59:46 -04:00
parent 861a611707
commit fbe671e577
2 changed files with 26 additions and 1 deletions

View file

@ -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)

View file

@ -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]
}