From 89a30ae6f6f11f9776af60974956fa425078cc20 Mon Sep 17 00:00:00 2001 From: Fate-JH Date: Tue, 25 Aug 2020 21:28:04 -0400 Subject: [PATCH] armor value updated (#533) --- .../scala/net/psforever/actors/session/SessionActor.scala | 6 ++++-- .../scala/net/psforever/objects/avatar/PlayerControl.scala | 7 ++++--- common/src/main/scala/services/avatar/AvatarService.scala | 4 ++++ .../main/scala/services/avatar/AvatarServiceMessage.scala | 2 ++ .../main/scala/services/avatar/AvatarServiceResponse.scala | 2 ++ 5 files changed, 16 insertions(+), 5 deletions(-) diff --git a/common/src/main/scala/net/psforever/actors/session/SessionActor.scala b/common/src/main/scala/net/psforever/actors/session/SessionActor.scala index 0b9b75485..c282c6ed2 100644 --- a/common/src/main/scala/net/psforever/actors/session/SessionActor.scala +++ b/common/src/main/scala/net/psforever/actors/session/SessionActor.scala @@ -2086,6 +2086,7 @@ class SessionActor extends Actor with MDCContextAware { case AvatarResponse.ChangeExosuit( target, + armor, exosuit, subtype, slot, @@ -2099,7 +2100,7 @@ class SessionActor extends Actor with MDCContextAware { ) => StartBundlingPackets() sendResponse(ArmorChangedMessage(target, exosuit, subtype)) - sendResponse(PlanetsideAttributeMessage(target, 4, player.Armor)) + sendResponse(PlanetsideAttributeMessage(target, 4, armor)) if (tplayer_guid == target) { //happening to this player //cleanup @@ -2167,6 +2168,7 @@ class SessionActor extends Actor with MDCContextAware { case AvatarResponse.ChangeLoadout( target, + armor, exosuit, subtype, slot, @@ -2179,7 +2181,7 @@ class SessionActor extends Actor with MDCContextAware { ) => StartBundlingPackets() sendResponse(ArmorChangedMessage(target, exosuit, subtype)) - sendResponse(PlanetsideAttributeMessage(target, 4, player.Armor)) + sendResponse(PlanetsideAttributeMessage(target, 4, armor)) if (tplayer_guid == target) { //happening to this player sendResponse(ObjectHeldMessage(target, Player.HandsDownSlot, false)) diff --git a/common/src/main/scala/net/psforever/objects/avatar/PlayerControl.scala b/common/src/main/scala/net/psforever/objects/avatar/PlayerControl.scala index b8d8da27e..7a9880ce1 100644 --- a/common/src/main/scala/net/psforever/objects/avatar/PlayerControl.scala +++ b/common/src/main/scala/net/psforever/objects/avatar/PlayerControl.scala @@ -213,7 +213,7 @@ class PlayerControl(player: Player, avatarActor: typed.ActorRef[AvatarActor.Comm val originalArmor = player.Armor player.ExoSuit = exosuit //changes the value of MaxArmor to reflect the new exo-suit val toMaxArmor = player.MaxArmor - if (originalSuit != exosuit || originalSubtype != subtype || originalArmor > toMaxArmor) { + val toArmor = if (originalSuit != exosuit || originalSubtype != subtype || originalArmor > toMaxArmor) { player.History(HealFromExoSuitChange(PlayerSource(player), exosuit)) player.Armor = toMaxArmor } else { @@ -274,6 +274,7 @@ class PlayerControl(player: Player, avatarActor: typed.ActorRef[AvatarActor.Comm player.Zone.id, AvatarAction.ChangeExosuit( player.GUID, + toArmor, exosuit, subtype, player.LastDrawnSlot, @@ -365,7 +366,7 @@ class PlayerControl(player: Player, avatarActor: typed.ActorRef[AvatarActor.Comm val originalArmor = player.Armor player.ExoSuit = nextSuit val toMaxArmor = player.MaxArmor - if (originalSuit != nextSuit || originalSubtype != nextSubtype || originalArmor > toMaxArmor) { + val toArmor = if (originalSuit != nextSuit || originalSubtype != nextSubtype || originalArmor > toMaxArmor) { player.History(HealFromExoSuitChange(PlayerSource(player), nextSuit)) player.Armor = toMaxArmor } else { @@ -411,6 +412,7 @@ class PlayerControl(player: Player, avatarActor: typed.ActorRef[AvatarActor.Comm player.Zone.id, AvatarAction.ChangeLoadout( player.GUID, + toArmor, nextSuit, nextSubtype, player.LastDrawnSlot, @@ -430,7 +432,6 @@ class PlayerControl(player: Player, avatarActor: typed.ActorRef[AvatarActor.Comm } case Zone.Ground.ItemOnGround(item, _, _) => - ; val name = player.Name val zone = player.Zone val avatarEvents = zone.AvatarEvents diff --git a/common/src/main/scala/services/avatar/AvatarService.scala b/common/src/main/scala/services/avatar/AvatarService.scala index 097502377..e814afa80 100644 --- a/common/src/main/scala/services/avatar/AvatarService.scala +++ b/common/src/main/scala/services/avatar/AvatarService.scala @@ -346,6 +346,7 @@ class AvatarService(zone: Zone) extends Actor { ) case AvatarAction.ChangeExosuit( target, + armor, exosuit, subtype, slot, @@ -363,6 +364,7 @@ class AvatarService(zone: Zone) extends Actor { Service.defaultPlayerGUID, AvatarResponse.ChangeExosuit( target, + armor, exosuit, subtype, slot, @@ -378,6 +380,7 @@ class AvatarService(zone: Zone) extends Actor { ) case AvatarAction.ChangeLoadout( target, + armor, exosuit, subtype, slot, @@ -394,6 +397,7 @@ class AvatarService(zone: Zone) extends Actor { Service.defaultPlayerGUID, AvatarResponse.ChangeLoadout( target, + armor, exosuit, subtype, slot, diff --git a/common/src/main/scala/services/avatar/AvatarServiceMessage.scala b/common/src/main/scala/services/avatar/AvatarServiceMessage.scala index 904f28206..3da31bdc5 100644 --- a/common/src/main/scala/services/avatar/AvatarServiceMessage.scala +++ b/common/src/main/scala/services/avatar/AvatarServiceMessage.scala @@ -122,6 +122,7 @@ object AvatarAction { extends Action final case class ChangeExosuit( target_guid: PlanetSideGUID, + armor: Int, exosuit: ExoSuitType.Value, subtype: Int, last_drawn_slot: Int, @@ -135,6 +136,7 @@ object AvatarAction { ) extends Action final case class ChangeLoadout( target_guid: PlanetSideGUID, + armor: Int, exosuit: ExoSuitType.Value, subtype: Int, last_drawn_slot: Int, diff --git a/common/src/main/scala/services/avatar/AvatarServiceResponse.scala b/common/src/main/scala/services/avatar/AvatarServiceResponse.scala index b216ffa9c..38c405c9a 100644 --- a/common/src/main/scala/services/avatar/AvatarServiceResponse.scala +++ b/common/src/main/scala/services/avatar/AvatarServiceResponse.scala @@ -90,6 +90,7 @@ object AvatarResponse { extends Response final case class ChangeExosuit( target_guid: PlanetSideGUID, + armor: Int, exosuit: ExoSuitType.Value, subtype: Int, last_drawn_slot: Int, @@ -103,6 +104,7 @@ object AvatarResponse { ) extends Response final case class ChangeLoadout( target_guid: PlanetSideGUID, + armor: Int, exosuit: ExoSuitType.Value, subtype: Int, last_drawn_slot: Int,