From 5d2c321efb111728ff7493eafb33b75a1b35c754 Mon Sep 17 00:00:00 2001 From: Resaec Date: Fri, 7 Jul 2023 03:26:05 +0200 Subject: [PATCH] Fix AMS, ANT, Router and BFR siphon undeploying when owner leaves zone --- .../session/support/ZoningOperations.scala | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) 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 1553d932..949cd80d 100644 --- a/src/main/scala/net/psforever/actors/session/support/ZoningOperations.scala +++ b/src/main/scala/net/psforever/actors/session/support/ZoningOperations.scala @@ -1442,8 +1442,22 @@ class ZoningOperations( if (player.avatar.vehicle.nonEmpty && player.VehicleSeated != player.avatar.vehicle) { continent.GUID(player.avatar.vehicle) match { case Some(vehicle: Vehicle) if vehicle.Actor != Default.Actor => - sessionData.vehicles.TotalDriverVehicleControl(vehicle) + + // allow AMS, router, ANT and BFR siphon to remain deployed when owner leaves the zone + // TODO: do we need to check for left/right siphon? + vehicle.Definition match { + case GlobalDefinitions.ams | GlobalDefinitions.ant | GlobalDefinitions.router | + GlobalDefinitions.aphelion_ntu_siphon | //GlobalDefinitions.aphelion_ntu_siphon_left | GlobalDefinitions.aphelion_ntu_siphon_right | + GlobalDefinitions.colossus_ntu_siphon | //GlobalDefinitions.colossus_ntu_siphon_left | GlobalDefinitions.colossus_ntu_siphon_right | + GlobalDefinitions.peregrine_ntu_siphon //| GlobalDefinitions.peregrine_ntu_siphon_left | GlobalDefinitions.peregrine_ntu_siphon_right + => // do noting to keep them deployed + + case _ => sessionData.vehicles.TotalDriverVehicleControl(vehicle) + } + + // remove owner vehicle.Actor ! Vehicle.Ownership(None) + case _ => ; } avatarActor ! AvatarActor.SetVehicle(None)