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 dc960220..dbadac2a 100644 --- a/common/src/main/scala/net/psforever/packet/game/SetEmpireMessage.scala +++ b/common/src/main/scala/net/psforever/packet/game/SetEmpireMessage.scala @@ -5,6 +5,10 @@ import net.psforever.packet.{GamePacketOpcode, Marshallable, PacketHelpers, Plan import scodec.Codec 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) + */ final case class SetEmpireMessage(continent_guid : PlanetSideGUID, empire : PlanetSideEmpire.Value) extends PlanetSideGamePacket { @@ -15,7 +19,7 @@ final case class SetEmpireMessage(continent_guid : PlanetSideGUID, object SetEmpireMessage extends Marshallable[SetEmpireMessage] { implicit val codec : Codec[SetEmpireMessage] = ( - ("continent_guid" | PlanetSideGUID.codec) :: + ("object_guid" | PlanetSideGUID.codec) :: ("empire" | PlanetSideEmpire.codec) ).as[SetEmpireMessage] } diff --git a/pslogin/src/main/scala/WorldSessionActor.scala b/pslogin/src/main/scala/WorldSessionActor.scala index 1e1a49ed..846f4c11 100644 --- a/pslogin/src/main/scala/WorldSessionActor.scala +++ b/pslogin/src/main/scala/WorldSessionActor.scala @@ -140,7 +140,10 @@ 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) - sendResponse(PacketCoding.CreateGamePacket(0, SetEmpireMessage(PlanetSideGUID(7), PlanetSideEmpire.VS))) + // VS Sanc specific object_guids + 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 + sendResponse(PacketCoding.CreateGamePacket(0, ContinentalLockUpdateMessage(PlanetSideGUID(13), PlanetSideEmpire.VS))) // "The VS have captured the VS Sanctuary." sendResponse(PacketCoding.CreateGamePacket(0, BroadcastWarpgateUpdateMessage(PlanetSideGUID(13), PlanetSideGUID(1), 32))) // VS Sanctuary: Inactive Warpgate -> Broadcast Warpgate