diff --git a/Moose Development/Moose/Ops/Auftrag.lua b/Moose Development/Moose/Ops/Auftrag.lua index bd67aa02c..0b45243e1 100644 --- a/Moose Development/Moose/Ops/Auftrag.lua +++ b/Moose Development/Moose/Ops/Auftrag.lua @@ -1717,7 +1717,7 @@ function AUFTRAG:NewRECON(ZoneSet, Speed, Altitude, Adinfinitum, Randomly) mission:_TargetFromObject(ZoneSet) - mission.missionTask=mission:GetMissionTaskforMissionType(AUFTRAG.Type.RECON) + mission.missionTask=mission:GetMissionTaskforMissionType(AUFTRAG.Type.RECON) mission.optionROE=ENUMS.ROE.WeaponHold mission.optionROT=ENUMS.ROT.PassiveDefense @@ -1730,8 +1730,14 @@ function AUFTRAG:NewRECON(ZoneSet, Speed, Altitude, Adinfinitum, Randomly) mission.categories={AUFTRAG.Category.ALL} mission.DCStask=mission:GetDCSMissionTask() - mission.DCStask.params.adinfitum=Adinfinitum + mission.DCStask.params.adinfinitum=Adinfinitum 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 end diff --git a/Moose Development/Moose/Ops/Chief.lua b/Moose Development/Moose/Ops/Chief.lua index e0c8afa01..b2060bee0 100644 --- a/Moose Development/Moose/Ops/Chief.lua +++ b/Moose Development/Moose/Ops/Chief.lua @@ -2257,18 +2257,24 @@ function CHIEF:RecruitAssetsForZone(StratZone, MissionType, NassetsMin, NassetsM -- Create Patrol zone mission. local caszone = StratZone.opszone.zone local coord = caszone:GetCoordinate() - local height = UTILS.MetersToFeet(coord:GetLandHeight())+2000 - local mission=AUFTRAG:NewPATROLZONE(caszone) + local height = UTILS.MetersToFeet(coord:GetLandHeight())+2500 + 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:SetWeaponExpend(AI.Task.WeaponExpend.ALL) - + mission:SetMissionSpeed(Speed) + -- Add assets to mission. for _,asset in pairs(assets) do mission:AddAsset(asset) - if asset.speedmax then - local speed = UTILS.KmphToKnots(asset.speedmax * 0.7) or 100 - mission:SetMissionSpeed(speed) - end end -- Assign mission to legions. @@ -2307,7 +2313,7 @@ function CHIEF:RecruitAssetsForZone(StratZone, MissionType, NassetsMin, NassetsM -- Create Armored on guard mission local TargetZone = StratZone.opszone.zone local Target = TargetZone:GetCoordinate() - local mission=AUFTRAG:NewARMOREDGUARD(Target) + local mission=AUFTRAG:NewARMOREDGUARD(Target,"Vee") -- Add assets to mission. for _,asset in pairs(assets) do diff --git a/Moose Development/Moose/Ops/OpsGroup.lua b/Moose Development/Moose/Ops/OpsGroup.lua index 0f1221c28..666b7735f 100644 --- a/Moose Development/Moose/Ops/OpsGroup.lua +++ b/Moose Development/Moose/Ops/OpsGroup.lua @@ -3923,6 +3923,10 @@ function OPSGROUP:AddMission(Mission) -- Add mission to queue. table.insert(self.missionqueue, Mission) + -- ad infinitum? + + self.adinfinitum = Mission.DCStask.params.adinfinitum and Mission.DCStask.params.adinfinitum or false + -- Info text. 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") @@ -4954,7 +4958,9 @@ function OPSGROUP:onafterPassingWaypoint(From, Event, To, Waypoint) -- Increase counter. self.lastindex=self.lastindex+1 - + if self.adinfinitum and n==#target.targets then -- all targets done once + self.lastindex = 1 + end else -- Get waypoint index.