diff --git a/src/main/resources/zonemaps/map07.json b/src/main/resources/zonemaps/map07.json index 2b34ec57..a906d291 100644 --- a/src/main/resources/zonemaps/map07.json +++ b/src/main/resources/zonemaps/map07.json @@ -8926,7 +8926,7 @@ "AbsY": 3742.29175, "AbsZ": 42.3043633, "Yaw": 198.0, - "GUID": 713, + "GUID": 715, "MapID": null, "IsChildObject": true }, @@ -8939,7 +8939,7 @@ "AbsY": 3729.643, "AbsZ": 42.3043633, "Yaw": 288.0, - "GUID": 714, + "GUID": 713, "MapID": null, "IsChildObject": true }, @@ -8952,7 +8952,7 @@ "AbsY": 3729.643, "AbsZ": 49.8043633, "Yaw": 108.0, - "GUID": 715, + "GUID": 714, "MapID": null, "IsChildObject": true }, diff --git a/src/main/scala/net/psforever/services/account/AccountPersistenceService.scala b/src/main/scala/net/psforever/services/account/AccountPersistenceService.scala index 4441cfb4..4bbcaeed 100644 --- a/src/main/scala/net/psforever/services/account/AccountPersistenceService.scala +++ b/src/main/scala/net/psforever/services/account/AccountPersistenceService.scala @@ -365,6 +365,11 @@ class PersistenceMonitor( def PerformLogout(): Unit = { (inZone.Players.find(p => p.name == name), inZone.LivePlayers.find(p => p.Name == name)) match { case (Some(avatar), Some(player)) if player.VehicleSeated.nonEmpty => + //in case the player is holding the llu and disconnects + val zone = player.Zone + val events = zone.AvatarEvents + val nameChannel = player.Name + events ! AvatarServiceMessage(nameChannel, AvatarAction.DropSpecialItem()) //alive or dead in a vehicle //if the avatar is dead while in a vehicle, they haven't released yet AvatarActor.saveAvatarData(avatar) @@ -381,6 +386,11 @@ class PersistenceMonitor( PlayerAvatarLogout(avatar, player) case (Some(avatar), Some(player)) => + //in case the player is holding the llu and disconnects + val zone = player.Zone + val events = zone.AvatarEvents + val nameChannel = player.Name + events ! AvatarServiceMessage(nameChannel, AvatarAction.DropSpecialItem()) //alive or dead, as standard Infantry AvatarActor.saveAvatarData(avatar) AvatarActor.finalSavePlayerData(player)