class ZoningOperations extends CommonSessionInterfacingFunctionality
- Source
- ZoningOperations.scala
- Alphabetic
- By Inheritance
- ZoningOperations
- CommonSessionInterfacingFunctionality
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new ZoningOperations(sessionData: SessionData, avatarActor: ActorRef[Command], galaxyService: ActorRef, cluster: ActorRef[Command], context: ActorContext)
Type Members
- class SpawnOperations extends AnyRef
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 CancelZoningProcess(): Unit
The user no longer expects to perform a zoning event, or the process is merely resetting its internal state.
- def CancelZoningProcessWithDescriptiveReason(msg: String): Unit
The user no longer expects to perform a zoning event for this reason.
The user no longer expects to perform a zoning event for this reason.
- msg
the message to the user
- def CancelZoningProcessWithReason(msg: String, msgType: Option[ChatMessageType] = None): Unit
The user no longer expects to perform a zoning event for this reason.
The user no longer expects to perform a zoning event for this reason.
- msg
the message to the user
- msgType
the type of message, influencing how it is presented to the user; normally, this message uses the same value as
zoningChatMessageType
; defaults toNone
- def LoadZoneAsPlayer(targetPlayer: Player, zoneId: String): Unit
Deal with a target player as free-standing infantry in the course of a redeployment action to a target continent whether that action is the result of a deconstruction (reconstruction), a death (respawning), or other position shifting action handled directly by the server.
Deal with a target player as free-standing infantry in the course of a redeployment action to a target continent whether that action is the result of a deconstruction (reconstruction), a death (respawning), or other position shifting action handled directly by the server.
The two important vectors are still whether the zone being transported to is the same or is different and whether the target player is alive or released (note: not just "dead" ...).
- targetPlayer
the target player being moved around; not necessarily the same player as the
WorldSessionActor
-globalplayer
- zoneId
the zone in which the player will be placed
- def LoadZoneCommonTransferActivity(): Unit
Common behavior when transferring between zones encompassing actions that disassociate the player with entities they left (will leave) in the previous zone.
Common behavior when transferring between zones encompassing actions that disassociate the player with entities they left (will leave) in the previous zone. It also sets up actions for the new zone loading process.
- def LoadZoneInVehicle(vehicle: Vehicle, pos: Vector3, ori: Vector3, zone_id: String): Unit
Deal with a target player as a vehicle occupant in the course of a redeployment action to a target continent whether that action is the result of a deconstruction (reconstruction) or other position shifting action handled directly by the server.
The original target player must be alive and the only consideration is in what position the player is mounted in the vehicle.Deal with a target player as a vehicle occupant in the course of a redeployment action to a target continent whether that action is the result of a deconstruction (reconstruction) or other position shifting action handled directly by the server.
The original target player must be alive and the only consideration is in what position the player is mounted in the vehicle. Any seated position that isn't the driver is a passenger. The most important role performed in this function is to declare a reference to the vehicle itsself since no other connection from the player to the vehicle is guaranteed to persist in a meaningful way during the transfer.- vehicle
the target vehicle being moved around; WILL necessarily be the same vehicles as is controlled by the
WorldSessionActor
-globalplayer
- pos
the game world coordinates where the vehicle will be positioned
- ori
the direction in which the vehicle will be oriented
- zone_id
the zone in which the vehicle and driver will be placed, or in which the vehicle has already been placed
- returns
a tuple composed of an
ActorRef
destination and a message to send to that destination
- def LoadZoneInVehicleAsDriver(vehicle: Vehicle, zoneId: String): Unit
Deal with a target player as a vehicle driver in the course of a redeployment action to a target continent whether that action is the result of a deconstruction (reconstruction) or other position shifting action handled directly by the server.
During a vehicle transfer, whether to the same zone or to a different zone, the driver has the important task of ensuring the certain safety of his passengers during transport.Deal with a target player as a vehicle driver in the course of a redeployment action to a target continent whether that action is the result of a deconstruction (reconstruction) or other position shifting action handled directly by the server.
During a vehicle transfer, whether to the same zone or to a different zone, the driver has the important task of ensuring the certain safety of his passengers during transport. The driver must modify the conditions of the vehicle's passengers common communication channel originally determined entirely by the vehicle's soon-to-be blanked internalActor
object. Any cargo vehicles under the control of the target vehicle must also be made aware of the current state of the process. In the case of a series of ferrying vehicles and cargo vehicles, the vehicle to be deleted might not be the one immediately mounted. A reference to the top-level ferrying vehicle's former globally unique identifier has been retained for this purpose. This vehicle can be deleted for everyone if no more work can be detected.- vehicle
the target vehicle being moved around; WILL necessarily be the same vehicles as is controlled by the
WorldSessionActor
-globalplayer
- zoneId
the zone in which the vehicle and driver will be placed, or in which the vehicle has already been placed
- returns
a tuple composed of an
ActorRef
destination and a message to send to that destination
- def LoadZoneInVehicleAsPassenger(vehicle: Vehicle, zoneId: String): Unit
Deal with a target player as a vehicle passenger in the course of a redeployment action to a target continent whether that action is the result of a deconstruction (reconstruction) or other position shifting action handled directly by the server.
The way a vehicle is handled in reference to being a passenger is very similar to how an infantry player is handled in the same process.Deal with a target player as a vehicle passenger in the course of a redeployment action to a target continent whether that action is the result of a deconstruction (reconstruction) or other position shifting action handled directly by the server.
The way a vehicle is handled in reference to being a passenger is very similar to how an infantry player is handled in the same process. If this player is the last person who requires a zone change which is the concluding zone transfer of what might have been a long chain of vehicle and passengers then that player is responsible for deleting the vehicle for other players of the previous zone. In the case of a series of ferrying vehicles and cargo vehicles, the vehicle to be deleted might not be the one immediately mounted. A reference to the top-level ferrying vehicle's former globally unique identifier has been retained for this purpose. This vehicle can be deleted for everyone if no more work can be detected.- vehicle
the target vehicle being moved around
- zoneId
the zone in which the vehicle and driver will be placed
- returns
a tuple composed of an
ActorRef
destination and a message to send to that destination
- See also
GUIDTask.unregisterPlayer
LoadZoneCommonTransferActivity
Vehicles.AllGatedOccupantsInSameZone
PlayerLoaded
TaskBeforeZoneChange
UnaccessContainer
- def LoadZoneLaunchDroppod(zone: Zone, spawnPosition: Vector3): Unit
Attach the player to a droppod vehicle and hurtle them through the stratosphere in some far off world.
Attach the player to a droppod vehicle and hurtle them through the stratosphere in some far off world. Perform all normal operation standardization (state cancels) as if any of form of zoning was being performed, then assemble the vehicle and work around some inconvenient setup requirements for vehicle gating. You can't instant action to respond to some activity using a droppod.
- zone
the destination zone
- spawnPosition
the destination drop position
- def LoadZoneTransferPassengerMessages(player_guid: PlanetSideGUID, toZoneId: String, vehicle: Vehicle): Unit
Dispatch messages to all target players in immediate passenger and gunner seats and to the driver of all vehicles in cargo holds that their current ferrying vehicle is being transported from one zone to the next and that they should follow after it.
Dispatch messages to all target players in immediate passenger and gunner seats and to the driver of all vehicles in cargo holds that their current ferrying vehicle is being transported from one zone to the next and that they should follow after it. The messages address the avatar of their recipient
WorldSessionActor
objects.- player_guid
the driver of the target vehicle
- toZoneId
the zone where the target vehicle will be moved
- vehicle
the vehicle (object)
- def NormalKeepAlive(): Unit
The normal response to receiving a
KeepAliveMessage
packet from the client.
Even though receiving aKeepAliveMessage
outside of zoning is uncommon, the behavior should be configured to maintain a neutral action.The normal response to receiving a
KeepAliveMessage
packet from the client.
Even though receiving aKeepAliveMessage
outside of zoning is uncommon, the behavior should be configured to maintain a neutral action.- See also
KeepAliveMessage
keepAliveFunc
- def RandomSanctuarySpawnPosition(target: Player): Unit
- def RequestSanctuaryZoneSpawn(tplayer: Player, currentZone: Int): Unit
Attempt to transfer to the player's faction-specific sanctuary continent.
Attempt to transfer to the player's faction-specific sanctuary continent. If the server thinks the player is already on his sanctuary continent, and dead, it will disconnect the player under the assumption that an error has occurred. Eventually, this functionality should support better error-handling before it jumps to the conclusion: "Disconnecting the client is the safest option."
- tplayer
the player
- currentZone
the current zone number
- See also
Zones.SanctuaryZoneNumber
- def ZoningStartInitialMessageAndTimer(): (Int, String)
The primary method of determination involves the faction affinity of the most favorable available region subset, e.g., in the overlapping sphere of influences of a friendly field tower and an enemy major facility, the time representative of the the tower has priority.
The primary method of determination involves the faction affinity of the most favorable available region subset, e.g., in the overlapping sphere of influences of a friendly field tower and an enemy major facility, the time representative of the the tower has priority. When no spheres of influence are being encroached, one is considered "in the wilderness". The messaging is different but the location is normally treated the same as if in a neutral sphere of influence. Being anywhere in one's faction's own sanctuary is a special case.
- returns
a
Tuple
composed of the initial countdown time and the descriptor for message composition
- def account: Account
- Attributes
- protected
- Definition Classes
- CommonSessionInterfacingFunctionality
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def avatar: Avatar
- Attributes
- protected
- Definition Classes
- CommonSessionInterfacingFunctionality
- def beginZoningCountdown(runnable: Runnable): Unit
A zoning message was received.
A zoning message was received. That doesn't matter. In what stage of the zoning determination process is the client, and what is the next stage.
To perform any actions involving zoning, an initial request must have been dispatched and marked as dispatched. When invoked after, the process will switch over to a countdown of time until the zoning actually occurs. The origin will be evaluated based on comparison of faction affinity with the client's player and from that an initial time and a message will be generated. Afterwards, the process will queue another inquiry for another zoning response. Each time 5s of the countdown passes, another message will be sent and received; and, this is another pass of the countdown.
Once the countdown reaches 0, the transportation that has been promised by the zoning attempt may begin.- runnable
execute for the next step of the zoning process
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def configAmenityAsDestroyed(amenity: Amenity): Unit
Configure the specific destroyed amenity by sending the client packets.
Configure the specific destroyed amenity by sending the client packets. These actions are performed during the loading of a zone.
- amenity
the facility object
- See also
Generator
ImplantTerminalMech
PlanetsideAttributeMessage
PlanetSideGameObject.Destroyed
- def configAmenityAsWorking(amenity: Amenity): Unit
Configure the specific working amenity by sending the client packets.
Configure the specific working amenity by sending the client packets. Amenities that are not
Damageable
are also included. These actions are performed during the loading of a zone.- amenity
the facility object
- See also
Door
GenericObjectStateMsg
Hackable
HackObject
PlanetsideAttributeMessage
ResourceSilo
SetEmpireMessage
VitalityDefinition.Damageable
- def configZone(zone: Zone): Unit
Configure the buildings and each specific amenity for that building in a given zone by sending the client packets.
Configure the buildings and each specific amenity for that building in a given zone by sending the client packets. These actions are performed during the loading of a zone.
- zone
the zone being loaded
- See also
SetEmpireMessage
PlanetsideAttributeMessage
HackMessage
- implicit val context: ActorContext
- Definition Classes
- ZoningOperations → CommonSessionInterfacingFunctionality
- def continent: Zone
- Attributes
- protected
- Definition Classes
- CommonSessionInterfacingFunctionality
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def handleBeginZoning(pkt: BeginZoningMessage): Unit
- def handleDroppodLaunchDenial(errorCode: DroppodError): Unit
- def handleDroppodLaunchRequest(pkt: DroppodLaunchRequestMessage)(implicit context: ActorContext): Unit
- def handleInstantAction(): Unit
- def handleQuit(): Unit
- def handleRecall(): Unit
- def handleSetZone(zoneId: String, position: Vector3): Unit
- def handleSpawnPointResponse(response: Option[(Zone, SpawnPoint)]): Unit
- def handleTransferPassenger(temp_channel: String, vehicle: Vehicle, manifest: VehicleManifest): Unit
- def handleWarpgateRequest(pkt: WarpgateRequest): Unit
- def handleZoneResponse(foundZone: Zone): Unit
- def handleZonesResponse(zones: Iterable[Zone]): Unit
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def initBuilding(continentNumber: Int, buildingNumber: Int, building: Building): Unit
For a given continental structure, determine the method of generating server-join client configuration packets.
For a given continental structure, determine the method of generating server-join client configuration packets.
- continentNumber
the zone id
- buildingNumber
the building id
- building
the building object
- def initFacility(continentNumber: Int, buildingNumber: Int, building: Building): Unit
For a given facility structure, configure a client by dispatching the appropriate packets.
For a given facility structure, configure a client by dispatching the appropriate packets.
- continentNumber
the zone id
- buildingNumber
the building id
- building
the building object
- See also
BuildingInfoUpdateMessage
DensityLevelUpdateMessage
- def initGate(continentNumber: Int, buildingNumber: Int, building: Building): Unit
For a given lattice warp gate structure, configure a client by dispatching the appropriate packets.
For a given lattice warp gate structure, configure a client by dispatching the appropriate packets. Unlike other facilities, gates do not have complicated
BuildingInfoUpdateMessage
packets. Also unlike facilities, gates have an additional packet.- continentNumber
the zone id
- buildingNumber
the building id
- building
the building object
- See also
BuildingInfoUpdateMessage
DensityLevelUpdateMessage
BroadcastWarpgateUpdateMessage
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def log: Logger
- Attributes
- protected
- Definition Classes
- CommonSessionInterfacingFunctionality
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def player: Player
- Attributes
- protected
- Definition Classes
- CommonSessionInterfacingFunctionality
- def propertyOverrideManagerLoadOverrides(manager: ActorRef): Unit
- def registerDroppod(vehicle: Vehicle, tplayer: Player): TaskBundle
Use this function to facilitate registering a droppod for a globally unique identifier in the event that the user has instigated an instant action event to a destination within the current zone.
If going to another zone instead, this is unneccessary as the normal vehicle gating protocol is partially intersected for droppod operation, and will properly register the droppod before introducing it into the new zone without additional concern.Use this function to facilitate registering a droppod for a globally unique identifier in the event that the user has instigated an instant action event to a destination within the current zone.
If going to another zone instead, this is unneccessary as the normal vehicle gating protocol is partially intersected for droppod operation, and will properly register the droppod before introducing it into the new zone without additional concern. The droppod should actually not be completely unregistered. If inquired, it will act like a GUID had already been assigned to it, but it was invalidated. This condition is artificial, but it necessary to pass certain operations related to vehicle gating. Additionally, the driver is only partially associated with the vehicle at this time.interstellarFerry
is properly keeping track of the vehicle during the transition and the user who is the driver (second param) is properly seated but the said driver does not know about the vehicle through his usual convention -VehicleSeated
- yet.- vehicle
the unregistered droppod
- tplayer
the player using the droppod for instant action; should already be the driver of the droppod
- returns
a
TaskBundle
message
- See also
GlobalDefinitions.droppod
GUIDTask.registerObject
interstellarFerry
Player.VehicleSeated
PlayerLoaded
TaskBundle
Vehicles.Own
- def sendResponse(pkt: PlanetSideGamePacket): Unit
- Attributes
- protected
- Definition Classes
- CommonSessionInterfacingFunctionality
- implicit val sender: ActorRef
Hardwire an implicit
sender
to be the same ascontext.self
of theSessionActor
actor class for which this support class was initialized.Hardwire an implicit
sender
to be the same ascontext.self
of theSessionActor
actor class for which this support class was initialized. Allows for proper use forActorRef.tell
or an actor's!
in the support class, one where the result is always directed back to the sameSessionActor
instance. If there is a different packet "sender" that has to be respected by a given method, pass thatActorRef
into the method as a parameter.- Attributes
- protected
- Definition Classes
- CommonSessionInterfacingFunctionality
- See also
ActorRef.!(Any)(ActorRef)
ActorRef.tell(Any)(ActorRef)
- def session: Session
- Attributes
- protected
- Definition Classes
- CommonSessionInterfacingFunctionality
- val sessionData: SessionData
- Definition Classes
- ZoningOperations → CommonSessionInterfacingFunctionality
- def session_=(newsession: Session): Unit
- Attributes
- protected
- Definition Classes
- CommonSessionInterfacingFunctionality
- def stop(): Unit
- Attributes
- protected[actors.session]
- Definition Classes
- ZoningOperations → CommonSessionInterfacingFunctionality
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def taskThenZoneChange(task: TaskBundle, zoneMessage: FindZone): TaskBundle
Before changing zones, perform the following task (which can be a nesting of subtasks).
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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()