diff --git a/common/src/main/scala/net/psforever/objects/GlobalDefinitions.scala b/common/src/main/scala/net/psforever/objects/GlobalDefinitions.scala index 22d2207d..a3b2164c 100644 --- a/common/src/main/scala/net/psforever/objects/GlobalDefinitions.scala +++ b/common/src/main/scala/net/psforever/objects/GlobalDefinitions.scala @@ -785,6 +785,8 @@ object GlobalDefinitions { val phalanx_flakcombo = ToolDefinition(ObjectClass.phalanx_flakcombo) + val vanu_sentry_turret_weapon = ToolDefinition(ObjectClass.vanu_sentry_turret_weapon) + val spitfire_weapon = ToolDefinition(ObjectClass.spitfire_weapon) val spitfire_aa_weapon = ToolDefinition(ObjectClass.spitfire_aa_weapon) @@ -1002,6 +1004,8 @@ object GlobalDefinitions { val manned_turret = new FacilityTurretDefinition(480) + val vanu_sentry_turret = new FacilityTurretDefinition(943) + val painbox = new PainboxDefinition(622) val painbox_continuous = new PainboxDefinition(623) @@ -5081,6 +5085,15 @@ object GlobalDefinitions { phalanx_flakcombo.FireModes(1).AmmoSlotIndex = 0 phalanx_flakcombo.FireModes(1).Magazine = 4000 + vanu_sentry_turret_weapon.Name = "vanu_sentry_turret_weapon" + vanu_sentry_turret_weapon.Size = EquipmentSize.BaseTurretWeapon + vanu_sentry_turret_weapon.AmmoTypes += ancient_ammo_vehicle + vanu_sentry_turret_weapon.ProjectileTypes += vanu_sentry_turret_projectile + vanu_sentry_turret_weapon.FireModes += new FireModeDefinition + vanu_sentry_turret_weapon.FireModes.head.AmmoTypeIndices += 0 + vanu_sentry_turret_weapon.FireModes.head.AmmoSlotIndex = 0 + vanu_sentry_turret_weapon.FireModes.head.Magazine = 100 + spitfire_weapon.Name = "spitfire_weapon" spitfire_weapon.Size = EquipmentSize.BaseTurretWeapon spitfire_weapon.AmmoTypes += spitfire_ammo @@ -6268,6 +6281,15 @@ object GlobalDefinitions { manned_turret.FactionLocked = true manned_turret.ReserveAmmunition = false + vanu_sentry_turret.Name = "vanu_sentry_turret" + vanu_sentry_turret.MaxHealth = 1500 + vanu_sentry_turret.Weapons += 1 -> new mutable.HashMap() + vanu_sentry_turret.Weapons(1) += TurretUpgrade.None -> vanu_sentry_turret_weapon + vanu_sentry_turret.MountPoints += 1 -> 0 + vanu_sentry_turret.MountPoints += 2 -> 0 + vanu_sentry_turret.FactionLocked = false + vanu_sentry_turret.ReserveAmmunition = false + gen_control.Name = "gen_control" generator.Name = "generator" diff --git a/common/src/main/scala/net/psforever/objects/Tool.scala b/common/src/main/scala/net/psforever/objects/Tool.scala index e5aec38c..a13080d3 100644 --- a/common/src/main/scala/net/psforever/objects/Tool.scala +++ b/common/src/main/scala/net/psforever/objects/Tool.scala @@ -24,6 +24,7 @@ class Tool(private val toolDef : ToolDefinition) extends Equipment private var fireModeIndex : Int = toolDef.DefaultFireModeIndex /** current ammunition slot being used by this fire mode */ private var ammoSlots : List[Tool.FireModeSlot] = List.empty + var lastDischarge : Long = 0 Tool.LoadDefinition(this) @@ -97,9 +98,14 @@ class Tool(private val toolDef : ToolDefinition) extends Equipment } def Discharge : Int = { + lastDischarge = System.nanoTime() Magazine = FireMode.Discharge(this) } + def LastDischarge : Long = { + lastDischarge + } + def AmmoSlot : Tool.FireModeSlot = ammoSlots(FireMode.AmmoSlotIndex) def AmmoSlots : List[Tool.FireModeSlot] = ammoSlots diff --git a/common/src/main/scala/net/psforever/objects/serverobject/structures/Building.scala b/common/src/main/scala/net/psforever/objects/serverobject/structures/Building.scala index bdfb1e7a..04fd79d9 100644 --- a/common/src/main/scala/net/psforever/objects/serverobject/structures/Building.scala +++ b/common/src/main/scala/net/psforever/objects/serverobject/structures/Building.scala @@ -76,7 +76,7 @@ class Building(private val name: String, } def CaptureConsoleIsHacked : Boolean = { - Amenities.find(x => x.Definition == GlobalDefinitions.capture_terminal).asInstanceOf[Option[CaptureTerminal]] match { + Amenities.find(x => x.isInstanceOf[CaptureTerminal]).asInstanceOf[Option[CaptureTerminal]] match { case Some(obj: CaptureTerminal) => obj.HackedBy.isDefined case None => false @@ -174,7 +174,7 @@ class Building(private val name: String, ) = { val ntuLevel : Int = NtuLevel //if we have a capture terminal, get the hack status & time (in milliseconds) from control console if it exists - val (hacking, hackingFaction, hackTime) : (Boolean, PlanetSideEmpire.Value, Long) = Amenities.find(x => x.Definition == GlobalDefinitions.capture_terminal || x.Definition == GlobalDefinitions.vanu_control_console) match { + val (hacking, hackingFaction, hackTime) : (Boolean, PlanetSideEmpire.Value, Long) = Amenities.find(x => x.isInstanceOf[CaptureTerminal]) match { case Some(obj: CaptureTerminal with Hackable) => obj.HackedBy match { case Some(Hackable.HackInfo(_, _, hfaction, _, start, length)) => diff --git a/common/src/main/scala/net/psforever/objects/serverobject/turret/FacilityTurret.scala b/common/src/main/scala/net/psforever/objects/serverobject/turret/FacilityTurret.scala index 8d4bc7c3..a3b44afe 100644 --- a/common/src/main/scala/net/psforever/objects/serverobject/turret/FacilityTurret.scala +++ b/common/src/main/scala/net/psforever/objects/serverobject/turret/FacilityTurret.scala @@ -68,6 +68,8 @@ object FacilityTurret { new FacilityTurret(tDef) } + final case class RechargeAmmo() + import akka.actor.ActorContext /** * Instantiate and configure a `FacilityTurret` object diff --git a/common/src/main/scala/net/psforever/objects/serverobject/turret/FacilityTurretControl.scala b/common/src/main/scala/net/psforever/objects/serverobject/turret/FacilityTurretControl.scala index 0b737390..5fedf16c 100644 --- a/common/src/main/scala/net/psforever/objects/serverobject/turret/FacilityTurretControl.scala +++ b/common/src/main/scala/net/psforever/objects/serverobject/turret/FacilityTurretControl.scala @@ -1,8 +1,8 @@ // Copyright (c) 2017 PSForever package net.psforever.objects.serverobject.turret -import akka.actor.Actor -import net.psforever.objects.Player +import akka.actor.{Actor, Cancellable} +import net.psforever.objects.{DefaultCancellable, GlobalDefinitions, Player} import net.psforever.objects.ballistics.ResolvedProjectile import net.psforever.objects.equipment.{JammableMountedWeapons, JammableUnit} import net.psforever.objects.serverobject.mount.{Mountable, MountableBehavior} @@ -12,9 +12,14 @@ import net.psforever.objects.zones.Zone import net.psforever.types.PlanetSideGUID import services.Service import services.avatar.{AvatarAction, AvatarServiceMessage} +import services.local.{LocalAction, LocalServiceMessage} import services.vehicle.{VehicleAction, VehicleServiceMessage} import services.vehicle.support.TurretUpgrader +import scala.concurrent.ExecutionContext.Implicits.global +import scala.concurrent.duration._ + + /** * An `Actor` that handles messages being dispatched to a specific `MannedTurret`.
*
@@ -28,6 +33,11 @@ class FacilityTurretControl(turret : FacilityTurret) extends Actor with MountableBehavior.Dismount with JammableMountedWeapons { + if(turret.Definition == GlobalDefinitions.vanu_sentry_turret) { + // todo: Schedule this to start when weapon is discharged, not all the time + context.system.scheduler.schedule(3 seconds, 200 milliseconds, self, FacilityTurret.RechargeAmmo()) + } + def MountableObject = turret def JammableObject = turret @@ -38,6 +48,18 @@ class FacilityTurretControl(turret : FacilityTurret) extends Actor .orElse(jammableBehavior) .orElse(dismountBehavior) .orElse { + case FacilityTurret.RechargeAmmo() => + val weapon = turret.ControlledWeapon(1).get.asInstanceOf[net.psforever.objects.Tool] + + // recharge when last shot fired 3s delay, +1, 200ms interval + if(weapon.Magazine < weapon.MaxMagazine && System.nanoTime() - weapon.LastDischarge > 3000000000L) { + weapon.Magazine += 1 + val seat = turret.Seat(0).get + seat.Occupant match { + case Some(player: Player) => turret.Zone.LocalEvents ! LocalServiceMessage(turret.Zone.Id, LocalAction.RechargeVehicleWeapon(player.GUID, turret.GUID, weapon.GUID)) + case _ => ; + } + } case Mountable.TryMount(user, seat_num) => turret.Seat(seat_num) match { case Some(seat) => diff --git a/common/src/main/scala/net/psforever/objects/zones/Zone.scala b/common/src/main/scala/net/psforever/objects/zones/Zone.scala index ac980f06..2e3fbcc3 100644 --- a/common/src/main/scala/net/psforever/objects/zones/Zone.scala +++ b/common/src/main/scala/net/psforever/objects/zones/Zone.scala @@ -31,6 +31,8 @@ import scalax.collection.Graph import scalax.collection.GraphPredef._ import scalax.collection.GraphEdge._ +import scala.util.Success + /** * A server object representing the one-landmass planets as well as the individual subterranean caverns.
*
@@ -408,9 +410,12 @@ class Zone(private val zoneId : String, zoneMap : ZoneMap, zoneNumber : Int) { val buildingList = Map.LocalBuildings buildings = buildingList.map({ case((name, building_guid, map_id), constructor) => - val building = constructor.Build(name, building_guid, map_id, this) - guid.register(building, building_guid) - building_guid -> building + guid.register(building_guid) match { + case Success(registeredGuid) => + val building = constructor.Build(name, building_guid, map_id, this) + registeredGuid.Object = building + building_guid -> building + } }) buildings } diff --git a/common/src/main/scala/services/local/LocalService.scala b/common/src/main/scala/services/local/LocalService.scala index e5410a34..b72c502e 100644 --- a/common/src/main/scala/services/local/LocalService.scala +++ b/common/src/main/scala/services/local/LocalService.scala @@ -153,6 +153,10 @@ class LocalService(zone : Zone) extends Actor { LocalServiceResponse(s"/$forChannel/Local", player_guid, LocalResponse.UpdateForceDomeStatus(building_guid, activated)) ) } + case LocalAction.RechargeVehicleWeapon(player_guid, vehicle_guid, weapon_guid) => + LocalEvents.publish( + LocalServiceResponse(s"/$forChannel/Local", player_guid, LocalResponse.RechargeVehicleWeapon(vehicle_guid, weapon_guid)) + ) case _ => ; } diff --git a/common/src/main/scala/services/local/LocalServiceMessage.scala b/common/src/main/scala/services/local/LocalServiceMessage.scala index a09223dd..274eb6bd 100644 --- a/common/src/main/scala/services/local/LocalServiceMessage.scala +++ b/common/src/main/scala/services/local/LocalServiceMessage.scala @@ -40,4 +40,5 @@ object LocalAction { final case class TriggerEffectLocation(player_guid : PlanetSideGUID, effect : String, pos : Vector3, orient : Vector3) extends Action final case class TriggerSound(player_guid : PlanetSideGUID, sound : TriggeredSound.Value, pos : Vector3, unk : Int, volume : Float) extends Action final case class UpdateForceDomeStatus(player_guid : PlanetSideGUID, building_guid : PlanetSideGUID, activated : Boolean) extends Action + final case class RechargeVehicleWeapon(player_guid: PlanetSideGUID, mountable_guid: PlanetSideGUID, weapon_guid: PlanetSideGUID) extends Action } diff --git a/common/src/main/scala/services/local/LocalServiceResponse.scala b/common/src/main/scala/services/local/LocalServiceResponse.scala index 859cba65..edd818f5 100644 --- a/common/src/main/scala/services/local/LocalServiceResponse.scala +++ b/common/src/main/scala/services/local/LocalServiceResponse.scala @@ -36,4 +36,5 @@ object LocalResponse { final case class TriggerEffect(target: PlanetSideGUID, effect: String, effectInfo: Option[TriggeredEffect] = None, triggeredLocation: Option[TriggeredEffectLocation] = None) extends Response final case class TriggerSound(sound : TriggeredSound.Value, pos : Vector3, unk : Int, volume : Float) extends Response final case class UpdateForceDomeStatus(building_guid : PlanetSideGUID, activated : Boolean) extends Response + final case class RechargeVehicleWeapon(mountable_guid: PlanetSideGUID, weapon_guid: PlanetSideGUID) extends Response } diff --git a/common/src/test/scala/objects/ServerObjectBuilderTest.scala b/common/src/test/scala/objects/ServerObjectBuilderTest.scala index 16801a68..18ee2b13 100644 --- a/common/src/test/scala/objects/ServerObjectBuilderTest.scala +++ b/common/src/test/scala/objects/ServerObjectBuilderTest.scala @@ -252,7 +252,7 @@ class FacilityTurretObjectBuilderTest extends ActorTest { "build" in { val hub = ServerObjectBuilderTest.NumberPoolHub val actor = system.actorOf(Props(classOf[ServerObjectBuilderTest.BuilderTestActor], ServerObjectBuilder(1, - FacilityTurret.Constructor(manned_turret)), hub), "spawn-tube") + FacilityTurret.Constructor(manned_turret)), hub), "manned-turret") actor ! "!" val reply = receiveOne(Duration.create(1000, "ms")) diff --git a/pslogin/src/main/scala/WorldSessionActor.scala b/pslogin/src/main/scala/WorldSessionActor.scala index 6de5f18a..a28ef5d0 100644 --- a/pslogin/src/main/scala/WorldSessionActor.scala +++ b/pslogin/src/main/scala/WorldSessionActor.scala @@ -340,7 +340,7 @@ class WorldSessionActor extends Actor out case None if id.nonEmpty => //delete stale entity reference from client - log.warn(s"Player ${player.Name} has an invalid reference to GUID ${id.get} in zone ${continent.Id}. Delete object on client.") + log.warn(s"Player ${player.Name} has an invalid reference to GUID ${id.get} in zone ${continent.Id}.") //sendResponse(ObjectDeleteMessage(id.get, 0)) None case _ => @@ -1771,6 +1771,26 @@ class WorldSessionActor extends Actor sendResponse(GenericObjectActionMessage(building_guid, 12)) } } + + case LocalResponse.RechargeVehicleWeapon(vehicle_guid, weapon_guid) => { + if(tplayer_guid == guid) { + continent.GUID(vehicle_guid) match { + case Some(vehicle: Mountable with MountedWeapons) => + vehicle.PassengerInSeat(player) match { + case Some(seat_num : Int) => + vehicle.WeaponControlledFromSeat(seat_num) match { + case Some(equipment) if equipment.GUID == weapon_guid => + val weapon = equipment.asInstanceOf[Tool] + sendResponse(InventoryStateMessage(weapon.AmmoSlot.Box.GUID, weapon.GUID, weapon.Magazine)) + case _ => ; + } + case _ => ; + } + case _ => ; + } + } + } + case _ => ; } } @@ -1901,6 +1921,9 @@ class WorldSessionActor extends Actor case Mountable.CanMount(obj : FacilityTurret, seat_num) => if(!obj.isUpgrading) { + if(obj.Definition == vanu_sentry_turret) { + obj.Zone.LocalEvents ! LocalServiceMessage(obj.Zone.Id, LocalAction.SetEmpire(obj.GUID, player.Faction)) + } sendResponse(PlanetsideAttributeMessage(obj.GUID, 0, obj.Health)) UpdateWeaponAtSeatPosition(obj, seat_num) MountingAction(tplayer, obj, seat_num) diff --git a/pslogin/src/main/scala/zonemaps/Ugd01.scala b/pslogin/src/main/scala/zonemaps/Ugd01.scala index 0880e89e..18a92839 100644 --- a/pslogin/src/main/scala/zonemaps/Ugd01.scala +++ b/pslogin/src/main/scala/zonemaps/Ugd01.scala @@ -7,6 +7,7 @@ import net.psforever.objects.serverobject.painbox.Painbox import net.psforever.objects.serverobject.structures.{Building, FoundationBuilder, StructureType, WarpGate} import net.psforever.objects.serverobject.terminals.{CaptureTerminal, ProximityTerminal, Terminal} import net.psforever.objects.serverobject.tube.SpawnTube +import net.psforever.objects.serverobject.turret.FacilityTurret import net.psforever.objects.serverobject.zipline.ZipLinePath import net.psforever.objects.zones.{MapScale, ZoneMap} import net.psforever.types.Vector3 @@ -598,6 +599,90 @@ object Ugd01 { // Supai LocalObject(757, ProximityTerminal.Constructor(Vector3(1378.14f, 1364.07f, 159.37f), crystals_health_b), owning_building_guid = 0) LocalObject(758, ProximityTerminal.Constructor(Vector3(1400.04f, 1061.4f, 99.62f), crystals_health_b), owning_building_guid = 0) LocalObject(759, ProximityTerminal.Constructor(Vector3(1493f, 1396.91f, 92.77f), crystals_health_b), owning_building_guid = 0) + LocalObject(174, FacilityTurret.Constructor(Vector3(720.34f, 879.21f, 107.12f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(174, 5000) + LocalObject(175, FacilityTurret.Constructor(Vector3(740.47f, 873.42f, 105.56f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(175, 5001) + LocalObject(176, FacilityTurret.Constructor(Vector3(772.77f, 1316.41f, 111.98f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(176, 5002) + LocalObject(177, FacilityTurret.Constructor(Vector3(775.35f, 1074.02f, 87.97f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(177, 5003) + LocalObject(178, FacilityTurret.Constructor(Vector3(793.33f, 1423.68f, 109.83f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(178, 5004) + LocalObject(179, FacilityTurret.Constructor(Vector3(808.76f, 1186.28f, 92.98f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(179, 5005) + LocalObject(180, FacilityTurret.Constructor(Vector3(845.37f, 966.24f, 85.29f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(180, 5006) + LocalObject(181, FacilityTurret.Constructor(Vector3(860.94f, 953.48f, 86.97f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(181, 5007) + LocalObject(182, FacilityTurret.Constructor(Vector3(861.43f, 1323.56f, 110.16f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(182, 5008) + LocalObject(183, FacilityTurret.Constructor(Vector3(873.54f, 1419.93f, 97f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(183, 5009) + LocalObject(184, FacilityTurret.Constructor(Vector3(886.06f, 1246.28f, 100.59f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(184, 5010) + LocalObject(185, FacilityTurret.Constructor(Vector3(906.88f, 838.1f, 84.73f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(185, 5011) + LocalObject(186, FacilityTurret.Constructor(Vector3(914.64f, 1059.49f, 93.58f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(186, 5012) + LocalObject(187, FacilityTurret.Constructor(Vector3(935.76f, 958.02f, 93.48f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(187, 5013) + LocalObject(188, FacilityTurret.Constructor(Vector3(942.76f, 1368.39f, 99.29f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(188, 5014) + LocalObject(189, FacilityTurret.Constructor(Vector3(955.06f, 1068.5f, 124.51f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(189, 5015) + LocalObject(190, FacilityTurret.Constructor(Vector3(978.59f, 1189.75f, 92.88f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(190, 5016) + LocalObject(191, FacilityTurret.Constructor(Vector3(1008.32f, 1024.12f, 124.51f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(191, 5017) + LocalObject(192, FacilityTurret.Constructor(Vector3(1037.51f, 1353.92f, 96.39f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(192, 5018) + LocalObject(193, FacilityTurret.Constructor(Vector3(1085.44f, 1343.35f, 95.93f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(193, 5019) + LocalObject(194, FacilityTurret.Constructor(Vector3(1191.17f, 911.53f, 105.76f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(194, 5020) + LocalObject(195, FacilityTurret.Constructor(Vector3(1248.76f, 1092.9f, 97.89f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(195, 5021) + LocalObject(196, FacilityTurret.Constructor(Vector3(1265.67f, 890.42f, 111.02f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(196, 5022) + LocalObject(197, FacilityTurret.Constructor(Vector3(1283.75f, 1144.15f, 99.78f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(197, 5023) + LocalObject(198, FacilityTurret.Constructor(Vector3(1285.54f, 1321.81f, 118.98f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(198, 5024) + LocalObject(199, FacilityTurret.Constructor(Vector3(1343.9f, 1308.33f, 118.98f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(199, 5025) + LocalObject(200, FacilityTurret.Constructor(Vector3(1358.42f, 1146.2f, 96.45f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(200, 5026) + LocalObject(201, FacilityTurret.Constructor(Vector3(1380.38f, 1299.1f, 86.78f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(201, 5027) + LocalObject(202, FacilityTurret.Constructor(Vector3(1380.88f, 954.88f, 101.67f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(202, 5028) + LocalObject(203, FacilityTurret.Constructor(Vector3(1388.61f, 1370.67f, 89.69f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(203, 5029) + LocalObject(204, FacilityTurret.Constructor(Vector3(1414.46f, 1410f, 90.45f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(204, 5030) + LocalObject(205, FacilityTurret.Constructor(Vector3(1416.89f, 1043.36f, 97.66f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(205, 5031) + LocalObject(206, FacilityTurret.Constructor(Vector3(1427.18f, 1482.32f, 99.94f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(206, 5032) + LocalObject(207, FacilityTurret.Constructor(Vector3(1457.56f, 1304.19f, 101.83f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(207, 5033) + LocalObject(208, FacilityTurret.Constructor(Vector3(1457.62f, 959.51f, 103.81f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(208, 5034) + LocalObject(209, FacilityTurret.Constructor(Vector3(1470.74f, 864.76f, 119.48f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(209, 5035) + LocalObject(210, FacilityTurret.Constructor(Vector3(1471.01f, 1253.19f, 103.63f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(210, 5036) + LocalObject(211, FacilityTurret.Constructor(Vector3(1477f, 1378.7f, 90.81f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(211, 5037) + LocalObject(212, FacilityTurret.Constructor(Vector3(1513.88f, 946.28f, 114.7f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(212, 5038) + LocalObject(213, FacilityTurret.Constructor(Vector3(1519.17f, 1499.98f, 94.38f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(213, 5039) + LocalObject(214, FacilityTurret.Constructor(Vector3(1545.19f, 1398.01f, 96.71f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(214, 5040) + LocalObject(215, FacilityTurret.Constructor(Vector3(1556.23f, 1120.6f, 94.85f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(215, 5041) } def Lattice(): Unit = { diff --git a/pslogin/src/main/scala/zonemaps/Ugd02.scala b/pslogin/src/main/scala/zonemaps/Ugd02.scala index c62457ae..bf53df8a 100644 --- a/pslogin/src/main/scala/zonemaps/Ugd02.scala +++ b/pslogin/src/main/scala/zonemaps/Ugd02.scala @@ -7,6 +7,7 @@ import net.psforever.objects.serverobject.painbox.Painbox import net.psforever.objects.serverobject.structures.{Building, FoundationBuilder, StructureType, WarpGate} import net.psforever.objects.serverobject.terminals.{CaptureTerminal, ProximityTerminal, Terminal} import net.psforever.objects.serverobject.tube.SpawnTube +import net.psforever.objects.serverobject.turret.FacilityTurret import net.psforever.objects.serverobject.zipline.ZipLinePath import net.psforever.objects.zones.{MapScale, ZoneMap} import net.psforever.types.Vector3 @@ -744,6 +745,98 @@ object Ugd02 { // Hunhau LocalObject(1300, ProximityTerminal.Constructor(Vector3(1307.68f, 2054.64f, 197.45f), crystals_health_b), owning_building_guid = 0) LocalObject(1301, ProximityTerminal.Constructor(Vector3(1476.08f, 1005.56f, 265.51f), crystals_health_b), owning_building_guid = 0) LocalObject(1302, ProximityTerminal.Constructor(Vector3(1655.04f, 1594.54f, 232.32f), crystals_health_b), owning_building_guid = 0) + LocalObject(426, FacilityTurret.Constructor(Vector3(715.91f, 1262.21f, 211f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(426, 5000) + LocalObject(427, FacilityTurret.Constructor(Vector3(722.12f, 1355.17f, 211.64f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(427, 5001) + LocalObject(428, FacilityTurret.Constructor(Vector3(732.89f, 1318.6f, 211.64f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(428, 5002) + LocalObject(429, FacilityTurret.Constructor(Vector3(780.9f, 1163.81f, 208.7f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(429, 5003) + LocalObject(430, FacilityTurret.Constructor(Vector3(782.07f, 1007.54f, 208.3f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(430, 5004) + LocalObject(431, FacilityTurret.Constructor(Vector3(793.73f, 1058.82f, 208.3f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(431, 5005) + LocalObject(432, FacilityTurret.Constructor(Vector3(807.84f, 1248.17f, 211.64f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(432, 5006) + LocalObject(433, FacilityTurret.Constructor(Vector3(837.27f, 1456.97f, 212.5f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(433, 5007) + LocalObject(434, FacilityTurret.Constructor(Vector3(862.91f, 1034.45f, 208.5f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(434, 5008) + LocalObject(435, FacilityTurret.Constructor(Vector3(895.22f, 1542.12f, 212.4f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(435, 5009) + LocalObject(436, FacilityTurret.Constructor(Vector3(896.33f, 1150.82f, 214f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(436, 5010) + LocalObject(437, FacilityTurret.Constructor(Vector3(931.05f, 1280.46f, 223.82f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(437, 5011) + LocalObject(438, FacilityTurret.Constructor(Vector3(934.88f, 815.45f, 269.19f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(438, 5012) + LocalObject(439, FacilityTurret.Constructor(Vector3(961.35f, 997f, 208.21f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(439, 5013) + LocalObject(440, FacilityTurret.Constructor(Vector3(972.27f, 1044.02f, 219.12f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(440, 5014) + LocalObject(441, FacilityTurret.Constructor(Vector3(980.91f, 1117.07f, 231.64f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(441, 5015) + LocalObject(442, FacilityTurret.Constructor(Vector3(983.58f, 891.05f, 211.1f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(442, 5016) + LocalObject(443, FacilityTurret.Constructor(Vector3(996.75f, 1324.53f, 224.84f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(443, 5017) + LocalObject(444, FacilityTurret.Constructor(Vector3(1002.7f, 1385.96f, 211.38f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(444, 5018) + LocalObject(445, FacilityTurret.Constructor(Vector3(1037.66f, 1067.95f, 232.1f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(445, 5019) + LocalObject(446, FacilityTurret.Constructor(Vector3(1041.32f, 829f, 195.22f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(446, 5020) + LocalObject(447, FacilityTurret.Constructor(Vector3(1081.52f, 1415.33f, 224.84f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(447, 5021) + LocalObject(448, FacilityTurret.Constructor(Vector3(1109.45f, 1088.67f, 219.1f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(448, 5022) + LocalObject(449, FacilityTurret.Constructor(Vector3(1117.12f, 819.13f, 195.3f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(449, 5023) + LocalObject(450, FacilityTurret.Constructor(Vector3(1126.53f, 1879.01f, 194.21f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(450, 5024) + LocalObject(451, FacilityTurret.Constructor(Vector3(1128.36f, 1004.74f, 211.5f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(451, 5025) + LocalObject(452, FacilityTurret.Constructor(Vector3(1139.19f, 1143.31f, 228.74f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(452, 5026) + LocalObject(453, FacilityTurret.Constructor(Vector3(1139.22f, 1305.39f, 219.2f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(453, 5027) + LocalObject(454, FacilityTurret.Constructor(Vector3(1159.69f, 928.13f, 204f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(454, 5028) + LocalObject(455, FacilityTurret.Constructor(Vector3(1188.22f, 1447.66f, 220f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(455, 5029) + LocalObject(456, FacilityTurret.Constructor(Vector3(1204.18f, 1130.55f, 219.1f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(456, 5030) + LocalObject(457, FacilityTurret.Constructor(Vector3(1219.64f, 942.94f, 219.03f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(457, 5031) + LocalObject(458, FacilityTurret.Constructor(Vector3(1230.47f, 1191.89f, 219.1f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(458, 5032) + LocalObject(459, FacilityTurret.Constructor(Vector3(1248.71f, 1078.27f, 233.92f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(459, 5033) + LocalObject(460, FacilityTurret.Constructor(Vector3(1253.84f, 1290.45f, 231.64f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(460, 5034) + LocalObject(461, FacilityTurret.Constructor(Vector3(1272.67f, 1382.47f, 221.15f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(461, 5035) + LocalObject(462, FacilityTurret.Constructor(Vector3(1314.52f, 1017.09f, 247.65f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(462, 5036) + LocalObject(463, FacilityTurret.Constructor(Vector3(1314.52f, 1246.89f, 232.3f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(463, 5037) + LocalObject(464, FacilityTurret.Constructor(Vector3(1319.98f, 995.12f, 212.4f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(464, 5038) + LocalObject(465, FacilityTurret.Constructor(Vector3(1328.63f, 1455.16f, 221.15f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(465, 5039) + LocalObject(466, FacilityTurret.Constructor(Vector3(1332.41f, 1039.83f, 223.35f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(466, 5040) + LocalObject(467, FacilityTurret.Constructor(Vector3(1351.68f, 1170.29f, 211.24f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(467, 5041) + LocalObject(468, FacilityTurret.Constructor(Vector3(1378.79f, 1096.12f, 212.5f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(468, 5042) + LocalObject(469, FacilityTurret.Constructor(Vector3(1408.53f, 1325.02f, 232.1f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(469, 5043) + LocalObject(470, FacilityTurret.Constructor(Vector3(1447.27f, 1366.32f, 232.1f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(470, 5044) + LocalObject(471, FacilityTurret.Constructor(Vector3(1507.41f, 1045.66f, 193.2f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(471, 5045) } def Lattice(): Unit = { diff --git a/pslogin/src/main/scala/zonemaps/Ugd03.scala b/pslogin/src/main/scala/zonemaps/Ugd03.scala index db602625..a37de8bb 100644 --- a/pslogin/src/main/scala/zonemaps/Ugd03.scala +++ b/pslogin/src/main/scala/zonemaps/Ugd03.scala @@ -7,6 +7,7 @@ import net.psforever.objects.serverobject.painbox.Painbox import net.psforever.objects.serverobject.structures.{Building, FoundationBuilder, StructureType, WarpGate} import net.psforever.objects.serverobject.terminals.{CaptureTerminal, ProximityTerminal, Terminal} import net.psforever.objects.serverobject.tube.SpawnTube +import net.psforever.objects.serverobject.turret.FacilityTurret import net.psforever.objects.serverobject.zipline.ZipLinePath import net.psforever.objects.zones.{MapScale, ZoneMap} import net.psforever.types.Vector3 @@ -602,6 +603,90 @@ object Ugd03 { // Adlivun LocalObject(956, ProximityTerminal.Constructor(Vector3(1076.72f, 1310.3f, 73.4f), crystals_health_b), owning_building_guid = 0) LocalObject(957, ProximityTerminal.Constructor(Vector3(1238.29f, 1314.99f, 97.59f), crystals_health_b), owning_building_guid = 0) LocalObject(958, ProximityTerminal.Constructor(Vector3(1246.89f, 776.94f, 95.32f), crystals_health_b), owning_building_guid = 0) + LocalObject(214, FacilityTurret.Constructor(Vector3(671.05f, 1022.46f, 62.98f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(214, 5000) + LocalObject(215, FacilityTurret.Constructor(Vector3(681.18f, 1080.93f, 59f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(215, 5001) + LocalObject(216, FacilityTurret.Constructor(Vector3(689.3f, 651.45f, 95f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(216, 5002) + LocalObject(217, FacilityTurret.Constructor(Vector3(701.81f, 793.95f, 69.9f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(217, 5003) + LocalObject(218, FacilityTurret.Constructor(Vector3(728.17f, 881.62f, 69.9f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(218, 5004) + LocalObject(219, FacilityTurret.Constructor(Vector3(736.87f, 700.59f, 87.5f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(219, 5005) + LocalObject(220, FacilityTurret.Constructor(Vector3(746.13f, 1229.55f, 41.36f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(220, 5006) + LocalObject(221, FacilityTurret.Constructor(Vector3(746.73f, 1093.17f, 59f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(221, 5007) + LocalObject(222, FacilityTurret.Constructor(Vector3(748.15f, 766.38f, 87.5f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(222, 5008) + LocalObject(223, FacilityTurret.Constructor(Vector3(854.55f, 1248.58f, 66.27f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(223, 5009) + LocalObject(224, FacilityTurret.Constructor(Vector3(864.98f, 1320.1f, 66.27f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(224, 5010) + LocalObject(225, FacilityTurret.Constructor(Vector3(877.91f, 1173.83f, 68.41f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(225, 5011) + LocalObject(226, FacilityTurret.Constructor(Vector3(883.97f, 1017.33f, 54.38f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(226, 5012) + LocalObject(227, FacilityTurret.Constructor(Vector3(901.31f, 983.05f, 61.74f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(227, 5013) + LocalObject(228, FacilityTurret.Constructor(Vector3(909.48f, 918.12f, 61.74f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(228, 5014) + LocalObject(229, FacilityTurret.Constructor(Vector3(917.26f, 787.24f, 63.97f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(229, 5015) + LocalObject(230, FacilityTurret.Constructor(Vector3(939.49f, 1060.28f, 61.64f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(230, 5016) + LocalObject(231, FacilityTurret.Constructor(Vector3(941.77f, 1113.86f, 54.38f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(231, 5017) + LocalObject(232, FacilityTurret.Constructor(Vector3(982.77f, 1110.81f, 61.84f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(232, 5018) + LocalObject(233, FacilityTurret.Constructor(Vector3(985.8f, 895.48f, 61.84f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(233, 5019) + LocalObject(234, FacilityTurret.Constructor(Vector3(996.73f, 784.5f, 63.97f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(234, 5020) + LocalObject(235, FacilityTurret.Constructor(Vector3(1002.9f, 1166.68f, 52.22f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(235, 5021) + LocalObject(236, FacilityTurret.Constructor(Vector3(1014.38f, 1226.21f, 64.92f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(236, 5022) + LocalObject(237, FacilityTurret.Constructor(Vector3(1028.06f, 669.31f, 62.98f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(237, 5023) + LocalObject(238, FacilityTurret.Constructor(Vector3(1056.63f, 874.36f, 61.84f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(238, 5024) + LocalObject(239, FacilityTurret.Constructor(Vector3(1069.55f, 1275.28f, 62.98f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(239, 5025) + LocalObject(240, FacilityTurret.Constructor(Vector3(1076.77f, 1068.19f, 62.04f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(240, 5026) + LocalObject(241, FacilityTurret.Constructor(Vector3(1082.69f, 1164.76f, 64.92f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(241, 5027) + LocalObject(242, FacilityTurret.Constructor(Vector3(1105.3f, 1003.03f, 62.24f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(242, 5028) + LocalObject(243, FacilityTurret.Constructor(Vector3(1119.23f, 1353.03f, 52.22f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(243, 5029) + LocalObject(244, FacilityTurret.Constructor(Vector3(1124.97f, 1310.46f, 62.98f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(244, 5030) + LocalObject(245, FacilityTurret.Constructor(Vector3(1157.82f, 955.18f, 61.94f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(245, 5031) + LocalObject(246, FacilityTurret.Constructor(Vector3(1178.75f, 1243.1f, 85.48f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(246, 5032) + LocalObject(247, FacilityTurret.Constructor(Vector3(1193.11f, 1291.49f, 69.59f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(247, 5033) + LocalObject(248, FacilityTurret.Constructor(Vector3(1262.41f, 1378.94f, 54.88f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(248, 5034) + LocalObject(249, FacilityTurret.Constructor(Vector3(1265.56f, 1152.95f, 69.59f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(249, 5035) + LocalObject(250, FacilityTurret.Constructor(Vector3(1267.66f, 912.72f, 59.3f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(250, 5036) + LocalObject(251, FacilityTurret.Constructor(Vector3(1270.57f, 730.4f, 66.27f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(251, 5037) + LocalObject(252, FacilityTurret.Constructor(Vector3(1271.14f, 1252.61f, 85.48f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(252, 5038) + LocalObject(253, FacilityTurret.Constructor(Vector3(1334.21f, 1161.61f, 69.59f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(253, 5039) + LocalObject(254, FacilityTurret.Constructor(Vector3(1353.22f, 911.37f, 59f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(254, 5040) + LocalObject(255, FacilityTurret.Constructor(Vector3(1364.71f, 1255.48f, 68.94f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(255, 5041) } def Lattice(): Unit = { diff --git a/pslogin/src/main/scala/zonemaps/Ugd04.scala b/pslogin/src/main/scala/zonemaps/Ugd04.scala index 45b65a44..356da815 100644 --- a/pslogin/src/main/scala/zonemaps/Ugd04.scala +++ b/pslogin/src/main/scala/zonemaps/Ugd04.scala @@ -7,6 +7,7 @@ import net.psforever.objects.serverobject.painbox.Painbox import net.psforever.objects.serverobject.structures.{Building, FoundationBuilder, StructureType, WarpGate} import net.psforever.objects.serverobject.terminals.{CaptureTerminal, ProximityTerminal, Terminal} import net.psforever.objects.serverobject.tube.SpawnTube +import net.psforever.objects.serverobject.turret.FacilityTurret import net.psforever.objects.serverobject.zipline.ZipLinePath import net.psforever.objects.zones.{MapScale, ZoneMap} import net.psforever.types.Vector3 @@ -454,6 +455,58 @@ object Ugd04 { // Byblos LocalObject(748, ProximityTerminal.Constructor(Vector3(1065.61f, 1231.69f, 124f), crystals_health_b), owning_building_guid = 0) LocalObject(749, ProximityTerminal.Constructor(Vector3(1128.28f, 600.54f, 118.54f), crystals_health_b), owning_building_guid = 0) LocalObject(750, ProximityTerminal.Constructor(Vector3(1281.84f, 1173.09f, 134.92f), crystals_health_b), owning_building_guid = 0) + LocalObject(157, FacilityTurret.Constructor(Vector3(628.21f, 1253.57f, 118.15f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(157, 5000) + LocalObject(158, FacilityTurret.Constructor(Vector3(666.02f, 817.67f, 151.48f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(158, 5001) + LocalObject(159, FacilityTurret.Constructor(Vector3(702.19f, 706.28f, 146.37f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(159, 5002) + LocalObject(160, FacilityTurret.Constructor(Vector3(704.65f, 1328.91f, 136.36f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(160, 5003) + LocalObject(161, FacilityTurret.Constructor(Vector3(723.23f, 1086.59f, 164.42f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(161, 5004) + LocalObject(162, FacilityTurret.Constructor(Vector3(765.99f, 769.62f, 117.7f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(162, 5005) + LocalObject(163, FacilityTurret.Constructor(Vector3(773.24f, 798.71f, 130.92f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(163, 5006) + LocalObject(164, FacilityTurret.Constructor(Vector3(817.59f, 798.57f, 130.96f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(164, 5007) + LocalObject(165, FacilityTurret.Constructor(Vector3(844.56f, 779.57f, 110.5f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(165, 5008) + LocalObject(166, FacilityTurret.Constructor(Vector3(850.49f, 1165.93f, 163.34f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(166, 5009) + LocalObject(167, FacilityTurret.Constructor(Vector3(853.35f, 881.47f, 132.33f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(167, 5010) + LocalObject(168, FacilityTurret.Constructor(Vector3(859.47f, 714.79f, 120.1f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(168, 5011) + LocalObject(169, FacilityTurret.Constructor(Vector3(910.99f, 790.65f, 118.5f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(169, 5012) + LocalObject(170, FacilityTurret.Constructor(Vector3(925.23f, 830.76f, 124.1f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(170, 5013) + LocalObject(171, FacilityTurret.Constructor(Vector3(1075.27f, 1324.85f, 121.9f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(171, 5014) + LocalObject(172, FacilityTurret.Constructor(Vector3(1105.36f, 731.72f, 122.3f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(172, 5015) + LocalObject(173, FacilityTurret.Constructor(Vector3(1114.21f, 1277.04f, 118.79f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(173, 5016) + LocalObject(174, FacilityTurret.Constructor(Vector3(1164.63f, 716.62f, 119.35f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(174, 5017) + LocalObject(175, FacilityTurret.Constructor(Vector3(1236.17f, 676.33f, 129.92f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(175, 5018) + LocalObject(176, FacilityTurret.Constructor(Vector3(1253.56f, 1357.53f, 160.41f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(176, 5019) + LocalObject(177, FacilityTurret.Constructor(Vector3(1257.88f, 734.33f, 139.99f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(177, 5020) + LocalObject(178, FacilityTurret.Constructor(Vector3(1270.92f, 1148.13f, 134.92f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(178, 5021) + LocalObject(179, FacilityTurret.Constructor(Vector3(1292.07f, 1324.84f, 174.89f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(179, 5022) + LocalObject(180, FacilityTurret.Constructor(Vector3(1302.35f, 1202.33f, 134.92f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(180, 5023) + LocalObject(181, FacilityTurret.Constructor(Vector3(1371.1f, 937.93f, 117.41f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(181, 5024) + LocalObject(182, FacilityTurret.Constructor(Vector3(1406.95f, 1210.65f, 130.77f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(182, 5025) } def Lattice(): Unit = { diff --git a/pslogin/src/main/scala/zonemaps/Ugd05.scala b/pslogin/src/main/scala/zonemaps/Ugd05.scala index 6392c2d3..0826707f 100644 --- a/pslogin/src/main/scala/zonemaps/Ugd05.scala +++ b/pslogin/src/main/scala/zonemaps/Ugd05.scala @@ -7,6 +7,7 @@ import net.psforever.objects.serverobject.painbox.Painbox import net.psforever.objects.serverobject.structures.{Building, FoundationBuilder, StructureType, WarpGate} import net.psforever.objects.serverobject.terminals.{CaptureTerminal, ProximityTerminal, Terminal} import net.psforever.objects.serverobject.tube.SpawnTube +import net.psforever.objects.serverobject.turret.FacilityTurret import net.psforever.objects.serverobject.zipline.ZipLinePath import net.psforever.objects.zones.{MapScale, ZoneMap} import net.psforever.types.Vector3 @@ -422,6 +423,58 @@ object Ugd05 { // Annwn LocalObject(16, ProximityTerminal.Constructor(Vector3(1111.91f, 984.81f, 150.41f), crystals_health_b), owning_building_guid = 0) LocalObject(498, ProximityTerminal.Constructor(Vector3(951.89f, 848.7f, 189.55f), crystals_health_b), owning_building_guid = 0) LocalObject(499, ProximityTerminal.Constructor(Vector3(1058.51f, 849.13f, 258.04f), crystals_health_b), owning_building_guid = 0) + LocalObject(71, FacilityTurret.Constructor(Vector3(903.84f, 1038.79f, 162.83f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(71, 5000) + LocalObject(72, FacilityTurret.Constructor(Vector3(917.33f, 1096.84f, 328.62f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(72, 5001) + LocalObject(73, FacilityTurret.Constructor(Vector3(941.49f, 1065.67f, 265.85f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(73, 5002) + LocalObject(74, FacilityTurret.Constructor(Vector3(972.24f, 908.83f, 167.96f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(74, 5003) + LocalObject(75, FacilityTurret.Constructor(Vector3(987.05f, 936.85f, 289.22f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(75, 5004) + LocalObject(76, FacilityTurret.Constructor(Vector3(1006.95f, 1040.83f, 328.62f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(76, 5005) + LocalObject(77, FacilityTurret.Constructor(Vector3(1016.37f, 1093.24f, 162.83f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(77, 5006) + LocalObject(78, FacilityTurret.Constructor(Vector3(1025.41f, 863.67f, 167.94f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(78, 5007) + LocalObject(79, FacilityTurret.Constructor(Vector3(1048.02f, 893.23f, 313.55f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(79, 5008) + LocalObject(80, FacilityTurret.Constructor(Vector3(1078.71f, 970.7f, 150.32f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(80, 5009) + LocalObject(81, FacilityTurret.Constructor(Vector3(1090.27f, 1143.01f, 328.62f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(81, 5010) + LocalObject(82, FacilityTurret.Constructor(Vector3(1114.24f, 862.02f, 156.83f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(82, 5011) + LocalObject(83, FacilityTurret.Constructor(Vector3(1118.88f, 1017.24f, 150.31f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(83, 5012) + LocalObject(84, FacilityTurret.Constructor(Vector3(1148.99f, 1139.1f, 309.56f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(84, 5013) + LocalObject(85, FacilityTurret.Constructor(Vector3(1151.31f, 1053.73f, 272.84f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(85, 5014) + LocalObject(86, FacilityTurret.Constructor(Vector3(1155.55f, 768.04f, 281.56f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(86, 5015) + LocalObject(87, FacilityTurret.Constructor(Vector3(1157.01f, 907.45f, 321.58f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(87, 5016) + LocalObject(88, FacilityTurret.Constructor(Vector3(1169.41f, 1134.44f, 226.08f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(88, 5017) + LocalObject(89, FacilityTurret.Constructor(Vector3(1176.74f, 1075.21f, 158.51f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(89, 5018) + LocalObject(90, FacilityTurret.Constructor(Vector3(1191.93f, 930.74f, 156.83f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(90, 5019) + LocalObject(91, FacilityTurret.Constructor(Vector3(1220.76f, 1109.93f, 309.56f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(91, 5020) + LocalObject(92, FacilityTurret.Constructor(Vector3(1221.9f, 1003.16f, 357.58f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(92, 5021) + LocalObject(93, FacilityTurret.Constructor(Vector3(1251.81f, 1016.94f, 273.16f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(93, 5022) + LocalObject(94, FacilityTurret.Constructor(Vector3(1272.36f, 985.48f, 321.58f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(94, 5023) + LocalObject(95, FacilityTurret.Constructor(Vector3(1273.43f, 1033.94f, 171.65f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(95, 5024) + LocalObject(96, FacilityTurret.Constructor(Vector3(1342.12f, 1076.58f, 301.56f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(96, 5025) } def Lattice(): Unit = { diff --git a/pslogin/src/main/scala/zonemaps/Ugd06.scala b/pslogin/src/main/scala/zonemaps/Ugd06.scala index 399f74dd..23d813ed 100644 --- a/pslogin/src/main/scala/zonemaps/Ugd06.scala +++ b/pslogin/src/main/scala/zonemaps/Ugd06.scala @@ -7,6 +7,7 @@ import net.psforever.objects.serverobject.painbox.Painbox import net.psforever.objects.serverobject.structures.{Building, FoundationBuilder, StructureType, WarpGate} import net.psforever.objects.serverobject.terminals.{CaptureTerminal, ProximityTerminal, Terminal} import net.psforever.objects.serverobject.tube.SpawnTube +import net.psforever.objects.serverobject.turret.FacilityTurret import net.psforever.objects.serverobject.zipline.ZipLinePath import net.psforever.objects.zones.{MapScale, ZoneMap} import net.psforever.types.Vector3 @@ -474,6 +475,56 @@ object Ugd06 { // Drugaskan LocalObject(711, ProximityTerminal.Constructor(Vector3(887.15f, 1281.71f, 110.54f), crystals_health_b), owning_building_guid = 0) LocalObject(712, ProximityTerminal.Constructor(Vector3(1055.56f, 1071.61f, 102.26f), crystals_health_b), owning_building_guid = 0) LocalObject(713, ProximityTerminal.Constructor(Vector3(1069.99f, 1127.29f, 174.49f), crystals_health_b), owning_building_guid = 0) + LocalObject(206, FacilityTurret.Constructor(Vector3(740.28f, 1248.13f, 102.39f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(206, 5000) + LocalObject(207, FacilityTurret.Constructor(Vector3(809.59f, 1107.17f, 106.13f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(207, 5001) + LocalObject(208, FacilityTurret.Constructor(Vector3(850.2f, 1289.34f, 95.04f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(208, 5002) + LocalObject(209, FacilityTurret.Constructor(Vector3(882.78f, 1056.81f, 89.36f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(209, 5003) + LocalObject(210, FacilityTurret.Constructor(Vector3(883.18f, 900.09f, 123.26f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(210, 5004) + LocalObject(211, FacilityTurret.Constructor(Vector3(897.52f, 1111.75f, 95.42f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(211, 5005) + LocalObject(212, FacilityTurret.Constructor(Vector3(901.13f, 1260.92f, 95.04f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(212, 5006) + LocalObject(213, FacilityTurret.Constructor(Vector3(933.25f, 896.94f, 108.78f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(213, 5007) + LocalObject(214, FacilityTurret.Constructor(Vector3(980.25f, 1277.41f, 81.61f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(214, 5008) + LocalObject(215, FacilityTurret.Constructor(Vector3(989.24f, 1112.19f, 97.47f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(215, 5009) + LocalObject(216, FacilityTurret.Constructor(Vector3(1010.06f, 1207.81f, 100.65f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(216, 5010) + LocalObject(217, FacilityTurret.Constructor(Vector3(1020.39f, 934.87f, 98.43f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(217, 5011) + LocalObject(218, FacilityTurret.Constructor(Vector3(1024.5f, 824.39f, 109.9f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(218, 5012) + LocalObject(219, FacilityTurret.Constructor(Vector3(1046.17f, 1093.7f, 100.3f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(219, 5013) + LocalObject(220, FacilityTurret.Constructor(Vector3(1103.21f, 909.09f, 81.32f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(220, 5014) + LocalObject(221, FacilityTurret.Constructor(Vector3(1106.4f, 1091.2f, 115.81f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(221, 5015) + LocalObject(222, FacilityTurret.Constructor(Vector3(1143.93f, 1173.62f, 137.22f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(222, 5016) + LocalObject(223, FacilityTurret.Constructor(Vector3(1158.52f, 731.05f, 90.93f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(223, 5017) + LocalObject(224, FacilityTurret.Constructor(Vector3(1181.47f, 838.23f, 101.14f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(224, 5018) + LocalObject(225, FacilityTurret.Constructor(Vector3(1212.43f, 868.94f, 120.92f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(225, 5019) + LocalObject(226, FacilityTurret.Constructor(Vector3(1219.12f, 993.4f, 102.26f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(226, 5020) + LocalObject(227, FacilityTurret.Constructor(Vector3(1232.83f, 867.35f, 101.14f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(227, 5021) + LocalObject(228, FacilityTurret.Constructor(Vector3(1306.63f, 814.39f, 102.99f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(228, 5022) + LocalObject(229, FacilityTurret.Constructor(Vector3(1338.8f, 750.12f, 102.99f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(229, 5023) + LocalObject(230, FacilityTurret.Constructor(Vector3(1356.64f, 861.39f, 92.4f), vanu_sentry_turret), owning_building_guid = 0) + TurretToWeapon(230, 5024) } def Lattice(): Unit = {