From e326f454e55f35f67fad06651a2f32e6ca9f2f49 Mon Sep 17 00:00:00 2001 From: Aphedox Date: Sat, 13 Aug 2016 19:12:21 -0500 Subject: [PATCH] misc --- .../packet/game/SetEmpireMessage.scala | 6 +++--- common/src/test/scala/GamePacketTest.scala | 21 +++++++++++++++++++ .../src/main/scala/WorldSessionActor.scala | 2 +- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/common/src/main/scala/net/psforever/packet/game/SetEmpireMessage.scala b/common/src/main/scala/net/psforever/packet/game/SetEmpireMessage.scala index dbadac2a..a0a42020 100644 --- a/common/src/main/scala/net/psforever/packet/game/SetEmpireMessage.scala +++ b/common/src/main/scala/net/psforever/packet/game/SetEmpireMessage.scala @@ -7,9 +7,9 @@ import scodec.codecs._ /** * The object_guid space for SetEmpireMessage is continent specific. - * SetEmpireMessage is usually followed by HackMessage (indicating the hack disposition of the same object_guid) + * SetEmpireMessage is usually followed by HackMessage (indicating the hack disposition of the same building_guid) */ -final case class SetEmpireMessage(continent_guid : PlanetSideGUID, +final case class SetEmpireMessage(building_guid : PlanetSideGUID, empire : PlanetSideEmpire.Value) extends PlanetSideGamePacket { type Packet = SetEmpireMessage @@ -19,7 +19,7 @@ final case class SetEmpireMessage(continent_guid : PlanetSideGUID, object SetEmpireMessage extends Marshallable[SetEmpireMessage] { implicit val codec : Codec[SetEmpireMessage] = ( - ("object_guid" | PlanetSideGUID.codec) :: + ("building_guid" | PlanetSideGUID.codec) :: ("empire" | PlanetSideEmpire.codec) ).as[SetEmpireMessage] } diff --git a/common/src/test/scala/GamePacketTest.scala b/common/src/test/scala/GamePacketTest.scala index 167b8a7a..847bc7e3 100644 --- a/common/src/test/scala/GamePacketTest.scala +++ b/common/src/test/scala/GamePacketTest.scala @@ -796,6 +796,27 @@ class GamePacketTest extends Specification { } } + "SetEmpireMessage" should { + val string = hex"24 02 00 80" + + "decode" in { + PacketCoding.DecodePacket(string).require match { + case SetEmpireMessage(building_guid, empire) => + building_guid mustEqual PlanetSideGUID(2) + empire mustEqual PlanetSideEmpire.VS + case default => + ko + } + } + + "encode" in { + val msg = SetEmpireMessage(PlanetSideGUID(2), PlanetSideEmpire.VS) + val pkt = PacketCoding.EncodePacket(msg).require.toByteVector + + pkt mustEqual string + } + } + "PingMsg" should { val packet = hex"1a 00000000 b0360000" diff --git a/pslogin/src/main/scala/WorldSessionActor.scala b/pslogin/src/main/scala/WorldSessionActor.scala index 846f4c11..e0e5f03a 100644 --- a/pslogin/src/main/scala/WorldSessionActor.scala +++ b/pslogin/src/main/scala/WorldSessionActor.scala @@ -140,7 +140,7 @@ class WorldSessionActor extends Actor with MDCContextAware { sendRawResponse(hex"31 85 6D 61 70 31 33 85 68 6F 6D 65 33 A4 9C 19 00 00 00 AE 30 5E 70 00 ") sendRawResponse(objectHex) - // VS Sanc specific object_guids + // These building_guids are specfic to VS Sanc sendResponse(PacketCoding.CreateGamePacket(0, SetEmpireMessage(PlanetSideGUID(2), PlanetSideEmpire.VS))) //HART building C sendResponse(PacketCoding.CreateGamePacket(0, SetEmpireMessage(PlanetSideGUID(29), PlanetSideEmpire.NC))) //South Villa Gun Tower