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.Inventory
GridInventory.Items
Player.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.Inventory
GridInventory.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
ObjectDeleteMessage
concerning the deconstruction animation
- def deployableBuildActivity(obj: Deployable): Unit
Common actions related to constructing a new
Deployable
object 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
Deployable
object 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
Deployable
object to be built
- def destroyDisplayMessage(killer: SourceEntry, victim: SourceEntry, method: Int, unk: Int = 121): DestroyDisplayMessage
Properly format a
DestroyDisplayMessage
packet given sufficient information about a target (victim) and an actor (killer).Properly format a
DestroyDisplayMessage
packet given sufficient information about a target (victim) and an actor (killer). For the packet, thecharId
field 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
DestroyDisplayMessage
packet 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
ObjectCreateDetailedMessage
ObjectCreateMessageParent
PacketConverter.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
player
and 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
Tuple
of the returned values; the first value is aContainer
object; the second value is anEquipment
object in the former
- def findEquipment(guid: PlanetSideGUID): Option[Equipment]
Runs
FindContainedEquipment
but ignores theContainer
object output and only discoversEquipment
with the specified global unique identifier number.Runs
FindContainedEquipment
but ignores theContainer
object output and only discoversEquipment
with the specified global unique identifier number.- returns
an
Equipment
object
- def findEquipment(): Set[Equipment]
Runs
FindContainedEquipment
but ignores theContainer
object output.Runs
FindContainedEquipment
but ignores theContainer
object output.- returns
an
Equipment
object
- 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
RequestDestroyMessage
Zone.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
Container
object 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
Vehicle
object that the player is riding/driving.Get the current
Vehicle
object 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
target
using the information reconstructed from aResolvedprojectile
and affect thetarget
in a synchronized manner.Calculate the amount of damage to be dealt to an active
target
using the information reconstructed from aResolvedprojectile
and affect thetarget
in a synchronized manner. The activetarget
and the target of theDamageResult
do not have be the same. While the "tell" for being able to sustain damage is an entity of typeVitality
, only specificVitality
entity 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
DamageResistanceModel
Vitality
- 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 atickAction
check 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
progressBarUpdate
progressBarValue
essionActor.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
InventoryItem
ObjectDeleteMessage
- def immediateDisconnect(): Unit
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def keepAlivePersistence(): Unit
The atypical response to receiving a
KeepAliveMessage
packet from the client.
KeepAliveMessage
packets 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
KeepAliveMessage
packet from the client.
KeepAliveMessage
packets 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
KeepAliveMessage
keepAliveFunc
turnCounterFunc
persist
- def keepAlivePersistenceInitial(): Unit
A really atypical response to receiving a
KeepAliveMessage
packet 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
persistFunc
initially. - def normalItemDrop(obj: PlanetSideServerObject with Container, zone: Zone)(item: Equipment): Unit
Drop an
Equipment
item onto the ground.Drop an
Equipment
item 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
Container
object 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
BoomerTrigger
objects, both functionally and visually.Search through the player's holsters and their inventory space and remove all
BoomerTrigger
objects, both functionally and visually.- returns
all discovered
BoomTrigger
objects
- 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
InternalTelepad
object)- 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 notlearn
ed. 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 playerforget
s 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
persist
initially. - 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
Deployment
object fails to properly transition between states.Common reporting behavior when a
Deployment
object fails to properly transition between states.- obj
the game object that could not
- state
the
DriveState
that could not be promoted- reason
a string explaining why the state can not or will not change
- def zoning: ZoningOperations