diff --git a/common/src/main/scala/net/psforever/packet/game/AvatarFirstTimeEventMessage.scala b/common/src/main/scala/net/psforever/packet/game/AvatarFirstTimeEventMessage.scala
index 0fd5bc10..29c5b3af 100644
--- a/common/src/main/scala/net/psforever/packet/game/AvatarFirstTimeEventMessage.scala
+++ b/common/src/main/scala/net/psforever/packet/game/AvatarFirstTimeEventMessage.scala
@@ -5,9 +5,29 @@ import net.psforever.packet.{GamePacketOpcode, Marshallable, PacketHelpers, Plan
import scodec.Codec
import scodec.codecs._
+/**
+ * Dispatched to the server when the player encounters something for the very first time in their campaign.
+ * For example, the first time the player rubs up against a game object with a yellow exclamation point.
+ * For example, the first time the player draws a specific weapon.
+ *
+ * When the first time events (FTE's) are received, battle experience is awarded.
+ * Text information about the object will be displayed.
+ * A certain itemized checkbox under the "Training" tab that corresponds is marked off.
+ * The latter list indicates all "encounter-able" game objects for which a FTE exists.
+ * These effects only happen once per character/campaign.
+ * (The Motion Sensor will occasionally erroneously display the information window on repeat encounters.
+ * No additional experience is given, though.)
+ *
+ * FTE's are recorded in a great `List` of `String`s in the middle of player `ObjectCreateMessage` data.
+ * Tutorial complete events are enqueued nearby.
+ * @param avatar_guid the player
+ * @param object_id the game object that triggers the event
+ * @param unk na
+ * @param event_name the string name of the event
+ */
final case class AvatarFirstTimeEventMessage(avatar_guid : PlanetSideGUID,
- object_guid : PlanetSideGUID,
- unk1 : Long,
+ object_id : PlanetSideGUID,
+ unk : Long,
event_name : String)
extends PlanetSideGamePacket {
type Packet = AvatarFirstTimeEventMessage
@@ -18,8 +38,8 @@ final case class AvatarFirstTimeEventMessage(avatar_guid : PlanetSideGUID,
object AvatarFirstTimeEventMessage extends Marshallable[AvatarFirstTimeEventMessage] {
implicit val codec : Codec[AvatarFirstTimeEventMessage] = (
("avatar_guid" | PlanetSideGUID.codec) ::
- ("object_guid" | PlanetSideGUID.codec) ::
- ("unk1" | uint32L ) ::
+ ("object_id" | PlanetSideGUID.codec) ::
+ ("unk" | uint32L ) ::
("event_name" | PacketHelpers.encodedString)
).as[AvatarFirstTimeEventMessage]
}