From d68ccdfd8d1cac49bdf93ee730f238fefb077db9 Mon Sep 17 00:00:00 2001 From: Fate-JH Date: Tue, 25 Oct 2022 01:47:27 -0400 Subject: [PATCH] no longer foul up the first attempt to exchange weapons after a quick grenade (#1011) --- .../scala/net/psforever/actors/session/SessionActor.scala | 4 ++-- src/main/scala/net/psforever/login/WorldSession.scala | 8 +++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/main/scala/net/psforever/actors/session/SessionActor.scala b/src/main/scala/net/psforever/actors/session/SessionActor.scala index a2b66d94b..4b16da307 100644 --- a/src/main/scala/net/psforever/actors/session/SessionActor.scala +++ b/src/main/scala/net/psforever/actors/session/SessionActor.scala @@ -2315,7 +2315,7 @@ class SessionActor(middlewareActor: typed.ActorRef[MiddlewareActor.Command], con sendResponse(ObjectDeleteMessage(item_guid, unk)) } - case AvatarResponse.ObjectHeld(slot, previousSLot) => + case AvatarResponse.ObjectHeld(slot, previousSlot) => if (tplayer_guid == guid) { if (slot > -1) { sendResponse(ObjectHeldMessage(guid, slot, unk1=true)) @@ -2329,7 +2329,7 @@ class SessionActor(middlewareActor: typed.ActorRef[MiddlewareActor.Command], con } } } else { - sendResponse(ObjectHeldMessage(guid, previousSLot, unk1=false)) + sendResponse(ObjectHeldMessage(guid, previousSlot, unk1=false)) } case AvatarResponse.OxygenState(player, vehicle) => diff --git a/src/main/scala/net/psforever/login/WorldSession.scala b/src/main/scala/net/psforever/login/WorldSession.scala index 6c768d74f..148c60dee 100644 --- a/src/main/scala/net/psforever/login/WorldSession.scala +++ b/src/main/scala/net/psforever/login/WorldSession.scala @@ -806,12 +806,14 @@ object WorldSession { } optGrenadeInSlot match { case Some((grenade, slotNum)) => - tplayer.ResistArmMotion(countRestrictAttempts(count=1)) val itemInPreviouslyDrawnSlotToDrop = if (equipSlot != previouslyDrawnSlot) { forcedTolowerRaisedArm(tplayer, tplayer.GUID, tplayer.Zone) tplayer.Slot(previouslyDrawnSlot).Equipment match { - case out @ Some(_) => out - case _ => None + case out @ Some(_) => + tplayer.ResistArmMotion(countRestrictAttempts(count=1)) + out + case _ => + None } } else { None