mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-10-29 16:58:06 +00:00
Merge remote-tracking branch 'origin/master' into develop
This commit is contained in:
commit
3214316663
@ -1,4 +1,6 @@
|
|||||||
--- **AI** -- (R2.2) - Models the process of Combat Air Patrol (CAP) for airplanes.
|
--- **AI** - (R2.2) - Models the process of Combat Air Patrol (CAP) for airplanes.
|
||||||
|
--
|
||||||
|
-- This is a class used in the @{AI.AI_A2A_Dispatcher}.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
@ -13,7 +15,6 @@
|
|||||||
-- @extends AI.AI_Air_Patrol#AI_AIR_PATROL
|
-- @extends AI.AI_Air_Patrol#AI_AIR_PATROL
|
||||||
-- @extends AI.AI_Air_Engage#AI_AIR_ENGAGE
|
-- @extends AI.AI_Air_Engage#AI_AIR_ENGAGE
|
||||||
|
|
||||||
|
|
||||||
--- The AI_A2A_CAP class implements the core functions to patrol a @{Zone} by an AI @{Wrapper.Group} or @{Wrapper.Group}
|
--- The AI_A2A_CAP class implements the core functions to patrol a @{Zone} by an AI @{Wrapper.Group} or @{Wrapper.Group}
|
||||||
-- and automatically engage any airborne enemies that are within a certain range or within a certain zone.
|
-- and automatically engage any airborne enemies that are within a certain range or within a certain zone.
|
||||||
--
|
--
|
||||||
@ -81,7 +82,7 @@
|
|||||||
-- that will define when the AI will engage with the detected airborne enemy targets.
|
-- that will define when the AI will engage with the detected airborne enemy targets.
|
||||||
-- The range can be beyond or smaller than the range of the Patrol Zone.
|
-- The range can be beyond or smaller than the range of the Patrol Zone.
|
||||||
-- The range is applied at the position of the AI.
|
-- The range is applied at the position of the AI.
|
||||||
-- Use the method @{AI.AI_CAP#AI_A2A_CAP.SetEngageRange}() to define that range.
|
-- Use the method @{#AI_A2A_CAP.SetEngageRange}() to define that range.
|
||||||
--
|
--
|
||||||
-- ## 4. Set the Zone of Engagement
|
-- ## 4. Set the Zone of Engagement
|
||||||
--
|
--
|
||||||
@ -89,7 +90,7 @@
|
|||||||
--
|
--
|
||||||
-- An optional @{Zone} can be set,
|
-- An optional @{Zone} can be set,
|
||||||
-- that will define when the AI will engage with the detected airborne enemy targets.
|
-- that will define when the AI will engage with the detected airborne enemy targets.
|
||||||
-- Use the method @{AI.AI_Cap#AI_A2A_CAP.SetEngageZone}() to define that Zone.
|
-- Use the method @{#AI_A2A_CAP.SetEngageZone}() to define that Zone.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1148,7 +1148,7 @@ do -- AI_A2A_DISPATCHER
|
|||||||
|
|
||||||
self:I( "Captured " .. AirbaseName )
|
self:I( "Captured " .. AirbaseName )
|
||||||
|
|
||||||
-- Now search for all squadrons located at the airbase, and sanatize them.
|
-- Now search for all squadrons located at the airbase, and sanitize them.
|
||||||
for SquadronName, Squadron in pairs( self.DefenderSquadrons ) do
|
for SquadronName, Squadron in pairs( self.DefenderSquadrons ) do
|
||||||
if Squadron.AirbaseName == AirbaseName then
|
if Squadron.AirbaseName == AirbaseName then
|
||||||
Squadron.ResourceCount = -999 -- The base has been captured, and the resources are eliminated. No more spawning.
|
Squadron.ResourceCount = -999 -- The base has been captured, and the resources are eliminated. No more spawning.
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
--- **AI** -- (R2.2) - Models the process of Ground Controlled Interception (GCI) for airplanes.
|
--- **AI** - (R2.2) - Models the process of Ground Controlled Interception (GCI) for airplanes.
|
||||||
--
|
--
|
||||||
-- This is a class used in the @{AI_A2A_Dispatcher}.
|
-- This is a class used in the @{AI.AI_A2A_Dispatcher}.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
@ -8,7 +8,7 @@
|
|||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
-- @module AI.AI_A2A_GCI
|
-- @module AI.AI_A2A_Gci
|
||||||
-- @image AI_Ground_Control_Intercept.JPG
|
-- @image AI_Ground_Control_Intercept.JPG
|
||||||
|
|
||||||
|
|
||||||
@ -91,7 +91,7 @@
|
|||||||
--
|
--
|
||||||
-- An optional @{Zone} can be set,
|
-- An optional @{Zone} can be set,
|
||||||
-- that will define when the AI will engage with the detected airborne enemy targets.
|
-- that will define when the AI will engage with the detected airborne enemy targets.
|
||||||
-- Use the method @{AI.AI_Cap#AI_A2A_GCI.SetEngageZone}() to define that Zone.
|
-- Use the method @{AI.AI_CAP#AI_CAP_ZONE.SetEngageZone}() to define that Zone.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **AI** -- (R2.2) - Models the process of air patrol of airplanes.
|
--- **AI** - (R2.2) - Models the process of air patrol of airplanes.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
--- **AI** -- Models the process of air to ground BAI engagement for airplanes and helicopters.
|
--- **AI** - Models the process of air to ground BAI engagement for airplanes and helicopters.
|
||||||
--
|
--
|
||||||
-- This is a class used in the @{AI_A2G_Dispatcher}.
|
-- This is a class used in the @{AI.AI_A2G_Dispatcher}.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
@ -11,11 +11,8 @@
|
|||||||
-- @module AI.AI_A2G_BAI
|
-- @module AI.AI_A2G_BAI
|
||||||
-- @image AI_Air_To_Ground_Engage.JPG
|
-- @image AI_Air_To_Ground_Engage.JPG
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
--- @type AI_A2G_BAI
|
--- @type AI_A2G_BAI
|
||||||
-- @extends AI.AI_A2A_Engage#AI_A2A_Engage
|
-- @extends AI.AI_A2A_Engage#AI_A2A_Engage -- TODO: Documentation. This class does not exist, unable to determine what it extends.
|
||||||
|
|
||||||
|
|
||||||
--- Implements the core functions to intercept intruders. Use the Engage trigger to intercept intruders.
|
--- Implements the core functions to intercept intruders. Use the Engage trigger to intercept intruders.
|
||||||
--
|
--
|
||||||
@ -26,8 +23,6 @@ AI_A2G_BAI = {
|
|||||||
ClassName = "AI_A2G_BAI",
|
ClassName = "AI_A2G_BAI",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
--- Creates a new AI_A2G_BAI object
|
--- Creates a new AI_A2G_BAI object
|
||||||
-- @param #AI_A2G_BAI self
|
-- @param #AI_A2G_BAI self
|
||||||
-- @param Wrapper.Group#GROUP AIGroup
|
-- @param Wrapper.Group#GROUP AIGroup
|
||||||
@ -53,7 +48,6 @@ function AI_A2G_BAI:New2( AIGroup, EngageMinSpeed, EngageMaxSpeed, EngageFloorAl
|
|||||||
return self
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
--- Creates a new AI_A2G_BAI object
|
--- Creates a new AI_A2G_BAI object
|
||||||
-- @param #AI_A2G_BAI self
|
-- @param #AI_A2G_BAI self
|
||||||
-- @param Wrapper.Group#GROUP AIGroup
|
-- @param Wrapper.Group#GROUP AIGroup
|
||||||
@ -92,8 +86,6 @@ function AI_A2G_BAI:CreateAttackUnitTasks( AttackSetUnit, DefenderGroup, EngageA
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return AttackUnitTasks
|
return AttackUnitTasks
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
--- **AI** -- Models the process of air to ground engagement for airplanes and helicopters.
|
--- **AI** - Models the process of air to ground engagement for airplanes and helicopters.
|
||||||
--
|
--
|
||||||
-- This is a class used in the @{AI_A2G_Dispatcher}.
|
-- This is a class used in the @{AI.AI_A2G_Dispatcher}.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
@ -11,11 +11,8 @@
|
|||||||
-- @module AI.AI_A2G_CAS
|
-- @module AI.AI_A2G_CAS
|
||||||
-- @image AI_Air_To_Ground_Engage.JPG
|
-- @image AI_Air_To_Ground_Engage.JPG
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
--- @type AI_A2G_CAS
|
--- @type AI_A2G_CAS
|
||||||
-- @extends AI.AI_A2G_Patrol#AI_AIR_PATROL
|
-- @extends AI.AI_A2G_Patrol#AI_AIR_PATROL TODO: Documentation. This class does not exist, unable to determine what it extends.
|
||||||
|
|
||||||
|
|
||||||
--- Implements the core functions to intercept intruders. Use the Engage trigger to intercept intruders.
|
--- Implements the core functions to intercept intruders. Use the Engage trigger to intercept intruders.
|
||||||
--
|
--
|
||||||
@ -26,8 +23,6 @@ AI_A2G_CAS = {
|
|||||||
ClassName = "AI_A2G_CAS",
|
ClassName = "AI_A2G_CAS",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
--- Creates a new AI_A2G_CAS object
|
--- Creates a new AI_A2G_CAS object
|
||||||
-- @param #AI_A2G_CAS self
|
-- @param #AI_A2G_CAS self
|
||||||
-- @param Wrapper.Group#GROUP AIGroup
|
-- @param Wrapper.Group#GROUP AIGroup
|
||||||
@ -53,7 +48,6 @@ function AI_A2G_CAS:New2( AIGroup, EngageMinSpeed, EngageMaxSpeed, EngageFloorAl
|
|||||||
return self
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
--- Creates a new AI_A2G_CAS object
|
--- Creates a new AI_A2G_CAS object
|
||||||
-- @param #AI_A2G_CAS self
|
-- @param #AI_A2G_CAS self
|
||||||
-- @param Wrapper.Group#GROUP AIGroup
|
-- @param Wrapper.Group#GROUP AIGroup
|
||||||
@ -92,9 +86,6 @@ function AI_A2G_CAS:CreateAttackUnitTasks( AttackSetUnit, DefenderGroup, EngageA
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return AttackUnitTasks
|
return AttackUnitTasks
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
--- **AI** -- Models the process of air to ground SEAD engagement for airplanes and helicopters.
|
--- **AI** - Models the process of air to ground SEAD engagement for airplanes and helicopters.
|
||||||
--
|
--
|
||||||
-- This is a class used in the @{AI_A2G_Dispatcher}.
|
-- This is a class used in the @{AI.AI_A2G_Dispatcher}.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
@ -67,7 +67,7 @@
|
|||||||
--
|
--
|
||||||
-- An optional @{Zone} can be set,
|
-- An optional @{Zone} can be set,
|
||||||
-- that will define when the AI will engage with the detected airborne enemy targets.
|
-- that will define when the AI will engage with the detected airborne enemy targets.
|
||||||
-- Use the method @{AI.AI_Cap#AI_A2G_SEAD.SetEngageZone}() to define that Zone.
|
-- Use the method @{AI.AI_CAP#AI_CAP_ZONE.SetEngageZone}() to define that Zone. -- TODO: Documentation. Check that this is actually correct. The originally referenced class does not exist.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
@ -76,8 +76,6 @@ AI_A2G_SEAD = {
|
|||||||
ClassName = "AI_A2G_SEAD",
|
ClassName = "AI_A2G_SEAD",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
--- Creates a new AI_A2G_SEAD object
|
--- Creates a new AI_A2G_SEAD object
|
||||||
-- @param #AI_A2G_SEAD self
|
-- @param #AI_A2G_SEAD self
|
||||||
-- @param Wrapper.Group#GROUP AIGroup
|
-- @param Wrapper.Group#GROUP AIGroup
|
||||||
|
|||||||
@ -259,7 +259,7 @@
|
|||||||
--
|
--
|
||||||
-- ### Author: **FlightControl** rework of GCICAP + introduction of new concepts (squadrons).
|
-- ### Author: **FlightControl** rework of GCICAP + introduction of new concepts (squadrons).
|
||||||
--
|
--
|
||||||
-- @module AI.AI_AIR_Dispatcher
|
-- @module AI.AI_Air_Dispatcher
|
||||||
-- @image AI_Air_To_Ground_Dispatching.JPG
|
-- @image AI_Air_To_Ground_Dispatching.JPG
|
||||||
|
|
||||||
|
|
||||||
@ -1224,7 +1224,7 @@ do -- AI_AIR_DISPATCHER
|
|||||||
|
|
||||||
self:I( "Captured " .. AirbaseName )
|
self:I( "Captured " .. AirbaseName )
|
||||||
|
|
||||||
-- Now search for all squadrons located at the airbase, and sanatize them.
|
-- Now search for all squadrons located at the airbase, and sanitize them.
|
||||||
for SquadronName, Squadron in pairs( self.DefenderSquadrons ) do
|
for SquadronName, Squadron in pairs( self.DefenderSquadrons ) do
|
||||||
if Squadron.AirbaseName == AirbaseName then
|
if Squadron.AirbaseName == AirbaseName then
|
||||||
Squadron.ResourceCount = -999 -- The base has been captured, and the resources are eliminated. No more spawning.
|
Squadron.ResourceCount = -999 -- The base has been captured, and the resources are eliminated. No more spawning.
|
||||||
@ -1796,12 +1796,12 @@ do -- AI_AIR_DISPATCHER
|
|||||||
--
|
--
|
||||||
-- @return #AI_AIR_DISPATCHER
|
-- @return #AI_AIR_DISPATCHER
|
||||||
function AI_AIR_DISPATCHER:SetSquadron2( Squadron )
|
function AI_AIR_DISPATCHER:SetSquadron2( Squadron )
|
||||||
|
|
||||||
local SquadronName = Squadron:GetName() -- Retrieves the Squadron Name.
|
local SquadronName = Squadron:GetName() -- Retrieves the Squadron Name.
|
||||||
self.DefenderSquadrons[SquadronName] = self.DefenderSquadrons[SquadronName] or {}
|
self.DefenderSquadrons[SquadronName] = self.DefenderSquadrons[SquadronName] or {}
|
||||||
|
|
||||||
local DefenderSquadron = self.DefenderSquadrons[SquadronName]
|
local DefenderSquadron = self.DefenderSquadrons[SquadronName]
|
||||||
|
|
||||||
return self
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -1812,15 +1812,15 @@ do -- AI_AIR_DISPATCHER
|
|||||||
function AI_AIR_DISPATCHER:GetSquadron( SquadronName )
|
function AI_AIR_DISPATCHER:GetSquadron( SquadronName )
|
||||||
|
|
||||||
local DefenderSquadron = self.DefenderSquadrons[SquadronName]
|
local DefenderSquadron = self.DefenderSquadrons[SquadronName]
|
||||||
|
|
||||||
if not DefenderSquadron then
|
if not DefenderSquadron then
|
||||||
error( "Unknown Squadron for Dispatcher:" .. SquadronName )
|
error( "Unknown Squadron for Dispatcher:" .. SquadronName )
|
||||||
end
|
end
|
||||||
|
|
||||||
return DefenderSquadron
|
return DefenderSquadron
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
--- Set the Squadron visible before startup of the dispatcher.
|
--- Set the Squadron visible before startup of the dispatcher.
|
||||||
-- All planes will be spawned as uncontrolled on the parking spot.
|
-- All planes will be spawned as uncontrolled on the parking spot.
|
||||||
-- They will lock the parking spot.
|
-- They will lock the parking spot.
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
--- **AI** -- Models the process of air to ground engagement for airplanes and helicopters.
|
--- **AI** - Models the process of air to ground engagement for airplanes and helicopters.
|
||||||
--
|
--
|
||||||
-- This is a class used in the @{AI_A2G_Dispatcher}.
|
-- This is a class used in the @{AI.AI_A2G_Dispatcher}.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
@ -67,7 +67,7 @@
|
|||||||
--
|
--
|
||||||
-- An optional @{Zone} can be set,
|
-- An optional @{Zone} can be set,
|
||||||
-- that will define when the AI will engage with the detected airborne enemy targets.
|
-- that will define when the AI will engage with the detected airborne enemy targets.
|
||||||
-- Use the method @{AI.AI_Cap#AI_AIR_ENGAGE.SetEngageZone}() to define that Zone.
|
-- Use the method @{AI.AI_CAP#AI_AIR_ENGAGE.SetEngageZone}() to define that Zone.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **AI** -- Models the process of A2G patrolling and engaging ground targets for airplanes and helicopters.
|
--- **AI** - Models the process of A2G patrolling and engaging ground targets for airplanes and helicopters.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
@ -88,7 +88,7 @@
|
|||||||
--
|
--
|
||||||
-- An optional @{Zone} can be set,
|
-- An optional @{Zone} can be set,
|
||||||
-- that will define when the AI will engage with the detected airborne enemy targets.
|
-- that will define when the AI will engage with the detected airborne enemy targets.
|
||||||
-- Use the method @{AI.AI_Cap#AI_AIR_PATROL.SetEngageZone}() to define that Zone.
|
-- Use the method @{AI.AI_CAP#AI_AIR_PATROL.SetEngageZone}() to define that Zone.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
--- **AI** - Models squadrons for airplanes and helicopters.
|
--- **AI** - Models squadrons for airplanes and helicopters.
|
||||||
--
|
--
|
||||||
-- This is a class used in the @{AI_Air_Dispatcher} and derived dispatcher classes.
|
-- This is a class used in the @{AI.AI_Air_Dispatcher} and derived dispatcher classes.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **AI** -- Peform Battlefield Area Interdiction (BAI) within an engagement zone.
|
--- **AI** - Peform Battlefield Area Interdiction (BAI) within an engagement zone.
|
||||||
--
|
--
|
||||||
-- **Features:**
|
-- **Features:**
|
||||||
--
|
--
|
||||||
@ -26,7 +26,7 @@
|
|||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
-- @module AI.AI_Bai
|
-- @module AI.AI_BAI
|
||||||
-- @image AI_Battlefield_Air_Interdiction.JPG
|
-- @image AI_Battlefield_Air_Interdiction.JPG
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **AI** -- Balance player slots with AI to create an engaging simulation environment, independent of the amount of players.
|
--- **AI** - Balance player slots with AI to create an engaging simulation environment, independent of the amount of players.
|
||||||
--
|
--
|
||||||
-- **Features:**
|
-- **Features:**
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **AI** -- Perform Combat Air Patrolling (CAP) for airplanes.
|
--- **AI** - Perform Combat Air Patrolling (CAP) for airplanes.
|
||||||
--
|
--
|
||||||
-- **Features:**
|
-- **Features:**
|
||||||
--
|
--
|
||||||
@ -29,7 +29,7 @@
|
|||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
-- @module AI.AI_Cap
|
-- @module AI.AI_CAP
|
||||||
-- @image AI_Combat_Air_Patrol.JPG
|
-- @image AI_Combat_Air_Patrol.JPG
|
||||||
|
|
||||||
|
|
||||||
@ -106,7 +106,7 @@
|
|||||||
-- that will define when the AI will engage with the detected airborne enemy targets.
|
-- that will define when the AI will engage with the detected airborne enemy targets.
|
||||||
-- The range can be beyond or smaller than the range of the Patrol Zone.
|
-- The range can be beyond or smaller than the range of the Patrol Zone.
|
||||||
-- The range is applied at the position of the AI.
|
-- The range is applied at the position of the AI.
|
||||||
-- Use the method @{AI.AI_CAP#AI_CAP_ZONE.SetEngageRange}() to define that range.
|
-- Use the method @{#AI_CAP_ZONE.SetEngageRange}() to define that range.
|
||||||
--
|
--
|
||||||
-- ## 4. Set the Zone of Engagement
|
-- ## 4. Set the Zone of Engagement
|
||||||
--
|
--
|
||||||
@ -114,7 +114,7 @@
|
|||||||
--
|
--
|
||||||
-- An optional @{Zone} can be set,
|
-- An optional @{Zone} can be set,
|
||||||
-- that will define when the AI will engage with the detected airborne enemy targets.
|
-- that will define when the AI will engage with the detected airborne enemy targets.
|
||||||
-- Use the method @{AI.AI_Cap#AI_CAP_ZONE.SetEngageZone}() to define that Zone.
|
-- Use the method @{#AI_CAP_ZONE.SetEngageZone}() to define that Zone.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
@ -311,7 +311,7 @@ end
|
|||||||
function AI_CAP_ZONE:SetEngageZone( EngageZone )
|
function AI_CAP_ZONE:SetEngageZone( EngageZone )
|
||||||
self:F2()
|
self:F2()
|
||||||
|
|
||||||
if EngageZone then
|
if EngageZone then
|
||||||
self.EngageZone = EngageZone
|
self.EngageZone = EngageZone
|
||||||
else
|
else
|
||||||
self.EngageZone = nil
|
self.EngageZone = nil
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **AI** -- Perform Close Air Support (CAS) near friendlies.
|
--- **AI** - Perform Close Air Support (CAS) near friendlies.
|
||||||
--
|
--
|
||||||
-- **Features:**
|
-- **Features:**
|
||||||
--
|
--
|
||||||
@ -28,7 +28,7 @@
|
|||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
-- @module AI.AI_Cas
|
-- @module AI.AI_CAS
|
||||||
-- @image AI_Close_Air_Support.JPG
|
-- @image AI_Close_Air_Support.JPG
|
||||||
|
|
||||||
--- AI_CAS_ZONE class
|
--- AI_CAS_ZONE class
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **AI** -- (R2.4) - Models the intelligent transportation of infantry and other cargo using Planes.
|
--- **AI** - (R2.4) - Models the intelligent transportation of infantry and other cargo using Planes.
|
||||||
--
|
--
|
||||||
-- ## Features:
|
-- ## Features:
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **AI** -- (2.4) - Models the intelligent transportation of infantry and other cargo using Helicopters.
|
--- **AI** - (2.4) - Models the intelligent transportation of infantry and other cargo using Helicopters.
|
||||||
--
|
--
|
||||||
-- ## Features:
|
-- ## Features:
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **AI** -- (2.5.1) - Models the intelligent transportation of infantry and other cargo using Ships
|
--- **AI** - (2.5.1) - Models the intelligent transportation of infantry and other cargo using Ships
|
||||||
--
|
--
|
||||||
-- ## Features:
|
-- ## Features:
|
||||||
--
|
--
|
||||||
@ -37,14 +37,14 @@
|
|||||||
--
|
--
|
||||||
-- This will be particularly helpful in order to determine how to **Tailor the different cargo handling events**.
|
-- This will be particularly helpful in order to determine how to **Tailor the different cargo handling events**.
|
||||||
--
|
--
|
||||||
-- The AI_CARGO_DISPATCHER_SHIP class uses the @{Cargo.Cargo} capabilities within the MOOSE framwork.
|
-- The AI_CARGO_DISPATCHER_SHIP class uses the @{Cargo.Cargo} capabilities within the MOOSE framework.
|
||||||
-- Also ensure that you fully understand how to declare and setup Cargo objects within the MOOSE framework before using this class.
|
-- Also ensure that you fully understand how to declare and setup Cargo objects within the MOOSE framework before using this class.
|
||||||
-- CARGO derived objects must generally be declared within the mission to make the AI_CARGO_DISPATCHER_SHIP object recognize the cargo.
|
-- CARGO derived objects must generally be declared within the mission to make the AI_CARGO_DISPATCHER_SHIP object recognize the cargo.
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
-- # 1) AI_CARGO_DISPATCHER_SHIP constructor.
|
-- # 1) AI_CARGO_DISPATCHER_SHIP constructor.
|
||||||
--
|
--
|
||||||
-- * @{AI_CARGO_DISPATCHER_SHIP.New}(): Creates a new AI_CARGO_DISPATCHER_SHIP object.
|
-- * @{#AI_CARGO_DISPATCHER_SHIP.New}(): Creates a new AI_CARGO_DISPATCHER_SHIP object.
|
||||||
--
|
--
|
||||||
-- ---
|
-- ---
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **AI** -- (R2.5.1) - Models the intelligent transportation of infantry and other cargo.
|
--- **AI** - (R2.5.1) - Models the intelligent transportation of infantry and other cargo.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
@ -46,12 +46,12 @@
|
|||||||
--
|
--
|
||||||
-- ## Cargo deployment.
|
-- ## Cargo deployment.
|
||||||
--
|
--
|
||||||
-- Using the @{AI_CARGO_SHIP.Deploy}() method, you are able to direct the Ship towards a Deploy zone to unboard/unload the cargo at the
|
-- Using the @{#AI_CARGO_SHIP.Deploy}() method, you are able to direct the Ship towards a Deploy zone to unboard/unload the cargo at the
|
||||||
-- specified coordinate. The Ship will follow the Shipping Lane to ensure consistent cargo transportation within the simulation environment.
|
-- specified coordinate. The Ship will follow the Shipping Lane to ensure consistent cargo transportation within the simulation environment.
|
||||||
--
|
--
|
||||||
-- ## Cargo pickup.
|
-- ## Cargo pickup.
|
||||||
--
|
--
|
||||||
-- Using the @{AI_CARGO_SHIP.Pickup}() method, you are able to direct the Ship towards a Pickup zone to board/load the cargo at the specified
|
-- Using the @{#AI_CARGO_SHIP.Pickup}() method, you are able to direct the Ship towards a Pickup zone to board/load the cargo at the specified
|
||||||
-- coordinate. The Ship will follow the Shipping Lane to ensure consistent cargo transportation within the simulation environment.
|
-- coordinate. The Ship will follow the Shipping Lane to ensure consistent cargo transportation within the simulation environment.
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Functional** -- Taking the lead of AI escorting your flight or of other AI.
|
--- **Functional** - Taking the lead of AI escorting your flight or of other AI.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -11,7 +11,7 @@
|
|||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
-- @module AI.AI_ESCORT_DISPATCHER_REQUEST
|
-- @module AI.AI_Escort_Dispatcher_Request
|
||||||
-- @image MOOSE.JPG
|
-- @image MOOSE.JPG
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Functional** -- Taking the lead of AI escorting your flight or of other AI, upon request using the menu.
|
--- **Functional** - Taking the lead of AI escorting your flight or of other AI, upon request using the menu.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
@ -143,7 +143,7 @@
|
|||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
-- @module AI.AI_Escort
|
-- @module AI.AI_Escort_Request
|
||||||
-- @image Escorting.JPG
|
-- @image Escorting.JPG
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **AI** -- Build large airborne formations of aircraft.
|
--- **AI** - Build large airborne formations of aircraft.
|
||||||
--
|
--
|
||||||
-- **Features:**
|
-- **Features:**
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **AI** -- Perform Air Patrolling for airplanes.
|
--- **AI** - Perform Air Patrolling for airplanes.
|
||||||
--
|
--
|
||||||
-- **Features:**
|
-- **Features:**
|
||||||
--
|
--
|
||||||
|
|||||||
@ -66,7 +66,7 @@
|
|||||||
-- you can board the cargo into the carrier `CargoCarrier`.
|
-- you can board the cargo into the carrier `CargoCarrier`.
|
||||||
-- Simple, isn't it? Told you, and this is only the beginning.
|
-- Simple, isn't it? Told you, and this is only the beginning.
|
||||||
--
|
--
|
||||||
-- The boarding, unboarding, loading, unloading of cargo is however something that is not meant to be coded manualy by mission designers.
|
-- The boarding, unboarding, loading, unloading of cargo is however something that is not meant to be coded manually by mission designers.
|
||||||
-- It would be too low-level and not end-user friendly to deal with cargo handling complexity.
|
-- It would be too low-level and not end-user friendly to deal with cargo handling complexity.
|
||||||
-- Things can become really complex if you want to make cargo being handled and behave in multiple scenarios.
|
-- Things can become really complex if you want to make cargo being handled and behave in multiple scenarios.
|
||||||
--
|
--
|
||||||
@ -77,8 +77,8 @@
|
|||||||
--
|
--
|
||||||
-- ## 3.1) AI Cargo handlers.
|
-- ## 3.1) AI Cargo handlers.
|
||||||
--
|
--
|
||||||
-- - @{AI.AI_Cargo_APC} will create for you the capatility to make an APC group handle cargo.
|
-- - @{AI.AI_Cargo_APC} will create for you the capability to make an APC group handle cargo.
|
||||||
-- - @{AI.AI_Cargo_Helicopter} will create for you the capatility to make a Helicopter group handle cargo.
|
-- - @{AI.AI_Cargo_Helicopter} will create for you the capability to make a Helicopter group handle cargo.
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
-- ## 3.2) AI Cargo transportation dispatchers.
|
-- ## 3.2) AI Cargo transportation dispatchers.
|
||||||
@ -86,7 +86,7 @@
|
|||||||
-- There are also dispatchers that make AI work together to transport cargo automatically!!!
|
-- There are also dispatchers that make AI work together to transport cargo automatically!!!
|
||||||
--
|
--
|
||||||
-- - @{AI.AI_Cargo_Dispatcher_APC} derived classes will create for your dynamic cargo handlers controlled by AI ground vehicle groups (APCs) to transport cargo between sites.
|
-- - @{AI.AI_Cargo_Dispatcher_APC} derived classes will create for your dynamic cargo handlers controlled by AI ground vehicle groups (APCs) to transport cargo between sites.
|
||||||
-- - @{AI.AI_Cargo_Dispatcher_Helicopters} derived classes will create for your dynamic cargo handlers controlled by AI helicpter groups to transport cargo between sites.
|
-- - @{AI.AI_Cargo_Dispatcher_Helicopters} derived classes will create for your dynamic cargo handlers controlled by AI helicopter groups to transport cargo between sites.
|
||||||
--
|
--
|
||||||
-- ## 3.3) Cargo transportation tasking.
|
-- ## 3.3) Cargo transportation tasking.
|
||||||
--
|
--
|
||||||
@ -94,7 +94,7 @@
|
|||||||
--
|
--
|
||||||
-- - @{Tasking.Task_CARGO} derived classes will create for you cargo transportation tasks, that allow human players to interact with MOOSE cargo objects to complete tasks.
|
-- - @{Tasking.Task_CARGO} derived classes will create for you cargo transportation tasks, that allow human players to interact with MOOSE cargo objects to complete tasks.
|
||||||
--
|
--
|
||||||
-- Please refer to the documentation reflected within these modules to understand the detailed capabilties.
|
-- Please refer to the documentation reflected within these modules to understand the detailed capabilities.
|
||||||
--
|
--
|
||||||
-- # 4) Cargo SETs.
|
-- # 4) Cargo SETs.
|
||||||
--
|
--
|
||||||
@ -228,7 +228,7 @@
|
|||||||
-- `StaticName #CARGO(T=CargoTypeName,C=Category,RR=Range,NR=Range)`
|
-- `StaticName #CARGO(T=CargoTypeName,C=Category,RR=Range,NR=Range)`
|
||||||
--
|
--
|
||||||
-- * **T=** Provide a text that contains the type name of the cargo object. This type name can be used to filter cargo within a SET_CARGO object.
|
-- * **T=** Provide a text that contains the type name of the cargo object. This type name can be used to filter cargo within a SET_CARGO object.
|
||||||
-- * **C=** Provide either `CRATE` or `SLING` to have this static created as a CARGO_CRATE or CARGO_SLINGLOAD respectivly.
|
-- * **C=** Provide either `CRATE` or `SLING` to have this static created as a CARGO_CRATE or CARGO_SLINGLOAD respectively.
|
||||||
-- * **RR=** Provide the minimal range in meters when the report to the carrier, and board to the carrier.
|
-- * **RR=** Provide the minimal range in meters when the report to the carrier, and board to the carrier.
|
||||||
-- Note that this option is optional, so can be omitted. The default value of the RR is 250 meters.
|
-- Note that this option is optional, so can be omitted. The default value of the RR is 250 meters.
|
||||||
-- * **NR=** Provide the maximum range in meters when the cargo units will be boarded within the carrier during boarding.
|
-- * **NR=** Provide the maximum range in meters when the cargo units will be boarded within the carrier during boarding.
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Cargo** -- Management of single cargo crates, which are based on a @{Static} object.
|
--- **Cargo** - Management of single cargo crates, which are based on a @{Static} object.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Cargo** -- Management of single cargo crates, which are based on a @{Static} object. The cargo can only be slingloaded.
|
--- **Cargo** - Management of single cargo crates, which are based on a @{Static} object. The cargo can only be slingloaded.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -932,7 +932,7 @@ do -- Event Creation
|
|||||||
|
|
||||||
--- Creation of a ZoneGoal Deletion Event.
|
--- Creation of a ZoneGoal Deletion Event.
|
||||||
-- @param #EVENT self
|
-- @param #EVENT self
|
||||||
-- @param Core.ZoneGoal#ZONE_GOAL ZoneGoal The ZoneGoal created.
|
-- @param Functional.ZoneGoal#ZONE_GOAL ZoneGoal The ZoneGoal created.
|
||||||
function EVENT:CreateEventDeleteZoneGoal( ZoneGoal )
|
function EVENT:CreateEventDeleteZoneGoal( ZoneGoal )
|
||||||
self:F( { ZoneGoal } )
|
self:F( { ZoneGoal } )
|
||||||
|
|
||||||
|
|||||||
@ -171,7 +171,7 @@ end
|
|||||||
--- Sends a MESSAGE to a Client Group. Note that the Group needs to be defined within the ME with the skillset "Client" or "Player".
|
--- Sends a MESSAGE to a Client Group. Note that the Group needs to be defined within the ME with the skillset "Client" or "Player".
|
||||||
-- @param #MESSAGE self
|
-- @param #MESSAGE self
|
||||||
-- @param Wrapper.Client#CLIENT Client is the Group of the Client.
|
-- @param Wrapper.Client#CLIENT Client is the Group of the Client.
|
||||||
-- @param Core.Settings#SETTINGS Settings Settings used to display the message.
|
-- @param Core.Settings#SETTINGS Settings used to display the message.
|
||||||
-- @return #MESSAGE
|
-- @return #MESSAGE
|
||||||
-- @usage
|
-- @usage
|
||||||
--
|
--
|
||||||
@ -182,11 +182,11 @@ end
|
|||||||
-- MessageClient1 = MESSAGE:New( "Congratulations, you've just hit a target", "Score", 25, "Score" ):ToClient( ClientGroup )
|
-- MessageClient1 = MESSAGE:New( "Congratulations, you've just hit a target", "Score", 25, "Score" ):ToClient( ClientGroup )
|
||||||
-- MessageClient2 = MESSAGE:New( "Congratulations, you've just killed a target", "Score", 25, "Score" ):ToClient( ClientGroup )
|
-- MessageClient2 = MESSAGE:New( "Congratulations, you've just killed a target", "Score", 25, "Score" ):ToClient( ClientGroup )
|
||||||
-- or
|
-- or
|
||||||
-- MESSAGE:New( "Congratulations, you've just hit a target", "Score", 25, "Score" ):ToClient( ClientGroup )
|
-- MESSAGE:New( "Congratulations, you've just hit a target", "Score", 25 ):ToClient( ClientGroup )
|
||||||
-- MESSAGE:New( "Congratulations, you've just killed a target", "Score", 25, "Score" ):ToClient( ClientGroup )
|
-- MESSAGE:New( "Congratulations, you've just killed a target", "Score", 25 ):ToClient( ClientGroup )
|
||||||
-- or
|
-- or
|
||||||
-- MessageClient1 = MESSAGE:New( "Congratulations, you've just hit a target", "Score", 25, "Score" )
|
-- MessageClient1 = MESSAGE:New( "Congratulations, you've just hit a target", "Score", 25 )
|
||||||
-- MessageClient2 = MESSAGE:New( "Congratulations, you've just killed a target", "Score", 25, "Score" )
|
-- MessageClient2 = MESSAGE:New( "Congratulations, you've just killed a target", "Score", 25 )
|
||||||
-- MessageClient1:ToClient( ClientGroup )
|
-- MessageClient1:ToClient( ClientGroup )
|
||||||
-- MessageClient2:ToClient( ClientGroup )
|
-- MessageClient2:ToClient( ClientGroup )
|
||||||
--
|
--
|
||||||
@ -262,41 +262,17 @@ function MESSAGE:ToUnit( Unit, Settings )
|
|||||||
return self
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Sends a MESSAGE to a Unit.
|
|
||||||
-- @param #MESSAGE self
|
|
||||||
-- @param Wrapper.Unit#UNIT Unit to which the message is displayed.
|
|
||||||
-- @return #MESSAGE Message object.
|
|
||||||
function MESSAGE:ToUnit( Unit, Settings )
|
|
||||||
self:F( Unit.IdentifiableName )
|
|
||||||
|
|
||||||
if Unit then
|
|
||||||
|
|
||||||
if self.MessageType then
|
|
||||||
local Settings = Settings or ( Unit and _DATABASE:GetPlayerSettings( Unit:GetPlayerName() ) ) or _SETTINGS -- Core.Settings#SETTINGS
|
|
||||||
self.MessageDuration = Settings:GetMessageTime( self.MessageType )
|
|
||||||
self.MessageCategory = "" -- self.MessageType .. ": "
|
|
||||||
end
|
|
||||||
|
|
||||||
if self.MessageDuration ~= 0 then
|
|
||||||
self:T( self.MessageCategory .. self.MessageText:gsub("\n$",""):gsub("\n$","") .. " / " .. self.MessageDuration )
|
|
||||||
trigger.action.outTextForUnit( Unit:GetID(), self.MessageCategory .. self.MessageText:gsub("\n$",""):gsub("\n$",""), self.MessageDuration, self.ClearScreen )
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
return self
|
|
||||||
end
|
|
||||||
|
|
||||||
--- Sends a MESSAGE to the Blue coalition.
|
--- Sends a MESSAGE to the Blue coalition.
|
||||||
-- @param #MESSAGE self
|
-- @param #MESSAGE self
|
||||||
-- @return #MESSAGE
|
-- @return #MESSAGE
|
||||||
-- @usage
|
-- @usage
|
||||||
--
|
--
|
||||||
-- -- Send a message created with the @{New} method to the BLUE coalition.
|
-- -- Send a message created with the @{New} method to the BLUE coalition.
|
||||||
-- MessageBLUE = MESSAGE:New( "To the BLUE Players: You receive a penalty because you've killed one of your own units", "Penalty", 25, "Score" ):ToBlue()
|
-- MessageBLUE = MESSAGE:New( "To the BLUE Players: You receive a penalty because you've killed one of your own units", "Penalty", 25):ToBlue()
|
||||||
-- or
|
-- or
|
||||||
-- MESSAGE:New( "To the BLUE Players: You receive a penalty because you've killed one of your own units", "Penalty", 25, "Score" ):ToBlue()
|
-- MESSAGE:New( "To the BLUE Players: You receive a penalty because you've killed one of your own units", "Penalty", 25 ):ToBlue()
|
||||||
-- or
|
-- or
|
||||||
-- MessageBLUE = MESSAGE:New( "To the BLUE Players: You receive a penalty because you've killed one of your own units", "Penalty", 25, "Score" )
|
-- MessageBLUE = MESSAGE:New( "To the BLUE Players: You receive a penalty because you've killed one of your own units", "Penalty", 25 )
|
||||||
-- MessageBLUE:ToBlue()
|
-- MessageBLUE:ToBlue()
|
||||||
--
|
--
|
||||||
function MESSAGE:ToBlue()
|
function MESSAGE:ToBlue()
|
||||||
@ -313,11 +289,11 @@ end
|
|||||||
-- @usage
|
-- @usage
|
||||||
--
|
--
|
||||||
-- -- Send a message created with the @{New} method to the RED coalition.
|
-- -- Send a message created with the @{New} method to the RED coalition.
|
||||||
-- MessageRED = MESSAGE:New( "To the RED Players: You receive a penalty because you've killed one of your own units", "Penalty", 25, "Score" ):ToRed()
|
-- MessageRED = MESSAGE:New( "To the RED Players: You receive a penalty because you've killed one of your own units", "Penalty", 25 ):ToRed()
|
||||||
-- or
|
-- or
|
||||||
-- MESSAGE:New( "To the RED Players: You receive a penalty because you've killed one of your own units", "Penalty", 25, "Score" ):ToRed()
|
-- MESSAGE:New( "To the RED Players: You receive a penalty because you've killed one of your own units", "Penalty", 25 ):ToRed()
|
||||||
-- or
|
-- or
|
||||||
-- MessageRED = MESSAGE:New( "To the RED Players: You receive a penalty because you've killed one of your own units", "Penalty", 25, "Score" )
|
-- MessageRED = MESSAGE:New( "To the RED Players: You receive a penalty because you've killed one of your own units", "Penalty", 25 )
|
||||||
-- MessageRED:ToRed()
|
-- MessageRED:ToRed()
|
||||||
--
|
--
|
||||||
function MESSAGE:ToRed()
|
function MESSAGE:ToRed()
|
||||||
@ -336,11 +312,11 @@ end
|
|||||||
-- @usage
|
-- @usage
|
||||||
--
|
--
|
||||||
-- -- Send a message created with the @{New} method to the RED coalition.
|
-- -- Send a message created with the @{New} method to the RED coalition.
|
||||||
-- MessageRED = MESSAGE:New( "To the RED Players: You receive a penalty because you've killed one of your own units", "Penalty", 25, "Score" ):ToCoalition( coalition.side.RED )
|
-- MessageRED = MESSAGE:New( "To the RED Players: You receive a penalty because you've killed one of your own units", "Penalty", 25 ):ToCoalition( coalition.side.RED )
|
||||||
-- or
|
-- or
|
||||||
-- MESSAGE:New( "To the RED Players: You receive a penalty because you've killed one of your own units", "Penalty", 25, "Score" ):ToCoalition( coalition.side.RED )
|
-- MESSAGE:New( "To the RED Players: You receive a penalty because you've killed one of your own units", "Penalty", 25 ):ToCoalition( coalition.side.RED )
|
||||||
-- or
|
-- or
|
||||||
-- MessageRED = MESSAGE:New( "To the RED Players: You receive a penalty because you've killed one of your own units", "Penalty", 25, "Score" )
|
-- MessageRED = MESSAGE:New( "To the RED Players: You receive a penalty because you've killed one of your own units", "Penalty", 25 )
|
||||||
-- MessageRED:ToCoalition( coalition.side.RED )
|
-- MessageRED:ToCoalition( coalition.side.RED )
|
||||||
--
|
--
|
||||||
function MESSAGE:ToCoalition( CoalitionSide, Settings )
|
function MESSAGE:ToCoalition( CoalitionSide, Settings )
|
||||||
@ -384,11 +360,11 @@ end
|
|||||||
-- @usage
|
-- @usage
|
||||||
--
|
--
|
||||||
-- -- Send a message created to all players.
|
-- -- Send a message created to all players.
|
||||||
-- MessageAll = MESSAGE:New( "To all Players: BLUE has won! Each player of BLUE wins 50 points!", "End of Mission", 25, "Win" ):ToAll()
|
-- MessageAll = MESSAGE:New( "To all Players: BLUE has won! Each player of BLUE wins 50 points!", "End of Mission", 25 ):ToAll()
|
||||||
-- or
|
-- or
|
||||||
-- MESSAGE:New( "To all Players: BLUE has won! Each player of BLUE wins 50 points!", "End of Mission", 25, "Win" ):ToAll()
|
-- MESSAGE:New( "To all Players: BLUE has won! Each player of BLUE wins 50 points!", "End of Mission", 25 ):ToAll()
|
||||||
-- or
|
-- or
|
||||||
-- MessageAll = MESSAGE:New( "To all Players: BLUE has won! Each player of BLUE wins 50 points!", "End of Mission", 25, "Win" )
|
-- MessageAll = MESSAGE:New( "To all Players: BLUE has won! Each player of BLUE wins 50 points!", "End of Mission", 25 )
|
||||||
-- MessageAll:ToAll()
|
-- MessageAll:ToAll()
|
||||||
--
|
--
|
||||||
function MESSAGE:ToAll( Settings )
|
function MESSAGE:ToAll( Settings )
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Core** -- SCHEDULEDISPATCHER dispatches the different schedules.
|
--- **Core** - SCHEDULEDISPATCHER dispatches the different schedules.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -35,13 +35,13 @@ do -- UserFlag
|
|||||||
ClassName = "USERFLAG",
|
ClassName = "USERFLAG",
|
||||||
UserFlagName = nil,
|
UserFlagName = nil,
|
||||||
}
|
}
|
||||||
|
|
||||||
--- USERFLAG Constructor.
|
--- USERFLAG Constructor.
|
||||||
-- @param #USERFLAG self
|
-- @param #USERFLAG self
|
||||||
-- @param #string UserFlagName The name of the userflag, which is a free text string.
|
-- @param #string UserFlagName The name of the userflag, which is a free text string.
|
||||||
-- @return #USERFLAG
|
-- @return #USERFLAG
|
||||||
function USERFLAG:New( UserFlagName ) --R2.3
|
function USERFLAG:New( UserFlagName ) --R2.3
|
||||||
|
|
||||||
local self = BASE:Inherit( self, BASE:New() ) -- #USERFLAG
|
local self = BASE:Inherit( self, BASE:New() ) -- #USERFLAG
|
||||||
|
|
||||||
self.UserFlagName = UserFlagName
|
self.UserFlagName = UserFlagName
|
||||||
@ -52,7 +52,7 @@ do -- UserFlag
|
|||||||
--- Get the userflag name.
|
--- Get the userflag name.
|
||||||
-- @param #USERFLAG self
|
-- @param #USERFLAG self
|
||||||
-- @return #string Name of the user flag.
|
-- @return #string Name of the user flag.
|
||||||
function USERFLAG:GetName()
|
function USERFLAG:GetName()
|
||||||
return self.UserFlagName
|
return self.UserFlagName
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -66,18 +66,17 @@ do -- UserFlag
|
|||||||
-- BlueVictory:Set( 100 ) -- Set the UserFlag VictoryBlue to 100.
|
-- BlueVictory:Set( 100 ) -- Set the UserFlag VictoryBlue to 100.
|
||||||
--
|
--
|
||||||
function USERFLAG:Set( Number, Delay ) --R2.3
|
function USERFLAG:Set( Number, Delay ) --R2.3
|
||||||
|
|
||||||
if Delay and Delay>0 then
|
if Delay and Delay>0 then
|
||||||
self:ScheduleOnce(Delay, USERFLAG.Set, self, Number)
|
self:ScheduleOnce(Delay, USERFLAG.Set, self, Number)
|
||||||
else
|
else
|
||||||
--env.info(string.format("Setting flag \"%s\" to %d at T=%.1f", self.UserFlagName, Number, timer.getTime()))
|
--env.info(string.format("Setting flag \"%s\" to %d at T=%.1f", self.UserFlagName, Number, timer.getTime()))
|
||||||
trigger.action.setUserFlag( self.UserFlagName, Number )
|
trigger.action.setUserFlag( self.UserFlagName, Number )
|
||||||
end
|
end
|
||||||
|
|
||||||
return self
|
|
||||||
end
|
|
||||||
|
|
||||||
|
return self
|
||||||
|
end
|
||||||
|
|
||||||
--- Get the userflag Number.
|
--- Get the userflag Number.
|
||||||
-- @param #USERFLAG self
|
-- @param #USERFLAG self
|
||||||
-- @return #number Number The number value to be checked if it is the same as the userflag.
|
-- @return #number Number The number value to be checked if it is the same as the userflag.
|
||||||
@ -86,12 +85,10 @@ do -- UserFlag
|
|||||||
-- local BlueVictoryValue = BlueVictory:Get() -- Get the UserFlag VictoryBlue value.
|
-- local BlueVictoryValue = BlueVictory:Get() -- Get the UserFlag VictoryBlue value.
|
||||||
--
|
--
|
||||||
function USERFLAG:Get() --R2.3
|
function USERFLAG:Get() --R2.3
|
||||||
|
|
||||||
return trigger.misc.getUserFlag( self.UserFlagName )
|
|
||||||
end
|
|
||||||
|
|
||||||
|
return trigger.misc.getUserFlag( self.UserFlagName )
|
||||||
|
end
|
||||||
|
|
||||||
--- Check if the userflag has a value of Number.
|
--- Check if the userflag has a value of Number.
|
||||||
-- @param #USERFLAG self
|
-- @param #USERFLAG self
|
||||||
-- @param #number Number The number value to be checked if it is the same as the userflag.
|
-- @param #number Number The number value to be checked if it is the same as the userflag.
|
||||||
@ -102,9 +99,9 @@ do -- UserFlag
|
|||||||
-- return "Blue has won"
|
-- return "Blue has won"
|
||||||
-- end
|
-- end
|
||||||
function USERFLAG:Is( Number ) --R2.3
|
function USERFLAG:Is( Number ) --R2.3
|
||||||
|
|
||||||
return trigger.misc.getUserFlag( self.UserFlagName ) == Number
|
return trigger.misc.getUserFlag( self.UserFlagName ) == Number
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
@ -1,6 +1,7 @@
|
|||||||
|
--- **Core** - The ZONE_DETECTION class, defined by a zone name, a detection object and a radius.
|
||||||
|
-- @module Core.Zone_Detection
|
||||||
|
|
||||||
--- The ZONE_DETECTION class, defined by a zone name, a detection object and a radius.
|
--- @type ZONE_DETECTION
|
||||||
-- @type ZONE_DETECTION
|
|
||||||
-- @field DCS#Vec2 Vec2 The current location of the zone.
|
-- @field DCS#Vec2 Vec2 The current location of the zone.
|
||||||
-- @field DCS#Distance Radius The radius of the zone.
|
-- @field DCS#Distance Radius The radius of the zone.
|
||||||
-- @extends #ZONE_BASE
|
-- @extends #ZONE_BASE
|
||||||
@ -29,7 +30,7 @@ function ZONE_DETECTION:New( ZoneName, Detection, Radius )
|
|||||||
|
|
||||||
self.Detection = Detection
|
self.Detection = Detection
|
||||||
self.Radius = Radius
|
self.Radius = Radius
|
||||||
|
|
||||||
return self
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -48,15 +49,14 @@ function ZONE_DETECTION:BoundZone( Points, CountryID, UnBound )
|
|||||||
|
|
||||||
local Angle
|
local Angle
|
||||||
local RadialBase = math.pi*2
|
local RadialBase = math.pi*2
|
||||||
|
|
||||||
--
|
|
||||||
for Angle = 0, 360, (360 / Points ) do
|
for Angle = 0, 360, (360 / Points ) do
|
||||||
local Radial = Angle * RadialBase / 360
|
local Radial = Angle * RadialBase / 360
|
||||||
Point.x = Vec2.x + math.cos( Radial ) * self:GetRadius()
|
Point.x = Vec2.x + math.cos( Radial ) * self:GetRadius()
|
||||||
Point.y = Vec2.y + math.sin( Radial ) * self:GetRadius()
|
Point.y = Vec2.y + math.sin( Radial ) * self:GetRadius()
|
||||||
|
|
||||||
local CountryName = _DATABASE.COUNTRY_NAME[CountryID]
|
local CountryName = _DATABASE.COUNTRY_NAME[CountryID]
|
||||||
|
|
||||||
local Tire = {
|
local Tire = {
|
||||||
["country"] = CountryName,
|
["country"] = CountryName,
|
||||||
["category"] = "Fortifications",
|
["category"] = "Fortifications",
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Functional** -- Monitor airbase traffic and regulate speed while taxiing.
|
--- **Functional** - Monitor airbase traffic and regulate speed while taxiing.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -30,7 +30,7 @@
|
|||||||
-- ### Contributions: [FlightControl](https://forums.eagle.ru/member.php?u=89536)
|
-- ### Contributions: [FlightControl](https://forums.eagle.ru/member.php?u=89536)
|
||||||
--
|
--
|
||||||
-- ====
|
-- ====
|
||||||
-- @module Functional.Arty
|
-- @module Functional.Artillery
|
||||||
-- @image Artillery.JPG
|
-- @image Artillery.JPG
|
||||||
|
|
||||||
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
@ -108,7 +108,7 @@
|
|||||||
--- Enables mission designers easily to assign targets for artillery units. Since the implementation is based on a Finite State Model (FSM), the mission designer can
|
--- Enables mission designers easily to assign targets for artillery units. Since the implementation is based on a Finite State Model (FSM), the mission designer can
|
||||||
-- interact with the process at certain events or states.
|
-- interact with the process at certain events or states.
|
||||||
--
|
--
|
||||||
-- A new ARTY object can be created with the @{#ARTY.New}(*group*) contructor.
|
-- A new ARTY object can be created with the @{#ARTY.New}(*group*) constructor.
|
||||||
-- The parameter *group* has to be a MOOSE Group object and defines ARTY group.
|
-- The parameter *group* has to be a MOOSE Group object and defines ARTY group.
|
||||||
--
|
--
|
||||||
-- The ARTY FSM process can be started by the @{#ARTY.Start}() command.
|
-- The ARTY FSM process can be started by the @{#ARTY.Start}() command.
|
||||||
@ -146,7 +146,7 @@
|
|||||||
-- When a new target is assigned via the @{#ARTY.AssignTargetCoord}() function (see below), the **NewTarget** event is triggered.
|
-- When a new target is assigned via the @{#ARTY.AssignTargetCoord}() function (see below), the **NewTarget** event is triggered.
|
||||||
--
|
--
|
||||||
-- ## Assigning Targets
|
-- ## Assigning Targets
|
||||||
-- Assigning targets is a central point of the ARTY class. Multiple targets can be assigned simultanioulsly and are put into a queue.
|
-- Assigning targets is a central point of the ARTY class. Multiple targets can be assigned simultaneously and are put into a queue.
|
||||||
-- Of course, targets can be added at any time during the mission. For example, once they are detected by a reconnaissance unit.
|
-- Of course, targets can be added at any time during the mission. For example, once they are detected by a reconnaissance unit.
|
||||||
--
|
--
|
||||||
-- In order to add a target, the function @{#ARTY.AssignTargetCoord}(*coord*, *prio*, *radius*, *nshells*, *maxengage*, *time*, *weapontype*, *name*) has to be used.
|
-- In order to add a target, the function @{#ARTY.AssignTargetCoord}(*coord*, *prio*, *radius*, *nshells*, *maxengage*, *time*, *weapontype*, *name*) has to be used.
|
||||||
@ -161,7 +161,7 @@
|
|||||||
-- * *maxengage*: Number of times a target is engaged.
|
-- * *maxengage*: Number of times a target is engaged.
|
||||||
-- * *time*: Time of day the engagement is schedule in the format "hh:mm:ss" for hh=hours, mm=minutes, ss=seconds.
|
-- * *time*: Time of day the engagement is schedule in the format "hh:mm:ss" for hh=hours, mm=minutes, ss=seconds.
|
||||||
-- For example "10:15:35". In the case the attack will be executed at a quarter past ten in the morning at the day the mission started.
|
-- For example "10:15:35". In the case the attack will be executed at a quarter past ten in the morning at the day the mission started.
|
||||||
-- If the engagement should start on the following day the format can be specified as "10:15:35+1", where the +1 denots the following day.
|
-- If the engagement should start on the following day the format can be specified as "10:15:35+1", where the +1 denotes the following day.
|
||||||
-- This is useful for longer running missions or if the mission starts at 23:00 hours and the attack should be scheduled at 01:00 hours on the following day.
|
-- This is useful for longer running missions or if the mission starts at 23:00 hours and the attack should be scheduled at 01:00 hours on the following day.
|
||||||
-- Of course, later days are also possible by appending "+2", "+3", etc.
|
-- Of course, later days are also possible by appending "+2", "+3", etc.
|
||||||
-- **Note** that the time has to be given as a string. So the enclosing quotation marks "" are important.
|
-- **Note** that the time has to be given as a string. So the enclosing quotation marks "" are important.
|
||||||
@ -179,7 +179,7 @@
|
|||||||
-- Let's first consider the case that none of the targets is scheduled to be executed at a certain time (*time*=nil).
|
-- Let's first consider the case that none of the targets is scheduled to be executed at a certain time (*time*=nil).
|
||||||
-- The ARTY group will first engage the target with higher priority (*prio*=10). After the engagement is finished, the target with lower priority is attacked.
|
-- The ARTY group will first engage the target with higher priority (*prio*=10). After the engagement is finished, the target with lower priority is attacked.
|
||||||
-- This is because the target with lower prio has been attacked one time less. After the attack on the lower priority task is finished and both targets
|
-- This is because the target with lower prio has been attacked one time less. After the attack on the lower priority task is finished and both targets
|
||||||
-- have been engaged equally often, the target with the higher priority is engaged again. This coninues until a target has engaged three times.
|
-- have been engaged equally often, the target with the higher priority is engaged again. This continues until a target has engaged three times.
|
||||||
-- Once the maximum number of engagements is reached, the target is deleted from the queue.
|
-- Once the maximum number of engagements is reached, the target is deleted from the queue.
|
||||||
--
|
--
|
||||||
-- In other words, the queue is first sorted with respect to the number of engagements and targets with the same number of engagements are sorted with
|
-- In other words, the queue is first sorted with respect to the number of engagements and targets with the same number of engagements are sorted with
|
||||||
@ -190,7 +190,7 @@
|
|||||||
-- As mentioned above, targets can be engaged at a specific time of the day via the *time* parameter.
|
-- As mentioned above, targets can be engaged at a specific time of the day via the *time* parameter.
|
||||||
--
|
--
|
||||||
-- If the *time* parameter is specified for a target, the first engagement of that target will happen at that time of the day and not before.
|
-- If the *time* parameter is specified for a target, the first engagement of that target will happen at that time of the day and not before.
|
||||||
-- This also applies when multiple engagements are requested via the *maxengage* parameter. The first attack will not happen before the specifed time.
|
-- This also applies when multiple engagements are requested via the *maxengage* parameter. The first attack will not happen before the specified time.
|
||||||
-- When that timed attack is finished, the *time* parameter is deleted and the remaining engagements are carried out in the same manner as for untimed targets (described above).
|
-- When that timed attack is finished, the *time* parameter is deleted and the remaining engagements are carried out in the same manner as for untimed targets (described above).
|
||||||
--
|
--
|
||||||
-- Of course, it can happen that a scheduled task should be executed at a time, when another target is already under attack.
|
-- Of course, it can happen that a scheduled task should be executed at a time, when another target is already under attack.
|
||||||
@ -201,7 +201,7 @@
|
|||||||
--
|
--
|
||||||
-- ## Determining the Amount of Ammo
|
-- ## Determining the Amount of Ammo
|
||||||
--
|
--
|
||||||
-- In order to determin when a unit is out of ammo and possible initiate the rearming process it is necessary to know which types of weapons have to be counted.
|
-- In order to determine when a unit is out of ammo and possible initiate the rearming process it is necessary to know which types of weapons have to be counted.
|
||||||
-- For most artillery unit types, this is simple because they only have one type of weapon and hence ammunition.
|
-- For most artillery unit types, this is simple because they only have one type of weapon and hence ammunition.
|
||||||
--
|
--
|
||||||
-- However, there are more complex scenarios. For example, naval units carry a big arsenal of different ammunition types ranging from various cannon shell types
|
-- However, there are more complex scenarios. For example, naval units carry a big arsenal of different ammunition types ranging from various cannon shell types
|
||||||
@ -217,7 +217,7 @@
|
|||||||
-- **Note** that the default parameters "weapons.shells", "weapons.nurs", "weapons.missiles" **should in priciple** capture all the corresponding ammo types.
|
-- **Note** that the default parameters "weapons.shells", "weapons.nurs", "weapons.missiles" **should in priciple** capture all the corresponding ammo types.
|
||||||
-- However, the logic searches for the string "weapon.missies" in the ammo type. Especially for missiles, this string is often not contained in the ammo type descriptor.
|
-- However, the logic searches for the string "weapon.missies" in the ammo type. Especially for missiles, this string is often not contained in the ammo type descriptor.
|
||||||
--
|
--
|
||||||
-- One way to determin which types of ammo the unit carries, one can use the debug mode of the arty class via @{#ARTY.SetDebugON}().
|
-- One way to determine which types of ammo the unit carries, one can use the debug mode of the arty class via @{#ARTY.SetDebugON}().
|
||||||
-- In debug mode, the all ammo types of the group are printed to the monitor as message and can be found in the DCS.log file.
|
-- In debug mode, the all ammo types of the group are printed to the monitor as message and can be found in the DCS.log file.
|
||||||
--
|
--
|
||||||
-- ## Employing Selected Weapons
|
-- ## Employing Selected Weapons
|
||||||
@ -274,7 +274,7 @@
|
|||||||
--
|
--
|
||||||
-- ## Simulated Weapons
|
-- ## Simulated Weapons
|
||||||
--
|
--
|
||||||
-- In addtion to the standard weapons a group has available some special weapon types that are not possible to use in the native DCS environment are simulated.
|
-- In addition to the standard weapons a group has available some special weapon types that are not possible to use in the native DCS environment are simulated.
|
||||||
--
|
--
|
||||||
-- ### Tactical Nukes
|
-- ### Tactical Nukes
|
||||||
--
|
--
|
||||||
@ -283,9 +283,9 @@
|
|||||||
--
|
--
|
||||||
-- By default, they group does not have any nukes available. To give the group the ability the function @{#ARTY.SetTacNukeShells}(*n*) can be used.
|
-- By default, they group does not have any nukes available. To give the group the ability the function @{#ARTY.SetTacNukeShells}(*n*) can be used.
|
||||||
-- This supplies the group with *n* nuclear shells, where *n* is restricted to the number of conventional shells the group can carry.
|
-- This supplies the group with *n* nuclear shells, where *n* is restricted to the number of conventional shells the group can carry.
|
||||||
-- Note that the group must always have convenctional shells left in order to fire a nuclear shell.
|
-- Note that the group must always have conventional shells left in order to fire a nuclear shell.
|
||||||
--
|
--
|
||||||
-- The default explostion strength is 0.075 kilo tons TNT. The can be changed with the @{#ARTY.SetTacNukeWarhead}(*strength*), where *strength* is given in kilo tons TNT.
|
-- The default explosion strength is 0.075 kilo tons TNT. The can be changed with the @{#ARTY.SetTacNukeWarhead}(*strength*), where *strength* is given in kilo tons TNT.
|
||||||
--
|
--
|
||||||
-- ### Illumination Shells
|
-- ### Illumination Shells
|
||||||
--
|
--
|
||||||
@ -301,12 +301,12 @@
|
|||||||
--
|
--
|
||||||
-- ### Smoke Shells
|
-- ### Smoke Shells
|
||||||
--
|
--
|
||||||
-- In a similar way to illumination shells, ARTY groups can also employ smoke shells. The numer of smoke shells the group has available is set by the function
|
-- In a similar way to illumination shells, ARTY groups can also employ smoke shells. The number of smoke shells the group has available is set by the function
|
||||||
-- @{#ARTY.SetSmokeShells}(*n*, *color*), where *n* is the number of shells and *color* defines the smoke color. Default is SMOKECOLOR.Red.
|
-- @{#ARTY.SetSmokeShells}(*n*, *color*), where *n* is the number of shells and *color* defines the smoke color. Default is SMOKECOLOR.Red.
|
||||||
--
|
--
|
||||||
-- The weapon type to be used in the @{#ARTY.AssignTargetCoord}() function is *ARTY.WeaponType.SmokeShells*.
|
-- The weapon type to be used in the @{#ARTY.AssignTargetCoord}() function is *ARTY.WeaponType.SmokeShells*.
|
||||||
--
|
--
|
||||||
-- The explosive shell the group fired is destroyed shortly before its impact on the ground and smoke of the speficied color is triggered at that position.
|
-- The explosive shell the group fired is destroyed shortly before its impact on the ground and smoke of the specified color is triggered at that position.
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
-- ## Assignments via Markers on F10 Map
|
-- ## Assignments via Markers on F10 Map
|
||||||
@ -320,15 +320,15 @@
|
|||||||
-- ### Target Assignments
|
-- ### Target Assignments
|
||||||
-- A new target can be assigned by writing **arty engage** in the marker text.
|
-- A new target can be assigned by writing **arty engage** in the marker text.
|
||||||
-- This is followed by a **comma separated list** of (optional) keywords and parameters.
|
-- This is followed by a **comma separated list** of (optional) keywords and parameters.
|
||||||
-- First, it is important to address the ARTY group or groups that should engage. This can be done in numrous ways. The keywords are *battery*, *alias*, *cluster*.
|
-- First, it is important to address the ARTY group or groups that should engage. This can be done in numerous ways. The keywords are *battery*, *alias*, *cluster*.
|
||||||
-- It is also possible to address all ARTY groups by the keyword *everyone* or *allbatteries*. These two can be used synonymously.
|
-- It is also possible to address all ARTY groups by the keyword *everyone* or *allbatteries*. These two can be used synonymously.
|
||||||
-- **Note that**, if no battery is assigned nothing will happen.
|
-- **Note that**, if no battery is assigned nothing will happen.
|
||||||
--
|
--
|
||||||
-- * *everyone* or *allbatteries* The target is assigned to all batteries.
|
-- * *everyone* or *allbatteries* The target is assigned to all batteries.
|
||||||
-- * *battery* Name of the ARTY group that the target is assigned to. Note that **the name is case sensitive** and has to be given in quotation marks. Default is all ARTY groups of the right coalition.
|
-- * *battery* Name of the ARTY group that the target is assigned to. Note that **the name is case sensitive** and has to be given in quotation marks. Default is all ARTY groups of the right coalition.
|
||||||
-- * *alias* Alias of the ARTY group that the target is assigned to. The alias is **case sensitive** and needs to be in quotation marks.
|
-- * *alias* Alias of the ARTY group that the target is assigned to. The alias is **case sensitive** and needs to be in quotation marks.
|
||||||
-- * *cluster* The cluster of ARTY groups that is addessed. Clusters can be defined by the function @{#ARTY.AddToCluster}(*clusters*). Names are **case sensitive** and need to be in quotation marks.
|
-- * *cluster* The cluster of ARTY groups that is addressed. Clusters can be defined by the function @{#ARTY.AddToCluster}(*clusters*). Names are **case sensitive** and need to be in quotation marks.
|
||||||
-- * *key* A number to authorize the target assignment. Only specifing the correct number will trigger an engagement.
|
-- * *key* A number to authorize the target assignment. Only specifying the correct number will trigger an engagement.
|
||||||
-- * *time* Time for which which the engagement is schedules, e.g. 08:42. Default is as soon as possible.
|
-- * *time* Time for which which the engagement is schedules, e.g. 08:42. Default is as soon as possible.
|
||||||
-- * *prio* Priority of the engagement as number between 1 (high prio) and 100 (low prio). Default is 50, i.e. medium priority.
|
-- * *prio* Priority of the engagement as number between 1 (high prio) and 100 (low prio). Default is 50, i.e. medium priority.
|
||||||
-- * *shots* Number of shots (shells, rockets or missiles) fired at each engagement. Default is 5.
|
-- * *shots* Number of shots (shells, rockets or missiles) fired at each engagement. Default is 5.
|
||||||
@ -353,8 +353,8 @@
|
|||||||
-- arty engage, battery "Paladin Alpha", weapon nukes, shots 1, time 20:15
|
-- arty engage, battery "Paladin Alpha", weapon nukes, shots 1, time 20:15
|
||||||
-- arty engage, battery "Horwitzer 1", lldms 41:51:00N 41:47:58E
|
-- arty engage, battery "Horwitzer 1", lldms 41:51:00N 41:47:58E
|
||||||
--
|
--
|
||||||
-- Note that the keywords and parameters are *case insensitve*. Only exception are the battery, alias and cluster names.
|
-- Note that the keywords and parameters are *case insensitive*. Only exception are the battery, alias and cluster names.
|
||||||
-- These must be exactly the same as the names of the goups defined in the mission editor or the aliases and cluster names defined in the script.
|
-- These must be exactly the same as the names of the groups defined in the mission editor or the aliases and cluster names defined in the script.
|
||||||
--
|
--
|
||||||
-- ### Relocation Assignments
|
-- ### Relocation Assignments
|
||||||
--
|
--
|
||||||
@ -363,11 +363,11 @@
|
|||||||
-- * *time* Time for which which the relocation/move is schedules, e.g. 08:42. Default is as soon as possible.
|
-- * *time* Time for which which the relocation/move is schedules, e.g. 08:42. Default is as soon as possible.
|
||||||
-- * *speed* The speed in km/h the group will drive at. Default is 70% of its max possible speed.
|
-- * *speed* The speed in km/h the group will drive at. Default is 70% of its max possible speed.
|
||||||
-- * *on road* Group will use mainly roads. Default is off, i.e. it will go in a straight line from its current position to the assigned coordinate.
|
-- * *on road* Group will use mainly roads. Default is off, i.e. it will go in a straight line from its current position to the assigned coordinate.
|
||||||
-- * *canceltarget* Group will cancel all running firing engagements and immidiately start to move. Default is that group will wait until is current assignment is over.
|
-- * *canceltarget* Group will cancel all running firing engagements and immediately start to move. Default is that group will wait until is current assignment is over.
|
||||||
-- * *battery* Name of the ARTY group that the relocation is assigned to.
|
-- * *battery* Name of the ARTY group that the relocation is assigned to.
|
||||||
-- * *alias* Alias of the ARTY group that the target is assigned to. The alias is **case sensitive** and needs to be in quotation marks.
|
-- * *alias* Alias of the ARTY group that the target is assigned to. The alias is **case sensitive** and needs to be in quotation marks.
|
||||||
-- * *cluster* The cluster of ARTY groups that is addessed. Clusters can be defined by the function @{#ARTY.AddToCluster}(*clusters*). Names are **case sensitive** and need to be in quotation marks.
|
-- * *cluster* The cluster of ARTY groups that is addressed. Clusters can be defined by the function @{#ARTY.AddToCluster}(*clusters*). Names are **case sensitive** and need to be in quotation marks.
|
||||||
-- * *key* A number to authorize the target assignment. Only specifing the correct number will trigger an engagement.
|
-- * *key* A number to authorize the target assignment. Only specifying the correct number will trigger an engagement.
|
||||||
-- * *lldms* Specify the coordinates in Lat/Long degrees, minutes and seconds format. The actual location of the marker is unimportant. The group will move to the coordinates given in the lldms keyword.
|
-- * *lldms* Specify the coordinates in Lat/Long degrees, minutes and seconds format. The actual location of the marker is unimportant. The group will move to the coordinates given in the lldms keyword.
|
||||||
-- Format is DD:MM:SS[N,S] DD:MM:SS[W,E]. See example below.
|
-- Format is DD:MM:SS[N,S] DD:MM:SS[W,E]. See example below.
|
||||||
-- * *readonly* Marker cannot be deleted by users any more. Hence, assignment cannot be cancelled by removing the marker.
|
-- * *readonly* Marker cannot be deleted by users any more. Hence, assignment cannot be cancelled by removing the marker.
|
||||||
@ -410,12 +410,12 @@
|
|||||||
--
|
--
|
||||||
-- A few options can be set by marks. The corresponding keyword is **arty set**. This can be used to define the rearming place and group for a battery.
|
-- A few options can be set by marks. The corresponding keyword is **arty set**. This can be used to define the rearming place and group for a battery.
|
||||||
--
|
--
|
||||||
-- To set the reamring place of a group at the marker position type
|
-- To set the rearming place of a group at the marker position type
|
||||||
-- arty set, battery "Paladin Alpha", rearming place
|
-- arty set, battery "Paladin Alpha", rearming place
|
||||||
--
|
--
|
||||||
-- Setting the rearming group is independent of the position of the mark. Just create one anywhere on the map and type
|
-- Setting the rearming group is independent of the position of the mark. Just create one anywhere on the map and type
|
||||||
-- arty set, battery "Mortar Bravo", rearming group "Ammo Truck M818"
|
-- arty set, battery "Mortar Bravo", rearming group "Ammo Truck M818"
|
||||||
-- Note that the name of the rearming group has to be given in quotation marks and spellt exactly as the group name defined in the mission editor.
|
-- Note that the name of the rearming group has to be given in quotation marks and spelt exactly as the group name defined in the mission editor.
|
||||||
--
|
--
|
||||||
-- ## Transporting
|
-- ## Transporting
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Functional** -- Keep airbases clean of crashing or colliding airplanes, and kill missiles when being fired at airbases.
|
--- **Functional** - Keep airbases clean of crashing or colliding airplanes, and kill missiles when being fired at airbases.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Functional** -- Management of target **Designation**. Lase, smoke and illuminate targets.
|
--- **Functional** - Management of target **Designation**. Lase, smoke and illuminate targets.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Functional** -- Models the detection of enemy units by FACs or RECCEs and group them according various methods.
|
--- **Functional** - Models the detection of enemy units by FACs or RECCEs and group them according various methods.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,3 +1,6 @@
|
|||||||
|
--- **Functional** - Captures the class DETECTION_ZONES.
|
||||||
|
-- @module Functional.DetectionZones
|
||||||
|
|
||||||
do -- DETECTION_ZONES
|
do -- DETECTION_ZONES
|
||||||
|
|
||||||
--- @type DETECTION_ZONES
|
--- @type DETECTION_ZONES
|
||||||
@ -40,27 +43,27 @@ do -- DETECTION_ZONES
|
|||||||
ClassName = "DETECTION_ZONES",
|
ClassName = "DETECTION_ZONES",
|
||||||
DetectionZoneRange = nil,
|
DetectionZoneRange = nil,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
--- DETECTION_ZONES constructor.
|
--- DETECTION_ZONES constructor.
|
||||||
-- @param #DETECTION_ZONES self
|
-- @param #DETECTION_ZONES self
|
||||||
-- @param Core.Set#SET_ZONE DetectionSetZone The @{Set} of ZONE_RADIUS.
|
-- @param Core.Set#SET_ZONE DetectionSetZone The @{Set} of ZONE_RADIUS.
|
||||||
-- @param DCS#Coalition.side DetectionCoalition The coalition of the detection.
|
-- @param DCS#Coalition.side DetectionCoalition The coalition of the detection.
|
||||||
-- @return #DETECTION_ZONES
|
-- @return #DETECTION_ZONES
|
||||||
function DETECTION_ZONES:New( DetectionSetZone, DetectionCoalition )
|
function DETECTION_ZONES:New( DetectionSetZone, DetectionCoalition )
|
||||||
|
|
||||||
-- Inherits from DETECTION_BASE
|
-- Inherits from DETECTION_BASE
|
||||||
local self = BASE:Inherit( self, DETECTION_BASE:New( DetectionSetZone ) ) -- #DETECTION_ZONES
|
local self = BASE:Inherit( self, DETECTION_BASE:New( DetectionSetZone ) ) -- #DETECTION_ZONES
|
||||||
|
|
||||||
self.DetectionSetZone = DetectionSetZone -- Core.Set#SET_ZONE
|
self.DetectionSetZone = DetectionSetZone -- Core.Set#SET_ZONE
|
||||||
self.DetectionCoalition = DetectionCoalition
|
self.DetectionCoalition = DetectionCoalition
|
||||||
|
|
||||||
self._SmokeDetectedUnits = false
|
self._SmokeDetectedUnits = false
|
||||||
self._FlareDetectedUnits = false
|
self._FlareDetectedUnits = false
|
||||||
self._SmokeDetectedZones = false
|
self._SmokeDetectedZones = false
|
||||||
self._FlareDetectedZones = false
|
self._FlareDetectedZones = false
|
||||||
self._BoundDetectedZones = false
|
self._BoundDetectedZones = false
|
||||||
|
|
||||||
return self
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Functional** -- Taking the lead of AI escorting your flight.
|
--- **Functional** - Taking the lead of AI escorting your flight.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
-- ### Author: **funkyfranky**
|
-- ### Author: **funkyfranky**
|
||||||
-- @module Functional.FOX
|
-- @module Functional.Fox
|
||||||
-- @image Functional_FOX.png
|
-- @image Functional_FOX.png
|
||||||
|
|
||||||
--- FOX class.
|
--- FOX class.
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Functional** -- Modular, Automatic and Network capable Targeting and Interception System for Air Defenses
|
--- **Functional** - Modular, Automatic and Network capable Targeting and Interception System for Air Defenses
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Functional** -- Train missile defence and deflection.
|
--- **Functional** - Train missile defence and deflection.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Functional** -- Limit the movement of simulaneous moving ground vehicles.
|
--- **Functional** - Limit the movement of simulaneous moving ground vehicles.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -51,7 +51,7 @@
|
|||||||
-- ### Contributions: [FlightControl](https://forums.eagle.ru/member.php?u=89536)
|
-- ### Contributions: [FlightControl](https://forums.eagle.ru/member.php?u=89536)
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
-- @module Functional.Rat
|
-- @module Functional.RAT
|
||||||
-- @image RAT.JPG
|
-- @image RAT.JPG
|
||||||
|
|
||||||
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Functional** -- Make SAM sites execute evasive and defensive behaviour when being fired upon.
|
--- **Functional** - Make SAM sites execute evasive and defensive behaviour when being fired upon.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Functional** -- Short Range Air Defense System
|
--- **Functional** - Short Range Air Defense System
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1274,7 +1274,7 @@
|
|||||||
--
|
--
|
||||||
-- ## Example 13: Battlefield Air Interdiction
|
-- ## Example 13: Battlefield Air Interdiction
|
||||||
--
|
--
|
||||||
-- This example show how to couple the WAREHOUSE class with the @{AI.AI_Bai} class.
|
-- This example show how to couple the WAREHOUSE class with the @{AI.AI_BAI} class.
|
||||||
-- Four enemy targets have been located at the famous Kobuleti X. All three available Viggen 2-ship flights are assigned to kill at least one of the BMPs to complete their mission.
|
-- Four enemy targets have been located at the famous Kobuleti X. All three available Viggen 2-ship flights are assigned to kill at least one of the BMPs to complete their mission.
|
||||||
--
|
--
|
||||||
-- -- Start Warehouse at Kobuleti.
|
-- -- Start Warehouse at Kobuleti.
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Functional** -- Models the process to zone guarding and capturing.
|
--- **Functional** - Models the process to zone guarding and capturing.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Functional (WIP)** -- Base class that models processes to achieve goals involving a Zone.
|
--- **Functional (WIP)** - Base class that models processes to achieve goals involving a Zone.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Functional (WIP)** -- Base class that models processes to achieve goals involving a Zone and Cargo.
|
--- **Functional (WIP)** - Base class that models processes to achieve goals involving a Zone and Cargo.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Functional (WIP)** -- Base class that models processes to achieve goals involving a Zone for a Coalition.
|
--- **Functional (WIP)** - Base class that models processes to achieve goals involving a Zone for a Coalition.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -46,7 +46,7 @@
|
|||||||
--
|
--
|
||||||
-- ### Author: **funkyfranky**
|
-- ### Author: **funkyfranky**
|
||||||
--
|
--
|
||||||
-- @module Ops.Atis
|
-- @module Ops.ATIS
|
||||||
-- @image OPS_ATIS.png
|
-- @image OPS_ATIS.png
|
||||||
|
|
||||||
--- ATIS class.
|
--- ATIS class.
|
||||||
@ -1047,7 +1047,7 @@ end
|
|||||||
-- Or you make your life simple and just include the sign so you don't have to bother about East/West.
|
-- Or you make your life simple and just include the sign so you don't have to bother about East/West.
|
||||||
--
|
--
|
||||||
-- @param #ATIS self
|
-- @param #ATIS self
|
||||||
-- @param #number magvar Magnetic variation in degrees. Positive for easterly and negative for westerly variation. Default is magnatic declinaton of the used map, c.f. @{Utilities.UTils#UTILS.GetMagneticDeclination}.
|
-- @param #number magvar Magnetic variation in degrees. Positive for easterly and negative for westerly variation. Default is magnatic declinaton of the used map, c.f. @{Utilities.Utils#UTILS.GetMagneticDeclination}.
|
||||||
-- @return #ATIS self
|
-- @return #ATIS self
|
||||||
function ATIS:SetMagneticDeclination( magvar )
|
function ATIS:SetMagneticDeclination( magvar )
|
||||||
self.magvar = magvar or UTILS.GetMagneticDeclination()
|
self.magvar = magvar or UTILS.GetMagneticDeclination()
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Ops** -- Combat Search and Rescue.
|
--- **Ops** - Combat Search and Rescue.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Ops** -- Combat Troops & Logistics Department.
|
--- **Ops** - Combat Troops & Logistics Department.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -26,7 +26,7 @@
|
|||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
-- ### Author: **funkyfranky**
|
-- ### Author: **funkyfranky**
|
||||||
-- @module Sound.MSRS
|
-- @module Sound.SRS
|
||||||
-- @image Sound_MSRS.png
|
-- @image Sound_MSRS.png
|
||||||
|
|
||||||
--- MSRS class.
|
--- MSRS class.
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Tasking** -- A command center governs multiple missions, and takes care of the reporting and communications.
|
--- **Tasking** - A command center governs multiple missions, and takes care of the reporting and communications.
|
||||||
--
|
--
|
||||||
-- **Features:**
|
-- **Features:**
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Tasking** -- A mission models a goal to be achieved through the execution and completion of tasks by human players.
|
--- **Tasking** - A mission models a goal to be achieved through the execution and completion of tasks by human players.
|
||||||
--
|
--
|
||||||
-- **Features:**
|
-- **Features:**
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Tasking** -- A task object governs the main engine to administer human taskings.
|
--- **Tasking** - A task object governs the main engine to administer human taskings.
|
||||||
--
|
--
|
||||||
-- **Features:**
|
-- **Features:**
|
||||||
--
|
--
|
||||||
@ -262,8 +262,8 @@
|
|||||||
--
|
--
|
||||||
-- ## 1.3) Cargo Tasks
|
-- ## 1.3) Cargo Tasks
|
||||||
--
|
--
|
||||||
-- - @{Tasking.Task_Cargo#TASK_CARGO_TRANSPORT} - Models the transportation of cargo to deployment zones.
|
-- - @{Tasking.Task_CARGO#TASK_CARGO_TRANSPORT} - Models the transportation of cargo to deployment zones.
|
||||||
-- - @{Tasking.Task_Cargo#TASK_CARGO_CSAR} - Models the rescue of downed friendly pilots from behind enemy lines.
|
-- - @{Tasking.Task_CARGO#TASK_CARGO_CSAR} - Models the rescue of downed friendly pilots from behind enemy lines.
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
-- # 2) Task status events.
|
-- # 2) Task status events.
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Tasking** -- Controls the information of a Task.
|
--- **Tasking** - Controls the information of a Task.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Tasking** -- Dynamically allocates A2G tasks to human players, based on detected ground targets through reconnaissance.
|
--- **Tasking** - Dynamically allocates A2G tasks to human players, based on detected ground targets through reconnaissance.
|
||||||
--
|
--
|
||||||
-- **Features:**
|
-- **Features:**
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,11 +1,11 @@
|
|||||||
--- **Tasking** -- Base class to model tasks for players to transport cargo.
|
--- **Tasking** - Base class to model tasks for players to transport cargo.
|
||||||
--
|
--
|
||||||
-- ## Features:
|
-- ## Features:
|
||||||
--
|
--
|
||||||
-- * TASK_CARGO is the **base class** for:
|
-- * TASK_CARGO is the **base class** for:
|
||||||
--
|
--
|
||||||
-- * @{Tasking.Task_Cargo_Transport#TASK_CARGO_TRANSPORT}
|
-- * @{Tasking.Task_Cargo_Transport#TASK_CARGO_TRANSPORT}
|
||||||
-- * @{Tasking.Task_Cargo_CSAR#TASK_CARGO_CSAR}
|
-- * @{Tasking.Task_CARGO_CSAR#TASK_CARGO_CSAR}
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
@ -34,7 +34,7 @@
|
|||||||
-- The following TASK_CARGO_ classes are important, as they implement the CONCRETE tasks:
|
-- The following TASK_CARGO_ classes are important, as they implement the CONCRETE tasks:
|
||||||
--
|
--
|
||||||
-- * @{Tasking.Task_Cargo_Transport#TASK_CARGO_TRANSPORT}: Defines a task for a human player to transport a set of cargo between various zones.
|
-- * @{Tasking.Task_Cargo_Transport#TASK_CARGO_TRANSPORT}: Defines a task for a human player to transport a set of cargo between various zones.
|
||||||
-- * @{Tasking.Task_Cargo_CSAR#TASK_CARGO_CSAR}: Defines a task for a human player to Search and Rescue wounded pilots.
|
-- * @{Tasking.Task_CARGO_CSAR#TASK_CARGO_CSAR}: Defines a task for a human player to Search and Rescue wounded pilots.
|
||||||
--
|
--
|
||||||
-- However! The menu system and basic usage of the TASK_CARGO classes is explained in the @{#TASK_CARGO} class description.
|
-- However! The menu system and basic usage of the TASK_CARGO classes is explained in the @{#TASK_CARGO} class description.
|
||||||
-- So please browse further below to understand how to use it from a player perspective!
|
-- So please browse further below to understand how to use it from a player perspective!
|
||||||
@ -387,9 +387,9 @@
|
|||||||
--
|
--
|
||||||
-- Please consult the documentation how to implement the derived classes of SET_CARGO in:
|
-- Please consult the documentation how to implement the derived classes of SET_CARGO in:
|
||||||
--
|
--
|
||||||
-- - @{Tasking.Task_Cargo#TASK_CARGO}: Documents the main methods how to handle the cargo tasking from a mission designer perspective.
|
-- - @{Tasking.Task_CARGO#TASK_CARGO}: Documents the main methods how to handle the cargo tasking from a mission designer perspective.
|
||||||
-- - @{Tasking.Task_Cargo#TASK_CARGO_TRANSPORT}: Documents the specific methods how to handle the cargo transportation tasking from a mission designer perspective.
|
-- - @{Tasking.Task_CARGO#TASK_CARGO_TRANSPORT}: Documents the specific methods how to handle the cargo transportation tasking from a mission designer perspective.
|
||||||
-- - @{Tasking.Task_Cargo#TASK_CARGO_CSAR}: Documents the specific methods how to handle the cargo CSAR tasking from a mission designer perspective.
|
-- - @{Tasking.Task_CARGO#TASK_CARGO_CSAR}: Documents the specific methods how to handle the cargo CSAR tasking from a mission designer perspective.
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
@ -400,7 +400,7 @@
|
|||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
-- @module Tasking.Task_Cargo
|
-- @module Tasking.Task_CARGO
|
||||||
-- @image MOOSE.JPG
|
-- @image MOOSE.JPG
|
||||||
|
|
||||||
do -- TASK_CARGO
|
do -- TASK_CARGO
|
||||||
@ -438,8 +438,8 @@ do -- TASK_CARGO
|
|||||||
--
|
--
|
||||||
-- ### 2.1.1) Cargo Tasks
|
-- ### 2.1.1) Cargo Tasks
|
||||||
--
|
--
|
||||||
-- - @{Tasking.Task_Cargo#TASK_CARGO_TRANSPORT} - Models the transportation of cargo to deployment zones.
|
-- - @{Tasking.Task_CARGO#TASK_CARGO_TRANSPORT} - Models the transportation of cargo to deployment zones.
|
||||||
-- - @{Tasking.Task_Cargo#TASK_CARGO_CSAR} - Models the rescue of downed friendly pilots from behind enemy lines.
|
-- - @{Tasking.Task_CARGO#TASK_CARGO_CSAR} - Models the rescue of downed friendly pilots from behind enemy lines.
|
||||||
--
|
--
|
||||||
-- ## 2.2) Handle TASK_CARGO Events ...
|
-- ## 2.2) Handle TASK_CARGO Events ...
|
||||||
--
|
--
|
||||||
|
|||||||
@ -54,7 +54,7 @@
|
|||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
-- @module Tasking.Task_Zone_Capture_Dispatcher
|
-- @module Tasking.Task_Capture_Dispatcher
|
||||||
-- @image MOOSE.JPG
|
-- @image MOOSE.JPG
|
||||||
|
|
||||||
do -- TASK_CAPTURE_DISPATCHER
|
do -- TASK_CAPTURE_DISPATCHER
|
||||||
|
|||||||
@ -8,14 +8,14 @@
|
|||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
-- @module Tasking.TaskZoneCapture
|
-- @module Tasking.Task_Capture_Zone
|
||||||
-- @image MOOSE.JPG
|
-- @image MOOSE.JPG
|
||||||
|
|
||||||
do -- TASK_ZONE_GOAL
|
do -- TASK_ZONE_GOAL
|
||||||
|
|
||||||
--- The TASK_ZONE_GOAL class
|
--- The TASK_ZONE_GOAL class
|
||||||
-- @type TASK_ZONE_GOAL
|
-- @type TASK_ZONE_GOAL
|
||||||
-- @field Core.ZoneGoal#ZONE_GOAL ZoneGoal
|
-- @field Functional.ZoneGoal#ZONE_GOAL ZoneGoal
|
||||||
-- @extends Tasking.Task#TASK
|
-- @extends Tasking.Task#TASK
|
||||||
|
|
||||||
--- # TASK_ZONE_GOAL class, extends @{Tasking.Task#TASK}
|
--- # TASK_ZONE_GOAL class, extends @{Tasking.Task#TASK}
|
||||||
@ -47,7 +47,7 @@ do -- TASK_ZONE_GOAL
|
|||||||
-- @param Tasking.Mission#MISSION Mission
|
-- @param Tasking.Mission#MISSION Mission
|
||||||
-- @param Core.Set#SET_GROUP SetGroup The set of groups for which the Task can be assigned.
|
-- @param Core.Set#SET_GROUP SetGroup The set of groups for which the Task can be assigned.
|
||||||
-- @param #string TaskName The name of the Task.
|
-- @param #string TaskName The name of the Task.
|
||||||
-- @param Core.ZoneGoalCoalition#ZONE_GOAL_COALITION ZoneGoal
|
-- @param Functional.ZoneGoalCoalition#ZONE_GOAL_COALITION ZoneGoal
|
||||||
-- @return #TASK_ZONE_GOAL self
|
-- @return #TASK_ZONE_GOAL self
|
||||||
function TASK_ZONE_GOAL:New( Mission, SetGroup, TaskName, ZoneGoal, TaskType, TaskBriefing )
|
function TASK_ZONE_GOAL:New( Mission, SetGroup, TaskName, ZoneGoal, TaskType, TaskBriefing )
|
||||||
local self = BASE:Inherit( self, TASK:New( Mission, SetGroup, TaskName, TaskType, TaskBriefing ) ) -- #TASK_ZONE_GOAL
|
local self = BASE:Inherit( self, TASK:New( Mission, SetGroup, TaskName, TaskType, TaskBriefing ) ) -- #TASK_ZONE_GOAL
|
||||||
@ -115,10 +115,10 @@ do -- TASK_ZONE_GOAL
|
|||||||
end
|
end
|
||||||
|
|
||||||
--- @param #TASK_ZONE_GOAL self
|
--- @param #TASK_ZONE_GOAL self
|
||||||
-- @param Core.ZoneGoal#ZONE_GOAL ZoneGoal The ZoneGoal Engine.
|
-- @param Functional.ZoneGoal#ZONE_GOAL ZoneGoal The ZoneGoal Engine.
|
||||||
function TASK_ZONE_GOAL:SetProtect( ZoneGoal )
|
function TASK_ZONE_GOAL:SetProtect( ZoneGoal )
|
||||||
|
|
||||||
self.ZoneGoal = ZoneGoal -- Core.ZoneGoal#ZONE_GOAL
|
self.ZoneGoal = ZoneGoal -- Functional.ZoneGoal#ZONE_GOAL
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
@ -169,10 +169,10 @@ do -- TASK_CAPTURE_ZONE
|
|||||||
|
|
||||||
--- The TASK_CAPTURE_ZONE class
|
--- The TASK_CAPTURE_ZONE class
|
||||||
-- @type TASK_CAPTURE_ZONE
|
-- @type TASK_CAPTURE_ZONE
|
||||||
-- @field Core.ZoneGoalCoalition#ZONE_GOAL_COALITION ZoneGoal
|
-- @field Functional.ZoneGoalCoalition#ZONE_GOAL_COALITION ZoneGoal
|
||||||
-- @extends #TASK_ZONE_GOAL
|
-- @extends #TASK_ZONE_GOAL
|
||||||
|
|
||||||
--- # TASK_CAPTURE_ZONE class, extends @{Tasking.TaskZoneGoal#TASK_ZONE_GOAL}
|
--- # TASK_CAPTURE_ZONE class, extends @{Tasking.Task_Capture_Zone#TASK_ZONE_GOAL}
|
||||||
--
|
--
|
||||||
-- The TASK_CAPTURE_ZONE class defines an Suppression or Extermination of Air Defenses task for a human player to be executed.
|
-- The TASK_CAPTURE_ZONE class defines an Suppression or Extermination of Air Defenses task for a human player to be executed.
|
||||||
-- These tasks are important to be executed as they will help to achieve air superiority at the vicinity.
|
-- These tasks are important to be executed as they will help to achieve air superiority at the vicinity.
|
||||||
@ -191,7 +191,7 @@ do -- TASK_CAPTURE_ZONE
|
|||||||
-- @param Tasking.Mission#MISSION Mission
|
-- @param Tasking.Mission#MISSION Mission
|
||||||
-- @param Core.Set#SET_GROUP SetGroup The set of groups for which the Task can be assigned.
|
-- @param Core.Set#SET_GROUP SetGroup The set of groups for which the Task can be assigned.
|
||||||
-- @param #string TaskName The name of the Task.
|
-- @param #string TaskName The name of the Task.
|
||||||
-- @param Core.ZoneGoalCoalition#ZONE_GOAL_COALITION ZoneGoalCoalition
|
-- @param Functional.ZoneGoalCoalition#ZONE_GOAL_COALITION ZoneGoalCoalition
|
||||||
-- @param #string TaskBriefing The briefing of the task.
|
-- @param #string TaskBriefing The briefing of the task.
|
||||||
-- @return #TASK_CAPTURE_ZONE self
|
-- @return #TASK_CAPTURE_ZONE self
|
||||||
function TASK_CAPTURE_ZONE:New( Mission, SetGroup, TaskName, ZoneGoalCoalition, TaskBriefing)
|
function TASK_CAPTURE_ZONE:New( Mission, SetGroup, TaskName, ZoneGoalCoalition, TaskBriefing)
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Tasking** -- Orchestrates the task for players to execute CSAR for downed pilots.
|
--- **Tasking** - Orchestrates the task for players to execute CSAR for downed pilots.
|
||||||
--
|
--
|
||||||
-- **Specific features:**
|
-- **Specific features:**
|
||||||
--
|
--
|
||||||
@ -44,7 +44,7 @@
|
|||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
-- Please read through the @{Tasking.Task_Cargo} process to understand the mechanisms of tasking and cargo tasking and handling.
|
-- Please read through the @{Tasking.Task_CARGO} process to understand the mechanisms of tasking and cargo tasking and handling.
|
||||||
--
|
--
|
||||||
-- The cargo will be a downed pilot, which is located somwhere on the battlefield. Use the menus system and facilities to
|
-- The cargo will be a downed pilot, which is located somwhere on the battlefield. Use the menus system and facilities to
|
||||||
-- join the CSAR task, and retrieve the pilot from behind enemy lines. The menu system is generic, there is nothing
|
-- join the CSAR task, and retrieve the pilot from behind enemy lines. The menu system is generic, there is nothing
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Tasking** -- Models tasks for players to transport cargo.
|
--- **Tasking** - Models tasks for players to transport cargo.
|
||||||
--
|
--
|
||||||
-- **Specific features:**
|
-- **Specific features:**
|
||||||
--
|
--
|
||||||
|
|||||||
@ -13,7 +13,7 @@
|
|||||||
--
|
--
|
||||||
-- Other Moose classes also have enumerators. For example, the AIRBASE class has enumerators for airbase names.
|
-- Other Moose classes also have enumerators. For example, the AIRBASE class has enumerators for airbase names.
|
||||||
--
|
--
|
||||||
-- @module ENUMS
|
-- @module Utilities.Enums
|
||||||
-- @image MOOSE.JPG
|
-- @image MOOSE.JPG
|
||||||
|
|
||||||
--- [DCS Enum world](https://wiki.hoggitworld.com/view/DCS_enum_world)
|
--- [DCS Enum world](https://wiki.hoggitworld.com/view/DCS_enum_world)
|
||||||
|
|||||||
@ -10,7 +10,7 @@
|
|||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
-- ### Author: **applevangelist**
|
-- ### Author: **applevangelist**
|
||||||
-- @module Utils.FiFo
|
-- @module Utilities.FiFo
|
||||||
-- @image MOOSE.JPG
|
-- @image MOOSE.JPG
|
||||||
|
|
||||||
-- Date: April 2022
|
-- Date: April 2022
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
--
|
--
|
||||||
-- ### Author: **TAW CougarNL**, *funkyfranky*
|
-- ### Author: **TAW CougarNL**, *funkyfranky*
|
||||||
--
|
--
|
||||||
-- @module Utilities.PROFILER
|
-- @module Utilities.Profiler
|
||||||
-- @image Utils_Profiler.jpg
|
-- @image Utils_Profiler.jpg
|
||||||
|
|
||||||
--- PROFILER class.
|
--- PROFILER class.
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
--- Various routines
|
--- Various routines
|
||||||
-- @module routines
|
-- @module Utilities.Routines
|
||||||
-- @image MOOSE.JPG
|
-- @image MOOSE.JPG
|
||||||
env.setErrorMessageBoxEnabled( false )
|
env.setErrorMessageBoxEnabled( false )
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
--- **Utilities** DCS Simple Text-To-Speech (STTS).
|
--- **Utilities** DCS Simple Text-To-Speech (STTS).
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
-- @module Utils.STTS
|
-- @module Utilities.STTS
|
||||||
-- @image MOOSE.JPG
|
-- @image MOOSE.JPG
|
||||||
|
|
||||||
--- [DCS Enum world](https://wiki.hoggitworld.com/view/DCS_enum_world)
|
--- [DCS Enum world](https://wiki.hoggitworld.com/view/DCS_enum_world)
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
-- * FlightControl : Rework to OO framework.
|
-- * FlightControl : Rework to OO framework.
|
||||||
-- * And many more
|
-- * And many more
|
||||||
--
|
--
|
||||||
-- @module Utils
|
-- @module Utilities.Utils
|
||||||
-- @image MOOSE.JPG
|
-- @image MOOSE.JPG
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Wrapper** -- AIRBASE is a wrapper class to handle the DCS Airbase objects.
|
--- **Wrapper** - AIRBASE is a wrapper class to handle the DCS Airbase objects.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Wrapper** -- CLIENT wraps DCS Unit objects acting as a __Client__ or __Player__ within a mission.
|
--- **Wrapper** - CLIENT wraps DCS Unit objects acting as a __Client__ or __Player__ within a mission.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
@ -58,7 +58,7 @@
|
|||||||
-- * @{#CLIENT.Find}(): Find a CLIENT instance from the _DATABASE object using a DCS Unit object.
|
-- * @{#CLIENT.Find}(): Find a CLIENT instance from the _DATABASE object using a DCS Unit object.
|
||||||
-- * @{#CLIENT.FindByName}(): Find a CLIENT instance from the _DATABASE object using a DCS Unit name.
|
-- * @{#CLIENT.FindByName}(): Find a CLIENT instance from the _DATABASE object using a DCS Unit name.
|
||||||
--
|
--
|
||||||
-- **IMPORTANT: ONE SHOULD NEVER SANATIZE these CLIENT OBJECT REFERENCES! (make the CLIENT object references nil).**
|
-- **IMPORTANT: ONE SHOULD NEVER SANITIZE these CLIENT OBJECT REFERENCES! (make the CLIENT object references nil).**
|
||||||
--
|
--
|
||||||
-- @field #CLIENT
|
-- @field #CLIENT
|
||||||
CLIENT = {
|
CLIENT = {
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Wrapper** -- CONTROLLABLE is an intermediate class wrapping Group and Unit classes "controllers".
|
--- **Wrapper** - CONTROLLABLE is an intermediate class wrapping Group and Unit classes "controllers".
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Wrapper** -- GROUP wraps the DCS Class Group objects.
|
--- **Wrapper** - GROUP wraps the DCS Class Group objects.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
@ -11,7 +11,7 @@
|
|||||||
-- * Handle local Group Controller.
|
-- * Handle local Group Controller.
|
||||||
-- * Manage the "state" of the DCS Group.
|
-- * Manage the "state" of the DCS Group.
|
||||||
--
|
--
|
||||||
-- **IMPORTANT: ONE SHOULD NEVER SANATIZE these GROUP OBJECT REFERENCES! (make the GROUP object references nil).**
|
-- **IMPORTANT: ONE SHOULD NEVER SANITIZE these GROUP OBJECT REFERENCES! (make the GROUP object references nil).**
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Wrapper** -- IDENTIFIABLE is an intermediate class wrapping DCS Object class derived Objects.
|
--- **Wrapper** - IDENTIFIABLE is an intermediate class wrapping DCS Object class derived Objects.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Wrapper** -- OBJECT wraps the DCS Object derived objects.
|
--- **Wrapper** - OBJECT wraps the DCS Object derived objects.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Wrapper** -- POSITIONABLE wraps DCS classes that are "positionable".
|
--- **Wrapper** - POSITIONABLE wraps DCS classes that are "positionable".
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Wrapper** -- SCENERY models scenery within the DCS simulator.
|
--- **Wrapper** - SCENERY models scenery within the DCS simulator.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- **Wrapper** -- STATIC wraps the DCS StaticObject class.
|
--- **Wrapper** - STATIC wraps the DCS StaticObject class.
|
||||||
--
|
--
|
||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
@ -40,7 +40,7 @@
|
|||||||
--
|
--
|
||||||
-- * @{#STATIC.FindByName}(): Find a STATIC instance from the _DATABASE object using a DCS Static name.
|
-- * @{#STATIC.FindByName}(): Find a STATIC instance from the _DATABASE object using a DCS Static name.
|
||||||
--
|
--
|
||||||
-- IMPORTANT: ONE SHOULD NEVER SANATIZE these STATIC OBJECT REFERENCES! (make the STATIC object references nil).
|
-- IMPORTANT: ONE SHOULD NEVER SANITIZE these STATIC OBJECT REFERENCES! (make the STATIC object references nil).
|
||||||
--
|
--
|
||||||
-- @field #STATIC
|
-- @field #STATIC
|
||||||
STATIC = {
|
STATIC = {
|
||||||
|
|||||||
@ -42,7 +42,7 @@
|
|||||||
-- * @{#UNIT.Find}(): Find a UNIT instance from the _DATABASE object using a DCS Unit object.
|
-- * @{#UNIT.Find}(): Find a UNIT instance from the _DATABASE object using a DCS Unit object.
|
||||||
-- * @{#UNIT.FindByName}(): Find a UNIT instance from the _DATABASE object using a DCS Unit name.
|
-- * @{#UNIT.FindByName}(): Find a UNIT instance from the _DATABASE object using a DCS Unit name.
|
||||||
--
|
--
|
||||||
-- IMPORTANT: ONE SHOULD NEVER SANATIZE these UNIT OBJECT REFERENCES! (make the UNIT object references nil).
|
-- IMPORTANT: ONE SHOULD NEVER SANITIZE these UNIT OBJECT REFERENCES! (make the UNIT object references nil).
|
||||||
--
|
--
|
||||||
-- ## DCS UNIT APIs
|
-- ## DCS UNIT APIs
|
||||||
--
|
--
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user