From f1b0d2e92042598f47fe2705898938ad7871d746 Mon Sep 17 00:00:00 2001 From: Fate-JH Date: Sun, 31 May 2026 16:21:12 -0400 Subject: [PATCH] moved the default guid-0 from service to default --- .../session/normal/LocalHandlerLogic.scala | 6 ++--- .../session/spectator/SpectatorMode.scala | 5 ++-- .../support/CommonHandlerFunctions.scala | 9 +++---- .../session/support/GeneralOperations.scala | 2 +- .../support/SessionAvatarHandlers.scala | 3 +-- .../WeaponAndProjectileOperations.scala | 3 +-- .../session/support/ZoningOperations.scala | 4 +-- .../net/psforever/login/WorldSession.scala | 2 +- .../scala/net/psforever/objects/Default.scala | 5 ++++ .../objects/ExplosiveDeployable.scala | 3 +-- .../scala/net/psforever/objects/Players.scala | 7 +++--- .../net/psforever/objects/Vehicles.scala | 3 +-- .../objects/avatar/PlayerControl.scala | 5 ++-- .../objects/ce/DeployableBehavior.scala | 5 ++-- .../damage/DamageableEntity.scala | 6 ++--- .../damage/DamageableMountable.scala | 9 +++---- .../damage/DamageableVehicle.scala | 9 +++---- .../damage/DamageableWeaponTurret.scala | 2 +- .../deploy/DeploymentBehavior.scala | 3 --- .../serverobject/doors/DoorControl.scala | 3 +-- .../repair/RepairableEntity.scala | 2 +- .../repair/RepairableWeaponTurret.scala | 2 +- .../turret/auto/AutomatedTurretBehavior.scala | 3 +-- .../objects/vehicles/CarrierBehavior.scala | 3 +-- .../objects/vehicles/control/ApcControl.scala | 3 +-- .../objects/vehicles/control/BfrControl.scala | 5 ++-- .../objects/zones/ZoneProjectileActor.scala | 8 +++--- .../services/CavernRotationService.scala | 6 ++--- .../net/psforever/services/Service.scala | 3 --- .../avatar/support/DroppedItemRemover.scala | 6 ++--- ...nericEventServiceWithCacheAndSupport.scala | 11 ++++---- .../base/GenericEventServiceWithSupport.scala | 6 ++--- .../base/envelope/MessageEnvelope.scala | 6 ++--- .../psforever/services/hart/HartTimer.scala | 3 +-- .../services/local/LocalAction.scala | 5 ++-- .../local/support/DoorCloseActor.scala | 3 +-- .../teamwork/SquadServiceResponse.scala | 4 +-- src/test/scala/objects/DeployableTest.scala | 2 +- .../base/EventServiceCacheSupportTest.scala | 5 ++-- .../scala/service/base/EventServiceTest.scala | 25 ++++++++++--------- .../service/base/EventServiceTestBase.scala | 4 +-- .../scala/service/local/LocalActionTest.scala | 2 +- 42 files changed, 96 insertions(+), 115 deletions(-) diff --git a/src/main/scala/net/psforever/actors/session/normal/LocalHandlerLogic.scala b/src/main/scala/net/psforever/actors/session/normal/LocalHandlerLogic.scala index 11a6741ea..3a8258687 100644 --- a/src/main/scala/net/psforever/actors/session/normal/LocalHandlerLogic.scala +++ b/src/main/scala/net/psforever/actors/session/normal/LocalHandlerLogic.scala @@ -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) => diff --git a/src/main/scala/net/psforever/actors/session/spectator/SpectatorMode.scala b/src/main/scala/net/psforever/actors/session/spectator/SpectatorMode.scala index f30b0d80e..59d438d3b 100644 --- a/src/main/scala/net/psforever/actors/session/spectator/SpectatorMode.scala +++ b/src/main/scala/net/psforever/actors/session/spectator/SpectatorMode.scala @@ -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) { diff --git a/src/main/scala/net/psforever/actors/session/support/CommonHandlerFunctions.scala b/src/main/scala/net/psforever/actors/session/support/CommonHandlerFunctions.scala index 7bbd490e1..6b330edc8 100644 --- a/src/main/scala/net/psforever/actors/session/support/CommonHandlerFunctions.scala +++ b/src/main/scala/net/psforever/actors/session/support/CommonHandlerFunctions.scala @@ -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 } diff --git a/src/main/scala/net/psforever/actors/session/support/GeneralOperations.scala b/src/main/scala/net/psforever/actors/session/support/GeneralOperations.scala index a3e046ae5..b11479e7f 100644 --- a/src/main/scala/net/psforever/actors/session/support/GeneralOperations.scala +++ b/src/main/scala/net/psforever/actors/session/support/GeneralOperations.scala @@ -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)) } /** diff --git a/src/main/scala/net/psforever/actors/session/support/SessionAvatarHandlers.scala b/src/main/scala/net/psforever/actors/session/support/SessionAvatarHandlers.scala index bf792a866..2ac39d632 100644 --- a/src/main/scala/net/psforever/actors/session/support/SessionAvatarHandlers.scala +++ b/src/main/scala/net/psforever/actors/session/support/SessionAvatarHandlers.scala @@ -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 diff --git a/src/main/scala/net/psforever/actors/session/support/WeaponAndProjectileOperations.scala b/src/main/scala/net/psforever/actors/session/support/WeaponAndProjectileOperations.scala index 0fcfef466..93dc18e4d 100644 --- a/src/main/scala/net/psforever/actors/session/support/WeaponAndProjectileOperations.scala +++ b/src/main/scala/net/psforever/actors/session/support/WeaponAndProjectileOperations.scala @@ -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), diff --git a/src/main/scala/net/psforever/actors/session/support/ZoningOperations.scala b/src/main/scala/net/psforever/actors/session/support/ZoningOperations.scala index 4161addcd..9755017f0 100644 --- a/src/main/scala/net/psforever/actors/session/support/ZoningOperations.scala +++ b/src/main/scala/net/psforever/actors/session/support/ZoningOperations.scala @@ -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) ))) } } diff --git a/src/main/scala/net/psforever/login/WorldSession.scala b/src/main/scala/net/psforever/login/WorldSession.scala index 25ebec529..d89c31765 100644 --- a/src/main/scala/net/psforever/login/WorldSession.scala +++ b/src/main/scala/net/psforever/login/WorldSession.scala @@ -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 diff --git a/src/main/scala/net/psforever/objects/Default.scala b/src/main/scala/net/psforever/objects/Default.scala index 09cd99b87..b94c2c8f2 100644 --- a/src/main/scala/net/psforever/objects/Default.scala +++ b/src/main/scala/net/psforever/objects/Default.scala @@ -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 { diff --git a/src/main/scala/net/psforever/objects/ExplosiveDeployable.scala b/src/main/scala/net/psforever/objects/ExplosiveDeployable.scala index 91f3883f1..075f756d6 100644 --- a/src/main/scala/net/psforever/objects/ExplosiveDeployable.scala +++ b/src/main/scala/net/psforever/objects/ExplosiveDeployable.scala @@ -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( diff --git a/src/main/scala/net/psforever/objects/Players.scala b/src/main/scala/net/psforever/objects/Players.scala index c5df2a0cb..30203cc70 100644 --- a/src/main/scala/net/psforever/objects/Players.scala +++ b/src/main/scala/net/psforever/objects/Players.scala @@ -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 diff --git a/src/main/scala/net/psforever/objects/Vehicles.scala b/src/main/scala/net/psforever/objects/Vehicles.scala index 5729a8e7c..5cf4abbe8 100644 --- a/src/main/scala/net/psforever/objects/Vehicles.scala +++ b/src/main/scala/net/psforever/objects/Vehicles.scala @@ -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 } diff --git a/src/main/scala/net/psforever/objects/avatar/PlayerControl.scala b/src/main/scala/net/psforever/objects/avatar/PlayerControl.scala index f66ae7cab..b25803856 100644 --- a/src/main/scala/net/psforever/objects/avatar/PlayerControl.scala +++ b/src/main/scala/net/psforever/objects/avatar/PlayerControl.scala @@ -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? ) } diff --git a/src/main/scala/net/psforever/objects/ce/DeployableBehavior.scala b/src/main/scala/net/psforever/objects/ce/DeployableBehavior.scala index f1bba9f3b..7100c7580 100644 --- a/src/main/scala/net/psforever/objects/ce/DeployableBehavior.scala +++ b/src/main/scala/net/psforever/objects/ce/DeployableBehavior.scala @@ -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) diff --git a/src/main/scala/net/psforever/objects/serverobject/damage/DamageableEntity.scala b/src/main/scala/net/psforever/objects/serverobject/damage/DamageableEntity.scala index 9209e5764..1e5224f04 100644 --- a/src/main/scala/net/psforever/objects/serverobject/damage/DamageableEntity.scala +++ b/src/main/scala/net/psforever/objects/serverobject/damage/DamageableEntity.scala @@ -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) ) } } diff --git a/src/main/scala/net/psforever/objects/serverobject/damage/DamageableMountable.scala b/src/main/scala/net/psforever/objects/serverobject/damage/DamageableMountable.scala index 99c076071..ec076c715 100644 --- a/src/main/scala/net/psforever/objects/serverobject/damage/DamageableMountable.scala +++ b/src/main/scala/net/psforever/objects/serverobject/damage/DamageableMountable.scala @@ -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 { diff --git a/src/main/scala/net/psforever/objects/serverobject/damage/DamageableVehicle.scala b/src/main/scala/net/psforever/objects/serverobject/damage/DamageableVehicle.scala index ced4764d0..925484cab 100644 --- a/src/main/scala/net/psforever/objects/serverobject/damage/DamageableVehicle.scala +++ b/src/main/scala/net/psforever/objects/serverobject/damage/DamageableVehicle.scala @@ -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 diff --git a/src/main/scala/net/psforever/objects/serverobject/damage/DamageableWeaponTurret.scala b/src/main/scala/net/psforever/objects/serverobject/damage/DamageableWeaponTurret.scala index 70dcae811..7769ac6b8 100644 --- a/src/main/scala/net/psforever/objects/serverobject/damage/DamageableWeaponTurret.scala +++ b/src/main/scala/net/psforever/objects/serverobject/damage/DamageableWeaponTurret.scala @@ -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` diff --git a/src/main/scala/net/psforever/objects/serverobject/deploy/DeploymentBehavior.scala b/src/main/scala/net/psforever/objects/serverobject/deploy/DeploymentBehavior.scala index be644a067..2544b2ded 100644 --- a/src/main/scala/net/psforever/objects/serverobject/deploy/DeploymentBehavior.scala +++ b/src/main/scala/net/psforever/objects/serverobject/deploy/DeploymentBehavior.scala @@ -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, diff --git a/src/main/scala/net/psforever/objects/serverobject/doors/DoorControl.scala b/src/main/scala/net/psforever/objects/serverobject/doors/DoorControl.scala index 5f00c5d83..056966621 100644 --- a/src/main/scala/net/psforever/objects/serverobject/doors/DoorControl.scala +++ b/src/main/scala/net/psforever/objects/serverobject/doors/DoorControl.scala @@ -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) ) } diff --git a/src/main/scala/net/psforever/objects/serverobject/repair/RepairableEntity.scala b/src/main/scala/net/psforever/objects/serverobject/repair/RepairableEntity.scala index a9f436a63..53130db81 100644 --- a/src/main/scala/net/psforever/objects/serverobject/repair/RepairableEntity.scala +++ b/src/main/scala/net/psforever/objects/serverobject/repair/RepairableEntity.scala @@ -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 diff --git a/src/main/scala/net/psforever/objects/serverobject/repair/RepairableWeaponTurret.scala b/src/main/scala/net/psforever/objects/serverobject/repair/RepairableWeaponTurret.scala index b712fb957..19579139c 100644 --- a/src/main/scala/net/psforever/objects/serverobject/repair/RepairableWeaponTurret.scala +++ b/src/main/scala/net/psforever/objects/serverobject/repair/RepairableWeaponTurret.scala @@ -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` diff --git a/src/main/scala/net/psforever/objects/serverobject/turret/auto/AutomatedTurretBehavior.scala b/src/main/scala/net/psforever/objects/serverobject/turret/auto/AutomatedTurretBehavior.scala index 53221f7b8..0e3cd9add 100644 --- a/src/main/scala/net/psforever/objects/serverobject/turret/auto/AutomatedTurretBehavior.scala +++ b/src/main/scala/net/psforever/objects/serverobject/turret/auto/AutomatedTurretBehavior.scala @@ -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? diff --git a/src/main/scala/net/psforever/objects/vehicles/CarrierBehavior.scala b/src/main/scala/net/psforever/objects/vehicles/CarrierBehavior.scala index 84c96de5f..36e254636 100644 --- a/src/main/scala/net/psforever/objects/vehicles/CarrierBehavior.scala +++ b/src/main/scala/net/psforever/objects/vehicles/CarrierBehavior.scala @@ -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 diff --git a/src/main/scala/net/psforever/objects/vehicles/control/ApcControl.scala b/src/main/scala/net/psforever/objects/vehicles/control/ApcControl.scala index 1650d6657..09236c8ae 100644 --- a/src/main/scala/net/psforever/objects/vehicles/control/ApcControl.scala +++ b/src/main/scala/net/psforever/objects/vehicles/control/ApcControl.scala @@ -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 diff --git a/src/main/scala/net/psforever/objects/vehicles/control/BfrControl.scala b/src/main/scala/net/psforever/objects/vehicles/control/BfrControl.scala index ff73708ab..af869a71f 100644 --- a/src/main/scala/net/psforever/objects/vehicles/control/BfrControl.scala +++ b/src/main/scala/net/psforever/objects/vehicles/control/BfrControl.scala @@ -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) && diff --git a/src/main/scala/net/psforever/objects/zones/ZoneProjectileActor.scala b/src/main/scala/net/psforever/objects/zones/ZoneProjectileActor.scala index cb6f751fb..6d8e509e8 100644 --- a/src/main/scala/net/psforever/objects/zones/ZoneProjectileActor.scala +++ b/src/main/scala/net/psforever/objects/zones/ZoneProjectileActor.scala @@ -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 diff --git a/src/main/scala/net/psforever/services/CavernRotationService.scala b/src/main/scala/net/psforever/services/CavernRotationService.scala index a337e5988..4b33229d1 100644 --- a/src/main/scala/net/psforever/services/CavernRotationService.scala +++ b/src/main/scala/net/psforever/services/CavernRotationService.scala @@ -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) } } diff --git a/src/main/scala/net/psforever/services/Service.scala b/src/main/scala/net/psforever/services/Service.scala index 0bca3a02d..68e5779ea 100644 --- a/src/main/scala/net/psforever/services/Service.scala +++ b/src/main/scala/net/psforever/services/Service.scala @@ -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) diff --git a/src/main/scala/net/psforever/services/avatar/support/DroppedItemRemover.scala b/src/main/scala/net/psforever/services/avatar/support/DroppedItemRemover.scala index d745a04dc..32d12bd55 100644 --- a/src/main/scala/net/psforever/services/avatar/support/DroppedItemRemover.scala +++ b/src/main/scala/net/psforever/services/avatar/support/DroppedItemRemover.scala @@ -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) diff --git a/src/main/scala/net/psforever/services/base/GenericEventServiceWithCacheAndSupport.scala b/src/main/scala/net/psforever/services/base/GenericEventServiceWithCacheAndSupport.scala index fb224b619..47b34e8d8 100644 --- a/src/main/scala/net/psforever/services/base/GenericEventServiceWithCacheAndSupport.scala +++ b/src/main/scala/net/psforever/services/base/GenericEventServiceWithCacheAndSupport.scala @@ -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 diff --git a/src/main/scala/net/psforever/services/base/GenericEventServiceWithSupport.scala b/src/main/scala/net/psforever/services/base/GenericEventServiceWithSupport.scala index 713cadcab..e10b152f1 100644 --- a/src/main/scala/net/psforever/services/base/GenericEventServiceWithSupport.scala +++ b/src/main/scala/net/psforever/services/base/GenericEventServiceWithSupport.scala @@ -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 diff --git a/src/main/scala/net/psforever/services/base/envelope/MessageEnvelope.scala b/src/main/scala/net/psforever/services/base/envelope/MessageEnvelope.scala index 398c752cf..b93747d25 100644 --- a/src/main/scala/net/psforever/services/base/envelope/MessageEnvelope.scala +++ b/src/main/scala/net/psforever/services/base/envelope/MessageEnvelope.scala @@ -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) } diff --git a/src/main/scala/net/psforever/services/hart/HartTimer.scala b/src/main/scala/net/psforever/services/hart/HartTimer.scala index 67f9f63f8..576eadcfe 100644 --- a/src/main/scala/net/psforever/services/hart/HartTimer.scala +++ b/src/main/scala/net/psforever/services/hart/HartTimer.scala @@ -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 } diff --git a/src/main/scala/net/psforever/services/local/LocalAction.scala b/src/main/scala/net/psforever/services/local/LocalAction.scala index f10d33ea6..4e42bca59 100644 --- a/src/main/scala/net/psforever/services/local/LocalAction.scala +++ b/src/main/scala/net/psforever/services/local/LocalAction.scala @@ -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))) } } diff --git a/src/main/scala/net/psforever/services/local/support/DoorCloseActor.scala b/src/main/scala/net/psforever/services/local/support/DoorCloseActor.scala index d99a134ac..a8a189a86 100644 --- a/src/main/scala/net/psforever/services/local/support/DoorCloseActor.scala +++ b/src/main/scala/net/psforever/services/local/support/DoorCloseActor.scala @@ -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" } diff --git a/src/main/scala/net/psforever/services/teamwork/SquadServiceResponse.scala b/src/main/scala/net/psforever/services/teamwork/SquadServiceResponse.scala index 2482ffddd..a5281453c 100644 --- a/src/main/scala/net/psforever/services/teamwork/SquadServiceResponse.scala +++ b/src/main/scala/net/psforever/services/teamwork/SquadServiceResponse.scala @@ -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 } diff --git a/src/test/scala/objects/DeployableTest.scala b/src/test/scala/objects/DeployableTest.scala index bf97bd54e..88536ee18 100644 --- a/src/test/scala/objects/DeployableTest.scala +++ b/src/test/scala/objects/DeployableTest.scala @@ -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, "") } diff --git a/src/test/scala/service/base/EventServiceCacheSupportTest.scala b/src/test/scala/service/base/EventServiceCacheSupportTest.scala index 6ff7932f5..7a10dfcdf 100644 --- a/src/test/scala/service/base/EventServiceCacheSupportTest.scala +++ b/src/test/scala/service/base/EventServiceCacheSupportTest.scala @@ -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" } diff --git a/src/test/scala/service/base/EventServiceTest.scala b/src/test/scala/service/base/EventServiceTest.scala index 8bfbf61dd..1be95949a 100644 --- a/src/test/scala/service/base/EventServiceTest.scala +++ b/src/test/scala/service/base/EventServiceTest.scala @@ -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) } } diff --git a/src/test/scala/service/base/EventServiceTestBase.scala b/src/test/scala/service/base/EventServiceTestBase.scala index 40718e204..81ec8b1be 100644 --- a/src/test/scala/service/base/EventServiceTestBase.scala +++ b/src/test/scala/service/base/EventServiceTestBase.scala @@ -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 } diff --git a/src/test/scala/service/local/LocalActionTest.scala b/src/test/scala/service/local/LocalActionTest.scala index a929bd485..87d055260 100644 --- a/src/test/scala/service/local/LocalActionTest.scala +++ b/src/test/scala/service/local/LocalActionTest.scala @@ -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