From da74de288fcd897fcce589ad707f99b48014bb8d Mon Sep 17 00:00:00 2001 From: ScrawnyRonnie Date: Thu, 21 Dec 2023 14:32:59 -0500 Subject: [PATCH] purchase another vehicle --- .../actors/session/support/SessionTerminalHandlers.scala | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/scala/net/psforever/actors/session/support/SessionTerminalHandlers.scala b/src/main/scala/net/psforever/actors/session/support/SessionTerminalHandlers.scala index b95eb5aeb..b7e143d66 100644 --- a/src/main/scala/net/psforever/actors/session/support/SessionTerminalHandlers.scala +++ b/src/main/scala/net/psforever/actors/session/support/SessionTerminalHandlers.scala @@ -27,16 +27,19 @@ class SessionTerminalHandlers( ) extends CommonSessionInterfacingFunctionality { private[support] var lastTerminalOrderFulfillment: Boolean = true private[support] var usingMedicalTerminal: Option[PlanetSideGUID] = None + //player ran too far away from the terminal after ordering. Allows them to purchase another if they return + private var wentOutOfRange = false /* packets */ def handleItemTransaction(pkt: ItemTransactionMessage): Unit = { val ItemTransactionMessage(terminalGuid, transactionType, _, itemName, _, _) = pkt continent.GUID(terminalGuid) match { - case Some(term: Terminal) if lastTerminalOrderFulfillment => + case Some(term: Terminal) if lastTerminalOrderFulfillment || wentOutOfRange => val msg: String = if (itemName.nonEmpty) s" of $itemName" else "" log.info(s"${player.Name} is submitting an order - a $transactionType from a ${term.Definition.Name}$msg") lastTerminalOrderFulfillment = false + wentOutOfRange = true sessionData.zoning.CancelZoningProcessWithDescriptiveReason("cancel_use") term.Actor ! Terminal.Request(player, pkt) case Some(_: Terminal) =>