diff --git a/common/src/main/scala/net/psforever/packet/game/CharacterRequestMessage.scala b/common/src/main/scala/net/psforever/packet/game/CharacterRequestMessage.scala index cf870879..7d139228 100644 --- a/common/src/main/scala/net/psforever/packet/game/CharacterRequestMessage.scala +++ b/common/src/main/scala/net/psforever/packet/game/CharacterRequestMessage.scala @@ -5,11 +5,18 @@ import net.psforever.packet.{GamePacketOpcode, Marshallable, PacketHelpers, Plan import scodec.Codec import scodec.codecs._ +object CharacterRequestAction extends Enumeration(0) { + type Type = Value + val Select, Delete, Unused, Unknown3 = Value + + implicit val codec = PacketHelpers.createLongEnumerationCodec(this, uint32L) +} + /** * Is sent by the PlanetSide client when selecting a character to play from the character selection * menu. */ -final case class CharacterRequestMessage(unk : Long, unk2 : Long) +final case class CharacterRequestMessage(charId : Long, action: CharacterRequestAction.Type) extends PlanetSideGamePacket { type Packet = CharacterRequestMessage def opcode = GamePacketOpcode.CharacterRequestMessage @@ -18,7 +25,7 @@ final case class CharacterRequestMessage(unk : Long, unk2 : Long) object CharacterRequestMessage extends Marshallable[CharacterRequestMessage] { implicit val codec : Codec[CharacterRequestMessage] = ( - ("unk1" | uint32L) :: - ("unk2" | uint32L) + ("charId" | uint32L) :: + ("action" | CharacterRequestAction.codec) ).as[CharacterRequestMessage] } \ No newline at end of file