wip
PR Prerequisites / Bundles Without Errors (pull_request) Failing after 4s
PR Prerequisites / Lua Check (pull_request) Failing after 22s

This commit is contained in:
2026-09-11 11:41:20 +02:00
parent f53d0d5c83
commit ff95845ae8
13 changed files with 54 additions and 62 deletions
+19 -7
View File
@@ -4,17 +4,26 @@
"version": "Lua 5.1"
},
"workspace": {
"checkThirdParty": false
"checkThirdParty": false,
"maxPreload": 1600,
"preloadFileSize": 1000
},
"diagnostics": {
"enable": true,
"globals": [
"lfs"
],
"severity": {
"undefined-field": "Warning",
"unused-local": "Warning",
"unused-function": "Warning"
"groupSeverity": {
"duplicate": "Warning",
"global":"Warning",
"luadoc": "Warning",
"redefined": "Warning",
"strong": "Warning",
"type-check": "Warning",
"unbalanced" : "Warning",
"ambiguity": "Warning",
"strict": "Warning",
"unused": "Warning"
},
"groupFileStatus": {
"ambiguity": "Any",
@@ -26,8 +35,11 @@
"strict": "Any",
"type-check": "Any",
"unbalanced": "Any",
"unused": "Any"
}
"unused": "Any",
"strong": "Any"
},
"ignoredFiles": "Opened",
"libraryFiles": "Opened"
},
"hint": {
"enable": false
-47
View File
@@ -1,47 +0,0 @@
---@class Queue
---@field private _items Array
---@field private _first number
---@field private _last number
local Queue = {}
Queue.__index = Queue
---@return Queue
function Queue.new()
local self = setmetatable({}, Queue)
self._items = {}
self._first = 1
self._last = 0
return self
end
---@return nil
function Queue:push(item)
self._last = self._last + 1
self._items[self._last] = item
end
---@return any?
function Queue:pop()
if self._first > self._last then
return nil
end
local item = self._items[self._first]
self._items[self._first] = nil
self._first = self._first + 1
return item
end
---@return Array<any>
function Queue:toList()
local items = {}
for i = self._first, self._last do
items[#items + 1] = self._items[i]
end
return items
end
return Queue
@@ -107,8 +107,9 @@ function AirGroup:SetMissionPrivate(mission)
local points = {}
if mission and mission.params and mission.params.route and mission.params.route.points then
for _, wp in pairs(mission.params.route.points) do
if wp.x and wp.y then
local routePoints = mission.params.route.points --[[@as Array<Vec2> ]]
for _, wp in pairs(routePoints) do
if wp and wp.x and wp.y then
table.insert(points, { x = wp.x, y = wp.y })
end
end
@@ -198,6 +199,8 @@ function AirGroup:SpawnInternal(force, withoutLoadout)
end
---@param selfA AirGroup
---@param time number
---@return number?
local function CheckLivenessTask(selfA, time)
local interval = selfA:CheckLiveness()
if not interval then return end
@@ -263,6 +266,7 @@ function AirGroup:OnLastUnitLanded()
---@param data CheckGroupForRestartData
---@param time number
---@return number?
local checkGroupForRestart = function(data, time)
local group = Group.getByName(data.self:GetName())
if not group then
@@ -34,9 +34,10 @@ function CapGroup:IsBackup()
return self._isBackup
end
---@param stageID string
---@return string?
function CapGroup:GetZoneIDWhenStageID(stageID)
return self._targetZoneIdPerStage[stageID]
return self._targetZoneIdPerStage[tostring(stageID)]
end
---@return string?
@@ -60,6 +60,7 @@ end
---comment
---@param units Array<string>
---@param zoneName string
---@param homeAirbase Airbase
function InterceptGroup:SendToInterceptUnits(units, zoneName, homeAirbase)
@@ -68,9 +69,10 @@ function InterceptGroup:SendToInterceptUnits(units, zoneName, homeAirbase)
self:SetTargetUnits(units)
end
---@param stageID string
---@return string?
function InterceptGroup:GetZoneIDWhenStageID(stageID)
return self._targetZoneIdPerStage[stageID]
return self._targetZoneIdPerStage[tostring(stageID)]
end
---@return string?
@@ -26,9 +26,10 @@ function SweepGroup.New(groupName, config, logger, spawnManager)
return self
end
---@param stageID string
---@return string?
function SweepGroup:GetZoneIDWhenStageID(stageID)
return self._targetZoneIdPerStage[stageID]
return self._targetZoneIdPerStage[tostring(stageID)]
end
---@return string?
@@ -8,6 +8,7 @@ DetectionManager.__index = DetectionManager
---@param logger Logger
---@return DetectionManager
function DetectionManager.New(logger)
local self = setmetatable({}, DetectionManager)
@@ -24,6 +25,7 @@ function DetectionManager.New(logger)
---@param selfA DetectionManager
---@param time number
---@return number?
local updateDetectingUnitsTask = function(selfA, time)
selfA:UpdateDetectingUnits()
return time + 120
@@ -32,6 +34,7 @@ function DetectionManager.New(logger)
---@param selfA DetectionManager
---@param time number
---@return number?
local updateDetected = function(selfA, time)
selfA:UpdateDetectedUnits()
return time + 10
@@ -43,6 +46,7 @@ end
---@param unitName string
---@param coalitionSide CoalitionSide
---@return boolean
function DetectionManager:IsUnitDetectedBy(unitName, coalitionSide)
local coalitionString = tostring(coalitionSide)
if not self._detectedUnits[coalitionString] then
@@ -56,7 +60,8 @@ function DetectionManager:IsUnitDetectedBy(unitName, coalitionSide)
return timer.getTime() - self._detectedUnits[coalitionString][unitName] < 20
end
---@return Array<string>
---@param coalitionSide CoalitionSide
---@return Array<string> detectedUnits
function DetectionManager:GetDetectedUnitsBy(coalitionSide)
local coalitionString = tostring(coalitionSide)
if not self._detectedUnits[coalitionString] then
@@ -56,7 +56,9 @@ end
---@field self RunwayBombingTracker
---@private
---@param time number
---@param weaponTrackingArgs WeaponTrackingArgs
---@return number?
function RunwayBombingTracker.trackWeaponTask(weaponTrackingArgs, time)
local weapon = weaponTrackingArgs.weapon
+4
View File
@@ -84,6 +84,7 @@ end
---@param airbase Airbase
---@param capZone SpearheadTriggerZone
---@param capConfig CapConfig
---@return table
local GetOutboundTask = function(airbase, capZone, capConfig)
local airbaseVec3 = airbase:getPoint()
local airbaseVec2 = { x = airbaseVec3.x, y = airbaseVec3.z }
@@ -125,6 +126,7 @@ end
---@param airbase Airbase
---@param capZone SpearheadTriggerZone
---@param capConfig CapConfig
---@return table
function CAP.getAsMissionFromAirbase(groupName, airbase, capZone, capConfig)
local points = {
[1] = GetOutboundTask(airbase, capZone, capConfig),
@@ -152,6 +154,7 @@ end
---@param airbase Airbase
---@param capZone SpearheadTriggerZone
---@param capConfig CapConfig
---@return table
function CAP.getAsMission(groupName, airbase, capZone, capConfig)
local points = {
[1] = CAP.getAsTasking(groupName, airbase, capZone, capConfig),
@@ -178,6 +181,7 @@ end
---@param airbase Airbase
---@param capZone SpearheadTriggerZone
---@param capConfig CapConfig
---@return table
function CAP.getAsTasking(groupName, airbase, capZone, capConfig)
local duration = math.random(capConfig:getMinDurationOnStation(), capConfig:getMaxDurationOnStation()) or 1500
@@ -11,6 +11,7 @@ local INTERCEPT = {}
---@param speed number?
---@param alt number?
---@param config CapConfig
---@return table
function INTERCEPT.getMissionFromAirbase(groupName, interceptPoint, airbase, config, speed, alt)
local airbaseVec3 = airbase:getPoint()
+3
View File
@@ -7,6 +7,7 @@ local RTB = {}
---@param airbase Airbase
---@param missionPoint Vec2
---@param capConfig CapConfig
---@return table
function RTB.getAsMission(airbase, missionPoint, capConfig)
return {
id = "Mission",
@@ -113,6 +114,7 @@ end
---comment
---@param airbase Airbase
---@param missionPoint Vec2
---@return table
---@param capConfig CapConfig
function RTB.getApproachPoint(airbase, missionPoint, capConfig)
@@ -147,6 +149,7 @@ function RTB.getApproachPoint(airbase, missionPoint, capConfig)
end
---@param airbase Airbase
---@return table
function RTB.getInitialPoint(airbase)
local point = calcInitialPoint(airbase)
return {
+4
View File
@@ -210,6 +210,10 @@ do
local lastFile = getLastFileOrDefault(dir--[[@as string]], matchingPart, fileName)
if lastFile == nil then
lastFile = fileName
end
local fileSplit = Util.split_string(lastFile, ".")
fileSplit[#fileSplit-1] = tostring(tonumber(fileSplit[#fileSplit-1]) + 1)
fileName = table.concat(fileSplit, ".")
+1 -1
View File
@@ -4,7 +4,7 @@ do -- INIT UTIL
---splits a string in sub parts by seperator
---@param input string
---@param seperator string
---@return table result list of strings
---@return Array<string> result list of strings
function UTIL.split_string(input, seperator)
if seperator == nil then
seperator = " "