From a30f89fc50a5c60bc02896d24677c49f420db06e Mon Sep 17 00:00:00 2001 From: ScrawnyRonnie Date: Mon, 15 Apr 2024 08:26:31 -0400 Subject: [PATCH 1/2] no damage if dead --- .../net/psforever/actors/session/support/SessionData.scala | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/scala/net/psforever/actors/session/support/SessionData.scala b/src/main/scala/net/psforever/actors/session/support/SessionData.scala index 0143400f..81f0a733 100644 --- a/src/main/scala/net/psforever/actors/session/support/SessionData.scala +++ b/src/main/scala/net/psforever/actors/session/support/SessionData.scala @@ -2208,6 +2208,8 @@ class SessionData( // auto kick players damaging spectators if (obj.spectator && obj != player) { administrativeKick(player) + } else if (!player.isAlive) { + } else { obj.Actor ! Vitality.Damage(func) } From e91d91294e4a51300433d7a9acfe5c4ce16e4f01 Mon Sep 17 00:00:00 2001 From: ScrawnyRonnie Date: Mon, 15 Apr 2024 22:15:00 -0400 Subject: [PATCH 2/2] projectile change --- .../net/psforever/actors/session/support/SessionData.scala | 2 -- .../session/support/WeaponAndProjectileOperations.scala | 4 +++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/scala/net/psforever/actors/session/support/SessionData.scala b/src/main/scala/net/psforever/actors/session/support/SessionData.scala index 81f0a733..0143400f 100644 --- a/src/main/scala/net/psforever/actors/session/support/SessionData.scala +++ b/src/main/scala/net/psforever/actors/session/support/SessionData.scala @@ -2208,8 +2208,6 @@ class SessionData( // auto kick players damaging spectators if (obj.spectator && obj != player) { administrativeKick(player) - } else if (!player.isAlive) { - } else { obj.Actor ! Vitality.Damage(func) } diff --git a/src/main/scala/net/psforever/actors/session/support/WeaponAndProjectileOperations.scala b/src/main/scala/net/psforever/actors/session/support/WeaponAndProjectileOperations.scala index 4e1d2738..afba349b 100644 --- a/src/main/scala/net/psforever/actors/session/support/WeaponAndProjectileOperations.scala +++ b/src/main/scala/net/psforever/actors/session/support/WeaponAndProjectileOperations.scala @@ -609,11 +609,13 @@ private[support] class WeaponAndProjectileOperations( if (tool.Magazine <= 0) { //safety: enforce ammunition depletion prefire -= weaponGUID EmptyMagazine(weaponGUID, tool) + (o, Some(tool)) } else if (!player.isAlive) { //proper internal accounting, but no projectile prefire += weaponGUID tool.Discharge() projectiles(projectileGUID.guid - Projectile.baseUID) = None shotsWhileDead += 1 + (None, None) } else { //shooting if ( avatar.stamina > 0 && @@ -628,8 +630,8 @@ private[support] class WeaponAndProjectileOperations( tool.Discharge() prefire += weaponGUID addShotsFired(tool.Definition.ObjectId, tool.AmmoSlot.Chamber) + (o, Some(tool)) } - (o, Some(tool)) } collectedTools.headOption.getOrElse((None, None)) } else {