From adc95168b0f4d71e9aee7ed7f029976804b2901d Mon Sep 17 00:00:00 2001 From: "Jason_DiDonato@yahoo.com" Date: Mon, 21 Sep 2020 08:47:48 -0400 Subject: [PATCH] restore access to trunk contents when seated in a vehicle --- .../actors/session/SessionActor.scala | 26 ++++++++++++++++--- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/src/main/scala/net/psforever/actors/session/SessionActor.scala b/src/main/scala/net/psforever/actors/session/SessionActor.scala index 7180c8ede..3085638e1 100644 --- a/src/main/scala/net/psforever/actors/session/SessionActor.scala +++ b/src/main/scala/net/psforever/actors/session/SessionActor.scala @@ -6150,9 +6150,6 @@ class SessionActor extends Actor with MDCContextAware { */ def AccessVehicleContents(vehicle: Vehicle): Unit = { accessedContainer = Some(vehicle) - if(vehicle.AccessingTrunk.isEmpty) { - vehicle.AccessingTrunk = Some(player.GUID) - } AccessVehicleContainerChannel(vehicle) DisplayContainerContents(vehicle.GUID, vehicle) } @@ -6879,7 +6876,28 @@ class SessionActor extends Actor with MDCContextAware { progressBarUpdate.cancel() progressBarValue = None lastTerminalOrderFulfillment = true - UnaccessContainer() + accessedContainer match { + case Some(v: Vehicle) => + val vguid = v.GUID + if(v.AccessingTrunk.contains(player.GUID)) { + if(player.VehicleSeated.contains(vguid)) { + v.AccessingTrunk = None //player is seated; just stop accessing trunk + if(player.isAlive) { + sendResponse(UnuseItemMessage(player.GUID, vguid)) + } + } else { + UnaccessContainer(v) + } + } + + case Some(o) => + UnaccessContainer(o) + if(player.isAlive) { + sendResponse(UnuseItemMessage(player.GUID, o.GUID)) + } + + case None => ; + } prefire.orElse(shooting) match { case Some(guid) => sendResponse(ChangeFireStateMessage_Stop(guid))