diff --git a/src/main/scala/net/psforever/actors/session/AvatarActor.scala b/src/main/scala/net/psforever/actors/session/AvatarActor.scala index 749255c23..931c2ee0b 100644 --- a/src/main/scala/net/psforever/actors/session/AvatarActor.scala +++ b/src/main/scala/net/psforever/actors/session/AvatarActor.scala @@ -2077,8 +2077,8 @@ class AvatarActor( avatarCopy(avatar.copy(decoration = avatar.decoration.copy(cosmetics = Some(cosmetics)))) zone.AvatarEvents ! AvatarServiceMessage( zone.id, - session.get.player.GUID, - AvatarAction.PlanetsideAttributeToAll( + PlanetsideAttribute( + session.get.player.GUID, 106, Cosmetic.valuesToAttributeValue(cosmetics) ) @@ -3002,13 +3002,13 @@ class AvatarActor( val next = BattleRank.withExperience(newBep).value val br24 = BattleRank.BR24.value sessionActor ! SessionActor.SendResponse(BattleExperienceMessage(pguid, newBep, localModifier)) - events ! AvatarServiceMessage(zoneId, pguid, AvatarAction.PlanetsideAttributeToAll(17, newBep)) + events ! AvatarServiceMessage(zoneId, PlanetsideAttribute(pguid, 17, newBep)) if (current < br24 && next >= br24 || current >= br24 && next < br24) { setCosmetics(Set()).onComplete { _ => val evts = events val name = player.Name val guid = pguid - evts ! AvatarServiceMessage(name, guid, AvatarAction.PlanetsideAttributeToAll(106, 1)) //set to no helmet + evts ! AvatarServiceMessage(name, PlanetsideAttribute(guid, 106, 1)) //set to no helmet } } // when the level is reduced, take away any implants over the implant slot limit @@ -3053,7 +3053,7 @@ class AvatarActor( val sess = session.get val zone = sess.zone avatar = avatar.copy(cep = cep) - zone.AvatarEvents ! AvatarServiceMessage(zone.id, sess.player.GUID, AvatarAction.PlanetsideAttributeToAll(18, cep)) + zone.AvatarEvents ! AvatarServiceMessage(zone.id, PlanetsideAttribute(sess.player.GUID, 18, cep)) case Failure(exception) => log.error(exception)("db failure") } @@ -3848,7 +3848,7 @@ class AvatarActor( val newHealth = player.Health = originalHealth + 1 val events = zone.AvatarEvents player.LogActivity(HealFromImplant(implant.definition.implantType, 1)) - events ! AvatarServiceMessage(zone.id, guid, AvatarAction.PlanetsideAttributeToAll(0, newHealth)) + events ! AvatarServiceMessage(zone.id, PlanetsideAttribute(guid, 0, newHealth)) false } else { !aliveAndWounded diff --git a/src/main/scala/net/psforever/actors/session/csr/AvatarHandlerLogic.scala b/src/main/scala/net/psforever/actors/session/csr/AvatarHandlerLogic.scala index 84dadf753..5b6306f24 100644 --- a/src/main/scala/net/psforever/actors/session/csr/AvatarHandlerLogic.scala +++ b/src/main/scala/net/psforever/actors/session/csr/AvatarHandlerLogic.scala @@ -249,12 +249,6 @@ class AvatarHandlerLogic(val ops: SessionAvatarHandlers, implicit val context: A case PlanetsideAttribute(target_guid, attributeType, attributeValue) if isNotSameTarget => sendResponse(PlanetsideAttributeMessage(target_guid, attributeType, attributeValue)) - case AvatarAction.PlanetsideAttributeToAll(attributeType, attributeValue) => - sendResponse(PlanetsideAttributeMessage(guid, attributeType, attributeValue)) - - case AvatarAction.PlanetsideAttributeSelf(attributeType, attributeValue) if isSameTarget => - sendResponse(PlanetsideAttributeMessage(guid, attributeType, attributeValue)) - case GenericObjectAction(objectGuid, actionCode) if isNotSameTarget => sendResponse(GenericObjectActionMessage(objectGuid, actionCode)) diff --git a/src/main/scala/net/psforever/actors/session/normal/AvatarHandlerLogic.scala b/src/main/scala/net/psforever/actors/session/normal/AvatarHandlerLogic.scala index dc6283f45..1ff0bdde2 100644 --- a/src/main/scala/net/psforever/actors/session/normal/AvatarHandlerLogic.scala +++ b/src/main/scala/net/psforever/actors/session/normal/AvatarHandlerLogic.scala @@ -248,12 +248,6 @@ class AvatarHandlerLogic(val ops: SessionAvatarHandlers, implicit val context: A case PlanetsideAttribute(target_guid, attributeType, attributeValue) if isNotSameTarget => sendResponse(PlanetsideAttributeMessage(target_guid, attributeType, attributeValue)) - case AvatarAction.PlanetsideAttributeToAll(attributeType, attributeValue) => - sendResponse(PlanetsideAttributeMessage(guid, attributeType, attributeValue)) - - case AvatarAction.PlanetsideAttributeSelf(attributeType, attributeValue) if isSameTarget => - sendResponse(PlanetsideAttributeMessage(guid, attributeType, attributeValue)) - case AvatarAction.PlanetsideStringAttribute(attributeType, attributeValue) => sendResponse(PlanetsideStringAttributeMessage(guid, attributeType, attributeValue)) @@ -699,7 +693,7 @@ class AvatarHandlerLogic(val ops: SessionAvatarHandlers, implicit val context: A val events = continent.AvatarEvents ops.killedWhileMounted(obj, playerGuid) //make player invisible on client - events ! AvatarServiceMessage(player.Name, playerGuid, AvatarAction.PlanetsideAttributeToAll(29, 1)) + events ! AvatarServiceMessage(player.Name, PlanetsideAttribute(playerGuid, 29, 1)) //only the dead player should "see" their own body, so that the death camera has something to focus on events ! AvatarServiceMessage(continent.id, playerGuid, ObjectDelete(playerGuid)) } diff --git a/src/main/scala/net/psforever/actors/session/spectator/AvatarHandlerLogic.scala b/src/main/scala/net/psforever/actors/session/spectator/AvatarHandlerLogic.scala index 133c9f289..d1a957407 100644 --- a/src/main/scala/net/psforever/actors/session/spectator/AvatarHandlerLogic.scala +++ b/src/main/scala/net/psforever/actors/session/spectator/AvatarHandlerLogic.scala @@ -212,12 +212,6 @@ class AvatarHandlerLogic(val ops: SessionAvatarHandlers, implicit val context: A case PlanetsideAttribute(target_guid, attributeType, attributeValue) if isNotSameTarget => sendResponse(PlanetsideAttributeMessage(target_guid, attributeType, attributeValue)) - case AvatarAction.PlanetsideAttributeToAll(attributeType, attributeValue) => - sendResponse(PlanetsideAttributeMessage(guid, attributeType, attributeValue)) - - case AvatarAction.PlanetsideAttributeSelf(attributeType, attributeValue) if isSameTarget => - sendResponse(PlanetsideAttributeMessage(guid, attributeType, attributeValue)) - case GenericObjectAction(objectGuid, actionCode) if isNotSameTarget => sendResponse(GenericObjectActionMessage(objectGuid, actionCode)) @@ -494,8 +488,7 @@ class AvatarHandlerLogic(val ops: SessionAvatarHandlers, implicit val context: A sendResponse(AvatarDeadStateMessage(DeadState.Alive, timer_max=0, timer=0, player.Position, player.Faction, unk5=true)) continent.AvatarEvents ! AvatarServiceMessage( continent.id, - revivalTargetGuid, - AvatarAction.PlanetsideAttributeToAll(attribute_type=0, health) + PlanetsideAttribute(revivalTargetGuid, attribute_type=0, health) ) /* uncommon messages (utility, or once in a while) */ diff --git a/src/main/scala/net/psforever/actors/session/support/GeneralOperations.scala b/src/main/scala/net/psforever/actors/session/support/GeneralOperations.scala index 29a32f7cd..1f259043b 100644 --- a/src/main/scala/net/psforever/actors/session/support/GeneralOperations.scala +++ b/src/main/scala/net/psforever/actors/session/support/GeneralOperations.scala @@ -19,7 +19,7 @@ import net.psforever.objects.zones.blockmap.BlockMapEntity import net.psforever.objects.zones.exp.ToDatabase import net.psforever.services.RemoverActor import net.psforever.services.avatar.GroundEnvelope -import net.psforever.services.base.messages.SendResponse +import net.psforever.services.base.messages.{PlanetsideAttribute, SendResponse} import net.psforever.services.local.support.HackCaptureActor import net.psforever.services.local.{CaptureMessage, LocalAction, LocalServiceMessage} @@ -1030,8 +1030,7 @@ class GeneralOperations( player.UsingSpecial = SpecialExoSuitDefinition.Mode.Normal continent.AvatarEvents ! AvatarServiceMessage( continent.id, - player.GUID, - AvatarAction.PlanetsideAttributeToAll(8, 0) + PlanetsideAttribute(player.GUID, 8, 0) ) } } @@ -1040,8 +1039,7 @@ class GeneralOperations( private def activateMaxSpecialStateMessage(): Unit = { continent.AvatarEvents ! AvatarServiceMessage( continent.id, - player.GUID, - AvatarAction.PlanetsideAttributeToAll(8, 1) + PlanetsideAttribute(player.GUID, 8, 1) ) } diff --git a/src/main/scala/net/psforever/actors/session/support/SessionOutfitHandlers.scala b/src/main/scala/net/psforever/actors/session/support/SessionOutfitHandlers.scala index be64abbbb..53c2e0b2d 100644 --- a/src/main/scala/net/psforever/actors/session/support/SessionOutfitHandlers.scala +++ b/src/main/scala/net/psforever/actors/session/support/SessionOutfitHandlers.scala @@ -9,6 +9,7 @@ import net.psforever.packet.game.OutfitEventAction.{Initial, Leaving, OutfitInfo import net.psforever.packet.game.OutfitMembershipResponse.PacketType.CreateResponse import net.psforever.packet.game._ import net.psforever.services.avatar.{AvatarAction, AvatarServiceMessage} +import net.psforever.services.base.messages.PlanetsideAttribute import net.psforever.services.chat.OutfitChannel import net.psforever.types.ChatMessageType import net.psforever.util.Config @@ -85,8 +86,7 @@ object SessionOutfitHandlers { player.Zone.AvatarEvents ! AvatarServiceMessage( player.Zone.id, - player.GUID, - AvatarAction.PlanetsideAttributeToAll(39, outfit.id) + PlanetsideAttribute(player.GUID, 39, outfit.id) ) player.Zone.AvatarEvents ! AvatarServiceMessage( @@ -176,8 +176,7 @@ object SessionOutfitHandlers { invited.Zone.AvatarEvents ! AvatarServiceMessage( invited.Zone.id, - invited.GUID, - AvatarAction.PlanetsideAttributeToAll(39, outfit.id) + PlanetsideAttribute(invited.GUID, 39, outfit.id) ) invited.Zone.AvatarEvents ! AvatarServiceMessage( @@ -244,8 +243,7 @@ object SessionOutfitHandlers { kickedBy.Zone.AvatarEvents ! AvatarServiceMessage( kickedBy.Zone.id, - kickedBy.GUID, - AvatarAction.PlanetsideAttributeToAll(39, 0) + PlanetsideAttribute(kickedBy.GUID, 39, 0) ) kickedBy.Zone.AvatarEvents ! AvatarServiceMessage( @@ -274,8 +272,7 @@ object SessionOutfitHandlers { kicked.Zone.AvatarEvents ! AvatarServiceMessage( kicked.Zone.id, - kicked.GUID, - AvatarAction.PlanetsideAttributeToAll(39, 0) + PlanetsideAttribute(kicked.GUID, 39, 0) ) kicked.Zone.AvatarEvents ! AvatarServiceMessage( @@ -639,8 +636,7 @@ object SessionOutfitHandlers { player.Zone.AvatarEvents ! AvatarServiceMessage( player.Zone.id, - player.GUID, - AvatarAction.PlanetsideAttributeToAll(39, outfit.id) + PlanetsideAttribute(player.GUID, 39, outfit.id) ) player.Zone.AvatarEvents ! AvatarServiceMessage( diff --git a/src/main/scala/net/psforever/actors/session/support/ZoningOperations.scala b/src/main/scala/net/psforever/actors/session/support/ZoningOperations.scala index c9958e852..79767068c 100644 --- a/src/main/scala/net/psforever/actors/session/support/ZoningOperations.scala +++ b/src/main/scala/net/psforever/actors/session/support/ZoningOperations.scala @@ -3372,7 +3372,7 @@ class ZoningOperations( if (tplayer.ExoSuit == ExoSuitType.MAX) { sendResponse(PlanetsideAttributeMessage(guid, 7, tplayer.Capacitor.toLong)) sendResponse(PlanetsideAttributeMessage(guid, 4, tplayer.Armor)) - continent.AvatarEvents ! AvatarServiceMessage(continent.id, guid, AvatarAction.PlanetsideAttributeToAll(4, tplayer.Armor)) + continent.AvatarEvents ! AvatarServiceMessage(continent.id, PlanetsideAttribute(guid, 4, tplayer.Armor)) } // for issue #1269 continent.AllPlayers.filter(_.ExoSuit == ExoSuitType.MAX).foreach(max => sendResponse(PlanetsideAttributeMessage(max.GUID, 4, max.Armor))) @@ -3496,8 +3496,12 @@ class ZoningOperations( case Some(b: Building) if b.hasCavernLockBenefit => tplayer.MaxHealth = 120 tplayer.Health = 120 - tplayer.Zone.AvatarEvents ! AvatarServiceMessage(tplayer.Zone.id, tplayer.GUID, AvatarAction.PlanetsideAttributeToAll(0, 120)) - tplayer.Zone.AvatarEvents ! AvatarServiceMessage(tplayer.Zone.id, tplayer.GUID, AvatarAction.PlanetsideAttributeToAll(1, 120)) + val guid = tplayer.GUID + val zone = tplayer.Zone + val channel = zone.id + val events = zone.AvatarEvents + events ! AvatarServiceMessage(channel, PlanetsideAttribute(guid, 0, 120)) + events ! AvatarServiceMessage(channel, PlanetsideAttribute(guid, 1, 120)) case _ => () } doorsThatShouldBeOpenInRange(pos, range = 100f) diff --git a/src/main/scala/net/psforever/actors/zone/building/MajorFacilityLogic.scala b/src/main/scala/net/psforever/actors/zone/building/MajorFacilityLogic.scala index ac8dd175b..caeb3cf33 100644 --- a/src/main/scala/net/psforever/actors/zone/building/MajorFacilityLogic.scala +++ b/src/main/scala/net/psforever/actors/zone/building/MajorFacilityLogic.scala @@ -15,8 +15,8 @@ import net.psforever.objects.serverobject.terminals.capture.{CaptureTerminal, Ca import net.psforever.objects.sourcing.PlayerSource import net.psforever.packet.game.PlanetsideAttributeMessage import net.psforever.services.InterstellarClusterService -import net.psforever.services.avatar.{AvatarAction, AvatarServiceMessage} -import net.psforever.services.base.messages.{GenericObjectAction, SendResponse} +import net.psforever.services.avatar.AvatarServiceMessage +import net.psforever.services.base.messages.{GenericObjectAction, PlanetsideAttribute, SendResponse} import net.psforever.services.galaxy.{GalaxyAction, GalaxyServiceMessage} import net.psforever.services.local.{CaptureMessage, HackClearMessage, LocalServiceMessage} import net.psforever.services.local.support.{HackCaptureActor, HackClearActor} @@ -212,9 +212,9 @@ case object MajorFacilityLogic case Some(GeneratorControl.Event.Critical) => val events = zone.AvatarEvents val guid = building.GUID - val msg = AvatarAction.PlanetsideAttributeToAll(46, 1) + val msg = PlanetsideAttribute(guid, 46, 1) building.PlayersInSOI.foreach { player => - events ! AvatarServiceMessage(player.Name, guid, msg) + events ! AvatarServiceMessage(player.Name, msg) } true case Some(GeneratorControl.Event.Destabilized) => @@ -236,9 +236,9 @@ case object MajorFacilityLogic case Some(GeneratorControl.Event.Offline) => powerLost(details) val zone = building.Zone - val msg = AvatarAction.PlanetsideAttributeToAll(46, 2) + val msg = PlanetsideAttribute(building.GUID, 46, 2) building.PlayersInSOI.foreach { player => - zone.AvatarEvents ! AvatarServiceMessage(player.Name, building.GUID, msg) + zone.AvatarEvents ! AvatarServiceMessage(player.Name, msg) } //??? true case Some(GeneratorControl.Event.Normal) => @@ -248,11 +248,11 @@ case object MajorFacilityLogic powerRestored(details) val events = zone.AvatarEvents val guid = building.GUID - val msg1 = AvatarAction.PlanetsideAttributeToAll(46, 0) + val msg1 = PlanetsideAttribute(guid, 46, 0) val msg2 = GenericObjectAction(guid, 17) building.PlayersInSOI.foreach { player => val name = player.Name - events ! AvatarServiceMessage(name, guid, msg1) //reset ???; might be global? + events ! AvatarServiceMessage(name, msg1) //reset ???; might be global? events ! AvatarServiceMessage(name, msg2) //This facility's generator is back on line } true @@ -305,9 +305,9 @@ case object MajorFacilityLogic amenity.Actor ! powerMsg } //amenities disabled; red warning lights - events ! AvatarServiceMessage(zoneId, guid, AvatarAction.PlanetsideAttributeToAll(48, 1)) + events ! AvatarServiceMessage(zoneId, PlanetsideAttribute(guid, 48, 1)) //disable spawn target on deployment map - events ! AvatarServiceMessage(zoneId, guid, AvatarAction.PlanetsideAttributeToAll(38, 0)) + events ! AvatarServiceMessage(zoneId, PlanetsideAttribute(guid, 38, 0)) Behaviors.same } @@ -328,9 +328,9 @@ case object MajorFacilityLogic amenity.Actor ! powerMsg } //amenities enabled; normal lights - events ! AvatarServiceMessage(zoneId, guid, AvatarAction.PlanetsideAttributeToAll(48, 0)) + events ! AvatarServiceMessage(zoneId, PlanetsideAttribute(guid, 48, 0)) //enable spawn target on deployment map - events ! AvatarServiceMessage(zoneId, guid, AvatarAction.PlanetsideAttributeToAll(38, 1)) + events ! AvatarServiceMessage(zoneId, PlanetsideAttribute(guid, 38, 1)) Behaviors.same } diff --git a/src/main/scala/net/psforever/objects/Vehicles.scala b/src/main/scala/net/psforever/objects/Vehicles.scala index 88dd99c1d..8ae8ce14f 100644 --- a/src/main/scala/net/psforever/objects/Vehicles.scala +++ b/src/main/scala/net/psforever/objects/Vehicles.scala @@ -13,8 +13,8 @@ import net.psforever.objects.zones.Zone import net.psforever.packet.game.{ChatMsg, FrameVehicleStateMessage, GenericObjectActionEnum, HackMessage, HackState, HackState1, HackState7, TriggeredSound, VehicleStateMessage} import net.psforever.types.{ChatMessageType, DriveState, PlanetSideEmpire, PlanetSideGUID, Vector3} import net.psforever.services.Service -import net.psforever.services.avatar.{AvatarAction, AvatarServiceMessage} -import net.psforever.services.base.messages.{GenericObjectAction, SendResponse, SetEmpire} +import net.psforever.services.avatar.AvatarServiceMessage +import net.psforever.services.base.messages.{GenericObjectAction, PlanetsideAttribute, SendResponse, SetEmpire} import net.psforever.services.local.{LocalAction, LocalServiceMessage} import net.psforever.services.vehicle.{VehicleAction, VehicleServiceMessage} @@ -172,8 +172,7 @@ object Vehicles { (0 to 3).foreach(group => { vehicle.Zone.AvatarEvents ! AvatarServiceMessage( toChannel, - vehicle_guid, - AvatarAction.PlanetsideAttributeToAll(group + 10, vehicle.PermissionGroup(group).get.id) + PlanetsideAttribute(vehicle_guid, group + 10, vehicle.PermissionGroup(group).get.id) ) }) } diff --git a/src/main/scala/net/psforever/objects/avatar/PlayerControl.scala b/src/main/scala/net/psforever/objects/avatar/PlayerControl.scala index 860994d03..2bfb19697 100644 --- a/src/main/scala/net/psforever/objects/avatar/PlayerControl.scala +++ b/src/main/scala/net/psforever/objects/avatar/PlayerControl.scala @@ -127,7 +127,7 @@ class PlayerControl(player: Player, avatarActor: typed.ActorRef[AvatarActor.Comm val zoneId = zone.id sendResponse(zone, zoneId, PlanetsideAttributeMessage(revivalTargetGuid, attribute_type=0, health)) sendResponse(zone, zoneId, AvatarDeadStateMessage(DeadState.Alive, timer_max=0, timer=0, player.Position, player.Faction, unk5=true)) - sendResponse(zone, zoneId, revivalTargetGuid, AvatarAction.PlanetsideAttributeToAll(attribute_type=0, health)) + sendResponse(zone, zoneId, PlanetsideAttributeMessage(revivalTargetGuid, attribute_type=0, health)) avatarActor ! AvatarActor.InitializeImplants avatarActor ! AvatarActor.SuspendStaminaRegeneration(Duration(1, "second")) @@ -153,7 +153,7 @@ class PlayerControl(player: Player, avatarActor: typed.ActorRef[AvatarActor.Comm uname, SendResponse(InventoryStateMessage(item.AmmoSlot.Box.GUID, item.GUID, magazine.toLong)) ) - events ! AvatarServiceMessage(zone.id, guid, AvatarAction.PlanetsideAttributeToAll(0, newHealth)) + events ! AvatarServiceMessage(zone.id, PlanetsideAttribute(guid, 0, newHealth)) player.LogActivity( HealFromEquipment( PlayerSource(user), @@ -173,7 +173,7 @@ class PlayerControl(player: Player, avatarActor: typed.ActorRef[AvatarActor.Comm } if (player != user) { //"Someone is trying to heal you" - events ! AvatarServiceMessage(player.Name, guid, AvatarAction.PlanetsideAttributeToAll(55, 1)) + events ! AvatarServiceMessage(player.Name, PlanetsideAttribute(guid, 55, 1)) //progress bar remains visible for all heal attempts events ! AvatarServiceMessage( uname, @@ -219,7 +219,7 @@ class PlayerControl(player: Player, avatarActor: typed.ActorRef[AvatarActor.Comm uname, SendResponse(InventoryStateMessage(item.AmmoSlot.Box.GUID, item.GUID, magazine.toLong)) ) - events ! AvatarServiceMessage(zone.id, guid, AvatarAction.PlanetsideAttributeToAll(4, player.Armor)) + events ! AvatarServiceMessage(zone.id, PlanetsideAttribute(guid, 4, player.Armor)) player.LogActivity( RepairFromEquipment( PlayerSource(user), @@ -240,7 +240,7 @@ class PlayerControl(player: Player, avatarActor: typed.ActorRef[AvatarActor.Comm if (player != user) { if (player.isAlive) { //"Someone is trying to repair you" gets strobed twice for visibility - val msg = AvatarServiceMessage(player.Name, guid, AvatarAction.PlanetsideAttributeToAll(56, 1)) + val msg = AvatarServiceMessage(player.Name, PlanetsideAttribute(guid, 56, 1)) events ! msg import scala.concurrent.ExecutionContext.Implicits.global context.system.scheduler.scheduleOnce(250 milliseconds, events, msg) @@ -315,8 +315,7 @@ class PlayerControl(player: Player, avatarActor: typed.ActorRef[AvatarActor.Comm TaskWorkflow.execute(GUIDTask.unregisterEquipment(zone.GUID, kit)) zone.AvatarEvents ! AvatarServiceMessage( zone.id, - player.GUID, - AvatarAction.PlanetsideAttributeToAll(attribute, value) + PlanetsideAttribute(player.GUID, attribute, value) ) zone.AvatarEvents ! AvatarServiceMessage( player.Name, @@ -882,8 +881,7 @@ class PlayerControl(player: Player, avatarActor: typed.ActorRef[AvatarActor.Comm val zone = target.Zone zone.AvatarEvents ! AvatarServiceMessage( zone.id, - target.GUID, - AvatarAction.PlanetsideAttributeToAll(4, target.Armor) + PlanetsideAttribute(target.GUID, 4, target.Armor) ) } //choose @@ -939,7 +937,7 @@ class PlayerControl(player: Player, avatarActor: typed.ActorRef[AvatarActor.Comm target.LogActivity(cause) //stat changes if (damageToCapacitor > 0) { - events ! AvatarServiceMessage(target.Name, targetGUID, AvatarAction.PlanetsideAttributeSelf(7, target.Capacitor.toLong)) + events ! AvatarServiceMessage(target.Name, PlanetsideAttribute(targetGUID, 7, target.Capacitor.toLong)) announceConfrontation = true //TODO should we? } if (damageToStamina > 0) { @@ -947,7 +945,7 @@ class PlayerControl(player: Player, avatarActor: typed.ActorRef[AvatarActor.Comm announceConfrontation = true //TODO should we? } if (damageToHealth > 0) { - events ! AvatarServiceMessage(zoneId, targetGUID, AvatarAction.PlanetsideAttributeToAll(0, health)) + events ! AvatarServiceMessage(zoneId, PlanetsideAttribute(targetGUID, 0, health)) announceConfrontation = true } val countableDamage = damageToHealth + damageToArmor @@ -1055,10 +1053,10 @@ class PlayerControl(player: Player, avatarActor: typed.ActorRef[AvatarActor.Comm } events ! AvatarServiceMessage(nameChannel, player_guid, AvatarAction.Killed(cause, target.VehicleSeated)) //align client interface fields with state - events ! AvatarServiceMessage(zoneChannel, player_guid, AvatarAction.PlanetsideAttributeToAll(0, 0)) //health + events ! AvatarServiceMessage(zoneChannel, PlanetsideAttribute(player_guid, 0, 0)) //health if (target.Capacitor > 0) { target.Capacitor = 0 - events ! AvatarServiceMessage(nameChannel, player_guid, AvatarAction.PlanetsideAttributeToAll(7, 0)) // capacitor + events ! AvatarServiceMessage(nameChannel, PlanetsideAttribute(player_guid, 7, 0)) // capacitor } val attribute = DamageableEntity.attributionTo(cause, target.Zone, player_guid) events ! AvatarServiceMessage( @@ -1094,8 +1092,7 @@ class PlayerControl(player: Player, avatarActor: typed.ActorRef[AvatarActor.Comm case obj: Player if !jammedSound => obj.Zone.AvatarEvents ! AvatarServiceMessage( obj.Zone.id, - obj.GUID, - AvatarAction.PlanetsideAttributeToAll(27, 1) + PlanetsideAttribute(obj.GUID, 27, 1) ) super.StartJammeredSound(obj, 3000) case _ => () @@ -1131,8 +1128,7 @@ class PlayerControl(player: Player, avatarActor: typed.ActorRef[AvatarActor.Comm case obj: Player if jammedSound => obj.Zone.AvatarEvents ! AvatarServiceMessage( obj.Zone.id, - obj.GUID, - AvatarAction.PlanetsideAttributeToAll(27, 0) + PlanetsideAttribute(obj.GUID, 27, 0) ) super.CancelJammeredSound(obj) case _ => () @@ -1243,10 +1239,10 @@ class PlayerControl(player: Player, avatarActor: typed.ActorRef[AvatarActor.Comm } def UpdateAuraEffect(target: AuraEffectBehavior.Target) : Unit = { - import net.psforever.services.avatar.{AvatarAction, AvatarServiceMessage} + import net.psforever.services.avatar.AvatarServiceMessage val zone = target.Zone val value = target.Aura.foldLeft(0)(_ + PlayerControl.auraEffectToAttributeValue(_)) - zone.AvatarEvents ! AvatarServiceMessage(zone.id, target.GUID, AvatarAction.PlanetsideAttributeToAll(54, value)) + zone.AvatarEvents ! AvatarServiceMessage(zone.id, PlanetsideAttribute(target.GUID, 54, value)) } } diff --git a/src/main/scala/net/psforever/objects/serverobject/damage/DamageableAmenity.scala b/src/main/scala/net/psforever/objects/serverobject/damage/DamageableAmenity.scala index 3e936c25a..ee7329f58 100644 --- a/src/main/scala/net/psforever/objects/serverobject/damage/DamageableAmenity.scala +++ b/src/main/scala/net/psforever/objects/serverobject/damage/DamageableAmenity.scala @@ -3,7 +3,8 @@ package net.psforever.objects.serverobject.damage import net.psforever.objects.serverobject.structures.Amenity import net.psforever.objects.vital.interaction.DamageResult -import net.psforever.services.avatar.{AvatarAction, AvatarServiceMessage} +import net.psforever.services.avatar.AvatarServiceMessage +import net.psforever.services.base.messages.PlanetsideAttribute /** * The "control" `Actor` mixin for damage-handling code @@ -25,7 +26,7 @@ object DamageableAmenity { * A destroyed `Amenity` target dispatches two messages to chance its model and operational states. * The common manifestation is a sparking entity that will no longer report being accessible. * These `PlanetSideAttributeMessage` attributes are the same as reported during zone load client configuration. - * @see `AvatarAction.PlanetsideAttributeToAll` + * @see `PlanetsideAttribute` * @see `AvatarServiceMessage` * @see `Zone.AvatarEvents` * @param target the entity being destroyed @@ -36,7 +37,7 @@ object DamageableAmenity { val zoneId = zone.id val events = zone.AvatarEvents val targetGUID = target.GUID - events ! AvatarServiceMessage(zoneId, targetGUID, AvatarAction.PlanetsideAttributeToAll(50, 1)) - events ! AvatarServiceMessage(zoneId, targetGUID, AvatarAction.PlanetsideAttributeToAll(51, 1)) + events ! AvatarServiceMessage(zoneId, PlanetsideAttribute(targetGUID, 50, 1)) + events ! AvatarServiceMessage(zoneId, PlanetsideAttribute(targetGUID, 51, 1)) } } diff --git a/src/main/scala/net/psforever/objects/serverobject/damage/DamageableEntity.scala b/src/main/scala/net/psforever/objects/serverobject/damage/DamageableEntity.scala index 86777bf54..e7aad04fb 100644 --- a/src/main/scala/net/psforever/objects/serverobject/damage/DamageableEntity.scala +++ b/src/main/scala/net/psforever/objects/serverobject/damage/DamageableEntity.scala @@ -9,6 +9,7 @@ import net.psforever.objects.zones.Zone import net.psforever.types.PlanetSideGUID import net.psforever.services.Service import net.psforever.services.avatar.{AvatarAction, AvatarServiceMessage} +import net.psforever.services.base.messages.PlanetsideAttribute /** * The "control" `Actor` mixin for damage-handling code, @@ -140,7 +141,7 @@ object DamageableEntity { * - reports its adjusted its health; * - alert the activity monitor for that `Zone` about the damage; and, * - provide a feedback message regarding the damage. - * @see `AvatarAction.PlanetsideAttributeToAll` + * @see `PlanetsideAttribute` * @see `SendResponse` * @see `AvatarServiceMessage` * @see `DamageFeedbackMessage` @@ -167,8 +168,7 @@ object DamageableEntity { val zone = target.Zone zone.AvatarEvents ! AvatarServiceMessage( zone.id, - target.GUID, - AvatarAction.PlanetsideAttributeToAll(0, target.Health) + PlanetsideAttribute(target.GUID, 0, target.Health) ) true } @@ -200,7 +200,7 @@ object DamageableEntity { val zoneId = zone.id val tguid = target.GUID val attribution = attributionTo(cause, target.Zone) - zone.AvatarEvents ! AvatarServiceMessage(zoneId, tguid, AvatarAction.PlanetsideAttributeToAll(0, target.Health)) + zone.AvatarEvents ! AvatarServiceMessage(zoneId, PlanetsideAttribute(tguid, 0, target.Health)) if (target.isInstanceOf[SpawnTube]) {}//do nothing to prevent issue #1057 else { zone.AvatarEvents ! AvatarServiceMessage( diff --git a/src/main/scala/net/psforever/objects/serverobject/repair/RepairableAmenity.scala b/src/main/scala/net/psforever/objects/serverobject/repair/RepairableAmenity.scala index 038f894b1..5971778e3 100644 --- a/src/main/scala/net/psforever/objects/serverobject/repair/RepairableAmenity.scala +++ b/src/main/scala/net/psforever/objects/serverobject/repair/RepairableAmenity.scala @@ -5,7 +5,8 @@ import net.psforever.objects.Tool import net.psforever.objects.serverobject.structures.Amenity import net.psforever.objects.sourcing.{SourceEntry, SourceWithHealthEntry} import net.psforever.objects.vital.{DamagingActivity, RepairFromEquipment, SpawningActivity} -import net.psforever.services.avatar.{AvatarAction, AvatarServiceMessage} +import net.psforever.services.avatar.AvatarServiceMessage +import net.psforever.services.base.messages.PlanetsideAttribute /** * The "control" `Actor` mixin for repair-handling code @@ -27,7 +28,7 @@ object RepairableAmenity { /** * A restored `Amenity` target dispatches two messages to chance its model and operational states. * These `PlanetSideAttributeMessage` attributes are the same as reported during zone load client configuration. - * @see `AvatarAction.PlanetsideAttributeToAll` + * @see `PlanetsideAttribute` * @see `AvatarServiceMessage` * @see `Zone.AvatarEvents` * @param target the entity being destroyed @@ -37,8 +38,8 @@ object RepairableAmenity { val zoneId = zone.id val events = zone.AvatarEvents val targetGUID = target.GUID - events ! AvatarServiceMessage(zoneId, targetGUID, AvatarAction.PlanetsideAttributeToAll(50, 0)) - events ! AvatarServiceMessage(zoneId, targetGUID, AvatarAction.PlanetsideAttributeToAll(51, 0)) + events ! AvatarServiceMessage(zoneId, PlanetsideAttribute(targetGUID, 50, 0)) + events ! AvatarServiceMessage(zoneId, PlanetsideAttribute(targetGUID, 51, 0)) RestorationOfHistory(target) } diff --git a/src/main/scala/net/psforever/objects/serverobject/repair/RepairableEntity.scala b/src/main/scala/net/psforever/objects/serverobject/repair/RepairableEntity.scala index 642ee6774..0fe895f16 100644 --- a/src/main/scala/net/psforever/objects/serverobject/repair/RepairableEntity.scala +++ b/src/main/scala/net/psforever/objects/serverobject/repair/RepairableEntity.scala @@ -8,8 +8,8 @@ import net.psforever.objects.vital.RepairFromEquipment import net.psforever.objects.{Player, Tool} import net.psforever.packet.game.{ChatMsg, InventoryStateMessage, RepairMessage} import net.psforever.types.{ChatMessageType, PlanetSideEmpire, Vector3} -import net.psforever.services.avatar.{AvatarAction, AvatarServiceMessage} -import net.psforever.services.base.messages.SendResponse +import net.psforever.services.avatar.AvatarServiceMessage +import net.psforever.services.base.messages.{PlanetsideAttribute, SendResponse} /** * The "control" `Actor` mixin for repair-handling code, @@ -67,7 +67,7 @@ trait RepairableEntity extends Repairable { * Calculate the health points change and enact that repair action if the targets are stationary. * Restore the target entity to a not destroyed state if applicable. * Always show the repair progress bar window by using the appropriate packet. - * @see `AvatarAction.PlanetsideAttributeToAll` + * @see `PlanetsideAttribute` * @see `SendResponse` * @see `AvatarService` * @see `InventoryStateMessage` @@ -140,11 +140,11 @@ trait RepairableEntity extends Repairable { val newHealth = target.Health = target.Health + amount if (target.Destroyed) { if (newHealth >= target.Definition.RepairRestoresAt) { - events ! AvatarServiceMessage(zoneId, tguid, AvatarAction.PlanetsideAttributeToAll(0, newHealth)) + events ! AvatarServiceMessage(zoneId, PlanetsideAttribute(tguid, 0, newHealth)) Restoration(target) } } else { - events ! AvatarServiceMessage(zoneId, tguid, AvatarAction.PlanetsideAttributeToAll(0, newHealth)) + events ! AvatarServiceMessage(zoneId, PlanetsideAttribute(tguid, 0, newHealth)) } newHealth } diff --git a/src/main/scala/net/psforever/objects/serverobject/terminals/ProximityTerminalControl.scala b/src/main/scala/net/psforever/objects/serverobject/terminals/ProximityTerminalControl.scala index 6c6d40b35..9c9188c27 100644 --- a/src/main/scala/net/psforever/objects/serverobject/terminals/ProximityTerminalControl.scala +++ b/src/main/scala/net/psforever/objects/serverobject/terminals/ProximityTerminalControl.scala @@ -27,7 +27,7 @@ import net.psforever.objects.serverobject.structures.{Building, PoweredAmenityCo import net.psforever.objects.vital.{HealFromTerminal, RepairFromTerminal, Vitality} import net.psforever.objects.zones.ZoneAware import net.psforever.packet.game.InventoryStateMessage -import net.psforever.services.avatar.{AvatarAction, AvatarServiceMessage} +import net.psforever.services.avatar.AvatarServiceMessage import net.psforever.services.local.{LocalAction, LocalServiceMessage} import net.psforever.services.vehicle.VehicleServiceMessage @@ -354,8 +354,7 @@ object ProximityTerminalControl { target.MaxHealth = newMax zone.AvatarEvents ! AvatarServiceMessage( zone.id, - target.GUID, - AvatarAction.PlanetsideAttributeToAll(1, newMax) + PlanetsideAttribute(target.GUID, 1, newMax) ) } if (target.Health < newMax) { @@ -370,8 +369,7 @@ object ProximityTerminalControl { val zone = target.Zone zone.AvatarEvents ! AvatarServiceMessage( zone.id, - target.GUID, - AvatarAction.PlanetsideAttributeToAll(0, target.Health) + PlanetsideAttribute(target.GUID, 0, target.Health) ) } @@ -410,8 +408,7 @@ object ProximityTerminalControl { val zone = target.Zone zone.AvatarEvents ! AvatarServiceMessage( zone.id, - target.GUID, - AvatarAction.PlanetsideAttributeToAll(4, target.Armor) + PlanetsideAttribute(target.GUID, 4, target.Armor) ) target.Armor == maxArmor } else { diff --git a/src/main/scala/net/psforever/objects/serverobject/turret/TurretControl.scala b/src/main/scala/net/psforever/objects/serverobject/turret/TurretControl.scala index 5b38b2254..150b1513e 100644 --- a/src/main/scala/net/psforever/objects/serverobject/turret/TurretControl.scala +++ b/src/main/scala/net/psforever/objects/serverobject/turret/TurretControl.scala @@ -8,7 +8,8 @@ import net.psforever.objects.serverobject.affinity.FactionAffinityBehavior import net.psforever.objects.serverobject.damage.{Damageable, DamageableWeaponTurret} import net.psforever.objects.serverobject.repair.RepairableWeaponTurret import net.psforever.objects.vital.interaction.DamageResult -import net.psforever.services.avatar.{AvatarAction, AvatarServiceMessage} +import net.psforever.services.avatar.AvatarServiceMessage +import net.psforever.services.base.messages.PlanetsideAttribute trait TurretControl extends Actor @@ -39,8 +40,8 @@ trait TurretControl val zoneId = zone.id val events = zone.AvatarEvents val tguid = TurretObject.GUID - events ! AvatarServiceMessage(zoneId, tguid, AvatarAction.PlanetsideAttributeToAll(50, 0)) - events ! AvatarServiceMessage(zoneId, tguid, AvatarAction.PlanetsideAttributeToAll(51, 0)) + events ! AvatarServiceMessage(zoneId, PlanetsideAttribute(tguid, 50, 0)) + events ! AvatarServiceMessage(zoneId, PlanetsideAttribute(tguid, 51, 0)) } /** @@ -56,7 +57,7 @@ trait TurretControl val tguid = target.GUID CancelJammeredSound(target) CancelJammeredStatus(target) - events ! AvatarServiceMessage(zoneId, tguid, AvatarAction.PlanetsideAttributeToAll(50, 1)) - events ! AvatarServiceMessage(zoneId, tguid, AvatarAction.PlanetsideAttributeToAll(51, 1)) + events ! AvatarServiceMessage(zoneId, PlanetsideAttribute(tguid, 50, 1)) + events ! AvatarServiceMessage(zoneId, PlanetsideAttribute(tguid, 51, 1)) } } diff --git a/src/main/scala/net/psforever/services/avatar/AvatarAction.scala b/src/main/scala/net/psforever/services/avatar/AvatarAction.scala index 928f23e93..8be69ed6f 100644 --- a/src/main/scala/net/psforever/services/avatar/AvatarAction.scala +++ b/src/main/scala/net/psforever/services/avatar/AvatarAction.scala @@ -101,10 +101,6 @@ object AvatarAction { final case class OxygenState(player: OxygenStateTarget, vehicle: Option[OxygenStateTarget]) extends SelfRespondingEvent - final case class PlanetsideAttributeToAll(attribute_type: Int, attribute_value: Long) extends SelfRespondingEvent - - final case class PlanetsideAttributeSelf(attribute_type: Int, attribute_value: Long) extends SelfRespondingEvent - final case class PlanetsideStringAttribute(attribute_type: Int, attribute_value: String) extends SelfRespondingEvent final case class PlayerState( diff --git a/src/main/scala/net/psforever/services/avatar/AvatarServiceMessage.scala b/src/main/scala/net/psforever/services/avatar/AvatarServiceMessage.scala index 529b286bc..951fd07c8 100644 --- a/src/main/scala/net/psforever/services/avatar/AvatarServiceMessage.scala +++ b/src/main/scala/net/psforever/services/avatar/AvatarServiceMessage.scala @@ -4,15 +4,15 @@ package net.psforever.services.avatar import net.psforever.objects.zones.Zone import net.psforever.services.{RemoverActor, Service} import net.psforever.services.avatar.AvatarAction.{DropItem, PickupItem, Release} -import net.psforever.services.base.{EventMessage, GenericMessageEnvelope, GenericMessageToSupportEnvelope, GenericMessageToSupportEnvelopeOnly} +import net.psforever.services.base.{EventMessage, GenericMessageToSupportEnvelope, GenericMessageToSupportEnvelopeOnly, MessageEnvelope} import net.psforever.types.PlanetSideGUID -final case class AvatarServiceMessage(channel: String, filter: PlanetSideGUID, msg: EventMessage) - extends GenericMessageEnvelope - object AvatarServiceMessage { - def apply(channel: String, actionMessage: EventMessage): AvatarServiceMessage = - AvatarServiceMessage(channel, Service.defaultPlayerGUID, actionMessage) + def apply(channel: String, msg: EventMessage): MessageEnvelope = + MessageEnvelope(channel, Service.defaultPlayerGUID, msg) + + def apply(channel: String, filter: PlanetSideGUID, msg: EventMessage): MessageEnvelope = + MessageEnvelope(channel, filter, msg) } final case class ReleaseMessage( diff --git a/src/main/scala/net/psforever/services/base/MessageEnvelope.scala b/src/main/scala/net/psforever/services/base/MessageEnvelope.scala new file mode 100644 index 000000000..faad6d0d1 --- /dev/null +++ b/src/main/scala/net/psforever/services/base/MessageEnvelope.scala @@ -0,0 +1,7 @@ +// Copyright (c) 2026 PSForever +package net.psforever.services.base + +import net.psforever.types.PlanetSideGUID + +case class MessageEnvelope(channel: String, filter: PlanetSideGUID, msg: EventMessage) + extends GenericMessageEnvelope diff --git a/src/main/scala/net/psforever/services/galaxy/GalaxyServiceMessage.scala b/src/main/scala/net/psforever/services/galaxy/GalaxyServiceMessage.scala index 6b3af1685..410053f8a 100644 --- a/src/main/scala/net/psforever/services/galaxy/GalaxyServiceMessage.scala +++ b/src/main/scala/net/psforever/services/galaxy/GalaxyServiceMessage.scala @@ -2,14 +2,10 @@ package net.psforever.services.galaxy import net.psforever.services.Service -import net.psforever.services.base.{EventMessage, GenericMessageEnvelope} -import net.psforever.types.PlanetSideGUID - -final case class GalaxyServiceMessage(channel: String, msg: EventMessage) - extends GenericMessageEnvelope { - def filter: PlanetSideGUID = Service.defaultPlayerGUID -} +import net.psforever.services.base.{EventMessage, MessageEnvelope} object GalaxyServiceMessage { - def apply(actionMessage: EventMessage): GalaxyServiceMessage = GalaxyServiceMessage("", actionMessage) + def apply(msg: EventMessage): MessageEnvelope = MessageEnvelope("", Service.defaultPlayerGUID, msg) + + def apply(channel: String, msg: EventMessage): MessageEnvelope = MessageEnvelope(channel, Service.defaultPlayerGUID, msg) } diff --git a/src/main/scala/net/psforever/services/local/LocalServiceMessage.scala b/src/main/scala/net/psforever/services/local/LocalServiceMessage.scala index 469d1cc5e..5bdaa5b93 100644 --- a/src/main/scala/net/psforever/services/local/LocalServiceMessage.scala +++ b/src/main/scala/net/psforever/services/local/LocalServiceMessage.scala @@ -2,17 +2,17 @@ package net.psforever.services.local import net.psforever.services.Service -import net.psforever.services.base.{EventMessage, GenericMessageEnvelope, GenericMessageToSupportEnvelope, GenericMessageToSupportEnvelopeOnly} +import net.psforever.services.base.{EventMessage, GenericMessageToSupportEnvelope, GenericMessageToSupportEnvelopeOnly, MessageEnvelope} import net.psforever.services.local.LocalAction.{IsADoorMessage, IsAHackMessage} import net.psforever.services.local.support.CaptureFlagManager import net.psforever.types.PlanetSideGUID -final case class LocalServiceMessage(channel: String, filter: PlanetSideGUID, msg: EventMessage) - extends GenericMessageEnvelope - object LocalServiceMessage { - def apply(channel: String, localMessage: EventMessage): LocalServiceMessage = - LocalServiceMessage(channel, Service.defaultPlayerGUID, localMessage) + def apply(channel: String, localMessage: EventMessage): MessageEnvelope = + MessageEnvelope(channel, Service.defaultPlayerGUID, localMessage) + + def apply(channel: String, filter: PlanetSideGUID, msg: EventMessage): MessageEnvelope = + MessageEnvelope(channel, filter, msg) } final case class DoorMessage( diff --git a/src/main/scala/net/psforever/services/vehicle/VehicleServiceMessage.scala b/src/main/scala/net/psforever/services/vehicle/VehicleServiceMessage.scala index 1eb35fd26..af13af6cd 100644 --- a/src/main/scala/net/psforever/services/vehicle/VehicleServiceMessage.scala +++ b/src/main/scala/net/psforever/services/vehicle/VehicleServiceMessage.scala @@ -2,18 +2,18 @@ package net.psforever.services.vehicle import net.psforever.services.Service -import net.psforever.services.base.{EventMessage, GenericMessageEnvelope, GenericMessageToSupportEnvelopeOnly} +import net.psforever.services.base.{EventMessage, GenericMessageToSupportEnvelopeOnly, MessageEnvelope} import net.psforever.types.PlanetSideGUID -final case class VehicleServiceMessage(channel: String, filter: PlanetSideGUID, msg: EventMessage) - extends GenericMessageEnvelope +object VehicleServiceMessage { + def apply(channel: String, localMessage: EventMessage): MessageEnvelope = + MessageEnvelope(channel, Service.defaultPlayerGUID, localMessage) + + def apply(channel: String, filter: PlanetSideGUID, msg: EventMessage): MessageEnvelope = + MessageEnvelope(channel, filter, msg) +} final case class TurretMessage(supportMessage: Any) extends GenericMessageToSupportEnvelopeOnly { def supportLabel: String = "turretUpgrader" } - -object VehicleServiceMessage { - def apply(channel: String, actionMessage: EventMessage): VehicleServiceMessage = - VehicleServiceMessage(channel, Service.defaultPlayerGUID, actionMessage) -} diff --git a/src/test/scala/objects/DamageableTest.scala b/src/test/scala/objects/DamageableTest.scala index d3ac0235d..3d3538116 100644 --- a/src/test/scala/objects/DamageableTest.scala +++ b/src/test/scala/objects/DamageableTest.scala @@ -22,10 +22,9 @@ import net.psforever.objects.vital.{SpawningActivity, Vitality} import net.psforever.objects.zones.{Zone, ZoneMap} import net.psforever.packet.game.DamageWithPositionMessage import net.psforever.types._ -import net.psforever.services.Service -import net.psforever.services.avatar.{AvatarAction, AvatarServiceMessage} +import net.psforever.services.avatar.AvatarAction import net.psforever.services.base.support.SupportActor -import net.psforever.services.vehicle.{TurretMessage, VehicleAction, VehicleServiceMessage} +import net.psforever.services.vehicle.TurretMessage import org.specs2.mutable.Specification import scala.concurrent.duration._ @@ -37,7 +36,9 @@ import net.psforever.objects.vital.interaction.DamageInteraction import net.psforever.objects.vital.base.DamageResolution import net.psforever.objects.vital.projectile.ProjectileReason import net.psforever.objects.vital.resolution.ResolutionCalculations.Output +import net.psforever.services.base.MessageEnvelope import net.psforever.services.base.messages.{ObjectDelete, PlanetsideAttribute, SendResponse} +import net.psforever.services.vehicle.support.TurretUpgrader class DamageableTest extends Specification { val player1: Player = Player(Avatar(0, "TestCharacter1", PlanetSideEmpire.TR, CharacterSex.Male, 0, CharacterVoice.Mute)) @@ -328,7 +329,7 @@ class DamageableEntityDamageTest extends ActorTest { val msg1 = avatarProbe.receiveOne(5000 milliseconds) val msg2 = activityProbe.receiveOne(5000 milliseconds) msg1 match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(ValidPlanetSideGUID(2), 0, 3600)) => () + case MessageEnvelope("test", _, PlanetsideAttribute(ValidPlanetSideGUID(2), 0, 3600)) => () case _ => assert(false, "DamageableEntity:handle taking damage - player not messaged") } msg2 match { @@ -402,13 +403,13 @@ class DamageableEntityDestroyedTest extends ActorTest { val msg1_2 = avatarProbe.receiveN(2, 500 milliseconds) assert( msg1_2.head match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 0, _)) => true + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(2), 0, _)) => true case _ => false } ) assert( msg1_2(1) match { - case AvatarServiceMessage("test", AvatarAction.Destroy(PlanetSideGUID(2), _, _, Vector3(1, 0, 0))) => true + case MessageEnvelope("test", _, AvatarAction.Destroy(PlanetSideGUID(2), _, _, Vector3(1, 0, 0))) => true case _ => false } ) @@ -553,19 +554,19 @@ class DamageableAmenityTest extends ActorTest { term.Actor ! Vitality.Damage(applyDamageTo) val msg1234 = avatarProbe.receiveN(4, 3000 milliseconds) msg1234.head match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 0, _)) => () + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(2), 0, _)) => () case _ => assert(false) } msg1234(1) match { - case AvatarServiceMessage("test", AvatarAction.Destroy(PlanetSideGUID(2), _, _, Vector3(1, 0, 0))) => () + case MessageEnvelope("test", _, AvatarAction.Destroy(PlanetSideGUID(2), _, _, Vector3(1, 0, 0))) => () case _ => assert(false) } msg1234(2) match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 50, 1)) => () + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(2), 50, 1)) => () case _ => assert(false) } msg1234(3) match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 51, 1)) => () + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(2), 51, 1)) => () case _ => assert(false) } assert(term.Health <= term.Definition.DamageDestroysAt) @@ -641,7 +642,7 @@ class DamageableMountableDamageTest extends ActorTest { val msg2 = activityProbe.receiveOne(5000 milliseconds) assert( msg1_3.head match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 0, _)) => true + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(2), 0, _)) => true case _ => false } ) @@ -656,7 +657,7 @@ class DamageableMountableDamageTest extends ActorTest { ) assert( msg1_3(1) match { - case AvatarServiceMessage( + case MessageEnvelope( "TestCharacter2", _, SendResponse(Seq(DamageWithPositionMessage(_, Vector3(2, 2, 2)))) @@ -745,11 +746,11 @@ class DamageableMountableDestroyTest extends ActorTest { val msg3 = player2Probe.receiveOne(200 milliseconds) msg12.head match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 0, _)) => () + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(2), 0, _)) => () case _ => assert(false) } msg12(1) match { - case AvatarServiceMessage("test", AvatarAction.Destroy(PlanetSideGUID(2), _, _, Vector3(1, 0, 0))) => () + case MessageEnvelope("test", _, AvatarAction.Destroy(PlanetSideGUID(2), _, _, Vector3(1, 0, 0))) => () case _ => assert(false) } msg3 match { @@ -832,7 +833,7 @@ class DamageableWeaponTurretDamageTest extends ActorTest { val msg4 = avatarProbe.receiveOne(500 milliseconds) assert( msg12 match { - case VehicleServiceMessage("test", _, PlanetsideAttribute(PlanetSideGUID(2), 0, _)) => true + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(2), 0, _)) => true case _ => false } ) @@ -847,7 +848,7 @@ class DamageableWeaponTurretDamageTest extends ActorTest { ) assert( msg4 match { - case AvatarServiceMessage( + case MessageEnvelope( "TestCharacter2", _, SendResponse(Seq(DamageWithPositionMessage(_, Vector3(2, 2, 2)))) @@ -933,7 +934,7 @@ class DamageableWeaponTurretJammerTest extends ActorTest { val msg12 = vehicleProbe.receiveN(2, 500 milliseconds) assert( msg12.head match { - case VehicleServiceMessage( + case MessageEnvelope( "test", _, PlanetsideAttribute(PlanetSideGUID(2), 27, 1) @@ -944,7 +945,7 @@ class DamageableWeaponTurretJammerTest extends ActorTest { ) assert( msg12(1) match { - case VehicleServiceMessage( + case MessageEnvelope( "test", _, PlanetsideAttribute(PlanetSideGUID(5), 27, 1) @@ -1074,12 +1075,12 @@ class DamageableWeaponTurretDestructionTest extends ActorTest { val msg3 = player2Probe.receiveOne(200 milliseconds) val msg56 = vehicleProbe.receiveN(2, 200 milliseconds) msg12_4.head match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 0, _)) => ; + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(2), 0, _)) => ; case _ => assert(false, s"DamageableWeaponTurretDestructionTest-1: ${msg12_4.head}") } msg12_4(1) match { - case AvatarServiceMessage("test", AvatarAction.Destroy(PlanetSideGUID(2), _, _, Vector3(1, 0, 0))) => ; + case MessageEnvelope("test", _, AvatarAction.Destroy(PlanetSideGUID(2), _, _, Vector3(1, 0, 0))) => ; case _ => assert(false, s"DamageableWeaponTurretDestructionTest-2: ${msg12_4(1)}") } @@ -1089,7 +1090,7 @@ class DamageableWeaponTurretDestructionTest extends ActorTest { assert(false, s"DamageableWeaponTurretDestructionTest-3: player not dead - $msg3") } msg12_4(2) match { - case AvatarServiceMessage("test", _, ObjectDelete(PlanetSideGUID(5), _)) => ; + case MessageEnvelope("test", _, ObjectDelete(PlanetSideGUID(5), _)) => ; case _ => assert(false, s"DamageableWeaponTurretDestructionTest-4: ${msg12_4(2)}") } @@ -1184,13 +1185,13 @@ class DamageableVehicleDamageTest extends ActorTest { val msg4 = avatarProbe.receiveOne(200 milliseconds) assert( msg12.head match { - case VehicleServiceMessage(_, _, PlanetsideAttribute(PlanetSideGUID(1), 68, _)) => true + case MessageEnvelope(_, _, PlanetsideAttribute(PlanetSideGUID(1), 68, _)) => true case _ => false } ) assert( msg12(1) match { - case VehicleServiceMessage("test", _, PlanetsideAttribute(PlanetSideGUID(1), 0, _)) => true + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(1), 0, _)) => true case _ => false } ) @@ -1205,7 +1206,7 @@ class DamageableVehicleDamageTest extends ActorTest { ) assert( msg4 match { - case AvatarServiceMessage( + case MessageEnvelope( "TestCharacter2", _, SendResponse(Seq(DamageWithPositionMessage(9, Vector3(2, 0, 0)))) @@ -1321,11 +1322,11 @@ class DamageableVehicleDamageMountedTest extends FreedContextActorTest { val msg3 = activityProbe.receiveOne(500 milliseconds) val msg45 = avatarProbe.receiveN(2,500 milliseconds) msg12.head match { - case VehicleServiceMessage(_, _, PlanetsideAttribute(PlanetSideGUID(1), 68, _)) => ; + case MessageEnvelope(_, _, PlanetsideAttribute(PlanetSideGUID(1), 68, _)) => ; case _ => assert(false) } msg12(1) match { - case VehicleServiceMessage("test", _, PlanetsideAttribute(PlanetSideGUID(1), 0, _)) => ; + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(1), 0, _)) => ; case _ => assert(false) } msg3 match { @@ -1336,7 +1337,7 @@ class DamageableVehicleDamageMountedTest extends FreedContextActorTest { case _ => assert(false) } msg45.head match { - case AvatarServiceMessage( + case MessageEnvelope( "TestCharacter2", _, SendResponse(Seq(DamageWithPositionMessage(400, Vector3(2, 0, 0)))) @@ -1344,7 +1345,7 @@ class DamageableVehicleDamageMountedTest extends FreedContextActorTest { case _ => assert(false) } msg45(1) match { - case AvatarServiceMessage( + case MessageEnvelope( "TestCharacter3", _, SendResponse(Seq(DamageWithPositionMessage(0, Vector3(2, 0, 0)))) @@ -1458,7 +1459,7 @@ class DamageableVehicleJammeringMountedTest extends FreedContextActorTest { player3Probe.expectNoMessage(200 milliseconds) assert( msg12 match { - case VehicleServiceMessage( + case MessageEnvelope( "test", _, PlanetsideAttribute(PlanetSideGUID(4), 27, 1) @@ -1553,11 +1554,11 @@ class DamageableVehicleDestroyTest extends ActorTest { val msg124 = avatarProbe.receiveN(2, 3000 milliseconds) val msg3 = player2Probe.receiveOne(3000 milliseconds) msg124.head match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(1), 0, _)) => () + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(1), 0, _)) => () case _ => assert(false) } msg124(1) match { - case AvatarServiceMessage("test", AvatarAction.Destroy(PlanetSideGUID(1), _, _, Vector3(1, 0, 0))) => () + case MessageEnvelope("test", _, AvatarAction.Destroy(PlanetSideGUID(1), _, _, Vector3(1, 0, 0))) => () case _ => assert(false) } msg3 match { @@ -1718,31 +1719,31 @@ class DamageableVehicleDestroyTest extends ActorTest { // vehicleProbe.expectNoMessage(10 milliseconds) // assert( // msg_avatar.exists({ -// case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(4), 0, _)) => true +// case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(4), 0, _)) => true // case _ => false // }) // ) // assert( // msg_avatar.exists({ -// case AvatarServiceMessage("test", AvatarAction.Destroy(PlanetSideGUID(4), _, _, Vector3(1, 0, 0))) => true +// case MessageEnvelope("test", _, AvatarAction.Destroy(PlanetSideGUID(4), _, _, Vector3(1, 0, 0))) => true // case _ => false // }) // ) // assert( // msg_avatar.exists({ -// case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(1), 0, _)) => true +// case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(1), 0, _)) => true // case _ => false // }) // ) // assert( // msg_avatar.exists({ -// case AvatarServiceMessage("test", AvatarAction.Destroy(PlanetSideGUID(1), _, _, Vector3(1, 0, 0))) => true +// case MessageEnvelope("test", _, AvatarAction.Destroy(PlanetSideGUID(1), _, _, Vector3(1, 0, 0))) => true // case _ => false // }) // ) // assert( // msg_avatar.exists({ -// case AvatarServiceMessage("test", ObjectDelete(PlanetSideGUID(0), PlanetSideGUID(2), _)) => true +// case MessageEnvelope("test", _, ObjectDelete(PlanetSideGUID(0), PlanetSideGUID(2), _)) => true // case _ => false // }) // ) @@ -1760,7 +1761,7 @@ class DamageableVehicleDestroyTest extends ActorTest { // ) // assert( // msg_vehicle.exists({ -// case VehicleServiceMessage( +// case MessageEnvelope( // "test", // _, // PlanetsideAttribute(PlanetSideGUID(4), 27, 0) @@ -1771,7 +1772,7 @@ class DamageableVehicleDestroyTest extends ActorTest { // ) // assert( // msg_vehicle.exists({ -// case VehicleServiceMessage( +// case MessageEnvelope( // "test", // _, // PlanetsideAttribute(PlanetSideGUID(1), 68, 0) diff --git a/src/test/scala/objects/DeployableBehaviorTest.scala b/src/test/scala/objects/DeployableBehaviorTest.scala index dab1aafcf..8defcd389 100644 --- a/src/test/scala/objects/DeployableBehaviorTest.scala +++ b/src/test/scala/objects/DeployableBehaviorTest.scala @@ -13,10 +13,9 @@ import net.psforever.objects.guid.NumberPoolHub import net.psforever.objects.guid.source.MaxNumberSource import net.psforever.objects.zones.{Zone, ZoneDeployableActor, ZoneMap} import net.psforever.packet.game._ -import net.psforever.services.Service -import net.psforever.services.avatar.{AvatarAction, AvatarServiceMessage} +import net.psforever.services.base.MessageEnvelope import net.psforever.services.base.messages.{ObjectDelete, SendResponse} -import net.psforever.services.local.{LocalAction, LocalServiceMessage} +import net.psforever.services.local.LocalAction import net.psforever.types._ import scala.collection.mutable @@ -51,13 +50,13 @@ class DeployableBehaviorSetupTest extends ActorTest { val eventsMsgs = eventsProbe.receiveN(2, 10.seconds) eventsMsgs.head match { - case LocalServiceMessage("test", _, LocalAction.DeployItem(obj)) => + case MessageEnvelope("test", _, LocalAction.DeployItem(obj)) => assert(obj eq jmine, "self-setup test - not same mine") case _ => assert( false, "self-setup test - wrong deploy message") } eventsMsgs(1) match { - case LocalServiceMessage("TR", _, + case MessageEnvelope("TR", _, LocalAction.DeployableMapIcon( DeploymentAction.Build, DeployableInfo(PlanetSideGUID(1), DeployableIcon.DisruptorMine, Vector3(1,2,3), PlanetSideGUID(0)) @@ -159,7 +158,7 @@ class DeployableBehaviorSetupOwnedP2Test extends FreedContextActorTest { //assert(false, "test needs to be fixed") val eventsMsgs = eventsProbe.receiveN(7, 10.seconds) eventsMsgs.head match { - case AvatarServiceMessage( + case MessageEnvelope( "TestCharacter1", _, SendResponse(Seq(ObjectDeployedMessage(0, "jammer_mine", DeployOutcome.Success, 1, 20))) @@ -168,11 +167,11 @@ class DeployableBehaviorSetupOwnedP2Test extends FreedContextActorTest { assert(false, "owned setup test, 2 - did not receive build confirmation") } eventsMsgs(1) match { - case LocalServiceMessage("TestCharacter1", _, LocalAction.DeployableUIFor(DeployedItem.jammer_mine)) => ; + case MessageEnvelope("TestCharacter1", _, LocalAction.DeployableUIFor(DeployedItem.jammer_mine)) => ; case _ => assert(false, "owned setup test, 2 - did not receive ui update") } eventsMsgs(2) match { - case LocalServiceMessage( + case MessageEnvelope( "test", PlanetSideGUID(3), LocalAction.TriggerEffectLocation("spawn_object_effect", Vector3(1,2,3), Vector3(4,5,6)) @@ -180,14 +179,14 @@ class DeployableBehaviorSetupOwnedP2Test extends FreedContextActorTest { case _ => assert(false, "owned setup test, 2 - no spawn fx") } eventsMsgs(3) match { - case LocalServiceMessage("test", _, LocalAction.DeployItem(obj)) => + case MessageEnvelope("test", _, LocalAction.DeployItem(obj)) => assert(obj eq jmine, "owned setup test, 2 - not same mine") case _ => assert( false, "owned setup test, 2 - wrong deploy message") } //the message order can be jumbled from here-on eventsMsgs(4) match { - case LocalServiceMessage("TR", _, + case MessageEnvelope("TR", _, LocalAction.DeployableMapIcon( DeploymentAction.Build, DeployableInfo(PlanetSideGUID(1), DeployableIcon.DisruptorMine, Vector3(1,2,3), PlanetSideGUID(3)) @@ -197,7 +196,7 @@ class DeployableBehaviorSetupOwnedP2Test extends FreedContextActorTest { assert(false, "owned setup test, 2 - no icon or wrong icon") } eventsMsgs(5) match { - case AvatarServiceMessage( + case MessageEnvelope( "TestCharacter1", _, SendResponse(Seq(GenericObjectActionMessage(PlanetSideGUID(1), 21))) @@ -206,7 +205,7 @@ class DeployableBehaviorSetupOwnedP2Test extends FreedContextActorTest { assert(false, "owned setup test, 2 - build action not reset (GOAM21)") } eventsMsgs(6) match { - case AvatarServiceMessage("test", _, ObjectDelete(PlanetSideGUID(2), 0)) => ; + case MessageEnvelope("test", _, ObjectDelete(PlanetSideGUID(2), 0)) => ; case _ => assert(false, "owned setup test, 2 - construction tool not deleted") } @@ -247,11 +246,11 @@ class DeployableBehaviorDeconstructTest extends ActorTest { jmine.Actor ! Deployable.Deconstruct() val eventsMsgs = eventsProbe.receiveN(2, 10.seconds) eventsMsgs.head match { - case LocalServiceMessage("test", _, LocalAction.EliminateDeployable(_, PlanetSideGUID(1), Vector3(1,2,3), 2)) => ; + case MessageEnvelope("test", _, LocalAction.EliminateDeployable(_, PlanetSideGUID(1), Vector3(1,2,3), 2)) => ; case _ => assert(false, "deconstruct test - not eliminating deployable") } eventsMsgs(1) match { - case LocalServiceMessage( + case MessageEnvelope( "TR", _, LocalAction.DeployableMapIcon( DeploymentAction.Dismiss, @@ -309,12 +308,12 @@ class DeployableBehaviorDeconstructOwnedTest extends FreedContextActorTest { jmine.Actor ! Deployable.Deconstruct() val eventsMsgs = eventsProbe.receiveN(3, 10.seconds) eventsMsgs.head match { - case LocalServiceMessage("test", _, LocalAction.EliminateDeployable(mine, ValidPlanetSideGUID(1), Vector3(1.0,2.0,3.0),2)) + case MessageEnvelope("test", _, LocalAction.EliminateDeployable(mine, ValidPlanetSideGUID(1), Vector3(1.0,2.0,3.0),2)) if mine eq jmine => ; case _ => assert(false, "owned deconstruct test - not eliminating deployable") } eventsMsgs(1) match { - case LocalServiceMessage( + case MessageEnvelope( "TR", _, LocalAction.DeployableMapIcon( DeploymentAction.Dismiss, @@ -324,7 +323,7 @@ class DeployableBehaviorDeconstructOwnedTest extends FreedContextActorTest { case _ => assert(false, "owned deconstruct test - not removing icon") } eventsMsgs(2) match { - case LocalServiceMessage("TestCharacter1", _, LocalAction.DeployableUIFor(DeployedItem.jammer_mine)) => ; + case MessageEnvelope("TestCharacter1", _, LocalAction.DeployableUIFor(DeployedItem.jammer_mine)) => ; case _ => assert(false, "") } diff --git a/src/test/scala/objects/DeployableTest.scala b/src/test/scala/objects/DeployableTest.scala index c728f9f1e..033d1f2f5 100644 --- a/src/test/scala/objects/DeployableTest.scala +++ b/src/test/scala/objects/DeployableTest.scala @@ -17,14 +17,15 @@ import net.psforever.packet.game.{DeployableIcon, DeployableInfo, DeploymentActi import net.psforever.types._ import org.specs2.mutable.Specification import net.psforever.services.Service -import net.psforever.services.avatar.{AvatarAction, AvatarServiceMessage} -import net.psforever.services.local.{LocalAction, LocalServiceMessage} +import net.psforever.services.avatar.AvatarAction +import net.psforever.services.local.LocalAction import net.psforever.objects.avatar.Avatar import net.psforever.objects.vital.base.DamageResolution import net.psforever.objects.vital.interaction.DamageInteraction import net.psforever.objects.vital.projectile.ProjectileReason import akka.actor.typed.scaladsl.adapter._ import net.psforever.objects.sourcing.{PlayerSource, SourceEntry} +import net.psforever.services.base.MessageEnvelope import scala.collection.mutable import scala.concurrent.duration._ @@ -370,8 +371,9 @@ class ExplosiveDeployableJammerTest extends ActorTest { case _ => assert(false, "") } // eventMsgs.head match { -// case LocalServiceMessage( +// case MessageEnvelope( // "NC", +// _, // LocalAction.DeployableMapIcon( // ValidPlanetSideGUID(0), // DeploymentAction.Dismiss, @@ -381,12 +383,13 @@ class ExplosiveDeployableJammerTest extends ActorTest { // case _ => assert(false, "") // } eventMsgs(1) match { - case LocalServiceMessage("test", _, LocalAction.Detonate(PlanetSideGUID(1), _)) => ; + case MessageEnvelope("test", _, LocalAction.Detonate(PlanetSideGUID(1), _)) => ; case _ => assert(false, "") } eventMsgs(2) match { - case LocalServiceMessage( - "NC", _, + case MessageEnvelope( + "NC", + _, LocalAction.DeployableMapIcon( DeploymentAction.Dismiss, DeployableInfo(ValidPlanetSideGUID(1), DeployableIcon.HEMine, Vector3.Zero, ValidPlanetSideGUID(0)) @@ -395,7 +398,7 @@ class ExplosiveDeployableJammerTest extends ActorTest { case _ => assert(false, "") } eventMsgs(3) match { - case AvatarServiceMessage( + case MessageEnvelope( "test", _, AvatarAction.Destroy( @@ -484,13 +487,14 @@ class ExplosiveDeployableJammerExplodeTest extends ActorTest { case _ => assert(false, "") } eventMsgs(1) match { - case LocalServiceMessage("test", _, LocalAction.Detonate(PlanetSideGUID(2), target)) + case MessageEnvelope("test", _, LocalAction.Detonate(PlanetSideGUID(2), target)) if target eq h_mine => () case _ => assert(false, "") } eventMsgs(2) match { - case LocalServiceMessage( - "NC", _, + case MessageEnvelope( + "NC", + _, LocalAction.DeployableMapIcon( DeploymentAction.Dismiss, DeployableInfo(PlanetSideGUID(2), DeployableIcon.HEMine, _, PlanetSideGUID(0)) @@ -576,8 +580,9 @@ class ExplosiveDeployableDestructionTest extends ActorTest { player1Probe.expectNoMessage(200 milliseconds) val p2Msgs = player2Probe.receiveN(1, 200 milliseconds) eventMsgs.head match { - case LocalServiceMessage( - "NC", _, + case MessageEnvelope( + "NC", + _, LocalAction.DeployableMapIcon( DeploymentAction.Dismiss, DeployableInfo(PlanetSideGUID(2), DeployableIcon.HEMine, _, PlanetSideGUID(0)) @@ -586,14 +591,14 @@ class ExplosiveDeployableDestructionTest extends ActorTest { case _ => assert(false, "") } eventMsgs(1) match { - case AvatarServiceMessage( + case MessageEnvelope( "test", _, AvatarAction.Destroy(PlanetSideGUID(2), PlanetSideGUID(3), Service.defaultPlayerGUID, Vector3.Zero) ) => ; case _ => assert(false, "") } eventMsgs(2) match { - case LocalServiceMessage("test", _, LocalAction.TriggerEffect("detonate_damaged_mine", PlanetSideGUID(2))) => ; + case MessageEnvelope("test", _, LocalAction.TriggerEffect("detonate_damaged_mine", PlanetSideGUID(2))) => ; case _ => assert(false, "") } p2Msgs.head match { diff --git a/src/test/scala/objects/DeploymentTest.scala b/src/test/scala/objects/DeploymentTest.scala index d723f0720..62dc12583 100644 --- a/src/test/scala/objects/DeploymentTest.scala +++ b/src/test/scala/objects/DeploymentTest.scala @@ -8,9 +8,10 @@ import net.psforever.objects.serverobject.PlanetSideServerObject import net.psforever.objects.{GlobalDefinitions, Vehicle} import net.psforever.objects.serverobject.deploy.{Deployment, DeploymentBehavior} import net.psforever.objects.zones.{Zone, ZoneMap} +import net.psforever.services.base.MessageEnvelope import net.psforever.types.{DriveState, PlanetSideEmpire, PlanetSideGUID, Vector3} import org.specs2.mutable.Specification -import net.psforever.services.vehicle.{VehicleAction, VehicleServiceMessage} +import net.psforever.services.vehicle.VehicleAction import scala.concurrent.duration.Duration @@ -72,7 +73,7 @@ class DeploymentBehavior2Test extends ActorTest { case _ => assert(false, "") } reply2.head match { - case VehicleServiceMessage( + case MessageEnvelope( "test", _, VehicleAction.DeployRequest(_, PlanetSideGUID(1), DriveState.Deploying, 0, false, Vector3.Zero) @@ -85,7 +86,7 @@ class DeploymentBehavior2Test extends ActorTest { case _ => assert(false, "") } reply2(1) match { - case VehicleServiceMessage( + case MessageEnvelope( "test", _, VehicleAction.DeployRequest(_, PlanetSideGUID(1), DriveState.Deployed, 0, false, Vector3.Zero) @@ -102,7 +103,7 @@ class DeploymentBehavior2Test extends ActorTest { case _ => assert(false, "") } reply4.head match { - case VehicleServiceMessage( + case MessageEnvelope( "test", _, VehicleAction.DeployRequest(_, PlanetSideGUID(1), DriveState.Undeploying, 0, false, Vector3.Zero) @@ -115,7 +116,7 @@ class DeploymentBehavior2Test extends ActorTest { case _ => assert(false, "") } reply4(1) match { - case VehicleServiceMessage( + case MessageEnvelope( "test", _, VehicleAction.DeployRequest(_, PlanetSideGUID(1), DriveState.Mobile, 0, false, Vector3.Zero) @@ -144,7 +145,7 @@ class DeploymentBehavior3Test extends ActorTest { case _ => assert(false, "") } reply2.head match { - case VehicleServiceMessage( + case MessageEnvelope( "test", _, VehicleAction.DeployRequest(_, PlanetSideGUID(1), DriveState.Deploying, 0, false, Vector3.Zero) @@ -157,7 +158,7 @@ class DeploymentBehavior3Test extends ActorTest { case _ => assert(false, "") } reply2(1) match { - case VehicleServiceMessage( + case MessageEnvelope( "test", _, VehicleAction.DeployRequest(_, PlanetSideGUID(1), DriveState.Deployed, 0, false, Vector3.Zero) @@ -174,7 +175,7 @@ class DeploymentBehavior3Test extends ActorTest { case _ => assert(false, "") } reply4.head match { - case VehicleServiceMessage( + case MessageEnvelope( "test", _, VehicleAction.DeployRequest(_, PlanetSideGUID(1), DriveState.Undeploying, 0, false, Vector3.Zero) @@ -187,7 +188,7 @@ class DeploymentBehavior3Test extends ActorTest { case _ => assert(false, "") } reply4(1) match { - case VehicleServiceMessage( + case MessageEnvelope( "test", _, VehicleAction.DeployRequest(_, PlanetSideGUID(1), DriveState.Mobile, 0, false, Vector3.Zero) diff --git a/src/test/scala/objects/DoorTest.scala b/src/test/scala/objects/DoorTest.scala index 486b8b5cb..25010c2a7 100644 --- a/src/test/scala/objects/DoorTest.scala +++ b/src/test/scala/objects/DoorTest.scala @@ -12,7 +12,7 @@ import net.psforever.objects.{Default, GlobalDefinitions, Player} import net.psforever.objects.serverobject.doors.{Door, DoorControl} import net.psforever.objects.serverobject.structures.{Building, StructureType} import net.psforever.objects.zones.{Zone, ZoneMap} -import net.psforever.services.local.{DoorMessage, LocalAction, LocalResponse, LocalServiceMessage, LocalServiceResponse} +import net.psforever.services.local.{DoorMessage, LocalAction, LocalServiceResponse} import net.psforever.types._ import org.specs2.mutable.Specification diff --git a/src/test/scala/objects/FacilityTurretTest.scala b/src/test/scala/objects/FacilityTurretTest.scala index c3fd3483b..26f12e8b9 100644 --- a/src/test/scala/objects/FacilityTurretTest.scala +++ b/src/test/scala/objects/FacilityTurretTest.scala @@ -19,9 +19,10 @@ import net.psforever.objects.zones.{Zone, ZoneMap} import net.psforever.packet.game.{InventoryStateMessage, RepairMessage} import net.psforever.types._ import org.specs2.mutable.Specification -import net.psforever.services.avatar.{AvatarAction, AvatarServiceMessage} -import net.psforever.services.base.messages.SendResponse -import net.psforever.services.vehicle.{VehicleAction, VehicleServiceMessage} +import net.psforever.services.avatar.AvatarAction +import net.psforever.services.base.MessageEnvelope +import net.psforever.services.base.messages.{PlanetsideAttribute, SendResponse} +import net.psforever.services.vehicle.VehicleAction import scala.collection.mutable import scala.concurrent.duration._ @@ -260,7 +261,7 @@ class FacilityTurretControlRestorationTest extends ActorTest { val msg4 = vehicleProbe.receiveOne(500 milliseconds) assert( msg12345.head match { - case AvatarServiceMessage( + case MessageEnvelope( "TestCharacter1", _, SendResponse(Seq(InventoryStateMessage(PlanetSideGUID(8), _, PlanetSideGUID(7), _))) @@ -271,25 +272,25 @@ class FacilityTurretControlRestorationTest extends ActorTest { ) assert( msg12345(1) match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 0, _)) => true + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(2), 0, _)) => true case _ => false } ) assert( msg12345(2) match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 50, 0)) => true + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(2), 50, 0)) => true case _ => false } ) assert( msg12345(3) match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 51, 0)) => true + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(2), 51, 0)) => true case _ => false } ) assert( msg12345(4) match { - case AvatarServiceMessage( + case MessageEnvelope( "TestCharacter1", _, SendResponse(Seq(RepairMessage(PlanetSideGUID(2), _))) @@ -300,7 +301,7 @@ class FacilityTurretControlRestorationTest extends ActorTest { ) assert( msg4 match { - case VehicleServiceMessage("test", _, VehicleAction.EquipmentInSlot(_, PlanetSideGUID(2), 1, t)) + case MessageEnvelope("test", _, VehicleAction.EquipmentInSlot(PlanetSideGUID(2), 1, t)) if t eq turretWeapon => true case _ => false diff --git a/src/test/scala/objects/GeneratorTest.scala b/src/test/scala/objects/GeneratorTest.scala index df0d2f927..9cb8ce8f4 100644 --- a/src/test/scala/objects/GeneratorTest.scala +++ b/src/test/scala/objects/GeneratorTest.scala @@ -24,8 +24,9 @@ import net.psforever.objects.zones.{Zone, ZoneMap} import net.psforever.packet.game.{InventoryStateMessage, RepairMessage, TriggerEffectMessage} import net.psforever.types._ import org.specs2.mutable.Specification -import net.psforever.services.avatar.{AvatarAction, AvatarServiceMessage} -import net.psforever.services.base.messages.SendResponse +import net.psforever.services.avatar.AvatarAction +import net.psforever.services.base.MessageEnvelope +import net.psforever.services.base.messages.{PlanetsideAttribute, SendResponse} import scala.concurrent.duration._ @@ -119,7 +120,7 @@ class GeneratorControlDamageTest extends ActorTest { val msg_building = buildingProbe.receiveOne(500 milliseconds) assert( msg_avatar match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 0, _)) => true + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(2), 0, _)) => true case _ => false } ) @@ -204,7 +205,7 @@ class GeneratorControlCriticalTest extends ActorTest { val msg_building = buildingProbe.receiveOne(500 milliseconds) assert( msg_avatar match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 0, _)) => true + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(2), 0, _)) => true case _ => false } ) @@ -313,19 +314,19 @@ class GeneratorControlDestroyedTest extends ActorTest { ) assert( msg_avatar2.head match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 0, _)) => true + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(2), 0, _)) => true case _ => false } ) assert( msg_avatar2(1) match { - case AvatarServiceMessage("test", AvatarAction.Destroy(PlanetSideGUID(2), _, _, Vector3(1, 0, 0))) => true + case MessageEnvelope("test", _, AvatarAction.Destroy(PlanetSideGUID(2), _, _, Vector3(1, 0, 0))) => true case _ => false } ) assert( msg_avatar2(2) match { - case AvatarServiceMessage( + case MessageEnvelope( "test", _, SendResponse(Seq(TriggerEffectMessage(PlanetSideGUID(2), "explosion_generator", None, None))) @@ -442,19 +443,19 @@ class GeneratorControlKillsTest extends ActorTest { ) assert( msg_avatar2.head match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 0, _)) => true + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(2), 0, _)) => true case _ => false } ) assert( msg_avatar2(1) match { - case AvatarServiceMessage("test", AvatarAction.Destroy(PlanetSideGUID(2), _, _, Vector3(1, 0, 0))) => true + case MessageEnvelope("test", _, AvatarAction.Destroy(PlanetSideGUID(2), _, _, Vector3(1, 0, 0))) => true case _ => false } ) assert( msg_avatar2(2) match { - case AvatarServiceMessage( + case MessageEnvelope( "test", _, SendResponse(Seq(TriggerEffectMessage(PlanetSideGUID(2), "explosion_generator", None, None))) @@ -821,7 +822,7 @@ class GeneratorControlRepairPastRestorePoint extends ActorTest { val msg_building = buildingProbe.receiveOne(200 milliseconds) assert( msg_avatar.head match { - case AvatarServiceMessage( + case MessageEnvelope( "TestCharacter1", _, SendResponse(Seq(InventoryStateMessage(ValidPlanetSideGUID(5), _, ValidPlanetSideGUID(4), _))) @@ -832,13 +833,13 @@ class GeneratorControlRepairPastRestorePoint extends ActorTest { ) assert( msg_avatar(1) match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 0, _)) => true + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(2), 0, _)) => true case _ => false } ) assert( msg_avatar(2) match { - case AvatarServiceMessage( + case MessageEnvelope( "TestCharacter1", _, SendResponse(Seq(RepairMessage(ValidPlanetSideGUID(2), _))) diff --git a/src/test/scala/objects/PlayerControlTest.scala b/src/test/scala/objects/PlayerControlTest.scala index 7de59c476..50d734b75 100644 --- a/src/test/scala/objects/PlayerControlTest.scala +++ b/src/test/scala/objects/PlayerControlTest.scala @@ -24,8 +24,9 @@ import net.psforever.objects.vital.projectile.ProjectileReason import net.psforever.objects.vital.resolution.ResolutionCalculations.Output import net.psforever.packet.game._ import net.psforever.types._ -import net.psforever.services.avatar.{AvatarAction, AvatarServiceMessage} -import net.psforever.services.base.messages.{HintsAtAttacker, SendResponse} +import net.psforever.services.avatar.AvatarAction +import net.psforever.services.base.MessageEnvelope +import net.psforever.services.base.messages.{HintsAtAttacker, PlanetsideAttribute, SendResponse} import scala.concurrent.duration._ @@ -69,7 +70,7 @@ class PlayerControlHealTest extends ActorTest { val msg_avatar = avatarProbe.receiveN(4, 500 milliseconds) assert( msg_avatar.head match { - case AvatarServiceMessage( + case MessageEnvelope( "TestCharacter1", _, SendResponse(Seq(InventoryStateMessage(PlanetSideGUID(4), _, PlanetSideGUID(3), _))) @@ -80,23 +81,24 @@ class PlayerControlHealTest extends ActorTest { ) assert( msg_avatar(1) match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 0, _)) => true + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(2), 0, _)) => true case _ => false } ) assert( msg_avatar(2) match { - case AvatarServiceMessage( - "TestCharacter2", - AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 55, 1) - ) => + case MessageEnvelope( + "TestCharacter2", + _, + PlanetsideAttribute(PlanetSideGUID(2), 55, 1) + ) => true case _ => false } ) assert( msg_avatar(3) match { - case AvatarServiceMessage( + case MessageEnvelope( "TestCharacter1", _, SendResponse(Seq(RepairMessage(PlanetSideGUID(2), _))) @@ -149,7 +151,7 @@ class PlayerControlHealSelfTest extends ActorTest { val msg_avatar1 = avatarProbe.receiveN(2, 500 milliseconds) assert( msg_avatar1.head match { - case AvatarServiceMessage( + case MessageEnvelope( "TestCharacter1", _, SendResponse(Seq(InventoryStateMessage(PlanetSideGUID(4), _, PlanetSideGUID(3), _))) @@ -160,7 +162,7 @@ class PlayerControlHealSelfTest extends ActorTest { ) assert( msg_avatar1(1) match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(1), 0, _)) => true + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(1), 0, _)) => true case _ => false } ) @@ -173,7 +175,7 @@ class PlayerControlHealSelfTest extends ActorTest { val msg_avatar2 = avatarProbe.receiveN(2, 500 milliseconds) assert( msg_avatar2.head match { - case AvatarServiceMessage( + case MessageEnvelope( "TestCharacter1", _, SendResponse(Seq(InventoryStateMessage(PlanetSideGUID(4), _, PlanetSideGUID(3), _))) @@ -184,7 +186,7 @@ class PlayerControlHealSelfTest extends ActorTest { ) assert( msg_avatar2(1) match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(1), 0, _)) => true + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(1), 0, _)) => true case _ => false } ) @@ -234,7 +236,7 @@ class PlayerControlRepairTest extends ActorTest { val msg_avatar = avatarProbe.receiveN(5, 1000 milliseconds) assert( msg_avatar.head match { - case AvatarServiceMessage( + case MessageEnvelope( "TestCharacter1", _, SendResponse(Seq(InventoryStateMessage(PlanetSideGUID(4), _, PlanetSideGUID(3), _))) @@ -245,23 +247,24 @@ class PlayerControlRepairTest extends ActorTest { ) assert( msg_avatar(1) match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 4, _)) => true + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(2), 4, _)) => true case _ => false } ) assert( msg_avatar(2) match { - case AvatarServiceMessage( - "TestCharacter2", - AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 56, 1) - ) => + case MessageEnvelope( + "TestCharacter2", + _, + PlanetsideAttribute(PlanetSideGUID(2), 56, 1) + ) => true case _ => false } ) assert( msg_avatar(3) match { - case AvatarServiceMessage( + case MessageEnvelope( "TestCharacter1", _, SendResponse(Seq(RepairMessage(PlanetSideGUID(2), _))) @@ -272,9 +275,10 @@ class PlayerControlRepairTest extends ActorTest { ) assert( msg_avatar(4) match { - case AvatarServiceMessage( + case MessageEnvelope( "TestCharacter2", - AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 56, 1) + _, + PlanetsideAttribute(PlanetSideGUID(2), 56, 1) ) => true case _ => false @@ -326,7 +330,7 @@ class PlayerControlRepairSelfTest extends ActorTest { val msg_avatar1 = avatarProbe.receiveN(2, 500 milliseconds) assert( msg_avatar1.head match { - case AvatarServiceMessage( + case MessageEnvelope( "TestCharacter1", _, SendResponse(Seq(InventoryStateMessage(PlanetSideGUID(4), _, PlanetSideGUID(3), _))) @@ -337,7 +341,7 @@ class PlayerControlRepairSelfTest extends ActorTest { ) assert( msg_avatar1(1) match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(1), 4, _)) => true + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(1), 4, _)) => true case _ => false } ) @@ -350,7 +354,7 @@ class PlayerControlRepairSelfTest extends ActorTest { val msg_avatar2 = avatarProbe.receiveN(2, 500 milliseconds) assert( msg_avatar2.head match { - case AvatarServiceMessage( + case MessageEnvelope( "TestCharacter1", _, SendResponse(Seq(InventoryStateMessage(PlanetSideGUID(4), _, PlanetSideGUID(3), _))) @@ -361,7 +365,7 @@ class PlayerControlRepairSelfTest extends ActorTest { ) assert( msg_avatar2(1) match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(1), 4, _)) => true + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(1), 4, _)) => true case _ => false } ) @@ -434,7 +438,7 @@ class PlayerControlDamageTest extends ActorTest { val msg_activity = activityProbe.receiveOne(200 milliseconds) assert( msg_avatar.head match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 4, _)) => true + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(2), 4, _)) => true case _ => false } ) @@ -446,7 +450,7 @@ class PlayerControlDamageTest extends ActorTest { ) assert( msg_avatar(1) match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 0, _)) => true + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(2), 0, _)) => true case _ => false } ) @@ -461,7 +465,7 @@ class PlayerControlDamageTest extends ActorTest { ) assert( msg_avatar(2) match { - case AvatarServiceMessage( + case MessageEnvelope( "TestCharacter2", PlanetSideGUID(1), HintsAtAttacker(PlanetSideGUID(2)) @@ -547,7 +551,7 @@ class PlayerControlDeathStandingTest extends ActorTest { activityProbe.expectNoMessage(200 milliseconds) assert( msg_avatar.head match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 4, _)) => true + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(2), 4, _)) => true case _ => false } ) @@ -559,26 +563,26 @@ class PlayerControlDeathStandingTest extends ActorTest { ) assert( msg_avatar(1) match { - case AvatarServiceMessage("TestCharacter2", AvatarAction.Killed(PlanetSideGUID(2), _, None)) => true + case MessageEnvelope("TestCharacter2", _, AvatarAction.Killed(PlanetSideGUID(2), _, None)) => true case _ => false } ) assert( msg_avatar(2) match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 0, _)) => true + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(2), 0, _)) => true case _ => false } ) assert( msg_avatar(3) match { - case AvatarServiceMessage("TestCharacter2", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 7, _)) => + case MessageEnvelope("TestCharacter2", _, PlanetsideAttribute(PlanetSideGUID(2), 7, _)) => true case _ => false } ) assert( msg_avatar(4) match { - case AvatarServiceMessage( + case MessageEnvelope( "TestCharacter2", _, SendResponse(Seq(DestroyMessage(PlanetSideGUID(2), PlanetSideGUID(1), _, _))) @@ -674,8 +678,9 @@ class PlayerControlDeathStandingTest extends ActorTest { // ) // assert( // msg_avatar.head match { -// case AvatarServiceMessage( +// case MessageEnvelope( // "TestCharacter2", +// _, // AvatarAction.Killed(PlanetSideGUID(2), _, Some(PlanetSideGUID(7))) // ) => // true @@ -684,13 +689,13 @@ class PlayerControlDeathStandingTest extends ActorTest { // ) // assert( // msg_avatar(1) match { -// case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 0, _)) => true +// case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(2), 0, _)) => true // case _ => false // } // ) // assert( // msg_avatar(2) match { -// case AvatarServiceMessage( +// case MessageEnvelope( // "TestCharacter2", // _, // SendResponse(DestroyMessage(PlanetSideGUID(2), PlanetSideGUID(1), _, _)) @@ -743,8 +748,9 @@ class PlayerControlDeathStandingTest extends ActorTest { // val msg_drown = avatarProbe.receiveOne(250 milliseconds) // assert( // msg_drown match { -// case AvatarServiceMessage( +// case MessageEnvelope( // "TestCharacter1", +// _, // AvatarAction.OxygenState(OxygenStateTarget(PlanetSideGUID(1), _, OxygenState.Suffocation, 100f), _) // ) => true // case _ => false @@ -797,8 +803,9 @@ class PlayerControlDeathStandingTest extends ActorTest { // val msg_drown = avatarProbe.receiveOne(250 milliseconds) // assert( // msg_drown match { -// case AvatarServiceMessage( +// case MessageEnvelope( // "TestCharacter1", +// _, // AvatarAction.OxygenState(OxygenStateTarget(PlanetSideGUID(1), _, OxygenState.Suffocation, 100f), _) // ) => true // case _ => false @@ -810,8 +817,9 @@ class PlayerControlDeathStandingTest extends ActorTest { // val msg_recover = avatarProbe.receiveOne(250 milliseconds) // assert( // msg_recover match { -// case AvatarServiceMessage( +// case MessageEnvelope( // "TestCharacter1", +// _, // AvatarAction.OxygenState(OxygenStateTarget(PlanetSideGUID(1), _, OxygenState.Recovery, _), _) // ) => true // case _ => false @@ -863,19 +871,19 @@ class PlayerControlInteractWithLavaTest extends ActorTest { val msg_burn = avatarProbe.receiveN(3, 1 seconds) assert( msg_burn.head match { - case AvatarServiceMessage("test-map", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(1), 0, _)) => true + case MessageEnvelope("test-map", _, PlanetsideAttribute(PlanetSideGUID(1), 0, _)) => true case _ => false } ) assert( msg_burn(1) match { - case AvatarServiceMessage("TestCharacter1", AvatarAction.EnvironmentalDamage(PlanetSideGUID(1), _, _)) => true + case MessageEnvelope("TestCharacter1", _, AvatarAction.EnvironmentalDamage(PlanetSideGUID(1), _, _)) => true case _ => false } ) assert( msg_burn(2) match { - case AvatarServiceMessage("test-map", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(1), 54, _)) => true + case MessageEnvelope("test-map", _, PlanetsideAttribute(PlanetSideGUID(1), 54, _)) => true case _ => false } ) diff --git a/src/test/scala/objects/RepairableTest.scala b/src/test/scala/objects/RepairableTest.scala index b3a416422..6589e7d8a 100644 --- a/src/test/scala/objects/RepairableTest.scala +++ b/src/test/scala/objects/RepairableTest.scala @@ -17,9 +17,10 @@ import net.psforever.objects.vehicles.control.VehicleControl import net.psforever.objects.zones.{Zone, ZoneMap} import net.psforever.packet.game.{InventoryStateMessage, RepairMessage} import net.psforever.types._ -import net.psforever.services.avatar.{AvatarAction, AvatarServiceMessage} -import net.psforever.services.base.messages.SendResponse -import net.psforever.services.vehicle.{VehicleAction, VehicleServiceMessage} +import net.psforever.services.avatar.AvatarAction +import net.psforever.services.base.MessageEnvelope +import net.psforever.services.base.messages.{PlanetsideAttribute, SendResponse} +import net.psforever.services.vehicle.VehicleAction import scala.concurrent.duration._ @@ -71,7 +72,7 @@ class RepairableEntityRepairTest extends ActorTest { val msg123 = avatarProbe.receiveN(3, 500 milliseconds) assert( msg123.head match { - case AvatarServiceMessage( + case MessageEnvelope( "TestCharacter1", _, SendResponse(Seq(InventoryStateMessage(PlanetSideGUID(5), _, PlanetSideGUID(4), _))) @@ -82,13 +83,13 @@ class RepairableEntityRepairTest extends ActorTest { ) assert( msg123(1) match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 0, _)) => true + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(2), 0, _)) => true case _ => false } ) assert( msg123(2) match { - case AvatarServiceMessage( + case MessageEnvelope( "TestCharacter1", _, SendResponse(Seq(RepairMessage(PlanetSideGUID(2), _))) @@ -189,7 +190,7 @@ class RepairableAmenityTest extends ActorTest { val msg12345 = avatarProbe.receiveN(5, 500 milliseconds) assert( msg12345.head match { - case AvatarServiceMessage( + case MessageEnvelope( "TestCharacter1", _, SendResponse(Seq(InventoryStateMessage(PlanetSideGUID(5), _, PlanetSideGUID(4), _))) @@ -200,25 +201,25 @@ class RepairableAmenityTest extends ActorTest { ) assert( msg12345(1) match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 0, _)) => true + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(2), 0, _)) => true case _ => false } ) assert( msg12345(2) match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 50, 0)) => true + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(2), 50, 0)) => true case _ => false } ) assert( msg12345(3) match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 51, 0)) => true + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(2), 51, 0)) => true case _ => false } ) assert( msg12345(4) match { - case AvatarServiceMessage( + case MessageEnvelope( "TestCharacter1", _, SendResponse(Seq(RepairMessage(PlanetSideGUID(2), _))) @@ -288,7 +289,7 @@ class RepairableTurretWeapon extends ActorTest { val msg4 = vehicleProbe.receiveOne(500 milliseconds) assert( msg12345.head match { - case AvatarServiceMessage( + case MessageEnvelope( "TestCharacter1", _, SendResponse(Seq(InventoryStateMessage(PlanetSideGUID(8), _, PlanetSideGUID(7), _))) @@ -299,14 +300,14 @@ class RepairableTurretWeapon extends ActorTest { ) assert( msg12345(1) match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(2), 0, _)) => true + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(2), 0, _)) => true case _ => false } ) //msg12345(2) and msg12345(3) are related to RepairableAmenity assert( msg12345(4) match { - case AvatarServiceMessage( + case MessageEnvelope( "TestCharacter1", _, SendResponse(Seq(RepairMessage(PlanetSideGUID(2), _))) @@ -317,7 +318,7 @@ class RepairableTurretWeapon extends ActorTest { ) assert( msg4 match { - case VehicleServiceMessage("test", _, VehicleAction.EquipmentInSlot(_, PlanetSideGUID(2), 1, t)) + case MessageEnvelope("test", _, VehicleAction.EquipmentInSlot(_, PlanetSideGUID(2), 1, t)) if t eq turretWeapon => true case _ => false @@ -370,7 +371,7 @@ class RepairableVehicleRepair extends ActorTest { val msg123 = avatarProbe.receiveN(3, 500 milliseconds) assert( msg123.head match { - case AvatarServiceMessage( + case MessageEnvelope( "TestCharacter1", _, SendResponse(Seq(InventoryStateMessage(PlanetSideGUID(6), _, PlanetSideGUID(5), _))) @@ -381,13 +382,13 @@ class RepairableVehicleRepair extends ActorTest { ) assert( msg123(1) match { - case AvatarServiceMessage("test", AvatarAction.PlanetsideAttributeToAll(PlanetSideGUID(1), 0, _)) => true + case MessageEnvelope("test", _, PlanetsideAttribute(PlanetSideGUID(1), 0, _)) => true case _ => false } ) assert( msg123(2) match { - case AvatarServiceMessage( + case MessageEnvelope( "TestCharacter1", _, SendResponse(Seq(RepairMessage(PlanetSideGUID(1), _))) diff --git a/src/test/scala/objects/ResourceSiloTest.scala b/src/test/scala/objects/ResourceSiloTest.scala index 4404ab2a3..5fb433118 100644 --- a/src/test/scala/objects/ResourceSiloTest.scala +++ b/src/test/scala/objects/ResourceSiloTest.scala @@ -16,8 +16,8 @@ import net.psforever.objects.zones.{Zone, ZoneMap} import net.psforever.packet.game.UseItemMessage import net.psforever.types._ import org.specs2.mutable.Specification -import net.psforever.services.avatar.{AvatarAction, AvatarServiceMessage} import net.psforever.objects.avatar.Avatar +import net.psforever.services.base.MessageEnvelope import net.psforever.services.base.messages.PlanetsideAttribute import net.psforever.services.{InterstellarClusterService, Service, ServiceManager} import net.psforever.services.galaxy.GalaxyService @@ -236,7 +236,7 @@ class ResourceSiloControlNtuWarningTest extends ActorTest { val reply = zoneEvents.receiveOne(5000 milliseconds) reply match { - case AvatarServiceMessage("nowhere", _, PlanetsideAttribute(PlanetSideGUID(6), 47, 0)) => ; + case MessageEnvelope("nowhere", _, PlanetsideAttribute(PlanetSideGUID(6), 47, 0)) => ; case _ => assert(ResourceSiloTest.fail, s"$reply is wrong") } assert(!obj.LowNtuWarningOn) @@ -275,12 +275,12 @@ class ResourceSiloControlUpdate1Test extends ActorTest { assert(obj.NtuCapacitor == 305) assert(obj.CapacitorDisplay == 3) reply1.head match { - case AvatarServiceMessage("nowhere", _, PlanetsideAttribute(PlanetSideGUID(1), 45, 3)) => ; + case MessageEnvelope("nowhere", _, PlanetsideAttribute(PlanetSideGUID(1), 45, 3)) => ; case _ => assert(ResourceSiloTest.fail, s"$reply1 is wrong") } assert(reply2.isInstanceOf[BuildingActor.MapUpdate], s"$reply2 is wrong") reply1(1) match { - case AvatarServiceMessage("nowhere", _, PlanetsideAttribute(PlanetSideGUID(6), 47, 0)) => ; + case MessageEnvelope("nowhere", _, PlanetsideAttribute(PlanetSideGUID(6), 47, 0)) => ; case _ => assert(ResourceSiloTest.fail, s"${reply1(1)} is wrong") } assert(!obj.LowNtuWarningOn) @@ -319,12 +319,12 @@ class ResourceSiloControlUpdate2Test extends ActorTest { assert(obj.NtuCapacitor == 205) assert(obj.CapacitorDisplay == 2) reply1.head match { - case AvatarServiceMessage("nowhere", _, PlanetsideAttribute(PlanetSideGUID(1), 45, 2)) => ; + case MessageEnvelope("nowhere", _, PlanetsideAttribute(PlanetSideGUID(1), 45, 2)) => ; case _ => assert(ResourceSiloTest.fail, s"$reply1 is wrong") } assert(reply2.isInstanceOf[BuildingActor.MapUpdate]) reply1(1) match { - case AvatarServiceMessage("nowhere", _, PlanetsideAttribute(PlanetSideGUID(6), 47, 0)) => ; + case MessageEnvelope("nowhere", _, PlanetsideAttribute(PlanetSideGUID(6), 47, 0)) => ; case _ => assert(ResourceSiloTest.fail, s"${reply1(1)} is wrong") } assert(!obj.LowNtuWarningOn) diff --git a/src/test/scala/objects/TelepadRouterTest.scala b/src/test/scala/objects/TelepadRouterTest.scala index 0af8ff646..056f4be58 100644 --- a/src/test/scala/objects/TelepadRouterTest.scala +++ b/src/test/scala/objects/TelepadRouterTest.scala @@ -15,8 +15,9 @@ import net.psforever.objects.vehicles.{Utility, UtilityType} import net.psforever.objects.zones.{Zone, ZoneDeployableActor, ZoneMap} import net.psforever.packet.game.objectcreate.ObjectCreateMessageParent import net.psforever.packet.game._ +import net.psforever.services.base.MessageEnvelope import net.psforever.services.base.messages.SendResponse -import net.psforever.services.local.{LocalAction, LocalServiceMessage} +import net.psforever.services.local.LocalAction import net.psforever.types.{DriveState, PlanetSideGUID, Vector3} import scala.collection.mutable @@ -48,14 +49,15 @@ class TelepadDeployableNoRouterTest extends ActorTest { val eventsMsgs = eventsProbe.receiveN(4, 10.seconds) eventsMsgs.head match { - case LocalServiceMessage("test", LocalAction.DeployItem(obj)) => + case MessageEnvelope("test", _, LocalAction.DeployItem(obj)) => assert(obj eq telepad, "no-router telepad deployable testt - not same telepad") case _ => assert( false, "no-router telepad deployable test - wrong deploy message") } eventsMsgs(1) match { - case LocalServiceMessage( + case MessageEnvelope( "NEUTRAL", + _, LocalAction.DeployableMapIcon( PlanetSideGUID(0), DeploymentAction.Build, @@ -65,12 +67,13 @@ class TelepadDeployableNoRouterTest extends ActorTest { case _ => assert(false, "no-router telepad deployable test - no icon or wrong icon") } eventsMsgs(2) match { - case LocalServiceMessage("test", LocalAction.EliminateDeployable(`telepad`, PlanetSideGUID(1), Vector3.Zero, 2)) => ; + case MessageEnvelope("test", _, LocalAction.EliminateDeployable(`telepad`, PlanetSideGUID(1), Vector3.Zero, 2)) => ; case _ => assert(false, "no-router telepad deployable test - not eliminating deployable") } eventsMsgs(3) match { - case LocalServiceMessage( + case MessageEnvelope( "NEUTRAL", + _, LocalAction.DeployableMapIcon( PlanetSideGUID(0), DeploymentAction.Dismiss, @@ -117,14 +120,15 @@ class TelepadDeployableNoActivationTest extends ActorTest { val eventsMsgs = eventsProbe.receiveN(4, 10.seconds) eventsMsgs.head match { - case LocalServiceMessage("test", LocalAction.DeployItem(obj)) => + case MessageEnvelope("test", _, LocalAction.DeployItem(obj)) => assert(obj eq telepad, "no-activate telepad deployable testt - not same telepad") case _ => assert( false, "no-activate telepad deployable test - wrong deploy message") } eventsMsgs(1) match { - case LocalServiceMessage( + case MessageEnvelope( "NEUTRAL", + _, LocalAction.DeployableMapIcon( PlanetSideGUID(0), DeploymentAction.Build, @@ -135,12 +139,13 @@ class TelepadDeployableNoActivationTest extends ActorTest { assert( false, "no-activate telepad deployable test - no icon or wrong icon") } eventsMsgs(2) match { - case LocalServiceMessage("test", LocalAction.EliminateDeployable(`telepad`, PlanetSideGUID(1), Vector3.Zero, 2)) => ; + case MessageEnvelope("test", _, LocalAction.EliminateDeployable(`telepad`, PlanetSideGUID(1), Vector3.Zero, 2)) => ; case _ => assert(false, "no-activate telepad deployable test - not eliminating deployable") } eventsMsgs(3) match { - case LocalServiceMessage( + case MessageEnvelope( "NEUTRAL", + _, LocalAction.DeployableMapIcon( PlanetSideGUID(0), DeploymentAction.Dismiss, @@ -190,14 +195,15 @@ class TelepadDeployableAttemptTest extends ActorTest { val eventsMsgs = eventsProbe.receiveN(2, 10.seconds) val routerMsgs = routerProbe.receiveN(1, 10.seconds) eventsMsgs.head match { - case LocalServiceMessage("test", LocalAction.DeployItem(obj)) => + case MessageEnvelope("test", _, LocalAction.DeployItem(obj)) => assert(obj eq telepad, "link attempt telepad deployable testt - not same telepad") case _ => assert( false, "link attempt telepad deployable test - wrong deploy message") } eventsMsgs(1) match { - case LocalServiceMessage( + case MessageEnvelope( "NEUTRAL", + _, LocalAction.DeployableMapIcon( PlanetSideGUID(0), DeploymentAction.Build, @@ -263,14 +269,15 @@ class TelepadDeployableResponseFromRouterTest extends FreedContextActorTest { val eventsMsgs = eventsProbe.receiveN(9, 10.seconds) eventsMsgs.head match { - case LocalServiceMessage("test", LocalAction.DeployItem(obj)) => + case MessageEnvelope("test", _, LocalAction.DeployItem(obj)) => assert(obj eq telepad, "link to router test - not same telepad") case _ => assert( false, "link to router test - wrong deploy message") } eventsMsgs(1) match { - case LocalServiceMessage( + case MessageEnvelope( "NEUTRAL", + _, LocalAction.DeployableMapIcon( PlanetSideGUID(0), DeploymentAction.Build, @@ -280,7 +287,7 @@ class TelepadDeployableResponseFromRouterTest extends FreedContextActorTest { case _ => assert(false, "link to router test - no icon or wrong icon") } eventsMsgs(2) match { - case LocalServiceMessage( + case MessageEnvelope( "test", _, SendResponse(Seq( @@ -290,7 +297,7 @@ class TelepadDeployableResponseFromRouterTest extends FreedContextActorTest { case _ => assert(false, "link to router test - did not create the internal router telepad (1)") } eventsMsgs(3) match { - case LocalServiceMessage( + case MessageEnvelope( "test", _, SendResponse(Seq(GenericObjectActionMessage(PlanetSideGUID(3), 27))) @@ -298,7 +305,7 @@ class TelepadDeployableResponseFromRouterTest extends FreedContextActorTest { case _ => assert(false, "link to router test - did not create the internal router telepad (2)") } eventsMsgs(4) match { - case LocalServiceMessage( + case MessageEnvelope( "test", _, SendResponse(Seq(GenericObjectActionMessage(PlanetSideGUID(3), 30))) @@ -306,7 +313,7 @@ class TelepadDeployableResponseFromRouterTest extends FreedContextActorTest { case _ => assert(false, "link to router test - did not create the internal router telepad (3)") } eventsMsgs(5) match { - case LocalServiceMessage( + case MessageEnvelope( "test", _, SendResponse(Seq(GenericObjectActionMessage(PlanetSideGUID(3), 27))) @@ -314,7 +321,7 @@ class TelepadDeployableResponseFromRouterTest extends FreedContextActorTest { case _ => assert(false, "link to router test - did not link the internal telepad (1)") } eventsMsgs(6) match { - case LocalServiceMessage( + case MessageEnvelope( "test", _, SendResponse(Seq(GenericObjectActionMessage(PlanetSideGUID(3), 28))) @@ -322,7 +329,7 @@ class TelepadDeployableResponseFromRouterTest extends FreedContextActorTest { case _ => assert(false, "link to router test - did not link the internal telepad (2)") } eventsMsgs(7) match { - case LocalServiceMessage( + case MessageEnvelope( "test", _, SendResponse(Seq(GenericObjectActionMessage(PlanetSideGUID(1), 27))) @@ -330,7 +337,7 @@ class TelepadDeployableResponseFromRouterTest extends FreedContextActorTest { case _ => assert(false, "link to router test - did not link the telepad (1)") } eventsMsgs(8) match { - case LocalServiceMessage( + case MessageEnvelope( "test", _, SendResponse(Seq(GenericObjectActionMessage(PlanetSideGUID(1), 28))) diff --git a/src/test/scala/objects/VehicleControlTest.scala b/src/test/scala/objects/VehicleControlTest.scala index fb723f6ad..b6ced134c 100644 --- a/src/test/scala/objects/VehicleControlTest.scala +++ b/src/test/scala/objects/VehicleControlTest.scala @@ -25,8 +25,9 @@ import net.psforever.objects.vital.{ShieldCharge, SpawningActivity, Vitality} import net.psforever.objects.zones.{Zone, ZoneMap} import net.psforever.packet.game._ import net.psforever.services.ServiceManager +import net.psforever.services.base.MessageEnvelope import net.psforever.services.base.messages.{PlanetsideAttribute, SendResponse} -import net.psforever.services.vehicle.{VehicleAction, VehicleServiceMessage} +import net.psforever.services.vehicle.VehicleAction import net.psforever.types._ import scala.concurrent.duration._ @@ -73,7 +74,7 @@ class VehicleControlPrepareForDeletionPassengerTest extends ActorTest { val vehicle_msg = vehicleProbe.receiveN(1, 500 milliseconds) vehicle_msg.head match { - case VehicleServiceMessage("test", _, VehicleAction.KickPassenger(PlanetSideGUID(2), 4, true, PlanetSideGUID(1))) => ; + case MessageEnvelope("test", _, VehicleAction.KickPassenger(PlanetSideGUID(2), 4, true, PlanetSideGUID(1))) => ; case _ => assert(false, s"VehicleControlPrepareForDeletionPassengerTest: ${vehicle_msg.head}") } @@ -137,32 +138,32 @@ class VehicleControlPrepareForDeletionPassengerTest extends ActorTest { // val vehicle_msg = vehicleProbe.receiveN(6, 1 minute) // //dismounting as cargo messages // vehicle_msg.head match { -// case VehicleServiceMessage("test", _, VehicleAction.KickPassenger(PlanetSideGUID(3), 4, true, PlanetSideGUID(1))) => ; +// case MessageEnvelope("test", _, VehicleAction.KickPassenger(PlanetSideGUID(3), 4, true, PlanetSideGUID(1))) => ; // case _ => // assert(false, s"VehicleControlPrepareForDeletionMountedInTest-1: ${vehicle_msg.head}") // } // vehicle_msg(1) match { -// case VehicleServiceMessage(_, _, SendResponse(PlanetsideAttributeMessage(PlanetSideGUID(1), 0, _))) => ; +// case MessageEnvelope(_, _, SendResponse(PlanetsideAttributeMessage(PlanetSideGUID(1), 0, _))) => ; // case _ => // assert(false, s"VehicleControlPrepareForDeletionMountedInTest-2: ${vehicle_msg(1)}") // } // vehicle_msg(2) match { -// case VehicleServiceMessage(_, _, SendResponse(PlanetsideAttributeMessage(PlanetSideGUID(1), 68, _))) => ; +// case MessageEnvelope(_, _, SendResponse(PlanetsideAttributeMessage(PlanetSideGUID(1), 68, _))) => ; // case _ => // assert(false, s"VehicleControlPrepareForDeletionMountedInTest-3: ${vehicle_msg(2)}") // } // vehicle_msg(3) match { -// case VehicleServiceMessage("test", _, SendResponse(CargoMountPointStatusMessage(PlanetSideGUID(2), _, PlanetSideGUID(1), _, 1, CargoStatus.InProgress, 0))) => ; +// case MessageEnvelope("test", _, SendResponse(CargoMountPointStatusMessage(PlanetSideGUID(2), _, PlanetSideGUID(1), _, 1, CargoStatus.InProgress, 0))) => ; // case _ => // assert(false, s"VehicleControlPrepareForDeletionMountedInTest-4: ${vehicle_msg(3)}") // } // vehicle_msg(4) match { -// case VehicleServiceMessage("test", _, SendResponse(ObjectDetachMessage(PlanetSideGUID(2), PlanetSideGUID(1), _, _, _, _))) => ; +// case MessageEnvelope("test", _, SendResponse(ObjectDetachMessage(PlanetSideGUID(2), PlanetSideGUID(1), _, _, _, _))) => ; // case _ => // assert(false, s"VehicleControlPrepareForDeletionMountedInTest-5: ${vehicle_msg(4)}") // } // vehicle_msg(5) match { -// case VehicleServiceMessage("test", _, SendResponse(CargoMountPointStatusMessage(PlanetSideGUID(2), _, _, PlanetSideGUID(1), 1, CargoStatus.Empty, 0))) => ; +// case MessageEnvelope("test", _, SendResponse(CargoMountPointStatusMessage(PlanetSideGUID(2), _, _, PlanetSideGUID(1), 1, CargoStatus.Empty, 0))) => ; // case _ => // assert(false, s"VehicleControlPrepareForDeletionMountedInTest-6: ${vehicle_msg(5)}") // } @@ -225,7 +226,7 @@ class VehicleControlPrepareForDeletionMountedCargoTest extends FreedContextActor val vehicleMsgs = eventsProbe.receiveN(6, 10.seconds) val cargoMsgs = cargoProbe.receiveN(1, 1.seconds) vehicleMsgs.head match { - case VehicleServiceMessage("test", _, VehicleAction.KickPassenger(PlanetSideGUID(4), 4, true, PlanetSideGUID(2))) => () + case MessageEnvelope("test", _, VehicleAction.KickPassenger(PlanetSideGUID(4), 4, true, PlanetSideGUID(2))) => () case _ => assert(false, s"VehicleControlPrepareForDeletionMountedCargoTest-1: ${vehicleMsgs.head}") } @@ -233,27 +234,27 @@ class VehicleControlPrepareForDeletionMountedCargoTest extends FreedContextActor assert(lodestar.Seats(0).occupant.isEmpty) //cargo dismounting messages vehicleMsgs(1) match { - case VehicleServiceMessage(_, _, SendResponse(Seq(PlanetsideAttributeMessage(PlanetSideGUID(1), 0, _)))) => () + case MessageEnvelope(_, _, SendResponse(Seq(PlanetsideAttributeMessage(PlanetSideGUID(1), 0, _)))) => () case _ => assert(false, s"VehicleControlPrepareForDeletionMountedCargoTest-2: ${vehicleMsgs(1)}") } vehicleMsgs(2) match { - case VehicleServiceMessage(_, _, SendResponse(Seq(PlanetsideAttributeMessage(PlanetSideGUID(1), 68, _)))) => () + case MessageEnvelope(_, _, SendResponse(Seq(PlanetsideAttributeMessage(PlanetSideGUID(1), 68, _)))) => () case _ => assert(false, s"VehicleControlPrepareForDeletionMountedCargoTest-3: ${vehicleMsgs(2)}") } vehicleMsgs(3) match { - case VehicleServiceMessage("test", _, SendResponse(Seq(CargoMountPointStatusMessage(PlanetSideGUID(2), _, PlanetSideGUID(1), _, 1, CargoStatus.InProgress, 0)))) => ; + case MessageEnvelope("test", _, SendResponse(Seq(CargoMountPointStatusMessage(PlanetSideGUID(2), _, PlanetSideGUID(1), _, 1, CargoStatus.InProgress, 0)))) => ; case _ => assert(false, s"VehicleControlPrepareForDeletionMountedCargoTest-4: ${vehicleMsgs(3)}") } vehicleMsgs(4) match { - case VehicleServiceMessage("test", _, SendResponse(Seq(ObjectDetachMessage(PlanetSideGUID(2), PlanetSideGUID(1), _, _, _, _)))) => () + case MessageEnvelope("test", _, SendResponse(Seq(ObjectDetachMessage(PlanetSideGUID(2), PlanetSideGUID(1), _, _, _, _)))) => () case _ => assert(false, s"VehicleControlPrepareForDeletionMountedCargoTest-5: ${vehicleMsgs(4)}") } vehicleMsgs(5) match { - case VehicleServiceMessage("test", _, SendResponse(Seq(CargoMountPointStatusMessage(PlanetSideGUID(2), _, _, PlanetSideGUID(1), 1, CargoStatus.Empty, 0)))) => () + case MessageEnvelope("test", _, SendResponse(Seq(CargoMountPointStatusMessage(PlanetSideGUID(2), _, _, PlanetSideGUID(1), 1, CargoStatus.Empty, 0)))) => () case _ => assert(false, s"VehicleControlPrepareForDeletionMountedCargoTest-6: ${vehicleMsgs(5)}") } @@ -545,7 +546,7 @@ class VehicleControlShieldsNotChargingTooEarlyTest extends ActorTest { val msg = probe.receiveOne(200 milliseconds) //assert(msg.isInstanceOf[Vehicle.UpdateShieldsCharge]) assert(msg match { - case VehicleServiceMessage(_, _, PlanetsideAttribute(PlanetSideGUID(10), 68, 15)) => true + case MessageEnvelope(_, _, PlanetsideAttribute(PlanetSideGUID(10), 68, 15)) => true case _ => false }) assert(vehicle.Shields == 15) @@ -1005,7 +1006,7 @@ class VehicleControlInteractWithLavaTest extends ActorTest { msg_burn.foreach { msg => assert( msg match { - case VehicleServiceMessage("test-zone", _, PlanetsideAttribute(PlanetSideGUID(2), 0, _)) => true + case MessageEnvelope("test-zone", _, PlanetsideAttribute(PlanetSideGUID(2), 0, _)) => true case _ => false } ) @@ -1103,7 +1104,7 @@ class ApcControlCanChargeCapacitor extends FreedContextActorTest { do { val msg = vehicleProbe.receiveOne(3.seconds) msg match { - case VehicleServiceMessage(_, _, PlanetsideAttribute(PlanetSideGUID(1), 113, capacitance)) => + case MessageEnvelope(_, _, PlanetsideAttribute(PlanetSideGUID(1), 113, capacitance)) => assert(capacitance > 0) case _ => assert(false) @@ -1177,11 +1178,11 @@ class ApcControlCanEmp extends FreedContextActorTest { apc.Actor ! SpecialEmp.Burst() val vehicleMsgs = vehicleProbe.receiveN(2, 500.milliseconds) vehicleMsgs.head match { - case VehicleServiceMessage(_, _, PlanetsideAttribute(PlanetSideGUID(1), 113, 0)) => ; + case MessageEnvelope(_, _, PlanetsideAttribute(PlanetSideGUID(1), 113, 0)) => ; case _ => assert(false) } vehicleMsgs(1) match { - case VehicleServiceMessage( + case MessageEnvelope( "test-zone", _, SendResponse(Seq( diff --git a/src/test/scala/objects/terminal/ProximityTest.scala b/src/test/scala/objects/terminal/ProximityTest.scala index 600d748bf..1a5848c51 100644 --- a/src/test/scala/objects/terminal/ProximityTest.scala +++ b/src/test/scala/objects/terminal/ProximityTest.scala @@ -14,11 +14,12 @@ import net.psforever.objects.{GlobalDefinitions, Player} import net.psforever.types.{CharacterSex, CharacterVoice, PlanetSideEmpire, PlanetSideGUID} import org.specs2.mutable.Specification import net.psforever.services.Service -import net.psforever.services.local.{LocalService, LocalServiceMessage} +import net.psforever.services.local.LocalService import scala.concurrent.duration._ import akka.actor.typed.scaladsl.adapter._ import net.psforever.objects.avatar.Avatar +import net.psforever.services.base.MessageEnvelope class ProximityTest extends Specification { @@ -200,7 +201,7 @@ class ProximityTerminalControlStartTest extends ActorTest { assert(terminal.Owner.Continent.equals("test")) terminal.Actor.tell(CommonMessages.Use(avatar, Some(avatar)), probe2.ref) - probe1.expectMsgClass(1 second, classOf[LocalServiceMessage]) + probe1.expectMsgClass(1 second, classOf[MessageEnvelope]) probe2.expectMsgClass(1 second, classOf[ProximityUnit.Action]) assert(terminal.NumberUsers == 1) } @@ -270,7 +271,7 @@ class ProximityTerminalControlTwoUsersTest extends ActorTest { assert(terminal.Owner.Continent.equals("test")) terminal.Actor.tell(CommonMessages.Use(avatar, Some(avatar)), probe2.ref) - probe1.expectMsgClass(1 second, classOf[LocalServiceMessage]) + probe1.expectMsgClass(1 second, classOf[MessageEnvelope]) probe2.expectMsgClass(5 second, classOf[ProximityUnit.Action]) terminal.Actor.tell(CommonMessages.Use(avatar2, Some(avatar2)), probe3.ref) @@ -328,7 +329,7 @@ class ProximityTerminalControlStopTest extends ActorTest { assert(terminal.Owner.Continent.equals("test")) terminal.Actor.tell(CommonMessages.Use(avatar, Some(avatar)), probe2.ref) - probe1.expectMsgClass(1 second, classOf[LocalServiceMessage]) + probe1.expectMsgClass(1 second, classOf[MessageEnvelope]) probe2.expectMsgClass(1 second, classOf[ProximityUnit.Action]) terminal.Actor ! CommonMessages.Unuse(avatar, Some(avatar)) @@ -340,7 +341,7 @@ class ProximityTerminalControlStopTest extends ActorTest { case out => assert(false, s"last message $out is not StopAction") } //probe2.expectMsgClass(1 second, classOf[ProximityUnit.StopAction]) - probe1.expectMsgClass(1 second, classOf[LocalServiceMessage]) + probe1.expectMsgClass(1 second, classOf[MessageEnvelope]) assert(terminal.NumberUsers == 0) } } @@ -406,7 +407,7 @@ class ProximityTerminalControlNotStopTest extends ActorTest { assert(terminal.Owner.Continent.equals("test")) terminal.Actor.tell(CommonMessages.Use(avatar, Some(avatar)), probe2.ref) - probe1.expectMsgClass(100 millisecond, classOf[LocalServiceMessage]) + probe1.expectMsgClass(100 millisecond, classOf[MessageEnvelope]) assert(terminal.NumberUsers == 1) terminal.Actor.tell(CommonMessages.Use(avatar2, Some(avatar2)), probe3.ref) @@ -418,7 +419,7 @@ class ProximityTerminalControlNotStopTest extends ActorTest { assert(terminal.NumberUsers == 1) terminal.Actor ! CommonMessages.Unuse(avatar2, Some(avatar2)) - probe1.expectMsgClass(100 millisecond, classOf[LocalServiceMessage]) + probe1.expectMsgClass(100 millisecond, classOf[MessageEnvelope]) assert(terminal.NumberUsers == 0) } }