mirror of
https://github.com/2revoemag/PSF-BotServer.git
synced 2026-01-19 18:14:44 +00:00
modifying packet for previously unhandled fields (all)
This commit is contained in:
parent
c392b1c500
commit
aee720ae84
|
|
@ -20,6 +20,9 @@ final case class Additional1(unk1 : String,
|
|||
unk2 : Int,
|
||||
unk3 : Long)
|
||||
|
||||
final case class Additional2(unk1 : Int,
|
||||
unk2 : Long)
|
||||
|
||||
final case class Additional3(unk1 : Boolean,
|
||||
unk2 : Int)
|
||||
|
||||
|
|
@ -40,7 +43,7 @@ final case class BuildingInfoUpdateMessage(continent_guid : PlanetSideGUID,
|
|||
force_dome_active : Boolean,
|
||||
lattice_benefit : Int,
|
||||
unk3 : Int,
|
||||
unk4 : Int,
|
||||
unk4 : List[Additional2],
|
||||
unk5 : Long,
|
||||
unk6 : Boolean,
|
||||
unk7 : Int,
|
||||
|
|
@ -60,6 +63,11 @@ object BuildingInfoUpdateMessage extends Marshallable[BuildingInfoUpdateMessage]
|
|||
("unk3" | uint32L)
|
||||
).as[Additional1]
|
||||
|
||||
private val additional2_codec : Codec[Additional2] = (
|
||||
("unk1" | uint4L) ::
|
||||
("unk2" | uint32L)
|
||||
).as[Additional2]
|
||||
|
||||
private val additional3_codec : Codec[Additional3] = (
|
||||
("unk1" | bool) ::
|
||||
("unk2" | uint2L)
|
||||
|
|
@ -80,8 +88,7 @@ object BuildingInfoUpdateMessage extends Marshallable[BuildingInfoUpdateMessage]
|
|||
("force_dome_active" | bool) ::
|
||||
("lattice_benefit" | uintL(5)) :: //5 possible benefits, bitwise combination. (MSB)5:Tech 4:Inter 3:Bio 2:Drop 1:Amp(LSB)
|
||||
("unk3" | uintL(10)) :: //Module related. 0x3FF gives all modules with no timer. Unclear how this works.
|
||||
("unk4" | uint4L) ::
|
||||
//TODO: additional fields if unk4 > 0
|
||||
("unk4" | listOfN(uint4L, additional2_codec)) ::
|
||||
("unk5" | uint32L) ::
|
||||
("unk6" | bool) ::
|
||||
(("unk7" | uint4L) >>:~ { unk7 =>
|
||||
|
|
|
|||
|
|
@ -1878,7 +1878,7 @@ class GamePacketTest extends Specification {
|
|||
force_dome_active : Boolean,
|
||||
lattice_benefit : Int,
|
||||
unk3 : Int,
|
||||
unk4 : Int,
|
||||
unk4 : List[Additional2],
|
||||
unk5 : Long,
|
||||
unk6 : Boolean,
|
||||
unk7 : Int,
|
||||
|
|
@ -1899,7 +1899,8 @@ class GamePacketTest extends Specification {
|
|||
force_dome_active mustEqual false
|
||||
lattice_benefit mustEqual 28
|
||||
unk3 mustEqual 0
|
||||
unk4 mustEqual 0
|
||||
unk4.size mustEqual 0
|
||||
unk4.isEmpty mustEqual true
|
||||
unk5 mustEqual 0
|
||||
unk6 mustEqual false
|
||||
unk7 mustEqual 8
|
||||
|
|
@ -1926,7 +1927,7 @@ class GamePacketTest extends Specification {
|
|||
false,
|
||||
28,
|
||||
0,
|
||||
0,
|
||||
Nil,
|
||||
0,
|
||||
false,
|
||||
8,
|
||||
|
|
|
|||
|
|
@ -206,7 +206,7 @@ class WorldSessionActor extends Actor with MDCContextAware {
|
|||
true, //Force dome active
|
||||
16, //Tech plant lattice benefit
|
||||
0,
|
||||
0, //!! Field > 0 will cause malformed packet. See class def.
|
||||
Nil, //!! Field > 0 will cause malformed packet. See class def.
|
||||
0,
|
||||
false,
|
||||
8, //!! Field != 8 will cause malformed packet. See class def.
|
||||
|
|
|
|||
Loading…
Reference in a new issue