mirror of
https://github.com/2revoemag/PSF-BotServer.git
synced 2026-07-11 22:44:37 +00:00
Packet: AvatarJumpMessage (#41)
* added AvatarJumpMessage packet * I was advised to commit these chanegs first
This commit is contained in:
parent
13a096de60
commit
29cf96bafb
4 changed files with 44 additions and 1 deletions
|
|
@ -382,7 +382,7 @@ object GamePacketOpcode extends Enumeration {
|
||||||
case SetCurrentAvatarMessage => game.SetCurrentAvatarMessage.decode
|
case SetCurrentAvatarMessage => game.SetCurrentAvatarMessage.decode
|
||||||
case ObjectHeldMessage => game.ObjectHeldMessage.decode
|
case ObjectHeldMessage => game.ObjectHeldMessage.decode
|
||||||
case WeaponFireMessage => game.WeaponFireMessage.decode
|
case WeaponFireMessage => game.WeaponFireMessage.decode
|
||||||
case AvatarJumpMessage => noDecoder(opcode)
|
case AvatarJumpMessage => game.AvatarJumpMessage.decode
|
||||||
case PickupItemMessage => noDecoder(opcode)
|
case PickupItemMessage => noDecoder(opcode)
|
||||||
case DropItemMessage => game.DropItemMessage.decode
|
case DropItemMessage => game.DropItemMessage.decode
|
||||||
case InventoryStateMessage => noDecoder(opcode)
|
case InventoryStateMessage => noDecoder(opcode)
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
// 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._
|
||||||
|
import scodec.bits._
|
||||||
|
|
||||||
|
final case class AvatarJumpMessage(state : Boolean)
|
||||||
|
extends PlanetSideGamePacket {
|
||||||
|
type Packet = AvatarJumpMessage
|
||||||
|
def opcode = GamePacketOpcode.AvatarJumpMessage
|
||||||
|
def encode = AvatarJumpMessage.encode(this)
|
||||||
|
}
|
||||||
|
|
||||||
|
object AvatarJumpMessage extends Marshallable[AvatarJumpMessage] {
|
||||||
|
implicit val codec : Codec[AvatarJumpMessage] = (
|
||||||
|
("state" | bool)
|
||||||
|
).as[AvatarJumpMessage]
|
||||||
|
}
|
||||||
|
|
@ -350,6 +350,26 @@ class GamePacketTest extends Specification {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
"AvatarJumpMessage" should {
|
||||||
|
val string = hex"35 80"
|
||||||
|
|
||||||
|
"decode" in {
|
||||||
|
PacketCoding.DecodePacket(string).require match {
|
||||||
|
case AvatarJumpMessage(state) =>
|
||||||
|
state mustEqual true
|
||||||
|
case default =>
|
||||||
|
ko
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
"encode" in {
|
||||||
|
val msg = AvatarJumpMessage(true)
|
||||||
|
val pkt = PacketCoding.EncodePacket(msg).require.toByteVector
|
||||||
|
|
||||||
|
pkt mustEqual string
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
"RequestDestroyMessage" should {
|
"RequestDestroyMessage" should {
|
||||||
val string = hex"2D A49C"
|
val string = hex"2D A49C"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -178,6 +178,9 @@ class WorldSessionActor extends Actor with MDCContextAware {
|
||||||
case msg @ ObjectHeldMessage(avatar_guid, held_holsters, unk1) =>
|
case msg @ ObjectHeldMessage(avatar_guid, held_holsters, unk1) =>
|
||||||
log.info("ObjectHeld: " + msg)
|
log.info("ObjectHeld: " + msg)
|
||||||
|
|
||||||
|
case msg @ AvatarJumpMessage(state) =>
|
||||||
|
//log.info("AvatarJump: " + msg)
|
||||||
|
|
||||||
case msg @ RequestDestroyMessage(object_guid) =>
|
case msg @ RequestDestroyMessage(object_guid) =>
|
||||||
log.info("RequestDestroy: " + msg)
|
log.info("RequestDestroy: " + msg)
|
||||||
// TODO: Make sure this is the correct response in all cases
|
// TODO: Make sure this is the correct response in all cases
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue