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 = {