2017-03-06 19:30:45 -05:00
|
|
|
// Copyright (c) 2017 PSForever
|
2017-03-04 10:06:10 -05:00
|
|
|
package game
|
|
|
|
|
|
|
|
|
|
import org.specs2.mutable._
|
|
|
|
|
import net.psforever.packet._
|
|
|
|
|
import net.psforever.packet.game._
|
|
|
|
|
import net.psforever.types.Vector3
|
|
|
|
|
import scodec.bits._
|
|
|
|
|
|
|
|
|
|
class UseItemMessageTest extends Specification {
|
|
|
|
|
val string = hex"10 4B00 0000 7401 FFFFFFFF 4001000000000000000000000000058C803600800000"
|
|
|
|
|
|
|
|
|
|
"decode" in {
|
|
|
|
|
PacketCoding.DecodePacket(string).require match {
|
2017-04-11 14:03:56 +02:00
|
|
|
case UseItemMessage(avatar_guid, unk1, object_guid, unk2, unk3, unk4, unk5, unk6, unk7, unk8, itemType) =>
|
2017-03-04 10:06:10 -05:00
|
|
|
avatar_guid mustEqual PlanetSideGUID(75)
|
2018-07-14 21:25:44 -04:00
|
|
|
unk1 mustEqual PlanetSideGUID(0)
|
2017-03-04 10:06:10 -05:00
|
|
|
object_guid mustEqual PlanetSideGUID(372)
|
|
|
|
|
unk2 mustEqual 0xFFFFFFFFL
|
|
|
|
|
unk3 mustEqual false
|
|
|
|
|
unk4 mustEqual Vector3(5.0f, 0.0f, 0.0f)
|
|
|
|
|
unk5 mustEqual Vector3(0.0f, 0.0f, 0.0f)
|
|
|
|
|
unk6 mustEqual 11
|
|
|
|
|
unk7 mustEqual 25
|
|
|
|
|
unk8 mustEqual 0
|
2017-04-11 14:03:56 +02:00
|
|
|
itemType mustEqual 364
|
2017-03-04 10:06:10 -05:00
|
|
|
case _ =>
|
|
|
|
|
ko
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
"encode" in {
|
2018-07-14 21:25:44 -04:00
|
|
|
val msg = UseItemMessage(PlanetSideGUID(75), PlanetSideGUID(0), PlanetSideGUID(372), 0xFFFFFFFFL, false, Vector3(5.0f, 0.0f, 0.0f), Vector3(0.0f, 0.0f, 0.0f), 11, 25, 0, 364)
|
2017-03-04 10:06:10 -05:00
|
|
|
val pkt = PacketCoding.EncodePacket(msg).require.toByteVector
|
|
|
|
|
|
|
|
|
|
pkt mustEqual string
|
|
|
|
|
}
|
|
|
|
|
}
|