Cap rework (#48)
- Refactored all CAP classes. - Improved timing - Zones are now not tied to MissionStages - CAPROUTE_<routeID>_<free> - routeID is now what is used in the naming convention. - Units taxi back to their spawn parking space and rearm there. (Units destroyed while in the Rearming or Repairing state are not taken into account)
This commit is contained in:
@@ -1,56 +1,98 @@
|
||||
|
||||
|
||||
---@class CapConfig
|
||||
---@field private _isEnabled boolean
|
||||
---@field private _minSpeed number
|
||||
---@field private _maxSpeed number
|
||||
---@field private _minAlt number
|
||||
---@field private _maxAlt number
|
||||
---@field private _minDurationOnStation number
|
||||
---@field private _maxDurationOnStation number
|
||||
---@field private _maxDeviationRange number
|
||||
---@field private _rearmDelay number
|
||||
---@field private _repairDelay number
|
||||
---@field private _deathDelay number
|
||||
local CapConfig = {};
|
||||
function CapConfig:new()
|
||||
local o = {}
|
||||
setmetatable(o, { __index = self })
|
||||
CapConfig.__index = CapConfig
|
||||
|
||||
---@return CapConfig
|
||||
function CapConfig.new()
|
||||
local self = setmetatable({}, CapConfig)
|
||||
|
||||
if SpearheadConfig == nil then SpearheadConfig = {} end
|
||||
if SpearheadConfig.CapConfig == nil then SpearheadConfig.CapConfig = {} end
|
||||
|
||||
local enabled = SpearheadConfig.CapConfig.enabled
|
||||
if enabled == nil then enabled = true end
|
||||
---@return boolean
|
||||
o.isEnabled = function(self) return enabled == true end
|
||||
self._isEnabled = enabled
|
||||
|
||||
local minSpeed = (tonumber(SpearheadConfig.CapConfig.minSpeed) or 400) * 0.514444
|
||||
---@return number
|
||||
o.getMinSpeed = function(self) return minSpeed end
|
||||
self._minSpeed = (tonumber(SpearheadConfig.CapConfig.minSpeed) or 400) * 0.514444
|
||||
self._maxSpeed = (tonumber(SpearheadConfig.CapConfig.maxSpeed) or 400) * 0.514444
|
||||
|
||||
local maxSpeed = (tonumber(SpearheadConfig.CapConfig.maxSpeed) or 400) * 0.514444
|
||||
---@return number
|
||||
o.getMaxSpeed = function(self) return maxSpeed end
|
||||
self._minAlt = (tonumber(SpearheadConfig.CapConfig.minAlt) or 18000) * 0.3048
|
||||
self._maxAlt = (tonumber(SpearheadConfig.CapConfig.maxAlt) or 28000) * 0.3048
|
||||
|
||||
local minAlt = (tonumber(SpearheadConfig.CapConfig.minAlt) or 18000) * 0.3048
|
||||
---@return number
|
||||
o.getMinAlt = function(self) return minAlt end
|
||||
self._minDurationOnStation = 1200
|
||||
self._maxDurationOnStation = 2700
|
||||
|
||||
local maxAlt = (tonumber(SpearheadConfig.CapConfig.maxAlt) or 28000) * 0.3048
|
||||
---@return number
|
||||
o.getMaxAlt = function(self) return maxAlt end
|
||||
self._maxDeviationRange = 35 * 1852 -- in meters
|
||||
self._rearmDelay = tonumber(SpearheadConfig.CapConfig.rearmDelay) or 600
|
||||
self._repairDelay = tonumber(SpearheadConfig.CapConfig.repairDelay) or 600
|
||||
self._deathDelay = tonumber(SpearheadConfig.CapConfig.deathDelay) or 1800
|
||||
|
||||
local minDurationOnStation = 1200
|
||||
---@return number
|
||||
o.getMinDurationOnStation = function(self) return minDurationOnStation end
|
||||
return self;
|
||||
end
|
||||
|
||||
local maxDurationOnStation = 2700
|
||||
---@return number
|
||||
o.getmaxDurationOnStation = function(self) return maxDurationOnStation end
|
||||
function CapConfig:isEnabled()
|
||||
return self._isEnabled
|
||||
end
|
||||
|
||||
local maxDeviationRange = 20 * 1852;
|
||||
---@return number
|
||||
o.getMaxDeviationRange = function(self) return maxDeviationRange end
|
||||
---@return number
|
||||
function CapConfig:getMinSpeed()
|
||||
return self._minSpeed
|
||||
end
|
||||
|
||||
local rearmDelay = tonumber(SpearheadConfig.CapConfig.rearmDelay) or 600
|
||||
---@return number
|
||||
o.getRearmDelay = function(self) return rearmDelay end
|
||||
---@return number
|
||||
function CapConfig:getMaxSpeed()
|
||||
return self._maxSpeed
|
||||
end
|
||||
|
||||
local deathDelay = tonumber(SpearheadConfig.CapConfig.deathDelay) or 1800
|
||||
---@return number
|
||||
o.getDeathDelay = function(self) return deathDelay end
|
||||
o.logLevel = "INFO"
|
||||
---@return number
|
||||
function CapConfig:getMinAlt()
|
||||
return self._minAlt
|
||||
end
|
||||
|
||||
return o;
|
||||
---@return number
|
||||
function CapConfig:getMaxAlt()
|
||||
return self._maxAlt
|
||||
end
|
||||
|
||||
---@return number
|
||||
function CapConfig:getMinDurationOnStation()
|
||||
return self._minDurationOnStation
|
||||
end
|
||||
|
||||
---@return number
|
||||
function CapConfig:getMaxDurationOnStation()
|
||||
return self._maxDurationOnStation
|
||||
end
|
||||
|
||||
---@return number
|
||||
function CapConfig:getMaxDeviationRange()
|
||||
return self._maxDeviationRange
|
||||
end
|
||||
|
||||
---@return number
|
||||
function CapConfig:getRearmDelay()
|
||||
return self._rearmDelay
|
||||
end
|
||||
|
||||
function CapConfig:getRepairDelay()
|
||||
return self._repairDelay
|
||||
end
|
||||
|
||||
---@return number
|
||||
function CapConfig:getDeathDelay()
|
||||
return self._deathDelay
|
||||
end
|
||||
|
||||
if not Spearhead.internal then Spearhead.internal = {} end
|
||||
|
||||
Reference in New Issue
Block a user