diff --git a/Moose Mission Setup/Moose Mission Update/l10n/DEFAULT/Moose.lua b/Moose Mission Setup/Moose Mission Update/l10n/DEFAULT/Moose.lua index c558e6249..02fd4b035 100644 --- a/Moose Mission Setup/Moose Mission Update/l10n/DEFAULT/Moose.lua +++ b/Moose Mission Setup/Moose Mission Update/l10n/DEFAULT/Moose.lua @@ -1,5 +1,5 @@ env.info( '*** MOOSE STATIC INCLUDE START *** ' ) -env.info( 'Moose Generation Timestamp: 20160705_0915' ) +env.info( 'Moose Generation Timestamp: 20160706_0817' ) local base = _G Include = {} @@ -3985,8 +3985,20 @@ end -- @param #number FromWayPoint -- @param #number ToWayPoint -- @return DCSTask#Task -function CONTROLLABLE:CommandSwitchWayPoint( FromWayPoint, ToWayPoint, Index ) - self:F2( { FromWayPoint, ToWayPoint, Index } ) +-- @usage +-- --- This test demonstrates the use(s) of the SwitchWayPoint method of the GROUP class. +-- HeliGroup = GROUP:FindByName( "Helicopter" ) +-- +-- --- Route the helicopter back to the FARP after 60 seconds. +-- -- We use the SCHEDULER class to do this. +-- SCHEDULER:New( nil, +-- function( HeliGroup ) +-- local CommandRTB = HeliGroup:CommandSwitchWayPoint( 2, 8 ) +-- HeliGroup:SetCommand( CommandRTB ) +-- end, { HeliGroup }, 90 +-- ) +function CONTROLLABLE:CommandSwitchWayPoint( FromWayPoint, ToWayPoint ) + self:F2( { FromWayPoint, ToWayPoint } ) local CommandSwitchWayPoint = { id = 'SwitchWaypoint', @@ -4024,7 +4036,7 @@ end --- (AIR) Attack a Controllable. -- @param #CONTROLLABLE self --- @param Controllable#CONTROLLABLE AttackControllable The Controllable to be attacked. +-- @param Controllable#CONTROLLABLE AttackGroup The Controllable to be attacked. -- @param #number WeaponType (optional) Bitmask of weapon types those allowed to use. If parameter is not defined that means no limits on weapon usage. -- @param DCSTypes#AI.Task.WeaponExpend WeaponExpend (optional) Determines how much weapon will be released at each attack. If parameter is not defined the unit / controllable will choose expend on its own discretion. -- @param #number AttackQty (optional) This parameter limits maximal quantity of attack. The aicraft/controllable will not make more attack than allowed even if the target controllable not destroyed and the aicraft/controllable still have ammo. If not defined the aircraft/controllable will attack target until it will be destroyed or until the aircraft/controllable will run out of ammo. @@ -4032,8 +4044,8 @@ end -- @param DCSTypes#Distance Altitude (optional) Desired attack start altitude. Controllable/aircraft will make its attacks from the altitude. If the altitude is too low or too high to use weapon aircraft/controllable will choose closest altitude to the desired attack start altitude. If the desired altitude is defined controllable/aircraft will not attack from safe altitude. -- @param #boolean AttackQtyLimit (optional) The flag determines how to interpret attackQty parameter. If the flag is true then attackQty is a limit on maximal attack quantity for "AttackControllable" and "AttackUnit" tasks. If the flag is false then attackQty is a desired attack quantity for "Bombing" and "BombingRunway" tasks. -- @return DCSTask#Task The DCS task structure. -function CONTROLLABLE:TaskAttackControllable( AttackControllable, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit ) - self:F2( { self.ControllableName, AttackControllable, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit } ) +function CONTROLLABLE:TaskAttackGroup( AttackGroup, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit ) + self:F2( { self.ControllableName, AttackGroup, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit } ) -- AttackControllable = { -- id = 'AttackControllable', @@ -4063,7 +4075,7 @@ function CONTROLLABLE:TaskAttackControllable( AttackControllable, WeaponType, We local DCSTask DCSTask = { id = 'AttackControllable', params = { - controllableId = AttackControllable:GetID(), + controllableId = AttackGroup:GetID(), weaponType = WeaponType, expend = WeaponExpend, attackQty = AttackQty, @@ -4555,13 +4567,13 @@ end -- The killer is player-controlled allied CAS-aircraft that is in contact with the FAC. -- If the task is assigned to the controllable lead unit will be a FAC. -- @param #CONTROLLABLE self --- @param Controllable#CONTROLLABLE AttackControllable Target CONTROLLABLE. +-- @param Controllable#CONTROLLABLE AttackGroup Target CONTROLLABLE. -- @param #number WeaponType Bitmask of weapon types those allowed to use. If parameter is not defined that means no limits on weapon usage. -- @param DCSTypes#AI.Task.Designation Designation (optional) Designation type. -- @param #boolean Datalink (optional) Allows to use datalink to send the target information to attack aircraft. Enabled by default. -- @return DCSTask#Task The DCS task structure. -function CONTROLLABLE:TaskFAC_AttackControllable( AttackControllable, WeaponType, Designation, Datalink ) - self:F2( { self.ControllableName, AttackControllable, WeaponType, Designation, Datalink } ) +function CONTROLLABLE:TaskFAC_AttackGroup( AttackGroup, WeaponType, Designation, Datalink ) + self:F2( { self.ControllableName, AttackGroup, WeaponType, Designation, Datalink } ) -- FAC_AttackControllable = { -- id = 'FAC_AttackControllable', @@ -4576,7 +4588,7 @@ function CONTROLLABLE:TaskFAC_AttackControllable( AttackControllable, WeaponType local DCSTask DCSTask = { id = 'FAC_AttackControllable', params = { - controllableId = AttackControllable:GetID(), + controllableId = AttackGroup:GetID(), weaponType = WeaponType, designation = Designation, datalink = Datalink, @@ -4659,7 +4671,7 @@ end --- (AIR) Engaging a controllable. The task does not assign the target controllable to the unit/controllable to attack now; it just allows the unit/controllable to engage the target controllable as well as other assigned targets. -- @param #CONTROLLABLE self --- @param Controllable#CONTROLLABLE AttackControllable The Controllable to be attacked. +-- @param Controllable#CONTROLLABLE AttackGroup The Controllable to be attacked. -- @param #number Priority All en-route tasks have the priority parameter. This is a number (less value - higher priority) that determines actions related to what task will be performed first. -- @param #number WeaponType (optional) Bitmask of weapon types those allowed to use. If parameter is not defined that means no limits on weapon usage. -- @param DCSTypes#AI.Task.WeaponExpend WeaponExpend (optional) Determines how much weapon will be released at each attack. If parameter is not defined the unit / controllable will choose expend on its own discretion. @@ -4668,8 +4680,8 @@ end -- @param DCSTypes#Distance Altitude (optional) Desired attack start altitude. Controllable/aircraft will make its attacks from the altitude. If the altitude is too low or too high to use weapon aircraft/controllable will choose closest altitude to the desired attack start altitude. If the desired altitude is defined controllable/aircraft will not attack from safe altitude. -- @param #boolean AttackQtyLimit (optional) The flag determines how to interpret attackQty parameter. If the flag is true then attackQty is a limit on maximal attack quantity for "AttackControllable" and "AttackUnit" tasks. If the flag is false then attackQty is a desired attack quantity for "Bombing" and "BombingRunway" tasks. -- @return DCSTask#Task The DCS task structure. -function CONTROLLABLE:EnRouteTaskEngageControllable( AttackControllable, Priority, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit ) - self:F2( { self.ControllableName, AttackControllable, Priority, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit } ) +function CONTROLLABLE:EnRouteTaskEngageGroup( AttackGroup, Priority, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit ) + self:F2( { self.ControllableName, AttackGroup, Priority, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit } ) -- EngageControllable = { -- id = 'EngageControllable ', @@ -4700,7 +4712,7 @@ function CONTROLLABLE:EnRouteTaskEngageControllable( AttackControllable, Priorit local DCSTask DCSTask = { id = 'EngageControllable', params = { - controllableId = AttackControllable:GetID(), + controllableId = AttackGroup:GetID(), weaponType = WeaponType, expend = WeaponExpend, attackQty = AttackQty, @@ -4843,14 +4855,14 @@ end -- The killer is player-controlled allied CAS-aircraft that is in contact with the FAC. -- If the task is assigned to the controllable lead unit will be a FAC. -- @param #CONTROLLABLE self --- @param Controllable#CONTROLLABLE AttackControllable Target CONTROLLABLE. +-- @param Controllable#CONTROLLABLE AttackGroup Target CONTROLLABLE. -- @param #number Priority All en-route tasks have the priority parameter. This is a number (less value - higher priority) that determines actions related to what task will be performed first. -- @param #number WeaponType Bitmask of weapon types those allowed to use. If parameter is not defined that means no limits on weapon usage. -- @param DCSTypes#AI.Task.Designation Designation (optional) Designation type. -- @param #boolean Datalink (optional) Allows to use datalink to send the target information to attack aircraft. Enabled by default. -- @return DCSTask#Task The DCS task structure. -function CONTROLLABLE:EnRouteTaskFAC_EngageControllable( AttackControllable, Priority, WeaponType, Designation, Datalink ) - self:F2( { self.ControllableName, AttackControllable, WeaponType, Priority, Designation, Datalink } ) +function CONTROLLABLE:EnRouteTaskFAC_EngageGroup( AttackGroup, Priority, WeaponType, Designation, Datalink ) + self:F2( { self.ControllableName, AttackGroup, WeaponType, Priority, Designation, Datalink } ) -- FAC_EngageControllable = { -- id = 'FAC_EngageControllable', @@ -4866,7 +4878,7 @@ function CONTROLLABLE:EnRouteTaskFAC_EngageControllable( AttackControllable, Pri local DCSTask DCSTask = { id = 'FAC_EngageControllable', params = { - controllableId = AttackControllable:GetID(), + controllableId = AttackGroup:GetID(), weaponType = WeaponType, designation = Designation, datalink = Datalink, @@ -6903,7 +6915,8 @@ end -- 1.2) GROUP task methods -- ----------------------- -- Several group task methods are available that help you to prepare tasks. --- These methods return a string consisting of the task description, which can then be given to either a @{Group#GROUP.PushTask} or @{Group#SetTask} method to assign the task to the GROUP. +-- These methods return a string consisting of the task description, which can then be given to either a +-- @{Controllable#CONTROLLABLE.PushTask} or @{Controllable#CONTROLLABLE.SetTask} method to assign the task to the GROUP. -- Tasks are specific for the category of the GROUP, more specific, for AIR, GROUND or AIR and GROUND. -- Each task description where applicable indicates for which group category the task is valid. -- There are 2 main subdivisions of tasks: Assigned tasks and EnRoute tasks. @@ -6915,63 +6928,63 @@ end -- -- Find below a list of the **assigned task** methods: -- --- * @{#GROUP.TaskAttackGroup}: (AIR) Attack a Group. --- * @{#GROUP.TaskAttackMapObject}: (AIR) Attacking the map object (building, structure, e.t.c). --- * @{#GROUP.TaskAttackUnit}: (AIR) Attack the Unit. --- * @{#GROUP.TaskBombing}: (AIR) Delivering weapon at the point on the ground. --- * @{#GROUP.TaskBombingRunway}: (AIR) Delivering weapon on the runway. --- * @{#GROUP.TaskEmbarking}: (AIR) Move the group to a Vec2 Point, wait for a defined duration and embark a group. --- * @{#GROUP.TaskEmbarkToTransport}: (GROUND) Embark to a Transport landed at a location. --- * @{#GROUP.TaskEscort}: (AIR) Escort another airborne group. --- * @{#GROUP.TaskFAC_AttackGroup}: (AIR + GROUND) The task makes the group/unit a FAC and orders the FAC to control the target (enemy ground group) destruction. --- * @{#GROUP.TaskFireAtPoint}: (GROUND) Fire at a VEC2 point until ammunition is finished. --- * @{#GROUP.TaskFollow}: (AIR) Following another airborne group. --- * @{#GROUP.TaskHold}: (GROUND) Hold ground group from moving. --- * @{#GROUP.TaskHoldPosition}: (AIR) Hold position at the current position of the first unit of the group. --- * @{#GROUP.TaskLand}: (AIR HELICOPTER) Landing at the ground. For helicopters only. --- * @{#GROUP.TaskLandAtZone}: (AIR) Land the group at a @{Zone#ZONE_RADIUS). --- * @{#GROUP.TaskOrbitCircle}: (AIR) Orbit at the current position of the first unit of the group at a specified alititude. --- * @{#GROUP.TaskOrbitCircleAtVec2}: (AIR) Orbit at a specified position at a specified alititude during a specified duration with a specified speed. --- * @{#GROUP.TaskRefueling}: (AIR) Refueling from the nearest tanker. No parameters. --- * @{#GROUP.TaskRoute}: (AIR + GROUND) Return a Misson task to follow a given route defined by Points. --- * @{#GROUP.TaskRouteToVec2}: (AIR + GROUND) Make the Group move to a given point. --- * @{#GROUP.TaskRouteToVec3}: (AIR + GROUND) Make the Group move to a given point. --- * @{#GROUP.TaskRouteToZone}: (AIR + GROUND) Route the group to a given zone. --- * @{#GROUP.TaskReturnToBase}: (AIR) Route the group to an airbase. +-- * @{Controllable#CONTROLLABLE.TaskAttackGroup}: (AIR) Attack a Group. +-- * @{Controllable#CONTROLLABLE.TaskAttackMapObject}: (AIR) Attacking the map object (building, structure, e.t.c). +-- * @{Controllable#CONTROLLABLE.TaskAttackUnit}: (AIR) Attack the Unit. +-- * @{Controllable#CONTROLLABLE.TaskBombing}: (Controllable#CONTROLLABLEDelivering weapon at the point on the ground. +-- * @{Controllable#CONTROLLABLE.TaskBombingRunway}: (AIR) Delivering weapon on the runway. +-- * @{Controllable#CONTROLLABLE.TaskEmbarking}: (AIR) Move the group to a Vec2 Point, wait for a defined duration and embark a group. +-- * @{Controllable#CONTROLLABLE.TaskEmbarkToTransport}: (GROUND) Embark to a Transport landed at a location. +-- * @{Controllable#CONTROLLABLE.TaskEscort}: (AIR) Escort another airborne group. +-- * @{Controllable#CONTROLLABLE.TaskFAC_AttackGroup}: (AIR + GROUND) The task makes the group/unit a FAC and orders the FAC to control the target (enemy ground group) destruction. +-- * @{Controllable#CONTROLLABLE.TaskFireAtPoint}: (GROUND) Fire at a VEC2 point until ammunition is finished. +-- * @{Controllable#CONTROLLABLE.TaskFollow}: (AIR) Following another airborne group. +-- * @{Controllable#CONTROLLABLE.TaskHold}: (GROUND) Hold ground group from moving. +-- * @{Controllable#CONTROLLABLE.TaskHoldPosition}: (AIR) Hold position at the current position of the first unit of the group. +-- * @{Controllable#CONTROLLABLE.TaskLand}: (AIR HELICOPTER) Landing at the ground. For helicopters only. +-- * @{Controllable#CONTROLLABLE.TaskLandAtZone}: (AIR) Land the group at a @{Zone#ZONE_RADIUS). +-- * @{Controllable#CONTROLLABLE.TaskOrbitCircle}: (AIR) Orbit at the current position of the first unit of the group at a specified alititude. +-- * @{Controllable#CONTROLLABLE.TaskOrbitCircleAtVec2}: (AIR) Orbit at a specified position at a specified alititude during a specified duration with a specified speed. +-- * @{Controllable#CONTROLLABLE.TaskRefueling}: (AIR) Refueling from the nearest tanker. No parameters. +-- * @{Controllable#CONTROLLABLE.TaskRoute}: (AIR + GROUND) Return a Misson task to follow a given route defined by Points. +-- * @{Controllable#CONTROLLABLE.TaskRouteToVec2}: (AIR + GROUND) Make the Group move to a given point. +-- * @{Controllable#CONTROLLABLE.TaskRouteToVec3}: (AIR + GROUND) Make the Group move to a given point. +-- * @{Controllable#CONTROLLABLE.TaskRouteToZone}: (AIR + GROUND) Route the group to a given zone. +-- * @{Controllable#CONTROLLABLE.TaskReturnToBase}: (AIR) Route the group to an airbase. -- -- ### 1.2.2) EnRoute task methods -- -- EnRoute tasks require the targets of the task need to be detected by the group (using its sensors) before the task can be executed: -- --- * @{#GROUP.EnRouteTaskAWACS}: (AIR) Aircraft will act as an AWACS for friendly units (will provide them with information about contacts). No parameters. --- * @{#GROUP.EnRouteTaskEngageGroup}: (AIR) Engaging a group. The task does not assign the target group to the unit/group to attack now; it just allows the unit/group to engage the target group as well as other assigned targets. --- * @{#GROUP.EnRouteTaskEngageTargets}: (AIR) Engaging targets of defined types. --- * @{#GROUP.EnRouteTaskEWR}: (AIR) Attack the Unit. --- * @{#GROUP.EnRouteTaskFAC}: (AIR + GROUND) The task makes the group/unit a FAC and lets the FAC to choose a targets (enemy ground group) around as well as other assigned targets. --- * @{#GROUP.EnRouteTaskFAC_EngageGroup}: (AIR + GROUND) The task makes the group/unit a FAC and lets the FAC to choose the target (enemy ground group) as well as other assigned targets. --- * @{#GROUP.EnRouteTaskTanker}: (AIR) Aircraft will act as a tanker for friendly units. No parameters. +-- * @{Controllable#CONTROLLABLE.EnRouteTaskAWACS}: (AIR) Aircraft will act as an AWACS for friendly units (will provide them with information about contacts). No parameters. +-- * @{Controllable#CONTROLLABLE.EnRouteTaskEngageGroup}: (AIR) Engaging a group. The task does not assign the target group to the unit/group to attack now; it just allows the unit/group to engage the target group as well as other assigned targets. +-- * @{Controllable#CONTROLLABLE.EnRouteTaskEngageTargets}: (AIR) Engaging targets of defined types. +-- * @{Controllable#CONTROLLABLE.EnRouteTaskEWR}: (AIR) Attack the Unit. +-- * @{Controllable#CONTROLLABLE.EnRouteTaskFAC}: (AIR + GROUND) The task makes the group/unit a FAC and lets the FAC to choose a targets (enemy ground group) around as well as other assigned targets. +-- * @{Controllable#CONTROLLABLE.EnRouteTaskFAC_EngageGroup}: (AIR + GROUND) The task makes the group/unit a FAC and lets the FAC to choose the target (enemy ground group) as well as other assigned targets. +-- * @{Controllable#CONTROLLABLE.EnRouteTaskTanker}: (AIR) Aircraft will act as a tanker for friendly units. No parameters. -- -- ### 1.2.3) Preparation task methods -- -- There are certain task methods that allow to tailor the task behaviour: -- --- * @{#GROUP.TaskWrappedAction}: Return a WrappedAction Task taking a Command. --- * @{#GROUP.TaskCombo}: Return a Combo Task taking an array of Tasks. --- * @{#GROUP.TaskCondition}: Return a condition section for a controlled task. --- * @{#GROUP.TaskControlled}: Return a Controlled Task taking a Task and a TaskCondition. +-- * @{Controllable#CONTROLLABLE.TaskWrappedAction}: Return a WrappedAction Task taking a Command. +-- * @{Controllable#CONTROLLABLE.TaskCombo}: Return a Combo Task taking an array of Tasks. +-- * @{Controllable#CONTROLLABLE.TaskCondition}: Return a condition section for a controlled task. +-- * @{Controllable#CONTROLLABLE.TaskControlled}: Return a Controlled Task taking a Task and a TaskCondition. -- -- ### 1.2.4) Obtain the mission from group templates -- -- Group templates contain complete mission descriptions. Sometimes you want to copy a complete mission from a group and assign it to another: -- --- * @{#GROUP.TaskMission}: (AIR + GROUND) Return a mission task from a mission template. +-- * @{Controllable#CONTROLLABLE.TaskMission}: (AIR + GROUND) Return a mission task from a mission template. -- -- 1.3) GROUP Command methods -- -------------------------- --- Group **command methods** prepare the execution of commands using the @{#GROUP.SetCommand} method: +-- Group **command methods** prepare the execution of commands using the @{Controllable#CONTROLLABLE.SetCommand} method: -- --- * @{#GROUP.CommandDoScript}: Do Script command. --- * @{#GROUP.CommandSwitchWayPoint}: Perform a switch waypoint command. +-- * @{Controllable#CONTROLLABLE.CommandDoScript}: Do Script command. +-- * @{Controllable#CONTROLLABLE.CommandSwitchWayPoint}: Perform a switch waypoint command. -- -- 1.4) GROUP Option methods -- ------------------------- @@ -6979,31 +6992,31 @@ end -- -- ### 1.4.1) Rule of Engagement: -- --- * @{#GROUP.OptionROEWeaponFree} --- * @{#GROUP.OptionROEOpenFire} --- * @{#GROUP.OptionROEReturnFire} --- * @{#GROUP.OptionROEEvadeFire} +-- * @{Controllable#CONTROLLABLE.OptionROEWeaponFree} +-- * @{Controllable#CONTROLLABLE.OptionROEOpenFire} +-- * @{Controllable#CONTROLLABLE.OptionROEReturnFire} +-- * @{Controllable#CONTROLLABLE.OptionROEEvadeFire} -- -- To check whether an ROE option is valid for a specific group, use: -- --- * @{#GROUP.OptionROEWeaponFreePossible} --- * @{#GROUP.OptionROEOpenFirePossible} --- * @{#GROUP.OptionROEReturnFirePossible} --- * @{#GROUP.OptionROEEvadeFirePossible} +-- * @{Controllable#CONTROLLABLE.OptionROEWeaponFreePossible} +-- * @{Controllable#CONTROLLABLE.OptionROEOpenFirePossible} +-- * @{Controllable#CONTROLLABLE.OptionROEReturnFirePossible} +-- * @{Controllable#CONTROLLABLE.OptionROEEvadeFirePossible} -- -- ### 1.4.2) Rule on thread: -- --- * @{#GROUP.OptionROTNoReaction} --- * @{#GROUP.OptionROTPassiveDefense} --- * @{#GROUP.OptionROTEvadeFire} --- * @{#GROUP.OptionROTVertical} +-- * @{Controllable#CONTROLLABLE.OptionROTNoReaction} +-- * @{Controllable#CONTROLLABLE.OptionROTPassiveDefense} +-- * @{Controllable#CONTROLLABLE.OptionROTEvadeFire} +-- * @{Controllable#CONTROLLABLE.OptionROTVertical} -- -- To test whether an ROT option is valid for a specific group, use: -- --- * @{#GROUP.OptionROTNoReactionPossible} --- * @{#GROUP.OptionROTPassiveDefensePossible} --- * @{#GROUP.OptionROTEvadeFirePossible} --- * @{#GROUP.OptionROTVerticalPossible} +-- * @{Controllable#CONTROLLABLE.OptionROTNoReactionPossible} +-- * @{Controllable#CONTROLLABLE.OptionROTPassiveDefensePossible} +-- * @{Controllable#CONTROLLABLE.OptionROTEvadeFirePossible} +-- * @{Controllable#CONTROLLABLE.OptionROTVerticalPossible} -- -- 1.5) GROUP Zone validation methods -- ---------------------------------- diff --git a/Moose Mission Setup/Moose.lua b/Moose Mission Setup/Moose.lua index c558e6249..02fd4b035 100644 --- a/Moose Mission Setup/Moose.lua +++ b/Moose Mission Setup/Moose.lua @@ -1,5 +1,5 @@ env.info( '*** MOOSE STATIC INCLUDE START *** ' ) -env.info( 'Moose Generation Timestamp: 20160705_0915' ) +env.info( 'Moose Generation Timestamp: 20160706_0817' ) local base = _G Include = {} @@ -3985,8 +3985,20 @@ end -- @param #number FromWayPoint -- @param #number ToWayPoint -- @return DCSTask#Task -function CONTROLLABLE:CommandSwitchWayPoint( FromWayPoint, ToWayPoint, Index ) - self:F2( { FromWayPoint, ToWayPoint, Index } ) +-- @usage +-- --- This test demonstrates the use(s) of the SwitchWayPoint method of the GROUP class. +-- HeliGroup = GROUP:FindByName( "Helicopter" ) +-- +-- --- Route the helicopter back to the FARP after 60 seconds. +-- -- We use the SCHEDULER class to do this. +-- SCHEDULER:New( nil, +-- function( HeliGroup ) +-- local CommandRTB = HeliGroup:CommandSwitchWayPoint( 2, 8 ) +-- HeliGroup:SetCommand( CommandRTB ) +-- end, { HeliGroup }, 90 +-- ) +function CONTROLLABLE:CommandSwitchWayPoint( FromWayPoint, ToWayPoint ) + self:F2( { FromWayPoint, ToWayPoint } ) local CommandSwitchWayPoint = { id = 'SwitchWaypoint', @@ -4024,7 +4036,7 @@ end --- (AIR) Attack a Controllable. -- @param #CONTROLLABLE self --- @param Controllable#CONTROLLABLE AttackControllable The Controllable to be attacked. +-- @param Controllable#CONTROLLABLE AttackGroup The Controllable to be attacked. -- @param #number WeaponType (optional) Bitmask of weapon types those allowed to use. If parameter is not defined that means no limits on weapon usage. -- @param DCSTypes#AI.Task.WeaponExpend WeaponExpend (optional) Determines how much weapon will be released at each attack. If parameter is not defined the unit / controllable will choose expend on its own discretion. -- @param #number AttackQty (optional) This parameter limits maximal quantity of attack. The aicraft/controllable will not make more attack than allowed even if the target controllable not destroyed and the aicraft/controllable still have ammo. If not defined the aircraft/controllable will attack target until it will be destroyed or until the aircraft/controllable will run out of ammo. @@ -4032,8 +4044,8 @@ end -- @param DCSTypes#Distance Altitude (optional) Desired attack start altitude. Controllable/aircraft will make its attacks from the altitude. If the altitude is too low or too high to use weapon aircraft/controllable will choose closest altitude to the desired attack start altitude. If the desired altitude is defined controllable/aircraft will not attack from safe altitude. -- @param #boolean AttackQtyLimit (optional) The flag determines how to interpret attackQty parameter. If the flag is true then attackQty is a limit on maximal attack quantity for "AttackControllable" and "AttackUnit" tasks. If the flag is false then attackQty is a desired attack quantity for "Bombing" and "BombingRunway" tasks. -- @return DCSTask#Task The DCS task structure. -function CONTROLLABLE:TaskAttackControllable( AttackControllable, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit ) - self:F2( { self.ControllableName, AttackControllable, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit } ) +function CONTROLLABLE:TaskAttackGroup( AttackGroup, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit ) + self:F2( { self.ControllableName, AttackGroup, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit } ) -- AttackControllable = { -- id = 'AttackControllable', @@ -4063,7 +4075,7 @@ function CONTROLLABLE:TaskAttackControllable( AttackControllable, WeaponType, We local DCSTask DCSTask = { id = 'AttackControllable', params = { - controllableId = AttackControllable:GetID(), + controllableId = AttackGroup:GetID(), weaponType = WeaponType, expend = WeaponExpend, attackQty = AttackQty, @@ -4555,13 +4567,13 @@ end -- The killer is player-controlled allied CAS-aircraft that is in contact with the FAC. -- If the task is assigned to the controllable lead unit will be a FAC. -- @param #CONTROLLABLE self --- @param Controllable#CONTROLLABLE AttackControllable Target CONTROLLABLE. +-- @param Controllable#CONTROLLABLE AttackGroup Target CONTROLLABLE. -- @param #number WeaponType Bitmask of weapon types those allowed to use. If parameter is not defined that means no limits on weapon usage. -- @param DCSTypes#AI.Task.Designation Designation (optional) Designation type. -- @param #boolean Datalink (optional) Allows to use datalink to send the target information to attack aircraft. Enabled by default. -- @return DCSTask#Task The DCS task structure. -function CONTROLLABLE:TaskFAC_AttackControllable( AttackControllable, WeaponType, Designation, Datalink ) - self:F2( { self.ControllableName, AttackControllable, WeaponType, Designation, Datalink } ) +function CONTROLLABLE:TaskFAC_AttackGroup( AttackGroup, WeaponType, Designation, Datalink ) + self:F2( { self.ControllableName, AttackGroup, WeaponType, Designation, Datalink } ) -- FAC_AttackControllable = { -- id = 'FAC_AttackControllable', @@ -4576,7 +4588,7 @@ function CONTROLLABLE:TaskFAC_AttackControllable( AttackControllable, WeaponType local DCSTask DCSTask = { id = 'FAC_AttackControllable', params = { - controllableId = AttackControllable:GetID(), + controllableId = AttackGroup:GetID(), weaponType = WeaponType, designation = Designation, datalink = Datalink, @@ -4659,7 +4671,7 @@ end --- (AIR) Engaging a controllable. The task does not assign the target controllable to the unit/controllable to attack now; it just allows the unit/controllable to engage the target controllable as well as other assigned targets. -- @param #CONTROLLABLE self --- @param Controllable#CONTROLLABLE AttackControllable The Controllable to be attacked. +-- @param Controllable#CONTROLLABLE AttackGroup The Controllable to be attacked. -- @param #number Priority All en-route tasks have the priority parameter. This is a number (less value - higher priority) that determines actions related to what task will be performed first. -- @param #number WeaponType (optional) Bitmask of weapon types those allowed to use. If parameter is not defined that means no limits on weapon usage. -- @param DCSTypes#AI.Task.WeaponExpend WeaponExpend (optional) Determines how much weapon will be released at each attack. If parameter is not defined the unit / controllable will choose expend on its own discretion. @@ -4668,8 +4680,8 @@ end -- @param DCSTypes#Distance Altitude (optional) Desired attack start altitude. Controllable/aircraft will make its attacks from the altitude. If the altitude is too low or too high to use weapon aircraft/controllable will choose closest altitude to the desired attack start altitude. If the desired altitude is defined controllable/aircraft will not attack from safe altitude. -- @param #boolean AttackQtyLimit (optional) The flag determines how to interpret attackQty parameter. If the flag is true then attackQty is a limit on maximal attack quantity for "AttackControllable" and "AttackUnit" tasks. If the flag is false then attackQty is a desired attack quantity for "Bombing" and "BombingRunway" tasks. -- @return DCSTask#Task The DCS task structure. -function CONTROLLABLE:EnRouteTaskEngageControllable( AttackControllable, Priority, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit ) - self:F2( { self.ControllableName, AttackControllable, Priority, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit } ) +function CONTROLLABLE:EnRouteTaskEngageGroup( AttackGroup, Priority, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit ) + self:F2( { self.ControllableName, AttackGroup, Priority, WeaponType, WeaponExpend, AttackQty, Direction, Altitude, AttackQtyLimit } ) -- EngageControllable = { -- id = 'EngageControllable ', @@ -4700,7 +4712,7 @@ function CONTROLLABLE:EnRouteTaskEngageControllable( AttackControllable, Priorit local DCSTask DCSTask = { id = 'EngageControllable', params = { - controllableId = AttackControllable:GetID(), + controllableId = AttackGroup:GetID(), weaponType = WeaponType, expend = WeaponExpend, attackQty = AttackQty, @@ -4843,14 +4855,14 @@ end -- The killer is player-controlled allied CAS-aircraft that is in contact with the FAC. -- If the task is assigned to the controllable lead unit will be a FAC. -- @param #CONTROLLABLE self --- @param Controllable#CONTROLLABLE AttackControllable Target CONTROLLABLE. +-- @param Controllable#CONTROLLABLE AttackGroup Target CONTROLLABLE. -- @param #number Priority All en-route tasks have the priority parameter. This is a number (less value - higher priority) that determines actions related to what task will be performed first. -- @param #number WeaponType Bitmask of weapon types those allowed to use. If parameter is not defined that means no limits on weapon usage. -- @param DCSTypes#AI.Task.Designation Designation (optional) Designation type. -- @param #boolean Datalink (optional) Allows to use datalink to send the target information to attack aircraft. Enabled by default. -- @return DCSTask#Task The DCS task structure. -function CONTROLLABLE:EnRouteTaskFAC_EngageControllable( AttackControllable, Priority, WeaponType, Designation, Datalink ) - self:F2( { self.ControllableName, AttackControllable, WeaponType, Priority, Designation, Datalink } ) +function CONTROLLABLE:EnRouteTaskFAC_EngageGroup( AttackGroup, Priority, WeaponType, Designation, Datalink ) + self:F2( { self.ControllableName, AttackGroup, WeaponType, Priority, Designation, Datalink } ) -- FAC_EngageControllable = { -- id = 'FAC_EngageControllable', @@ -4866,7 +4878,7 @@ function CONTROLLABLE:EnRouteTaskFAC_EngageControllable( AttackControllable, Pri local DCSTask DCSTask = { id = 'FAC_EngageControllable', params = { - controllableId = AttackControllable:GetID(), + controllableId = AttackGroup:GetID(), weaponType = WeaponType, designation = Designation, datalink = Datalink, @@ -6903,7 +6915,8 @@ end -- 1.2) GROUP task methods -- ----------------------- -- Several group task methods are available that help you to prepare tasks. --- These methods return a string consisting of the task description, which can then be given to either a @{Group#GROUP.PushTask} or @{Group#SetTask} method to assign the task to the GROUP. +-- These methods return a string consisting of the task description, which can then be given to either a +-- @{Controllable#CONTROLLABLE.PushTask} or @{Controllable#CONTROLLABLE.SetTask} method to assign the task to the GROUP. -- Tasks are specific for the category of the GROUP, more specific, for AIR, GROUND or AIR and GROUND. -- Each task description where applicable indicates for which group category the task is valid. -- There are 2 main subdivisions of tasks: Assigned tasks and EnRoute tasks. @@ -6915,63 +6928,63 @@ end -- -- Find below a list of the **assigned task** methods: -- --- * @{#GROUP.TaskAttackGroup}: (AIR) Attack a Group. --- * @{#GROUP.TaskAttackMapObject}: (AIR) Attacking the map object (building, structure, e.t.c). --- * @{#GROUP.TaskAttackUnit}: (AIR) Attack the Unit. --- * @{#GROUP.TaskBombing}: (AIR) Delivering weapon at the point on the ground. --- * @{#GROUP.TaskBombingRunway}: (AIR) Delivering weapon on the runway. --- * @{#GROUP.TaskEmbarking}: (AIR) Move the group to a Vec2 Point, wait for a defined duration and embark a group. --- * @{#GROUP.TaskEmbarkToTransport}: (GROUND) Embark to a Transport landed at a location. --- * @{#GROUP.TaskEscort}: (AIR) Escort another airborne group. --- * @{#GROUP.TaskFAC_AttackGroup}: (AIR + GROUND) The task makes the group/unit a FAC and orders the FAC to control the target (enemy ground group) destruction. --- * @{#GROUP.TaskFireAtPoint}: (GROUND) Fire at a VEC2 point until ammunition is finished. --- * @{#GROUP.TaskFollow}: (AIR) Following another airborne group. --- * @{#GROUP.TaskHold}: (GROUND) Hold ground group from moving. --- * @{#GROUP.TaskHoldPosition}: (AIR) Hold position at the current position of the first unit of the group. --- * @{#GROUP.TaskLand}: (AIR HELICOPTER) Landing at the ground. For helicopters only. --- * @{#GROUP.TaskLandAtZone}: (AIR) Land the group at a @{Zone#ZONE_RADIUS). --- * @{#GROUP.TaskOrbitCircle}: (AIR) Orbit at the current position of the first unit of the group at a specified alititude. --- * @{#GROUP.TaskOrbitCircleAtVec2}: (AIR) Orbit at a specified position at a specified alititude during a specified duration with a specified speed. --- * @{#GROUP.TaskRefueling}: (AIR) Refueling from the nearest tanker. No parameters. --- * @{#GROUP.TaskRoute}: (AIR + GROUND) Return a Misson task to follow a given route defined by Points. --- * @{#GROUP.TaskRouteToVec2}: (AIR + GROUND) Make the Group move to a given point. --- * @{#GROUP.TaskRouteToVec3}: (AIR + GROUND) Make the Group move to a given point. --- * @{#GROUP.TaskRouteToZone}: (AIR + GROUND) Route the group to a given zone. --- * @{#GROUP.TaskReturnToBase}: (AIR) Route the group to an airbase. +-- * @{Controllable#CONTROLLABLE.TaskAttackGroup}: (AIR) Attack a Group. +-- * @{Controllable#CONTROLLABLE.TaskAttackMapObject}: (AIR) Attacking the map object (building, structure, e.t.c). +-- * @{Controllable#CONTROLLABLE.TaskAttackUnit}: (AIR) Attack the Unit. +-- * @{Controllable#CONTROLLABLE.TaskBombing}: (Controllable#CONTROLLABLEDelivering weapon at the point on the ground. +-- * @{Controllable#CONTROLLABLE.TaskBombingRunway}: (AIR) Delivering weapon on the runway. +-- * @{Controllable#CONTROLLABLE.TaskEmbarking}: (AIR) Move the group to a Vec2 Point, wait for a defined duration and embark a group. +-- * @{Controllable#CONTROLLABLE.TaskEmbarkToTransport}: (GROUND) Embark to a Transport landed at a location. +-- * @{Controllable#CONTROLLABLE.TaskEscort}: (AIR) Escort another airborne group. +-- * @{Controllable#CONTROLLABLE.TaskFAC_AttackGroup}: (AIR + GROUND) The task makes the group/unit a FAC and orders the FAC to control the target (enemy ground group) destruction. +-- * @{Controllable#CONTROLLABLE.TaskFireAtPoint}: (GROUND) Fire at a VEC2 point until ammunition is finished. +-- * @{Controllable#CONTROLLABLE.TaskFollow}: (AIR) Following another airborne group. +-- * @{Controllable#CONTROLLABLE.TaskHold}: (GROUND) Hold ground group from moving. +-- * @{Controllable#CONTROLLABLE.TaskHoldPosition}: (AIR) Hold position at the current position of the first unit of the group. +-- * @{Controllable#CONTROLLABLE.TaskLand}: (AIR HELICOPTER) Landing at the ground. For helicopters only. +-- * @{Controllable#CONTROLLABLE.TaskLandAtZone}: (AIR) Land the group at a @{Zone#ZONE_RADIUS). +-- * @{Controllable#CONTROLLABLE.TaskOrbitCircle}: (AIR) Orbit at the current position of the first unit of the group at a specified alititude. +-- * @{Controllable#CONTROLLABLE.TaskOrbitCircleAtVec2}: (AIR) Orbit at a specified position at a specified alititude during a specified duration with a specified speed. +-- * @{Controllable#CONTROLLABLE.TaskRefueling}: (AIR) Refueling from the nearest tanker. No parameters. +-- * @{Controllable#CONTROLLABLE.TaskRoute}: (AIR + GROUND) Return a Misson task to follow a given route defined by Points. +-- * @{Controllable#CONTROLLABLE.TaskRouteToVec2}: (AIR + GROUND) Make the Group move to a given point. +-- * @{Controllable#CONTROLLABLE.TaskRouteToVec3}: (AIR + GROUND) Make the Group move to a given point. +-- * @{Controllable#CONTROLLABLE.TaskRouteToZone}: (AIR + GROUND) Route the group to a given zone. +-- * @{Controllable#CONTROLLABLE.TaskReturnToBase}: (AIR) Route the group to an airbase. -- -- ### 1.2.2) EnRoute task methods -- -- EnRoute tasks require the targets of the task need to be detected by the group (using its sensors) before the task can be executed: -- --- * @{#GROUP.EnRouteTaskAWACS}: (AIR) Aircraft will act as an AWACS for friendly units (will provide them with information about contacts). No parameters. --- * @{#GROUP.EnRouteTaskEngageGroup}: (AIR) Engaging a group. The task does not assign the target group to the unit/group to attack now; it just allows the unit/group to engage the target group as well as other assigned targets. --- * @{#GROUP.EnRouteTaskEngageTargets}: (AIR) Engaging targets of defined types. --- * @{#GROUP.EnRouteTaskEWR}: (AIR) Attack the Unit. --- * @{#GROUP.EnRouteTaskFAC}: (AIR + GROUND) The task makes the group/unit a FAC and lets the FAC to choose a targets (enemy ground group) around as well as other assigned targets. --- * @{#GROUP.EnRouteTaskFAC_EngageGroup}: (AIR + GROUND) The task makes the group/unit a FAC and lets the FAC to choose the target (enemy ground group) as well as other assigned targets. --- * @{#GROUP.EnRouteTaskTanker}: (AIR) Aircraft will act as a tanker for friendly units. No parameters. +-- * @{Controllable#CONTROLLABLE.EnRouteTaskAWACS}: (AIR) Aircraft will act as an AWACS for friendly units (will provide them with information about contacts). No parameters. +-- * @{Controllable#CONTROLLABLE.EnRouteTaskEngageGroup}: (AIR) Engaging a group. The task does not assign the target group to the unit/group to attack now; it just allows the unit/group to engage the target group as well as other assigned targets. +-- * @{Controllable#CONTROLLABLE.EnRouteTaskEngageTargets}: (AIR) Engaging targets of defined types. +-- * @{Controllable#CONTROLLABLE.EnRouteTaskEWR}: (AIR) Attack the Unit. +-- * @{Controllable#CONTROLLABLE.EnRouteTaskFAC}: (AIR + GROUND) The task makes the group/unit a FAC and lets the FAC to choose a targets (enemy ground group) around as well as other assigned targets. +-- * @{Controllable#CONTROLLABLE.EnRouteTaskFAC_EngageGroup}: (AIR + GROUND) The task makes the group/unit a FAC and lets the FAC to choose the target (enemy ground group) as well as other assigned targets. +-- * @{Controllable#CONTROLLABLE.EnRouteTaskTanker}: (AIR) Aircraft will act as a tanker for friendly units. No parameters. -- -- ### 1.2.3) Preparation task methods -- -- There are certain task methods that allow to tailor the task behaviour: -- --- * @{#GROUP.TaskWrappedAction}: Return a WrappedAction Task taking a Command. --- * @{#GROUP.TaskCombo}: Return a Combo Task taking an array of Tasks. --- * @{#GROUP.TaskCondition}: Return a condition section for a controlled task. --- * @{#GROUP.TaskControlled}: Return a Controlled Task taking a Task and a TaskCondition. +-- * @{Controllable#CONTROLLABLE.TaskWrappedAction}: Return a WrappedAction Task taking a Command. +-- * @{Controllable#CONTROLLABLE.TaskCombo}: Return a Combo Task taking an array of Tasks. +-- * @{Controllable#CONTROLLABLE.TaskCondition}: Return a condition section for a controlled task. +-- * @{Controllable#CONTROLLABLE.TaskControlled}: Return a Controlled Task taking a Task and a TaskCondition. -- -- ### 1.2.4) Obtain the mission from group templates -- -- Group templates contain complete mission descriptions. Sometimes you want to copy a complete mission from a group and assign it to another: -- --- * @{#GROUP.TaskMission}: (AIR + GROUND) Return a mission task from a mission template. +-- * @{Controllable#CONTROLLABLE.TaskMission}: (AIR + GROUND) Return a mission task from a mission template. -- -- 1.3) GROUP Command methods -- -------------------------- --- Group **command methods** prepare the execution of commands using the @{#GROUP.SetCommand} method: +-- Group **command methods** prepare the execution of commands using the @{Controllable#CONTROLLABLE.SetCommand} method: -- --- * @{#GROUP.CommandDoScript}: Do Script command. --- * @{#GROUP.CommandSwitchWayPoint}: Perform a switch waypoint command. +-- * @{Controllable#CONTROLLABLE.CommandDoScript}: Do Script command. +-- * @{Controllable#CONTROLLABLE.CommandSwitchWayPoint}: Perform a switch waypoint command. -- -- 1.4) GROUP Option methods -- ------------------------- @@ -6979,31 +6992,31 @@ end -- -- ### 1.4.1) Rule of Engagement: -- --- * @{#GROUP.OptionROEWeaponFree} --- * @{#GROUP.OptionROEOpenFire} --- * @{#GROUP.OptionROEReturnFire} --- * @{#GROUP.OptionROEEvadeFire} +-- * @{Controllable#CONTROLLABLE.OptionROEWeaponFree} +-- * @{Controllable#CONTROLLABLE.OptionROEOpenFire} +-- * @{Controllable#CONTROLLABLE.OptionROEReturnFire} +-- * @{Controllable#CONTROLLABLE.OptionROEEvadeFire} -- -- To check whether an ROE option is valid for a specific group, use: -- --- * @{#GROUP.OptionROEWeaponFreePossible} --- * @{#GROUP.OptionROEOpenFirePossible} --- * @{#GROUP.OptionROEReturnFirePossible} --- * @{#GROUP.OptionROEEvadeFirePossible} +-- * @{Controllable#CONTROLLABLE.OptionROEWeaponFreePossible} +-- * @{Controllable#CONTROLLABLE.OptionROEOpenFirePossible} +-- * @{Controllable#CONTROLLABLE.OptionROEReturnFirePossible} +-- * @{Controllable#CONTROLLABLE.OptionROEEvadeFirePossible} -- -- ### 1.4.2) Rule on thread: -- --- * @{#GROUP.OptionROTNoReaction} --- * @{#GROUP.OptionROTPassiveDefense} --- * @{#GROUP.OptionROTEvadeFire} --- * @{#GROUP.OptionROTVertical} +-- * @{Controllable#CONTROLLABLE.OptionROTNoReaction} +-- * @{Controllable#CONTROLLABLE.OptionROTPassiveDefense} +-- * @{Controllable#CONTROLLABLE.OptionROTEvadeFire} +-- * @{Controllable#CONTROLLABLE.OptionROTVertical} -- -- To test whether an ROT option is valid for a specific group, use: -- --- * @{#GROUP.OptionROTNoReactionPossible} --- * @{#GROUP.OptionROTPassiveDefensePossible} --- * @{#GROUP.OptionROTEvadeFirePossible} --- * @{#GROUP.OptionROTVerticalPossible} +-- * @{Controllable#CONTROLLABLE.OptionROTNoReactionPossible} +-- * @{Controllable#CONTROLLABLE.OptionROTPassiveDefensePossible} +-- * @{Controllable#CONTROLLABLE.OptionROTEvadeFirePossible} +-- * @{Controllable#CONTROLLABLE.OptionROTVerticalPossible} -- -- 1.5) GROUP Zone validation methods -- ---------------------------------- diff --git a/Moose Test Missions/MOOSE_Test_Template.miz b/Moose Test Missions/MOOSE_Test_Template.miz index 2f66b14cb..704fd8d76 100644 Binary files a/Moose Test Missions/MOOSE_Test_Template.miz and b/Moose Test Missions/MOOSE_Test_Template.miz differ diff --git a/Moose Test Missions/Moose_Test_AIBALANCER/Moose_Test_AIBALANCER.miz b/Moose Test Missions/Moose_Test_AIBALANCER/Moose_Test_AIBALANCER.miz index 333460c2b..3424a0811 100644 Binary files a/Moose Test Missions/Moose_Test_AIBALANCER/Moose_Test_AIBALANCER.miz and b/Moose Test Missions/Moose_Test_AIBALANCER/Moose_Test_AIBALANCER.miz differ diff --git a/Moose Test Missions/Moose_Test_AIRBASEPOLICE/Moose_Test_AIRBASEPOLICE.miz b/Moose Test Missions/Moose_Test_AIRBASEPOLICE/Moose_Test_AIRBASEPOLICE.miz index 147202c01..7c96467ee 100644 Binary files a/Moose Test Missions/Moose_Test_AIRBASEPOLICE/Moose_Test_AIRBASEPOLICE.miz and b/Moose Test Missions/Moose_Test_AIRBASEPOLICE/Moose_Test_AIRBASEPOLICE.miz differ diff --git a/Moose Test Missions/Moose_Test_BASE/Moose_Test_AIRBLANCER_with_Moose.miz b/Moose Test Missions/Moose_Test_BASE/Moose_Test_AIRBLANCER_with_Moose.miz index 391b36cdb..84fdc5156 100644 Binary files a/Moose Test Missions/Moose_Test_BASE/Moose_Test_AIRBLANCER_with_Moose.miz and b/Moose Test Missions/Moose_Test_BASE/Moose_Test_AIRBLANCER_with_Moose.miz differ diff --git a/Moose Test Missions/Moose_Test_BASE/Moose_Test_AIRBLANCER_without_Moose.miz b/Moose Test Missions/Moose_Test_BASE/Moose_Test_AIRBLANCER_without_Moose.miz index e6aa23213..84f0095e3 100644 Binary files a/Moose Test Missions/Moose_Test_BASE/Moose_Test_AIRBLANCER_without_Moose.miz and b/Moose Test Missions/Moose_Test_BASE/Moose_Test_AIRBLANCER_without_Moose.miz differ diff --git a/Moose Test Missions/Moose_Test_BASE/Moose_Test_BASE.miz b/Moose Test Missions/Moose_Test_BASE/Moose_Test_BASE.miz index b5d6e7550..a98c81cfd 100644 Binary files a/Moose Test Missions/Moose_Test_BASE/Moose_Test_BASE.miz and b/Moose Test Missions/Moose_Test_BASE/Moose_Test_BASE.miz differ diff --git a/Moose Test Missions/Moose_Test_CLEANUP/Moose_Test_CLEANUP.miz b/Moose Test Missions/Moose_Test_CLEANUP/Moose_Test_CLEANUP.miz index c28c8dc07..a00ce8d12 100644 Binary files a/Moose Test Missions/Moose_Test_CLEANUP/Moose_Test_CLEANUP.miz and b/Moose Test Missions/Moose_Test_CLEANUP/Moose_Test_CLEANUP.miz differ diff --git a/Moose Test Missions/Moose_Test_DESTROY/MOOSE_Test_DESTROY.miz b/Moose Test Missions/Moose_Test_DESTROY/MOOSE_Test_DESTROY.miz index d6160e4e8..7b6ce54e8 100644 Binary files a/Moose Test Missions/Moose_Test_DESTROY/MOOSE_Test_DESTROY.miz and b/Moose Test Missions/Moose_Test_DESTROY/MOOSE_Test_DESTROY.miz differ diff --git a/Moose Test Missions/Moose_Test_DETECTION/Moose_Test_DETECTION.miz b/Moose Test Missions/Moose_Test_DETECTION/Moose_Test_DETECTION.miz index 94199792d..d87b87f86 100644 Binary files a/Moose Test Missions/Moose_Test_DETECTION/Moose_Test_DETECTION.miz and b/Moose Test Missions/Moose_Test_DETECTION/Moose_Test_DETECTION.miz differ diff --git a/Moose Test Missions/Moose_Test_DETECTION/Moose_Test_DETECTION_Laser.miz b/Moose Test Missions/Moose_Test_DETECTION/Moose_Test_DETECTION_Laser.miz index b34f2c685..969ef8b28 100644 Binary files a/Moose Test Missions/Moose_Test_DETECTION/Moose_Test_DETECTION_Laser.miz and b/Moose Test Missions/Moose_Test_DETECTION/Moose_Test_DETECTION_Laser.miz differ diff --git a/Moose Test Missions/Moose_Test_ESCORT/MOOSE_Test_ESCORT.miz b/Moose Test Missions/Moose_Test_ESCORT/MOOSE_Test_ESCORT.miz index 18fe80541..8e1581789 100644 Binary files a/Moose Test Missions/Moose_Test_ESCORT/MOOSE_Test_ESCORT.miz and b/Moose Test Missions/Moose_Test_ESCORT/MOOSE_Test_ESCORT.miz differ diff --git a/Moose Test Missions/Moose_Test_FAC/Moose_Test_FAC.miz b/Moose Test Missions/Moose_Test_FAC/Moose_Test_FAC.miz index 2127fc339..6e03d73c9 100644 Binary files a/Moose Test Missions/Moose_Test_FAC/Moose_Test_FAC.miz and b/Moose Test Missions/Moose_Test_FAC/Moose_Test_FAC.miz differ diff --git a/Moose Test Missions/Moose_Test_GROUP_SwitchWayPoint/MOOSE_Test_GROUP_SwitchWayPoint.miz b/Moose Test Missions/Moose_Test_GROUP_SwitchWayPoint/MOOSE_Test_GROUP_SwitchWayPoint.miz index 8618b2776..84912285c 100644 Binary files a/Moose Test Missions/Moose_Test_GROUP_SwitchWayPoint/MOOSE_Test_GROUP_SwitchWayPoint.miz and b/Moose Test Missions/Moose_Test_GROUP_SwitchWayPoint/MOOSE_Test_GROUP_SwitchWayPoint.miz differ diff --git a/Moose Test Missions/Moose_Test_MISSILETRAINER/Moose_Test_MISSILETRAINER.miz b/Moose Test Missions/Moose_Test_MISSILETRAINER/Moose_Test_MISSILETRAINER.miz index 48a0963eb..d10f5204d 100644 Binary files a/Moose Test Missions/Moose_Test_MISSILETRAINER/Moose_Test_MISSILETRAINER.miz and b/Moose Test Missions/Moose_Test_MISSILETRAINER/Moose_Test_MISSILETRAINER.miz differ diff --git a/Moose Test Missions/Moose_Test_PATROLZONE/MOOSE_Test_PATROLZONE.miz b/Moose Test Missions/Moose_Test_PATROLZONE/MOOSE_Test_PATROLZONE.miz index 2a3afcdf6..4febdf4bb 100644 Binary files a/Moose Test Missions/Moose_Test_PATROLZONE/MOOSE_Test_PATROLZONE.miz and b/Moose Test Missions/Moose_Test_PATROLZONE/MOOSE_Test_PATROLZONE.miz differ diff --git a/Moose Test Missions/Moose_Test_SEAD/MOOSE_Test_SEAD.miz b/Moose Test Missions/Moose_Test_SEAD/MOOSE_Test_SEAD.miz index 6e8d1898e..1261c928e 100644 Binary files a/Moose Test Missions/Moose_Test_SEAD/MOOSE_Test_SEAD.miz and b/Moose Test Missions/Moose_Test_SEAD/MOOSE_Test_SEAD.miz differ diff --git a/Moose Test Missions/Moose_Test_SET_AIRBASE/Moose_Test_SET_AIRBASE.miz b/Moose Test Missions/Moose_Test_SET_AIRBASE/Moose_Test_SET_AIRBASE.miz index d733c5333..14ccfcc13 100644 Binary files a/Moose Test Missions/Moose_Test_SET_AIRBASE/Moose_Test_SET_AIRBASE.miz and b/Moose Test Missions/Moose_Test_SET_AIRBASE/Moose_Test_SET_AIRBASE.miz differ diff --git a/Moose Test Missions/Moose_Test_SET_CLIENT/Moose_Test_SET_CLIENT.miz b/Moose Test Missions/Moose_Test_SET_CLIENT/Moose_Test_SET_CLIENT.miz index dfb82801f..c9464d870 100644 Binary files a/Moose Test Missions/Moose_Test_SET_CLIENT/Moose_Test_SET_CLIENT.miz and b/Moose Test Missions/Moose_Test_SET_CLIENT/Moose_Test_SET_CLIENT.miz differ diff --git a/Moose Test Missions/Moose_Test_SET_GROUP/Moose_Test_SET_GROUP.miz b/Moose Test Missions/Moose_Test_SET_GROUP/Moose_Test_SET_GROUP.miz index 5f5374341..da74d4f16 100644 Binary files a/Moose Test Missions/Moose_Test_SET_GROUP/Moose_Test_SET_GROUP.miz and b/Moose Test Missions/Moose_Test_SET_GROUP/Moose_Test_SET_GROUP.miz differ diff --git a/Moose Test Missions/Moose_Test_SPAWN/MOOSE_Test_SPAWN.miz b/Moose Test Missions/Moose_Test_SPAWN/MOOSE_Test_SPAWN.miz index d9bad1919..a334ca87b 100644 Binary files a/Moose Test Missions/Moose_Test_SPAWN/MOOSE_Test_SPAWN.miz and b/Moose Test Missions/Moose_Test_SPAWN/MOOSE_Test_SPAWN.miz differ diff --git a/Moose Test Missions/Moose_Test_SPAWN_CleanUp/MOOSE_Test_SPAWN_CleanUp.miz b/Moose Test Missions/Moose_Test_SPAWN_CleanUp/MOOSE_Test_SPAWN_CleanUp.miz index 6b28888fc..c41aaf3da 100644 Binary files a/Moose Test Missions/Moose_Test_SPAWN_CleanUp/MOOSE_Test_SPAWN_CleanUp.miz and b/Moose Test Missions/Moose_Test_SPAWN_CleanUp/MOOSE_Test_SPAWN_CleanUp.miz differ diff --git a/Moose Test Missions/Moose_Test_SPAWN_Limit_Scheduled/MOOSE_Test_SPAWN_Limit_Scheduled.miz b/Moose Test Missions/Moose_Test_SPAWN_Limit_Scheduled/MOOSE_Test_SPAWN_Limit_Scheduled.miz index 2671c704f..ebeaacc76 100644 Binary files a/Moose Test Missions/Moose_Test_SPAWN_Limit_Scheduled/MOOSE_Test_SPAWN_Limit_Scheduled.miz and b/Moose Test Missions/Moose_Test_SPAWN_Limit_Scheduled/MOOSE_Test_SPAWN_Limit_Scheduled.miz differ diff --git a/Moose Test Missions/Moose_Test_SPAWN_Repeat/MOOSE_Test_SPAWN_Repeat.miz b/Moose Test Missions/Moose_Test_SPAWN_Repeat/MOOSE_Test_SPAWN_Repeat.miz index a364978cc..908b4d5e2 100644 Binary files a/Moose Test Missions/Moose_Test_SPAWN_Repeat/MOOSE_Test_SPAWN_Repeat.miz and b/Moose Test Missions/Moose_Test_SPAWN_Repeat/MOOSE_Test_SPAWN_Repeat.miz differ diff --git a/Moose Test Missions/Moose_Test_TASK_Pickup_and_Deploy/MOOSE_Test_TASK_Pickup_and_Deploy.miz b/Moose Test Missions/Moose_Test_TASK_Pickup_and_Deploy/MOOSE_Test_TASK_Pickup_and_Deploy.miz index b694f1e26..398f9ecab 100644 Binary files a/Moose Test Missions/Moose_Test_TASK_Pickup_and_Deploy/MOOSE_Test_TASK_Pickup_and_Deploy.miz and b/Moose Test Missions/Moose_Test_TASK_Pickup_and_Deploy/MOOSE_Test_TASK_Pickup_and_Deploy.miz differ diff --git a/Moose Test Missions/Moose_Test_WRAPPER/Moose_Test_WRAPPER.miz b/Moose Test Missions/Moose_Test_WRAPPER/Moose_Test_WRAPPER.miz index f4d55c88b..6d375fbbf 100644 Binary files a/Moose Test Missions/Moose_Test_WRAPPER/Moose_Test_WRAPPER.miz and b/Moose Test Missions/Moose_Test_WRAPPER/Moose_Test_WRAPPER.miz differ diff --git a/Moose Test Missions/Moose_Test_ZONE/Moose_Test_ZONE.miz b/Moose Test Missions/Moose_Test_ZONE/Moose_Test_ZONE.miz index 827ace03a..f61a470fb 100644 Binary files a/Moose Test Missions/Moose_Test_ZONE/Moose_Test_ZONE.miz and b/Moose Test Missions/Moose_Test_ZONE/Moose_Test_ZONE.miz differ diff --git a/Moose Test Missions/Moose_Test_ZONE_POLYGON/Moose_Test_ZONE_POLYGON.miz b/Moose Test Missions/Moose_Test_ZONE_POLYGON/Moose_Test_ZONE_POLYGON.miz index 015b47070..1fb62a487 100644 Binary files a/Moose Test Missions/Moose_Test_ZONE_POLYGON/Moose_Test_ZONE_POLYGON.miz and b/Moose Test Missions/Moose_Test_ZONE_POLYGON/Moose_Test_ZONE_POLYGON.miz differ diff --git a/Moose Test Missions/Moose_Test_ZONE_RADIUS/Moose_Test_ZONE_RADIUS.miz b/Moose Test Missions/Moose_Test_ZONE_RADIUS/Moose_Test_ZONE_RADIUS.miz index 070ef7fd3..53207baf2 100644 Binary files a/Moose Test Missions/Moose_Test_ZONE_RADIUS/Moose_Test_ZONE_RADIUS.miz and b/Moose Test Missions/Moose_Test_ZONE_RADIUS/Moose_Test_ZONE_RADIUS.miz differ diff --git a/Moose Test Missions/Moose_Test_ZONE_UNIT/Moose_Test_ZONE_UNIT.miz b/Moose Test Missions/Moose_Test_ZONE_UNIT/Moose_Test_ZONE_UNIT.miz index dd21bab2e..54e2db9d5 100644 Binary files a/Moose Test Missions/Moose_Test_ZONE_UNIT/Moose_Test_ZONE_UNIT.miz and b/Moose Test Missions/Moose_Test_ZONE_UNIT/Moose_Test_ZONE_UNIT.miz differ