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 {