mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-08-15 10:47:21 +00:00
CHIEF/AUFTRAG/OPSGROUP Fixed RECON type mission adhereing to paramters adinfinitum and randomly, fixed CAS mission in CHIEF
This commit is contained in:
parent
1c5c205614
commit
c34dc9f946
@ -1717,7 +1717,7 @@ function AUFTRAG:NewRECON(ZoneSet, Speed, Altitude, Adinfinitum, Randomly)
|
|||||||
|
|
||||||
mission:_TargetFromObject(ZoneSet)
|
mission:_TargetFromObject(ZoneSet)
|
||||||
|
|
||||||
mission.missionTask=mission:GetMissionTaskforMissionType(AUFTRAG.Type.RECON)
|
mission.missionTask=mission:GetMissionTaskforMissionType(AUFTRAG.Type.RECON)
|
||||||
|
|
||||||
mission.optionROE=ENUMS.ROE.WeaponHold
|
mission.optionROE=ENUMS.ROE.WeaponHold
|
||||||
mission.optionROT=ENUMS.ROT.PassiveDefense
|
mission.optionROT=ENUMS.ROT.PassiveDefense
|
||||||
@ -1730,8 +1730,14 @@ function AUFTRAG:NewRECON(ZoneSet, Speed, Altitude, Adinfinitum, Randomly)
|
|||||||
mission.categories={AUFTRAG.Category.ALL}
|
mission.categories={AUFTRAG.Category.ALL}
|
||||||
|
|
||||||
mission.DCStask=mission:GetDCSMissionTask()
|
mission.DCStask=mission:GetDCSMissionTask()
|
||||||
mission.DCStask.params.adinfitum=Adinfinitum
|
mission.DCStask.params.adinfinitum=Adinfinitum
|
||||||
mission.DCStask.params.randomly=Randomly
|
mission.DCStask.params.randomly=Randomly
|
||||||
|
|
||||||
|
if Randomly then
|
||||||
|
local targets = mission.DCStask.params.target.targets -- Ops.Target#TARGET
|
||||||
|
local shuffled = UTILS.ShuffleTable(targets)
|
||||||
|
mission.DCStask.params.target.targets = shuffled
|
||||||
|
end
|
||||||
|
|
||||||
return mission
|
return mission
|
||||||
end
|
end
|
||||||
|
|||||||
@ -2257,18 +2257,24 @@ function CHIEF:RecruitAssetsForZone(StratZone, MissionType, NassetsMin, NassetsM
|
|||||||
-- Create Patrol zone mission.
|
-- Create Patrol zone mission.
|
||||||
local caszone = StratZone.opszone.zone
|
local caszone = StratZone.opszone.zone
|
||||||
local coord = caszone:GetCoordinate()
|
local coord = caszone:GetCoordinate()
|
||||||
local height = UTILS.MetersToFeet(coord:GetLandHeight())+2000
|
local height = UTILS.MetersToFeet(coord:GetLandHeight())+2500
|
||||||
local mission=AUFTRAG:NewPATROLZONE(caszone)
|
local Speed = 200
|
||||||
|
--local mission=AUFTRAG:NewPATROLZONE(caszone)
|
||||||
|
if assets[1] then
|
||||||
|
if assets[1].speedmax then
|
||||||
|
Speed = UTILS.KmphToKnots(assets[1].speedmax * 0.7) or 200
|
||||||
|
end
|
||||||
|
end
|
||||||
|
--local Speed = UTILS.KmphToKnots(assets[1].speedmax * 0.7) or 200
|
||||||
|
local Leg = caszone:GetRadius() <= 10000 and 5 or UTILS.MetersToNM(caszone:GetRadius())
|
||||||
|
local mission=AUFTRAG:NewCAS(caszone,height,Speed,coord,math.random(0,359),Leg)
|
||||||
mission:SetEngageDetected(25, {"Ground Units", "Light armed ships", "Helicopters"})
|
mission:SetEngageDetected(25, {"Ground Units", "Light armed ships", "Helicopters"})
|
||||||
mission:SetWeaponExpend(AI.Task.WeaponExpend.ALL)
|
mission:SetWeaponExpend(AI.Task.WeaponExpend.ALL)
|
||||||
|
mission:SetMissionSpeed(Speed)
|
||||||
|
|
||||||
-- Add assets to mission.
|
-- Add assets to mission.
|
||||||
for _,asset in pairs(assets) do
|
for _,asset in pairs(assets) do
|
||||||
mission:AddAsset(asset)
|
mission:AddAsset(asset)
|
||||||
if asset.speedmax then
|
|
||||||
local speed = UTILS.KmphToKnots(asset.speedmax * 0.7) or 100
|
|
||||||
mission:SetMissionSpeed(speed)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Assign mission to legions.
|
-- Assign mission to legions.
|
||||||
@ -2307,7 +2313,7 @@ function CHIEF:RecruitAssetsForZone(StratZone, MissionType, NassetsMin, NassetsM
|
|||||||
-- Create Armored on guard mission
|
-- Create Armored on guard mission
|
||||||
local TargetZone = StratZone.opszone.zone
|
local TargetZone = StratZone.opszone.zone
|
||||||
local Target = TargetZone:GetCoordinate()
|
local Target = TargetZone:GetCoordinate()
|
||||||
local mission=AUFTRAG:NewARMOREDGUARD(Target)
|
local mission=AUFTRAG:NewARMOREDGUARD(Target,"Vee")
|
||||||
|
|
||||||
-- Add assets to mission.
|
-- Add assets to mission.
|
||||||
for _,asset in pairs(assets) do
|
for _,asset in pairs(assets) do
|
||||||
|
|||||||
@ -3923,6 +3923,10 @@ function OPSGROUP:AddMission(Mission)
|
|||||||
-- Add mission to queue.
|
-- Add mission to queue.
|
||||||
table.insert(self.missionqueue, Mission)
|
table.insert(self.missionqueue, Mission)
|
||||||
|
|
||||||
|
-- ad infinitum?
|
||||||
|
|
||||||
|
self.adinfinitum = Mission.DCStask.params.adinfinitum and Mission.DCStask.params.adinfinitum or false
|
||||||
|
|
||||||
-- Info text.
|
-- Info text.
|
||||||
local text=string.format("Added %s mission %s starting at %s, stopping at %s",
|
local text=string.format("Added %s mission %s starting at %s, stopping at %s",
|
||||||
tostring(Mission.type), tostring(Mission.name), UTILS.SecondsToClock(Mission.Tstart, true), Mission.Tstop and UTILS.SecondsToClock(Mission.Tstop, true) or "INF")
|
tostring(Mission.type), tostring(Mission.name), UTILS.SecondsToClock(Mission.Tstart, true), Mission.Tstop and UTILS.SecondsToClock(Mission.Tstop, true) or "INF")
|
||||||
@ -4954,7 +4958,9 @@ function OPSGROUP:onafterPassingWaypoint(From, Event, To, Waypoint)
|
|||||||
|
|
||||||
-- Increase counter.
|
-- Increase counter.
|
||||||
self.lastindex=self.lastindex+1
|
self.lastindex=self.lastindex+1
|
||||||
|
if self.adinfinitum and n==#target.targets then -- all targets done once
|
||||||
|
self.lastindex = 1
|
||||||
|
end
|
||||||
else
|
else
|
||||||
|
|
||||||
-- Get waypoint index.
|
-- Get waypoint index.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user