From 12d2bdf1bbddec416653ee68b90d6fdb6e9d9f0a Mon Sep 17 00:00:00 2001 From: FateJH Date: Sat, 22 Apr 2017 00:52:50 -0400 Subject: [PATCH] initial work on UnuseItemMessage packet --- .../psforever/packet/GamePacketOpcode.scala | 2 +- .../packet/game/UnuseItemMessage.scala | 25 +++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 common/src/main/scala/net/psforever/packet/game/UnuseItemMessage.scala diff --git a/common/src/main/scala/net/psforever/packet/GamePacketOpcode.scala b/common/src/main/scala/net/psforever/packet/GamePacketOpcode.scala index 1d1f4802..0190f495 100644 --- a/common/src/main/scala/net/psforever/packet/GamePacketOpcode.scala +++ b/common/src/main/scala/net/psforever/packet/GamePacketOpcode.scala @@ -363,7 +363,7 @@ object GamePacketOpcode extends Enumeration { case 0x23 => noDecoder(ActionCancelAcknowledgeMessage) case 0x24 => game.SetEmpireMessage.decode case 0x25 => game.EmoteMsg.decode - case 0x26 => noDecoder(UnuseItemMessage) + case 0x26 => game.UnuseItemMessage.decode case 0x27 => game.ObjectDetachMessage.decode // 0x28 case 0x28 => game.CreateShortcutMessage.decode diff --git a/common/src/main/scala/net/psforever/packet/game/UnuseItemMessage.scala b/common/src/main/scala/net/psforever/packet/game/UnuseItemMessage.scala new file mode 100644 index 00000000..d9b3d85d --- /dev/null +++ b/common/src/main/scala/net/psforever/packet/game/UnuseItemMessage.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._ + +/** + * Dispatched by the client when its player is done using something. + * The classic example is sifting through backpacks, an exclusive activity that only one player can do at a time. + */ +final case class UnuseItemMessage(guid1 : PlanetSideGUID, + guid2 : PlanetSideGUID) + extends PlanetSideGamePacket { + type Packet = UnuseItemMessage + def opcode = GamePacketOpcode.UnuseItemMessage + def encode = UnuseItemMessage.encode(this) +} + +object UnuseItemMessage extends Marshallable[UnuseItemMessage] { + implicit val codec : Codec[UnuseItemMessage] = ( + ("guid1" | PlanetSideGUID.codec) :: + ("guid2" | PlanetSideGUID.codec) + ).as[UnuseItemMessage] +}