class SessionData extends AnyRef
- Source
- SessionData.scala
- Alphabetic
- By Inheritance
- SessionData
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def accessContainer(container: Container): Unit
- def accessContainerChannel(events: ActorRef, channel: String): Unit
Join an entity-specific group for shared updates.
Join an entity-specific group for shared updates.
- events
the event system bus to which to subscribe
- channel
the channel name
- def accessCorpseContents(tplayer: Player): Unit
Common preparation for interfacing with a corpse (former player's backpack).
Common preparation for interfacing with a corpse (former player's backpack). Join a corpse-specific group for shared updates. Construct every object in the player's hands and inventory for shared manipulation updates.
- tplayer
the corpse
- See also
Container.InventoryGridInventory.ItemsPlayer.HolsterItems
- def accessGenericContainer(container: PlanetSideServerObject with Container): Unit
- def accessVehicleContents(vehicle: Vehicle): Unit
Common preparation for interfacing with a vehicle trunk.
Common preparation for interfacing with a vehicle trunk. Join a vehicle-specific group for shared updates. Construct every object in the vehicle's inventory for shared manipulation updates.
- vehicle
the vehicle
- See also
Container.InventoryGridInventory.Items
- def account: Account
- def administrativeKick(tplayer: Player): Unit
- def applyPurchaseTimersBeforePackingLoadout(player: Player, target: PlanetSideServerObject with Container, slots: List[InventoryItem]): Unit
Enforce constraints on bulk purchases as determined by a given player's previous purchase times and hard acquisition delays.
Enforce constraints on bulk purchases as determined by a given player's previous purchase times and hard acquisition delays. Intended to assist in sanitizing loadout information from the perspective of the player, or target owner. The equipment is expected to be unregistered and already fitted to their ultimate slot in the target container.
- player
the player whose purchasing constraints are to be tested
- target
the location in which the equipment will be stowed
- slots
the equipment, in the standard object-slot format container
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def assignEventBus(msg: Any): Boolean
- def avatar: Avatar
- val avatarResponse: SessionAvatarHandlers
- def buildDependentOperations(galaxyActor: ActorRef, clusterActor: ActorRef[Command]): Unit
- def buildDependentOperationsForGalaxy(galaxyActor: ActorRef): Unit
- def buildDependentOperationsForSquad(squadActor: ActorRef): Unit
- def canSeeReallyFar: Boolean
- def charSaved(): Unit
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- implicit val context: ActorContext
- def continent: Zone
- def deconstructDeployable(obj: Deployable, guid: PlanetSideGUID, pos: Vector3, orient: Vector3, deletionType: Int): Unit
Common behavior for deconstructing deployables in the game environment.
Common behavior for deconstructing deployables in the game environment.
- obj
the deployable
- guid
the globally unique identifier for the deployable
- pos
the previous position of the deployable
- orient
the previous orientation of the deployable
- deletionType
the value passed to
ObjectDeleteMessageconcerning the deconstruction animation
- def deployableBuildActivity(obj: Deployable): Unit
Common actions related to constructing a new
Deployableobject in the game environment.
The map icon for the deployable just introduced is also created on the clients of all faction-affiliated players.Common actions related to constructing a new
Deployableobject in the game environment.
The map icon for the deployable just introduced is also created on the clients of all faction-affiliated players. This icon is important as, short of destroying it, the owner has no other means of controlling the created object that it is associated with.- obj
the
Deployableobject to be built
- def destroyDisplayMessage(killer: SourceEntry, victim: SourceEntry, method: Int, unk: Int = 121): DestroyDisplayMessage
Properly format a
DestroyDisplayMessagepacket given sufficient information about a target (victim) and an actor (killer).Properly format a
DestroyDisplayMessagepacket given sufficient information about a target (victim) and an actor (killer). For the packet, thecharIdfield is important for determining distinction between players.- killer
the killer's entry
- victim
the victim's entry
- method
the manner of death
- unk
na; defaults to 121, the object id of
avatar- returns
a
DestroyDisplayMessagepacket that is properly formatted
- def displayCharSavedMsgThenRenewTimer(fixedLen: Long, varLen: Long): Unit
- def displayContainerContents(containerId: PlanetSideGUID, items: Iterable[InventoryItem]): Unit
Depict the contents of a container by building them in the local client in their container as a group of detailed entities.
Depict the contents of a container by building them in the local client in their container as a group of detailed entities.
- containerId
the container's unique identifier
- items
a list of the entities to be depicted
- See also
ObjectCreateDetailedMessageObjectCreateMessageParentPacketConverter.DetailedConstructorData
- def dropSpecialSlotItem(): Unit
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def failWithError(error: String): Unit
- def fallHeightTracker(zHeight: Float): Unit
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def findContainedEquipment(guid: PlanetSideGUID): (Option[PlanetSideGameObject with Container], Set[Equipment])
Check two locations for a controlled piece of equipment that is associated with the
playerand has the specified global unique identifier number. - def findContainedEquipment(): (Option[PlanetSideGameObject with Container], Set[Equipment])
Check two locations for a controlled piece of equipment that is associated with the
player.
The first location is dependent on whether the avatar is in a vehicle.Check two locations for a controlled piece of equipment that is associated with the
player.
The first location is dependent on whether the avatar is in a vehicle. Some vehicle seats may have a "controlled weapon" which counts as the first location to be checked. The second location is dependent on whether the avatar has a raised hand. That is only possible if the player has something in their hand at the moment, hence the second location. Players do have a concept called a "last drawn slot" (hand) but that former location is not eligible.
Along with any discovered item, a containing object such that the statement:
container.Find(object) = Some(slot)
... will return a proper result. For a mount controlled weapon, the vehicle is returned. For the player's hand, the player is returned.- returns
a
Tupleof the returned values; the first value is aContainerobject; the second value is anEquipmentobject in the former
- def findEquipment(guid: PlanetSideGUID): Option[Equipment]
Runs
FindContainedEquipmentbut ignores theContainerobject output and only discoversEquipmentwith the specified global unique identifier number.Runs
FindContainedEquipmentbut ignores theContainerobject output and only discoversEquipmentwith the specified global unique identifier number.- returns
an
Equipmentobject
- def findEquipment(): Set[Equipment]
Runs
FindContainedEquipmentbut ignores theContainerobject output.Runs
FindContainedEquipmentbut ignores theContainerobject output.- returns
an
Equipmentobject
- def findEquipmentToDelete(objectGuid: PlanetSideGUID, obj: Equipment): Boolean
A simple object searching algorithm that is limited to containers currently known and accessible by the player.
A simple object searching algorithm that is limited to containers currently known and accessible by the player. If all relatively local containers are checked and the object is not found, the player's locker inventory will be checked, and then the game environment (items on the ground) will be checked too. If the target object is discovered, it is removed from its current location and is completely destroyed.
- objectGuid
the target object's globally unique identifier; it is not expected that the object will be unregistered, but it is also not gauranteed
- obj
the target object
- returns
true, if the target object was discovered and removed;false, otherwise
- See also
RequestDestroyMessageZone.ItemIs.Where
- def findInLocalContainer(objectGuid: PlanetSideGUID)(parent: PlanetSideServerObject with Container): Option[(PlanetSideServerObject with Container, Option[Int])]
Given an object globally unique identifier, search in a given location for it.
Given an object globally unique identifier, search in a given location for it.
- objectGuid
the object
- parent
a
Containerobject wherein to search- returns
an optional tuple that contains two values; the first value is the container that matched correctly with the object's GUID; the second value is the slot position of the object
- def findLocalVehicle: Option[Vehicle]
Get the current
Vehicleobject that the player is riding/driving.Get the current
Vehicleobject that the player is riding/driving. The vehicle must be found solely through use ofplayer.VehicleSeated.- returns
the vehicle
- def galaxyResponseHanders: SessionGalaxyHandlers
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hackObject(targetGuid: PlanetSideGUID, unk1: Long, unk2: Long): Unit
na
na
- targetGuid
na
- unk1
na
- unk2
na
- def handleActionCancel(pkt: ActionCancelMessage): Unit
- def handleAvatarFirstTimeEvent(pkt: AvatarFirstTimeEventMessage): Unit
- def handleAvatarImplant(pkt: AvatarImplantMessage): Unit
- def handleAvatarJump(pkt: AvatarJumpMessage): Unit
- def handleAvatarResponse(avatar: Avatar): Unit
- def handleBattleplan(pkt: BattleplanMessage): Unit
- def handleBindPlayer(pkt: BindPlayerMessage): Unit
- def handleBugReport(pkt: PlanetSideGamePacket): Unit
- def handleChangeShortcutBank(pkt: ChangeShortcutBankMessage): Unit
- def handleCharacterCreateRequest(pkt: CharacterCreateRequestMessage): Unit
- def handleCharacterRequest(pkt: CharacterRequestMessage): Unit
- def handleChat(pkt: ChatMsg): Unit
- def handleChatFilter(pkt: SetChatFilterMessage): Unit
- def handleConnectToWorldRequest(pkt: ConnectToWorldRequestMessage)(implicit context: ActorContext): Unit
- def handleCreateShortcut(pkt: CreateShortcutMessage): Unit
- def handleDealingDamage(target: PlanetSideGameObject with Vitality, data: DamageInteraction): Unit
Calculate the amount of damage to be dealt to an active
targetusing the information reconstructed from aResolvedprojectileand affect thetargetin a synchronized manner.Calculate the amount of damage to be dealt to an active
targetusing the information reconstructed from aResolvedprojectileand affect thetargetin a synchronized manner. The activetargetand the target of theDamageResultdo not have be the same. While the "tell" for being able to sustain damage is an entity of typeVitality, only specificVitalityentity types are being screened for sustaining damage.- target
a valid game object that is known to the server
- data
a projectile that will affect the target
- See also
DamageResistanceModelVitality
- def handleDeployObject(pkt: DeployObjectMessage): Unit
- def handleDisplayedAward(pkt: DisplayedAwardMessage): Unit
- def handleDropItem(pkt: DropItemMessage): Unit
- def handleEmote(pkt: EmoteMsg): Unit
- def handleFacilityBenefitShieldChargeRequest(pkt: FacilityBenefitShieldChargeRequestMessage): Unit
- def handleFavoritesRequest(pkt: FavoritesRequest): Unit
- def handleFriendRequest(pkt: FriendsRequest): Unit
- def handleGenericAction(pkt: GenericActionMessage): Unit
- def handleGenericCollision(pkt: GenericCollisionMsg): Unit
- def handleGenericObjectAction(pkt: GenericObjectActionMessage): Unit
- def handleGenericObjectActionAtPosition(pkt: GenericObjectActionAtPositionMessage): Unit
- def handleGenericObjectState(pkt: GenericObjectStateMsg): Unit
- def handleHitHint(pkt: HitHint): Unit
- def handleInvalidTerrain(pkt: InvalidTerrainMessage): Unit
- def handleKick(player: Player, time: Option[Long]): Unit
- def handleLootItem(pkt: LootItemMessage): Unit
- def handleMoveItem(pkt: MoveItemMessage): Unit
- def handleObjectDetected(pkt: ObjectDetectedMessage): Unit
- def handleObjectHeld(pkt: ObjectHeldMessage): Unit
- def handlePickupItem(pkt: PickupItemMessage): Unit
- def handlePlanetsideAttribute(pkt: PlanetsideAttributeMessage): Unit
- def handlePlayerStateUpstream(pkt: PlayerStateMessageUpstream): Unit
- def handleProgressChange(delta: Float, completionAction: () => Unit, tickAction: (Float) => Boolean, tick: Long): Unit
Handle the message that indicates the level of completion of a process.
Handle the message that indicates the level of completion of a process. The process is any form of user-driven activity with a certain eventual outcome but indeterminate progress feedback per cycle.
This task is broken down into the "progression" from its initial state to the eventual outcome as is reported back to the player through some means of messaging window feedback. Though common in practice, this is not a requirement and the progress can accumulate without a user reportable method. To ensure that completion is reported properly, an exception is made that 99% completion is accounted uniquely before the final 100% is achieved. If the background process recording value is never set before running the initial operation or gets unset by failing atickActioncheck the process is stopped.- delta
how much the progress changes each tick
- completionAction
a custom action performed once the process is completed
- tickAction
an optional action is is performed for each tick of progress; also performs a continuity check to determine if the process has been disrupted
- See also
progressBarUpdateprogressBarValueessionActor.Progress
- def handleReceiveAccountData(account: Account): Unit
- def handleRequestDestroy(pkt: RequestDestroyMessage): Unit
- def handleSetAvatar(avatar: Avatar): Unit
- def handleSetFlying(flying: Boolean): Unit
- def handleSetSpectator(spectator: Boolean): Unit
- def handleSetSpeed(speed: Float): Unit
- def handleSilenced(isSilenced: Boolean): Unit
- def handleTargetingImplantRequest(pkt: TargetingImplantRequest): Unit
- def handleTrade(pkt: TradeMessage): Unit
- def handleUnuseItem(pkt: UnuseItemMessage): Unit
- def handleUpdateIgnoredPlayers: (PlanetSideGamePacket) => Unit
- def handleUseCooldownRenew: (BasicDefinition) => Unit
- def handleUseItem(pkt: UseItemMessage): Unit
- def handleVoiceHostInfo(pkt: VoiceHostInfo): Unit
- def handleVoiceHostRequest(pkt: VoiceHostRequest): Unit
- def handleZipLine(pkt: ZipLineMessage): Unit
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hideContainerContents(items: List[InventoryItem]): Unit
Forget the contents of a container by deleting that content from the local client.
Forget the contents of a container by deleting that content from the local client.
- items
a list of the entities to be depicted
- See also
InventoryItemObjectDeleteMessage
- def immediateDisconnect(): Unit
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def keepAlivePersistence(): Unit
The atypical response to receiving a
KeepAliveMessagepacket from the client.
KeepAliveMessagepackets are the primary vehicle for persistence due to client reporting in the case where the player's avatar is riding in a vehicle in a mount with no weapon to control.The atypical response to receiving a
KeepAliveMessagepacket from the client.
KeepAliveMessagepackets are the primary vehicle for persistence due to client reporting in the case where the player's avatar is riding in a vehicle in a mount with no weapon to control.- See also
KeepAliveMessagekeepAliveFuncturnCounterFuncpersist
- def keepAlivePersistenceInitial(): Unit
A really atypical response to receiving a
KeepAliveMessagepacket from the client that applies only during the character select portion and part of the first zone load activity. - def kickedByAdministration(): Unit
- val localResponse: SessionLocalHandlers
- def maxCapacitorTick(jumpThrust: Boolean): Unit
- val mountResponse: SessionMountHandlers
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def noPersistence(): Unit
Do not update this player avatar for persistence.
Do not update this player avatar for persistence. Set to
persistFuncinitially. - def normalItemDrop(obj: PlanetSideServerObject with Container, zone: Zone)(item: Equipment): Unit
Drop an
Equipmentitem onto the ground.Drop an
Equipmentitem onto the ground. Specifically, instruct the item where it will appear, add it to the list of items that are visible to multiple users, and then inform others that the item has been dropped.- obj
a
Containerobject that represents where the item will be dropped; curried for callback- zone
the continent in which the item is being dropped; curried for callback
- item
the item
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def player: Player
- def playerActionsToCancel(): Unit
An event has occurred that would cause the player character to stop certain stateful activities.
An event has occurred that would cause the player character to stop certain stateful activities. These activities include shooting, the weapon being drawn, hacking, accessing (a container), flying, and running. Other players in the same zone must be made aware that the player has stopped as well.
Things whose configuration should not be changed:
- if the player is seated
- if the player is anchored
This is not a complete list but, for the purpose of enforcement, some pointers will be documented here. - def removeBoomerTriggersFromInventory(): List[BoomerTrigger]
Search through the player's holsters and their inventory space and remove all
BoomerTriggerobjects, both functionally and visually.Search through the player's holsters and their inventory space and remove all
BoomerTriggerobjects, both functionally and visually.- returns
all discovered
BoomTriggerobjects
- def renewCharSavedTimer(fixedLen: Long, varLen: Long): Unit
- def sendPlanetsideAttributeMessage(targetGuid: PlanetSideGUID, attributeNumber: PlanetsideAttributeEnum, attributeValue: Long): Unit
Send a PlanetsideAttributeMessage packet to the client
Send a PlanetsideAttributeMessage packet to the client
- targetGuid
The target of the attribute
- attributeNumber
The attribute number
- attributeValue
The attribute value
- def sendResponse(packet: PlanetSidePacket): Unit
- def session: Session
- def session_=(session: Session): Unit
- def setupProgressChange(rate: Float, finishedAction: () => Unit, stepAction: (Float) => Boolean): Unit
- val shooting: WeaponAndProjectileOperations
- def squad: SessionSquadHandlers
- def startDeconstructing(obj: SpawnTube): Unit
- def stop(): Unit
- def stopDeconstructing(): Unit
- def suicide(tplayer: Player): Unit
The player has lost the will to live and must be killed.
The player has lost the will to live and must be killed.
- tplayer
the player to be killed
- See also
Vitality
PlayerSuicide
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val terminals: SessionTerminalHandlers
- def toString(): String
- Definition Classes
- AnyRef → Any
- def toggleMaxSpecialState(enable: Boolean): Unit
- def toggleTeleportSystem(router: Vehicle, systemPlan: Option[(InternalTelepad, TelepadDeployable)]): Unit
Attempt to link the router teleport system using the provided terminal information.
Attempt to link the router teleport system using the provided terminal information. Although additional states are necessary to properly use the teleportation system, e.g., deployment state, active state of the endpoints, etc., this decision is not made factoring those other conditions.
- router
the vehicle that houses one end of the teleportation system (the
InternalTelepadobject)- systemPlan
specific object identification of the two endpoints of the teleportation system; if absent, the knowable endpoint is deleted from the client reflexively
- def unaccessContainer(container: Container): Unit
For the target container, initiate protocol to release it from "access".
- def unaccessContainer(): Unit
For whatever conatiner the character considers itself accessing, initiate protocol to release it from "access".
- def unaccessContainerChannel(events: ActorRef, channel: String): Unit
Leave an entity-specific group for shared updates.
Leave an entity-specific group for shared updates.
- events
the event system bus to which to subscribe
- channel
the channel name
- def unaccessCorpseContainer(tplayer: Player): Unit
Common preparation for disengaging from a corpse.
Common preparation for disengaging from a corpse. Leave the corpse-specific group that was used for shared updates. Deconstruct every object in the backpack's inventory.
- tplayer
the corpse
- def unaccessGenericContainer(container: Container): Unit
- def unaccessVehicleContainer(vehicle: Vehicle): Unit
Common preparation for disengaging from a vehicle.
Common preparation for disengaging from a vehicle. Leave the vehicle-specific group that was used for shared updates. Deconstruct every object in the vehicle's inventory.
- vehicle
the vehicle
- def updateBlockMap(target: BlockMapEntity, newCoords: Vector3): Unit
- def updateDeployableUIElements(list: List[(Int, Int, Int, Int)]): Unit
Initialize the deployables user interface elements.
All element initializations require both the maximum deployable amount and the current deployables active counts.Initialize the deployables user interface elements.
All element initializations require both the maximum deployable amount and the current deployables active counts. Until initialized, all elements will be RED 0/0 as if the corresponding certification were notlearned. The respective element will become a pair of numbers, the second always being non-zero, when properly initialized. The numbers will appear GREEN when more deployables of that type can be placed. The numbers will appear RED if the player can not place any more of that type of deployable. The numbers will appear YELLOW if the current deployable count is greater than the maximum count of that type such as may be the case when a playerforgets a certification.- list
a tuple of each UI element with four numbers; even numbers are attribute ids; odd numbers are quantities; first pair is current quantity; second pair is maximum quantity
- def updateLocalBlockMap(pos: Vector3): Unit
- def updateOldRefsMap(item: PlanetSideGameObject): IterableOnce[(PlanetSideGUID, String)]
- def updateOldRefsMap(inventory: GridInventory): IterableOnce[(PlanetSideGUID, String)]
- def updateOldRefsMap(): Unit
- def updatePersistenceOnly(): Unit
Update this player avatar for persistence.
Update this player avatar for persistence. Set to
persistinitially. - def updateWeaponAtSeatPosition(objWithSeat: MountableWeapons, seatNum: Int): Unit
From a mount, find the weapon controlled from it, and update the ammunition counts for that weapon's magazines.
From a mount, find the weapon controlled from it, and update the ammunition counts for that weapon's magazines.
- objWithSeat
the object that owns seats (and weaponry)
- seatNum
the mount
- def useRouterTelepadEffect(playerGUID: PlanetSideGUID, srcGUID: PlanetSideGUID, destGUID: PlanetSideGUID): Unit
Animate(?) a player using a fully-linked Router teleportation system.
Animate(?) a player using a fully-linked Router teleportation system. In reality, this seems to do nothing visually?
- playerGUID
the player being teleported
- srcGUID
the origin of the teleportation
- destGUID
the destination of the teleportation
- def useRouterTelepadSystem(router: Vehicle, internalTelepad: InternalTelepad, remoteTelepad: TelepadDeployable, src: PlanetSideGameObject with TelepadLike, dest: PlanetSideGameObject with TelepadLike): Unit
A player uses a fully-linked Router teleportation system.
A player uses a fully-linked Router teleportation system.
- router
the Router vehicle
- internalTelepad
the internal telepad within the Router vehicle
- remoteTelepad
the remote telepad that is currently associated with this Router
- src
the origin of the teleportation (where the player starts)
- dest
the destination of the teleportation (where the player is going)
- def validObject(id: Option[PlanetSideGUID], decorator: String): Option[PlanetSideGameObject]
- def validObject(id: Option[PlanetSideGUID]): Option[PlanetSideGameObject]
- def validObject(id: PlanetSideGUID, decorator: String): Option[PlanetSideGameObject]
- def validObject(id: PlanetSideGUID): Option[PlanetSideGameObject]
- def validObject(id: Int, decorator: String): Option[PlanetSideGameObject]
- def validObject(id: Int): Option[PlanetSideGameObject]
- def vehicleResponseOperations: SessionVehicleHandlers
- val vehicles: VehicleOperations
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def whenAllEventBusesLoaded(): Boolean
- def youCanNotChangeDeployment(obj: PlanetSideServerObject with Deployment, state: types.DriveState.Value, reason: String): Unit
Common reporting behavior when a
Deploymentobject fails to properly transition between states.Common reporting behavior when a
Deploymentobject fails to properly transition between states.- obj
the game object that could not
- state
the
DriveStatethat could not be promoted- reason
a string explaining why the state can not or will not change
- def zoning: ZoningOperations