From dd87d5da89baf0c4f9b8e943763512aa5822cd40 Mon Sep 17 00:00:00 2001 From: ScrawnyRonnie Date: Sun, 2 Feb 2025 21:33:32 -0500 Subject: [PATCH 1/2] misc deployables fixes --- .../session/support/ZoningOperations.scala | 5 +++++ .../objects/ce/DeployableBehavior.scala | 18 ++++++++++++------ 2 files changed, 17 insertions(+), 6 deletions(-) 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 5e7501c3e..cdbb2cdcf 100644 --- a/src/main/scala/net/psforever/actors/session/support/ZoningOperations.scala +++ b/src/main/scala/net/psforever/actors/session/support/ZoningOperations.scala @@ -2494,6 +2494,11 @@ class ZoningOperations( reclaimOurDeployables(continent.DeployableList, player.Name, reassignDeployablesTo(player.GUID)) ) ) + //do this to make my deployed telepad appear that way + continent.Vehicles.filter(router => router.Definition == GlobalDefinitions.router && router.OwnerName.contains(player.Name)) + .foreach { obj => + sessionLogic.general.toggleTeleportSystem(obj, TelepadLike.AppraiseTeleportationSystem(obj, continent)) + } //begin looking for conditions to set the avatar context.system.scheduler.scheduleOnce(delay = 250 millisecond, context.self, SessionActor.SetCurrentAvatar(player, 200)) } diff --git a/src/main/scala/net/psforever/objects/ce/DeployableBehavior.scala b/src/main/scala/net/psforever/objects/ce/DeployableBehavior.scala index b363b63e3..dc5bd06f5 100644 --- a/src/main/scala/net/psforever/objects/ce/DeployableBehavior.scala +++ b/src/main/scala/net/psforever/objects/ce/DeployableBehavior.scala @@ -68,7 +68,7 @@ trait DeployableBehavior { if DeployableObject.OwnerGuid.nonEmpty => val obj = DeployableObject if (constructed.contains(true)) { - loseOwnership(obj, PlanetSideEmpire.NEUTRAL) + loseOwnership(obj, obj.Faction) } else { obj.OwnerGuid = None } @@ -290,11 +290,17 @@ object DeployableBehavior { originalFaction.toString, LocalAction.DeployableMapIcon(Service.defaultPlayerGUID, DeploymentAction.Dismiss, info) ) + //remove deployable from original owner's toolbox and UI counter + zone.AllPlayers.filter(p => obj.OriginalOwnerName.contains(p.Name)) + .foreach { originalOwner => + originalOwner.avatar.deployables.Remove(obj) + originalOwner.Zone.LocalEvents ! LocalServiceMessage(originalOwner.Name, LocalAction.DeployableUIFor(obj.Definition.Item)) + } + //display to the given faction + localEvents ! LocalServiceMessage( + toFaction.toString, + LocalAction.DeployableMapIcon(Service.defaultPlayerGUID, DeploymentAction.Build, info) + ) } - //display to the given faction - localEvents ! LocalServiceMessage( - toFaction.toString, - LocalAction.DeployableMapIcon(Service.defaultPlayerGUID, DeploymentAction.Build, info) - ) } } From e9336f52a6e40d8a8f68720565e2876d739f5c69 Mon Sep 17 00:00:00 2001 From: ScrawnyRonnie Date: Mon, 3 Feb 2025 06:46:22 -0500 Subject: [PATCH 2/2] boomers still go neutral --- .../net/psforever/objects/ce/DeployableBehavior.scala | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/scala/net/psforever/objects/ce/DeployableBehavior.scala b/src/main/scala/net/psforever/objects/ce/DeployableBehavior.scala index dc5bd06f5..fbdfa85ca 100644 --- a/src/main/scala/net/psforever/objects/ce/DeployableBehavior.scala +++ b/src/main/scala/net/psforever/objects/ce/DeployableBehavior.scala @@ -68,7 +68,12 @@ trait DeployableBehavior { if DeployableObject.OwnerGuid.nonEmpty => val obj = DeployableObject if (constructed.contains(true)) { - loseOwnership(obj, obj.Faction) + if (obj.Definition.DeployCategory == DeployableCategory.Boomers) { + loseOwnership(obj, PlanetSideEmpire.NEUTRAL) + } + else { + loseOwnership(obj, obj.Faction) + } } else { obj.OwnerGuid = None }