diff --git a/common/src/main/scala/net/psforever/objects/GlobalDefinitions.scala b/common/src/main/scala/net/psforever/objects/GlobalDefinitions.scala index b147716f..52843e78 100644 --- a/common/src/main/scala/net/psforever/objects/GlobalDefinitions.scala +++ b/common/src/main/scala/net/psforever/objects/GlobalDefinitions.scala @@ -2705,6 +2705,7 @@ object GlobalDefinitions { ant.DeployTime = 1500 ant.UndeployTime = 1500 ant.AutoPilotSpeeds = (18, 6) + ant.MaximumCapacitor = 1500 ant.Packet = utilityConverter ams.Name = "ams" diff --git a/common/src/main/scala/net/psforever/objects/Vehicle.scala b/common/src/main/scala/net/psforever/objects/Vehicle.scala index 6dabd99a..dcea094c 100644 --- a/common/src/main/scala/net/psforever/objects/Vehicle.scala +++ b/common/src/main/scala/net/psforever/objects/Vehicle.scala @@ -47,6 +47,7 @@ class Vehicle(private val vehicleDef : VehicleDefinition) extends PlanetSideServ private var trunkAccess : Option[PlanetSideGUID] = None private var jammered : Boolean = false private var cloaked : Boolean = false + private var capacitor : Int = 0 /** * Permissions control who gets to access different parts of the vehicle; @@ -147,6 +148,19 @@ class Vehicle(private val vehicleDef : VehicleDefinition) extends PlanetSideServ Cloaked } + def Capacitor : Int = capacitor + + def Capacitor_=(value: Int) : Int = { + if(value > Definition.MaximumCapacitor) { + capacitor = Definition.MaximumCapacitor + } else if (value < 0) { + capacitor = 0 + } else { + capacitor = value + } + Capacitor + } + /** * Given the index of an entry mounting point, return the infantry-accessible `Seat` associated with it. * @param mountPoint an index representing the seat position / mounting point diff --git a/common/src/main/scala/net/psforever/objects/definition/VehicleDefinition.scala b/common/src/main/scala/net/psforever/objects/definition/VehicleDefinition.scala index 5bb11e89..2d17e170 100644 --- a/common/src/main/scala/net/psforever/objects/definition/VehicleDefinition.scala +++ b/common/src/main/scala/net/psforever/objects/definition/VehicleDefinition.scala @@ -29,6 +29,7 @@ class VehicleDefinition(objectId : Int) extends ObjectDefinition(objectId) { private var canCloak : Boolean = false private var canBeOwned : Boolean = true private var serverVehicleOverrideSpeeds : (Int, Int) = (0, 0) + private var maximumCapacitor : Int = 0 Name = "vehicle" Packet = VehicleDefinition.converter @@ -114,6 +115,13 @@ class VehicleDefinition(objectId : Int) extends ObjectDefinition(objectId) { def AutoPilotSpeed1 : Int = serverVehicleOverrideSpeeds._1 def AutoPilotSpeed2 : Int = serverVehicleOverrideSpeeds._2 + + def MaximumCapacitor : Int = maximumCapacitor + + def MaximumCapacitor_=(maxCapacitor: Int) : Int = { + maximumCapacitor = maxCapacitor + MaximumCapacitor + } } object VehicleDefinition { 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 ae928688..3ebb145a 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 @@ -12,7 +12,7 @@ class Building(private val mapId : Int, private val zone : Zone, private val bui /** * The mapId is the identifier number used in BuildingInfoUpdateMessage. * The modelId is the identifier number used in SetEmpireMessage / Facility hacking / PlanetSideAttributeMessage. - */ + */ private var modelId : Option[Int] = None private var faction : PlanetSideEmpire.Value = PlanetSideEmpire.NEUTRAL private var amenities : List[Amenity] = List.empty