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