diff --git a/common/src/main/scala/net/psforever/packet/game/TrainingZoneMessage.scala b/common/src/main/scala/net/psforever/packet/game/TrainingZoneMessage.scala index 21885a17..59367263 100644 --- a/common/src/main/scala/net/psforever/packet/game/TrainingZoneMessage.scala +++ b/common/src/main/scala/net/psforever/packet/game/TrainingZoneMessage.scala @@ -27,8 +27,10 @@ import scodec.codecs._ * 21 - `15` - NC Vehicle Training Area
* 22 - `16` - VS Vehicle Training Area * @param zone the virtual reality zone to send the player + * @param unk na; always 0? */ -final case class TrainingZoneMessage(zone : Long) +final case class TrainingZoneMessage(zone : PlanetSideGUID, + unk : Int = 0) extends PlanetSideGamePacket { type Packet = TrainingZoneMessage def opcode = GamePacketOpcode.TrainingZoneMessage @@ -37,6 +39,7 @@ final case class TrainingZoneMessage(zone : Long) object TrainingZoneMessage extends Marshallable[TrainingZoneMessage] { implicit val codec : Codec[TrainingZoneMessage] = ( - "zone" | uint32L + ("zone" | PlanetSideGUID.codec) :: + ("unk" | uint16L) ).as[TrainingZoneMessage] } diff --git a/common/src/test/scala/GamePacketTest.scala b/common/src/test/scala/GamePacketTest.scala index 3aab6ca3..04787b75 100644 --- a/common/src/test/scala/GamePacketTest.scala +++ b/common/src/test/scala/GamePacketTest.scala @@ -835,15 +835,15 @@ class GamePacketTest extends Specification { "decode" in { PacketCoding.DecodePacket(string).require match { - case TrainingZoneMessage(zone) => - zone mustEqual 19 + case TrainingZoneMessage(zone, unk) => + zone mustEqual PlanetSideGUID(19) case default => ko } } "encode" in { - val msg = TrainingZoneMessage(19) + val msg = TrainingZoneMessage(PlanetSideGUID(19)) val pkt = PacketCoding.EncodePacket(msg).require.toByteVector pkt mustEqual string