Patch 2.2.2: Updated Scoring

* Disabled the logic of Fratricide until a DCS bug gets fixed by ED.
There is no workaround possible. Units containing a player cannot be
destroyed using Unit:destroy() API in multi player when the player is
seated in a Unit from a Client connected PC to the Server.
* By default, hit messages are disabled. They can be enabled by using
SCORING:SetMessagesHit().
This commit is contained in:
FlightControl_Master 2017-10-09 13:10:42 +02:00
parent 7c26e88345
commit 305cb3092e
17 changed files with 432 additions and 247 deletions

View File

@ -102,7 +102,9 @@
-- A mission has goals and achievements. The scoring system provides an API to set additional scores when a goal or achievement event happens.
-- Use the method @{#SCORING.AddGoalScore}() to add a score for a Player at any time in your mission.
--
-- ## 1.5) Configure fratricide level.
-- ## 1.5) (Decommissioned) Configure fratricide level.
--
-- **This functionality is decomissioned until the DCS bug concerning Unit:destroy() not being functional in multi player for player units has been fixed by ED**.
--
-- When a player commits too much damage to friendlies, his penalty score will reach a certain level.
-- Use the method @{#SCORING.SetFratricide}() to define the level when a player gets kicked.
@ -258,7 +260,7 @@ function SCORING:New( GameName )
-- Configure Messages
self:SetMessagesToAll()
self:SetMessagesHit( true )
self:SetMessagesHit( false )
self:SetMessagesDestroy( true )
self:SetMessagesScore( true )
self:SetMessagesZone( true )
@ -616,6 +618,7 @@ function SCORING:_AddPlayerFromUnit( UnitData )
UnitName, _SCORINGCoalition[UnitCoalition], _SCORINGCategory[UnitCategory], UnitData:GetTypeName() )
end
end
self.Players[PlayerName].UnitName = UnitName
self.Players[PlayerName].UnitCoalition = UnitCoalition
self.Players[PlayerName].UnitCategory = UnitCategory
@ -624,6 +627,8 @@ function SCORING:_AddPlayerFromUnit( UnitData )
self.Players[PlayerName].ThreatLevel = UnitThreatLevel
self.Players[PlayerName].ThreatType = UnitThreatType
-- TODO: DCS bug concerning Units with skill level client don't get destroyed in multi player. This logic is deactivated until this bug gets fixed.
--[[
if self.Players[PlayerName].Penalty > self.Fratricide * 0.50 then
if self.Players[PlayerName].PenaltyWarning < 1 then
MESSAGE:NewType( self.DisplayMessagePrefix .. "Player '" .. PlayerName .. "': WARNING! If you continue to commit FRATRICIDE and have a PENALTY score higher than " .. self.Fratricide .. ", you will be COURT MARTIALED and DISMISSED from this mission! \nYour total penalty is: " .. self.Players[PlayerName].Penalty,
@ -639,6 +644,7 @@ function SCORING:_AddPlayerFromUnit( UnitData )
):ToAll()
UnitData:GetGroup():Destroy()
end
--]]
end
end

View File

@ -1,5 +1,5 @@
env.info( '*** MOOSE STATIC INCLUDE START *** ' )
env.info( 'Moose Generation Timestamp: 20171006_1228' )
env.info( 'Moose Generation Timestamp: 20171009_1307' )
--- Various routines
-- @module routines
@ -25532,7 +25532,9 @@ end
-- A mission has goals and achievements. The scoring system provides an API to set additional scores when a goal or achievement event happens.
-- Use the method @{#SCORING.AddGoalScore}() to add a score for a Player at any time in your mission.
--
-- ## 1.5) Configure fratricide level.
-- ## 1.5) (Decommissioned) Configure fratricide level.
--
-- **This functionality is decomissioned until the DCS bug concerning Unit:destroy() not being functional in multi player for player units has been fixed by ED**.
--
-- When a player commits too much damage to friendlies, his penalty score will reach a certain level.
-- Use the method @{#SCORING.SetFratricide}() to define the level when a player gets kicked.
@ -25688,7 +25690,7 @@ function SCORING:New( GameName )
-- Configure Messages
self:SetMessagesToAll()
self:SetMessagesHit( true )
self:SetMessagesHit( false )
self:SetMessagesDestroy( true )
self:SetMessagesScore( true )
self:SetMessagesZone( true )
@ -26046,6 +26048,7 @@ function SCORING:_AddPlayerFromUnit( UnitData )
UnitName, _SCORINGCoalition[UnitCoalition], _SCORINGCategory[UnitCategory], UnitData:GetTypeName() )
end
end
self.Players[PlayerName].UnitName = UnitName
self.Players[PlayerName].UnitCoalition = UnitCoalition
self.Players[PlayerName].UnitCategory = UnitCategory
@ -26054,6 +26057,8 @@ function SCORING:_AddPlayerFromUnit( UnitData )
self.Players[PlayerName].ThreatLevel = UnitThreatLevel
self.Players[PlayerName].ThreatType = UnitThreatType
-- TODO: DCS bug concerning Units with skill level client don't get destroyed in multi player. This logic is deactivated until this bug gets fixed.
--[[
if self.Players[PlayerName].Penalty > self.Fratricide * 0.50 then
if self.Players[PlayerName].PenaltyWarning < 1 then
MESSAGE:NewType( self.DisplayMessagePrefix .. "Player '" .. PlayerName .. "': WARNING! If you continue to commit FRATRICIDE and have a PENALTY score higher than " .. self.Fratricide .. ", you will be COURT MARTIALED and DISMISSED from this mission! \nYour total penalty is: " .. self.Players[PlayerName].Penalty,
@ -26069,6 +26074,7 @@ function SCORING:_AddPlayerFromUnit( UnitData )
):ToAll()
UnitData:GetGroup():Destroy()
end
--]]
end
end

View File

@ -1,5 +1,5 @@
env.info('*** MOOSE STATIC INCLUDE START *** ')
env.info('Moose Generation Timestamp: 20171006_1228')
env.info('Moose Generation Timestamp: 20171009_1307')
env.setErrorMessageBoxEnabled(false)
routines={}
routines.majorVersion=3
@ -12344,7 +12344,7 @@ end
self.ScoringObjects={}
self.ScoringZones={}
self:SetMessagesToAll()
self:SetMessagesHit(true)
self:SetMessagesHit(false)
self:SetMessagesDestroy(true)
self:SetMessagesScore(true)
self:SetMessagesZone(true)
@ -12507,20 +12507,6 @@ self.Players[PlayerName].UnitType=UnitTypeName
self.Players[PlayerName].UNIT=UnitData
self.Players[PlayerName].ThreatLevel=UnitThreatLevel
self.Players[PlayerName].ThreatType=UnitThreatType
if self.Players[PlayerName].Penalty>self.Fratricide*0.50 then
if self.Players[PlayerName].PenaltyWarning<1 then
MESSAGE:NewType(self.DisplayMessagePrefix.."Player '"..PlayerName.."': WARNING! If you continue to commit FRATRICIDE and have a PENALTY score higher than "..self.Fratricide..", you will be COURT MARTIALED and DISMISSED from this mission! \nYour total penalty is: "..self.Players[PlayerName].Penalty,
MESSAGE.Type.Information
):ToAll()
self.Players[PlayerName].PenaltyWarning=self.Players[PlayerName].PenaltyWarning+1
end
end
if self.Players[PlayerName].Penalty>self.Fratricide then
MESSAGE:NewType(self.DisplayMessagePrefix.."Player '"..PlayerName.."' committed FRATRICIDE, he will be COURT MARTIALED and is DISMISSED from this mission!",
MESSAGE.Type.Information
):ToAll()
UnitData:GetGroup():Destroy()
end
end
end
function SCORING:AddGoalScore(PlayerUnit,GoalTag,Text,Score)

View File

@ -112,7 +112,7 @@
<hr/>
<p>AI CAP classes makes AI Controllables execute a Combat Air Patrol.</p>
<p>AI CAP classes makes AI Groups execute a Combat Air Patrol.</p>
@ -146,7 +146,7 @@
<td class="summary">
<h1>AI<em>A2A</em>CAP class, extends <a href="AI_CAP.html##(AI_PATROL_ZONE)">AI<em>CAP#AI</em>PATROL_ZONE</a></h1>
<p>The AI<em>A2A</em>CAP class implements the core functions to patrol a <a href="Zone.html">Zone</a> by an AI <a href="Controllable.html">Controllable</a> or <a href="Group.html">Group</a>
<p>The AI<em>A2A</em>CAP class implements the core functions to patrol a <a href="Zone.html">Zone</a> by an AI <a href="Group.html">Group</a> or <a href="Group.html">Group</a>
and automatically engage any airborne enemies that are within a certain range or within a certain zone.</p>
</td>
</tr>
@ -172,7 +172,7 @@ and automatically engage any airborne enemies that are within a certain range or
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).AttackRoute">AI_A2A_CAP.AttackRoute(AIGroup, Fsm)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).AttackRoute">AI_A2A_CAP.AttackRoute(AICap, Fsm)</a></td>
<td class="summary">
</td>
@ -232,73 +232,73 @@ and automatically engage any airborne enemies that are within a certain range or
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).New">AI_A2A_CAP:New(AIGroup, PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, EngageMinSpeed, EngageMaxSpeed, PatrolAltType)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).New">AI_A2A_CAP:New(AICap, PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, EngageMinSpeed, EngageMaxSpeed, PatrolAltType)</a></td>
<td class="summary">
<p>Creates a new AI<em>A2A</em>CAP object</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnAfterAbort">AI_A2A_CAP:OnAfterAbort(Controllable, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnAfterAbort">AI_A2A_CAP:OnAfterAbort(AICap, From, Event, To)</a></td>
<td class="summary">
<p>OnAfter Transition Handler for Event Abort.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnAfterAccomplish">AI_A2A_CAP:OnAfterAccomplish(Controllable, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnAfterAccomplish">AI_A2A_CAP:OnAfterAccomplish(AICap, From, Event, To)</a></td>
<td class="summary">
<p>OnAfter Transition Handler for Event Accomplish.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnAfterDestroy">AI_A2A_CAP:OnAfterDestroy(Controllable, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnAfterDestroy">AI_A2A_CAP:OnAfterDestroy(AICap, From, Event, To)</a></td>
<td class="summary">
<p>OnAfter Transition Handler for Event Destroy.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnAfterEngage">AI_A2A_CAP:OnAfterEngage(Controllable, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnAfterEngage">AI_A2A_CAP:OnAfterEngage(AICap, From, Event, To)</a></td>
<td class="summary">
<p>OnAfter Transition Handler for Event Engage.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnAfterFired">AI_A2A_CAP:OnAfterFired(Controllable, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnAfterFired">AI_A2A_CAP:OnAfterFired(AICap, From, Event, To)</a></td>
<td class="summary">
<p>OnAfter Transition Handler for Event Fired.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnBeforeAbort">AI_A2A_CAP:OnBeforeAbort(Controllable, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnBeforeAbort">AI_A2A_CAP:OnBeforeAbort(AICap, From, Event, To)</a></td>
<td class="summary">
<p>OnBefore Transition Handler for Event Abort.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnBeforeAccomplish">AI_A2A_CAP:OnBeforeAccomplish(Controllable, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnBeforeAccomplish">AI_A2A_CAP:OnBeforeAccomplish(AICap, From, Event, To)</a></td>
<td class="summary">
<p>OnBefore Transition Handler for Event Accomplish.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnBeforeDestroy">AI_A2A_CAP:OnBeforeDestroy(Controllable, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnBeforeDestroy">AI_A2A_CAP:OnBeforeDestroy(AICap, From, Event, To)</a></td>
<td class="summary">
<p>OnBefore Transition Handler for Event Destroy.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnBeforeEngage">AI_A2A_CAP:OnBeforeEngage(Controllable, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnBeforeEngage">AI_A2A_CAP:OnBeforeEngage(AICap, From, Event, To)</a></td>
<td class="summary">
<p>OnBefore Transition Handler for Event Engage.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnBeforeFired">AI_A2A_CAP:OnBeforeFired(Controllable, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnBeforeFired">AI_A2A_CAP:OnBeforeFired(AICap, From, Event, To)</a></td>
<td class="summary">
<p>OnBefore Transition Handler for Event Fired.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnEnterEngaging">AI_A2A_CAP:OnEnterEngaging(Controllable, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnEnterEngaging">AI_A2A_CAP:OnEnterEngaging(AICap, From, Event, To)</a></td>
<td class="summary">
<p>OnEnter Transition Handler for State Engaging.</p>
</td>
@ -310,13 +310,13 @@ and automatically engage any airborne enemies that are within a certain range or
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnLeaveEngaging">AI_A2A_CAP:OnLeaveEngaging(Controllable, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).OnLeaveEngaging">AI_A2A_CAP:OnLeaveEngaging(AICap, From, Event, To)</a></td>
<td class="summary">
<p>OnLeave Transition Handler for State Engaging.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).Resume">AI_A2A_CAP.Resume(AIGroup)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).Resume">AI_A2A_CAP.Resume(AICap)</a></td>
<td class="summary">
</td>
@ -364,43 +364,43 @@ and automatically engage any airborne enemies that are within a certain range or
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).onafterAbort">AI_A2A_CAP:onafterAbort(AIGroup, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).onafterAbort">AI_A2A_CAP:onafterAbort(AICap, From, Event, To)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).onafterAccomplish">AI_A2A_CAP:onafterAccomplish(Controllable, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).onafterAccomplish">AI_A2A_CAP:onafterAccomplish(AICap, From, Event, To)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).onafterDestroy">AI_A2A_CAP:onafterDestroy(Controllable, From, Event, To, EventData)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).onafterDestroy">AI_A2A_CAP:onafterDestroy(AICap, From, Event, To, EventData)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).onafterEngage">AI_A2A_CAP:onafterEngage(AIGroup, From, Event, To, AttackSetUnit)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).onafterEngage">AI_A2A_CAP:onafterEngage(AICap, From, Event, To, AttackSetUnit)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).onafterPatrol">AI_A2A_CAP:onafterPatrol(AIGroup, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).onafterPatrol">AI_A2A_CAP:onafterPatrol(AICap, From, Event, To)</a></td>
<td class="summary">
<p>onafter State Transition for Event Patrol.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).onafterStart">AI_A2A_CAP:onafterStart(AIGroup, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).onafterStart">AI_A2A_CAP:onafterStart(AICap, From, Event, To)</a></td>
<td class="summary">
<p>onafter State Transition for Event Patrol.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).onbeforeEngage">AI_A2A_CAP:onbeforeEngage(AIGroup, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_CAP).onbeforeEngage">AI_A2A_CAP:onbeforeEngage(AICap, From, Event, To)</a></td>
<td class="summary">
</td>
@ -420,7 +420,7 @@ and automatically engage any airborne enemies that are within a certain range or
<h1>AI<em>A2A</em>CAP class, extends <a href="AI_CAP.html##(AI_PATROL_ZONE)">AI<em>CAP#AI</em>PATROL_ZONE</a></h1>
<p>The AI<em>A2A</em>CAP class implements the core functions to patrol a <a href="Zone.html">Zone</a> by an AI <a href="Controllable.html">Controllable</a> or <a href="Group.html">Group</a>
<p>The AI<em>A2A</em>CAP class implements the core functions to patrol a <a href="Zone.html">Zone</a> by an AI <a href="Group.html">Group</a> or <a href="Group.html">Group</a>
and automatically engage any airborne enemies that are within a certain range or within a certain zone.</p>
@ -560,7 +560,7 @@ Use the method <a href="AI_Cap.html##(AI_A2A_CAP).SetEngageZone">AI<em>Cap#AI</e
<dt>
<a id="#(AI_A2A_CAP).AttackRoute" >
<strong>AI_A2A_CAP.AttackRoute(AIGroup, Fsm)</strong>
<strong>AI_A2A_CAP.AttackRoute(AICap, Fsm)</strong>
</a>
</dt>
<dd>
@ -571,7 +571,7 @@ Use the method <a href="AI_Cap.html##(AI_A2A_CAP).SetEngageZone">AI<em>Cap#AI</e
<ul>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>: </p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>: </p>
</li>
<li>
@ -709,7 +709,7 @@ Use the method <a href="AI_Cap.html##(AI_A2A_CAP).SetEngageZone">AI<em>Cap#AI</e
<dt>
<a id="#(AI_A2A_CAP).New" >
<strong>AI_A2A_CAP:New(AIGroup, PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, EngageMinSpeed, EngageMaxSpeed, PatrolAltType)</strong>
<strong>AI_A2A_CAP:New(AICap, PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, EngageMinSpeed, EngageMaxSpeed, PatrolAltType)</strong>
</a>
</dt>
<dd>
@ -720,7 +720,7 @@ Use the method <a href="AI_Cap.html##(AI_A2A_CAP).SetEngageZone">AI<em>Cap#AI</e
<ul>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>: </p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>: </p>
</li>
<li>
@ -744,25 +744,25 @@ The highest altitude in meters where to execute the patrol.</p>
<li>
<p><code><em><a href="Dcs.DCSTypes.html##(Speed)">Dcs.DCSTypes#Speed</a> PatrolMinSpeed </em></code>:
The minimum speed of the <a href="Controllable.html">Controllable</a> in km/h.</p>
The minimum speed of the <a href="Group.html">Group</a> in km/h.</p>
</li>
<li>
<p><code><em><a href="Dcs.DCSTypes.html##(Speed)">Dcs.DCSTypes#Speed</a> PatrolMaxSpeed </em></code>:
The maximum speed of the <a href="Controllable.html">Controllable</a> in km/h.</p>
The maximum speed of the <a href="Group.html">Group</a> in km/h.</p>
</li>
<li>
<p><code><em><a href="Dcs.DCSTypes.html##(Speed)">Dcs.DCSTypes#Speed</a> EngageMinSpeed </em></code>:
The minimum speed of the <a href="Controllable.html">Controllable</a> in km/h when engaging a target.</p>
The minimum speed of the <a href="Group.html">Group</a> in km/h when engaging a target.</p>
</li>
<li>
<p><code><em><a href="Dcs.DCSTypes.html##(Speed)">Dcs.DCSTypes#Speed</a> EngageMaxSpeed </em></code>:
The maximum speed of the <a href="Controllable.html">Controllable</a> in km/h when engaging a target.</p>
The maximum speed of the <a href="Group.html">Group</a> in km/h when engaging a target.</p>
</li>
<li>
@ -783,7 +783,7 @@ The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to RADIO</p>
<dt>
<a id="#(AI_A2A_CAP).OnAfterAbort" >
<strong>AI_A2A_CAP:OnAfterAbort(Controllable, From, Event, To)</strong>
<strong>AI_A2A_CAP:OnAfterAbort(AICap, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -794,8 +794,8 @@ The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to RADIO</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
The Controllable Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -823,7 +823,7 @@ The To State string.</p>
<dt>
<a id="#(AI_A2A_CAP).OnAfterAccomplish" >
<strong>AI_A2A_CAP:OnAfterAccomplish(Controllable, From, Event, To)</strong>
<strong>AI_A2A_CAP:OnAfterAccomplish(AICap, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -834,8 +834,8 @@ The To State string.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
The Controllable Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -863,7 +863,7 @@ The To State string.</p>
<dt>
<a id="#(AI_A2A_CAP).OnAfterDestroy" >
<strong>AI_A2A_CAP:OnAfterDestroy(Controllable, From, Event, To)</strong>
<strong>AI_A2A_CAP:OnAfterDestroy(AICap, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -874,8 +874,8 @@ The To State string.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
The Controllable Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -903,7 +903,7 @@ The To State string.</p>
<dt>
<a id="#(AI_A2A_CAP).OnAfterEngage" >
<strong>AI_A2A_CAP:OnAfterEngage(Controllable, From, Event, To)</strong>
<strong>AI_A2A_CAP:OnAfterEngage(AICap, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -914,8 +914,8 @@ The To State string.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
The Controllable Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -943,7 +943,7 @@ The To State string.</p>
<dt>
<a id="#(AI_A2A_CAP).OnAfterFired" >
<strong>AI_A2A_CAP:OnAfterFired(Controllable, From, Event, To)</strong>
<strong>AI_A2A_CAP:OnAfterFired(AICap, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -954,8 +954,8 @@ The To State string.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
The Controllable Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -983,7 +983,7 @@ The To State string.</p>
<dt>
<a id="#(AI_A2A_CAP).OnBeforeAbort" >
<strong>AI_A2A_CAP:OnBeforeAbort(Controllable, From, Event, To)</strong>
<strong>AI_A2A_CAP:OnBeforeAbort(AICap, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -994,8 +994,8 @@ The To State string.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
The Controllable Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -1028,7 +1028,7 @@ Return false to cancel Transition.</p>
<dt>
<a id="#(AI_A2A_CAP).OnBeforeAccomplish" >
<strong>AI_A2A_CAP:OnBeforeAccomplish(Controllable, From, Event, To)</strong>
<strong>AI_A2A_CAP:OnBeforeAccomplish(AICap, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -1039,8 +1039,8 @@ Return false to cancel Transition.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
The Controllable Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -1073,7 +1073,7 @@ Return false to cancel Transition.</p>
<dt>
<a id="#(AI_A2A_CAP).OnBeforeDestroy" >
<strong>AI_A2A_CAP:OnBeforeDestroy(Controllable, From, Event, To)</strong>
<strong>AI_A2A_CAP:OnBeforeDestroy(AICap, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -1084,8 +1084,8 @@ Return false to cancel Transition.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
The Controllable Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -1118,7 +1118,7 @@ Return false to cancel Transition.</p>
<dt>
<a id="#(AI_A2A_CAP).OnBeforeEngage" >
<strong>AI_A2A_CAP:OnBeforeEngage(Controllable, From, Event, To)</strong>
<strong>AI_A2A_CAP:OnBeforeEngage(AICap, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -1129,8 +1129,8 @@ Return false to cancel Transition.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
The Controllable Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -1163,7 +1163,7 @@ Return false to cancel Transition.</p>
<dt>
<a id="#(AI_A2A_CAP).OnBeforeFired" >
<strong>AI_A2A_CAP:OnBeforeFired(Controllable, From, Event, To)</strong>
<strong>AI_A2A_CAP:OnBeforeFired(AICap, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -1174,8 +1174,8 @@ Return false to cancel Transition.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
The Controllable Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -1208,7 +1208,7 @@ Return false to cancel Transition.</p>
<dt>
<a id="#(AI_A2A_CAP).OnEnterEngaging" >
<strong>AI_A2A_CAP:OnEnterEngaging(Controllable, From, Event, To)</strong>
<strong>AI_A2A_CAP:OnEnterEngaging(AICap, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -1219,8 +1219,8 @@ Return false to cancel Transition.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
The Controllable Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -1269,7 +1269,7 @@ The To State string.</p>
<dt>
<a id="#(AI_A2A_CAP).OnLeaveEngaging" >
<strong>AI_A2A_CAP:OnLeaveEngaging(Controllable, From, Event, To)</strong>
<strong>AI_A2A_CAP:OnLeaveEngaging(AICap, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -1280,8 +1280,8 @@ The To State string.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
The Controllable Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -1314,7 +1314,7 @@ Return false to cancel Transition.</p>
<dt>
<a id="#(AI_A2A_CAP).Resume" >
<strong>AI_A2A_CAP.Resume(AIGroup)</strong>
<strong>AI_A2A_CAP.Resume(AICap)</strong>
</a>
</dt>
<dd>
@ -1325,7 +1325,7 @@ Return false to cancel Transition.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>: </p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>: </p>
</li>
</ul>
@ -1499,7 +1499,7 @@ The delay in seconds.</p>
<dt>
<a id="#(AI_A2A_CAP).onafterAbort" >
<strong>AI_A2A_CAP:onafterAbort(AIGroup, From, Event, To)</strong>
<strong>AI_A2A_CAP:onafterAbort(AICap, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -1510,7 +1510,7 @@ The delay in seconds.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> AIGroup </em></code>:
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
The AI Group managed by the FSM.</p>
</li>
@ -1539,7 +1539,7 @@ The To State string.</p>
<dt>
<a id="#(AI_A2A_CAP).onafterAccomplish" >
<strong>AI_A2A_CAP:onafterAccomplish(Controllable, From, Event, To)</strong>
<strong>AI_A2A_CAP:onafterAccomplish(AICap, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -1550,8 +1550,8 @@ The To State string.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
The Controllable Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -1579,7 +1579,7 @@ The To State string.</p>
<dt>
<a id="#(AI_A2A_CAP).onafterDestroy" >
<strong>AI_A2A_CAP:onafterDestroy(Controllable, From, Event, To, EventData)</strong>
<strong>AI_A2A_CAP:onafterDestroy(AICap, From, Event, To, EventData)</strong>
</a>
</dt>
<dd>
@ -1590,8 +1590,8 @@ The To State string.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
The Controllable Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -1624,7 +1624,7 @@ The To State string.</p>
<dt>
<a id="#(AI_A2A_CAP).onafterEngage" >
<strong>AI_A2A_CAP:onafterEngage(AIGroup, From, Event, To, AttackSetUnit)</strong>
<strong>AI_A2A_CAP:onafterEngage(AICap, From, Event, To, AttackSetUnit)</strong>
</a>
</dt>
<dd>
@ -1635,8 +1635,8 @@ The To State string.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> AIGroup </em></code>:
The Controllable Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
The AICap Object managed by the FSM.</p>
</li>
<li>
@ -1669,7 +1669,7 @@ The To State string.</p>
<dt>
<a id="#(AI_A2A_CAP).onafterPatrol" >
<strong>AI_A2A_CAP:onafterPatrol(AIGroup, From, Event, To)</strong>
<strong>AI_A2A_CAP:onafterPatrol(AICap, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -1680,7 +1680,7 @@ The To State string.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> AIGroup </em></code>:
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
The AI Group managed by the FSM.</p>
</li>
@ -1709,7 +1709,7 @@ The To State string.</p>
<dt>
<a id="#(AI_A2A_CAP).onafterStart" >
<strong>AI_A2A_CAP:onafterStart(AIGroup, From, Event, To)</strong>
<strong>AI_A2A_CAP:onafterStart(AICap, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -1720,7 +1720,7 @@ The To State string.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
The AI Group managed by the FSM.</p>
</li>
@ -1749,7 +1749,7 @@ The To State string.</p>
<dt>
<a id="#(AI_A2A_CAP).onbeforeEngage" >
<strong>AI_A2A_CAP:onbeforeEngage(AIGroup, From, Event, To)</strong>
<strong>AI_A2A_CAP:onbeforeEngage(AICap, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -1760,8 +1760,8 @@ The To State string.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> AIGroup </em></code>:
The Controllable Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AICap </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>

View File

@ -205,79 +205,79 @@
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).InterceptRoute">AI_A2A_GCI.InterceptRoute(AIControllable, AIGroup, Fsm)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).InterceptRoute">AI_A2A_GCI.InterceptRoute(AIControllable, AIIntercept, Fsm)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).New">AI_A2A_GCI:New(AIGroup, EngageMinSpeed, EngageMaxSpeed)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).New">AI_A2A_GCI:New(AIIntercept, EngageMinSpeed, EngageMaxSpeed)</a></td>
<td class="summary">
<p>Creates a new AI<em>A2A</em>GCI object</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnAfterAbort">AI_A2A_GCI:OnAfterAbort(AIGroup, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnAfterAbort">AI_A2A_GCI:OnAfterAbort(AIIntercept, From, Event, To)</a></td>
<td class="summary">
<p>OnAfter Transition Handler for Event Abort.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnAfterAccomplish">AI_A2A_GCI:OnAfterAccomplish(AIGroup, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnAfterAccomplish">AI_A2A_GCI:OnAfterAccomplish(AIIntercept, From, Event, To)</a></td>
<td class="summary">
<p>OnAfter Transition Handler for Event Accomplish.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnAfterDestroy">AI_A2A_GCI:OnAfterDestroy(AIGroup, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnAfterDestroy">AI_A2A_GCI:OnAfterDestroy(AIIntercept, From, Event, To)</a></td>
<td class="summary">
<p>OnAfter Transition Handler for Event Destroy.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnAfterEngage">AI_A2A_GCI:OnAfterEngage(AIGroup, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnAfterEngage">AI_A2A_GCI:OnAfterEngage(AIIntercept, From, Event, To)</a></td>
<td class="summary">
<p>OnAfter Transition Handler for Event Engage.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnAfterFired">AI_A2A_GCI:OnAfterFired(AIGroup, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnAfterFired">AI_A2A_GCI:OnAfterFired(AIIntercept, From, Event, To)</a></td>
<td class="summary">
<p>OnAfter Transition Handler for Event Fired.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnBeforeAbort">AI_A2A_GCI:OnBeforeAbort(AIGroup, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnBeforeAbort">AI_A2A_GCI:OnBeforeAbort(AIIntercept, From, Event, To)</a></td>
<td class="summary">
<p>OnBefore Transition Handler for Event Abort.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnBeforeAccomplish">AI_A2A_GCI:OnBeforeAccomplish(AIGroup, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnBeforeAccomplish">AI_A2A_GCI:OnBeforeAccomplish(AIIntercept, From, Event, To)</a></td>
<td class="summary">
<p>OnBefore Transition Handler for Event Accomplish.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnBeforeDestroy">AI_A2A_GCI:OnBeforeDestroy(AIGroup, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnBeforeDestroy">AI_A2A_GCI:OnBeforeDestroy(AIIntercept, From, Event, To)</a></td>
<td class="summary">
<p>OnBefore Transition Handler for Event Destroy.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnBeforeEngage">AI_A2A_GCI:OnBeforeEngage(AIGroup, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnBeforeEngage">AI_A2A_GCI:OnBeforeEngage(AIIntercept, From, Event, To)</a></td>
<td class="summary">
<p>OnBefore Transition Handler for Event Engage.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnBeforeFired">AI_A2A_GCI:OnBeforeFired(AIGroup, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnBeforeFired">AI_A2A_GCI:OnBeforeFired(AIIntercept, From, Event, To)</a></td>
<td class="summary">
<p>OnBefore Transition Handler for Event Fired.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnEnterEngaging">AI_A2A_GCI:OnEnterEngaging(AIGroup, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnEnterEngaging">AI_A2A_GCI:OnEnterEngaging(AIIntercept, From, Event, To)</a></td>
<td class="summary">
<p>OnEnter Transition Handler for State Engaging.</p>
</td>
@ -289,7 +289,7 @@
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnLeaveEngaging">AI_A2A_GCI:OnLeaveEngaging(AIGroup, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).OnLeaveEngaging">AI_A2A_GCI:OnLeaveEngaging(AIIntercept, From, Event, To)</a></td>
<td class="summary">
<p>OnLeave Transition Handler for State Engaging.</p>
</td>
@ -343,37 +343,37 @@
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).onafterAbort">AI_A2A_GCI:onafterAbort(AIGroup, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).onafterAbort">AI_A2A_GCI:onafterAbort(AIIntercept, From, Event, To)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).onafterAccomplish">AI_A2A_GCI:onafterAccomplish(AIGroup, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).onafterAccomplish">AI_A2A_GCI:onafterAccomplish(AIIntercept, From, Event, To)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).onafterDestroy">AI_A2A_GCI:onafterDestroy(AIGroup, From, Event, To, EventData)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).onafterDestroy">AI_A2A_GCI:onafterDestroy(AIIntercept, From, Event, To, EventData)</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).onafterEngage">AI_A2A_GCI:onafterEngage(AIGroup, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).onafterEngage">AI_A2A_GCI:onafterEngage(AIIntercept, From, Event, To)</a></td>
<td class="summary">
<p>onafter State Transition for Event Patrol.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).onafterStart">AI_A2A_GCI:onafterStart(AIGroup, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).onafterStart">AI_A2A_GCI:onafterStart(AIIntercept, From, Event, To)</a></td>
<td class="summary">
<p>onafter State Transition for Event Patrol.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).onbeforeEngage">AI_A2A_GCI:onbeforeEngage(AIGroup, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_GCI).onbeforeEngage">AI_A2A_GCI:onbeforeEngage(AIIntercept, From, Event, To)</a></td>
<td class="summary">
</td>
@ -624,7 +624,7 @@ Use the method <a href="AI_Cap.html##(AI_A2A_GCI).SetEngageZone">AI<em>Cap#AI</e
<dt>
<a id="#(AI_A2A_GCI).InterceptRoute" >
<strong>AI_A2A_GCI.InterceptRoute(AIControllable, AIGroup, Fsm)</strong>
<strong>AI_A2A_GCI.InterceptRoute(AIControllable, AIIntercept, Fsm)</strong>
</a>
</dt>
<dd>
@ -640,7 +640,7 @@ Use the method <a href="AI_Cap.html##(AI_A2A_GCI).SetEngageZone">AI<em>Cap#AI</e
</li>
<li>
<p><code><em> AIGroup </em></code>: </p>
<p><code><em> AIIntercept </em></code>: </p>
</li>
<li>
@ -655,7 +655,7 @@ Use the method <a href="AI_Cap.html##(AI_A2A_GCI).SetEngageZone">AI<em>Cap#AI</e
<dt>
<a id="#(AI_A2A_GCI).New" >
<strong>AI_A2A_GCI:New(AIGroup, EngageMinSpeed, EngageMaxSpeed)</strong>
<strong>AI_A2A_GCI:New(AIIntercept, EngageMinSpeed, EngageMaxSpeed)</strong>
</a>
</dt>
<dd>
@ -666,7 +666,7 @@ Use the method <a href="AI_Cap.html##(AI_A2A_GCI).SetEngageZone">AI<em>Cap#AI</e
<ul>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>: </p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>: </p>
</li>
<li>
@ -691,7 +691,7 @@ Use the method <a href="AI_Cap.html##(AI_A2A_GCI).SetEngageZone">AI<em>Cap#AI</e
<dt>
<a id="#(AI_A2A_GCI).OnAfterAbort" >
<strong>AI_A2A_GCI:OnAfterAbort(AIGroup, From, Event, To)</strong>
<strong>AI_A2A_GCI:OnAfterAbort(AIIntercept, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -702,8 +702,8 @@ Use the method <a href="AI_Cap.html##(AI_A2A_GCI).SetEngageZone">AI<em>Cap#AI</e
<ul>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
The AIGroup Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -731,7 +731,7 @@ The To State string.</p>
<dt>
<a id="#(AI_A2A_GCI).OnAfterAccomplish" >
<strong>AI_A2A_GCI:OnAfterAccomplish(AIGroup, From, Event, To)</strong>
<strong>AI_A2A_GCI:OnAfterAccomplish(AIIntercept, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -742,8 +742,8 @@ The To State string.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
The AIGroup Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -771,7 +771,7 @@ The To State string.</p>
<dt>
<a id="#(AI_A2A_GCI).OnAfterDestroy" >
<strong>AI_A2A_GCI:OnAfterDestroy(AIGroup, From, Event, To)</strong>
<strong>AI_A2A_GCI:OnAfterDestroy(AIIntercept, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -782,8 +782,8 @@ The To State string.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
The AIGroup Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -811,7 +811,7 @@ The To State string.</p>
<dt>
<a id="#(AI_A2A_GCI).OnAfterEngage" >
<strong>AI_A2A_GCI:OnAfterEngage(AIGroup, From, Event, To)</strong>
<strong>AI_A2A_GCI:OnAfterEngage(AIIntercept, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -822,8 +822,8 @@ The To State string.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
The AIGroup Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -851,7 +851,7 @@ The To State string.</p>
<dt>
<a id="#(AI_A2A_GCI).OnAfterFired" >
<strong>AI_A2A_GCI:OnAfterFired(AIGroup, From, Event, To)</strong>
<strong>AI_A2A_GCI:OnAfterFired(AIIntercept, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -862,8 +862,8 @@ The To State string.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
The AIGroup Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -891,7 +891,7 @@ The To State string.</p>
<dt>
<a id="#(AI_A2A_GCI).OnBeforeAbort" >
<strong>AI_A2A_GCI:OnBeforeAbort(AIGroup, From, Event, To)</strong>
<strong>AI_A2A_GCI:OnBeforeAbort(AIIntercept, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -902,8 +902,8 @@ The To State string.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
The AIGroup Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -936,7 +936,7 @@ Return false to cancel Transition.</p>
<dt>
<a id="#(AI_A2A_GCI).OnBeforeAccomplish" >
<strong>AI_A2A_GCI:OnBeforeAccomplish(AIGroup, From, Event, To)</strong>
<strong>AI_A2A_GCI:OnBeforeAccomplish(AIIntercept, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -947,8 +947,8 @@ Return false to cancel Transition.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
The AIGroup Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -981,7 +981,7 @@ Return false to cancel Transition.</p>
<dt>
<a id="#(AI_A2A_GCI).OnBeforeDestroy" >
<strong>AI_A2A_GCI:OnBeforeDestroy(AIGroup, From, Event, To)</strong>
<strong>AI_A2A_GCI:OnBeforeDestroy(AIIntercept, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -992,8 +992,8 @@ Return false to cancel Transition.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
The AIGroup Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -1026,7 +1026,7 @@ Return false to cancel Transition.</p>
<dt>
<a id="#(AI_A2A_GCI).OnBeforeEngage" >
<strong>AI_A2A_GCI:OnBeforeEngage(AIGroup, From, Event, To)</strong>
<strong>AI_A2A_GCI:OnBeforeEngage(AIIntercept, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -1037,8 +1037,8 @@ Return false to cancel Transition.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
The AIGroup Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -1071,7 +1071,7 @@ Return false to cancel Transition.</p>
<dt>
<a id="#(AI_A2A_GCI).OnBeforeFired" >
<strong>AI_A2A_GCI:OnBeforeFired(AIGroup, From, Event, To)</strong>
<strong>AI_A2A_GCI:OnBeforeFired(AIIntercept, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -1082,8 +1082,8 @@ Return false to cancel Transition.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
The AIGroup Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -1116,7 +1116,7 @@ Return false to cancel Transition.</p>
<dt>
<a id="#(AI_A2A_GCI).OnEnterEngaging" >
<strong>AI_A2A_GCI:OnEnterEngaging(AIGroup, From, Event, To)</strong>
<strong>AI_A2A_GCI:OnEnterEngaging(AIIntercept, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -1127,8 +1127,8 @@ Return false to cancel Transition.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
The AIGroup Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -1177,7 +1177,7 @@ The To State string.</p>
<dt>
<a id="#(AI_A2A_GCI).OnLeaveEngaging" >
<strong>AI_A2A_GCI:OnLeaveEngaging(AIGroup, From, Event, To)</strong>
<strong>AI_A2A_GCI:OnLeaveEngaging(AIIntercept, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -1188,8 +1188,8 @@ The To State string.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
The AIGroup Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -1374,7 +1374,7 @@ The delay in seconds.</p>
<dt>
<a id="#(AI_A2A_GCI).onafterAbort" >
<strong>AI_A2A_GCI:onafterAbort(AIGroup, From, Event, To)</strong>
<strong>AI_A2A_GCI:onafterAbort(AIIntercept, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -1385,7 +1385,7 @@ The delay in seconds.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
The AI Group managed by the FSM.</p>
</li>
@ -1414,7 +1414,7 @@ The To State string.</p>
<dt>
<a id="#(AI_A2A_GCI).onafterAccomplish" >
<strong>AI_A2A_GCI:onafterAccomplish(AIGroup, From, Event, To)</strong>
<strong>AI_A2A_GCI:onafterAccomplish(AIIntercept, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -1425,8 +1425,8 @@ The To State string.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
The AIGroup Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -1454,7 +1454,7 @@ The To State string.</p>
<dt>
<a id="#(AI_A2A_GCI).onafterDestroy" >
<strong>AI_A2A_GCI:onafterDestroy(AIGroup, From, Event, To, EventData)</strong>
<strong>AI_A2A_GCI:onafterDestroy(AIIntercept, From, Event, To, EventData)</strong>
</a>
</dt>
<dd>
@ -1465,8 +1465,8 @@ The To State string.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
The AIGroup Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -1499,7 +1499,7 @@ The To State string.</p>
<dt>
<a id="#(AI_A2A_GCI).onafterEngage" >
<strong>AI_A2A_GCI:onafterEngage(AIGroup, From, Event, To)</strong>
<strong>AI_A2A_GCI:onafterEngage(AIIntercept, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -1510,7 +1510,7 @@ The To State string.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
The AI Group managed by the FSM.</p>
</li>
@ -1539,7 +1539,7 @@ The To State string.</p>
<dt>
<a id="#(AI_A2A_GCI).onafterStart" >
<strong>AI_A2A_GCI:onafterStart(AIGroup, From, Event, To)</strong>
<strong>AI_A2A_GCI:onafterStart(AIIntercept, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -1550,7 +1550,7 @@ The To State string.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
The AI Group managed by the FSM.</p>
</li>
@ -1579,7 +1579,7 @@ The To State string.</p>
<dt>
<a id="#(AI_A2A_GCI).onbeforeEngage" >
<strong>AI_A2A_GCI:onbeforeEngage(AIGroup, From, Event, To)</strong>
<strong>AI_A2A_GCI:onbeforeEngage(AIIntercept, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -1590,8 +1590,8 @@ The To State string.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
The AIGroup Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIIntercept </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>

View File

@ -112,7 +112,7 @@
<hr/>
<p>AI PATROL classes makes AI Controllables execute an Patrol.</p>
<p>AI PATROL classes makes AI Groups execute an Patrol.</p>
@ -158,50 +158,50 @@
<td class="summary">
<h1>AI<em>A2A</em>PATROL class, extends <a href="Fsm.html##(FSM_CONTROLLABLE)">Fsm#FSM_CONTROLLABLE</a></h1>
<p>The AI<em>A2A</em>PATROL class implements the core functions to patrol a <a href="Zone.html">Zone</a> by an AI <a href="Controllable.html">Controllable</a> or <a href="Group.html">Group</a>.</p>
<p>The AI<em>A2A</em>PATROL class implements the core functions to patrol a <a href="Zone.html">Zone</a> by an AI <a href="Group.html">Group</a> or <a href="Group.html">Group</a>.</p>
</td>
</tr>
</table>
<h2><a id="#(AI_A2A_PATROL)">Type <code>AI_A2A_PATROL</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).New">AI_A2A_PATROL:New(AIGroup, PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, PatrolAltType)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).New">AI_A2A_PATROL:New(AIPatrol, PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, PatrolAltType)</a></td>
<td class="summary">
<p>Creates a new AI<em>A2A</em>PATROL object</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).OnAfterPatrol">AI_A2A_PATROL:OnAfterPatrol(Controllable, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).OnAfterPatrol">AI_A2A_PATROL:OnAfterPatrol(AIPatrol, From, Event, To)</a></td>
<td class="summary">
<p>OnAfter Transition Handler for Event Patrol.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).OnAfterRoute">AI_A2A_PATROL:OnAfterRoute(Controllable, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).OnAfterRoute">AI_A2A_PATROL:OnAfterRoute(AIPatrol, From, Event, To)</a></td>
<td class="summary">
<p>OnAfter Transition Handler for Event Route.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).OnBeforePatrol">AI_A2A_PATROL:OnBeforePatrol(Controllable, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).OnBeforePatrol">AI_A2A_PATROL:OnBeforePatrol(AIPatrol, From, Event, To)</a></td>
<td class="summary">
<p>OnBefore Transition Handler for Event Patrol.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).OnBeforeRoute">AI_A2A_PATROL:OnBeforeRoute(Controllable, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).OnBeforeRoute">AI_A2A_PATROL:OnBeforeRoute(AIPatrol, From, Event, To)</a></td>
<td class="summary">
<p>OnBefore Transition Handler for Event Route.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).OnEnterPatrolling">AI_A2A_PATROL:OnEnterPatrolling(Controllable, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).OnEnterPatrolling">AI_A2A_PATROL:OnEnterPatrolling(AIPatrol, From, Event, To)</a></td>
<td class="summary">
<p>OnEnter Transition Handler for State Patrolling.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).OnLeavePatrolling">AI_A2A_PATROL:OnLeavePatrolling(Controllable, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).OnLeavePatrolling">AI_A2A_PATROL:OnLeavePatrolling(AIPatrol, From, Event, To)</a></td>
<td class="summary">
<p>OnLeave Transition Handler for State Patrolling.</p>
</td>
@ -243,7 +243,7 @@
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).PatrolRoute">AI_A2A_PATROL.PatrolRoute(AIGroup, Fsm)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).PatrolRoute">AI_A2A_PATROL.PatrolRoute(AIPatrol, Fsm)</a></td>
<td class="summary">
</td>
@ -255,7 +255,7 @@
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).Resume">AI_A2A_PATROL.Resume(AIGroup)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).Resume">AI_A2A_PATROL.Resume(AIPatrol)</a></td>
<td class="summary">
</td>
@ -291,13 +291,13 @@
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).onafterPatrol">AI_A2A_PATROL:onafterPatrol(Controllable, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).onafterPatrol">AI_A2A_PATROL:onafterPatrol(AIPatrol, From, Event, To)</a></td>
<td class="summary">
<p>Defines a new patrol route using the <a href="Process_PatrolZone.html">Process_PatrolZone</a> parameters and settings.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).onafterRoute">AI_A2A_PATROL:onafterRoute(AIGroup, From, Event, To)</a></td>
<td class="name" nowrap="nowrap"><a href="##(AI_A2A_PATROL).onafterRoute">AI_A2A_PATROL:onafterRoute(AIPatrol, From, Event, To)</a></td>
<td class="summary">
<p>Defines a new patrol route using the <a href="Process_PatrolZone.html">Process_PatrolZone</a> parameters and settings.</p>
</td>
@ -317,7 +317,7 @@
<h1>AI<em>A2A</em>PATROL class, extends <a href="Fsm.html##(FSM_CONTROLLABLE)">Fsm#FSM_CONTROLLABLE</a></h1>
<p>The AI<em>A2A</em>PATROL class implements the core functions to patrol a <a href="Zone.html">Zone</a> by an AI <a href="Controllable.html">Controllable</a> or <a href="Group.html">Group</a>.</p>
<p>The AI<em>A2A</em>PATROL class implements the core functions to patrol a <a href="Zone.html">Zone</a> by an AI <a href="Group.html">Group</a> or <a href="Group.html">Group</a>.</p>
@ -426,7 +426,7 @@ Use the method <a href="##(AI_A2A_PATROL).ManageFuel">AI<em>A2A</em>PATROL.Manag
<h2>7. Manage "damage" behaviour of the AI in the AI<em>A2A</em>PATROL</h2>
<p>When the AI is damaged, it is required that a new AIControllable is started. However, damage cannon be foreseen early on.
<p>When the AI is damaged, it is required that a new Patrol is started. However, damage cannon be foreseen early on.
Therefore, when the damage treshold is reached, the AI will return immediately to the home base (RTB).
Use the method <a href="##(AI_A2A_PATROL).ManageDamage">AI<em>A2A</em>PATROL.ManageDamage</a>() to have this proces in place.</p>
@ -445,7 +445,7 @@ Use the method <a href="##(AI_A2A_PATROL).ManageDamage">AI<em>A2A</em>PATROL.Man
<dt>
<a id="#(AI_A2A_PATROL).New" >
<strong>AI_A2A_PATROL:New(AIGroup, PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, PatrolAltType)</strong>
<strong>AI_A2A_PATROL:New(AIPatrol, PatrolZone, PatrolFloorAltitude, PatrolCeilingAltitude, PatrolMinSpeed, PatrolMaxSpeed, PatrolAltType)</strong>
</a>
</dt>
<dd>
@ -456,7 +456,7 @@ Use the method <a href="##(AI_A2A_PATROL).ManageDamage">AI<em>A2A</em>PATROL.Man
<ul>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>: </p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIPatrol </em></code>: </p>
</li>
<li>
@ -480,13 +480,13 @@ The highest altitude in meters where to execute the patrol.</p>
<li>
<p><code><em><a href="Dcs.DCSTypes.html##(Speed)">Dcs.DCSTypes#Speed</a> PatrolMinSpeed </em></code>:
The minimum speed of the <a href="Controllable.html">Controllable</a> in km/h.</p>
The minimum speed of the <a href="Group.html">Group</a> in km/h.</p>
</li>
<li>
<p><code><em><a href="Dcs.DCSTypes.html##(Speed)">Dcs.DCSTypes#Speed</a> PatrolMaxSpeed </em></code>:
The maximum speed of the <a href="Controllable.html">Controllable</a> in km/h.</p>
The maximum speed of the <a href="Group.html">Group</a> in km/h.</p>
</li>
<li>
@ -502,7 +502,7 @@ The altitude type ("RADIO"=="AGL", "BARO"=="ASL"). Defaults to RADIO</p>
self</p>
<h3>Usage:</h3>
<pre class="example"><code>-- Define a new AI_A2A_PATROL Object. This PatrolArea will patrol an AIControllable within PatrolZone between 3000 and 6000 meters, with a variying speed between 600 and 900 km/h.
<pre class="example"><code>-- Define a new AI_A2A_PATROL Object. This PatrolArea will patrol a Group within PatrolZone between 3000 and 6000 meters, with a variying speed between 600 and 900 km/h.
PatrolZone = ZONE:New( 'PatrolZone' )
PatrolSpawn = SPAWN:New( 'Patrol Group' )
PatrolArea = AI_A2A_PATROL:New( PatrolZone, 3000, 6000, 600, 900 )</code></pre>
@ -513,7 +513,7 @@ PatrolArea = AI_A2A_PATROL:New( PatrolZone, 3000, 6000, 600, 900 )</code></pre>
<dt>
<a id="#(AI_A2A_PATROL).OnAfterPatrol" >
<strong>AI_A2A_PATROL:OnAfterPatrol(Controllable, From, Event, To)</strong>
<strong>AI_A2A_PATROL:OnAfterPatrol(AIPatrol, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -524,8 +524,8 @@ PatrolArea = AI_A2A_PATROL:New( PatrolZone, 3000, 6000, 600, 900 )</code></pre>
<ul>
<li>
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
The Controllable Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIPatrol </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -553,7 +553,7 @@ The To State string.</p>
<dt>
<a id="#(AI_A2A_PATROL).OnAfterRoute" >
<strong>AI_A2A_PATROL:OnAfterRoute(Controllable, From, Event, To)</strong>
<strong>AI_A2A_PATROL:OnAfterRoute(AIPatrol, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -564,8 +564,8 @@ The To State string.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
The Controllable Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIPatrol </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -593,7 +593,7 @@ The To State string.</p>
<dt>
<a id="#(AI_A2A_PATROL).OnBeforePatrol" >
<strong>AI_A2A_PATROL:OnBeforePatrol(Controllable, From, Event, To)</strong>
<strong>AI_A2A_PATROL:OnBeforePatrol(AIPatrol, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -604,8 +604,8 @@ The To State string.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
The Controllable Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIPatrol </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -638,7 +638,7 @@ Return false to cancel Transition.</p>
<dt>
<a id="#(AI_A2A_PATROL).OnBeforeRoute" >
<strong>AI_A2A_PATROL:OnBeforeRoute(Controllable, From, Event, To)</strong>
<strong>AI_A2A_PATROL:OnBeforeRoute(AIPatrol, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -649,8 +649,8 @@ Return false to cancel Transition.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
The Controllable Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIPatrol </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -683,7 +683,7 @@ Return false to cancel Transition.</p>
<dt>
<a id="#(AI_A2A_PATROL).OnEnterPatrolling" >
<strong>AI_A2A_PATROL:OnEnterPatrolling(Controllable, From, Event, To)</strong>
<strong>AI_A2A_PATROL:OnEnterPatrolling(AIPatrol, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -694,8 +694,8 @@ Return false to cancel Transition.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
The Controllable Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIPatrol </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -723,7 +723,7 @@ The To State string.</p>
<dt>
<a id="#(AI_A2A_PATROL).OnLeavePatrolling" >
<strong>AI_A2A_PATROL:OnLeavePatrolling(Controllable, From, Event, To)</strong>
<strong>AI_A2A_PATROL:OnLeavePatrolling(AIPatrol, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -734,8 +734,8 @@ The To State string.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
The Controllable Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIPatrol </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -853,7 +853,7 @@ Return false to cancel Transition.</p>
<dt>
<a id="#(AI_A2A_PATROL).PatrolRoute" >
<strong>AI_A2A_PATROL.PatrolRoute(AIGroup, Fsm)</strong>
<strong>AI_A2A_PATROL.PatrolRoute(AIPatrol, Fsm)</strong>
</a>
</dt>
<dd>
@ -864,9 +864,9 @@ Return false to cancel Transition.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
This statis method is called from the route path within the last task at the last waaypoint of the Controllable.
Note that this method is required, as triggers the next route when patrolling for the Controllable.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIPatrol </em></code>:
This statis method is called from the route path within the last task at the last waaypoint of the AIPatrol.
Note that this method is required, as triggers the next route when patrolling for the AIPatrol.</p>
</li>
<li>
@ -895,7 +895,7 @@ Note that this method is required, as triggers the next route when patrolling fo
<dt>
<a id="#(AI_A2A_PATROL).Resume" >
<strong>AI_A2A_PATROL.Resume(AIGroup)</strong>
<strong>AI_A2A_PATROL.Resume(AIPatrol)</strong>
</a>
</dt>
<dd>
@ -906,7 +906,7 @@ Note that this method is required, as triggers the next route when patrolling fo
<ul>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>: </p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIPatrol </em></code>: </p>
</li>
</ul>
@ -974,13 +974,13 @@ self</p>
<li>
<p><code><em><a href="Dcs.DCSTypes.html##(Speed)">Dcs.DCSTypes#Speed</a> PatrolMinSpeed </em></code>:
The minimum speed of the <a href="Controllable.html">Controllable</a> in km/h.</p>
The minimum speed of the <a href="Group.html">Group</a> in km/h.</p>
</li>
<li>
<p><code><em><a href="Dcs.DCSTypes.html##(Speed)">Dcs.DCSTypes#Speed</a> PatrolMaxSpeed </em></code>:
The maximum speed of the <a href="Controllable.html">Controllable</a> in km/h.</p>
The maximum speed of the <a href="Group.html">Group</a> in km/h.</p>
</li>
</ul>
@ -1039,7 +1039,7 @@ The delay in seconds.</p>
<dt>
<a id="#(AI_A2A_PATROL).onafterPatrol" >
<strong>AI_A2A_PATROL:onafterPatrol(Controllable, From, Event, To)</strong>
<strong>AI_A2A_PATROL:onafterPatrol(AIPatrol, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -1050,8 +1050,8 @@ The delay in seconds.</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Controllable.html##(CONTROLLABLE)">Wrapper.Controllable#CONTROLLABLE</a> Controllable </em></code>:
The Controllable Object managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIPatrol </em></code>:
The Group Object managed by the FSM.</p>
</li>
<li>
@ -1084,7 +1084,7 @@ self</p>
<dt>
<a id="#(AI_A2A_PATROL).onafterRoute" >
<strong>AI_A2A_PATROL:onafterRoute(AIGroup, From, Event, To)</strong>
<strong>AI_A2A_PATROL:onafterRoute(AIPatrol, From, Event, To)</strong>
</a>
</dt>
<dd>
@ -1095,8 +1095,8 @@ self</p>
<ul>
<li>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIGroup </em></code>:
The AIGroup managed by the FSM.</p>
<p><code><em><a href="Wrapper.Group.html##(GROUP)">Wrapper.Group#GROUP</a> AIPatrol </em></code>:
The Group managed by the FSM.</p>
</li>
<li>

View File

@ -927,9 +927,6 @@ Use the method <a href="##(AI_PATROL_ZONE).ManageDamage">AI<em>PATROL</em>ZONE.M
<p> This table contains the targets detected during patrol.</p>
</dd>
</dl>
<dl class="function">

View File

@ -417,6 +417,30 @@ place: Object that the unit landed on.</p>
<td class="name" nowrap="nowrap"><a href="##(BASE).OnEventTakeoff">BASE:OnEventTakeoff(EventData)</a></td>
<td class="summary">
<p>Occurs when an aircraft takes off from an airbase, farp, or ship.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(BASE).ScheduleOnce">BASE:ScheduleOnce(Start, SchedulerFunction, ...)</a></td>
<td class="summary">
<p>Schedule a new time event.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(BASE).ScheduleRepeat">BASE:ScheduleRepeat(Start, Repeat, RandomizeFactor, Stop, SchedulerFunction, ...)</a></td>
<td class="summary">
<p>Schedule a new time event.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(BASE).ScheduleStop">BASE:ScheduleStop(SchedulerFunction)</a></td>
<td class="summary">
<p>Stops the Schedule.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(BASE).SchedulerObject">BASE.SchedulerObject</a></td>
<td class="summary">
</td>
</tr>
<tr>
@ -485,6 +509,12 @@ When Moose is loaded statically, (as one file), tracing is switched off by defau
<td class="name" nowrap="nowrap"><a href="##(BASE).UnHandleEvent">BASE:UnHandleEvent(Event)</a></td>
<td class="summary">
<p>UnSubscribe to a DCS event.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(BASE)._">BASE._</a></td>
<td class="summary">
</td>
</tr>
<tr>
@ -1900,6 +1930,144 @@ The EventData structure.</p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(BASE).ScheduleOnce" >
<strong>BASE:ScheduleOnce(Start, SchedulerFunction, ...)</strong>
</a>
</dt>
<dd>
<p>Schedule a new time event.</p>
<p>Note that the schedule will only take place if the scheduler is <em>started</em>. Even for a single schedule event, the scheduler needs to be started also.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em>#number Start </em></code>:
Specifies the amount of seconds that will be waited before the scheduling is started, and the event function is called.</p>
</li>
<li>
<p><code><em>#function SchedulerFunction </em></code>:
The event function to be called when a timer event occurs. The event function needs to accept the parameters specified in SchedulerArguments.</p>
</li>
<li>
<p><code><em>#table ... </em></code>:
Optional arguments that can be given as part of scheduler. The arguments need to be given as a table { param1, param 2, ... }.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em>#number:</em>
The ScheduleID of the planned schedule.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(BASE).ScheduleRepeat" >
<strong>BASE:ScheduleRepeat(Start, Repeat, RandomizeFactor, Stop, SchedulerFunction, ...)</strong>
</a>
</dt>
<dd>
<p>Schedule a new time event.</p>
<p>Note that the schedule will only take place if the scheduler is <em>started</em>. Even for a single schedule event, the scheduler needs to be started also.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em>#number Start </em></code>:
Specifies the amount of seconds that will be waited before the scheduling is started, and the event function is called.</p>
</li>
<li>
<p><code><em>#number Repeat </em></code>:
Specifies the interval in seconds when the scheduler will call the event function.</p>
</li>
<li>
<p><code><em>#number RandomizeFactor </em></code>:
Specifies a randomization factor between 0 and 1 to randomize the Repeat.</p>
</li>
<li>
<p><code><em>#number Stop </em></code>:
Specifies the amount of seconds when the scheduler will be stopped.</p>
</li>
<li>
<p><code><em>#function SchedulerFunction </em></code>:
The event function to be called when a timer event occurs. The event function needs to accept the parameters specified in SchedulerArguments.</p>
</li>
<li>
<p><code><em>#table ... </em></code>:
Optional arguments that can be given as part of scheduler. The arguments need to be given as a table { param1, param 2, ... }.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em>#number:</em>
The ScheduleID of the planned schedule.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(BASE).ScheduleStop" >
<strong>BASE:ScheduleStop(SchedulerFunction)</strong>
</a>
</dt>
<dd>
<p>Stops the Schedule.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em>#function SchedulerFunction </em></code>:
The event function to be called when a timer event occurs. The event function needs to accept the parameters specified in SchedulerArguments.</p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(BASE).SchedulerObject" >
<strong>BASE.SchedulerObject</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
@ -2209,6 +2377,20 @@ BASE:TraceOnOff( false )</code></pre>
<p><em><a href="##(BASE)">#BASE</a>:</em></p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="##(BASE._)">#BASE._</a></em>
<a id="#(BASE)._" >
<strong>BASE._</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
@ -2320,6 +2502,8 @@ A #table or any field.</p>
</dd>
</dl>
<h2><a id="#(BASE._)" >Type <code>BASE._</code></a></h2>
<h2><a id="#(BASE.__)" >Type <code>BASE.__</code></a></h2>
<h2><a id="#(FORMATION)" >Type <code>FORMATION</code></a></h2>

View File

@ -3418,6 +3418,7 @@ The range till cargo will board.</p>
<dl class="function">
<dt>
<em></em>
<a id="#(CARGO_UNIT).CargoCarrier" >
<strong>CARGO_UNIT.CargoCarrier</strong>
</a>

View File

@ -2460,6 +2460,7 @@ The index of the DetectedItem.</p>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(DETECTION_BASE).DetectedItemCount" >
<strong>DETECTION_BASE.DetectedItemCount</strong>
</a>
@ -2473,6 +2474,7 @@ The index of the DetectedItem.</p>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(DETECTION_BASE).DetectedItemMax" >
<strong>DETECTION_BASE.DetectedItemMax</strong>
</a>

View File

@ -1599,7 +1599,7 @@ A string defining the start state.</p>
<dl class="function">
<dt>
<em></em>
<em>#string</em>
<a id="#(FSM)._StartState" >
<strong>FSM._StartState</strong>
</a>
@ -1898,7 +1898,6 @@ A string defining the start state.</p>
<dl class="function">
<dt>
<em></em>
<a id="#(FSM).current" >
<strong>FSM.current</strong>
</a>

View File

@ -1974,6 +1974,7 @@ The height in meters to add to the altitude of the positionable.</p>
<dl class="function">
<dt>
<em><a href="Core.Spot.html##(SPOT)">Core.Spot#SPOT</a></em>
<a id="#(POSITIONABLE).Spot" >
<strong>POSITIONABLE.Spot</strong>
</a>

View File

@ -217,7 +217,9 @@ just large enough around that building.</p>
<p>A mission has goals and achievements. The scoring system provides an API to set additional scores when a goal or achievement event happens.
Use the method <a href="##(SCORING).AddGoalScore">SCORING.AddGoalScore</a>() to add a score for a Player at any time in your mission.</p>
<h2>1.5) Configure fratricide level.</h2>
<h2>1.5) (Decommissioned) Configure fratricide level.</h2>
<p><strong>This functionality is decomissioned until the DCS bug concerning Unit:destroy() not being functional in multi player for player units has been fixed by ED</strong>.</p>
<p>When a player commits too much damage to friendlies, his penalty score will reach a certain level.
Use the method <a href="##(SCORING).SetFratricide">SCORING.SetFratricide</a>() to define the level when a player gets kicked. <br/>

View File

@ -1241,7 +1241,7 @@ true if metric.</p>
<dl class="function">
<dt>
<em>#boolean</em>
<em></em>
<a id="#(SETTINGS).Metric" >
<strong>SETTINGS.Metric</strong>
</a>

View File

@ -3163,7 +3163,7 @@ Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 )
<dl class="function">
<dt>
<em></em>
<em>#boolean</em>
<a id="#(SPAWN).SpawnUnControlled" >
<strong>SPAWN.SpawnUnControlled</strong>
</a>

View File

@ -567,6 +567,7 @@ based on the tasking capabilities defined in <a href="Task.html##(TASK)">Task#TA
<dl class="function">
<dt>
<em></em>
<a id="#(FSM_PROCESS).DeployZone" >
<strong>FSM_PROCESS.DeployZone</strong>
</a>

View File

@ -130,7 +130,7 @@
<hr/>
<p>AI CAP classes makes AI Controllables execute a Combat Air Patrol.</p>
<p>AI CAP classes makes AI Groups execute a Combat Air Patrol.</p>
</td>
</tr>
<tr>
@ -160,7 +160,7 @@
<hr/>
<p>AI PATROL classes makes AI Controllables execute an Patrol.</p>
<p>AI PATROL classes makes AI Groups execute an Patrol.</p>
</td>
</tr>
<tr>