moved the default guid-0 from service to default

This commit is contained in:
Fate-JH 2026-05-31 16:21:12 -04:00
parent df3eb4636e
commit f1b0d2e920
42 changed files with 96 additions and 115 deletions

View file

@ -8,7 +8,7 @@ import net.psforever.actors.session.support.{LocalHandlerFunctions, SessionData,
import net.psforever.objects.ce.Deployable
import net.psforever.objects.serverobject.doors.Door
import net.psforever.objects.vehicles.MountableWeapons
import net.psforever.objects.{BoomerDeployable, ExplosiveDeployable, TelepadDeployable, Tool, TurretDeployable}
import net.psforever.objects.{BoomerDeployable, Default, ExplosiveDeployable, TelepadDeployable, Tool, TurretDeployable}
import net.psforever.packet.game.{ChatMsg, DeployableObjectsInfoMessage, GenericActionMessage, GenericObjectActionMessage, GenericObjectStateMsg, HackMessage, HackState, HackState1, InventoryStateMessage, ObjectAttachMessage, ObjectCreateMessage, ObjectDeleteMessage, ObjectDetachMessage, OrbitalShuttleTimeMsg, PadAndShuttlePair, PlanetsideAttributeMessage, ProximityTerminalUseMessage, TriggerEffectMessage, TriggerSoundMessage, TriggeredSound, VehicleStateMessage}
import net.psforever.services.base.message.{PlanetsideAttribute, SendResponse}
import net.psforever.services.{InterstellarClusterService, Service}
@ -169,10 +169,10 @@ class LocalHandlerLogic(val ops: SessionLocalHandlers, implicit val context: Act
}
case LocalAction.ProximityTerminalEffect(object_guid, true) =>
sendResponse(ProximityTerminalUseMessage(Service.defaultPlayerGUID, object_guid, unk=true))
sendResponse(ProximityTerminalUseMessage(Default.GUID0, object_guid, unk=true))
case LocalAction.ProximityTerminalEffect(objectGuid, false) =>
sendResponse(ProximityTerminalUseMessage(Service.defaultPlayerGUID, objectGuid, unk=false))
sendResponse(ProximityTerminalUseMessage(Default.GUID0, objectGuid, unk=false))
sessionLogic.terminals.ForgetAllProximityTerminals(objectGuid)
case LocalAction.RouterTelepadMessage(msg) =>

View file

@ -6,11 +6,10 @@ import net.psforever.actors.zone.ZoneActor
import net.psforever.objects.avatar.{BattleRank, CommandRank, DeployableToolbox, FirstTimeEvents, Implant, ProgressDecoration, Shortcut => AvatarShortcut}
import net.psforever.objects.ce.Deployable
import net.psforever.objects.serverobject.ServerObject
import net.psforever.objects.{GlobalDefinitions, Player, Session, SimpleItem, Vehicle}
import net.psforever.objects.{Default, GlobalDefinitions, Player, Session, SimpleItem, Vehicle}
import net.psforever.packet.PlanetSidePacket
import net.psforever.packet.game.{DeployableInfo, DeployableObjectsInfoMessage, DeploymentAction, ObjectCreateDetailedMessage, ObjectDeleteMessage}
import net.psforever.packet.game.objectcreate.{ObjectClass, ObjectCreateMessageParent, RibbonBars}
import net.psforever.services.Service
import net.psforever.services.base.envelope.MessageEnvelope
import net.psforever.services.base.message.ObjectDelete
import net.psforever.services.chat.SpectatorChannel
@ -112,7 +111,7 @@ class SpectatorModeLogic(data: SessionData) extends ModeLogic {
.foreach { obj =>
sendResponse(DeployableObjectsInfoMessage(
DeploymentAction.Dismiss,
DeployableInfo(obj.GUID, Deployable.Icon.apply(obj.Definition.Item), obj.Position, Service.defaultPlayerGUID)
DeployableInfo(obj.GUID, Deployable.Icon.apply(obj.Definition.Item), obj.Position, Default.GUID0)
))
}
if (player.silenced) {

View file

@ -2,8 +2,7 @@
package net.psforever.actors.session.support
import akka.actor.Actor.Receive
import net.psforever.objects.Player
import net.psforever.services.Service
import net.psforever.objects.{Default, Player}
import net.psforever.services.base.message.EventResponse
import net.psforever.types.PlanetSideGUID
@ -21,8 +20,8 @@ trait HandlerFilter {
}
class HandlerFilterRules extends HandlerFilter {
var resolvedPlayerGuid: PlanetSideGUID = Service.defaultPlayerGUID
var otherPlayerGuid: PlanetSideGUID = Service.defaultPlayerGUID
var resolvedPlayerGuid: PlanetSideGUID = Default.GUID0
var otherPlayerGuid: PlanetSideGUID = Default.GUID0
var isNotSameTarget: Boolean = false
var isSameTarget: Boolean = false
@ -41,7 +40,7 @@ object HandlerFilter {
val pguid = player.GUID
filter.set(pguid, guid, pguid != guid, pguid == guid)
} else {
filter.set(Service.defaultPlayerGUID, guid, notSame = true, same = false)
filter.set(Default.GUID0, guid, notSame = true, same = false)
}
filter
}

View file

@ -906,7 +906,7 @@ class GeneralOperations(
* @param unk2 na
*/
def hackObject(targetGuid: PlanetSideGUID, unk1: Long, unk2: HackState7): Unit = {
sendResponse(HackMessage(HackState1.Unk0, targetGuid, player_guid=Service.defaultPlayerGUID, progress=100, unk1.toFloat, HackState.Hacked, unk2))
sendResponse(HackMessage(HackState1.Unk0, targetGuid, player_guid=Default.GUID0, progress=100, unk1.toFloat, HackState.Hacked, unk2))
}
/**

View file

@ -7,7 +7,6 @@ import net.psforever.objects.{Default, PlanetSideGameObject, Player, Vehicle}
import net.psforever.objects.sourcing.{PlayerSource, SourceEntry, UniquePlayer}
import net.psforever.packet.game.objectcreate.ConstructorData
import net.psforever.objects.zones.exp
import net.psforever.services.Service
import net.psforever.services.avatar.{AvatarAction, AvatarStamp}
import net.psforever.services.base.envelope.{GenericResponseEnvelope, MessageEnvelope}
import net.psforever.services.base.message.SendResponse
@ -214,7 +213,7 @@ class SessionAvatarHandlers(
context.self ! GenericResponseEnvelope(
AvatarStamp,
playerName,
Service.defaultPlayerGUID,
Default.GUID0,
SendResponse(ObjectDetachMessage(obj.GUID, playerGuid, player.Position, Vector3.Zero))
)
//player no longer seated

View file

@ -27,7 +27,6 @@ import net.psforever.objects.vital.interaction.DamageInteraction
import net.psforever.objects.vital.projectile.ProjectileReason
import net.psforever.objects.zones.exp.ToDatabase
import net.psforever.packet.game.UplinkRequest
import net.psforever.services.Service
import net.psforever.services.base.CachedEnvelope
import net.psforever.services.base.envelope.MessageEnvelope
import net.psforever.services.base.message.{ChangeAmmo, ChangeFireState_Start, ChangeFireState_Stop, ReloadTool, SendResponse, WeaponDryFire}
@ -352,7 +351,7 @@ class WeaponAndProjectileOperations(
player.Zone.LocalEvents ! MessageEnvelope(
s"${player.Zone.id}",
PlanetSideGUID(-1),
SendResponse(TriggerEffectMessage(Service.defaultPlayerGUID, empColor, None, Some(TriggeredEffectLocation(player.Position, Vector3(0, 0, 90)))))
SendResponse(TriggerEffectMessage(Default.GUID0, empColor, None, Some(TriggeredEffectLocation(player.Position, Vector3(0, 0, 90)))))
)
context.system.scheduler.scheduleOnce(delay = 1 seconds) {
Zone.serverSideDamage(player.Zone, player, empSize, SpecialEmp.createEmpInteraction(empSize, player.Position),

View file

@ -1124,7 +1124,7 @@ class ZoningOperations(
case obj if obj.Destroyed => configAmenityAsDestroyed(obj)
case obj => configAmenityAsWorking(obj)
}
//sendResponse(HackMessage(HackState1.Unk3, guid, Service.defaultPlayerGUID, progress=0, -1f, HackState.HackCleared, HackState7.Unk8))
//sendResponse(HackMessage(HackState1.Unk3, guid, Default.GUID0, progress=0, -1f, HackState.HackCleared, HackState7.Unk8))
}
}
@ -1976,7 +1976,7 @@ class ZoningOperations(
guid,
Deployable.Icon(obj.Definition.Item),
obj.Position,
obj.OwnerGuid.getOrElse(Service.defaultPlayerGUID)
obj.OwnerGuid.getOrElse(Default.GUID0)
)))
}
}

View file

@ -290,7 +290,7 @@ object WorldSession {
* @see `ObjectHeldMessage`
* @see `Player.DrawnSlot`
* @see `Player.LastDrawnSlot`
* @see `Service.defaultPlayerGUID`
* @see `Default.GUID0`
* @see `TaskBundle`
* @see `Zone.AvatarEvents`
* @param player the player whose visible slot will be equipped and drawn

View file

@ -1,7 +1,12 @@
// Copyright (c) 2017 PSForever
package net.psforever.objects
import net.psforever.types.{PlanetSideGUID, ValidPlanetSideGUID}
object Default {
//'g'lobal 'u'nique 'id'entifier
final val GUID0: PlanetSideGUID = ValidPlanetSideGUID(0)
//cancellable
import akka.actor.Cancellable
protected class InternalCancellable extends Cancellable {

View file

@ -17,7 +17,6 @@ import net.psforever.objects.vital.interaction.{DamageInteraction, DamageResult}
import net.psforever.objects.vital.projectile.ProjectileReason
import net.psforever.objects.zones.Zone
import net.psforever.types.Vector3
import net.psforever.services.Service
import net.psforever.services.avatar.AvatarAction
import net.psforever.services.base.envelope.MessageEnvelope
import net.psforever.services.local.LocalAction
@ -213,7 +212,7 @@ object ExplosiveDeployableControl {
target.Destroyed = true
zone.AvatarEvents ! MessageEnvelope(
zone.id,
AvatarAction.Destroy(target.GUID, attribution, Service.defaultPlayerGUID, target.Position)
AvatarAction.Destroy(target.GUID, attribution, Default.GUID0, target.Position)
)
if (target.Health == 0) {
zone.LocalEvents ! MessageEnvelope(

View file

@ -19,7 +19,6 @@ import net.psforever.objects.vital.{InGameActivity, InGameHistory, RevivingActiv
import net.psforever.objects.zones.Zone
import net.psforever.packet.game._
import net.psforever.types.{ChatMessageType, ExoSuitType, PlanetSideGUID, Vector3}
import net.psforever.services.Service
import net.psforever.services.avatar.AvatarAction
import net.psforever.services.base.envelope.MessageEnvelope
import net.psforever.services.base.message.{ObjectDelete, SendResponse}
@ -78,12 +77,12 @@ object Players {
PlayerControl.sendResponse(
target.Zone,
medicName,
Service.defaultPlayerGUID,
Default.GUID0,
SendResponse(
InventoryStateMessage(item.AmmoSlot.Box.GUID, item.GUID, magazine)
)
)
PlayerControl.sendResponse(target.Zone, name, Service.defaultPlayerGUID, AvatarAction.Revive(target.GUID))
PlayerControl.sendResponse(target.Zone, name, Default.GUID0, AvatarAction.Revive(target.GUID))
}
/**
@ -165,7 +164,7 @@ object Players {
ExoSuitDefinition.Select(exosuit, player.Faction).Permissions match {
case Nil =>
true
case permissions if player.IsInVRZone =>
case _ if player.IsInVRZone =>
true
case permissions if subtype != 0 =>
val certs = player.avatar.certifications

View file

@ -12,7 +12,6 @@ import net.psforever.objects.vehicles._
import net.psforever.objects.zones.Zone
import net.psforever.packet.game.{ChatMsg, FrameVehicleStateMessage, GenericObjectActionEnum, HackMessage, HackState, HackState1, HackState7, TriggeredSound, VehicleStateMessage}
import net.psforever.types.{ChatMessageType, DriveState, PlanetSideEmpire, PlanetSideGUID, Vector3}
import net.psforever.services.Service
import net.psforever.services.base.envelope.MessageEnvelope
import net.psforever.services.base.message.{GenericObjectAction, PlanetsideAttribute, SendResponse, SetEmpire}
import net.psforever.services.local.LocalAction
@ -92,7 +91,7 @@ object Vehicles {
ReloadAccessPermissions(vehicle, vehicle.Faction.toString)
zone.VehicleEvents ! MessageEnvelope(
zone.id,
VehicleAction.LoseOwnership(ownerGuid.getOrElse(Service.defaultPlayerGUID), guid)
VehicleAction.LoseOwnership(ownerGuid.getOrElse(Default.GUID0), guid)
)
result
}

View file

@ -25,7 +25,6 @@ import net.psforever.objects.zones._
import net.psforever.packet.game._
import net.psforever.packet.game.objectcreate.ObjectCreateMessageParent
import net.psforever.types._
import net.psforever.services.Service
import net.psforever.services.avatar.AvatarAction
import net.psforever.services.local.LocalAction
import net.psforever.objects.locker.LockerContainerControl
@ -768,7 +767,7 @@ class PlayerControl(player: Player, avatarActor: typed.ActorRef[AvatarActor.Comm
case GlobalDefinitions.router_telepad => () /* no special animation */
case GlobalDefinitions.ace
if obj.Definition.deployAnimation == DeployAnimation.Standard =>
val ownerGuid = obj.OwnerGuid.getOrElse(Service.defaultPlayerGUID)
val ownerGuid = obj.OwnerGuid.getOrElse(Default.GUID0)
zone.LocalEvents ! MessageEnvelope(
zone.id,
ownerGuid,
@ -1061,7 +1060,7 @@ class PlayerControl(player: Player, avatarActor: typed.ActorRef[AvatarActor.Comm
val attribute = DamageableEntity.attributionTo(cause, target.Zone, player_guid)
events ! MessageEnvelope(
nameChannel,
SendResponse(DestroyMessage(player_guid, attribute, Service.defaultPlayerGUID, pos)) //how many players get this message?
SendResponse(DestroyMessage(player_guid, attribute, Default.GUID0, pos)) //how many players get this message?
)
}

View file

@ -6,7 +6,6 @@ import net.psforever.objects.guid.{GUIDTask, TaskWorkflow}
import net.psforever.objects._
import net.psforever.objects.zones.Zone
import net.psforever.packet.game._
import net.psforever.services.Service
import net.psforever.services.base.envelope.MessageEnvelope
import net.psforever.services.base.message.SetEmpire
import net.psforever.services.local.LocalAction
@ -112,7 +111,7 @@ trait DeployableBehavior {
obj,
toOwner = "",
toFaction,
DeployableInfo(obj.GUID, Deployable.Icon.apply(obj.Definition.Item), obj.Position, Service.defaultPlayerGUID)
DeployableInfo(obj.GUID, Deployable.Icon.apply(obj.Definition.Item), obj.Position, Default.GUID0)
)
startOwnerlessDecay()
}
@ -203,7 +202,7 @@ trait DeployableBehavior {
//zone map icon
localEvents ! MessageEnvelope(
obj.Faction.toString,
LocalAction.DeployableMapIcon(DeploymentAction.Build, DeployableInfo(obj.GUID, Deployable.Icon(obj.Definition.Item), obj.Position, obj.OwnerGuid.getOrElse(Service.defaultPlayerGUID)))
LocalAction.DeployableMapIcon(DeploymentAction.Build, DeployableInfo(obj.GUID, Deployable.Icon(obj.Definition.Item), obj.Position, obj.OwnerGuid.getOrElse(Default.GUID0)))
)
//local build management
callback ! Zone.Deployable.IsBuilt(obj)

View file

@ -1,13 +1,13 @@
//Copyright (c) 2020 PSForever
package net.psforever.objects.serverobject.damage
import net.psforever.objects.Default
import net.psforever.objects.equipment.JammableUnit
import net.psforever.objects.serverobject.tube.SpawnTube
import net.psforever.objects.vital.interaction.DamageResult
import net.psforever.objects.vital.resolution.ResolutionCalculations
import net.psforever.objects.zones.Zone
import net.psforever.types.PlanetSideGUID
import net.psforever.services.Service
import net.psforever.services.avatar.AvatarAction
import net.psforever.services.base.envelope.MessageEnvelope
import net.psforever.services.base.message.PlanetsideAttribute
@ -146,7 +146,7 @@ object DamageableEntity {
* @see `SendResponse`
* @see `DamageFeedbackMessage`
* @see `JammableUnit.Jammered`
* @see `Service.defaultPlayerGUID`
* @see `Default.GUID0`
* @see `Zone.Activity`
* @see `Zone.AvatarEvents`
* @see `Zone.HotSpot.Activity`
@ -204,7 +204,7 @@ object DamageableEntity {
else {
zone.AvatarEvents ! MessageEnvelope(
zoneId,
AvatarAction.Destroy(tguid, attribution, Service.defaultPlayerGUID, target.Position)
AvatarAction.Destroy(tguid, attribution, Default.GUID0, target.Position)
)
}
}

View file

@ -1,12 +1,11 @@
//Copyright (c) 2020 PSForever
package net.psforever.objects.serverobject.damage
import net.psforever.objects.Player
import net.psforever.objects.{Default, Player}
import net.psforever.objects.serverobject.mount.Mountable
import net.psforever.objects.sourcing.{PlayerSource, SourceEntry}
import net.psforever.objects.vital.interaction.{DamageInteraction, DamageResult}
import net.psforever.packet.game.DamageWithPositionMessage
import net.psforever.services.Service
import net.psforever.services.avatar.AvatarAction
import net.psforever.services.base.envelope.MessageEnvelope
import net.psforever.services.base.message.{HintsAtAttacker, SendResponse}
@ -23,7 +22,7 @@ object DamageableMountable {
* @see `SendResponse`
* @see `DamageWithPositionMessage`
* @see `Mountable.Seats`
* @see `Service.defaultPlayerGUID`
* @see `Default.GUID0`
* @see `Zone.AvatarEvents`
* @see `Zone.LivePlayers`
* @param target the entity being damaged
@ -53,11 +52,11 @@ object DamageableMountable {
case msg @ HintsAtAttacker(guid) =>
occupants.map { tplayer => (tplayer.Name, guid, msg) }
case msg =>
occupants.map { tplayer => (tplayer.Name, Service.defaultPlayerGUID, msg) }
occupants.map { tplayer => (tplayer.Name, Default.GUID0, msg) }
}
case Some(source) => //object damage
val msg = SendResponse(DamageWithPositionMessage(countableDamage, source.Position))
occupants.map { tplayer => (tplayer.Name, Service.defaultPlayerGUID, msg) }
occupants.map { tplayer => (tplayer.Name, Default.GUID0, msg) }
case None =>
List.empty
}).foreach {

View file

@ -2,7 +2,7 @@
package net.psforever.objects.serverobject.damage
import akka.actor.{Actor, Cancellable}
import net.psforever.objects.{Vehicle, Vehicles}
import net.psforever.objects.{Default, Vehicle, Vehicles}
import net.psforever.objects.equipment.JammableUnit
import net.psforever.objects.serverobject.damage.Damageable.Target
import net.psforever.objects.sourcing.VehicleSource
@ -12,7 +12,6 @@ import net.psforever.objects.vital.resolution.ResolutionCalculations
import net.psforever.objects.zones.Zone
import net.psforever.objects.zones.exp.ToDatabase
import net.psforever.packet.game.DamageWithPositionMessage
import net.psforever.services.Service
import net.psforever.services.base.envelope.MessageEnvelope
import net.psforever.services.base.message.{PlanetsideAttribute, SendResponse}
import net.psforever.types.Vector3
@ -103,7 +102,7 @@ trait DamageableVehicle
* Most all vehicles and the weapons mounted to them can jam
* if the projectile that strikes (near) them has jammering properties.
* If this vehicle has shields that were affected by previous damage, that is also reported to the clients.
* @see `Service.defaultPlayerGUID`
* @see `Default.GUID0`
* @see `Vehicle.CargoHolds`
* @see `PlanetsideAttribute`
* @param target the entity being destroyed
@ -180,7 +179,7 @@ trait DamageableVehicle
* Finally, the vehicle is tasked for deconstruction.
* @see `Deployment.TryDeploymentChange`
* @see `DriveState.Undeploying`
* @see `Service.defaultPlayerGUID`
* @see `Default.GUID0`
* @see `Vehicle.CargoHolds`
* @see `PlanetsideAttribute`
* @see `RemoverActor.AddTask`
@ -241,7 +240,7 @@ trait DamageableVehicle
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.duration._
val obj = DamageableObject
val guid0 = Service.defaultPlayerGUID
val guid0 = Default.GUID0
val zone = obj.Zone
val zoneid = zone.id
val events = zone.VehicleEvents

View file

@ -106,7 +106,7 @@ object DamageableWeaponTurret {
* @see `DeleteObject`
* @see `MountedWeapons`
* @see `MountedWeapons.Weapons`
* @see `Service.defaultPlayerGUID`
* @see `Default.GUID0`
* @see `TurretUpgrade.None`
* @see `TurretUpgrader.AddTask`
* @see `TurretUpgrader.ClearSpecific`

View file

@ -4,7 +4,6 @@ package net.psforever.objects.serverobject.deploy
import akka.actor.{Actor, ActorRef, Cancellable}
import net.psforever.objects.Default
import net.psforever.types.{DriveState, Vector3}
import net.psforever.services.Service
import net.psforever.services.base.envelope.MessageEnvelope
import net.psforever.services.vehicle.VehicleAction
@ -98,7 +97,6 @@ trait DeploymentBehavior {
val guid = obj.GUID
val zone = obj.Zone
val zoneChannel = zone.id
val GUID0 = Service.defaultPlayerGUID
//TODO remove this arbitrary allowance angle when no longer helpful
if (obj.Orientation.x > 30 && obj.Orientation.x < 330) {
obj.DeploymentState = prevState
@ -135,7 +133,6 @@ trait DeploymentBehavior {
val guid = obj.GUID
val zone = obj.Zone
val zoneChannel = zone.id
val GUID0 = Service.defaultPlayerGUID
if (state == DriveState.Undeploying) {
zone.VehicleEvents ! MessageEnvelope(
zoneChannel,

View file

@ -7,7 +7,6 @@ import net.psforever.objects.serverobject.{CommonMessages, PlanetSideServerObjec
import net.psforever.objects.serverobject.affinity.{FactionAffinity, FactionAffinityBehavior}
import net.psforever.objects.serverobject.locks.IFFLock
import net.psforever.objects.serverobject.structures.PoweredAmenityControl
import net.psforever.services.Service
import net.psforever.services.base.envelope.GenericResponseEnvelope
import net.psforever.services.base.support.SupportActor
import net.psforever.services.local.support.{DoorCloseActor, DoorMessage}
@ -120,7 +119,7 @@ object DoorControl {
replyTo ! GenericResponseEnvelope(
LocalStamp,
player.Name,
Service.defaultPlayerGUID,
Default.GUID0,
LocalAction.DoorOpens(door.Zone, door)
)
}

View file

@ -73,7 +73,7 @@ trait RepairableEntity extends Repairable {
* @see `InventoryStateMessage`
* @see `PlanetSideGameObject.isMoving`
* @see `RepairMessage`
* @see `Service.defaultPlayerGUID`
* @see `Default.GUID0`
* @see `Tool.Discharge`
* @see `Zone.AvatarEvents`
* @param target the entity being repaired

View file

@ -28,7 +28,7 @@ object RepairableWeaponTurret {
* and may have been concealed/deleted when the target was destroyed.
* @see `MountedWeapons`
* @see `MountedWeapons.Weapons`
* @see `Service.defaultPlayerGUID`
* @see `Default.GUID0`
* @see `WeaponTurret`
* @see `EquipmentInSlot`
* @see `Zone.VehicleEvents`

View file

@ -17,7 +17,6 @@ import net.psforever.objects.zones.Zone
import net.psforever.objects.zones.interaction.InteractsWithZone
import net.psforever.objects.{Default, PlanetSideGameObject, Player}
import net.psforever.packet.game.{ChangeFireStateMessage_Start, ChangeFireStateMessage_Stop, ObjectDetectedMessage}
import net.psforever.services.Service
import net.psforever.services.base.envelope.MessageEnvelope
import net.psforever.services.base.message.SendResponse
import net.psforever.types.{PlanetSideGUID, Vector3}
@ -880,7 +879,7 @@ object AutomatedTurretBehavior {
EffectTarget.Validation.AutoTurretBlankVehicleTarget
)
private val noTargets: List[PlanetSideGUID] = List(Service.defaultPlayerGUID)
private val noTargets: List[PlanetSideGUID] = List(Default.GUID0)
/**
* Are we tracking a target entity?

View file

@ -9,7 +9,6 @@ import net.psforever.objects.sourcing.VehicleSource
import net.psforever.objects.vital.VehicleCargoMountActivity
import net.psforever.packet.game.{CargoMountPointStatusMessage, ObjectAttachMessage, ObjectDetachMessage, PlanetsideAttributeMessage}
import net.psforever.types.{BailType, CargoStatus, PlanetSideGUID, Vector3}
import net.psforever.services.Service
import net.psforever.services.base.envelope.MessageEnvelope
import net.psforever.services.base.message.SendResponse
import net.psforever.services.vehicle.VehicleAction
@ -440,7 +439,7 @@ object CarrierBehavior {
//the lodestar's cargo hold is almost the center of the vehicle
carrier.Position
}
val GUID0 = Service.defaultPlayerGUID
val GUID0 = Default.GUID0
val zoneId = zone.id
val events = zone.VehicleEvents
val cargoActor = cargo.Actor

View file

@ -10,7 +10,6 @@ import net.psforever.objects.vital.projectile.MaxDistanceCutoff
import net.psforever.objects.vital.prop.DamageWithPosition
import net.psforever.objects.zones.Zone
import net.psforever.packet.game.{TriggerEffectMessage, TriggeredEffectLocation}
import net.psforever.services.Service
import net.psforever.services.base.envelope.MessageEnvelope
import net.psforever.services.base.message.SendResponse
import net.psforever.types.PlanetSideGUID
@ -47,7 +46,7 @@ class ApcControl(vehicle: Vehicle)
val zone = obj.Zone
val events = zone.VehicleEvents
val pos = obj.Position
val GUID0 = Service.defaultPlayerGUID
val GUID0 = Default.GUID0
val emp = ApcControl.apc_emp
val faction = obj.Faction
//drain the capacitor

View file

@ -16,7 +16,6 @@ import net.psforever.objects.vital.ShieldCharge
import net.psforever.objects.vital.interaction.DamageResult
import net.psforever.objects.zones.Zone
import net.psforever.packet.game._
import net.psforever.services.Service
import net.psforever.services.base.envelope.MessageEnvelope
import net.psforever.services.base.message.{GenericObjectAction, PlanetsideAttribute, SendResponse}
import net.psforever.types._
@ -400,7 +399,7 @@ class BfrControl(vehicle: Vehicle)
}) match {
case (slot, Some(_)) =>
armManagementFunc(slot)
val guid0 = Service.defaultPlayerGUID
val guid0 = Default.GUID0
val doNotSendTo = other match {
case Some(pguid: PlanetSideGUID) => pguid
case _ => guid0
@ -548,7 +547,7 @@ class BfrControl(vehicle: Vehicle)
val obj = ChargeTransferObject
val zone = obj.Zone
val events = zone.VehicleEvents
val GUID0 = Service.defaultPlayerGUID
val GUID0 = Default.GUID0
getNtuContainer() match {
case Some(siphon : NtuSiphon)
if GlobalDefinitions.isBattleFrameNTUSiphon(siphon.equipment.Definition) &&

View file

@ -2,9 +2,9 @@
package net.psforever.objects.zones
import akka.actor.{Actor, Cancellable}
import net.psforever.objects.Default
import net.psforever.objects.ballistics.Projectile
import net.psforever.objects.guid.{GUIDTask, StraightforwardTask, TaskBundle, TaskWorkflow}
import net.psforever.services.Service
import net.psforever.services.avatar.AvatarAction
import net.psforever.services.base.envelope.MessageEnvelope
import net.psforever.services.base.message.ObjectDelete
@ -112,7 +112,7 @@ class ZoneProjectileActor(
TaskBundle(
reg.mainTask,
TaskBundle(
reg.subTasks(0).mainTask,
reg.subTasks.head.mainTask,
unregisterProjectile(obj)
)
)
@ -144,11 +144,11 @@ class ZoneProjectileActor(
projectileList.addOne(projectile)
val (clarifiedFilterGuid, duration) = if (definition.radiation_cloud) {
zone.blockMap.addTo(projectile)
(Service.defaultPlayerGUID, projectile.profile.Lifespan seconds)
(Default.GUID0, projectile.profile.Lifespan seconds)
} else if (definition.RemoteClientData == (0,0)) {
//remote projectiles that are not radiation clouds have lifespans controlled by the controller (user)
//this projectile has defaulted remote client data
(Service.defaultPlayerGUID, projectile.profile.Lifespan * 1.5f seconds)
(Default.GUID0, projectile.profile.Lifespan * 1.5f seconds)
} else {
//remote projectiles that are not radiation clouds have lifespans controlled by the controller (user)
//if the controller fails, the projectile has a bit more than its normal lifespan before automatic clean up

View file

@ -560,16 +560,16 @@ class CavernRotationService(
//borrow GalaxyService response structure, but send to the specific endpoint math.max(0, monitor.start + monitor.duration - curr)
unlockedZones.foreach { monitor =>
val resp = GalaxyAction.UnlockedZoneUpdate(monitor.zone)
sendToSession ! GenericResponseEnvelope(GalaxyStamp, "", Service.defaultPlayerGUID, resp)
sendToSession ! GenericResponseEnvelope(GalaxyStamp, "", Default.GUID0, resp)
}
val sortedLocked = lockedZones.sortBy(z => z.start)
sortedLocked.take(2).foreach { monitor =>
val resp = GalaxyAction.LockedZoneUpdate(monitor.zone, math.max(0, monitor.start + monitor.duration - curr))
sendToSession ! GenericResponseEnvelope(GalaxyStamp, "", Service.defaultPlayerGUID, resp)
sendToSession ! GenericResponseEnvelope(GalaxyStamp, "", Default.GUID0, resp)
}
sortedLocked.takeRight(2).foreach { monitor =>
val resp = GalaxyAction.LockedZoneUpdate(monitor.zone, 0L)
sendToSession ! GenericResponseEnvelope(GalaxyStamp, "", Service.defaultPlayerGUID, resp)
sendToSession ! GenericResponseEnvelope(GalaxyStamp, "", Default.GUID0, resp)
}
}

View file

@ -2,11 +2,8 @@
package net.psforever.services
import akka.actor.ActorRef
import net.psforever.types.PlanetSideGUID
object Service {
final val defaultPlayerGUID: PlanetSideGUID = PlanetSideGUID(0)
case object Startup
final case class Join(channel: String, sendJoinConfirmation: Boolean)

View file

@ -2,11 +2,11 @@
package net.psforever.services.avatar.support
import akka.actor.{ActorContext, ActorRef, Props}
import net.psforever.objects.Default
import net.psforever.objects.equipment.Equipment
import net.psforever.objects.guid.{GUIDTask, TaskBundle}
import net.psforever.objects.zones.Zone
import net.psforever.services.avatar.AvatarAction.{DropItem, PickupItem}
import net.psforever.services.Service
import net.psforever.services.base.envelope.MessageEnvelope
import net.psforever.services.base.{EventServiceSupport, GenericSupportEnvelope, GenericSupportEnvelopeOnly}
import net.psforever.services.base.message.ObjectDelete
@ -39,7 +39,7 @@ final case class PickupItemEnvelope(
object PickupItemEnvelope {
def apply(channel: String, actionMessage: PickupItem, zone: Zone): PickupItemEnvelope =
PickupItemEnvelope(channel, Service.defaultPlayerGUID, actionMessage, zone)
PickupItemEnvelope(channel, Default.GUID0, actionMessage, zone)
}
final case class DropItemEnvelope(
@ -58,7 +58,7 @@ final case class DropItemEnvelope(
object DropItemEnvelope {
def apply(channel: String, actionMessage: DropItem, zone: Zone): DropItemEnvelope =
DropItemEnvelope(channel, Service.defaultPlayerGUID, actionMessage, zone)
DropItemEnvelope(channel, Default.GUID0, actionMessage, zone)
}
final case class GroundEnvelope(supportMessage: Any)

View file

@ -3,7 +3,6 @@ package net.psforever.services.base
import akka.actor.Cancellable
import net.psforever.objects.Default
import net.psforever.services.Service
import net.psforever.services.base.envelope.{GenericMessageEnvelope, GenericResponseEnvelope, MessageEnvelope, MessageTransformationBehavior}
import net.psforever.services.base.message.EventMessage
import net.psforever.types.PlanetSideGUID
@ -36,7 +35,7 @@ final case class CachedEnvelope(
filter: PlanetSideGUID,
msg: EventMessage
) extends CachedGenericEventEnvelope {
assert(guid != Service.defaultPlayerGUID, "can not cache message under default GUID")
assert(guid != Default.GUID0, "can not cache message under default GUID")
}
object CachedEnvelope {
@ -50,7 +49,7 @@ object CachedEnvelope {
* @return either a `CacheEnvelope` or a `MessageEnvelope`, depending on cache-readiness of the `filter` value
*/
def apply(channel: String, filter: PlanetSideGUID, msg: EventMessage): GenericMessageEnvelope = {
if (filter == Service.defaultPlayerGUID) {
if (filter == Default.GUID0) {
org.log4s.getLogger("CachedEnvelope").warn("(1) cached message envelope downgraded to normal message envelope")
MessageEnvelope(channel, filter, msg)
} else {
@ -69,11 +68,11 @@ object CachedEnvelope {
* @return either a `CacheEnvelope` or a `MessageEnvelope`, depending on cache-readiness of the target
*/
def apply(guid: PlanetSideGUID, channel: String, msg: EventMessage): GenericMessageEnvelope = {
if (guid == Service.defaultPlayerGUID) {
if (guid == Default.GUID0) {
org.log4s.getLogger("CachedEnvelope").warn("(2) cached message envelope downgraded to normal message envelope")
MessageEnvelope(channel, guid, msg)
} else {
CachedEnvelope(guid, channel, Service.defaultPlayerGUID, msg)
CachedEnvelope(guid, channel, Default.GUID0, msg)
}
}
}
@ -90,7 +89,7 @@ private case object FlushCachedMessages extends GenericMessageEnvelope {
def msg: EventMessage = NoMessage
def response(stamp: EventSystemStamp): GenericResponseEnvelope = NoResponseEnvelope
def channel: String = ""
def filter: PlanetSideGUID = Service.defaultPlayerGUID
def filter: PlanetSideGUID = Default.GUID0
}
class GenericEventServiceWithCacheAndSupport

View file

@ -2,7 +2,7 @@
package net.psforever.services.base
import akka.actor.{ActorContext, ActorRef}
import net.psforever.services.Service
import net.psforever.objects.Default
import net.psforever.services.base.envelope.{GenericMessageEnvelope, GenericResponseEnvelope, MessageTransformationBehavior, NoReply, Undelivered}
import net.psforever.services.base.message.{EventMessage, EventResponse, SelfRespondingEvent}
import net.psforever.types.PlanetSideGUID
@ -25,7 +25,7 @@ case object NoResponseEnvelope extends GenericResponseEnvelope {
def reply: EventResponse = NoReply
def stamp: EventSystemStamp = Undelivered
def channel: String = ""
def filter: PlanetSideGUID = Service.defaultPlayerGUID
def filter: PlanetSideGUID = Default.GUID0
}
/**
@ -66,7 +66,7 @@ trait GenericSupportEnvelopeOnly
with GenericMessageEnvelope {
def originalChannel: String = ""
def channel: String = ""
def filter: PlanetSideGUID = Service.defaultPlayerGUID
def filter: PlanetSideGUID = Default.GUID0
def msg: EventMessage = NoMessage
def response(@unused stamp: EventSystemStamp): GenericResponseEnvelope = NoResponseEnvelope

View file

@ -1,7 +1,7 @@
// Copyright (c) 2026 PSForever
package net.psforever.services.base.envelope
import net.psforever.services.Service
import net.psforever.objects.Default
import net.psforever.services.base.EventSystemStamp
import net.psforever.services.base.message.{EventMessage, EventResponse}
import net.psforever.types.PlanetSideGUID
@ -57,8 +57,8 @@ case class MessageEnvelope(channel: String, filter: PlanetSideGUID, msg: EventMe
object MessageEnvelope {
def apply(msg: EventMessage): MessageEnvelope =
MessageEnvelope("", Service.defaultPlayerGUID, msg)
MessageEnvelope("", Default.GUID0, msg)
def apply(channel: String, msg: EventMessage): MessageEnvelope =
MessageEnvelope(channel, Service.defaultPlayerGUID, msg)
MessageEnvelope(channel, Default.GUID0, msg)
}

View file

@ -4,7 +4,6 @@ package net.psforever.services.hart
import akka.actor.{Actor, ActorRef, Cancellable}
import net.psforever.objects.Default
import net.psforever.objects.zones.Zone
import net.psforever.services.Service
import net.psforever.services.base.EventSystemStamp
import net.psforever.services.base.bus.GenericEventBus
import net.psforever.services.base.envelope.{GenericResponseEnvelope, MessageEnvelope, NoReply}
@ -268,7 +267,7 @@ object HartTimer {
trait Command extends GenericResponseEnvelope {
def originalChannel: String = ""
def channel: String = ""
def filter: PlanetSideGUID = Service.defaultPlayerGUID
def filter: PlanetSideGUID = Default.GUID0
def stamp: EventSystemStamp = HartStamp
def reply: EventResponse = NoReply
}

View file

@ -1,7 +1,7 @@
// Copyright (c) 2017-2026 PSForever
package net.psforever.services.local
import net.psforever.objects.{PlanetSideGameObject, TelepadDeployable, Vehicle}
import net.psforever.objects.{Default, PlanetSideGameObject, TelepadDeployable, Vehicle}
import net.psforever.objects.ce.{Deployable, DeployedItem}
import net.psforever.objects.serverobject.doors.Door
import net.psforever.objects.serverobject.llu.CaptureFlag
@ -9,7 +9,6 @@ import net.psforever.objects.serverobject.terminals.{ProximityUnit, Terminal}
import net.psforever.objects.vehicles.Utility
import net.psforever.objects.zones.Zone
import net.psforever.packet.game.{DeployableInfo, DeploymentAction, GenericAction, HackState7, ObjectCreateMessage, TriggeredEffect, TriggeredEffectLocation, TriggeredSound}
import net.psforever.services.Service
import net.psforever.services.base.message.{EventMessage, EventResponse, SelfRespondingEvent, SendResponse}
import net.psforever.services.hart.HartTimer.OrbitalShuttleEvent
import net.psforever.types.{PlanetSideGUID, Vector3}
@ -127,7 +126,7 @@ object LocalAction {
orient: Vector3
) extends EventMessage {
def response(): EventResponse = {
TriggerEffectAtLocation(Service.defaultPlayerGUID, effect, None, Some(TriggeredEffectLocation(pos, orient)))
TriggerEffectAtLocation(Default.GUID0, effect, None, Some(TriggeredEffectLocation(pos, orient)))
}
}

View file

@ -5,7 +5,6 @@ import akka.actor.{Actor, ActorContext, ActorRef, Cancellable, Props}
import net.psforever.objects.{Default, Doors}
import net.psforever.objects.serverobject.doors.Door
import net.psforever.objects.zones.Zone
import net.psforever.services.Service
import net.psforever.services.base.{EventServiceSupport, GenericSupportEnvelope}
import net.psforever.services.base.envelope.MessageEnvelope
import net.psforever.services.local.LocalAction.IsADoorMessage
@ -28,7 +27,7 @@ final case class DoorMessage(
msg: IsADoorMessage,
supportMessage: Any
) extends GenericSupportEnvelope {
def filter: PlanetSideGUID = Service.defaultPlayerGUID
def filter: PlanetSideGUID = Default.GUID0
def supportLabel: String = "doorCloser"
}

View file

@ -2,10 +2,10 @@
package net.psforever.services.teamwork
import akka.actor.ActorRef
import net.psforever.objects.Default
import net.psforever.objects.avatar.Certification
import net.psforever.objects.teamwork.Squad
import net.psforever.packet.game.{SquadDetail, SquadInfo, WaypointEventAction, WaypointInfo}
import net.psforever.services.Service
import net.psforever.services.base.message.EventResponse
import net.psforever.types.{ChatMessageType, PlanetSideGUID, SquadResponseType, SquadWaypoint}
import net.psforever.services.base.EventSystemStamp
@ -15,7 +15,7 @@ case object SquadStamp extends EventSystemStamp
final case class SquadServiceResponse(channel: String, exclude: Iterable[Long], reply: SquadResponse.Response)
extends EventResponse with GenericResponseEnvelope {
def filter: PlanetSideGUID = Service.defaultPlayerGUID
def filter: PlanetSideGUID = Default.GUID0
def stamp: EventSystemStamp = SquadStamp
}

View file

@ -593,7 +593,7 @@ class ExplosiveDeployableDestructionTest extends ActorTest {
eventMsgs(1) match {
case MessageEnvelope(
"test", _,
AvatarAction.Destroy(PlanetSideGUID(2), PlanetSideGUID(3), Service.defaultPlayerGUID, Vector3.Zero)
AvatarAction.Destroy(PlanetSideGUID(2), PlanetSideGUID(3), Default.GUID0, Vector3.Zero)
) => ;
case _ => assert(false, "")
}

View file

@ -4,6 +4,7 @@ package service.base
import akka.actor.{ActorRef, ActorSystem, Props}
import akka.testkit.TestProbe
import base.ActorTest
import net.psforever.objects.Default
import net.psforever.services.Service
import net.psforever.services.base.message.EventMessage
import net.psforever.services.base.{CachedEnvelope, CachedGenericEventEnvelope, EventServiceSupport, GenericEventServiceWithCacheAndSupport, GenericSupportEnvelope}
@ -18,8 +19,8 @@ object EventServiceCacheSupportTest {
override val msg: EventMessage,
supportMessage: Any
) extends CachedGenericEventEnvelope with GenericSupportEnvelope {
assert(guid != Service.defaultPlayerGUID, "can not cache message under default GUID")
def filter: PlanetSideGUID = Service.defaultPlayerGUID
assert(guid != Default.GUID0, "can not cache message under default GUID")
def filter: PlanetSideGUID = Default.GUID0
def supportLabel: String = "supportActor"
}

View file

@ -4,6 +4,7 @@ package service.base
import akka.actor.{ActorRef, ActorSystem, Props}
import akka.testkit.TestProbe
import base.ActorTest
import net.psforever.objects.Default
import net.psforever.services.Service
import net.psforever.services.base.GenericEventService
import net.psforever.services.base.envelope.{GenericResponseEnvelope, MessageEnvelope}
@ -57,7 +58,7 @@ class EventServiceTestSubscriptionMessage extends ActorTest {
val probe = TestProbe("testProbe")
val events = EventServiceTest.SpawnTestSystem()
events.tell(Service.Join("test"), probe.ref)
events ! MessageEnvelope("test", Service.defaultPlayerGUID, TestMessage(5))
events ! MessageEnvelope("test", Default.GUID0, TestMessage(5))
probe.receiveN(1, 100 milliseconds)
}
}
@ -69,11 +70,11 @@ class EventServiceTestSubscriptionReply extends ActorTest {
"receive messages that are responses to the original message from a subscribed channel" in {
val probe = TestProbe("testProbe")
val events = EventServiceTest.SpawnTestSystem()
val msg = MessageEnvelope("test", Service.defaultPlayerGUID, TestMessage(5))
val msg = MessageEnvelope("test", Default.GUID0, TestMessage(5))
// s => "/$s" is the default channel manipulation of the event system
val formalReply = msg.response(EventServiceTestBase.TestStamp)
events.tell(Service.Join("test"), probe.ref)
events ! MessageEnvelope("test", Service.defaultPlayerGUID, TestMessage(5))
events ! MessageEnvelope("test", Default.GUID0, TestMessage(5))
val reply = probe.receiveOne(100 milliseconds)
assert(reply == formalReply, "(1) message expected but not received format")
}
@ -89,7 +90,7 @@ class EventServiceTestNotSubscribed extends ActorTest {
val events = EventServiceTest.SpawnTestSystem()
events.tell(Service.Join("test"), probe.ref)
events.tell(Service.Join("notATest"), missedProbe.ref)
events ! MessageEnvelope("test", Service.defaultPlayerGUID, TestMessage(5))
events ! MessageEnvelope("test", Default.GUID0, TestMessage(5))
val reply = probe.receiveOne(100 milliseconds)
reply match {
case GenericResponseEnvelope("test", _, TestMessage(5)) => ()
@ -123,8 +124,8 @@ class EventServiceTestLeave extends ActorTest {
events.tell(Service.Join("test"), probe.ref)
events.tell(Service.Join("anotherTest"), probe.ref)
events ! MessageEnvelope("test", Service.defaultPlayerGUID, TestMessage(5))
events ! MessageEnvelope("anotherTest", Service.defaultPlayerGUID, TestMessage(5))
events ! MessageEnvelope("test", Default.GUID0, TestMessage(5))
events ! MessageEnvelope("anotherTest", Default.GUID0, TestMessage(5))
val reply1 = probe.receiveN(2, 100 milliseconds)
reply1.head match {
case GenericResponseEnvelope("test", _, _) => ()
@ -136,8 +137,8 @@ class EventServiceTestLeave extends ActorTest {
}
events.tell(Service.Leave("anotherTest"), probe.ref)
events ! MessageEnvelope("test", Service.defaultPlayerGUID, TestMessage(5))
events ! MessageEnvelope("anotherTest", Service.defaultPlayerGUID, TestMessage(6))
events ! MessageEnvelope("test", Default.GUID0, TestMessage(5))
events ! MessageEnvelope("anotherTest", Default.GUID0, TestMessage(6))
val reply2 = probe.receiveOne(100 milliseconds)
reply2 match {
case GenericResponseEnvelope("test", _, TestMessage(5)) => ()
@ -157,8 +158,8 @@ class EventServiceTestLeaveAll extends ActorTest {
events.tell(Service.Join("test"), probe.ref)
events.tell(Service.Join("anotherTest"), probe.ref)
events ! MessageEnvelope("test", Service.defaultPlayerGUID, TestMessage(5))
events ! MessageEnvelope("anotherTest", Service.defaultPlayerGUID, TestMessage(6))
events ! MessageEnvelope("test", Default.GUID0, TestMessage(5))
events ! MessageEnvelope("anotherTest", Default.GUID0, TestMessage(6))
val reply = probe.receiveN(2,100 milliseconds)
reply.head match {
case GenericResponseEnvelope("test", _, TestMessage(5)) => ()
@ -170,8 +171,8 @@ class EventServiceTestLeaveAll extends ActorTest {
}
events.tell(Service.LeaveAll, probe.ref)
events ! MessageEnvelope("test", Service.defaultPlayerGUID, TestMessage(5))
events ! MessageEnvelope("anotherTest", Service.defaultPlayerGUID, TestMessage(6))
events ! MessageEnvelope("test", Default.GUID0, TestMessage(5))
events ! MessageEnvelope("anotherTest", Default.GUID0, TestMessage(6))
probe.expectNoMessage(250 milliseconds)
}
}

View file

@ -1,7 +1,7 @@
package service.base
import akka.actor.{Actor, ActorContext, ActorRef, Props}
import net.psforever.services.Service
import net.psforever.objects.Default
import net.psforever.services.base.message.SelfRespondingEvent
import net.psforever.services.base.{EventServiceSupport, EventSystemStamp, GenericSupportEnvelope}
import net.psforever.types.PlanetSideGUID
@ -32,7 +32,7 @@ object EventServiceTestBase {
channel: String,
msg: SupportActorRepliesWith
) extends GenericSupportEnvelope {
def filter: PlanetSideGUID = Service.defaultPlayerGUID
def filter: PlanetSideGUID = Default.GUID0
def supportLabel: String = "supportActor"
def supportMessage: Any = msg
}

View file

@ -63,7 +63,7 @@ class LocalActionTest extends Specification {
"respond" in {
val msg = LocalAction.TriggerEffectLocation("on", Vector3(1, 2, 3), Vector3(4, 5, 6))
msg.response() match {
case LocalAction.TriggerEffectAtLocation(Service.defaultPlayerGUID, "on", None, Some(TriggeredEffectLocation(Vector3(1, 2, 3), Vector3(4, 5, 6)))) =>
case LocalAction.TriggerEffectAtLocation(Default.GUID0, "on", None, Some(TriggeredEffectLocation(Vector3(1, 2, 3), Vector3(4, 5, 6)))) =>
ok
case _ =>
ko