From e368c8b5be1a43762fa57eddb9f61cc9bf28ace7 Mon Sep 17 00:00:00 2001 From: FateJH Date: Wed, 16 May 2018 20:35:33 -0400 Subject: [PATCH] added silos and air pads on z6 and on home3; undid temp lattice benefits and temp vehicle damage --- .../psforever/objects/GlobalDefinitions.scala | 2 ++ .../terminals/RepairRearmSiloDefinition.scala | 10 +++++++- pslogin/src/main/scala/Maps.scala | 24 +++++++++++++++++++ .../src/main/scala/WorldSessionActor.scala | 7 +++--- 4 files changed, 39 insertions(+), 4 deletions(-) diff --git a/common/src/main/scala/net/psforever/objects/GlobalDefinitions.scala b/common/src/main/scala/net/psforever/objects/GlobalDefinitions.scala index d39790ef..91f6c77e 100644 --- a/common/src/main/scala/net/psforever/objects/GlobalDefinitions.scala +++ b/common/src/main/scala/net/psforever/objects/GlobalDefinitions.scala @@ -524,6 +524,8 @@ object GlobalDefinitions { val medical_terminal = new MedicalTerminalDefinition(529) + val pad_landing = new RepairRearmSiloDefinition(719) + val repair_silo = new RepairRearmSiloDefinition(729) val spawn_pad = new VehicleSpawnPadDefinition diff --git a/common/src/main/scala/net/psforever/objects/serverobject/terminals/RepairRearmSiloDefinition.scala b/common/src/main/scala/net/psforever/objects/serverobject/terminals/RepairRearmSiloDefinition.scala index 9cfc6fa7..f7463bf0 100644 --- a/common/src/main/scala/net/psforever/objects/serverobject/terminals/RepairRearmSiloDefinition.scala +++ b/common/src/main/scala/net/psforever/objects/serverobject/terminals/RepairRearmSiloDefinition.scala @@ -12,7 +12,15 @@ import net.psforever.packet.game.ItemTransactionMessage * Has both proximity-based operation and direct access purchasing power. */ class RepairRearmSiloDefinition(objectId : Int) extends EquipmentTerminalDefinition(objectId) with ProximityDefinition { - Name = "repair_silo" + Name = if(objectId == 719) { + "pad_landing" + } + else if(objectId == 729) { + "repair_silo" + } + else { + throw new IllegalArgumentException("repair re-arm terminal must be either object id 719 or 729") + } private val buyFunc : (Player, ItemTransactionMessage)=>Terminal.Exchange = EquipmentTerminalDefinition.Buy(Map.empty, Map.empty, Map.empty) diff --git a/pslogin/src/main/scala/Maps.scala b/pslogin/src/main/scala/Maps.scala index c1b62dfa..4c750b62 100644 --- a/pslogin/src/main/scala/Maps.scala +++ b/pslogin/src/main/scala/Maps.scala @@ -110,6 +110,14 @@ object Maps { LocalObject(1576, Terminal.Constructor(order_terminal)) LocalObject(1577, Terminal.Constructor(order_terminal)) LocalObject(1578, Terminal.Constructor(order_terminal)) + LocalObject(1744, ProximityTerminal.Constructor(pad_landing)) //air pad A + LocalObject(1745, Terminal.Constructor(pad_landing)) //air pad A + LocalObject(1747, ProximityTerminal.Constructor(pad_landing)) //air pad B + LocalObject(1748, Terminal.Constructor(pad_landing)) //air pad B + LocalObject(1756, ProximityTerminal.Constructor(pad_landing)) //air pad C + LocalObject(1757, Terminal.Constructor(pad_landing)) //air pad C + LocalObject(1765, ProximityTerminal.Constructor(pad_landing)) //air pad D + LocalObject(1766, Terminal.Constructor(pad_landing)) //air pad D LocalObject(2145, SpawnTube.Constructor(Vector3(3980.4062f, 4252.7656f, 257.5625f), Vector3(0, 0, 90))) LocalObject(2146, SpawnTube.Constructor(Vector3(3980.4062f, 4259.992f, 257.5625f), Vector3(0, 0, 90))) LocalObject(2147, SpawnTube.Constructor(Vector3(3980.4062f, 4267.3047f, 257.5625f), Vector3(0, 0, 90))) @@ -218,6 +226,14 @@ object Maps { ObjectToBuilding(1576, 2) ObjectToBuilding(1577, 2) ObjectToBuilding(1578, 2) + ObjectToBuilding(1744, 2) + ObjectToBuilding(1745, 2) + ObjectToBuilding(1747, 2) + ObjectToBuilding(1748, 2) + ObjectToBuilding(1756, 2) + ObjectToBuilding(1757, 2) + ObjectToBuilding(1765, 2) + ObjectToBuilding(1766, 2) ObjectToBuilding(2049, 2) ObjectToBuilding(2050, 2) ObjectToBuilding(2061, 2) @@ -359,6 +375,10 @@ object Maps { LocalObject(1591, Terminal.Constructor(order_terminal)) LocalObject(1592, Terminal.Constructor(order_terminal)) LocalObject(1593, Terminal.Constructor(order_terminal)) + LocalObject(1846, ProximityTerminal.Constructor(pad_landing)) //air pad S + LocalObject(1847, Terminal.Constructor(pad_landing)) //air pad S + LocalObject(1849, ProximityTerminal.Constructor(pad_landing)) //air pad N + LocalObject(1850, Terminal.Constructor(pad_landing)) //air pad N LocalObject(2156, SpawnTube.Constructor(respawn_tube_tower, Vector3(4364.633f, 3994.125f, 228.1875f), Vector3(0, 0, 90))) LocalObject(2157, SpawnTube.Constructor(respawn_tube_tower, Vector3(4364.633f, 3977.7266f, 228.1875f), Vector3(0, 0, 90))) LocalObject(2333, Door.Constructor) //spawn tube door @@ -382,6 +402,10 @@ object Maps { ObjectToBuilding(1591, 49) ObjectToBuilding(1592, 49) ObjectToBuilding(1593, 49) + ObjectToBuilding(1846, 49) + ObjectToBuilding(1847, 49) + ObjectToBuilding(1849, 49) + ObjectToBuilding(1850, 49) ObjectToBuilding(2156, 49) ObjectToBuilding(2157, 49) ObjectToBuilding(2333, 49) diff --git a/pslogin/src/main/scala/WorldSessionActor.scala b/pslogin/src/main/scala/WorldSessionActor.scala index 2461e431..3ef631db 100644 --- a/pslogin/src/main/scala/WorldSessionActor.scala +++ b/pslogin/src/main/scala/WorldSessionActor.scala @@ -1104,7 +1104,7 @@ class WorldSessionActor extends Actor with MDCContextAware { vehicleService ! VehicleServiceMessage.UnscheduleDeconstruction(vehicle_guid) } sendResponse(PlanetsideAttributeMessage(vehicle_guid, 22, 0L)) //mount points on? - sendResponse(PlanetsideAttributeMessage(vehicle_guid, 0, 10))//vehicle.Definition.MaxHealth)) + //sendResponse(PlanetsideAttributeMessage(vehicle_guid, 0, 10))//vehicle.Definition.MaxHealth)) sendResponse(PlanetsideAttributeMessage(vehicle_guid, 68, 0L)) //??? sendResponse(PlanetsideAttributeMessage(vehicle_guid, 113, 0L)) //??? ReloadVehicleAccessPermissions(vehicle) @@ -2332,7 +2332,7 @@ class WorldSessionActor extends Actor with MDCContextAware { //TODO matrix spawn point; for now, just blindly bind to show work (and hope nothing breaks) sendResponse(BindPlayerMessage(1, "@ams", true, true, 0, 0, 0, obj.Position)) } - else if(obj.Definition == GlobalDefinitions.repair_silo) { + else if(obj.Definition.isInstanceOf[RepairRearmSiloDefinition]) { FindLocalVehicle match { case Some(vehicle) => sendResponse(UseItemMessage(avatar_guid, unk1, object_guid, unk2, unk3, unk4, unk5, unk6, unk7, unk8, itemType)) @@ -2363,7 +2363,8 @@ class WorldSessionActor extends Actor with MDCContextAware { sendResponse(ObjectDeleteMessage(PlanetSideGUID(unk1), 2)) } - case None => ; + case None => + log.error(s"UseItem: can not find object $object_guid") } case msg @ ProximityTerminalUseMessage(player_guid, object_guid, _) =>