mirror of
https://github.com/2revoemag/PSF-BotServer.git
synced 2026-01-19 18:14:44 +00:00
* Squad -> SquadFeatures from a common lookup * refactor to SquadService, etc.; clarification of fields related to outfit ids * thorough pass over squad functionality in regards to joining a squad or rejecting a squad invitation * decorating squads in the squad list to indicate availability based on size/capacity or role requirements * squad list decoration; rudimentary squad list searching * renovations to squad joining, promotion, and certain invitation/cleanup procedures * further renovations to squad joining, promotion, and certain invitation/cleanup procedures * overhaul of squad joining and squad promotion * separated the invitation system from the squad publishing and manipulating system
72 lines
2 KiB
Scala
72 lines
2 KiB
Scala
// Copyright (c) 2017 PSForever
|
|
package game
|
|
|
|
import net.psforever.objects.avatar.Certification
|
|
import org.specs2.mutable._
|
|
import net.psforever.packet._
|
|
import net.psforever.packet.game._
|
|
import net.psforever.types.PlanetSideGUID
|
|
import scodec.bits._
|
|
|
|
class CharacterKnowledgeMessageTest extends Specification {
|
|
val string = hex"ec cc637a02 45804600720061006e006b0065006e00740061006e006b0003c022dc0008f01800"
|
|
|
|
"decode" in {
|
|
PacketCoding.decodePacket(string).require match {
|
|
case CharacterKnowledgeMessage(char_id, Some(info)) =>
|
|
char_id mustEqual 41575372L
|
|
info mustEqual CharacterKnowledgeInfo(
|
|
"Frankentank",
|
|
Set(
|
|
Certification.StandardAssault,
|
|
Certification.ArmoredAssault1,
|
|
Certification.MediumAssault,
|
|
Certification.ReinforcedExoSuit,
|
|
Certification.Harasser,
|
|
Certification.Engineering,
|
|
Certification.GroundSupport,
|
|
Certification.AgileExoSuit,
|
|
Certification.AIMAX,
|
|
Certification.StandardExoSuit,
|
|
Certification.AAMAX,
|
|
Certification.ArmoredAssault2
|
|
),
|
|
15,
|
|
0,
|
|
12
|
|
)
|
|
case _ =>
|
|
ko
|
|
}
|
|
}
|
|
|
|
"encode" in {
|
|
val msg = CharacterKnowledgeMessage(
|
|
41575372L,
|
|
CharacterKnowledgeInfo(
|
|
"Frankentank",
|
|
Set(
|
|
Certification.StandardAssault,
|
|
Certification.ArmoredAssault1,
|
|
Certification.MediumAssault,
|
|
Certification.ReinforcedExoSuit,
|
|
Certification.Harasser,
|
|
Certification.Engineering,
|
|
Certification.GroundSupport,
|
|
Certification.AgileExoSuit,
|
|
Certification.AIMAX,
|
|
Certification.StandardExoSuit,
|
|
Certification.AAMAX,
|
|
Certification.ArmoredAssault2
|
|
),
|
|
15,
|
|
0,
|
|
12
|
|
)
|
|
)
|
|
val pkt = PacketCoding.encodePacket(msg).require.toByteVector
|
|
|
|
pkt mustEqual string
|
|
}
|
|
}
|