diff --git a/src/main/scala/net/psforever/objects/GlobalDefinitions.scala b/src/main/scala/net/psforever/objects/GlobalDefinitions.scala index 61b0740d..06d1a89c 100644 --- a/src/main/scala/net/psforever/objects/GlobalDefinitions.scala +++ b/src/main/scala/net/psforever/objects/GlobalDefinitions.scala @@ -9937,8 +9937,8 @@ object GlobalDefinitions { lodestar_repair_terminal.Name = "lodestar_repair_terminal" lodestar_repair_terminal.Interval = 1000 lodestar_repair_terminal.HealAmount = 60 - lodestar_repair_terminal.UseRadius = 20 - lodestar_repair_terminal.TargetValidation += EffectTarget.Category.Vehicle -> EffectTarget.Validation.RepairSilo + lodestar_repair_terminal.UseRadius = 40 + lodestar_repair_terminal.TargetValidation += EffectTarget.Category.Vehicle -> EffectTarget.Validation.LodestarRepair lodestar_repair_terminal.Damageable = false lodestar_repair_terminal.Repairable = false diff --git a/src/main/scala/net/psforever/objects/equipment/EffectTarget.scala b/src/main/scala/net/psforever/objects/equipment/EffectTarget.scala index 788f2446..2f5e404d 100644 --- a/src/main/scala/net/psforever/objects/equipment/EffectTarget.scala +++ b/src/main/scala/net/psforever/objects/equipment/EffectTarget.scala @@ -53,6 +53,12 @@ object EffectTarget { case _ => false } + def LodestarRepair(target: PlanetSideGameObject): Boolean = + target match { + case v: Vehicle => RepairSilo(v) || PadLanding(v) + case _ => false + } + /** * To repair at this silo, the vehicle: * can not be a flight vehicle, @@ -79,7 +85,7 @@ object EffectTarget { private def CommonRepairConditions(v: Vehicle): Boolean = { v.Health > 0 && v.Health < v.MaxHealth && - (v.History.findLast { entry => entry.isInstanceOf[DamagingActivity] } match { + (v.History.find { entry => entry.isInstanceOf[DamagingActivity] } match { case Some(entry) if System.currentTimeMillis() - entry.time < 5000L => false case _ => true }) diff --git a/src/main/scala/net/psforever/zones/Zones.scala b/src/main/scala/net/psforever/zones/Zones.scala index b06eaecf..a0a15f8d 100644 --- a/src/main/scala/net/psforever/zones/Zones.scala +++ b/src/main/scala/net/psforever/zones/Zones.scala @@ -578,7 +578,7 @@ object Zones { ) case "crystals_energy_a" | "crystals_energy_b" => zoneMap.addLocalObject( - obj.guid + 1, + obj.guid + 2000, ProximityTerminal.Constructor(obj.position, GlobalDefinitions.crystals_energy), owningBuildingGuid = ownerGuid )