SetEmpireMessage

This commit is contained in:
Aphedox 2016-08-11 23:09:11 -05:00
parent 50d9294b3e
commit cc3cd06bfb
3 changed files with 23 additions and 1 deletions

View file

@ -361,7 +361,7 @@ object GamePacketOpcode extends Enumeration {
case ActionProgressMessage => noDecoder(opcode)
case ActionCancelMessage => noDecoder(opcode)
case ActionCancelAcknowledgeMessage => noDecoder(opcode)
case SetEmpireMessage => noDecoder(opcode)
case SetEmpireMessage => game.SetEmpireMessage.decode
case EmoteMsg => game.EmoteMsg.decode
case UnuseItemMessage => noDecoder(opcode)
case ObjectDetachMessage => noDecoder(opcode)

View file

@ -0,0 +1,21 @@
// Copyright (c) 2016 PSForever.net to present
package net.psforever.packet.game
import net.psforever.packet.{GamePacketOpcode, Marshallable, PacketHelpers, PlanetSideGamePacket}
import scodec.Codec
import scodec.codecs._
final case class SetEmpireMessage(continent_guid : PlanetSideGUID,
empire : PlanetSideEmpire.Value)
extends PlanetSideGamePacket {
type Packet = SetEmpireMessage
def opcode = GamePacketOpcode.SetEmpireMessage
def encode = SetEmpireMessage.encode(this)
}
object SetEmpireMessage extends Marshallable[SetEmpireMessage] {
implicit val codec : Codec[SetEmpireMessage] = (
("continent_guid" | PlanetSideGUID.codec) ::
("empire" | PlanetSideEmpire.codec)
).as[SetEmpireMessage]
}

View file

@ -140,6 +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)
sendResponse(PacketCoding.CreateGamePacket(0, SetEmpireMessage(PlanetSideGUID(7), PlanetSideEmpire.VS)))
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