mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-10-29 16:58:06 +00:00
Merge pull request #1642 from FlightControl-Master/Applevangelist-Armor-1
Auftrag - Added type ARMORATTACK
This commit is contained in:
commit
06fa585f69
@ -274,6 +274,9 @@
|
|||||||
--
|
--
|
||||||
-- An arty mission can be created with the @{#AUFTRAG.NewARTY}() function.
|
-- An arty mission can be created with the @{#AUFTRAG.NewARTY}() function.
|
||||||
--
|
--
|
||||||
|
-- ## ARMORATTACK
|
||||||
|
--
|
||||||
|
-- A mission to send a tank group can be created with the @{#AUFTRAG.NewARMORATTACK}() function.
|
||||||
--
|
--
|
||||||
-- # Options and Parameters
|
-- # Options and Parameters
|
||||||
--
|
--
|
||||||
@ -378,6 +381,7 @@ _AUFTRAGSNR=0
|
|||||||
-- @field #string ALERT5 Alert 5.
|
-- @field #string ALERT5 Alert 5.
|
||||||
-- @field #string ONGUARD On guard.
|
-- @field #string ONGUARD On guard.
|
||||||
-- @field #string BARRAGE Barrage.
|
-- @field #string BARRAGE Barrage.
|
||||||
|
-- @field #STRING ARMORATTACK Armor attack.
|
||||||
AUFTRAG.Type={
|
AUFTRAG.Type={
|
||||||
ANTISHIP="Anti Ship",
|
ANTISHIP="Anti Ship",
|
||||||
AWACS="AWACS",
|
AWACS="AWACS",
|
||||||
@ -408,6 +412,7 @@ AUFTRAG.Type={
|
|||||||
ALERT5="Alert5",
|
ALERT5="Alert5",
|
||||||
ONGUARD="On Guard",
|
ONGUARD="On Guard",
|
||||||
BARRAGE="Barrage",
|
BARRAGE="Barrage",
|
||||||
|
ARMORATTACK="Armor Attack",
|
||||||
}
|
}
|
||||||
|
|
||||||
--- Mission status of an assigned group.
|
--- Mission status of an assigned group.
|
||||||
@ -427,6 +432,7 @@ AUFTRAG.SpecialTask={
|
|||||||
ALERT5="Alert5",
|
ALERT5="Alert5",
|
||||||
ONGUARD="On Guard",
|
ONGUARD="On Guard",
|
||||||
BARRAGE="Barrage",
|
BARRAGE="Barrage",
|
||||||
|
ARMORATTACK="AmorAttack",
|
||||||
}
|
}
|
||||||
|
|
||||||
--- Mission status.
|
--- Mission status.
|
||||||
@ -1664,6 +1670,35 @@ function AUFTRAG:NewPATROLZONE(Zone, Speed, Altitude)
|
|||||||
return mission
|
return mission
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--- **[GROUND]** Create a ARMORATTACK mission. Armoured ground group(s) will go to the zone and attack.
|
||||||
|
-- @param #AUFTRAG self
|
||||||
|
-- @param Wrapper.Positionable#POSITIONABLE Target The target to attack. Can be a GROUP, UNIT or STATIC object.
|
||||||
|
-- @param #number Speed Speed in knots.
|
||||||
|
-- @param #string Formation The attack formation, e.g. "Wedge", "Vee" etc.
|
||||||
|
-- @return #AUFTRAG self
|
||||||
|
function AUFTRAG:NewARMORATTACK(Target, Speed, Formation)
|
||||||
|
|
||||||
|
local mission=AUFTRAG:New(AUFTRAG.Type.ARMORATTACK)
|
||||||
|
|
||||||
|
mission:_TargetFromObject(Target)
|
||||||
|
|
||||||
|
mission.missionTask=mission:GetMissionTaskforMissionType(AUFTRAG.Type.ARMORATTACK)
|
||||||
|
|
||||||
|
mission.optionROE=ENUMS.ROE.OpenFire
|
||||||
|
mission.optionAlarm=ENUMS.AlarmState.Auto
|
||||||
|
mission.optionFormation="On Road"
|
||||||
|
mission.optionAttackFormation=Formation or "Wedge"
|
||||||
|
|
||||||
|
mission.missionFraction=1.0
|
||||||
|
mission.missionSpeed=Speed and UTILS.KnotsToKmph(Speed) or 20
|
||||||
|
|
||||||
|
mission.categories={AUFTRAG.Category.GROUND}
|
||||||
|
|
||||||
|
mission.DCStask=mission:GetDCSMissionTask()
|
||||||
|
|
||||||
|
return mission
|
||||||
|
end
|
||||||
|
|
||||||
--- **[AIR, GROUND, NAVAL]** Create a RECON mission.
|
--- **[AIR, GROUND, NAVAL]** Create a RECON mission.
|
||||||
-- @param #AUFTRAG self
|
-- @param #AUFTRAG self
|
||||||
-- @param Core.Set#SET_ZONE ZoneSet The recon zones.
|
-- @param Core.Set#SET_ZONE ZoneSet The recon zones.
|
||||||
@ -1819,6 +1854,8 @@ function AUFTRAG:NewFromTarget(Target, MissionType)
|
|||||||
mission=self:NewSEAD(Target, Altitude)
|
mission=self:NewSEAD(Target, Altitude)
|
||||||
elseif MissionType==AUFTRAG.Type.STRIKE then
|
elseif MissionType==AUFTRAG.Type.STRIKE then
|
||||||
mission=self:NewSTRIKE(Target, Altitude)
|
mission=self:NewSTRIKE(Target, Altitude)
|
||||||
|
elseif MissionType==AUFTRAG.Type.ARMORATTACK then
|
||||||
|
mission=self:NewARMORATTACK(Target,Speed)
|
||||||
else
|
else
|
||||||
return nil
|
return nil
|
||||||
end
|
end
|
||||||
@ -4848,6 +4885,26 @@ function AUFTRAG:GetDCSMissionTask(TaskControllable)
|
|||||||
DCStask.params=param
|
DCStask.params=param
|
||||||
|
|
||||||
table.insert(DCStasks, DCStask)
|
table.insert(DCStasks, DCStask)
|
||||||
|
|
||||||
|
elseif self.type==AUFTRAG.Type.ARMORATTACK then
|
||||||
|
|
||||||
|
-------------------------
|
||||||
|
-- ARMOR ATTACK Mission --
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
local DCStask={}
|
||||||
|
|
||||||
|
DCStask.id=AUFTRAG.SpecialTask.ARMORATTACK
|
||||||
|
|
||||||
|
-- We create a "fake" DCS task and pass the parameters to the ARMYGROUP.
|
||||||
|
local param={}
|
||||||
|
param.zone=self:GetObjective()
|
||||||
|
param.action="Wedge"
|
||||||
|
param.speed=self.missionSpeed
|
||||||
|
|
||||||
|
DCStask.params=param
|
||||||
|
|
||||||
|
table.insert(DCStasks, DCStask)
|
||||||
|
|
||||||
elseif self.type==AUFTRAG.Type.AMMOSUPPLY then
|
elseif self.type==AUFTRAG.Type.AMMOSUPPLY then
|
||||||
|
|
||||||
@ -5035,6 +5092,8 @@ function AUFTRAG:GetMissionTaskforMissionType(MissionType)
|
|||||||
mtask=ENUMS.MissionTask.REFUELING
|
mtask=ENUMS.MissionTask.REFUELING
|
||||||
elseif MissionType==AUFTRAG.Type.TROOPTRANSPORT then
|
elseif MissionType==AUFTRAG.Type.TROOPTRANSPORT then
|
||||||
mtask=ENUMS.MissionTask.TRANSPORT
|
mtask=ENUMS.MissionTask.TRANSPORT
|
||||||
|
elseif MissionType==AUFTRAG.Type.ARMORATTACK then
|
||||||
|
mtask=ENUMS.MissionTask.NOTHING
|
||||||
end
|
end
|
||||||
|
|
||||||
return mtask
|
return mtask
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user