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 BattleFrameRoboticsData(pos: PlacementData, data: CommonFieldData, health: Int, shield: Int, unk1: Int, unk2: Boolean, no_mount_points: Boolean, driveState: Int, proper_anim: Boolean, unk3: Int, show_bfr_shield: Boolean, unk4: Option[Boolean], inventory: Option[InventoryData] = None) extends ConstructorData with Product with Serializable

    A representation of a battle frame robotics vehicle.

    A representation of a battle frame robotics vehicle.

    pos

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

    data

    common vehicle field data

    health

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

    shield

    the strength of the shield the vehicle has, as a percentage of a filled bar (255)

    unk1

    na

    unk2

    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

    proper_anim

    na; I forget what this does

    unk3

    na

    show_bfr_shield

    display the swirling shield of the battle frame

    unk4

    na

    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 seat entry (more will cause the access permissions to act up)

  4. 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

  5. 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

  6. final case class CharacterAppearanceB(outfit_id: 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

  7. 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

  8. final case class CharacterData(health: Int, armor: Int, uniform_upgrade: UniformStyle, 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 maximum 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; 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

  9. 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

  10. final case class CommonFieldDataExtra(unk1: Option[Int], unk2: Boolean) extends StreamBitSize with Product with Serializable
  11. 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

  12. 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.

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

    na

    na

    unk1

    na

    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, imprinting: Option[ImprintingProgress], 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 Deployables). 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 (Tools), 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 ImprintingProgress(cavern_captures: Int, cavern_kills: Int) extends StreamBitSize with Product with Serializable

    na

    na

    cavern_captures

    the number of facility captures in a cavern zone; five are needed before imprinting in vanilla

    cavern_kills

    the number of unique player kills in a cavern zone; seventy-five are needed before imprinting in vanilla

  30. 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

  31. 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

  32. 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.

  33. final case class LittleBuddyProjectileData(data: CommonFieldDataWithPlacement, u2: Int, u4: Boolean) extends ConstructorData with Product with Serializable
  34. 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

  35. 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

  36. 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

  37. 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

  38. 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)

  39. 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

  40. 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

  41. final case class RadiationCloudData(pos: PlacementData, faction: types.PlanetSideEmpire.Value) extends ConstructorData with Product with Serializable

    A representation of a stationary projectile field.

    A representation of a stationary projectile field.

    pos

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

    faction

    faction affinity

  42. 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

  43. 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

  44. 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

  45. sealed abstract class SpecificVehicleData extends StreamBitSize

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

  46. trait StreamBitSize extends AnyRef

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

  47. 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

  48. 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

  49. 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

  50. 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

  51. 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 = 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

  52. 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 BattleFrameRoboticsData extends Marshallable[BattleFrameRoboticsData] with Serializable
  4. object CaptureFlagData extends Marshallable[CaptureFlagData] with Serializable
  5. object CharacterAppearanceData extends Marshallable[CharacterAppearanceData] with Serializable
  6. object CharacterData extends Marshallable[CharacterData] with Serializable
  7. object CommonFieldData extends Marshallable[CommonFieldData] with Serializable
  8. object CommonFieldDataExtra extends Serializable
  9. object CommonFieldDataWithPlacement extends Marshallable[CommonFieldDataWithPlacement] with Serializable
  10. object ConstructorData
  11. object DestroyedVehicleData extends Marshallable[DestroyedVehicleData] with Serializable
  12. object DetailedAmmoBoxData extends Marshallable[DetailedAmmoBoxData] with Serializable
  13. object DetailedCharacterData extends Marshallable[DetailedCharacterData] with Serializable
  14. object DetailedCommandDetonaterData extends Marshallable[DetailedCommandDetonaterData] with Serializable
  15. object DetailedConstructionToolData extends Marshallable[DetailedConstructionToolData] with Serializable
  16. object DetailedLockerContainerData extends Marshallable[DetailedLockerContainerData] with Serializable
  17. object DetailedPlayerData extends Marshallable[DetailedPlayerData] with Serializable
  18. object DetailedREKData extends Marshallable[DetailedREKData] with Serializable
  19. object DetailedWeaponData extends Marshallable[DetailedWeaponData] with Serializable
  20. 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.

  21. object DroppedItemData extends Serializable
  22. object DroppodData extends Marshallable[DroppodData] with Serializable
  23. object FlightPhysics extends Enumeration
  24. object HandheldData extends Marshallable[HandheldData] with Serializable
  25. 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.

  26. object ImplantEntry extends Serializable
  27. object InternalSlot extends Serializable
  28. object InventoryData extends Serializable
  29. object InventoryItemData

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

  30. object LargeDeployableData extends Marshallable[LargeDeployableData] with Serializable
  31. object LittleBuddyProjectileData extends Marshallable[LittleBuddyProjectileData] with Serializable
  32. object LockerContainerData extends Marshallable[LockerContainerData] with Serializable
  33. object MountItem

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

  34. object MountableInventory
  35. 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.

  36. object ObjectCreateBase
  37. object OneMannedFieldTurretData extends Marshallable[OneMannedFieldTurretData] with Serializable
  38. object OrbitalShuttleData extends Marshallable[OrbitalShuttleData] with Serializable
  39. object PlacementData extends Marshallable[PlacementData] with Serializable
  40. object PlayerData extends Marshallable[PlayerData] with Serializable
  41. 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.

  42. object REKData extends Marshallable[REKData] with Serializable
  43. object RadiationCloudData extends Marshallable[RadiationCloudData] with Serializable
  44. object RemoteProjectileData extends Marshallable[RemoteProjectileData] with Serializable
  45. object RemoteProjectiles
  46. object RibbonBars extends Marshallable[RibbonBars] with Serializable
  47. object SmallTurretData extends Marshallable[SmallTurretData] with Serializable
  48. object StreamBitSize
  49. object TRAPData extends Marshallable[TRAPData] with Serializable
  50. object TelepadDeployableData extends Marshallable[TelepadDeployableData] with Serializable
  51. 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.

  52. object VehicleData extends Marshallable[VehicleData] with Serializable
  53. object WeaponData extends Marshallable[WeaponData] with Serializable

Ungrouped