mirror of
https://github.com/2revoemag/PSF-BotServer.git
synced 2026-07-12 06:55:10 +00:00
initial work on TargetingImplantRequest packet
This commit is contained in:
parent
f1dfc20cb3
commit
0629fa5eb7
2 changed files with 36 additions and 1 deletions
|
|
@ -533,7 +533,7 @@ object GamePacketOpcode extends Enumeration {
|
||||||
case 0xb2 => game.VoiceHostInfo.decode
|
case 0xb2 => game.VoiceHostInfo.decode
|
||||||
case 0xb3 => noDecoder(BattleplanMessage)
|
case 0xb3 => noDecoder(BattleplanMessage)
|
||||||
case 0xb4 => game.BattleExperienceMessage.decode
|
case 0xb4 => game.BattleExperienceMessage.decode
|
||||||
case 0xb5 => noDecoder(TargetingImplantRequest)
|
case 0xb5 => game.TargetingImplantRequest.decode
|
||||||
case 0xb6 => game.ZonePopulationUpdateMessage.decode
|
case 0xb6 => game.ZonePopulationUpdateMessage.decode
|
||||||
case 0xb7 => game.DisconnectMessage.decode
|
case 0xb7 => game.DisconnectMessage.decode
|
||||||
// 0xb8
|
// 0xb8
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
// Copyright (c) 2017 PSForever
|
||||||
|
package net.psforever.packet.game
|
||||||
|
|
||||||
|
import net.psforever.packet.{GamePacketOpcode, Marshallable, PlanetSideGamePacket}
|
||||||
|
import scodec.Codec
|
||||||
|
import scodec.codecs._
|
||||||
|
import shapeless.{::, HNil}
|
||||||
|
|
||||||
|
final case class TargetRequest(target_guid : PlanetSideGUID,
|
||||||
|
unk : Boolean)
|
||||||
|
|
||||||
|
final case class TargetingImplantRequest(target_list : List[TargetRequest])
|
||||||
|
extends PlanetSideGamePacket {
|
||||||
|
type Packet = TargetingImplantRequest
|
||||||
|
def opcode = GamePacketOpcode.TargetingImplantRequest
|
||||||
|
def encode = TargetingImplantRequest.encode(this)
|
||||||
|
}
|
||||||
|
|
||||||
|
object TargetingImplantRequest extends Marshallable[TargetingImplantRequest] {
|
||||||
|
private val request_codec : Codec[TargetRequest] = (
|
||||||
|
("target_guid" | PlanetSideGUID.codec) ::
|
||||||
|
("unk" | bool)
|
||||||
|
).xmap[TargetRequest] (
|
||||||
|
{
|
||||||
|
case a :: b :: HNil =>
|
||||||
|
TargetRequest(a, b)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
case TargetRequest(a, b) =>
|
||||||
|
a :: b :: HNil
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
implicit val codec : Codec[TargetingImplantRequest] = ("target_list" | listOfN(intL(6), request_codec)).as[TargetingImplantRequest]
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue