Packages

class SpawnOperations extends AnyRef

Source
ZoningOperations.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SpawnOperations
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new SpawnOperations()

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def AvatarCreate(): Unit

    A part of the process of spawning the player into the game world.

    A part of the process of spawning the player into the game world. The function should work regardless of whether the player is alive or dead - it will make them alive. It adds the WorldSessionActor-current Player to the current zone and sends out the expected packets.

    If that player is in a vehicle, it will construct that vehicle. If the player is the driver of the vehicle, they must temporarily be removed from the driver mount in order for the vehicle to be constructed properly. These two previous statements operate through similar though distinct mechanisms and imply different conditions. In reality, they produce the same output but enforce different relationships between the components. The vehicle without a rendered player will always be created if that vehicle exists. The vehicle should only be constructed once.

  5. def AvatarCreateInVehicle(tplayer: Player, vehicle: Vehicle, seat: Int): Unit

    Create an avatar character so that avatar's player is mounted in a vehicle's mount.

    Create an avatar character so that avatar's player is mounted in a vehicle's mount. A part of the process of spawning the player into the game world.

    This is a very specific configuration of the player character that is not visited very often. The value of player.VehicleSeated should be set to accommodate Packet.DetailedConstructorData and, though not explicitly checked, should be the same as the globally unique identifier that is assigned to the vehicle parameter for the current zone. The priority of this function is consider "initial" so it introduces the avatar to the game world in this state and is permitted to introduce the avatar to the vehicle's internal settings in a similar way. Neither the player avatar nor the vehicle should be reconstructed before the next zone load operation to avoid damaging the critical setup of this function.

    tplayer

    the player avatar seated in the vehicle's mount

    vehicle

    the vehicle the player is riding

    seat

    the mount index

    See also

    AccessContainer

    UpdateWeaponAtSeatPosition

  6. def AvatarRejoin(): Unit

    A part of the process of spawning the player into the game world in the case of a restored game connection (relogging).

    A login protocol that substitutes the first call to avatarSetupFunc (replacing AvatarCreate) in consideration of a user re-logging into the game before the period of time where an avatar/player instance would decay and be cleaned-up.

    A part of the process of spawning the player into the game world in the case of a restored game connection (relogging).

    A login protocol that substitutes the first call to avatarSetupFunc (replacing AvatarCreate) in consideration of a user re-logging into the game before the period of time where an avatar/player instance would decay and be cleaned-up. Large portions of this function operate as a combination of the mechanics for normal AvatarCreate and for AvatarCreateInVehicle. Unlike either of the previous, this functionlality is disinterested in updating other clients as the target player and potential vehicle already exist as far as other clients are concerned.

    If that player is in a vehicle, it will construct that vehicle. If the player is the driver of the vehicle, they must temporarily be removed from the driver mount in order for the vehicle to be constructed properly. These two previous statements operate through similar though distinct mechanisms and imply different conditions. In reality, they produce the same output but enforce different relationships between the components. The vehicle without a rendered player will always be created if that vehicle exists.

    The value of player.VehicleSeated should be set to accommodate Packet.DetailedConstructorData and, though not explicitly checked, should be the same as the globally unique identifier that is assigned to the vehicle parameter for the current zone. The priority of this function is consider "initial" so it introduces the avatar to the game world in this state and is permitted to introduce the avatar to the vehicle's internal settings in a similar way. Neither the player avatar nor the vehicle should be reconstructed before the next zone load operation to avoid damaging the critical setup of this function.

  7. def CargoMountBehaviorForUs(carrier: Vehicle, cargo: Vehicle, mountPoint: Int): (ObjectAttachMessage, CargoMountPointStatusMessage)

    Dispatch an ObjectAttachMessage packet and a CargoMountPointStatusMessage packet only to this client.

    Dispatch an ObjectAttachMessage packet and a CargoMountPointStatusMessage packet only to this client.

    carrier

    the ferrying vehicle

    cargo

    the ferried vehicle

    mountPoint

    the point on the ferryoing vehicle where the ferried vehicle is attached

    returns

    a tuple composed of an ObjectAttachMessage packet and a CargoMountPointStatusMessage packet

    See also

    CargoMountPointStatusMessage

    ObjectAttachMessage

  8. def CargoMountMessagesForUs(attachMessage: ObjectAttachMessage, mountPointStatusMessage: CargoMountPointStatusMessage): Unit

    Dispatch an ObjectAttachMessage packet and a CargoMountPointStatusMessage packet only to this client.

    Dispatch an ObjectAttachMessage packet and a CargoMountPointStatusMessage packet only to this client.

    attachMessage

    an ObjectAttachMessage packet suitable for initializing cargo operations

    mountPointStatusMessage

    a CargoMountPointStatusMessage packet suitable for initializing cargo operations

    See also

    CargoMountPointStatusMessage

    ObjectAttachMessage

  9. def CountSpawnDelay(toZoneId: String, toSpawnPoint: SpawnPoint, fromZoneId: String): FiniteDuration

    Given an origin and a destination, determine how long the process of traveling should take in reconstruction time.

    Given an origin and a destination, determine how long the process of traveling should take in reconstruction time. For most destinations, the unit of receiving ("spawn point") determines the reconstruction time. Possession of a lattice-linked friendly Bio Laboratory halves the time of spawning at facilities. In a special consideration, travel to any sanctuary or sanctuary-special zone should be as immediate as zone loading.

    toZoneId

    the zone where the target is headed

    toSpawnPoint

    the unit the target is using as a destination

    fromZoneId

    the zone where the target current is located

    returns

    how long the spawning process will take

  10. def DepictPlayerAsCorpse(tplayer: Player): Unit

    Creates a player that has the characteristics of a corpse.

    Creates a player that has the characteristics of a corpse. To the game, that is a backpack (or some pastry, festive graphical modification allowing).

    tplayer

    the player

    See also

    CorpseConverter.converter

  11. def DontRedrawIcons(obj: Deployable): Unit

    Do not draw any icon for this deployable object.

    When a client first joins a zone, all deployables are drawn on the continent map once.

    Do not draw any icon for this deployable object.

    When a client first joins a zone, all deployables are drawn on the continent map once. Should the player place any deployables, those deployables belong to that player. Ownership causes icon to be drawn in yellow to the player (as opposed to a white icon) and that signifies a certain level of control over the deployable, at least the ability to quietly deconstruct it. Under normal death/respawn cycles while the player is in a given zone, the map icons for owned deployables remain manipulable by that given user. They do not have to be redrawn to stay accurate. Upon leaving a zone, where the icons are erased, and returning back to the zone, where they are drawn again, the deployables that a player owned should be restored in terms of their map icon visibility. This control can not be recovered, however, until they are updated with the player's globally unique identifier. Since the player does not need to redraw his own deployable icons each time he respawns, but will not possess a valid GUID for that zone until he spawns in it at least once, this function swaps out with another after the first spawn in any given zone. It stays swapped in until the player changes zones.

    obj

    a Deployable object

    See also

    RedrawDeployableIcons

    SetCurrentAvatar

  12. def DrawCurrentAmsSpawnPoint(): Unit

    In the background, a list of advanced mobile spawn vehicles that are deployed in the zone is being updated constantly.

    In the background, a list of advanced mobile spawn vehicles that are deployed in the zone is being updated constantly. Select, from this list, the AMS that is closest to the player's current or last position and draw its spawn selection icon onto the deployment map.

    See also

    BindPlayerMessage

    DeadState.Release

  13. def FriskDeadBody(obj: Player): Unit

    Remove items from a deceased player that are not expected to be found on a corpse.

    Remove items from a deceased player that are not expected to be found on a corpse. Most all players have their melee slot knife (which can not be un-equipped normally) removed. MAX's have their primary weapon in the designated slot removed.

    obj

    the player to be turned into a corpse

  14. def GoToDeploymentMap(): Unit

    Make this client display the deployment map, and all its available destination spawn points.

    Make this client display the deployment map, and all its available destination spawn points.

    See also

    AvatarDeadStateMessage

    DeadState.Release

    Player.Release

  15. def HandleReleaseAvatar(tplayer: Player, zone: Zone): Unit

    na

    na

    tplayer

    na

    zone

    na

  16. def HandleSetCurrentAvatar(tplayer: Player): Unit

    Instruct the client to treat this player as the avatar.

    Instruct the client to treat this player as the avatar. Initialize all client-specific data that is dependent on some player being declared the "avatar".

    tplayer

    the target player

  17. def LoadZonePhysicalSpawnPoint(zoneId: String, pos: Vector3, ori: Vector3, respawnTime: FiniteDuration, physSpawnPoint: Option[SpawnPoint]): Unit

    The starting point of behavior for a player who: is dead and is respawning; is deconstructing at a spawn tube and is respawning; is using a warp gate; or, any or none of the previous conditions, but the final result involves changing what zone the player occupies.

    The starting point of behavior for a player who: is dead and is respawning; is deconstructing at a spawn tube and is respawning; is using a warp gate; or, any or none of the previous conditions, but the final result involves changing what zone the player occupies. This route is not taken when first spawning in the game world, unless special conditions need to be satisfied. The visible result will be apparent by the respawn timer being displayed to the client over the deployment map.

    Two choices must be independently made to complete this part of the process. The first choice ivolves the state of the player who is spawning as the known entry state involve either being alive or being dead. A dead player (technically, a "corpse" that can no longer be revived) is embodied in a completely new player with a new globally unique identifier and a whole new inventory. A player who is transferring continents also satisfies the requirements for obtaining a completely new globally unique identifier, though the new identifier belongs to the new zone rather than the previous (still current) one. The second choice is satisfied by respawning in the same zone while still in a state of still being alive. In this singular case, the player retains his previous globally unique identifier. In all other cases, as indicated, a new globally unique identifier is selected.

    If the player is alive and mounted in a vehicle, a different can of worms is produced. The ramifications of these conditions are not fully satisfied until the player loads into the new zone. Even then, the conclusion becomes delayed while a slightly lagged mechanism hoists players between zones.

    zoneId

    the zone in which the player will be placed

    pos

    the game world coordinates where the player will be positioned

    ori

    the direction in which the player will be oriented

    respawnTime

    the character downtime spent respawning, as clocked on the redeployment screen; does not factor in any time required for loading zone or game objects

  18. def NormalTurnCounter(p: PlanetSideGUID): Unit

    The upstream counter accumulates when the server receives specific messages from the client.

    The upstream counter accumulates when the server receives specific messages from the client. It counts upwards until it reach maximum value, and then starts over. When it starts over, which should take an exceptionally long time to achieve, it starts counting at one rather than zero.

    p

    the player's globally unique identifier number

  19. def PrepareToTurnPlayerIntoCorpse(tplayer: Player, zone: Zone): Unit

    Creates a player that has the characteristics of a corpse so long as the player has items in their knapsack or their holsters.

    Creates a player that has the characteristics of a corpse so long as the player has items in their knapsack or their holsters. If the player has no items stored, the clean solution is to remove the player from the game. To the game, that is a backpack (or some pastry, festive graphical modification allowing).

    tplayer

    the player

    See also

    AvatarAction.ObjectDelete

    AvatarAction.Release

    AvatarServiceMessage

    FriskDeadBody

    GUIDTask.unregisterPlayer

    ObjectDeleteMessage

    WellLootedDeadBody

    Zone.Corpse.Add

  20. def ReadyToSetCurrentAvatar(player: Player, max_attempts: Int, attempt: Int): Unit

    The user is either already in the current zone and merely transporting from one location to another, also called "dying", or occasionally "deconstructing," or is completely switching in between zones.

    The user is either already in the current zone and merely transporting from one location to another, also called "dying", or occasionally "deconstructing," or is completely switching in between zones. These correspond to the message NewPlayerLoaded for the case of "dying" or the latter zone switching case, and PlayerLoaded for "deconstruction." In the latter case, the user must wait for the zone to be recognized as loaded for the server and this is performed through the send LoadMapMessage, receive BeginZoningMessage exchange. The user's player should have already been registered into the new zone and is at some stage of being added to the zone in which they will have control agency in that zone. Whether or not the zone is loaded in the earlier case depends on the destination with respect to the current location. Once all of the following is (assumed) accomplished, the server will attempt to declare that user's player the avatar of the user's client. Reception of certain packets that represent "reported user activity" after that marks the end of avatar loading. If the maximum number of unsuccessful attempts is reached, some course of action is taken. If the player dies, the process does not need to continue. He may or may not be accompanied by a vehicle at any stage of this process.

  21. def RedrawDeployableIcons(obj: Deployable): Unit

    Draw the icon for this deployable object.

    When a client first joins a zone, all deployables are drawn on the continent map once.

    Draw the icon for this deployable object.

    When a client first joins a zone, all deployables are drawn on the continent map once. Should the player place any deployables, those deployables belong to that player. Ownership causes icon to be drawn in yellow to the player (as opposed to a white icon) and that signifies a certain level of control over the deployable, at least the ability to quietly deconstruct it. Under normal death/respawn cycles while the player is in a given zone, the map icons for owned deployables ramin manipulable to that given user. They do not havwe to be redrawn to stay accurate. Upon leaving a zone, where the icons are erased, and returning back to the zone, where they are drawn again, the deployables that a player owned should be restored in terms of their map icon visibility. This control can not be recovered, however, until they are updated with the player's globally unique identifier. Since the player does not need to redraw his own deployable icons each time he respawns, but will not possess a valid GUID for that zone until he spawns in it at least once, this function is swapped with another after the first spawn in any given zone. This function is restored upon transferring zones.

    obj

    a Deployable object

    See also

    DontRedrawIcons

    SetCurrentAvatar

  22. def RespawnClone(tplayer: Player): Player

    Produce a clone of the player that is equipped with the default infantry loadout.

    Produce a clone of the player that is equipped with the default infantry loadout. The loadout is hardcoded. The player is expected to be in a Standard Exo-Suit.

    tplayer

    the original player

    returns

    the duplication of the player, in Standard Exo-Suit and with default equipment loadout

  23. def SetCurrentAvatarNormally(tplayer: Player): Unit

    Instruct the client to treat this player as the avatar.

    Instruct the client to treat this player as the avatar.

    tplayer

    the target player

    See also

    SetCurrentAvatar

  24. def TryDisposeOfLootedCorpse(obj: Player): Boolean

    If the corpse has been well-looted, remove it from the ground.

    If the corpse has been well-looted, remove it from the ground.

    obj

    the corpse

    returns

    true, if the obj is actually a corpse and has no objects in its holsters or backpack; false, otherwise

  25. def TurnCounterDuringInterim(guid: PlanetSideGUID): Unit

    During the interim period between the avatar being in one place/zone and completing the process of transitioning to another place/zone, the upstream message counter is zero'd awaiting new activity from the client.

    During the interim period between the avatar being in one place/zone and completing the process of transitioning to another place/zone, the upstream message counter is zero'd awaiting new activity from the client. Until new upstream messages that pass some tests against their data start being reported, the counter does not accumulate properly.

    guid

    the player's globally unique identifier number

  26. def TurnCounterDuringInterimWhileInPassengerSeat(guid: PlanetSideGUID): Unit

    During the interim period between the avatar being in one place/zone and completing the process of transitioning to another place/zone, the upstream message counter is zero'd awaiting new activity from the client.

    During the interim period between the avatar being in one place/zone and completing the process of transitioning to another place/zone, the upstream message counter is zero'd awaiting new activity from the client. Until new upstream messages that pass some tests against their data start being reported, the counter does not accumulate properly.

    In the case that the transitioning player is seated in a vehicle mount that is not the driver and does not have a mounted weapon under its control, no obvious feedback will be provided by the client. For example, when as infantry, a PlayerStateMessageUpstream packet is dispatched by the client. For example, when in the driver mount, a VehicleStateMessage is dispatched by the client. In the given case, the only packet that indicates the player is seated is a KeepAliveMessage. Detection of this KeepALiveMessage, for the purpose of transitioning logic, can not be instantaneous to the zoning process or other checks for proper zoning conditions that will be disrupted. To avoid complications, the player in such a mount is initially spawned as infantry on their own client, realizes the state transition confirmation for infantry (turn counter), and is forced to transition into being seated, and only at that time will begin registering KeepAliveMessage to mark the end of their interim period.

    guid

    the player's globally unique identifier number

  27. def TurnCounterLogin(guid: PlanetSideGUID): Unit

    The upstream counter accumulates when the server receives specific messages from the client.

    This accumulator is assigned after a login event.

    The upstream counter accumulates when the server receives specific messages from the client.

    This accumulator is assigned after a login event. The main purpose is to display any messages to the client regarding if their previous log-out location and their current log-in location are different. Hereafter, the normal accumulator will be referenced.

    guid

    the player's globally unique identifier number

  28. def TurnPlayerIntoCorpse(tplayer: Player, zone: Zone): Unit

    Creates a player that has the characteristics of a corpse.

    Creates a player that has the characteristics of a corpse. To the game, that is a backpack (or some pastry, festive graphical modification allowing). A player who has been kicked may not turn into a corpse.

    tplayer

    the player

    See also

    AvatarAction.Release

    AvatarServiceMessage

    CorpseConverter.converter

    DepictPlayerAsCorpse

    Player.Release

    Zone.AvatarEvents

    Zone.Corpse.Add

    Zone.Population

  29. def UpdatePersistence(persistRef: ActorRef)(): Unit

    Update this player avatar for persistence.

    Update this player avatar for persistence. Set this to persistFunc when persistence is ready.

    persistRef

    reference to the persistence monitor

  30. def UpdatePersistenceAndRefs(): Unit

    Update this player avatar for persistence.

    Update this player avatar for persistence. Set to persist when (new) player is loaded.

  31. def WellLootedDeadBody(obj: Player): Boolean

    If the corpse has been well-looted, it has no items in its primary holsters nor any items in its inventory.

    If the corpse has been well-looted, it has no items in its primary holsters nor any items in its inventory.

    obj

    the corpse

    returns

    true, if the obj is actually a corpse and has no objects in its holsters or backpack; false, otherwise

  32. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  33. def avatarLoginResponse(avatar: Avatar): Unit

    During login, when the avatar is set, the response code sets up session and deployable toolbox stats.

    During login, when the avatar is set, the response code sets up session and deployable toolbox stats. Immediately contact the interstellar cluster to deal with zoning conditions. Only call this once during login and never any time after that.

    avatar

    the avatar being set as the current one belonging to this session

  34. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  35. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  36. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  37. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  38. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  39. def handleLoginCanNot(name: String, reason: services.account.PlayerToken.DeniedLoginReason.Value): Unit
  40. def handleLoginInfoNowhere(name: String, from: ActorRef): Unit
  41. def handleLoginInfoRestore(name: String, inZone: Zone, pos: Vector3, from: ActorRef): Unit
  42. def handleLoginInfoSomewhere(name: String, inZone: Zone, optionalSavedData: Option[Savedplayer], from: ActorRef): Unit
  43. def handleNewPlayerLoaded(tplayer: Player): Unit
  44. def handlePlayerLoaded(tplayer: Player): Unit
  45. def handleReleaseAvatarRequest(pkt: ReleaseAvatarRequestMessage): Unit
  46. def handleSetPosition(position: Vector3): Unit
  47. def handleSpawnPointResponse(response: Option[(Zone, SpawnPoint)]): Unit
  48. def handleSpawnRequest(pkt: SpawnRequestMessage)(implicit context: ActorContext): Unit
  49. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  50. def isAcceptableNextSpawnPoint: Boolean
  51. def isAcceptableSpawnPoint(spawnPoint: Option[SpawnPoint]): Boolean
  52. def isAcceptableSpawnPoint(spawnPoint: SpawnPoint): Boolean
  53. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  54. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  55. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  56. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  57. def performAvatarAwardMessageDelivery(messageBundles: Iterable[Iterable[PlanetSideGamePacket]], delay: Long): Unit

    Coordinate timed dispatches of groups of packets.

    Coordinate timed dispatches of groups of packets.

    messageBundles

    groups of packets to be dispatched

    delay

    dispatch packet divisions in intervals

  58. def resolveZoningSpawnPointLoad(spawnPointTarget: Option[(Zone, SpawnPoint)], zoningType: Method): Unit

    Process recovered spawn request information to start the process of spawning an avatar player entity in a specific zone in a specific place in that zone after a certain amount of time has elapsed.

    To load: a zone, a spawn point, a spawning target entity, and the time it takes to spawn are required.

    Process recovered spawn request information to start the process of spawning an avatar player entity in a specific zone in a specific place in that zone after a certain amount of time has elapsed.

    To load: a zone, a spawn point, a spawning target entity, and the time it takes to spawn are required. Everything but the spawn point can be determined from the information already available to the context (does not need to be passed in as a parameter). The zone is more reliable when passed in as a parameter since local references may have changed. The spawn point defines the spawn position as well as the spawn orientation. Any of information provided can be used to calculate the time to spawn. The session's knowledge of the zoning event is also used to assist with the spawning event.

    If no spawn information has been provided, abort the whole process (unsafe!).

    spawnPointTarget

    an optional paired zone entity and a spawn point within the zone

    zoningType

    a token that references the manner of zone transfer

  59. def setupAvatarAwardMessageDelivery(tplayer: Player, bundleSize: Int, delay: Long): Unit

    Extract the merit commendation advancement information from a player character, filter unnecessary or not applicable statistics, translate the information into packet data, and coordinate timed dispatches of groups of packets.

    Extract the merit commendation advancement information from a player character, filter unnecessary or not applicable statistics, translate the information into packet data, and coordinate timed dispatches of groups of packets.

    tplayer

    the player character

    bundleSize

    divide packets into groups of this size

    delay

    dispatch packet divisions in intervals

  60. def setupAvatarAwardMessageDelivery(bundleSize: Int, delay: Long): Unit

    Extract the award advancement information from a player character, and coordinate timed dispatches of groups of packets.

    Extract the award advancement information from a player character, and coordinate timed dispatches of groups of packets.

    bundleSize

    divide packets into groups of this size

    delay

    dispatch packet divisions in intervals

  61. def skipAvatarAwardMessageDelivery(bundleSize: Int, delay: Long): Unit

    Don't extract the award advancement information from a player character upon respawning or zoning.

    Don't extract the award advancement information from a player character upon respawning or zoning. You only need to perform that population once at login.

    bundleSize

    it doesn't matter

    delay

    it doesn't matter

  62. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  63. def toString(): String
    Definition Classes
    AnyRef → Any
  64. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  65. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  66. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped