initial AvatarGrenadeStateMessage packet

This commit is contained in:
FateJH 2016-09-30 10:05:46 -04:00
parent daa22c572e
commit 51b0b6905d
2 changed files with 41 additions and 1 deletions

View file

@ -519,7 +519,7 @@ object GamePacketOpcode extends Enumeration {
case 0xa7 => noDecoder(GenericActionMessage)
// 0xa8
case 0xa8 => game.ContinentalLockUpdateMessage.decode
case 0xa9 => noDecoder(AvatarGrenadeStateMessage)
case 0xa9 => game.AvatarGrenadeStateMessage.decode
case 0xaa => noDecoder(UnknownMessage170)
case 0xab => noDecoder(UnknownMessage171)
case 0xac => noDecoder(ReleaseAvatarRequestMessage)

View file

@ -0,0 +1,40 @@
// 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._
object GrenadeState extends Enumeration {
type Type = Value
val unk0,
PRIMED,
THROWN,
unk3
= Value
implicit val codec = PacketHelpers.createEnumerationCodec(this, uintL(1))
}
/**
* na
* @param player_guid the player
* @param count the state
*/
//case msg @ AvatarGrenadeStateMessage(player_guid, state) =>
//log.info("AvatarGrenadeStateMessage: " + msg)
final case class AvatarGrenadeStateMessage(player_guid : PlanetSideGUID,
count : GrenadeState.Value)
extends PlanetSideGamePacket {
type Packet = AvatarGrenadeStateMessage
def opcode = GamePacketOpcode.AvatarGrenadeStateMessage
def encode = AvatarGrenadeStateMessage.encode(this)
}
object AvatarGrenadeStateMessage extends Marshallable[AvatarGrenadeStateMessage] {
implicit val codec : Codec[AvatarGrenadeStateMessage] = (
("player_guid" | PlanetSideGUID.codec) ::
("state" | GrenadeState.codec)
).as[AvatarGrenadeStateMessage]
}