mirror of
https://github.com/akaAgar/the-universal-mission-for-dcs-world.git
synced 2026-08-18 13:15:19 +00:00
Merge branch 'new-wingman-system'
This commit is contained in:
@@ -198,6 +198,28 @@ do
|
||||
return callsignTable
|
||||
end
|
||||
|
||||
function DCSEx.unitCallsignMaker.getNextGroupCallSign(callsign)
|
||||
if not callsign then return nil end
|
||||
local callsignName = callsign:sub(1, #callsign - 2):lower()
|
||||
local callsignGroupNumber = tonumber(callsign:sub(#callsign - 2, #callsign - 1))
|
||||
local callsignUnitNumber = tonumber(callsign:sub(#callsign - 1, #callsign))
|
||||
|
||||
for csType,_ in pairs(CALLSIGNS) do
|
||||
for csNameIndex,_ in pairs(CALLSIGNS[csType]) do
|
||||
if CALLSIGNS[csType][csNameIndex]:lower() == callsignName then
|
||||
return {
|
||||
[1] = csNameIndex,
|
||||
[2] = callsignGroupNumber,
|
||||
[3] = callsignUnitNumber,
|
||||
["name"] = CALLSIGNS[csType][csNameIndex]..tostring(callsignGroupNumber),
|
||||
}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
return nil
|
||||
end
|
||||
|
||||
do
|
||||
local missionGroups = DCSEx.envMission.getGroups()
|
||||
for _,g in ipairs(missionGroups) do
|
||||
|
||||
@@ -101,6 +101,26 @@ do
|
||||
return groupTable
|
||||
end
|
||||
|
||||
local function setAircraftTaskFollow(groupTable, followedGroupID)
|
||||
groupTable.task = "Escort"
|
||||
|
||||
table.insert(groupTable.route.points[1].task.params.tasks,
|
||||
{
|
||||
["enabled"] = true,
|
||||
["auto"] = true,
|
||||
["id"] = "Follow",
|
||||
["number"] = #groupTable.route.points[1].task.params.tasks + 1,
|
||||
["params"] = {
|
||||
groupId = followedGroupID,
|
||||
pos = { x = -100, y = 0, z = -100 },
|
||||
lastWptIndexFlag = false,
|
||||
lastWptIndex = -1
|
||||
},
|
||||
})
|
||||
|
||||
return groupTable
|
||||
end
|
||||
|
||||
local function setAircraftTaskOrbit(groupTable, options)
|
||||
-- TODO: oval orbit
|
||||
table.insert(groupTable.route.points[#groupTable.route.points].task.params.tasks,
|
||||
@@ -341,7 +361,11 @@ do
|
||||
if isAirUnit then
|
||||
if options.taskAwacs then setAircraftTaskAwacs(groupTable) end
|
||||
if options.taskCAP then setAircraftTaskCAP(groupTable) end
|
||||
setAircraftTaskOrbit(groupTable, options)
|
||||
if options.taskFollow then
|
||||
setAircraftTaskFollow(groupTable, options.taskFollow)
|
||||
else
|
||||
setAircraftTaskOrbit(groupTable, options)
|
||||
end
|
||||
groupCallsign = DCSEx.unitCallsignMaker.getCallsign(unitTypes[1])
|
||||
groupTable.name = groupCallsign.name
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user