diff --git a/common/src/main/scala/net/psforever/packet/GamePacketOpcode.scala b/common/src/main/scala/net/psforever/packet/GamePacketOpcode.scala
index 1117b9f4..b26a9834 100644
--- a/common/src/main/scala/net/psforever/packet/GamePacketOpcode.scala
+++ b/common/src/main/scala/net/psforever/packet/GamePacketOpcode.scala
@@ -18,14 +18,14 @@ object GamePacketOpcode extends Enumeration {
type Type = Value
val
// OPCODES 0x00-0f
- Unknown0,
+ Unknown0, // PPT_NULL in beta client
LoginMessage,
LoginRespMessage,
ConnectToWorldRequestMessage, // found by searching for 83 F8 03 89 in IDA
ConnectToWorldMessage,
VNLWorldStatusMessage,
- UnknownMessage6,
- UnknownMessage7,
+ UnknownMessage6, // PPT_TRANSFERTOWORLDREQUEST
+ UnknownMessage7, // PPT_TRANSFERTOWORLDRESPONSE
// 0x08
PlayerStateMessage,
HitMessage,
@@ -42,11 +42,11 @@ object GamePacketOpcode extends Enumeration {
ChatMsg,
CharacterNoRecordMessage,
CharacterInfoMessage,
- UnknownMessage21,
+ UnknownMessage21, // PPT_DISCONNECT
BindPlayerMessage,
- ObjectCreateMessage_Duplicate,
+ ObjectCreateMessage_Duplicate, // PPT_OBJECTCREATE
// 0x18
- ObjectCreateMessage,
+ ObjectCreateMessage, // PPT_OBJECTCREATEDETAILED
ObjectDeleteMessage,
PingMsg,
VehicleStateMessage,
@@ -56,7 +56,7 @@ object GamePacketOpcode extends Enumeration {
ActionResultMessage,
// OPCODES 0x20-2f
- UnknownMessage32,
+ UnknownMessage32, // PPT_ACTIONBEGIN
ActionProgressMessage,
ActionCancelMessage,
ActionCancelAcknowledgeMessage,
@@ -68,10 +68,10 @@ object GamePacketOpcode extends Enumeration {
CreateShortcutMessage,
ChangeShortcutBankMessage,
ObjectAttachMessage,
- UnknownMessage43,
+ UnknownMessage43, // PPT_OBJECTEMPTY
PlanetsideAttributeMessage,
RequestDestroyMessage,
- UnknownMessage46,
+ UnknownMessage46, // PPT_EQUIPITEM
CharacterCreateRequestMessage,
// OPCODES 0x30-3f
@@ -104,10 +104,10 @@ object GamePacketOpcode extends Enumeration {
ChangeAmmoMessage,
// 0x48
TimeOfDayMessage,
- UnknownMessage73,
+ UnknownMessage73, // PPT_PROJECTILE_EVENT_BLOCK
SpawnRequestMessage,
DeployRequestMessage,
- UnknownMessage76,
+ UnknownMessage76, // PPT_BUILDINGSTATECHANGED
RepairMessage,
ServerVehicleOverrideMsg,
LashMessage,
@@ -123,7 +123,7 @@ object GamePacketOpcode extends Enumeration {
AvatarVehicleTimerMessage,
// 0x58
AvatarImplantMessage,
- UnknownMessage89,
+ UnknownMessage89, // PPT_SEARCHMESSAGE
DelayedPathMountMsg,
OrbitalShuttleTimeMsg,
AIDamage,
@@ -165,8 +165,8 @@ object GamePacketOpcode extends Enumeration {
UnknownMessage122,
DamageFeedbackMessage,
DismountBuildingMsg,
- UnknownMessage125,
- UnknownMessage126,
+ UnknownMessage125, // PPT_MOUNTBUILDING
+ UnknownMessage126, // PPT_INTENDEDDROPZONE
AvatarStatisticsMessage,
// OPCODES 0x80-8f
diff --git a/common/src/main/scala/net/psforever/packet/game/ObjectDetectedMessage.scala b/common/src/main/scala/net/psforever/packet/game/ObjectDetectedMessage.scala
index 16851e9b..184a9d15 100644
--- a/common/src/main/scala/net/psforever/packet/game/ObjectDetectedMessage.scala
+++ b/common/src/main/scala/net/psforever/packet/game/ObjectDetectedMessage.scala
@@ -15,6 +15,14 @@ import shapeless.{::, HNil}
* @param list list of detected objects;
* normally contains at least one element
*/
+
+ /*
+ BETA CLIENT DEBUG INFO:
+ Detector
+ Sender
+ Object Count
+ Detected Object[]
+ */
final case class ObjectDetectedMessage(player_guid1 : PlanetSideGUID,
player_guid2 : PlanetSideGUID,
unk : Int,
diff --git a/common/src/main/scala/net/psforever/packet/game/PlanetsideAttributeMessage.scala b/common/src/main/scala/net/psforever/packet/game/PlanetsideAttributeMessage.scala
index d2eeb66e..8d320850 100644
--- a/common/src/main/scala/net/psforever/packet/game/PlanetsideAttributeMessage.scala
+++ b/common/src/main/scala/net/psforever/packet/game/PlanetsideAttributeMessage.scala
@@ -46,9 +46,13 @@ import scodec.codecs._
* `3 - staminaMax`
* `4 - armor`
* `5 - armorMax`
- * `6 - transform the (other) avatar in backpack on ground`
+ * `6 - PA_RELEASED - transform the (other) avatar in backpack on ground`
+ * `7 - Sets charge level for MAX capacitor`
+ * `8 - Enables empire specific max capacitor function - NC Shield, TR Overdrive, VS Jumpjets`
+ * `9 - Possibly unused now - PA_SHIELDSTRENGTH in beta client`
* `14 - Something with grief`
* `15 - Weapon Lock. Value exemple : 600 to have 1 min lock. Max possible is 30min lock`
+ * `16 - PA_DECONSTRUCTING in beta client`
* `17 - BEP. Value seems to be the same as BattleExperienceMessage`
* `18 - CEP.`
* `19 - Anchors. Value is 0 to disengage, 1 to engage.`
@@ -107,8 +111,11 @@ import scodec.codecs._
* 43 : Fortification Engineering
* 44 : Assault Engineering
* 45 : Advanced Engineering (= Fortification Engineering + Assault Engineering) Must have Combat Engineering
- * `25 - Forget certifications (same order as 24)`
- * `29 - Visible ?! That's not the cloaked effect, Maybe for spectator mode ?. Value is 0 to visible, 1 to invisible.`
+ * `25 - Forget certifications (same order as 24)`
+ * `26 - Certification reset timer (in seconds)`
+ * `27 - PA_JAMMED - plays jammed buzzing sound`
+ * `28 - PA_IMPLANT_ACTIVE - Plays implant sounds. Valid values seem to be up to 20.`
+ * `29 - PA_VAPORIZED - Visible ?! That's not the cloaked effect, Maybe for spectator mode ?. Value is 0 to visible, 1 to invisible.`
* `31 - Info under avatar name : 0 = LFS, 1 = Looking For Squad Members`
* `32 - Info under avatar name : 0 = Looking For Squad Members, 1 = LFS`
* `35 - BR. Value is the BR`
diff --git a/common/src/main/scala/net/psforever/packet/game/PlayerStateMessage.scala b/common/src/main/scala/net/psforever/packet/game/PlayerStateMessage.scala
index a3758155..f5ced77c 100644
--- a/common/src/main/scala/net/psforever/packet/game/PlayerStateMessage.scala
+++ b/common/src/main/scala/net/psforever/packet/game/PlayerStateMessage.scala
@@ -38,7 +38,7 @@ import shapeless.{::, HNil}
* @param facingYawUpper a "yaw" angle that represents the angle of the avatar's upper body with respect to its forward-facing direction;
* this number is normally 0 for forward facing;
* the range is limited between approximately 61 degrees of center turned to left or right
- * @param unk1 na
+ * @param timestamp A sequential counter
* @param is_crouching avatar is crouching
* @param is_jumping avatar is jumping;
* must remain flagged for jump to maintain animation
@@ -51,7 +51,7 @@ final case class PlayerStateMessage(guid : PlanetSideGUID,
facingYaw : Float,
facingPitch : Float,
facingYawUpper : Float,
- unk1 : Int,
+ timestamp : Int,
is_crouching : Boolean = false,
is_jumping : Boolean = false,
jump_thrust : Boolean = false,
diff --git a/common/src/main/scala/net/psforever/packet/game/TriggerEnvironmentalDamageMessage.scala b/common/src/main/scala/net/psforever/packet/game/TriggerEnvironmentalDamageMessage.scala
index 47028805..0f9335b5 100644
--- a/common/src/main/scala/net/psforever/packet/game/TriggerEnvironmentalDamageMessage.scala
+++ b/common/src/main/scala/net/psforever/packet/game/TriggerEnvironmentalDamageMessage.scala
@@ -19,6 +19,14 @@ import scodec.codecs._
* @param unk2 na;
* usually 5L
*/
+
+ /*
+ BETA CLIENT DEBUG INFO:
+ Message type: %d (%s)\n length: %d\n
+ Environment Type: %u (%s)\n
+ Guid: %d\n
+ Damage Amount: %u\n
+ */
final case class TriggerEnvironmentalDamageMessage(unk1 : Int,
target_guid : PlanetSideGUID,
unk2 : Long)
diff --git a/common/src/main/scala/net/psforever/packet/game/UseItemMessage.scala b/common/src/main/scala/net/psforever/packet/game/UseItemMessage.scala
index be4eadad..1a69248a 100644
--- a/common/src/main/scala/net/psforever/packet/game/UseItemMessage.scala
+++ b/common/src/main/scala/net/psforever/packet/game/UseItemMessage.scala
@@ -31,6 +31,19 @@ import scodec.codecs._
* 0 when door 1 when use rek (252 then equipment term)
* @param object_id the object id `object_guid`'s object
*/
+
+ /*
+ BETA CLIENT DEBUG INFO:
+ User GUID
+ UsedItem GUID
+ Target GUID
+ Old SlotIndex
+ Weapon Fire Use
+ RayTrace Start Position (3 fields - Vector3)
+ RayTrace Intersection Position (3 fields - Vector3)
+ Orientation (3 fields - Vector3)
+ Client Target ClassID
+ */
final case class UseItemMessage(avatar_guid : PlanetSideGUID,
item_used_guid : PlanetSideGUID,
object_guid : PlanetSideGUID,
diff --git a/common/src/main/scala/net/psforever/packet/game/VehicleStateMessage.scala b/common/src/main/scala/net/psforever/packet/game/VehicleStateMessage.scala
index bd6eac63..b5cf821d 100644
--- a/common/src/main/scala/net/psforever/packet/game/VehicleStateMessage.scala
+++ b/common/src/main/scala/net/psforever/packet/game/VehicleStateMessage.scala
@@ -29,6 +29,21 @@ import scodec.codecs._
* @param unk6 na
* @see `PlacementData`
*/
+
+ /*
+ BETA CLIENT DEBUG INFO:
+ Guid
+ Agreement Id
+ Turn
+ Brakes
+ Position
+ Orientation
+ Velocity
+ Flight Status
+ Path Number
+ Has Damage Info %d (%d %d %d %d)
+ Cloaking
+ */
final case class VehicleStateMessage(vehicle_guid : PlanetSideGUID,
unk1 : Int,
pos : Vector3,
diff --git a/pslogin/src/main/scala/WorldSessionActor.scala b/pslogin/src/main/scala/WorldSessionActor.scala
index e285dbc5..704ea226 100644
--- a/pslogin/src/main/scala/WorldSessionActor.scala
+++ b/pslogin/src/main/scala/WorldSessionActor.scala
@@ -1104,7 +1104,7 @@ class WorldSessionActor extends Actor with MDCContextAware {
msg.facingYaw,
msg.facingPitch,
msg.facingYawUpper,
- unk1 = 0,
+ timestamp = 0,
msg.is_crouching,
msg.is_jumping,
msg.jump_thrust,