diff --git a/Moose Development/Moose/Functional/RAT.lua b/Moose Development/Moose/Functional/RAT.lua index 4d7da7fcf..4c285a5dd 100644 --- a/Moose Development/Moose/Functional/RAT.lua +++ b/Moose Development/Moose/Functional/RAT.lua @@ -86,7 +86,7 @@ -- @field #table departure_ports Array containing the names of the destination airports. -- @field #table destination_ports Array containing the names of the destination airports. -- @field #table ratcraft Array with the spawned RAT aircraft. --- @field #number Tinactive Time in seconds after which inactive units will be destroyed. Default is 180 seconds. +-- @field #number Tinactive Time in seconds after which inactive units will be destroyed. Default is 300 seconds. -- @field #boolean reportstatus Aircraft report status. -- @field #number statusinterval Intervall between status checks (and reports if enabled). -- @field #boolean placemarkers Place markers of waypoints on F10 map. @@ -103,6 +103,8 @@ -- @field #boolean respawn_at_landing Respawn aircraft the moment they land rather than at engine shutdown. -- @field #number respawn_delay Delay in seconds until repawn happens after landing. -- @field #table markerids Array with marker IDs. +-- @field #string livery Livery of the aircraft set by user. +-- @field #string skill Skill of AI. -- @extends Functional.Spawn#SPAWN ---# RAT class, extends @{Spawn#SPAWN} @@ -122,7 +124,7 @@ -- ### The default behavior can be changed: -- -- * A specific departure and/or destination airport can be chosen. --- * Valid coalitions can be set, e.g. only red, blue or neutral, all three �colours�. +-- * Valid coalitions can be set, e.g. only red, blue or neutral, all three "colours". -- * It is possible to start in air within a zone defined in the mission editor or within a zone above an airport of the map. -- -- ## Flight Plan @@ -151,7 +153,7 @@ -- * Give the group a good name. In the example above the group is named "RAT_YAK". -- * Activate the "LATE ACTIVATION" tick box. Note that this aircraft will not be spawned itself but serves a template for each RAT aircraft spawned when the mission starts. -- --- Voil�, your already done! +-- Voilà, your already done! -- -- Optionally, you can set a specific livery for the aircraft or give it some weapons. -- However, the aircraft will by default not engage any enemies. Think of them as beeing on a peaceful or ferry mission. @@ -263,7 +265,7 @@ RAT={ departure_ports={}, -- Array containing the names of the departure airports. destination_ports={}, -- Array containing the names of the destination airports. ratcraft={}, -- Array with the spawned RAT aircraft. - Tinactive=180, -- Time in seconds after which inactive units will be destroyed. Default is 180 seconds. + Tinactive=300, -- Time in seconds after which inactive units will be destroyed. Default is 300 seconds. reportstatus=false, -- Aircraft report status. statusinterval=30, -- Intervall between status checks (and reports if enabled). placemarkers=false, -- Place markers of waypoints on F10 map. @@ -280,6 +282,8 @@ RAT={ respawn_at_landing=false, -- Respawn aircraft the moment they land rather than at engine shutdown. respawn_delay=nil, -- Delay in seconds until repawn happens after landing. markerids={}, -- Array with marker IDs. + livery=nil, -- Livery of the aircraft. + skill="High", -- Skill of AI. } ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -390,7 +394,7 @@ RAT.id="RAT | " --DONE: Improve behaviour when no destination or departure airports were found. Leads to crash, e.g. 1184: attempt to get length of local 'destinations' (a nil value) --DONE: Check cases where aircraft get shot down. --DONE: Handle the case where more than 10 RAT objects are spawned. Likewise, more than 10 groups of one object. Causes problems with the number of menu items! ==> not now! ---TODO: Add custom livery choice if possible. +--DONE: Add custom livery choice if possible. --TODO: When only a destination is set, it should be checked that the departure is within range. Also, that departure and destination are not the same. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -553,9 +557,7 @@ function RAT:SetCoalition(friendly) elseif friendly:lower()=="red" then self.friendly=RAT.coal.red elseif friendly:lower()=="redonly" then - self.friendly=RAT.coal.red - elseif friendly:lower()=="blue" then - self.friendly=RAT.coal.blue + self.friendly=RAT.coal.redonly elseif friendly:lower()=="neutral" then self.friendly=RAT.coal.neutral else @@ -671,6 +673,18 @@ function RAT:SetDestination(names) end +--- Set livery of aircraft. If more than one livery is specified in a table, the actually used one is chosen randomly from the selection. +-- @param #RAT self +-- @param #string skins Name of livery or table of names of liveries. +function RAT:Livery(skins) + if type(skins)=="string" then + self.livery={skins} + else + self.livery=skins + end +end + + --- Aircraft will continue their journey from their destination. This means they are respawned at their destination and get a new random destination. -- @param #RAT self -- @param #boolean switch Turn journey on=true or off=false. If no value is given switch=true. @@ -711,7 +725,7 @@ function RAT:RespawnAfterLanding(delay) self.respawn_delay=delay end ---- Set the time after which inactive groups will be destroyed. Default is 180 seconds. +--- Set the time after which inactive groups will be destroyed. Default is 300 seconds. -- @param #RAT self -- @param #number time Time in seconds. function RAT:TimeDestroyInactive(time) @@ -828,6 +842,13 @@ function RAT:SetFLmax(height) self.FLmaxuser=height*RAT.unit.FL2m end +--- Set max cruising altitude above sea level. +-- @param #RAT self +-- @param #number alt Altitude ASL in meters. +function RAT:SetMaCruiseAltitude(alt) + self.FLmaxuser=alt +end + --- Set min flight level. Setting this value will overrule all other logic. Aircraft will try to fly at higher than this FL regardless. -- @param #RAT self -- @param #number height Maximum FL in hundrets of feet. @@ -835,6 +856,13 @@ function RAT:SetFLmin(height) self.FLminuser=height*RAT.unit.FL2m end +--- Set min cruising altitude above sea level. +-- @param #RAT self +-- @param #number alt Altitude ASL in meters. +function RAT:SetMinCruiseAltitude(alt) + self.FLminuser=alt +end + --- Set flight level of cruising part. This is still be checked for consitancy with selected route and prone to radomization. -- Default is FL200 for planes and FL005 for helicopters. -- @param #RAT self @@ -843,6 +871,13 @@ function RAT:SetFLcruise(height) self.aircraft.FLcruise=height*RAT.unit.FL2m end +--- Set cruising altitude. This is still be checked for consitancy with selected route and prone to radomization. +-- @param #RAT self +-- @param #number alt Cruising altitude ASL in meters. +function RAT:SetCruiseAltitude(alt) + self.aircraft.FLcruise=alt +end + ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --- Initialize basic parameters of the aircraft based on its (template) group in the mission editor. @@ -1075,9 +1110,6 @@ function RAT:_SetRoute(takeoff, _departure, _destination) -- Min cruise speed 70% of max cruise or 600 km/h whichever is lower. local VxCruiseMin = math.min(VxCruiseMax*0.70, 166) - -- Cruise speed (randomized). - --local VxCruise = self:_Randomize((VxCruiseMax-VxCruiseMin)/2+VxCruiseMin, 0.3 , VxCruiseMin, VxCruiseMax) - -- Cruise speed (randomized). Expectation value at midpoint between min and max. local VxCruise = self:_Random_Gaussian((VxCruiseMax-VxCruiseMin)/2+VxCruiseMin, (VxCruiseMax-VxCruiseMax)/4, VxCruiseMin, VxCruiseMax) @@ -1151,6 +1183,13 @@ function RAT:_SetRoute(takeoff, _departure, _destination) H_departure=Pdeparture.y end + -- Adjust min distance between departure and destination for user set min flight level. + if self.FLminuser then + self.mindist=self:_MinDistance(AlphaClimb, AlphaDescent, self.FLminuser-H_departure) + local text=string.format("Adjusting min distance to %d km (for given min FL%03d)", self.mindist/1000, self.FLminuser/RAT.unit.FL2m) + env.info(RAT.id..text) + end + -- DESTINATION AIRPORT local destination=nil if _destination then @@ -1269,9 +1308,14 @@ function RAT:_SetRoute(takeoff, _departure, _destination) FLmax=self.FLmaxuser end - -- Set cruise altitude: default with 100% randomization but limited to FLmin and FLmax. - --local FLcruise=self:_Randomize(self.aircraft.FLcruise, 1.0, FLmin, FLmax) - + -- Adjust FLcruise to be at leat FLmin and at most FLmax + if self.aircraft.FLcruiseFLmax then + self.aircraft.FLcruise=FLmax + end + -- Set cruise altitude. Selected from Gaussian distribution but limited to FLmin and FLmax. local FLcruise=self:_Random_Gaussian(self.aircraft.FLcruise, (FLmax-FLmin)/4, FLmin, FLmax) @@ -2269,61 +2313,6 @@ end ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---- Modifies the template of the group to be spawned. --- In particular, the waypoints of the group's flight plan are copied into the spawn template. --- This allows to spawn at airports and also land at other airports, i.e. circumventing the DCS "landing bug". --- @param #RAT self --- @param #table waypoints The waypoints of the AI flight plan. -function RAT:_ModifySpawnTemplate(waypoints) - - -- The 3D vector of the first waypoint, i.e. where we actually spawn the template group. - local PointVec3 = {x=waypoints[1].x, y=waypoints[1].alt, z=waypoints[1].y} - - -- Heading from first to seconds waypoints to align units in case of air start. - local heading = self:_Course(waypoints[1], waypoints[2]) - - if self:_GetSpawnIndex(self.SpawnIndex+1) then - - -- Get copy of spawn template. - local SpawnTemplate = self.SpawnGroups[self.SpawnIndex].SpawnTemplate - - if SpawnTemplate then - self:T(SpawnTemplate) - - -- Translate the position of the Group Template to the Vec3. - for UnitID = 1, #SpawnTemplate.units do - self:T('Before Translation SpawnTemplate.units['..UnitID..'].x = '..SpawnTemplate.units[UnitID].x..', SpawnTemplate.units['..UnitID..'].y = '..SpawnTemplate.units[UnitID].y) - local UnitTemplate = SpawnTemplate.units[UnitID] - local SX = UnitTemplate.x - local SY = UnitTemplate.y - local BX = SpawnTemplate.route.points[1].x - local BY = SpawnTemplate.route.points[1].y - local TX = PointVec3.x + (SX-BX) - local TY = PointVec3.z + (SY-BY) - SpawnTemplate.units[UnitID].x = TX - SpawnTemplate.units[UnitID].y = TY - SpawnTemplate.units[UnitID].alt = PointVec3.y - SpawnTemplate.units[UnitID].heading = math.rad(heading) - self:T('After Translation SpawnTemplate.units['..UnitID..'].x = '..SpawnTemplate.units[UnitID].x..', SpawnTemplate.units['..UnitID..'].y = '..SpawnTemplate.units[UnitID].y) - end - - -- Copy waypoints into spawntemplate. By this we avoid the nasty DCS "landing bug" :) - for i,wp in ipairs(waypoints) do - SpawnTemplate.route.points[i]=wp - end - - -- Also modify x,y of the template. Not sure why. - SpawnTemplate.x = PointVec3.x - SpawnTemplate.y = PointVec3.z - --SpawnTemplate.uncontrolled=true - - -- Update modified template for spawn group. - self.SpawnGroups[self.SpawnIndex].SpawnTemplate=SpawnTemplate - - self:T(SpawnTemplate) - end - end -end ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -2381,7 +2370,7 @@ end -- @param #number d Distance between the two airports [m]. -- @param #number phi Angle between departure and destination [rad]. -- @param #number h0 Height [m] of departure airport. Note we implicitly assume that the height difference between departure and destination is negligible. --- @return #number Maximal flight level in meters. +-- @return #number Maximal flight level in meters. function RAT:_FLmax(alpha, beta, d, phi, h0) -- Solve ASA triangle for one side (d) and two adjacent angles (alpha, beta) given. local gamma=math.rad(180)-alpha-beta @@ -2402,6 +2391,18 @@ function RAT:_FLmax(alpha, beta, d, phi, h0) return h3+h0 end +--- Calculate min distance between departure and destination for given minimum flight level and climb/decent rates +-- @param #RAT self +-- @param #number alpha Angle of climb [rad]. +-- @param #number beta Angle of descent [rad]. +-- @param #number h min height AGL. +-- @return #number Minimum distance between departure and destiantion. +function RAT:_MinDistance(alpha, beta, h) + local d1=h/math.tan(alpha) + local d2=h/math.tan(beta) + return d1+d2 +end + --- Test if an airport exists on the current map. -- @param #RAT self @@ -2560,11 +2561,23 @@ function RAT:_Random_Gaussian(x0, sigma, xmin, xmax) -- Cut-off distribution at xmin. if xmin then - r=math.max(r, xmin) + if rxmax then + if xmin then + r=math.max(math.min(x0,xmax),xmin) + else + r=math.min(x0,xmax) + end + end end return r @@ -2615,4 +2628,94 @@ function RAT:_DeleteMarkers() --self:E({"self ids after: ", self.markerids}) end +--- Utility function which checks if table contains a specific value. +-- @param #RAT self +-- @param #table tab Table with elements to check. +-- @param #string val The value we are looking for. +-- @return #boolean True if element in the list, false otherwise. +function RAT:has_value (tab, val) + for _,value in pairs(tab) do + if value == val then + return true + end + end + return false +end + +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +--- Modifies the template of the group to be spawned. +-- In particular, the waypoints of the group's flight plan are copied into the spawn template. +-- This allows to spawn at airports and also land at other airports, i.e. circumventing the DCS "landing bug". +-- @param #RAT self +-- @param #table waypoints The waypoints of the AI flight plan. +function RAT:_ModifySpawnTemplate(waypoints) + + -- The 3D vector of the first waypoint, i.e. where we actually spawn the template group. + local PointVec3 = {x=waypoints[1].x, y=waypoints[1].alt, z=waypoints[1].y} + + -- Heading from first to seconds waypoints to align units in case of air start. + local heading = self:_Course(waypoints[1], waypoints[2]) + + if self:_GetSpawnIndex(self.SpawnIndex+1) then + + local SpawnTemplate = self.SpawnGroups[self.SpawnIndex].SpawnTemplate + + if SpawnTemplate then + self:T(SpawnTemplate) + + -- Translate the position of the Group Template to the Vec3. + for UnitID = 1, #SpawnTemplate.units do + self:T('Before Translation SpawnTemplate.units['..UnitID..'].x = '..SpawnTemplate.units[UnitID].x..', SpawnTemplate.units['..UnitID..'].y = '..SpawnTemplate.units[UnitID].y) + + -- Tranlate position. + local UnitTemplate = SpawnTemplate.units[UnitID] + local SX = UnitTemplate.x + local SY = UnitTemplate.y + local BX = SpawnTemplate.route.points[1].x + local BY = SpawnTemplate.route.points[1].y + local TX = PointVec3.x + (SX-BX) + local TY = PointVec3.z + (SY-BY) + SpawnTemplate.units[UnitID].x = TX + SpawnTemplate.units[UnitID].y = TY + SpawnTemplate.units[UnitID].alt = PointVec3.y + SpawnTemplate.units[UnitID].heading = math.rad(heading) + + -- Set (another) livery. + if self.livery then + SpawnTemplate.units[UnitID].livery_id = self.livery[math.random(#self.livery)] + end + + --SpawnTemplate.units[UnitID]["type"] = "Tu-142" + + -- Set AI skill. + SpawnTemplate.units[UnitID]["skill"] = self.skill + + -- Onboard number. + SpawnTemplate.units[UnitID]["onboard_num"] = self.SpawnIndex + + -- Parking spot. + --SpawnTemplate.units[UnitID]["parking"]=19 + self:T('After Translation SpawnTemplate.units['..UnitID..'].x = '..SpawnTemplate.units[UnitID].x..', SpawnTemplate.units['..UnitID..'].y = '..SpawnTemplate.units[UnitID].y) + + end + + -- Copy waypoints into spawntemplate. By this we avoid the nasty DCS "landing bug" :) + for i,wp in ipairs(waypoints) do + SpawnTemplate.route.points[i]=wp + end + + -- Also modify x,y of the template. Not sure why. + SpawnTemplate.x = PointVec3.x + SpawnTemplate.y = PointVec3.z + --SpawnTemplate.uncontrolled=true + + -- Update modified template for spawn group. + self.SpawnGroups[self.SpawnIndex].SpawnTemplate=SpawnTemplate + + self:T(SpawnTemplate) + end + end +end + ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/docs/Documentation/AI_RAT.html b/docs/Documentation/AI_RAT.html deleted file mode 100644 index 96a34ce57..000000000 --- a/docs/Documentation/AI_RAT.html +++ /dev/null @@ -1,3196 +0,0 @@ - - - - - - -
-
- -
-
-
-
- -
-

Module AI_RAT

- -
    -
  • Functional -- Create random airtraffic in your missions.
  • -
- - -

-Banner Image

- -
- -

The documentation of the SPAWN class can be found further in this document.

- -
- -

Global(s)

- - - - - - - - - -
RAT -

RAT class

-
myid -

Some ID to identify where we are

-

string myid

-
-

Type RAT

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
RAT.AlphaDescent - -
RAT.ClassName - -
RAT:Commute(switch) -

Aircraft will commute between their departure and destination airports.

-
RAT:ContinueJourney(switch) -

Aircraft will continue their journey from their destination.

-
RAT.FLmaxuser - -
RAT.FLminuser - -
RAT.FLuser - -
RAT.Menu - -
RAT.MenuF10 -

Main F10 menu.

-
RAT:New(groupname) -

Create a new RAT object.

-
RAT:PlaceMarkers(switch) -

Place markers of waypoints on the F10 map.

-
RAT.RAT - -
RAT.ROE -

RAT rules of engagement.

-
RAT.ROT -

RAT reaction to threat.

-
RAT:RespawnAfterLanding(delay) -

Make aircraft respawn the moment they land rather than at engine shut down.

-
RAT:SetClimbRate(rate) -

Set the climb rate.

-
RAT:SetCoalition(friendly) -

Set the friendly coalitions from which the airports can be used as departure or destination.

-
RAT:SetDeparture(names) -

Set possible departure ports.

-
RAT:SetDescentAngle(angle) -

Set the angle of descent.

-
RAT:SetDestination(names) -

Set name of destination airport for the AI aircraft.

-
RAT:SetFL(height) -

Set flight level.

-
RAT:SetFLcruise(height) -

Set flight level of cruising part.

-
RAT:SetFLmax(height) -

Set max flight level.

-
RAT:SetFLmin(height) -

Set min flight level.

-
RAT:SetMaxCruiseSpeed(speed) -

Set the maximum cruise speed of the aircraft.

-
RAT:SetMaxDistance(dist) -

Set maximum distance between departure and destination.

-
RAT:SetMinDistance(dist) -

Set minimum distance between departure and destination.

-
RAT:SetROE(roe) -

Set rules of engagement (ROE).

-
RAT:SetROT(rot) -

Set reaction to threat (ROT).

-
RAT:SetSpawnDelay(delay) -

Set the delay before first group is spawned.

-
RAT:SetSpawnInterval(interval) -

Set the interval between spawnings of the template group.

-
RAT:SetTakeoff(type) -

Set takeoff type.

-
RAT:Spawn(naircraft) -

Triggers the spawning of AI aircraft.

-
RAT:Status(message, forID) -

Report status of RAT groups.

-
RAT:StatusReports(switch) -

Aircraft report status messages.

-
RAT.SubMenuName - -
RAT.Vclimb - -
RAT.Vcruisemax - -
RAT:_AirportExists(name) -

Test if an airport exists on the current map.

-
RAT:_Course(a, b) -

Determine the heading from point a to point b.

-
RAT:_Debug(switch) -

Turn debug messages on or off.

-
RAT:_DeleteMarkers(ids) -

Delete all markers on F10 map.

-
RAT:_Despawn(group) -

Despawn unit.

-
RAT:_EngineStartup(EventData) -

Function is executed when a unit starts its engines.

-
RAT:_FLmax(alpha, beta, d, phi, h0) -

Calculate the max flight level for a given distance and fixed climb and descent rates.

-
RAT:_GetAirportsOfCoalition() -

Get all "friendly" airports of the current map.

-
RAT:_GetAirportsOfMap() -

Get all airports of the current map.

-
RAT:_GetDestinations(q, minrange, maxrange) -

Get all possible destination airports depending on departure position.

-
RAT:_GetLife(group) -

Get (relative) life of first unit of a group.

-
RAT:_InitAircraft(DCSgroup) -

Initialize basic parameters of the aircraft based on its (template) group in the mission editor.

-
RAT:_ModifySpawnTemplate(waypoints) -

Modifies the template of the group to be spawned.

-
RAT:_OnBirth(EventData) -

Function is executed when a unit is spawned.

-
RAT:_OnCrash(EventData) -

Function is executed when a unit crashes.

-
RAT:_OnDead(EventData) -

Function is executed when a unit is dead.

-
RAT:_OnEngineShutdown(EventData) -

Function is executed when a unit shuts down its engines.

-
RAT:_OnLand(EventData) -

Function is executed when a unit lands.

-
RAT:_OnTakeoff(EventData) -

Function is executed when a unit takes off.

-
RAT:_PickDeparture(takeoff) -

Set the departure airport of the AI.

-
RAT:_PickDestination(destinations, _random) -

Set the destination airport of the AI.

-
RAT:_PlaceMarkers(waypoints) -

Place markers of the waypoints.

-
RAT:_Randomize(value, fac, lower, upper) -

Randomize a value by a certain amount.

-
RAT:_Respawn(group) -

Respawn a group.

-
RAT:_Routeinfo(waypoints, comment) -

Provide information about the assigned flightplan.

-
RAT:_SetCoalitionTable() -

Create a table with the valid coalitions for departure and destination airports.

-
RAT:_SetMarker(text, wp) -

Set a marker visible for all on the F10 map.

-
RAT:_SetROE(group, roe) -

Set ROE for a group.

-
RAT:_SetROT(group, rot) -

Set ROT for a group.

-
RAT:_SetRoute(Takeoff, _departure, _destination, takeoff) -

Set the route of the AI plane.

-
RAT:_SetStatus(group, status) -

Set status of group.

-
RAT:_SpawnWithRoute(_departure, _destination) -

Spawn the AI aircraft with a route.

-
RAT:_TaskHolding(P1, Altitude, Speed, Duration) -

Orbit at a specified position at a specified alititude with a specified speed.

-
RAT:_Waypoint(Type, Coord, Speed, Altitude, Airport) -

Create a waypoint that can be used with the Route command.

-
RAT.aircraft - -
RAT.airports - -
RAT.airports_map - -
RAT.alive - -
RAT.cat -

RAT categories.

-
RAT.category - -
RAT.coal -

RAT friendly coalitions.

-
RAT.coalition - -
RAT.commute - -
RAT.continuejourney - -
RAT.ctable - -
RAT.debug - -
RAT.departure_ports - -
RAT.departure_zones - -
RAT.destination_ports - -
RAT.f10menu - -
RAT.friendly - -
RAT.markerid -

Running number of placed markers on the F10 map.

-
RAT.markerids - -
RAT.maxdist - -
RAT.mindist - -
RAT.placemarkers - -
RAT.random_departure - -
RAT.random_destination - -
RAT.ratcraft - -
RAT.reportstatus - -
RAT.respawn_after_landing - -
RAT.respawn_delay - -
RAT.roe - -
RAT.rot - -
RAT.spawndelay - -
RAT.spawninterval - -
RAT.statusinterval - -
RAT.takeoff - -
RAT.unit -

RAT unit conversions.

-
RAT.wp -

RAT waypoint type.

-
- -

Global(s)

-
-
- - #RAT - -RAT - -
-
- -

RAT class

- -
-
-
-
- - #string - -myid - -
-
- -

Some ID to identify where we are

-

string myid

- -
-
-

Type AI_RAT

- -

Type RAT

- -

RAT class

- -

Field(s)

-
-
- - #number - -RAT.AlphaDescent - -
-
- - - -
-
-
-
- - #string - -RAT.ClassName - -
-
- - - -
-
-
-
- - -RAT:Commute(switch) - -
-
- -

Aircraft will commute between their departure and destination airports.

- - -

Note, this option is not available if aircraft are spawned in air since they don't have a valid departure airport to fly back to.

- -

Parameter

-
    -
  • - -

    #boolean switch : -Turn commute on=true or off=false. If no value is given switch=true.

    - -
  • -
-
-
-
-
- - -RAT:ContinueJourney(switch) - -
-
- -

Aircraft will continue their journey from their destination.

- - -

This means they are respawned at their destination and get a new random destination.

- -

Parameter

-
    -
  • - -

    #boolean switch : -Turn journey on=true or off=false. If no value is given switch=true.

    - -
  • -
-
-
-
-
- - #number - -RAT.FLmaxuser - -
-
- - - -
-
-
-
- - #number - -RAT.FLminuser - -
-
- - - -
-
-
-
- - #number - -RAT.FLuser - -
-
- - - -
-
-
-
- - #table - -RAT.Menu - -
-
- - - -
-
-
-
- - #RAT - -RAT.MenuF10 - -
-
- -

Main F10 menu.

- -
-
-
-
- - -RAT:New(groupname) - -
-
- -

Create a new RAT object.

- -

Parameter

-
    -
  • - -

    #string groupname : -Name of the group as defined in the mission editor. This group is serving as a template for all spawned units.

    - -
  • -
-

Return values

-
    -
  1. - -

    #RAT: -Object of RAT class.

    - -
  2. -
  3. - -

    #nil: -If the group does not exist in the mission editor.

    - -
  4. -
-

Usage:

-
yak:RAT("RAT_YAK") will create a RAT object called "yak". The template group in the mission editor must have the name "RAT_YAK".
- -
-
-
-
- - -RAT:PlaceMarkers(switch) - -
-
- -

Place markers of waypoints on the F10 map.

- - -

Default is off.

- -

Parameter

-
    -
  • - -

    #boolean switch : -true=yes, false=no.

    - -
  • -
-
-
-
-
- - #table - -RAT.RAT - -
-
- - - -
-
-
-
- - #RAT - -RAT.ROE - -
-
- -

RAT rules of engagement.

- -
-
-
-
- - #RAT - -RAT.ROT - -
-
- -

RAT reaction to threat.

- -
-
-
-
- - -RAT:RespawnAfterLanding(delay) - -
-
- -

Make aircraft respawn the moment they land rather than at engine shut down.

- -

Parameter

-
    -
  • - -

    #number delay : -(Optional) Delay in seconds until respawn happens after landing. Default is 180 seconds.

    - -
  • -
-
-
-
-
- - -RAT:SetClimbRate(rate) - -
-
- -

Set the climb rate.

- - -

Default is 1500 ft/min. This automatically sets the climb angle.

- -

Parameter

-
    -
  • - -

    #number rate : -Climb rate in ft/min.

    - -
  • -
-
-
-
-
- - -RAT:SetCoalition(friendly) - -
-
- -

Set the friendly coalitions from which the airports can be used as departure or destination.

- -

Parameter

-
    -
  • - -

    #string friendly : -"same"=own coalition+neutral (default), "all"=neutral+red+blue", "sameonly"=own coalition only, "blue"=blue+neutral, "blueonly"=blue, "red"=red+neutral, "redonly"=red, "neutral"=neutral. -Default is "same", so aircraft will use airports of the coalition their spawn template has plus all neutral airports.

    - -
  • -
-

Usages:

-
    -
  • yak:SetCoalition("all") will spawn aircraft randomly on airports of any coaliton, i.e. red, blue and neutral, regardless of its own coalition.
  • -
  • yak:SetCoalition("redonly") will spawn aircraft randomly on airports belonging to the red coalition _only_.
  • -
- -
-
-
-
- - -RAT:SetDeparture(names) - -
-
- -

Set possible departure ports.

- - -

This can be an airport or a zone defined in the mission editor.

- -

Parameter

-
    -
  • - -

    #string names : -Name or table of names of departure airports or zones.

    - -
  • -
-

Usages:

-
    -
  • RAT:SetDeparture("Sochi-Adler") will spawn RAT objects at Sochi-Adler airport.
  • -
  • RAT:SetDeparture({"Sochi-Adler", "Gudauta"}) will spawn RAT aircraft radomly at Sochi-Adler or Gudauta airport.
  • -
  • RAT:SetDeparture({"Zone A", "Gudauta"}) will spawn RAT aircraft in air randomly within Zone A, which has to be defined in the mission editor, or within a zone around Gudauta airport. Note that this also requires RAT:takeoff("air") to be set.
  • -
- -
-
-
-
- - -RAT:SetDescentAngle(angle) - -
-
- -

Set the angle of descent.

- - -

Default is 3.6 degrees, which corresponds to 3000 ft descent after one mile of travel.

- -

Parameter

-
    -
  • - -

    #number angle : -Angle of descent in degrees.

    - -
  • -
-
-
-
-
- - -RAT:SetDestination(names) - -
-
- -

Set name of destination airport for the AI aircraft.

- - -

If no name is given an airport from the friendly coalition(s) is chosen randomly.

- -

Parameter

-
    -
  • - -

    #string names : -Name of the destination airport or table of destination airports.

    - -
  • -
-

Usage:

-
RAT:SetDestination("Krymsk") makes all aircraft of this RAT oject fly to Krymsk airport.
- -
-
-
-
- - -RAT:SetFL(height) - -
-
- -

Set flight level.

- - -

Setting this value will overrule all other logic. Aircraft will try to fly at this height regardless.

- -

Parameter

-
    -
  • - -

    #number height : -FL in hundrets of feet. E.g. FL200 = 20000 ft ASL.

    - -
  • -
-
-
-
-
- - -RAT:SetFLcruise(height) - -
-
- -

Set flight level of cruising part.

- - -

This is still be checked for consitancy with selected route and prone to radomization. -Default is FL200 for planes and FL005 for helicopters.

- -

Parameter

-
    -
  • - -

    #number height : -FL in hundrets of feet. E.g. FL200 = 20000 ft ASL.

    - -
  • -
-
-
-
-
- - -RAT:SetFLmax(height) - -
-
- -

Set max flight level.

- - -

Setting this value will overrule all other logic. Aircraft will try to fly at less than this FL regardless.

- -

Parameter

-
    -
  • - -

    #number height : -Maximum FL in hundrets of feet.

    - -
  • -
-
-
-
-
- - -RAT:SetFLmin(height) - -
-
- -

Set min flight level.

- - -

Setting this value will overrule all other logic. Aircraft will try to fly at higher than this FL regardless.

- -

Parameter

-
    -
  • - -

    #number height : -Maximum FL in hundrets of feet.

    - -
  • -
-
-
-
-
- - -RAT:SetMaxCruiseSpeed(speed) - -
-
- -

Set the maximum cruise speed of the aircraft.

- -

Parameter

-
    -
  • - -

    #number speed : -Speed in km/h.

    - -
  • -
-
-
-
-
- - -RAT:SetMaxDistance(dist) - -
-
- -

Set maximum distance between departure and destination.

- - -

Default is 5000 km but aircarft range is also taken into account automatically.

- -

Parameter

-
    -
  • - -

    #number dist : -Distance in km.

    - -
  • -
-
-
-
-
- - -RAT:SetMinDistance(dist) - -
-
- -

Set minimum distance between departure and destination.

- - -

Default is 5 km. -Minimum distance should not be smaller than ~500(?) meters to ensure that departure and destination are different.

- -

Parameter

-
    -
  • - -

    #number dist : -Distance in km.

    - -
  • -
-
-
-
-
- - -RAT:SetROE(roe) - -
-
- -

Set rules of engagement (ROE).

- - -

Default is weapon hold. This is a peaceful class.

- -

Parameter

-
    -
  • - -

    #string roe : -"hold" = weapon hold, "return" = return fire, "free" = weapons free.

    - -
  • -
-
-
-
-
- - -RAT:SetROT(rot) - -
-
- -

Set reaction to threat (ROT).

- - -

Default is no reaction, i.e. aircraft will simply ignore all enemies.

- -

Parameter

-
    -
  • - -

    #string rot : -"noreaction = no reactino, "passive" = passive defence, "evade" = weapons free.

    - -
  • -
-
-
-
-
- - -RAT:SetSpawnDelay(delay) - -
-
- -

Set the delay before first group is spawned.

- - -

Minimum delay is 0.5 seconds.

- -

Parameter

-
    -
  • - -

    #number delay : -Delay in seconds.

    - -
  • -
-
-
-
-
- - -RAT:SetSpawnInterval(interval) - -
-
- -

Set the interval between spawnings of the template group.

- - -

Minimum interval is 0.5 seconds.

- -

Parameter

-
    -
  • - -

    #number interval : -Interval in seconds.

    - -
  • -
-
-
-
-
- - -RAT:SetTakeoff(type) - -
-
- -

Set takeoff type.

- - -

Starting cold at airport, starting hot at airport, starting at runway, starting in the air. -Default is "takeoff-hot" for a start at airport with engines already running.

- -

Parameter

-
    -
  • - -

    #string type : -Type can be "takeoff-cold" or "cold", "takeoff-hot" or "hot", "takeoff-runway" or "runway", "air".

    - -
  • -
-

Usages:

-
    -
  • RAT:Takeoff("hot") will spawn RAT objects at airports with engines started.
  • -
  • RAT:Takeoff("cold") will spawn RAT objects at airports with engines off.
  • -
  • RAT:Takeoff("air") will spawn RAT objects in air over random airports or within pre-defined zones. 
  • -
- -
-
-
-
- - -RAT:Spawn(naircraft) - -
-
- -

Triggers the spawning of AI aircraft.

- - -

Note that all additional options should be set before giving the spawn command.

- -

Parameter

-
    -
  • - -

    #number naircraft : -(Optional) Number of aircraft to spawn. Default is one aircraft.

    - -
  • -
-

Usage:

-
yak:Spawn(5) will spawn five aircraft. By default aircraft will spawn at neutral and red airports if the template group is part of the red coaliton.
- -
-
-
-
- - -RAT:Status(message, forID) - -
-
- -

Report status of RAT groups.

- -

Parameters

-
    -
  • - -

    #boolean message : -(Optional) Send message if true.

    - -
  • -
  • - -

    #number forID : -(Optional) Send message only for this ID.

    - -
  • -
-
-
-
-
- - -RAT:StatusReports(switch) - -
-
- -

Aircraft report status messages.

- - -

Default is off.

- -

Parameter

-
    -
  • - -

    #boolean switch : -true=on, false=off.

    - -
  • -
-
-
-
-
- - #string - -RAT.SubMenuName - -
-
- - - -
-
-
-
- - #number - -RAT.Vclimb - -
-
- - - -
-
-
-
- - #number - -RAT.Vcruisemax - -
-
- - - -
-
-
-
- - -RAT:_AirportExists(name) - -
-
- -

Test if an airport exists on the current map.

- -

Parameter

-
    -
  • - -

    #string name :

    - -
  • -
-

Return value

- -

#boolean: -True if airport exsits, false otherwise.

- -
-
-
-
- - -RAT:_Course(a, b) - -
-
- -

Determine the heading from point a to point b.

- -

Parameters

- -

Return value

- -

#number: -Heading/angle in degrees.

- -
-
-
-
- - -RAT:_Debug(switch) - -
-
- -

Turn debug messages on or off.

- - -

Default is off.

- -

Parameter

-
    -
  • - -

    #boolean switch : -true turn messages on, false=off.

    - -
  • -
-
-
-
-
- - -RAT:_DeleteMarkers(ids) - -
-
- -

Delete all markers on F10 map.

- -

Parameter

-
    -
  • - -

    #table ids : -(Optional) Table holding the marker IDs to be deleted.

    - -
  • -
-
-
-
-
- - -RAT:_Despawn(group) - -
-
- -

Despawn unit.

- - -

Unit gets destoyed and group is set to nil. -Index of ratcraft array is taken from spawned group name.

- -

Parameter

- -
-
-
-
- - -RAT:_EngineStartup(EventData) - -
-
- -

Function is executed when a unit starts its engines.

- -

Parameter

-
    -
  • - -

    EventData :

    - -
  • -
-
-
-
-
- - -RAT:_FLmax(alpha, beta, d, phi, h0) - -
-
- -

Calculate the max flight level for a given distance and fixed climb and descent rates.

- - -

In other words we have a distance between two airports and want to know how high we -can climb before we must descent again to arrive at the destination without any level/cruising part.

- -

Parameters

-
    -
  • - -

    #number alpha : -Angle of climb [rad].

    - -
  • -
  • - -

    #number beta : -Angle of descent [rad].

    - -
  • -
  • - -

    #number d : -Distance between the two airports [m].

    - -
  • -
  • - -

    #number phi : -Angle between departure and destination [rad].

    - -
  • -
  • - -

    #number h0 : -Height [m] of departure airport. Note we implicitly assume that the height difference between departure and destination is negligible.

    - -
  • -
-

Return value

- -

#number: - Maximal flight level in meters.

- -
-
-
-
- - -RAT:_GetAirportsOfCoalition() - -
-
- -

Get all "friendly" airports of the current map.

- -
-
-
-
- - -RAT:_GetAirportsOfMap() - -
-
- -

Get all airports of the current map.

- -
-
-
-
- - -RAT:_GetDestinations(q, minrange, maxrange) - -
-
- -

Get all possible destination airports depending on departure position.

- - -

The list is sorted w.r.t. distance to departure position.

- -

Parameters

-
    -
  • - -

    Core.Point#COORDINATE q : -Coordinate of the departure point.

    - -
  • -
  • - -

    #number minrange : -Minimum range to q in meters.

    - -
  • -
  • - -

    #number maxrange : -Maximum range to q in meters.

    - -
  • -
-

Return values

-
    -
  1. - -

    #table: -Table with possible destination airports.

    - -
  2. -
  3. - -

    #nil: -If no airports could be found.

    - -
  4. -
-
-
-
-
- - -RAT:_GetLife(group) - -
-
- -

Get (relative) life of first unit of a group.

- -

Parameter

- -

Return value

- -

#number: -Life of unit in percent.

- -
-
-
-
- - -RAT:_InitAircraft(DCSgroup) - -
-
- -

Initialize basic parameters of the aircraft based on its (template) group in the mission editor.

- -

Parameter

- -
-
-
-
- - -RAT:_ModifySpawnTemplate(waypoints) - -
-
- -

Modifies the template of the group to be spawned.

- - -

In particular, the waypoints of the group's flight plan are copied into the spawn template. -This allows to spawn at airports and also land at other airports, i.e. circumventing the DCS "landing bug".

- -

Parameter

-
    -
  • - -

    #table waypoints : -The waypoints of the AI flight plan.

    - -
  • -
-
-
-
-
- - -RAT:_OnBirth(EventData) - -
-
- -

Function is executed when a unit is spawned.

- -

Parameter

-
    -
  • - -

    EventData :

    - -
  • -
-
-
-
-
- - -RAT:_OnCrash(EventData) - -
-
- -

Function is executed when a unit crashes.

- -

Parameter

-
    -
  • - -

    EventData :

    - -
  • -
-
-
-
-
- - -RAT:_OnDead(EventData) - -
-
- -

Function is executed when a unit is dead.

- -

Parameter

-
    -
  • - -

    EventData :

    - -
  • -
-
-
-
-
- - -RAT:_OnEngineShutdown(EventData) - -
-
- -

Function is executed when a unit shuts down its engines.

- -

Parameter

-
    -
  • - -

    EventData :

    - -
  • -
-
-
-
-
- - -RAT:_OnLand(EventData) - -
-
- -

Function is executed when a unit lands.

- -

Parameter

-
    -
  • - -

    EventData :

    - -
  • -
-
-
-
-
- - -RAT:_OnTakeoff(EventData) - -
-
- -

Function is executed when a unit takes off.

- -

Parameter

-
    -
  • - -

    EventData :

    - -
  • -
-
-
-
-
- - -RAT:_PickDeparture(takeoff) - -
-
- -

Set the departure airport of the AI.

- - -

If no airport name is given explicitly an airport from the coalition is chosen randomly. -If takeoff style is set to "air", we use zones around the airports or the zones specified by user input.

- -

Parameter

-
    -
  • - -

    #number takeoff : -Takeoff type.

    - -
  • -
-

Return values

-
    -
  1. - -

    Wrapper.Airbase#AIRBASE: -Departure airport if spawning at airport.

    - -
  2. -
  3. - -

    Coore.Zone#ZONE: -Departure zone if spawning in air.

    - -
  4. -
-
-
-
-
- - -RAT:_PickDestination(destinations, _random) - -
-
- -

Set the destination airport of the AI.

- - -

If no airport name is given an airport from the coalition is chosen randomly.

- -

Parameters

-
    -
  • - -

    #table destinations : -Table with destination airports.

    - -
  • -
  • - -

    #boolean _random : -Optional switch to activate a random selection of airports.

    - -
  • -
-

Return value

- -

Wrapper.Airbase#AIRBASE: -Destination airport.

- -
-
-
-
- - -RAT:_PlaceMarkers(waypoints) - -
-
- -

Place markers of the waypoints.

- - -

Note we assume a very specific number and type of waypoints here.

- -

Parameter

-
    -
  • - -

    #table waypoints : -Table with waypoints.

    - -
  • -
-
-
-
-
- - -RAT:_Randomize(value, fac, lower, upper) - -
-
- -

Randomize a value by a certain amount.

- -

Parameters

-
    -
  • - -

    #number value : -The value which should be randomized

    - -
  • -
  • - -

    #number fac : -Randomization factor.

    - -
  • -
  • - -

    #number lower : -(Optional) Lower limit of the returned value.

    - -
  • -
  • - -

    #number upper : -(Optional) Upper limit of the returned value.

    - -
  • -
-

Return value

- -

#number: -Randomized value.

- -

Usages:

-
    -
  • _Randomize(100, 0.1) returns a value between 90 and 110, i.e. a plus/minus ten percent variation.
  • -
  • _Randomize(100, 0.5, nil, 120) returns a value between 50 and 120, i.e. a plus/minus fivty percent variation with upper bound 120.
  • -
- -
-
-
-
- - -RAT:_Respawn(group) - -
-
- -

Respawn a group.

- -

Parameter

- -
-
-
-
- - -RAT:_Routeinfo(waypoints, comment) - -
-
- -

Provide information about the assigned flightplan.

- -

Parameters

-
    -
  • - -

    #table waypoints : -Waypoints of the flight plan.

    - -
  • -
  • - -

    #string comment : -Some comment to identify the provided information.

    - -
  • -
-

Return value

- -

#number: -total Total route length in meters.

- -
-
-
-
- - -RAT:_SetCoalitionTable() - -
-
- -

Create a table with the valid coalitions for departure and destination airports.

- -
-
-
-
- - -RAT:_SetMarker(text, wp) - -
-
- -

Set a marker visible for all on the F10 map.

- -

Parameters

-
    -
  • - -

    #string text : -Info text displayed at maker.

    - -
  • -
  • - -

    #table wp : -Position of marker coming in as waypoint, i.e. has x, y and alt components.

    - -
  • -
-
-
-
-
- - -RAT:_SetROE(group, roe) - -
-
- -

Set ROE for a group.

- -

Parameters

-
    -
  • - -

    Wrapper.Group#GROUP group : -Group for which the ROE is set.

    - -
  • -
  • - -

    #string roe : -ROE of group.

    - -
  • -
-
-
-
-
- - -RAT:_SetROT(group, rot) - -
-
- -

Set ROT for a group.

- -

Parameters

-
    -
  • - -

    Wrapper.Group#GROUP group : -Group for which the ROT is set.

    - -
  • -
  • - -

    #string rot : -ROT of group.

    - -
  • -
-
-
-
-
- - -RAT:_SetRoute(Takeoff, _departure, _destination, takeoff) - -
-
- -

Set the route of the AI plane.

- - -

Due to DCS landing bug, this has to be done before the unit is spawned.

- -

Parameters

- -

Return values

-
    -
  1. - -

    Wrapper.Airport#AIRBASE: -Departure airbase.

    - -
  2. -
  3. - -

    Wrapper.Airport#AIRBASE: -Destination airbase.

    - -
  4. -
  5. - -

    #table: -Table of flight plan waypoints.

    - -
  6. -
-
-
-
-
- - -RAT:_SetStatus(group, status) - -
-
- -

Set status of group.

- -

Parameters

-
    -
  • - -

    group :

    - -
  • -
  • - -

    status :

    - -
  • -
-
-
-
-
- - -RAT:_SpawnWithRoute(_departure, _destination) - -
-
- -

Spawn the AI aircraft with a route.

- - -

Sets the departure and destination airports and waypoints. -Modifies the spawn template. -Sets ROE/ROT. -Initializes the ratcraft array and group menu.

- -

Parameters

-
    -
  • - -

    #string _departure : -(Optional) Name of departure airbase.

    - -
  • -
  • - -

    #string _destination : -(Optional) Name of destination airbase.

    - -
  • -
-
-
-
-
- - -RAT:_TaskHolding(P1, Altitude, Speed, Duration) - -
-
- -

Orbit at a specified position at a specified alititude with a specified speed.

- -

Parameters

-
    -
  • - -

    Dcs.DCSTypes#Vec2 P1 : -The point to hold the position.

    - -
  • -
  • - -

    #number Altitude : -The altitude ASL at which to hold the position.

    - -
  • -
  • - -

    #number Speed : -The speed flying when holding the position in m/s.

    - -
  • -
  • - -

    #number Duration : -Duration of holding pattern in seconds.

    - -
  • -
-

Return value

- -

Dcs.DCSTasking.Task#Task: -DCSTask

- -
-
-
-
- - -RAT:_Waypoint(Type, Coord, Speed, Altitude, Airport) - -
-
- -

Create a waypoint that can be used with the Route command.

- -

Parameters

-
    -
  • - -

    #number Type : -Type of waypoint.

    - -
  • -
  • - -

    Core.Point#COORDINATE Coord : -3D coordinate of the waypoint.

    - -
  • -
  • - -

    #number Speed : -Speed in m/s.

    - -
  • -
  • - -

    #number Altitude : -Altitude in m.

    - -
  • -
  • - -

    Wrapper.Airbase#AIRBASE Airport : -Airport of object to spawn.

    - -
  • -
-

Return value

- -

#table: -Waypoints for DCS task route or spawn template.

- -
-
-
-
- - #table - -RAT.aircraft - -
-
- - - -
-
-
-
- - #table - -RAT.airports - -
-
- - - -
-
-
-
- - #table - -RAT.airports_map - -
-
- - - -
-
-
-
- - #number - -RAT.alive - -
-
- - - -
-
-
-
- - #RAT - -RAT.cat - -
-
- -

RAT categories.

- -
-
-
-
- - #string - -RAT.category - -
-
- - - -
-
-
-
- - #RAT - -RAT.coal - -
-
- -

RAT friendly coalitions.

- -
-
-
-
- - #number - -RAT.coalition - -
-
- - - -
-
-
-
- - #boolean - -RAT.commute - -
-
- - - -
-
-
-
- - #boolean - -RAT.continuejourney - -
-
- - - -
-
-
-
- - #table - -RAT.ctable - -
-
- - - -
-
-
-
- - #boolean - -RAT.debug - -
-
- - - -
-
-
-
- - #table - -RAT.departure_ports - -
-
- - - -
-
-
-
- - #table - -RAT.departure_zones - -
-
- - - -
-
-
-
- - #table - -RAT.destination_ports - -
-
- - - -
-
-
-
- - #boolean - -RAT.f10menu - -
-
- - - -
-
-
-
- - #string - -RAT.friendly - -
-
- - - -
-
-
-
- - #RAT - -RAT.markerid - -
-
- -

Running number of placed markers on the F10 map.

- -
-
-
-
- - #table - -RAT.markerids - -
-
- - - -
-
-
-
- - #number - -RAT.maxdist - -
-
- - - -
-
-
-
- - #number - -RAT.mindist - -
-
- - - -
-
-
-
- - #boolean - -RAT.placemarkers - -
-
- - - -
-
-
-
- - #boolean - -RAT.random_departure - -
-
- - - -
-
-
-
- - #boolean - -RAT.random_destination - -
-
- - - -
-
-
-
- - #table - -RAT.ratcraft - -
-
- - - -
-
-
-
- - #boolean - -RAT.reportstatus - -
-
- - - -
-
-
-
- - #boolean - -RAT.respawn_after_landing - -
-
- - - -
-
-
-
- - #number - -RAT.respawn_delay - -
-
- - - -
-
-
-
- - #string - -RAT.roe - -
-
- - - -
-
-
-
- - #string - -RAT.rot - -
-
- - - -
-
-
-
- - #number - -RAT.spawndelay - -
-
- - - -
-
-
-
- - #number - -RAT.spawninterval - -
-
- - - -
-
-
-
- - #number - -RAT.statusinterval - -
-
- - - -
-
-
-
- - #string - -RAT.takeoff - -
-
- - - -
-
-
-
- - #RAT - -RAT.unit - -
-
- -

RAT unit conversions.

- -
-
-
-
- - #RAT - -RAT.wp - -
-
- -

RAT waypoint type.

- -
-
- -

Type list

- -
- -
- -