fixed awkward types.PlanetSideGUID references

This commit is contained in:
FateJH 2020-01-08 01:17:23 -05:00 committed by pschord
parent 0c1486dbcc
commit d43d94377b
3 changed files with 95 additions and 97 deletions

View file

@ -8,7 +8,6 @@ import net.psforever.objects.guid.NumberPoolHub
import net.psforever.objects.guid.actor.{NumberPoolActor, Register, UniqueNumberSystem, Unregister}
import net.psforever.objects.guid.selector.RandomSelector
import net.psforever.objects.guid.source.LimitedNumberSource
import net.psforever.types
import net.psforever.types.PlanetSideGUID
import scala.concurrent.duration._
@ -239,7 +238,7 @@ class UniqueNumberSystemTest7 extends ActorTest() {
guid.AddPool("pool3", (5001 to 6000).toList).Selector = new RandomSelector
val uns = system.actorOf(Props(classOf[UniqueNumberSystem], guid, UniqueNumberSystemTest.AllocateNumberPoolActors(guid)), "uns")
val testObj = new EntityTestClass()
testObj.GUID = types.PlanetSideGUID(6001) //fake registering; number too high
testObj.GUID =PlanetSideGUID(6001) //fake registering; number too high
assert(testObj.HasGUID)
assert(src.CountUsed == 0)

View file

@ -46,7 +46,7 @@ import net.psforever.objects.vital._
import net.psforever.objects.zones.{InterstellarCluster, Zone, ZoneHotSpotProjector}
import net.psforever.packet.game.objectcreate._
import net.psforever.packet.game.{HotSpotInfo => PacketHotSpotInfo}
import net.psforever.types.{PlanetSideGUID, _}
import net.psforever.types._
import services.{RemoverActor, vehicle, _}
import services.avatar.{AvatarAction, AvatarResponse, AvatarServiceMessage, AvatarServiceResponse}
import services.galaxy.{GalaxyAction, GalaxyResponse, GalaxyServiceMessage, GalaxyServiceResponse}
@ -410,7 +410,7 @@ class WorldSessionActor extends Actor
if(!excluded.exists(_ == avatar.CharId)) {
response match {
case SquadResponse.ListSquadFavorite(line, task) =>
sendResponse(SquadDefinitionActionMessage(types.PlanetSideGUID(0), line, SquadAction.ListSquadFavorite(task)))
sendResponse(SquadDefinitionActionMessage(PlanetSideGUID(0), line, SquadAction.ListSquadFavorite(task)))
case SquadResponse.InitList(infos) =>
sendResponse(ReplicationStreamMessage(infos))
@ -512,7 +512,7 @@ class WorldSessionActor extends Actor
}
StopBundlingPackets()
//send an initial dummy update for map icon(s)
sendResponse(SquadState(types.PlanetSideGUID(squad_supplement_id),
sendResponse(SquadState(PlanetSideGUID(squad_supplement_id),
membershipPositions
.filterNot { case (member, _) => member.CharId == avatar.CharId }
.map{ case (member, _) => SquadStateInfo(member.CharId, member.Health, member.Armor, member.Position, 2,2, false, 429, None,None) }
@ -538,7 +538,7 @@ class WorldSessionActor extends Actor
sendResponse(PlanetsideAttributeMessage(playerGuid, 34, 4294967295L)) //unknown, perhaps unrelated?
lfsm = false
//a finalization? what does this do?
sendResponse(SquadDefinitionActionMessage(types.PlanetSideGUID(0), 0, SquadAction.Unknown(18)))
sendResponse(SquadDefinitionActionMessage(PlanetSideGUID(0), 0, SquadAction.Unknown(18)))
squad_supplement_id = 0
squadUpdateCounter = 0
updateSquad = NoSquadUpdates
@ -604,7 +604,7 @@ class WorldSessionActor extends Actor
if(updatedEntries.nonEmpty) {
sendResponse(
SquadState(
types.PlanetSideGUID(squad_supplement_id),
PlanetSideGUID(squad_supplement_id),
updatedEntries.map { entry => SquadStateInfo(entry.char_id, entry.health, entry.armor, entry.pos, 2,2, false, 429, None,None)}
)
)
@ -612,7 +612,7 @@ class WorldSessionActor extends Actor
case SquadResponse.SquadSearchResults() =>
//I don't actually know how to return search results
sendResponse(SquadDefinitionActionMessage(types.PlanetSideGUID(0), 0, SquadAction.NoSquadSearchResults()))
sendResponse(SquadDefinitionActionMessage(PlanetSideGUID(0), 0, SquadAction.NoSquadSearchResults()))
case SquadResponse.InitWaypoints(char_id, waypoints) =>
StartBundlingPackets()
@ -719,8 +719,8 @@ class WorldSessionActor extends Actor
}
sendResponse(CharacterInfoMessage(15, PlanetSideZoneID(10000), avatar.CharId, player.GUID, false, 6404428))
RemoveCharacterSelectScreenGUID(player)
sendResponse(CharacterInfoMessage(0, PlanetSideZoneID(1), 0, types.PlanetSideGUID(0), true, 0))
sendResponse(CharacterInfoMessage(0, PlanetSideZoneID(1), 0, types.PlanetSideGUID(0), true, 0))
sendResponse(CharacterInfoMessage(0, PlanetSideZoneID(1), 0, PlanetSideGUID(0), true, 0))
sendResponse(CharacterInfoMessage(0, PlanetSideZoneID(1), 0, PlanetSideGUID(0), true, 0))
case VehicleLoaded(_ /*vehicle*/) => ;
//currently being handled by VehicleSpawnPad.LoadVehicle during testing phase
@ -822,7 +822,7 @@ class WorldSessionActor extends Actor
continent.LocalEvents ! LocalServiceMessage.Deployables(RemoverActor.AddTask(obj, continent))
sendResponse(SetEmpireMessage(guid, PlanetSideEmpire.NEUTRAL))
continent.AvatarEvents ! AvatarServiceMessage(factionChannel, AvatarAction.SetEmpire(playerGUID, guid, PlanetSideEmpire.NEUTRAL))
val info = DeployableInfo(guid, DeployableIcon.Boomer, obj.Position, types.PlanetSideGUID(0))
val info = DeployableInfo(guid, DeployableIcon.Boomer, obj.Position, PlanetSideGUID(0))
sendResponse(DeployableObjectsInfoMessage(DeploymentAction.Dismiss, info))
continent.LocalEvents ! LocalServiceMessage(factionChannel, LocalAction.DeployableMapIcon(playerGUID, DeploymentAction.Dismiss, info))
PutItemOnGround(item, pos, orient)
@ -830,7 +830,7 @@ class WorldSessionActor extends Actor
//pointless trigger
val guid = item.GUID
continent.Ground ! Zone.Ground.RemoveItem(guid) //undo; no callback
continent.AvatarEvents ! AvatarServiceMessage(continent.Id, AvatarAction.ObjectDelete(types.PlanetSideGUID(0), guid))
continent.AvatarEvents ! AvatarServiceMessage(continent.Id, AvatarAction.ObjectDelete(PlanetSideGUID(0), guid))
taskResolver ! GUIDTask.UnregisterObjectTask(item)(continent.GUID)
}
@ -1031,7 +1031,7 @@ class WorldSessionActor extends Actor
LivePlayerList.Add(sessionId, avatar)
traveler = new Traveler(self, continent.Id)
//PropertyOverrideMessage
sendResponse(PlanetsideAttributeMessage(types.PlanetSideGUID(0), 112, 0)) // disable festive backpacks
sendResponse(PlanetsideAttributeMessage(PlanetSideGUID(0), 112, 0)) // disable festive backpacks
sendResponse(ReplicationStreamMessage(5, Some(6), Vector.empty)) //clear squad list
sendResponse(FriendsResponse(FriendAction.InitializeFriendList, 0, true, true, Nil))
sendResponse(FriendsResponse(FriendAction.InitializeIgnoreList, 0, true, true, Nil))
@ -1170,7 +1170,7 @@ class WorldSessionActor extends Actor
*/
def HandleAvatarServiceResponse(toChannel : String, guid : PlanetSideGUID, reply : AvatarResponse.Response) : Unit = {
val tplayer_guid = if(player.HasGUID) player.GUID
else types.PlanetSideGUID(0)
else PlanetSideGUID(0)
reply match {
case AvatarResponse.SendResponse(msg) =>
sendResponse(msg)
@ -1431,7 +1431,7 @@ class WorldSessionActor extends Actor
}
case AvatarResponse.ProjectileExplodes(projectile_guid, projectile) =>
sendResponse(ProjectileStateMessage(projectile_guid, projectile.Position, Vector3.Zero, projectile.Orientation, 0, true, types.PlanetSideGUID(0)))
sendResponse(ProjectileStateMessage(projectile_guid, projectile.Position, Vector3.Zero, projectile.Orientation, 0, true, PlanetSideGUID(0)))
sendResponse(ObjectDeleteMessage(projectile_guid, 2))
case AvatarResponse.ProjectileAutoLockAwareness(mode) =>
@ -1519,7 +1519,7 @@ class WorldSessionActor extends Actor
*/
def HandleLocalServiceResponse(toChannel : String, guid : PlanetSideGUID, reply : LocalResponse.Response) : Unit = {
val tplayer_guid = if(player.HasGUID) player.GUID
else types.PlanetSideGUID(0)
else PlanetSideGUID(0)
reply match {
case LocalResponse.AlertDestroyDeployable(obj) =>
//the (former) owner (obj.OwnerName) should process this message
@ -1662,10 +1662,10 @@ class WorldSessionActor extends Actor
}
case LocalResponse.ProximityTerminalEffect(object_guid, true) =>
sendResponse(ProximityTerminalUseMessage(types.PlanetSideGUID(0), object_guid, true))
sendResponse(ProximityTerminalUseMessage(PlanetSideGUID(0), object_guid, true))
case LocalResponse.ProximityTerminalEffect(object_guid, false) =>
sendResponse(ProximityTerminalUseMessage(types.PlanetSideGUID(0), object_guid, false))
sendResponse(ProximityTerminalUseMessage(PlanetSideGUID(0), object_guid, false))
ForgetAllProximityTerminals(object_guid)
case LocalResponse.RouterTelepadMessage(msg) =>
@ -1708,7 +1708,7 @@ class WorldSessionActor extends Actor
*/
def HandleChatServiceResponse(toChannel : String, avatar_guid : PlanetSideGUID, avatar_name : String, cont : Zone, avatar_pos : Vector3, avatar_faction : PlanetSideEmpire.Value, target : Int, reply : ChatMsg) : Unit = {
val tplayer_guid = if(player.HasGUID) player.GUID
else types.PlanetSideGUID(0)
else PlanetSideGUID(0)
target match {
case 0 => // for other(s) user(s)
if (player.GUID != avatar_guid) {
@ -1732,7 +1732,7 @@ class WorldSessionActor extends Actor
if(!player.silenced) {
sendResponse(ChatMsg(ChatMessageType.UNK_71, reply.wideContents, reply.recipient, "@silence_on", reply.note))
player.silenced = true
context.system.scheduler.scheduleOnce(silence_time minutes, chatService, ChatServiceMessage("gm", ChatAction.GM(types.PlanetSideGUID(0), player.Name, ChatMsg(ChatMessageType.CMT_SILENCE, true, "", player.Name, None))))
context.system.scheduler.scheduleOnce(silence_time minutes, chatService, ChatServiceMessage("gm", ChatAction.GM(PlanetSideGUID(0), player.Name, ChatMsg(ChatMessageType.CMT_SILENCE, true, "", player.Name, None))))
}
else {
sendResponse(ChatMsg(ChatMessageType.UNK_71, reply.wideContents, reply.recipient, "@silence_off", reply.note))
@ -2233,7 +2233,7 @@ class WorldSessionActor extends Actor
val existingBox = existingWeapon.AmmoSlots(index).Box
existingBox.Capacity = savedWeapon.AmmoSlots(index).Box.Capacity
//use VehicleAction.InventoryState2; VehicleAction.InventoryState temporarily glitches ammo count in ui
continent.VehicleEvents ! VehicleServiceMessage(channel, VehicleAction.InventoryState2(types.PlanetSideGUID(0), existingBox.GUID, existingWeapon.GUID, existingBox.Capacity))
continent.VehicleEvents ! VehicleServiceMessage(channel, VehicleAction.InventoryState2(PlanetSideGUID(0), existingBox.GUID, existingWeapon.GUID, existingBox.Capacity))
})
})
afterInventory
@ -2448,7 +2448,7 @@ class WorldSessionActor extends Actor
* @param reply na
*/
def HandleVehicleServiceResponse(toChannel : String, guid : PlanetSideGUID, reply : VehicleResponse.Response) : Unit = {
val tplayer_guid = if(player.HasGUID) player.GUID else types.PlanetSideGUID(0)
val tplayer_guid = if(player.HasGUID) player.GUID else PlanetSideGUID(0)
reply match {
case VehicleResponse.AttachToRails(vehicle_guid, pad_guid) =>
@ -2704,7 +2704,7 @@ class WorldSessionActor extends Actor
continent.Id,
VehicleAction.SendResponse(
player.GUID,
CargoMountPointStatusMessage(carrierGUID, types.PlanetSideGUID(0), types.PlanetSideGUID(0), cargoGUID, mountPoint, CargoStatus.Empty, 0)
CargoMountPointStatusMessage(carrierGUID, PlanetSideGUID(0), PlanetSideGUID(0), cargoGUID, mountPoint, CargoStatus.Empty, 0)
)
)
//sending packet to the cargo vehicle's client results in player locking himself in his vehicle
@ -2775,8 +2775,8 @@ class WorldSessionActor extends Actor
cargo.MountedIn = carrierGUID
hold.Occupant = cargo
cargo.Velocity = None
continent.VehicleEvents ! VehicleServiceMessage(s"${cargo.Actor}", VehicleAction.SendResponse(types.PlanetSideGUID(0), PlanetsideAttributeMessage(cargoGUID, 0, cargo.Health)))
continent.VehicleEvents ! VehicleServiceMessage(s"${cargo.Actor}", VehicleAction.SendResponse(types.PlanetSideGUID(0), PlanetsideAttributeMessage(cargoGUID, 68, cargo.Shields)))
continent.VehicleEvents ! VehicleServiceMessage(s"${cargo.Actor}", VehicleAction.SendResponse(PlanetSideGUID(0), PlanetsideAttributeMessage(cargoGUID, 0, cargo.Health)))
continent.VehicleEvents ! VehicleServiceMessage(s"${cargo.Actor}", VehicleAction.SendResponse(PlanetSideGUID(0), PlanetsideAttributeMessage(cargoGUID, 68, cargo.Shields)))
StartBundlingPackets()
val (attachMsg, mountPointMsg) = CargoMountBehaviorForAll(carrier, cargo, mountPoint)
StopBundlingPackets()
@ -2790,7 +2790,7 @@ class WorldSessionActor extends Actor
continent.Id,
VehicleAction.SendResponse(
player.GUID,
CargoMountPointStatusMessage(carrierGUID, types.PlanetSideGUID(0), types.PlanetSideGUID(0), cargoGUID, mountPoint, CargoStatus.Empty, 0)
CargoMountPointStatusMessage(carrierGUID, PlanetSideGUID(0), PlanetSideGUID(0), cargoGUID, mountPoint, CargoStatus.Empty, 0)
)
)
//sending packet to the cargo vehicle's client results in player locking himself in his vehicle
@ -2843,7 +2843,7 @@ class WorldSessionActor extends Actor
def CargoMountMessages(carrierGUID : PlanetSideGUID, cargoGUID : PlanetSideGUID, mountPoint : Int, orientation : Int) : (ObjectAttachMessage, CargoMountPointStatusMessage) = {
(
ObjectAttachMessage(carrierGUID, cargoGUID, mountPoint),
CargoMountPointStatusMessage(carrierGUID, cargoGUID, cargoGUID, types.PlanetSideGUID(0), mountPoint, CargoStatus.Occupied, orientation)
CargoMountPointStatusMessage(carrierGUID, cargoGUID, cargoGUID, PlanetSideGUID(0), mountPoint, CargoStatus.Occupied, orientation)
)
}
@ -3088,7 +3088,7 @@ class WorldSessionActor extends Actor
val guid = tplayer.GUID
StartBundlingPackets()
InitializeDeployableUIElements(avatar)
sendResponse(PlanetsideAttributeMessage(types.PlanetSideGUID(0), 75, 0))
sendResponse(PlanetsideAttributeMessage(PlanetSideGUID(0), 75, 0))
sendResponse(SetCurrentAvatarMessage(guid, 0, 0))
sendResponse(ChatMsg(ChatMessageType.CMT_EXPANSIONS, true, "", "1 on", None)) //CC on //TODO once per respawn?
sendResponse(PlayerStateShiftMessage(ShiftState(1, shiftPosition.getOrElse(tplayer.Position), tplayer.Orientation.z)))
@ -3101,7 +3101,7 @@ class WorldSessionActor extends Actor
sendResponse(AvatarImplantMessage(guid, ImplantAction.Activation, slot, 0)) //deactivate implant
//TODO if this implant is Installed but does not have shortcut, add to a free slot or write over slot 61/62/63
})
sendResponse(PlanetsideAttributeMessage(types.PlanetSideGUID(0), 82, 0))
sendResponse(PlanetsideAttributeMessage(PlanetSideGUID(0), 82, 0))
//TODO if Medkit does not have shortcut, add to a free slot or write over slot 64
sendResponse(CreateShortcutMessage(guid, 1, 0, true, Shortcut.MEDKIT))
sendResponse(ChangeShortcutBankMessage(guid, 0))
@ -3126,7 +3126,7 @@ class WorldSessionActor extends Actor
sendResponse(AvatarSearchCriteriaMessage(guid, List(0, 0, 0, 0, 0, 0)))
(1 to 73).foreach(i => {
// not all GUID's are set, and not all of the set ones will always be zero; what does this section do?
sendResponse(PlanetsideAttributeMessage(types.PlanetSideGUID(i), 67, 0))
sendResponse(PlanetsideAttributeMessage(PlanetSideGUID(i), 67, 0))
})
(0 to 30).foreach(i => {
//TODO 30 for a new character only?
@ -3185,16 +3185,16 @@ class WorldSessionActor extends Actor
def FirstTimeSquadSetup() : Unit = {
sendResponse(SquadDetailDefinitionUpdateMessage.Init)
sendResponse(ReplicationStreamMessage(5, Some(6), Vector.empty)) //clear squad list
sendResponse(SquadDefinitionActionMessage(types.PlanetSideGUID(0), 0, SquadAction.Unknown(6)))
sendResponse(SquadDefinitionActionMessage(PlanetSideGUID(0), 0, SquadAction.Unknown(6)))
//only need to load these once - they persist between zone transfers and respawns
avatar.SquadLoadouts.Loadouts.foreach {
case (index, loadout : SquadLoadout) =>
sendResponse(SquadDefinitionActionMessage(types.PlanetSideGUID(0), index, SquadAction.ListSquadFavorite(loadout.task)))
sendResponse(SquadDefinitionActionMessage(PlanetSideGUID(0), index, SquadAction.ListSquadFavorite(loadout.task)))
}
//non-squad GUID-0 counts as the settings when not joined with a squad
sendResponse(SquadDefinitionActionMessage(types.PlanetSideGUID(0), 0, SquadAction.AssociateWithSquad()))
sendResponse(SquadDefinitionActionMessage(types.PlanetSideGUID(0), 0, SquadAction.SetListSquad()))
sendResponse(SquadDefinitionActionMessage(types.PlanetSideGUID(0), 0, SquadAction.Unknown(18)))
sendResponse(SquadDefinitionActionMessage(PlanetSideGUID(0), 0, SquadAction.AssociateWithSquad()))
sendResponse(SquadDefinitionActionMessage(PlanetSideGUID(0), 0, SquadAction.SetListSquad()))
sendResponse(SquadDefinitionActionMessage(PlanetSideGUID(0), 0, SquadAction.Unknown(18)))
squadService ! SquadServiceMessage(player, continent, SquadServiceAction.InitSquadList())
squadService ! SquadServiceMessage(player, continent, SquadServiceAction.InitCharId())
squadSetup = RespawnSquadSetup
@ -3384,7 +3384,7 @@ class WorldSessionActor extends Actor
case (Some(_ : Vehicle), Some(carrier : Vehicle)) =>
carrier.Definition.Cargo.headOption match {
case Some((mountPoint, _)) => //begin the mount process - open the cargo door
val reply = CargoMountPointStatusMessage(cargo_vehicle_guid, types.PlanetSideGUID(0), vehicle_guid, types.PlanetSideGUID(0), mountPoint, CargoStatus.InProgress, 0)
val reply = CargoMountPointStatusMessage(cargo_vehicle_guid, PlanetSideGUID(0), vehicle_guid, PlanetSideGUID(0), mountPoint, CargoStatus.InProgress, 0)
log.debug(reply.toString)
continent.AvatarEvents ! AvatarServiceMessage(continent.Id, AvatarAction.SendResponse(player.GUID, reply))
sendResponse(reply)
@ -3450,7 +3450,7 @@ class WorldSessionActor extends Actor
//custom
sendResponse(ContinentalLockUpdateMessage(13, PlanetSideEmpire.VS)) // "The VS have captured the VS Sanctuary."
sendResponse(ReplicationStreamMessage(5, Some(6), Vector.empty)) //clear squad list
sendResponse(PlanetsideAttributeMessage(types.PlanetSideGUID(0), 112, 0)) // disable festive backpacks
sendResponse(PlanetsideAttributeMessage(PlanetSideGUID(0), 112, 0)) // disable festive backpacks
//(0 to 255).foreach(i => { sendResponse(SetEmpireMessage(PlanetSideGUID(i), PlanetSideEmpire.VS)) })
//find and reclaim own deployables, if any
@ -3512,7 +3512,7 @@ class WorldSessionActor extends Actor
continent.DeployableList
.filter(obj => obj.Faction == faction && obj.Health > 0)
.foreach(obj => {
val deployInfo = DeployableInfo(obj.GUID, Deployable.Icon(obj.Definition.Item), obj.Position, obj.Owner.getOrElse(types.PlanetSideGUID(0)))
val deployInfo = DeployableInfo(obj.GUID, Deployable.Icon(obj.Definition.Item), obj.Position, obj.Owner.getOrElse(PlanetSideGUID(0)))
sendResponse(DeployableObjectsInfoMessage(DeploymentAction.Build, deployInfo))
})
//render Equipment that was dropped into zone before the player arrived
@ -3626,14 +3626,14 @@ class WorldSessionActor extends Actor
//implant terminals
continent.Map.TerminalToInterface.foreach({ case ((terminal_guid, interface_guid)) =>
val parent_guid = types.PlanetSideGUID(terminal_guid)
val parent_guid = PlanetSideGUID(terminal_guid)
continent.GUID(interface_guid) match {
case Some(obj : Terminal) =>
val objDef = obj.Definition
sendResponse(
ObjectCreateMessage(
objDef.ObjectId,
types.PlanetSideGUID(interface_guid),
PlanetSideGUID(interface_guid),
ObjectCreateMessageParent(parent_guid, 1),
objDef.Packet.ConstructorData(obj).get
)
@ -4031,7 +4031,7 @@ class WorldSessionActor extends Actor
case Some(turret : FacilityTurret) if turret.isUpgrading =>
FinishUpgradingMannedTurret(turret, TurretUpgrade.None)
case _ =>
self ! PacketCoding.CreateGamePacket(0, RequestDestroyMessage(types.PlanetSideGUID(guid)))
self ! PacketCoding.CreateGamePacket(0, RequestDestroyMessage(PlanetSideGUID(guid)))
}
}
if(messagetype == ChatMessageType.CMT_VOICE) {
@ -4438,7 +4438,7 @@ class WorldSessionActor extends Actor
log.warn(s"RequestDestroy: boomer_trigger@$guid has been found but it seems to be orphaned")
case _ => ;
}
continent.AvatarEvents ! AvatarServiceMessage(continent.Id, AvatarAction.ObjectDelete(types.PlanetSideGUID(0), guid))
continent.AvatarEvents ! AvatarServiceMessage(continent.Id, AvatarAction.ObjectDelete(PlanetSideGUID(0), guid))
GUIDTask.UnregisterObjectTask(trigger)(continent.GUID)
case None => ;
@ -4576,7 +4576,7 @@ class WorldSessionActor extends Actor
if (avatar.Implant(slot).id == 3) timeDL = 0
if (avatar.Implant(slot).id == 9) timeSurge = 0
}
sendResponse(AvatarImplantMessage(types.PlanetSideGUID(player.GUID.guid),action,slot,status))
sendResponse(AvatarImplantMessage(PlanetSideGUID(player.GUID.guid),action,slot,status))
}
case msg @ UseItemMessage(avatar_guid, item_used_guid, object_guid, unk2, unk3, unk4, unk5, unk6, unk7, unk8, itemType) =>
@ -5026,7 +5026,7 @@ class WorldSessionActor extends Actor
//explicit request
terminal.Actor ! Terminal.Request(
player,
ItemTransactionMessage(object_guid, TransactionType.Buy, 0, "router_telepad", 0, types.PlanetSideGUID(0))
ItemTransactionMessage(object_guid, TransactionType.Buy, 0, "router_telepad", 0, PlanetSideGUID(0))
)
}
else if (!ownerIsHacked || (ownerIsHacked && terminal.HackedBy.isDefined)) {
@ -5045,7 +5045,7 @@ class WorldSessionActor extends Actor
}
}
case Some(obj : SpawnTube) =>
if(item_used_guid == types.PlanetSideGUID(0)) { // Ensure that we're not trying to use a tool on the spawn tube, e.g. medical applicator
if(item_used_guid == PlanetSideGUID(0)) { // Ensure that we're not trying to use a tool on the spawn tube, e.g. medical applicator
//deconstruction
PlayerActionsToCancel()
CancelAllProximityUnits()
@ -6266,7 +6266,7 @@ class WorldSessionActor extends Actor
tplayer.Holsters().foreach(holster => {
SetCharacterSelectScreenGUID_SelectEquipment(holster.Equipment, gen)
})
tplayer.GUID = types.PlanetSideGUID(gen.getAndIncrement)
tplayer.GUID = PlanetSideGUID(gen.getAndIncrement)
}
/**
@ -6279,10 +6279,10 @@ class WorldSessionActor extends Actor
private def SetCharacterSelectScreenGUID_SelectEquipment(item : Option[Equipment], gen : AtomicInteger) : Unit = {
item match {
case Some(tool : Tool) =>
tool.AmmoSlots.foreach(slot => { slot.Box.GUID = types.PlanetSideGUID(gen.getAndIncrement) })
tool.GUID = types.PlanetSideGUID(gen.getAndIncrement)
tool.AmmoSlots.foreach(slot => { slot.Box.GUID = PlanetSideGUID(gen.getAndIncrement) })
tool.GUID = PlanetSideGUID(gen.getAndIncrement)
case Some(item : Equipment) =>
item.GUID = types.PlanetSideGUID(gen.getAndIncrement)
item.GUID = PlanetSideGUID(gen.getAndIncrement)
case None => ;
}
}
@ -6564,7 +6564,7 @@ class WorldSessionActor extends Actor
if(vehicle.Owner.contains(pguid)) {
vehicle.AssignOwnership(None)
val factionChannel = s"${vehicle.Faction}"
continent.VehicleEvents ! VehicleServiceMessage(factionChannel, VehicleAction.Ownership(pguid, types.PlanetSideGUID(0)))
continent.VehicleEvents ! VehicleServiceMessage(factionChannel, VehicleAction.Ownership(pguid, PlanetSideGUID(0)))
val vguid = vehicle.GUID
val empire = VehicleLockState.Empire.id
(0 to 2).foreach(group => {
@ -7438,7 +7438,7 @@ class WorldSessionActor extends Actor
}
case DriveState.Deployed =>
//let the timer do all the work
continent.LocalEvents ! LocalServiceMessage(continent.Id, LocalAction.ToggleTeleportSystem(types.PlanetSideGUID(0), vehicle, TelepadLike.AppraiseTeleportationSystem(vehicle, continent)))
continent.LocalEvents ! LocalServiceMessage(continent.Id, LocalAction.ToggleTeleportSystem(PlanetSideGUID(0), vehicle, TelepadLike.AppraiseTeleportationSystem(vehicle, continent)))
case DriveState.Undeploying =>
//deactivate internal router before trying to reset the system
vehicle.Utility(UtilityType.internal_router_telepad_deployable) match {
@ -7451,7 +7451,7 @@ class WorldSessionActor extends Actor
case Some(_) | None => ;
}
util.Active = false
continent.LocalEvents ! LocalServiceMessage(continent.Id, LocalAction.ToggleTeleportSystem(types.PlanetSideGUID(0), vehicle, None))
continent.LocalEvents ! LocalServiceMessage(continent.Id, LocalAction.ToggleTeleportSystem(PlanetSideGUID(0), vehicle, None))
case _ =>
log.warn(s"DeploymentActivities: could not find internal telepad in router@${vehicle.GUID.guid} while $state")
}
@ -7633,10 +7633,10 @@ class WorldSessionActor extends Actor
if(hackable.HackedBy.isDefined) {
amenity.Definition match {
case GlobalDefinitions.capture_terminal =>
self ! LocalServiceResponse("", types.PlanetSideGUID(0), LocalResponse.HackCaptureTerminal(amenity.GUID, 0L, 0L, false))
self ! LocalServiceResponse("", PlanetSideGUID(0), LocalResponse.HackCaptureTerminal(amenity.GUID, 0L, 0L, false))
case _ =>
// Generic hackable object
self ! LocalServiceResponse("", types.PlanetSideGUID(0), LocalResponse.HackObject(amenity.GUID, 1114636288L, 8L))
self ! LocalServiceResponse("", PlanetSideGUID(0), LocalResponse.HackObject(amenity.GUID, 1114636288L, 8L))
}
}
}
@ -7683,7 +7683,7 @@ class WorldSessionActor extends Actor
sendResponse(PlanetsideAttributeMessage(player_guid, 0, 0))
sendResponse(PlanetsideAttributeMessage(player_guid, 2, 0))
continent.AvatarEvents ! AvatarServiceMessage(continent.Id, AvatarAction.PlanetsideAttribute(player_guid, 0, 0))
sendResponse(DestroyMessage(player_guid, player_guid, types.PlanetSideGUID(0), pos)) //how many players get this message?
sendResponse(DestroyMessage(player_guid, player_guid, PlanetSideGUID(0), pos)) //how many players get this message?
sendResponse(AvatarDeadStateMessage(DeadState.Dead, respawnTimer, respawnTimer, pos, player.Faction, true))
if(tplayer.VehicleSeated.nonEmpty) {
continent.GUID(tplayer.VehicleSeated.get) match {
@ -8563,7 +8563,7 @@ class WorldSessionActor extends Actor
* second pair is maximum quantity
*/
def UpdateDeployableUIElements(list : List[(Int,Int,Int,Int)]) : Unit = {
val guid = types.PlanetSideGUID(0)
val guid = PlanetSideGUID(0)
list.foreach({ case((currElem, curr, maxElem, max)) =>
//fields must update in ordered pairs: max, curr
sendResponse(PlanetsideAttributeMessage(guid, maxElem, max))
@ -8764,7 +8764,7 @@ class WorldSessionActor extends Actor
sendResponse(ObjectCreateMessage(definition.ObjectId, guid, definition.Packet.ConstructorData(obj).get))
continent.AvatarEvents ! AvatarServiceMessage(continent.Id, AvatarAction.DeployItem(player.GUID, obj))
//map icon
val deployInfo = DeployableInfo(guid, Deployable.Icon(item), obj.Position, obj.Owner.getOrElse(types.PlanetSideGUID(0)))
val deployInfo = DeployableInfo(guid, Deployable.Icon(item), obj.Position, obj.Owner.getOrElse(PlanetSideGUID(0)))
sendResponse(DeployableObjectsInfoMessage(DeploymentAction.Build, deployInfo))
continent.LocalEvents ! LocalServiceMessage(s"${player.Faction}", LocalAction.DeployableMapIcon(player.GUID, DeploymentAction.Build, deployInfo))
}
@ -8938,7 +8938,7 @@ class WorldSessionActor extends Actor
obj.Position = Vector3.Zero
continent.Ground ! Zone.Ground.RemoveItem(object_guid)
continent.AvatarEvents ! AvatarServiceMessage.Ground(RemoverActor.ClearSpecific(List(obj), continent))
continent.AvatarEvents ! AvatarServiceMessage(continent.Id, AvatarAction.ObjectDelete(types.PlanetSideGUID(0), object_guid))
continent.AvatarEvents ! AvatarServiceMessage(continent.Id, AvatarAction.ObjectDelete(PlanetSideGUID(0), object_guid))
log.info(s"RequestDestroy: equipment $obj on ground")
true
}
@ -8963,7 +8963,7 @@ class WorldSessionActor extends Actor
sendResponse(
DeployableObjectsInfoMessage(
DeploymentAction.Dismiss,
DeployableInfo(guid, Deployable.Icon(obj.Definition.Item), pos, obj.Owner.getOrElse(types.PlanetSideGUID(0)))
DeployableInfo(guid, Deployable.Icon(obj.Definition.Item), pos, obj.Owner.getOrElse(PlanetSideGUID(0)))
)
)
}
@ -8988,7 +8988,7 @@ class WorldSessionActor extends Actor
sendResponse(
DeployableObjectsInfoMessage(
DeploymentAction.Dismiss,
DeployableInfo(guid, Deployable.Icon(obj.Definition.Item), pos, obj.Owner.getOrElse(types.PlanetSideGUID(0)))
DeployableInfo(guid, Deployable.Icon(obj.Definition.Item), pos, obj.Owner.getOrElse(PlanetSideGUID(0)))
)
)
}
@ -9021,13 +9021,13 @@ class WorldSessionActor extends Actor
target.OwnerName match {
case Some(owner) =>
target.OwnerName = None
continent.LocalEvents ! LocalServiceMessage(owner, LocalAction.AlertDestroyDeployable(types.PlanetSideGUID(0), target))
continent.LocalEvents ! LocalServiceMessage(owner, LocalAction.AlertDestroyDeployable(PlanetSideGUID(0), target))
case None => ;
}
continent.LocalEvents ! LocalServiceMessage(s"${target.Faction}", LocalAction.DeployableMapIcon(
types.PlanetSideGUID(0),
PlanetSideGUID(0),
DeploymentAction.Dismiss,
DeployableInfo(target.GUID, Deployable.Icon(target.Definition.Item), target.Position, types.PlanetSideGUID(0)))
DeployableInfo(target.GUID, Deployable.Icon(target.Definition.Item), target.Position, PlanetSideGUID(0)))
)
continent.LocalEvents ! LocalServiceMessage.Deployables(RemoverActor.ClearSpecific(List(target), continent))
continent.LocalEvents ! LocalServiceMessage.Deployables(RemoverActor.AddTask(target, continent, time))
@ -9290,7 +9290,7 @@ class WorldSessionActor extends Actor
player.Continent = zone_id //forward-set the continent id to perform a test
interstellarFerryTopLevelGUID = (if(vehicle.Seats.values.count(_.isOccupied) == 1 && occupiedCargoHolds.size == 0) {
//do not delete if vehicle has passengers or cargo
val vehicleToDelete = interstellarFerryTopLevelGUID.orElse(player.VehicleSeated).getOrElse(types.PlanetSideGUID(0))
val vehicleToDelete = interstellarFerryTopLevelGUID.orElse(player.VehicleSeated).getOrElse(PlanetSideGUID(0))
continent.VehicleEvents ! VehicleServiceMessage(continent.Id, VehicleAction.UnloadVehicle(pguid, continent, vehicle, vehicleToDelete))
None
}
@ -9352,7 +9352,7 @@ class WorldSessionActor extends Actor
val continentId = continent.Id
if(NoVehicleOccupantsInZone(vehicle, continentId)) {
//do not dispatch delete action if any hierarchical occupant has not gotten this far through the summoning process
val vehicleToDelete = interstellarFerryTopLevelGUID.orElse(player.VehicleSeated).getOrElse(types.PlanetSideGUID(0))
val vehicleToDelete = interstellarFerryTopLevelGUID.orElse(player.VehicleSeated).getOrElse(PlanetSideGUID(0))
continent.VehicleEvents ! VehicleServiceMessage(continentId, VehicleAction.UnloadVehicle(player.GUID, continent, vehicle, vehicleToDelete))
}
interstellarFerryTopLevelGUID = None
@ -9460,7 +9460,7 @@ class WorldSessionActor extends Actor
sendResponse(ActionResultMessage.Pass)
player.GUID //we're dropping the item; don't need to see it dropped again
case None =>
types.PlanetSideGUID(0) //item is being introduced into the world upon drop
PlanetSideGUID(0) //item is being introduced into the world upon drop
}
continent.AvatarEvents ! AvatarServiceMessage(continent.Id, AvatarAction.DropItem(exclusionId, item, continent))
}
@ -9717,18 +9717,18 @@ class WorldSessionActor extends Actor
carrier.Position
}
StartBundlingPackets()
continent.VehicleEvents ! VehicleServiceMessage(s"${cargo.Actor}", VehicleAction.SendResponse(types.PlanetSideGUID(0), PlanetsideAttributeMessage(cargoGUID, 0, cargo.Health)))
continent.VehicleEvents ! VehicleServiceMessage(s"${cargo.Actor}", VehicleAction.SendResponse(types.PlanetSideGUID(0), PlanetsideAttributeMessage(cargoGUID, 68, cargo.Shields)))
continent.VehicleEvents ! VehicleServiceMessage(s"${cargo.Actor}", VehicleAction.SendResponse(PlanetSideGUID(0), PlanetsideAttributeMessage(cargoGUID, 0, cargo.Health)))
continent.VehicleEvents ! VehicleServiceMessage(s"${cargo.Actor}", VehicleAction.SendResponse(PlanetSideGUID(0), PlanetsideAttributeMessage(cargoGUID, 68, cargo.Shields)))
if(carrier.Flying) {
//the carrier vehicle is flying; eject the cargo vehicle
val ejectCargoMsg = CargoMountPointStatusMessage(carrierGUID, types.PlanetSideGUID(0), types.PlanetSideGUID(0), cargoGUID, mountPoint, CargoStatus.InProgress, 0)
val ejectCargoMsg = CargoMountPointStatusMessage(carrierGUID, PlanetSideGUID(0), PlanetSideGUID(0), cargoGUID, mountPoint, CargoStatus.InProgress, 0)
val detachCargoMsg = ObjectDetachMessage(carrierGUID, cargoGUID, cargoHoldPosition - Vector3.z(1), rotation)
val resetCargoMsg = CargoMountPointStatusMessage(carrierGUID, types.PlanetSideGUID(0), types.PlanetSideGUID(0), cargoGUID, mountPoint, CargoStatus.Empty, 0)
val resetCargoMsg = CargoMountPointStatusMessage(carrierGUID, PlanetSideGUID(0), PlanetSideGUID(0), cargoGUID, mountPoint, CargoStatus.Empty, 0)
sendResponse(ejectCargoMsg) //dismount vehicle on UI and disable "shield" effect on lodestar
sendResponse(detachCargoMsg)
continent.VehicleEvents ! VehicleServiceMessage(continent.Id, VehicleAction.SendResponse(player_guid, ejectCargoMsg))
continent.VehicleEvents ! VehicleServiceMessage(continent.Id, VehicleAction.SendResponse(player_guid, detachCargoMsg))
continent.VehicleEvents ! VehicleServiceMessage(continent.Id, VehicleAction.SendResponse(types.PlanetSideGUID(0), resetCargoMsg)) //lazy
continent.VehicleEvents ! VehicleServiceMessage(continent.Id, VehicleAction.SendResponse(PlanetSideGUID(0), resetCargoMsg)) //lazy
log.debug(ejectCargoMsg.toString)
log.debug(detachCargoMsg.toString)
if(driverOpt.isEmpty) {
@ -9739,7 +9739,7 @@ class WorldSessionActor extends Actor
}
else {
//the carrier vehicle is not flying; just open the door and let the cargo vehicle back out; force it out if necessary
val cargoStatusMessage = CargoMountPointStatusMessage(carrierGUID, types.PlanetSideGUID(0), cargoGUID, types.PlanetSideGUID(0), mountPoint, CargoStatus.InProgress, 0)
val cargoStatusMessage = CargoMountPointStatusMessage(carrierGUID, PlanetSideGUID(0), cargoGUID, PlanetSideGUID(0), mountPoint, CargoStatus.InProgress, 0)
val cargoDetachMessage = ObjectDetachMessage(carrierGUID, cargoGUID, cargoHoldPosition + Vector3.z(1f), rotation)
sendResponse(cargoStatusMessage)
sendResponse(cargoDetachMessage)
@ -9755,8 +9755,8 @@ class WorldSessionActor extends Actor
cargoDismountTimer.cancel
cargoDismountTimer = context.system.scheduler.scheduleOnce(250 milliseconds, self, CheckCargoDismount(cargoGUID, carrierGUID, mountPoint, iteration = 0))
case None =>
val resetCargoMsg = CargoMountPointStatusMessage(carrierGUID, types.PlanetSideGUID(0), types.PlanetSideGUID(0), cargoGUID, mountPoint, CargoStatus.Empty, 0)
continent.VehicleEvents ! VehicleServiceMessage(continent.Id, VehicleAction.SendResponse(types.PlanetSideGUID(0), resetCargoMsg)) //lazy
val resetCargoMsg = CargoMountPointStatusMessage(carrierGUID, PlanetSideGUID(0), PlanetSideGUID(0), cargoGUID, mountPoint, CargoStatus.Empty, 0)
continent.VehicleEvents ! VehicleServiceMessage(continent.Id, VehicleAction.SendResponse(PlanetSideGUID(0), resetCargoMsg)) //lazy
//TODO cargo should back out like normal; until then, deconstruct it
continent.VehicleEvents ! VehicleServiceMessage.Decon(RemoverActor.ClearSpecific(List(cargo), continent))
continent.VehicleEvents ! VehicleServiceMessage.Decon(RemoverActor.AddTask(cargo, continent, Some(0 seconds)))
@ -9916,7 +9916,7 @@ class WorldSessionActor extends Actor
sendResponse(SquadMemberEvent.Add(id, fromCharId, fromIndex, toElem.name, toElem.zone, unk7 = 0))
sendResponse(
SquadState(
types.PlanetSideGUID(id),
PlanetSideGUID(id),
List(
SquadStateInfo(fromCharId, toElem.health, toElem.armor, toElem.position, 2, 2, false, 429, None, None),
SquadStateInfo(toCharId, fromElem.health, fromElem.armor, fromElem.position, 2, 2, false, 429, None, None)
@ -9932,7 +9932,7 @@ class WorldSessionActor extends Actor
sendResponse(SquadMemberEvent.Add(id, fromCharId, toIndex, elem.name, elem.zone, unk7 = 0))
sendResponse(
SquadState(
types.PlanetSideGUID(id),
PlanetSideGUID(id),
List(SquadStateInfo(fromCharId, elem.health, elem.armor, elem.position, 2, 2, false, 429, None, None))
)
)
@ -10120,7 +10120,7 @@ class WorldSessionActor extends Actor
if(avatar.Implants(0).Active) {
avatar.Implants(0).Active = false
continent.AvatarEvents ! AvatarServiceMessage(continent.Id, AvatarAction.PlanetsideAttribute(player.GUID, 28, avatar.Implant(0).id * 2))
sendResponse(AvatarImplantMessage(types.PlanetSideGUID(player.GUID.guid), ImplantAction.Activation, 0, 0))
sendResponse(AvatarImplantMessage(PlanetSideGUID(player.GUID.guid), ImplantAction.Activation, 0, 0))
timeDL = 0
}
}
@ -10133,7 +10133,7 @@ class WorldSessionActor extends Actor
if(avatar.Implants(1).Active) {
avatar.Implants(1).Active = false
continent.AvatarEvents ! AvatarServiceMessage(continent.Id, AvatarAction.PlanetsideAttribute(player.GUID, 28, avatar.Implant(1).id * 2))
sendResponse(AvatarImplantMessage(types.PlanetSideGUID(player.GUID.guid), ImplantAction.Activation, 1, 0))
sendResponse(AvatarImplantMessage(PlanetSideGUID(player.GUID.guid), ImplantAction.Activation, 1, 0))
timeSurge = 0
}
}

View file

@ -6,7 +6,6 @@ import net.psforever.packet.control.{ControlSync, MultiPacketBundle, SlottedMeta
import net.psforever.packet.{ControlPacket, GamePacket, GamePacketOpcode, PacketCoding}
import net.psforever.packet.game._
import net.psforever.packet.game.objectcreate.ObjectClass
import net.psforever.types
import net.psforever.types._
import scodec.bits._
@ -52,7 +51,7 @@ class PacketCodingActor3Test extends ActorTest {
class PacketCodingActor4Test extends ActorTest {
val string_hex = RawPacket(hex"2A 9F05 D405 86")
val string_obj = ObjectAttachMessage(types.PlanetSideGUID(1439), types.PlanetSideGUID(1492), 6)
val string_obj = ObjectAttachMessage(PlanetSideGUID(1439), PlanetSideGUID(1492), 6)
"PacketCodingActor" should {
"translate r-originating game packet into l-facing hexadecimal data" in {
@ -73,7 +72,7 @@ class PacketCodingActor4Test extends ActorTest {
class PacketCodingActor5Test extends ActorTest {
val string_hex = RawPacket(hex"2A 9F05 D405 86")
val string_obj = ObjectAttachMessage(types.PlanetSideGUID(1439), types.PlanetSideGUID(1492), 6)
val string_obj = ObjectAttachMessage(PlanetSideGUID(1439), PlanetSideGUID(1492), 6)
"PacketCodingActor" should {
"translate l-originating hexadecimal data into r-facing game packet" in {
@ -96,7 +95,7 @@ class PacketCodingActor5Test extends ActorTest {
}
class PacketCodingActor6Test extends ActorTest {
val string_obj = ObjectAttachMessage(types.PlanetSideGUID(1439), types.PlanetSideGUID(1492), 6)
val string_obj = ObjectAttachMessage(PlanetSideGUID(1439), PlanetSideGUID(1492), 6)
"PacketCodingActor" should {
"permit l-originating game packet to pass through as an r-facing game packet" in {
@ -370,8 +369,8 @@ class PacketCodingActorETest extends ActorTest {
"PacketCodingActor" should {
"unwind l-originating hexadecimal data into multiple r-facing packets (MultiPacket -> 2 PlayerStateMessageUpstream)" in {
val string_hex = RawPacket(hex"00 03 18 BD E8 04 5C 02 60 E3 F9 19 0E C1 41 27 00 04 02 60 20 0C 58 0B 20 00 00 18 BD E8 04 86 02 62 13 F9 19 0E D8 40 4D 00 04 02 60 20 0C 78 0A 80 00 00")
val string_obj1 = GamePacket(GamePacketOpcode.PlayerStateMessageUpstream, 0, PlayerStateMessageUpstream(types.PlanetSideGUID(1256),Vector3(3076.7188f,4734.1094f,56.390625f),Some(Vector3(4.0625f,4.59375f,0.0f)),36.5625f,-2.8125f,0.0f,866,0,false,false,false,false,178,0))
val string_obj2 = GamePacket(GamePacketOpcode.PlayerStateMessageUpstream, 0, PlayerStateMessageUpstream(types.PlanetSideGUID(1256),Vector3(3077.0469f,4734.258f,56.390625f),Some(Vector3(5.5f,1.1875f,0.0f)),36.5625f,-2.8125f,0.0f,867,0,false,false,false,false,168,0))
val string_obj1 = GamePacket(GamePacketOpcode.PlayerStateMessageUpstream, 0, PlayerStateMessageUpstream(PlanetSideGUID(1256),Vector3(3076.7188f,4734.1094f,56.390625f),Some(Vector3(4.0625f,4.59375f,0.0f)),36.5625f,-2.8125f,0.0f,866,0,false,false,false,false,178,0))
val string_obj2 = GamePacket(GamePacketOpcode.PlayerStateMessageUpstream, 0, PlayerStateMessageUpstream(PlanetSideGUID(1256),Vector3(3077.0469f,4734.258f,56.390625f),Some(Vector3(5.5f,1.1875f,0.0f)),36.5625f,-2.8125f,0.0f,867,0,false,false,false,false,168,0))
val probe1 = TestProbe()
val probe2 = system.actorOf(Props(classOf[MDCTestProbe], probe1), "mdc-probe")
@ -392,7 +391,7 @@ class PacketCodingActorFTest extends ActorTest {
"PacketCodingActor" should {
"unwind l-originating hexadecimal data into an r-facing packet (MultiPacket -> RelatedB + GenericObjectStateMsg)" in {
val string_hex = RawPacket(hex"00 03 04 00 15 02 98 0B 00 09 0C 0A 1D F2 00 10 00 00 00")
val string_obj = GamePacket(GamePacketOpcode.GenericObjectStateMsg, 0, GenericObjectStateMsg(types.PlanetSideGUID(242), 16))
val string_obj = GamePacket(GamePacketOpcode.GenericObjectStateMsg, 0, GenericObjectStateMsg(PlanetSideGUID(242), 16))
val probe1 = TestProbe()
val probe2 = system.actorOf(Props(classOf[MDCTestProbe], probe1), "mdc-probe")
@ -413,7 +412,7 @@ class PacketCodingActorGTest extends ActorTest {
"PacketCodingActor" should {
"unwind l-originating hexadecimal data into an r-facing packet (MultiPacketEx -> RelatedA + GenericObjectStateMsg)" in {
val string_hex = RawPacket(hex"00 19 04 00 11 02 98 0B 00 09 0C 0A 1D F2 00 10 00 00 00")
val string_obj = GamePacket(GamePacketOpcode.GenericObjectStateMsg, 0, GenericObjectStateMsg(types.PlanetSideGUID(242), 16))
val string_obj = GamePacket(GamePacketOpcode.GenericObjectStateMsg, 0, GenericObjectStateMsg(PlanetSideGUID(242), 16))
val probe1 = TestProbe()
val probe2 = system.actorOf(Props(classOf[MDCTestProbe], probe1), "mdc-probe")
@ -434,8 +433,8 @@ class PacketCodingActorHTest extends ActorTest {
"PacketCodingActor" should {
"unwind l-originating hexadecimal data into two r-facing packets (SlottedMetaPacket/MultiPacketEx -> 2 ObjectDeleteMessage)" in {
val string_hex = RawPacket(hex"00 09 0A E1 00 19 04 19 4F 04 40 04 19 51 04 40")
val string_obj1 = GamePacket(GamePacketOpcode.ObjectDeleteMessage, 0, ObjectDeleteMessage(types.PlanetSideGUID(1103), 2))
val string_obj2 = GamePacket(GamePacketOpcode.ObjectDeleteMessage, 0, ObjectDeleteMessage(types.PlanetSideGUID(1105), 2))
val string_obj1 = GamePacket(GamePacketOpcode.ObjectDeleteMessage, 0, ObjectDeleteMessage(PlanetSideGUID(1103), 2))
val string_obj2 = GamePacket(GamePacketOpcode.ObjectDeleteMessage, 0, ObjectDeleteMessage(PlanetSideGUID(1105), 2))
val probe1 = TestProbe()
val probe2 = system.actorOf(Props(classOf[MDCTestProbe], probe1), "mdc-probe")
@ -486,7 +485,7 @@ class PacketCodingActorITest extends ActorTest {
)
val obj = DetailedPlayerData(pos, app, char, InventoryData(Nil), DrawnSlot.None)
//println(s"${PacketCoding.EncodePacket(ObjectCreateDetailedMessage(0x79, PlanetSideGUID(75), obj))}")
val pkt = MultiPacketBundle(List(ObjectCreateDetailedMessage(0x79, types.PlanetSideGUID(75), obj)))
val pkt = MultiPacketBundle(List(ObjectCreateDetailedMessage(0x79, PlanetSideGUID(75), obj)))
val string_hex = hex"00090000186c060000bc84b000000000000000000002040000097049006c006c006c004900490049006c006c006c0049006c0049006c006c0049006c006c006c0049006c006c00490084524000000000000000000000000000000020000007f00703fffffffffffffffffffffffffffffffc000000000000000000000000000000000000000190019000640000000000c800c80000000000000000000000000000000000000001c00042c54686c7000000000000000000000000000000000000000000000000000000000000100000000400e0"
"PacketCodingActor" should {
@ -521,7 +520,7 @@ class PacketCodingActorJTest extends ActorTest {
"PacketCodingActor" should {
"bundle r-originating packets into a number of MTU-acceptable l-facing byte streams (1 packets into 1)" in {
val pkt = MultiPacketBundle(
List(ObjectDeleteMessage(types.PlanetSideGUID(1103), 2), ObjectDeleteMessage(types.PlanetSideGUID(1105), 2), ObjectDeleteMessage(types.PlanetSideGUID(1107), 2))
List(ObjectDeleteMessage(PlanetSideGUID(1103), 2), ObjectDeleteMessage(PlanetSideGUID(1105), 2), ObjectDeleteMessage(PlanetSideGUID(1107), 2))
)
val string_hex = hex"00090000001904194f044004195104400419530440"
@ -565,7 +564,7 @@ class PacketCodingActorKTest extends ActorTest {
false,
None,
None,
types.PlanetSideGUID(0)
PlanetSideGUID(0)
),
ExoSuitType.Standard,
0,
@ -641,12 +640,12 @@ class PacketCodingActorKTest extends ActorTest {
(pad_length : Option[Int]) => DetailedCharacterData(ba, bb(ba.bep, pad_length))(pad_length)
val obj = DetailedPlayerData(pos, app, char, InventoryData(Nil), DrawnSlot.None)
val list = List(
ObjectCreateDetailedMessage(0x79, types.PlanetSideGUID(75), obj),
ObjectDeleteMessage(types.PlanetSideGUID(1103), 2),
ObjectDeleteMessage(types.PlanetSideGUID(1105), 2),
ObjectCreateDetailedMessage(0x79, types.PlanetSideGUID(175), obj),
ObjectCreateDetailedMessage(0x79, types.PlanetSideGUID(275), obj),
ObjectDeleteMessage(types.PlanetSideGUID(1107), 2)
ObjectCreateDetailedMessage(0x79, PlanetSideGUID(75), obj),
ObjectDeleteMessage(PlanetSideGUID(1103), 2),
ObjectDeleteMessage(PlanetSideGUID(1105), 2),
ObjectCreateDetailedMessage(0x79, PlanetSideGUID(175), obj),
ObjectCreateDetailedMessage(0x79, PlanetSideGUID(275), obj),
ObjectDeleteMessage(PlanetSideGUID(1107), 2)
)
"PacketCodingActor" should {