# PSF-LoginServer - master - net.psforever.packet.game.objectcreate
PSF - LoginServer - master - net.psforever.packet.game.objectcreate
Keywords: PSF LoginServer master net.psforever.packet.game.objectcreate

PSF-LoginServer - master < Back


# Packages

-  package root
  Definition Classes
    root
-  package net
  Definition Classes
    root
-  package psforever
  Definition Classes
    net
-  package packet
  Definition Classes
    psforever
-  package game
  Definition Classes
    packet
-  package objectcreate
  Definition Classes
    game
- AegisShieldGeneratorData
- AmmoBoxData
- BasicCharacterData
- CaptureFlagData
- CharacterAppearanceA
- CharacterAppearanceB
- CharacterAppearanceData
- CharacterData
- CommonFieldData
- CommonFieldDataExtra
- CommonFieldDataWithPlacement
- ConstructorData
- DCDExtra1
- DCDExtra2
- DestroyedVehicleData
- DetailedAmmoBoxData
- DetailedCharacterA
- DetailedCharacterB
- DetailedCharacterData
- DetailedCommandDetonaterData
- DetailedConstructionToolData
- DetailedLockerContainerData
- DetailedPlayerData
- DetailedREKData
- DetailedWeaponData
- DrawnSlot
- DroppedItemData
- DroppodData
- FlightPhysics
- HandheldData
- ImplantEffects
- ImplantEntry
- InternalSlot
- InventoryData
- InventoryItemData
- LargeDeployableData
- LockerContainerData
- MountItem
- ObjectClass
- ObjectCreateBase
- ObjectCreateMessageParent
- OneMannedFieldTurretData
- OrbitalShuttleData
- PlacementData
- PlayerData
- Prefab
- REKData
- RemoteProjectileData
- RemoteProjectiles
- RibbonBars
- SmallTurretData
- SpecificVehicleData
- StreamBitSize
- TRAPData
- TelepadDeployableData
- TerminalData
- UniformStyle
- UtilityVehicleData
- VariantVehicleData
- VehicleData
- VehicleFormat
- WeaponData

p

net.psforever.packet.game

# objectcreate

#### package objectcreate


Ordering

1. Alphabetic

Visibility

1. Public
2. Protected

### Type Members

1.  final case class AegisShieldGeneratorData (deploy: CommonFieldDataWithPlacement, health: Int) extends ConstructorData with Product with Serializable

   A representation of the aegis shield generator deployed using an advanced adaptive construction engine.

   A representation of the aegis shield generator deployed using an advanced adaptive construction engine.

   deploy

     data common to objects spawned by the (advanced) adaptive construction engine

   health

     the amount of health the object has, as a percentage of a filled bar

2.  final case class BasicCharacterData (name: String, faction: types.PlanetSideEmpire.Value, sex: CharacterSex, head: Int, voice: types.CharacterVoice.Value) extends Product with Serializable

   A part of a representation of the avatar portion of `ObjectCreateMessage` packet data.
   This partition of the data stream contains information used to represent how the player's avatar is presented.

   A part of a representation of the avatar portion of `ObjectCreateMessage` packet data.
   This partition of the data stream contains information used to represent how the player's avatar is presented. This appearance coincides with the data available from the `CharacterCreateRequestMessage` packet.

   name

     the unique name of the avatar; minimum of two characters

   faction

     the empire to which the avatar belongs

   sex

     whether the avatar is `Male` or `Female`

   head

     the avatar's face and hair; by row and column on the character creation screen, the high nibble is the row and the low nibble is the column

   voice

     the avatar's voice selection

   See also

     `PlanetSideEmpire`
     `CharacterSex`

3.  final case class CaptureFlagData (pos: PlacementData, faction: types.PlanetSideEmpire.Value, owningBaseGuid: Int, targetBaseGuid: Int, milliseconds_remaining: Long) extends ConstructorData with Product with Serializable

   A representation of the capture flag portion of `ObjectCreateDetailedMessage` packet data.

   A representation of the capture flag portion of `ObjectCreateDetailedMessage` packet data. This creates what is known as a lattice logic unit, or LLU. It is originally spawned in the base object called the lattice link socket during certain base captures.
   Players can not directly interact with the capture flag. Whenever an applicable player is nearby, that client will rapidly fire off `ItemUseMessage` packets to the server. The capture flag will be picked-up by the player and stored in a special slot that is not part of their inventory. A special dropping keybind has been prepared to relinquish the capture flag back to the game world.

   pos

     the position + orientation + velocity of the LLU where it is dropped/spawned

   faction

     the empire whose players may interact with this capture flag

   owningBaseGuid

     The GUID of the base that this LLU belongs to

   targetBaseGuid

     The GUID of the base that this LLU must be taken to

   milliseconds_remaining

     The number of milliseconds left on the timer for this LLU - should match the CC timer

4.  final case class CharacterAppearanceA (app: BasicCharacterData, data: CommonFieldData, exosuit: types.ExoSuitType.Value, unk5: Int, char_id: Long, unk7: Int, unk8: Int, unk9: Int, unkA: Int)(name_padding: Int) extends StreamBitSize with Product with Serializable

   A part of a representation of the avatar portion of `ObjectCreateDetailedMessage` packet data.

   A part of a representation of the avatar portion of `ObjectCreateDetailedMessage` packet data.

   app

     the player's cardinal appearance settings

   data

     common field data
     -bops - this vehicle belongs to the Black Ops, regardless of the faction field; activates the green camo and adjusts permissions
     -destroyed - flagged when using a model that is not the standard player in some stance
     -jammered - the player has been caught in an EMP blast recently; creates a jammered sound effect that follows the player around and can be heard by others
     -player_guid - does nothing?

   exosuit

     the type of exo-suit the avatar will be depicted in; for Black OPs, the agile exo-suit and the reinforced exo-suit are replaced with the Black OPs exo-suits

   char_id

     a unique character reference identification number

   See also

     `CharacterData`

     `DetailedCharacterData`

     `ExoSuitType`

5.  final case class CharacterAppearanceB (unk0: Long, outfit_name: String, outfit_logo: Int, unk1: Boolean, backpack: Boolean, unk2: Boolean, unk3: Boolean, unk4: Boolean, facingPitch: Float, facingYawUpper: Float, lfs: Boolean, grenade_state: types.GrenadeState.Value, is_cloaking: Boolean, unk5: Boolean, unk6: Boolean, charging_pose: Boolean, unk7: Boolean, on_zipline: Option[ZiplineData])(alt_model: Boolean, name_padding: Int) extends StreamBitSize with Product with Serializable

   A part of a representation of the avatar portion of `ObjectCreateDetailedMessage` packet data.

   A part of a representation of the avatar portion of `ObjectCreateDetailedMessage` packet data.

   outfit_name

     the name of the outfit to which this player belongs; if the option is selected, allies with see either "[`outfit_name`]" or "{No Outfit}" under the player's name

   outfit_logo

     the decal seen on the player's exo-suit (and beret and cap) associated with the player's outfit; if there is a variable color for that decal, the faction-appropriate one is selected

   facingPitch

     a "pitch" angle

   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

   lfs

     this player is looking for a squad; all allies will see the phrase "[Looking for Squad]" under the player's name

   grenade_state

     if the player has a grenade `Primed`; should be `GrenadeStateState.None` if nothing special

   is_cloaking

     avatar is cloaked by virtue of an Infiltration Suit

   charging_pose

     animation pose for both charging modules and BFR imprinting

   on_zipline

     player's model is changed into a faction-color ball of energy, as if on a zip line

   See also

     `CharacterData`

     `DetailedCharacterData`

     `ExoSuitType`

     `GrenadeState`

     `RibbonBars`

     `http://www.planetside-universe.com/p-outfit-decals-31.htm`

6.  final case class CharacterAppearanceData (a: CharacterAppearanceA, b: CharacterAppearanceB, ribbons: RibbonBars)(name_padding: Int) extends StreamBitSize with Product with Serializable

   A part of a representation of the avatar portion of `ObjectCreateDetailedMessage` packet data.
   This is a shared partition of the data used to represent how the player's avatar is presented.

   A part of a representation of the avatar portion of `ObjectCreateDetailedMessage` packet data.
   This is a shared partition of the data used to represent how the player's avatar is presented. It is utilized by both `0x17 ObjectCreateMessage CharacterData` and `0x18 ObjectCreateDetailedMessage DetailedCharacterData`. This can be considered the data that goes into creating the player's model.
   Only a few changes would occur depending on which packet would deal with the data. One example is `facingYawUpper` which, when depicting avatars, can be set to represent non-trivial turning angles. When depicting other players, it is limited to a small range of angles in the direction of that model's forward-facing. Another example is the outfit information: not usually represented for avatars; but, always represented for other players.
   One way the player's model can be changed dramatically involves being depicted as "released." In this form, their body appears as a backpack (or pumpkin or pastry) that can be looted for the equipment carried while alive. Companion data will describe how the player is represented while he is "dead," usually a requirement for being "released." Without that requirement here, it is possible to depicte the player as a "living backpack." The said equipment is also defined elsewhere. Another dramatic change replaces the player's model with a ball of plasma that masks the player while riding zip lines.
   Exploration:
   How do I crouch?

   ribbons

     the four merit commendation ribbon medals

   See also

     `CharacterData`

     `DetailedCharacterData`

7.  final case class CharacterData (health: Int, armor: Int, uniform_upgrade: UniformStyle.Value, unk: Int, command_rank: Int, implant_effects: List[ImplantEffects.Value], cosmetics: Option[Set[Cosmetic]])(is_backpack: Boolean, is_seated: Boolean) extends ConstructorData with Product with Serializable

   A representation of a portion of an avatar's `ObjectCreateDetailedMessage` packet data.
   This information outlines most of the specifics required to depict some other player's character.

   A representation of a portion of an avatar's `ObjectCreateDetailedMessage` packet data.
   This information outlines most of the specifics required to depict some other player's character. Someone else decides how that character is behaving and the server tells each client how to depict that behavior. For that reason, the character is mostly for presentation purposes, rather than really being fleshed-out. Of the inventory for this character, only the initial five weapon slots are defined. In the "backend of the client," the character produced by this data is no different from the kind of character that could be declared a given player's avatar. In terms of equipment and complicated features common to an avatar character, however, any user would find this character ill-equipped.

   health

     the amount of health the player has, as a percentage of a filled bar; the bar has 85 states, with 3 points for each state; when 0% (less than 3 of 255), the player will collapse into a death pose on the ground; while `is_backpack == true`, `health` will always report as 0; while `is_seated == true`, `health` will (try to) report as 100

   armor

     the amount of armor the player has, as a percentage of a filled bar; the bar has 85 states, with 3 points for each state; while `is_seated == true`, `armor` will always report as 0

   uniform_upgrade

     the level of upgrade to apply to the player's base uniform

   command_rank

     the player's command rank as a number from 0 to 5; cosmetic armor associated with the command rank will be applied automatically

   implant_effects

     the effects of implants that can be seen on a player's character; the number of entries equates to the number of effects applied; the maximu number of effects is three

   cosmetics

     optional decorative features that are added to the player's head model by console/chat commands; they become available at battle rank 24, but here they require the third uniform upgrade (rank 25); these flags do not exist if they are not applicable

   is_backpack

     this player character should be depicted as a corpse; corpses are either coffins (defunct), backpacks (normal), or a pastry (festive); the alternate model bit should be flipped

   is_seated

     this player character is seated in a vehicle or mounted to some other object; alternate format for data parsing applies

   See also

     `DetailedCharacterData`

     `Cosmetics`

8.  final case class CommonFieldData (faction: types.PlanetSideEmpire.Value, bops: Boolean, alternate: Boolean, v1: Boolean, v2: Option[CommonFieldDataExtra], jammered: Boolean, v4: Option[Boolean], v5: Option[Int], guid: PlanetSideGUID) extends ConstructorData with Product with Serializable

   Data that is common to a number of game object serializations.

   Data that is common to a number of game object serializations.

   faction

     faction affinity `NEUTRAL` when not required to be any specific value

   bops

     usually indicates black ops affiliation

   alternate

     usually indicates variance in model from default (e.g., vehicle is destroyed, player has released, etc.); when set on a tool, that tool will be rendered nonfunctional instead (though it can still be equipped)

   v1

     na

   v2

     na; optional data whose reading is triggered in unknown conditions

   jammered

     flag as "jammered;" set on most game objects, that object will produce the characteristic jammered buzz

   v4

     na; a field used by a second encoding format for this data

   v5

     na; previously considered to flag as "jammered"

   guid

     usually indicates another active game object that placed/leverages/[action]s this object

9.  final case class CommonFieldDataExtra (unk1: Option[Int], unk2: Boolean) extends StreamBitSize with Product with Serializable
10.  final case class CommonFieldDataWithPlacement (pos: PlacementData, data: CommonFieldData) extends ConstructorData with Product with Serializable

    Data that is common to a number of game object serializations, plus position information

    Data that is common to a number of game object serializations, plus position information

    pos

      the location, orientation, and potential velocity of the object

    data

      the common fields

    See also

      `DroppedItemData`

11.  abstract class ConstructorData extends StreamBitSize

    The base type for the representation of any data used to produce objects from `ObjectCreateMessage` packet data.

    The base type for the representation of any data used to produce objects from `ObjectCreateMessage` packet data. There is no reason to instantiate this class as-is. Children of this class are expected to be able to translate through `scodec` operations into packet data.
    The object data is uncoupled from the object class as multiple classes use the same format for their data. For example, both the Suppressor and the Gauss will use a "weapon data" format. For example, both 9mm bullets and energy cells will use an "ammunition data" format.

12.  final case class DCDExtra1 (unk1: String, unk2: Int) extends StreamBitSize with Product with Serializable

    na

    na

    unk1

      na

    unk2

      na

13.  final case class DCDExtra2 (unk1: Int, unk2: Int) extends StreamBitSize with Product with Serializable

    na

    na

    unk1

      an

    unk2

      na

14.  final case class DestroyedVehicleData (pos: PlacementData) extends ConstructorData with Product with Serializable

    A representation of the charred husk of a destroyed vehicle.
    This is a hand-crafted `Codec` and was not based on something found on Gemini Live.

    A representation of the charred husk of a destroyed vehicle.
    This is a hand-crafted `Codec` and was not based on something found on Gemini Live.

    pos

      where and how the object is oriented; `pos.vel` existing is fine

15.  final case class DetailedAmmoBoxData (data: CommonFieldData, magazine: Int) extends ConstructorData with Product with Serializable

    A representation of the ammunition portion of `ObjectCreateDetailedMessage` packet data.

    A representation of the ammunition portion of `ObjectCreateDetailedMessage` packet data. This data will help construct a "box" of that type of ammunition when standalone. It can also be constructed directly inside a weapon as its magazine.
    The maximum amount of ammunition that can be stored in a single box is 65535 units. Regardless of the interface, however, the number will never be fully visible. Only the first three digits or the first four digits may be represented.

    data

      na

    magazine

      the number of rounds available

    See also

      `DetailedWeaponData`

16.  final case class DetailedCharacterA (bep: Long, cep: Long, unk1: Long, unk2: Long, unk3: Long, healthMax: Int, health: Int, unk4: Boolean, armor: Int, unk5: Long, staminaMax: Int, stamina: Int, max_field: Option[Long], unk6: Int, unk7: Int, unk8: Long, unk9: List[Int], certs: List[Certification]) extends StreamBitSize with Product with Serializable

    A representation of a portion of an avatar's `ObjectCreateDetailedMessage` packet data.

    A representation of a portion of an avatar's `ObjectCreateDetailedMessage` packet data.

    bep

      the avatar's battle experience points, which determines his Battle Rank

    cep

      the avatar's command experience points, which determines his Command Rank

    healthMax

      for `x / y` of hitpoints, this is the avatar's `y` value; range is 0-65535

    health

      for `x / y` of hitpoints, this is the avatar's `x` value; range is 0-65535

    armor

      for `x / y` of armor points, this is the avatar's `x` value; range is 0-65535; the avatar's `y` armor points is tied to their exo-suit type

    staminaMax

      for `x / y` of stamina points, this is the avatar's `y` value; range is 0-65535

    stamina

      for `x / y` of stamina points, this is the avatar's `x` value; range is 0-65535

    max_field

      unk; this field exists only when the player is wearing a mechanized assault exo-suit

    certs

      the `List` of certifications

    See also

      `CharacterData`

      `CertificationType`

17.  final case class DetailedCharacterB (unk1: Option[Long], implants: List[ImplantEntry], unk2: List[DCDExtra1], unk3: List[DCDExtra1], firstTimeEvents: List[String], tutorials: List[String], unk4: Long, unk5: Long, unk6: Long, unk7: Long, unk8: Long, unk9: Option[DCDExtra2], unkA: List[Long], unkB: List[String], unkC: Boolean, cosmetics: Option[Set[Cosmetic]])(bep: Long, pad_length: Option[Int]) extends StreamBitSize with Product with Serializable

    A representation of a portion of an avatar's `ObjectCreateDetailedMessage` packet data.

    A representation of a portion of an avatar's `ObjectCreateDetailedMessage` packet data.

    implants

      the `List` of implant slots currently possessed by this avatar

    firstTimeEvents

      the list of first time events performed by this avatar; the size field is a 32-bit number; the first entry may be padded

    tutorials

      the `List` of tutorials completed by this avatar; the size field is a 32-bit number; the first entry may be padded

    cosmetics

      optional decorative features that are added to the player's head model by console/chat commands; they become available at battle rank 24; these flags do not exist if they are not applicable

    See also

      `CharacterData`

      `Cosmetics`

18.  final case class DetailedCharacterData (a: DetailedCharacterA, b: DetailedCharacterB)(pad_length: Option[Int]) extends ConstructorData with Product with Serializable

    A representation of a portion of an avatar's `ObjectCreateDetailedMessage` packet data.
    This densely-packed information outlines most of the specifics required to depict a character as an avatar.

    A representation of a portion of an avatar's `ObjectCreateDetailedMessage` packet data.
    This densely-packed information outlines most of the specifics required to depict a character as an avatar. It goes into depth about information related to the given character in-game career that is not revealed to other players. To be specific, it passes more thorough data about the character that the client can display to the owner of the client. For example, health is a full number, rather than a percentage, as is the case with `CharacterData`. Just as prominent is the list of first time events and the list of completed tutorials. Additionally, a full inventory, as opposed to the initial five weapon slots.

    See also

      `CharacterData`

19.  final case class DetailedCommandDetonaterData (data: CommonFieldData) extends ConstructorData with Product with Serializable

    A representation of the command uplink device.

20.  final case class DetailedConstructionToolData (data: CommonFieldData, mode: Int) extends ConstructorData with Product with Serializable

    A representation of the construction item portion of `ObjectCreateDetailedMessage` packet data.

    A representation of the construction item portion of `ObjectCreateDetailedMessage` packet data. This creates what is known as a construction tool item (or, `ConstructionItem`) which is a game world object that is manipulated by the player to construct other game world objects which are known as combat engineering deployables (or, just `Deployable`s). None of the information about the `Deployable` objects are maintained here and are instead implicit to the type of `ConstructionItem`. That aspect of the entity is adjusted through fire modes and ammunition types much like conventional weaponry (`Tool`s), though the initial fire mode can be indicated.

    See also

      `ConstructionItem`

      `Deployable`

      `FireModeSwitch`

21.  final case class DetailedLockerContainerData (data: CommonFieldData, inventory: Option[InventoryData]) extends ConstructorData with Product with Serializable

    A representation of the inventory portion of `ObjectCreateDetailedMessage` packet data that contains the items in the avatar's locker space.
    Although these items are technically always loaded and registered with globally unique identifiers for the current zone, the actual container for them, in grid format, can only be accessed by interacting with locker objects in the game world.

    A representation of the inventory portion of `ObjectCreateDetailedMessage` packet data that contains the items in the avatar's locker space.
    Although these items are technically always loaded and registered with globally unique identifiers for the current zone, the actual container for them, in grid format, can only be accessed by interacting with locker objects in the game world. Items are generally added and removed in the same way as with any other opened inventory. Unlike other inventories, however, locker space is personal to an avatar and can not be accessed by other players.

    data

      na

    inventory

      the items in this inventory

22.  final case class DetailedPlayerData (pos: Option[PlacementData], basic_appearance: CharacterAppearanceData, character_data: DetailedCharacterData, inventory: Option[InventoryData], drawn_slot: DrawnSlot.Value)(position_defined: Boolean) extends ConstructorData with Product with Serializable

    A representation of an `avatar` player for the `ObjectCreateDetailedMessage` packet.

    A representation of an `avatar` player for the `ObjectCreateDetailedMessage` packet. As an avatar, the character created by this data is expected to be controllable by the client that gets sent this data.
    Divisions exist to make the data more manageable. The first division defines the player's location within the game coordinate system. The second division defines features of the `avatar` that are shared by both the `ObjectCreateDetailedMessage` version of a controlled player character (this) and the `ObjectCreateMessage` version of a player character. The third field expands on the nature of the character and this avatar's campaign. Expansive information about previous interactions, the contents of their inventory, and equipment permissions are included.
    The presence or absence of position data as the first division creates a cascading effect causing all of fields in the other two divisions to gain offsets. These offsets exist in the form of `String` and `List` padding.

    pos

      the optional position of the character in the world environment

    basic_appearance

      common fields regarding the the character's appearance

    character_data

      the class-specific data that discusses the character

    inventory

      the player's full or partial (holsters-only) inventory

    drawn_slot

      the holster that is depicted as exposed, or "drawn"

    position_defined

      used to seed the state of the optional position fields

    See also

      `CharacterAppearanceData`

      `DetailedCharacterData`

      `InventoryData`

      `DrawnSlot`

23.  final case class DetailedREKData (data: CommonFieldData, unk: Int = 0) extends ConstructorData with Product with Serializable

    A representation of the REK portion of `ObjectCreateDetailedMessage` packet data.

    A representation of the REK portion of `ObjectCreateDetailedMessage` packet data. This data will help construct the "tool" called a Remote Electronics Kit.
    Of note is the first portion of the data which resembles the `DetailedWeaponData` format.

    data

      na

    unk

      na

24.  final case class DetailedWeaponData (data: CommonFieldData, fire_mode: Int, ammo: List[InternalSlot], unk: Boolean = false) extends ConstructorData with Product with Serializable

    A representation of a class of weapons that can be created using `ObjectCreateDetailedMessage` packet data.

    A representation of a class of weapons that can be created using `ObjectCreateDetailedMessage` packet data. This data will help construct a "loaded weapon" such as a Suppressor or a Gauss.
    The data for the weapons nests information for the default (current) type and number of ammunition in its magazine. This ammunition data essentially is the weapon's magazines as numbered slots. An "expected" number of ammunition slot data can be passed into the function.

    data

      field common to multiple game objects

    fire_mode

      the current fire mode

    ammo

      data regarding the currently loaded ammunition type(s) and quantity(ies)

    See also

      `DetailedAmmoBoxData`

      `WeaponData`

25.  final case class DroppedItemData [T <: ConstructorData](pos: PlacementData, obj: T) extends ConstructorData with Product with Serializable

    Provide information that positions a given object on the ground in the game world.

    Provide information that positions a given object on the ground in the game world.

    T

      a subclass of `ConstructorData` that indicates what type the object is

    pos

      where and how the object is oriented

    obj

      the object on the ground

26.  final case class DroppodData (basic: CommonFieldDataWithPlacement, health: Int, burn: Boolean, unk: Boolean) extends ConstructorData with Product with Serializable

    A representation of a droppod that is dropped from the HART shuttle and ferries the player into battle.

    A representation of a droppod that is dropped from the HART shuttle and ferries the player into battle. Droppods are also used when a player has activated Instant Action.
    When the server first spawns the droppod, it will be placed at the world ceiling - 1024.0f. It is placed under control via another packet that sends it hurtling to the ground. Upon hitting the ground, it opens up, releasing the player, and despawns.
    Although the droppod is not technically a vehicle, it is treated as such by the game. A spawned and unoccupied droppod can be entered and exited, as expected (the mount is 0). There is no entry animation. The exit animation is the droppod flowering open as usual. Even in its spread open state, the droppod can be re-entered, though it will remain spread open. The player's character will disappear once "inside." Upon exiting again, the droppod will snap shut and spread open.
    Exploration: When `basic.player_guid` is defined, the droppod will not be at the world ceiling anymore and its boosters will be activate. Does this `basic.player_guid` actually represent the player who is in the pod?

    basic

      data common to objects

    health

      the amount of health the object has, as a percentage of a filled bar

    burn

      whether the boosters are ignited

    See also

      `DroppodLaunchRequestMessage`

      `DroppodLaunchResponseMessage`

27.  final case class HandheldData (data: CommonFieldData, mode: Int, unk: Int) extends ConstructorData with Product with Serializable

    A representation of a number of simplified objects that the user can hold in their hands, including: the advanced construction engine (`ace`), the field deployable unit (`advanced_ace`), the boomer trigger apparatus, the remote telepad (not deployed), the flail laser pointer (`flail_targeting_laser`), and the command uplink device (`command_detonater`).

    A representation of a number of simplified objects that the user can hold in their hands, including: the advanced construction engine (`ace`), the field deployable unit (`advanced_ace`), the boomer trigger apparatus, the remote telepad (not deployed), the flail laser pointer (`flail_targeting_laser`), and the command uplink device (`command_detonater`).

    data

      fields that are common to this game object

      - v4 - not used, i.e., the simple format `CommonFieldData` object is employed
      - v5 - for the telepad, this field is expected to be the GUID of the associated Router
28.  final case class ImplantEntry (implant: ImplantType, initialization: Option[Int], active: Boolean) extends StreamBitSize with Product with Serializable

    An entry in the `List` of valid implant slots in `DetailedCharacterData`.

    An entry in the `List` of valid implant slots in `DetailedCharacterData`.

    implant

      the type of implant

    initialization

      the amount of time necessary until this implant is ready to be activated; technically, this is unconfirmed

    active

      whether this implant is turned on; technically, this is unconfirmed

    See also

      `ImplantType`

29.  final case class InternalSlot (objectClass: Int, guid: PlanetSideGUID, parentSlot: Int, obj: ConstructorData) extends StreamBitSize with Product with Serializable

    An intermediate class for the primary fields of `ObjectCreate*Message` with an implicit parent-child relationship.
    Any object that is contained in a "slot" of another object will use `InternalSlot` to hold the anchoring data.

    An intermediate class for the primary fields of `ObjectCreate*Message` with an implicit parent-child relationship.
    Any object that is contained in a "slot" of another object will use `InternalSlot` to hold the anchoring data. This prior object will clarify the identity of the "parent" object that owns the given `parentSlot`. As the name implies, this should never have to be used in the representation of a non-child object.
    Try to avoid exposing this class in the process of implementing common object code. Provide overrode constructors that mask the creation of `InternalSlot` where applicable.

    objectClass

      the code for the type of object being constructed

    guid

      the GUID this object will be assigned

    parentSlot

      a parent-defined slot identifier that explains where the child is to be attached to the parent

    obj

      the data used as representation of the object to be constructed

    See also

      `ObjectClass.selectDataCodec`

      `ObjectClass.selectDataDetailedCodec`

30.  final case class InventoryData (contents: List[InventoryItem] = List.empty) extends StreamBitSize with Product with Serializable

    A representation of the inventory portion of `ObjectCreate*Message` packet data for avatars.
    The inventory is a temperamental thing.

    A representation of the inventory portion of `ObjectCreate*Message` packet data for avatars.
    The inventory is a temperamental thing. Items placed into the inventory must follow their proper encoding schematics to the letter. The slot number refers to the position occupied by the item. In icon format, all-encompassing slots are absolute positions; and, grid-distributed icons use the upper-left corner. No values are allowed to be misplaced and no unexpected regions of data can be discovered. If there is even a minor failure, the remainder of the inventory will fail to translate.
    Inventories are usually prefaced with a single bit value not accounted for here to switch them "on."

    contents

      the items in the inventory

    See also

      `InventoryItemData`

31.  final case class LargeDeployableData (deploy: CommonFieldDataWithPlacement, health: Int, internals: Option[InventoryData] = None) extends ConstructorData with Product with Serializable

    This class currently is unused but is based on the `SmallTurretData` `Codec` class.

32.  final case class LockerContainerData (inventory: Option[InventoryData]) extends ConstructorData with Product with Serializable

    A representation for a game object that can contain items.
    For whatever reason, these "lockers" are typically placed at the origin coordinates.

    A representation for a game object that can contain items.
    For whatever reason, these "lockers" are typically placed at the origin coordinates.

    inventory

      the items inside this locker

33.  final case class ObjectCreateMessageParent (guid: PlanetSideGUID, slot: Int) extends Product with Serializable

    The parent information of a created object.
    In normal packet data order, there are two ways the parent object can be assigned.

    The parent information of a created object.
    In normal packet data order, there are two ways the parent object can be assigned. The first is an implicit association between a parent object and a child object that are both created at the same time. A player character object, for example, is initialized in the same breath as the objects in his inventory are initialized. A weapon object is constructed with an ammunition object already included within itself. The second is an explicit association between the child and the parent where the parent exists before the child is created. When a new inventory object is produced, it is usually assigned to some other existing object's inventory. That is the relationship to the role of "parent" that this object defines. As such, only its current unique identifier needs to be provided. If the parent can not be found, the child object is not created.
    A third form of parent object to child object association involves the impromptu assignment of an existing child to an existing parent. Since no objects are being created, that is unrelated to `ObjectCreateMessage`. Refer to `ObjectAttachMessage`, `MountVehicleMsg`, and `MountVehicleCargoMsg`.
    When associated, the child object is "attached" to the parent object at a specific location called a "slot." "Slots" are internal to the object and are (typically) invisible to the player. Any game object can possess any number of "slots" that serve specific purposes. Player objects have equipment holsters and grid inventory capacity. Weapon objects have magazine feed positions. Vehicle objects have seating for players and trunk inventory capacity.

    guid

      the GUID of the parent object

    slot

      a parent-defined slot identifier that explains where the child is to be attached to the parent; encoded as the length field of a Pascal string

34.  final case class OneMannedFieldTurretData (deploy: CommonFieldDataWithPlacement, health: Int, internals: Option[InventoryData] = None) extends ConstructorData with Product with Serializable

    A representation of the player-mountable large field turrets deployed using an advanced adaptive construction engine.
    Field turrets are divided into the turret base, the mounted turret weapon, and the turret's ammunition.

    A representation of the player-mountable large field turrets deployed using an advanced adaptive construction engine.
    Field turrets are divided into the turret base, the mounted turret weapon, and the turret's ammunition. The ammunition is always the same regardless of which faction owns the turret. Turret bases and turret weapons are generally paired by the faction.
    If the turret has no `health`, it is rendered as destroyed. If the turret has no internal weapon, it is safest rendered as destroyed. Trying to fire a turret with no internal weapon will soft-lock the PlanetSide client.

    deploy

      data common to objects spawned by the (advanced) adaptive construction engine

    health

      the amount of health the object has, as a percentage of a filled bar

    internals

      data regarding the mountable weapon

35.  final case class OrbitalShuttleData (faction: types.PlanetSideEmpire.Value, pos: Option[PlacementData] = None) extends ConstructorData with Product with Serializable

    A representation of the high altitude rapid transport (HART) shuttle that ferries the player into battle.

    A representation of the high altitude rapid transport (HART) shuttle that ferries the player into battle. This `Codec` is different depending on whether the shuttle is the child of a parent or independent.
    Three HART shuttles dock with the three HART buildings in the three sanctuaries for short periods on a timed schedule. When one is landed, players may board the shuttle using designated hallways in the lobbies of the HART building. After the shuttle leaves the sanctuary, it transports those players up into orbit above the continents. The shuttle docks again, this time with space stations that orbit the planet. It allows infantry to use droppods to land on the continents by pinpointing locations on that continent's tactical map.
    The previous explanation is smoke and mirrors nonsense. Lore-wise, the separation of Auraxis during the Bending rendered it impossible for the shuttle to visit all of the continents. The orbital stations - even if they multiplied one per planet - don't really exist. (They almost existed but all assets for them were cut from the game.) The HART shuttle also isn't a traditional vehicle. It isn't even tangible. The game just treats it like a vehicle for the purpose of allowing players to access the controllable droppod system.
    When accessible to the player, the shuttle has an access point called a "trunk." Trying to access it yields the brief message "OSMustBeDockedToMount."

    faction

      empire the object is affiliated with

    pos

      optional; where and how the object is oriented

    See also

      `DroppodLaunchRequestMessage`

      `DroppodLaunchResponseMessage`

      `OrbitalShuttleTimeMsg`

36.  final case class PlacementData (coord: Vector3, orient: Vector3, vel: Option[Vector3] = None) extends StreamBitSize with Product with Serializable

    A specific location and heading in game world coordinates and game world measurements.

    A specific location and heading in game world coordinates and game world measurements.

    coord

      the xyz-coordinate location in the world

    orient

      the ijk-orientation around the object's center

    vel

      optional movement data (that occurs upon placement)

37.  final case class PlayerData (pos: Option[PlacementData], basic_appearance: CharacterAppearanceData, character_data: CharacterData, inventory: Option[InventoryData], drawn_slot: DrawnSlot.Value)(position_defined: Boolean) extends ConstructorData with Product with Serializable

    A representation of another player's character for the `ObjectCreateMessage` packet.

    A representation of another player's character for the `ObjectCreateMessage` packet. In general, this packet is used to describe other players.
    Divisions exist to make the data more manageable. The first division defines the player's location within the game coordinate system. The second division defines features of the character that are shared by both the `ObjectCreateDetailedMessage` version of a controlled player character and the `ObjectCreateMessage` version of a player character (this). The third field provides further information on the appearance of the player character, albeit condensed. The fourth field involves the player's `Equipment` holsters and their inventory. The hand that the player has exposed is last. One of the most compact forms of a player character description is transcribed using this information.
    The presence or absence of position data as the first division creates a cascading effect causing all of fields in the other two divisions to gain offset values. These offsets exist in the form of `String` and `List` padding.

    pos

      the optional position of the character in the world environment

    basic_appearance

      common fields regarding the the character's appearance

    character_data

      the class-specific data that explains about the character

    inventory

      the player's inventory; typically, only the tools and weapons in the equipment holster slots

    drawn_slot

      the holster that is initially drawn

    position_defined

      used by the `Codec` to seed the state of the optional `pos` field

    See also

      `CharacterData`
      `InventoryData`
      `DrawnSlot`

38.  final case class REKData (data: CommonFieldData, unk1: Int, unk2: Int) extends ConstructorData with Product with Serializable

    na

    na

    data

      na

    unk1

      na; defaults to 0

    See also

      `DetailedREKData`

39.  final case class RemoteProjectileData (common_data: CommonFieldDataWithPlacement, u1: Int, u2: Int, unk3: FlightPhysics.Value, unk4: Int, unk5: Int) extends ConstructorData with Product with Serializable

    A representation of a projectile that the server must intentionally convey to players other than the shooter.

    A representation of a projectile that the server must intentionally convey to players other than the shooter.

    common_data

      common game object information

    u1

      na; first part of the canned remote projectile data

    u2

      na; second part of the canned remote projectile data

    unk3

      na; does something to how the projectile flies

    unk4

      na

    unk5

      na

40.  final case class RibbonBars (upper: types.MeritCommendation.Value = MeritCommendation.None, middle: types.MeritCommendation.Value = MeritCommendation.None, lower: types.MeritCommendation.Value = MeritCommendation.None, tos: types.MeritCommendation.Value = MeritCommendation.None) extends StreamBitSize with Product with Serializable

    Enumerate the player-displayed merit commendation awards granted for excellence (or tenacity) in combat.

    Enumerate the player-displayed merit commendation awards granted for excellence (or tenacity) in combat. These are the medals players wish to brandish on their left pauldron.

    upper

      the "top" configurable merit ribbon

    middle

      the central configurable merit ribbon

    lower

      the lower configurable merit ribbon

    tos

      the top-most term of service merit ribbon

    See also

      `MeritCommendation`

      `DisplayedAwardMessage`

41.  final case class SmallTurretData (deploy: CommonFieldDataWithPlacement, health: Int, internals: Option[InventoryData] = None) extends ConstructorData with Product with Serializable

    A representation of the Spitfire-based small turrets deployed using an adaptive construction engine.
    The turret may contain substructure defining a weapon is a turret weapon contained within the turret itself.

    A representation of the Spitfire-based small turrets deployed using an adaptive construction engine.
    The turret may contain substructure defining a weapon is a turret weapon contained within the turret itself. Furthermore, that turret-like weapon is loaded with turret-like ammunition. In other words, this outer turret can be considered a weapons platform for the inner turret weapon.
    If the turret has no `health`, it is rendered as destroyed. If the turret has no internal weapon, it is safest rendered as destroyed.

    deploy

      data common to objects spawned by the (advanced) adaptive construction engine

    health

      the amount of health the object has, as a percentage of a filled bar

    internals

      data regarding the mounted weapon

42.  sealed abstract class SpecificVehicleData extends StreamBitSize

    A basic `Trait` connecting all of the vehicle data formats (excepting `Normal`/`None`).

43.  trait StreamBitSize extends AnyRef

    Apply this `trait` to a class that needs to have its size in bits calculated.

44.  final case class TRAPData (deploy: CommonFieldDataWithPlacement, health: Int) extends ConstructorData with Product with Serializable

    A representation of the tactical resonance area protection unit deployed using an advanced adaptive construction engine.

    A representation of the tactical resonance area protection unit deployed using an advanced adaptive construction engine. Three metal beams, erect and tangled, block passage to enemies and their vehicles.

    deploy

      data common to objects spawned by the (advanced) adaptive construction engine

    health

      the amount of health the object has, as a percentage of a filled bar

45.  final case class TelepadDeployableData (data: CommonFieldData, unk1: Int, unk2: Int) extends ConstructorData with Product with Serializable

    A representation of simple objects that are spawned by the adaptive construction engine.

    A representation of simple objects that are spawned by the adaptive construction engine.

    data

      data common to game objects

    unk1

      na

    unk2

      na

46.  final case class UtilityVehicleData (unk: Int) extends SpecificVehicleData with Product with Serializable

    The format of vehicle data for the type of vehicles that are considered "utility." The vehicles in this category are two: the advanced nanite transport, and the advanced mobile station.

    The format of vehicle data for the type of vehicles that are considered "utility." The vehicles in this category are two: the advanced nanite transport, and the advanced mobile station.

    unk

      na

47.  final case class VariantVehicleData (unk: Int) extends SpecificVehicleData with Product with Serializable

    A common format variant of vehicle data.

    A common format variant of vehicle data. This category includes all flying vehicles and the ancient cavern vehicles.

    unk

      na

48.  final case class VehicleData (pos: PlacementData, data: CommonFieldData, unk3: Boolean, health: Int, unk4: Boolean, no_mount_points: Boolean, driveState: types.DriveState.Value, unk5: Boolean, unk6: Boolean, cloak: Boolean, vehicle_format_data: Option[SpecificVehicleData], inventory: Option[InventoryData] = None)(vehicle_type: VehicleFormat.Value = VehicleFormat.Normal) extends ConstructorData with Product with Serializable

    A representation of a generic vehicle.

    A representation of a generic vehicle.

    pos

      where the vehicle is and how it is oriented in the game world

    data

      common vehicle field data:
      -bops - this vehicle belongs to the Black Ops, regardless of the faction field; activates the green camo and adjusts permissions
      -destroyed - this vehicle has ben destroyed; health should be less than 3/255, or 0%
      -jammered - vehicles will not be jammered by setting this field
      -player_guid the vehicle's (official) owner; a living player in the game world on the same continent as the vehicle who may mount the driver mount

    unk3

      na

    health

      the amount of health the vehicle has, as a percentage of a filled bar (255)

    unk4

      na

    no_mount_points

      do not display entry points for the seats

    driveState

      a representation for the current mobility state; various vehicles also use this field to indicate "deployment," e.g., the advanced mobile spawn

    unk5

      na

    unk6

      na

    cloak

      if a vehicle (that can cloak) is cloaked

    vehicle_format_data

      extra information necessary to implement special-type vehicles; see `vehicle_type`

    inventory

      the seats, mounted weapons, and utilities (such as terminals) that are currently included; will also include trunk contents; the driver is the only valid mount entry (more will cause the access permissions to act up)

    vehicle_type

      a modifier for parsing the vehicle data format differently; see `vehicle_format_data`; defaults to `Normal`

49.  final case class WeaponData (data: CommonFieldData, fire_mode: Int, ammo: List[InternalSlot], unk: Boolean = false) extends ConstructorData with Product with Serializable

    A representation of a class of weapons that can be created using `ObjectCreateMessage` packet data.

    A representation of a class of weapons that can be created using `ObjectCreateMessage` packet data. This data will help construct a "loaded weapon" such as a Suppressor or a Gauss. Common uses include items deposited on the ground and items in another player's visible inventory (holsters).
    The data for the weapons nests information for the default (current) type of ammunition and number of ammunitions in its magazine(s). This ammunition data essentially is the weapon's magazines as numbered slots. An "expected" number of ammunition slot data can be passed into the class for the purposes of validating input.

    data

      na; commonly 8

    fire_mode

      the current mode of weapon's fire; zero-indexed

    ammo

      data regarding the currently loaded ammunition type(s)

    See also

      `AmmoBoxData`

### Value Members

1.  object AegisShieldGeneratorData extends Marshallable[AegisShieldGeneratorData] with Serializable
2.  object AmmoBoxData

   A representation of ammunition that can be created using `ObjectCreateMessage` packet data.

   A representation of ammunition that can be created using `ObjectCreateMessage` packet data. This data will help construct a "box" of that type of ammunition when standalone. It can also be constructed directly inside a weapon as its magazine.
   This ammunition object ompletely ignores the capacity field, normal to detailed ammunition objects. Creating an object of this type directly and picking it up or observing it (in a weapon) will reveals single round.

   See also

     `DetailedAmmoBoxData`

3.  object CaptureFlagData extends Marshallable[CaptureFlagData] with Serializable
4.  object CharacterAppearanceData extends Marshallable[CharacterAppearanceData] with Serializable
5.  object CharacterData extends Marshallable[CharacterData] with Serializable
6.  object CommonFieldData extends Marshallable[CommonFieldData] with Serializable
7.  object CommonFieldDataExtra extends Serializable
8.  object CommonFieldDataWithPlacement extends Marshallable[CommonFieldDataWithPlacement] with Serializable
9.  object ConstructorData
10.  object DestroyedVehicleData extends Marshallable[DestroyedVehicleData] with Serializable
11.  object DetailedAmmoBoxData extends Marshallable[DetailedAmmoBoxData] with Serializable
12.  object DetailedCharacterData extends Marshallable[DetailedCharacterData] with Serializable
13.  object DetailedCommandDetonaterData extends Marshallable[DetailedCommandDetonaterData] with Serializable
14.  object DetailedConstructionToolData extends Marshallable[DetailedConstructionToolData] with Serializable
15.  object DetailedLockerContainerData extends Marshallable[DetailedLockerContainerData] with Serializable
16.  object DetailedPlayerData extends Marshallable[DetailedPlayerData] with Serializable
17.  object DetailedREKData extends Marshallable[DetailedREKData] with Serializable
18.  object DetailedWeaponData extends Marshallable[DetailedWeaponData] with Serializable
19.  object DrawnSlot extends Enumeration

    Values for the equipment holster slot whose contained ("held") equipment can be drawn.

    Values for the equipment holster slot whose contained ("held") equipment can be drawn. The values for these Enums match the slot number by index for Infantry weapons.
    `None` is not a kludge. While any "not a holster" number can be used to indicate "no weapon drawn," seven is the value PlanetSide is looking for. Using five or six delays the first weapon draw while the client corrects its internal state.

20.  object DroppedItemData extends Serializable
21.  object DroppodData extends Marshallable[DroppodData] with Serializable
22.  object FlightPhysics extends Enumeration
23.  object HandheldData extends Marshallable[HandheldData] with Serializable
24.  object ImplantEffects extends Enumeration

    Values for the implant effects on a character model.

    Values for the implant effects on a character model. The effects are not additive and this value is not a bitmask.
    `RegenEffects` is a reverse-flagged item - inactive when the corresponding bit is set. For that reason, every other effect is `n + 1`, while `NoEffects` is `1` and `RegenEffects` is `0`.

25.  object ImplantEntry extends Serializable
26.  object InternalSlot extends Serializable
27.  object InventoryData extends Serializable
28.  object InventoryItemData

    Mask the use of `InternalSlot` using a fake class called an `InventoryItemData`.

29.  object LargeDeployableData extends Marshallable[LargeDeployableData] with Serializable
30.  object LockerContainerData extends Marshallable[LockerContainerData] with Serializable
31.  object MountItem

    Mask the use of `InternalSlot` using a fake class called a `MountItem`.

32.  object ObjectClass

    A reference between all object class codes and the name of the object they represent.

    A reference between all object class codes and the name of the object they represent. Object class types are defined by an 11-bit (`0xB`) value.

33.  object ObjectCreateBase
34.  object OneMannedFieldTurretData extends Marshallable[OneMannedFieldTurretData] with Serializable
35.  object OrbitalShuttleData extends Marshallable[OrbitalShuttleData] with Serializable
36.  object PlacementData extends Marshallable[PlacementData] with Serializable
37.  object PlayerData extends Marshallable[PlayerData] with Serializable
38.  object Prefab

    A compilation of the common `*Data` objects that would be used for stock game objects.

    A compilation of the common `*Data` objects that would be used for stock game objects. Each function is named after the `ObjectClass` name (internal name) it creates. No `Prefab` assumes empire allegiance or initial health. This file is more useful for reference, rather than application.

39.  object REKData extends Marshallable[REKData] with Serializable
40.  object RemoteProjectileData extends Marshallable[RemoteProjectileData] with Serializable
41.  object RemoteProjectiles
42.  object RibbonBars extends Marshallable[RibbonBars] with Serializable
43.  object SmallTurretData extends Marshallable[SmallTurretData] with Serializable
44.  object StreamBitSize
45.  object TRAPData extends Marshallable[TRAPData] with Serializable
46.  object TelepadDeployableData extends Marshallable[TelepadDeployableData] with Serializable
47.  object TerminalData

    A representation of an object that can be interacted with when using a variety of terminals.

    A representation of an object that can be interacted with when using a variety of terminals. This object is generally invisible.

48.  object UniformStyle extends Enumeration

    Values for the four different color designs that impact a player's uniform.

    Values for the four different color designs that impact a player's uniform. Exo-suits get minor graphical updates at the following battle rank levels: seven (1), fourteen (2), and twenty-five (4). The values 3 and 5 also exist and are visually descriptive to the third upgrade.

49.  object VehicleData extends Marshallable[VehicleData] with Serializable
50.  object VehicleFormat extends Enumeration

    An `Enumeration` of the various formats that known structures that the stream of bits for `VehicleData` can assume.

51.  object WeaponData extends Marshallable[WeaponData] with Serializable

### Ungrouped