Banner Image

Module Ops.Airwing

Ops - Airwing Warehouse.

Main Features:

  • Manage squadrons.
  • Launch A2A and A2G missions (AUFTRAG)

Example Missions:

Demo missions can be found on github.


Author: funkyfranky


Global(s)

Global AIRWING

I fly because it releases my mind from the tyranny of petty things. -- Antoine de Saint-Exupery


The AIRWING Concept

An AIRWING consists of multiple SQUADRONS.

#AIRWING AIRWING

I fly because it releases my mind from the tyranny of petty things. -- Antoine de Saint-Exupery


The AIRWING Concept

An AIRWING consists of multiple SQUADRONS.

These squadrons "live" in a WAREHOUSE, i.e. a physical structure that is connected to an airbase (airdrome, FRAP or ship). For an airwing to be operational, it needs airframes, weapons/fuel and an airbase.

Create an Airwing

Constructing the Airwing

airwing=AIRWING:New("Warehouse Batumi", "8th Fighter Wing")
airwing:Start()

The first parameter specified the warehouse, i.e. the static building housing the airwing (or the name of the aircraft carrier). The second parameter is optional and sets an alias.

Adding Squadrons

At this point the airwing does not have any assets (aircraft). In order to add these, one needs to first define SQUADRONS.

VFA151=SQUADRON:New("F-14 Group", 8, "VFA-151 (Vigilantes)")
VFA151:AddMissionCapability({AUFTRAG.Type.GCICAP, AUFTRAG.Type.INTERCEPT})

airwing:AddSquadron(VFA151)

This adds eight Tomcat groups beloning to VFA-151 to the airwing. This squadron has the ability to perform combat air patrols and intercepts.

Adding Payloads

Adding pure airframes is not enough. The aircraft also need weapons (and fuel) for certain missions. These must be given to the airwing from template groups defined in the Mission Editor.

-- F-14 payloads for CAP and INTERCEPT. Phoenix are first, sparrows are second choice.
airwing:NewPayload(GROUP:FindByName("F-14 Payload AIM-54C"), 2, {AUFTRAG.Type.INTERCEPT, AUFTRAG.Type.GCICAP}, 80)
airwing:NewPayload(GROUP:FindByName("F-14 Payload AIM-7M"), 20, {AUFTRAG.Type.INTERCEPT, AUFTRAG.Type.GCICAP})

This will add two AIM-54C and 20 AIM-7M payloads.

If the airwing gets an intercept or patrol mission assigned, it will first use the AIM-54s. Once these are consumed, the AIM-7s are attached to the aircraft.

When an airwing does not have a payload for a certain mission type, the mission cannot be carried out.

You can set the number of payloads to "unlimited" by setting its quantity to -1.

Adding Missions

Various mission types can be added easily via the AUFTRAG class.

Once you created an AUFTRAG you can add it to the AIRWING with the :AddMission(mission) function.

This mission will be put into the AIRWING queue. Once the mission start time is reached and all resources (airframes and payloads) are available, the mission is started. If the mission stop time is over (and the mission is not finished), it will be cancelled and removed from the queue. This applies also to mission that were not even started.

Type(s)

Fields and Methods inherited from AIRWING Description

AIRWING:AddAssetToSquadron(Squadron, Nassets)

Add asset group(s) to squadron.

AIRWING:AddPatrolPointAWACS(Coordinate, Altitude, Speed, Heading, LegLength)

Add a patrol Point for AWACS missions.

AIRWING:AddPatrolPointCAP(Coordinate, Altitude, Speed, Heading, LegLength)

Add a patrol Point for CAP missions.

AIRWING:AddPatrolPointRecon(Coordinate, Altitude, Speed, Heading, LegLength)

Add a patrol Point for RECON missions.

AIRWING:AddPatrolPointTANKER(Coordinate, Altitude, Speed, Heading, LegLength, RefuelSystem)

Add a patrol Point for TANKER missions.

AIRWING:AddPayloadCapability(Payload, MissionTypes, Performance)

Add a mission capability to an existing payload.

AIRWING:AddSquadron(Squadron)

Add a squadron to the air wing.

AIRWING:CheckAWACS()

Check how many AWACS missions are assigned and add number of missing missions.

AIRWING:CheckCAP()

Check how many CAP missions are assigned and add number of missing missions.

AIRWING:CheckRECON()

Check how many RECON missions are assigned and add number of missing missions.

AIRWING:CheckRescuhelo()

Check how many Rescue helos are currently in the air.

AIRWING:CheckTANKER()

Check how many TANKER missions are assigned and add number of missing missions.

AIRWING.ClassName

Name of the class.

AIRWING.ConnectedOpsAwacs

AIRWING:CountPayloadsInStock(MissionTypes, UnitTypes, Payloads)

Count payloads in stock.

AIRWING:FetchPayloadFromStock(UnitType, MissionType, Payloads)

Fetch a payload from the airwing resources for a given unit and mission type.

AIRWING:FlightOnMission(FlightGroup, Mission)

Triggers the FSM event "FlightOnMission".

AIRWING:GetPayloadAmount(Payload)

Get amount of payloads available for a given playload.

AIRWING:GetPayloadCapabilities(Payload)

Get capabilities of a given playload.

AIRWING:GetPayloadMissionTypes(Payload)

Get mission types a payload can perform.

AIRWING:GetPayloadPeformance(Payload, MissionType)

Get payload performance for a given type of misson type.

AIRWING:GetSquadron(SquadronName)

Get squadron by name.

AIRWING:GetSquadronOfAsset(Asset)

Get squadron of an asset.

AIRWING:GetTankerForFlight(flightgroup)

Check how many AWACS missions are assigned and add number of missing missions.

AIRWING:IncreasePayloadAmount(Payload, N)

Increase or decrease the amount of available payloads.

AIRWING:New(warehousename, airwingname)

Create a new AIRWING class object for a specific aircraft carrier unit.

AIRWING:NewPatrolPoint(Type, Coordinate, Altitude, Heading, LegLength, Speed, RefuelSystem)

Create a new generic patrol point.

AIRWING:NewPayload(Unit, Npayloads, MissionTypes, Performance)

Add a new payload to the airwing resources.

AIRWING:OnAfterFlightOnMission(From, Event, To, FlightGroup, Mission)

On after "FlightOnMission" event.

AIRWING:RemoveAssetFromSquadron(Asset)

Remove asset from squadron.

AIRWING:RemoveUsingOpsAwacs()

Remove the ability to call back an Ops.AWACS#AWACS object with an FSM call "FlightOnMission(FlightGroup, Mission)".

AIRWING:ReturnPayloadFromAsset(asset)

Return payload from asset back to stock.

AIRWING:SetAirboss(airboss)

Set airboss of this wing.

AIRWING:SetCAPFormation(Formation)

Set CAP flight formation.

AIRWING:SetCapCloseRaceTrack(OnOff)

Set CAP close race track.We'll utilize the AUFTRAG PatrolRaceTrack instead of a standard race track orbit task.

AIRWING:SetCapStartTimeVariation(Start, End)

Set CAP mission start to vary randomly between Start end End seconds.

AIRWING:SetDespawnAfterHolding(Switch)

Set despawn after holding.

AIRWING:SetDespawnAfterLanding(Switch)

Set despawn after landing.

AIRWING:SetNumberAWACS(n)

Set number of AWACS flights constantly in the air.

AIRWING:SetNumberCAP(n)

Set number of CAP flights constantly carried out.

AIRWING:SetNumberRecon(n)

Set number of RECON flights constantly in the air.

AIRWING:SetNumberRescuehelo(n)

Set number of Rescue helo flights constantly in the air.

AIRWING:SetNumberTankerBoom(Nboom)

Set number of TANKER flights with Boom constantly in the air.

AIRWING:SetNumberTankerProbe(Nprobe)

Set number of TANKER flights with Probe constantly in the air.

AIRWING:SetPayloadAmount(Payload, Navailable)

Set the number of payload available.

AIRWING:SetTakeoffAir()

Set takeoff type air.

AIRWING:SetTakeoffCold()

Set takeoff type cold (default).

AIRWING:SetTakeoffHot()

Set takeoff type hot.

AIRWING:SetTakeoffType(TakeoffType)

Set takeoff type.

AIRWING:SetUsingOpsAwacs(ConnectecdAwacs)

Add the ability to call back an Ops.AWACS#AWACS object with an FSM call "FlightOnMission(FlightGroup, Mission)".

AIRWING:ShowPatrolPointMarkers(onoff)

Set markers on the map for Patrol Points.

AIRWING:Start()

Triggers the FSM event "Start".

AIRWING.UpdatePatrolPointMarker(point, self)

Update marker of the patrol point.

AIRWING.UseConnectedOpsAwacs

AIRWING:_GetPatrolData(PatrolPoints, RefuelSystem)

Get patrol data.

AIRWING:_PatrolPointMarkerText(point)

AIRWING:__FlightOnMission(delay, FlightGroup, Mission)

Triggers the FSM event "FlightOnMission" after a delay.

AIRWING:__Start(delay)

Triggers the FSM event "Start" after a delay.

AIRWING:__Stop(delay)

Triggers the FSM event "Stop" after a delay.

AIRWING.airboss

Airboss attached to this wing.

AIRWING.capFormation

If capOptionPatrolRaceTrack is true, set the formation, also.

AIRWING.capOptionPatrolRaceTrack

Use closer patrol race track or standard orbit auftrag.

AIRWING.capOptionVaryEndTime

If set, vary mission start time for CAP missions generated random between capOptionVaryStartTime and capOptionVaryEndTime

AIRWING.capOptionVaryStartTime

If set, vary mission start time for CAP missions generated random between capOptionVaryStartTime and capOptionVaryEndTime

AIRWING.despawnAfterHolding

Aircraft are despawned after holding.

AIRWING.despawnAfterLanding

Aircraft are despawned after landing.

AIRWING.lid

Class id string for output to DCS log file.

AIRWING.markpoints

Display markers on the F10 map.

AIRWING.menu

Table of menu items.

AIRWING.missionqueue

Mission queue table.

AIRWING.nflightsAWACS

Number of AWACS flights constantly in the air.

AIRWING.nflightsCAP

Number of CAP flights constantly in the air.

AIRWING.nflightsRecon

Number of Recon flights constantly in the air.

AIRWING.nflightsRecoveryTanker

AIRWING.nflightsRescueHelo

Number of Rescue helo flights constantly in the air.

AIRWING.nflightsTANKERboom

Number of TANKER flights with BOOM constantly in the air.

AIRWING.nflightsTANKERprobe

Number of TANKER flights with PROBE constantly in the air.

AIRWING:onafterFlightOnMission(From, Event, To, FlightGroup, Mission)

On after "FlightOnMission".

AIRWING:onafterStart(From, Event, To)

Start AIRWING FSM.

AIRWING:onafterStatus(From, Event, To)

Update status.

AIRWING.payloadcounter

Running index of payloads.

AIRWING.payloads

Playloads for specific aircraft and mission types.

AIRWING.pointsAWACS

Table of AWACS points.

AIRWING.pointsCAP

Table of CAP points.

AIRWING.pointsRecon

Table of RECON points.

AIRWING.pointsTANKER

Table of Tanker points.

AIRWING.recoverytanker

The recoverytanker.

AIRWING.rescuehelo

The rescue helo.

AIRWING.squadrons

Table of squadrons.

AIRWING.takeoffType

Take of type.

AIRWING.verbose

Verbosity of output.

AIRWING.version

AIRWING class version.

AIRWING.zonesetAWACS

Set of AWACS zones.

AIRWING.zonesetCAP

Set of CAP zones.

AIRWING.zonesetRECON

Set of RECON zones.

AIRWING.zonesetTANKER

Set of TANKER zones.

Fields and Methods inherited from LEGION Description

AIRWING:AddCohort(Cohort)

Add cohort to cohort table of this legion.

AIRWING:AddMission(Mission)

Add a mission for the legion.

AIRWING:AddOpsTransport(OpsTransport)

Add transport assignment to queue.

AIRWING:AssignAssetsForEscort(Cohorts, Assets, NescortMin, NescortMax, MissionType, TargetTypes, EngageRange)

Recruit and assign assets performing an escort mission for a given asset list.

AIRWING:AssignAssetsForTransport(Legions, CargoAssets, NcarriersMin, NcarriersMax, DeployZone, DisembarkZone, Categories, Attributes, Properties)

Recruit and assign assets performing an OPSTRANSPORT for a given asset list.

AIRWING.CalculateAssetMissionScore(asset, MissionType, TargetVec2, IncludePayload, TotalWeight)

Calculate the mission score of an asset.

AIRWING:CheckMissionQueue()

Check mission queue and assign ONE mission.

AIRWING:CheckTransportQueue()

Check transport queue and assign ONE transport.

AIRWING.ClassName

Name of the class.

AIRWING:CountAssets(InStock, MissionTypes, Attributes)

Count total number of assets of the legion.

AIRWING:CountAssetsOnMission(MissionTypes, Cohort)

Count assets on mission.

AIRWING:CountAssetsWithPayloadsInStock(Payloads, MissionTypes, Attributes)

Count total number of assets in LEGION warehouse stock that also have a payload.

AIRWING:CountMissionsInQueue(MissionTypes)

Count missions in mission queue.

AIRWING:CountPayloadsInStock(MissionTypes, UnitTypes, Payloads)

Count payloads in stock.

AIRWING:DelCohort(Cohort)

Remove cohort from cohor table of this legion.

AIRWING:FetchPayloadFromStock(UnitType, MissionType, Payloads)

Fetch a payload from the airwing resources for a given unit and mission type.

AIRWING:GetAircraftTypes(onlyactive, cohorts)

Get the unit types of this legion.

AIRWING:GetAssetCurrentMission(asset)

Get the current mission of the asset.

AIRWING:GetAssetsOnMission(MissionTypes)

Get assets on mission.

AIRWING:GetMissionByID(mid)

Returns the mission for a given mission ID (Autragsnummer).

AIRWING:GetMissionFromRequest(Request)

Returns the mission for a given request.

AIRWING:GetMissionFromRequestID(RequestID)

Returns the mission for a given request ID.

AIRWING:GetName()

Get name of legion.

AIRWING:GetOpsGroups(MissionTypes, Attributes)

Get OPSGROUPs that are spawned and alive.

AIRWING:GetTransportByID(uid)

Returns the mission for a given ID.

AIRWING:IsAirwing()

Check if the AIRWING class is calling.

AIRWING:IsAssetOnMission(asset, MissionTypes)

Check if an asset is currently on a mission (STARTED or EXECUTING).

AIRWING:IsBrigade()

Check if a BRIGADE class is calling.

AIRWING:IsCohort(CohortName)

Check if cohort is part of this legion.

AIRWING:IsFleet()

Check if the FLEET class is calling.

AIRWING:LegionAssetReturned(Cohort, Asset)

Triggers the FSM event "LegionAssetReturned".

AIRWING:MissionAssign(Mission, Legions)

Triggers the FSM event "MissionAssign".

AIRWING:MissionCancel(Mission)

Triggers the FSM event "MissionCancel".

AIRWING:MissionRequest(Mission, Assets)

Triggers the FSM event "MissionRequest".

AIRWING:New(WarehouseName, LegionName)

Create a new LEGION class object.

AIRWING:OnAfterLegionAssetReturned(From, Event, To, Cohort, Asset)

On after "LegionAssetReturned" event.

AIRWING:OnAfterMissionAssign(From, Event, To, Mission, Legions)

On after "MissionAssign" event.

AIRWING:OnAfterMissionCancel(From, Event, To, Mission)

On after "MissionCancel" event.

AIRWING:OnAfterMissionRequest(From, Event, To, Mission, Assets)

On after "MissionRequest" event.

AIRWING:OnAfterOpsOnMission(From, Event, To, OpsGroup, Mission)

On after "OpsOnMission" event.

AIRWING:OnAfterTransportAssign(From, Event, To, Transport, Legions)

On after "TransportAssign" event.

AIRWING:OnAfterTransportCancel(From, Event, To, Transport)

On after "TransportCancel" event.

AIRWING:OnAfterTransportRequest(From, Event, To, Transport)

On after "TransportRequest" event.

AIRWING:OpsOnMission(OpsGroup, Mission)

Triggers the FSM event "OpsOnMission".

AIRWING.RandomAssetScore

Random score that is added to the asset score in the selection process.

AIRWING:RecruitAssetsForEscort(Mission, Assets)

Recruit assets performing an escort mission for a given asset.

AIRWING:RecruitAssetsForMission(Mission)

Recruit assets for a given mission.

AIRWING:RecruitAssetsForTransport(Transport)

Recruit assets for a given OPS transport.

AIRWING.RecruitCohortAssets(Cohorts, MissionTypeRecruit, MissionTypeOpt, NreqMin, NreqMax, TargetVec2, Payloads, RangeMax, RefuelSystem, CargoWeight, TotalWeight, MaxWeight, Categories, Attributes, Properties, WeaponTypes)

Recruit assets from Cohorts for the given parameters.

AIRWING:RelocateCohort(Cohort, Legion, Delay, NcarriersMin, NcarriersMax, TransportLegions)

Relocate a cohort to another legion.

AIRWING:RemoveMission(Mission)

Remove mission from queue.

AIRWING:ReturnPayloadFromAsset(asset)

Return payload from asset back to stock.

AIRWING:SetTacticalOverviewOn()

Set tactical overview on.

AIRWING:SetVerbosity(VerbosityLevel)

Set verbosity level.

AIRWING:Start()

Triggers the FSM event "Start".

AIRWING:TransportAssign(Transport, Legions)

Triggers the FSM event "TransportAssign".

AIRWING:TransportCancel(Transport)

Triggers the FSM event "TransportCancel".

AIRWING:TransportRequest(Transport)

Triggers the FSM event "TransportRequest".

AIRWING.UnRecruitAssets(Assets, Mission)

Unrecruit assets.

AIRWING:_AddRequest(AssetDescriptor, AssetDescriptorValue, nAsset, Prio, Assignment)

Create a request and add it to the warehouse queue.

AIRWING._CohortCan(Cohort, MissionType, Categories, Attributes, Properties, WeaponTypes, TargetVec2, RangeMax, RefuelSystem, CargoWeight, MaxWeight)

Recruit assets from Cohorts for the given parameters.

AIRWING:_CountPayloads(MissionType, Cohorts, Payloads)

Count payloads of all cohorts for all unit types.

AIRWING:_CreateFlightGroup(asset)

Create a new OPS group after an asset was spawned.

AIRWING:_GetCohort(CohortName)

Get cohort by name.

AIRWING:_GetCohortOfAsset(Asset)

Get cohort of an asset.

AIRWING._GetCohorts(Legions, Cohorts, Operation, OpsQueue)

Get cohorts.

AIRWING._OptimizeAssetSelection(assets, MissionType, TargetVec2, IncludePayload, TotalWeight)

Optimize chosen assets for the mission at hand.

AIRWING:_TacticalOverview()

Display tactical overview.

AIRWING:__LegionAssetReturned(delay, Cohort, Asset)

Triggers the FSM event "LegionAssetReturned" after a delay.

AIRWING:__MissionAssign(delay, Mission, Legions)

Triggers the FSM event "MissionAssign" after a delay.

AIRWING:__MissionCancel(delay, Mission)

Triggers the FSM event "MissionCancel" after a delay.

AIRWING:__MissionRequest(delay, Mission, Assets)

Triggers the FSM event "MissionRequest" after a delay.

AIRWING:__OpsOnMission(delay, OpsGroup, Mission)

Triggers the FSM event "OpsOnMission" after a delay.

AIRWING:__Start(delay)

Triggers the FSM event "Start" after a delay.

AIRWING:__Stop(delay)

Triggers the FSM event "Stop" after a delay.

AIRWING:__TransportAssign(delay, Transport, Legions)

Triggers the FSM event "TransportAssign" after a delay.

AIRWING:__TransportCancel(delay, Transport)

Triggers the FSM event "TransportCancel" after a delay.

AIRWING:__TransportRequest(delay, Transport)

Triggers the FSM event "TransportRequest" after a delay.

AIRWING.chief

Chief of this legion.

AIRWING.cohorts

Cohorts of this legion.

AIRWING.commander

Commander of this legion.

AIRWING.homebase

AIRWING.homezone

AIRWING.lid

Class id string for output to DCS log file.

AIRWING.missionqueue

Mission queue table.

AIRWING:onafterAssetDead(From, Event, To, asset, request)

On after "AssetDead" event triggered when an asset group died.

AIRWING:onafterAssetSpawned(From, Event, To, group, asset, request)

On after "AssetSpawned" event triggered when an asset group is spawned into the cruel world.

AIRWING:onafterCaptured(From, Event, To, Coalition, Country)

On after "Captured" event.

AIRWING:onafterDestroyed(From, Event, To)

On after "Destroyed" event.

AIRWING:onafterLegionAssetReturned(From, Event, To, Cohort, Asset)

On after "LegionAssetReturned" event.

AIRWING:onafterMissionAssign(From, Event, To, Mission, Legions)

On after "MissionAssign" event.

AIRWING:onafterMissionCancel(From, Event, To, Mission)

On after "MissionCancel" event.

AIRWING:onafterMissionRequest(From, Event, To, Mission, Assets)

On after "MissionRequest" event.

AIRWING:onafterNewAsset(From, Event, To, asset, assignment)

On after "NewAsset" event.

AIRWING:onafterOpsOnMission(From, Event, To, OpsGroup, Mission)

On after "OpsOnMission".

AIRWING:onafterRequest(From, Event, To, Request)

On after "Request" event.

AIRWING:onafterRequestSpawned(From, Event, To, Request, CargoGroupSet, TransportGroupSet)

On after "RequestSpawned" event.

AIRWING:onafterSelfRequest(From, Event, To, groupset, request)

On after "SelfRequest" event.

AIRWING:onafterStart(From, Event, To)

Start LEGION FSM.

AIRWING:onafterTransportAssign(From, Event, To, Transport, Legions)

On after "TransportAssign" event.

AIRWING:onafterTransportCancel(From, Event, To, Transport)

On after "TransportCancel" event.

AIRWING:onafterTransportRequest(From, Event, To, Opstransport, OpsTransport)

On after "TransportRequest" event.

AIRWING.queueid

AIRWING.tacview

If true, show tactical overview on status update.

AIRWING.transportqueue

Transport queue.

AIRWING.verbose

Verbosity of output.

AIRWING.version

LEGION class version.

Fields and Methods inherited from WAREHOUSE Description

AIRWING:AddAsset(group, ngroups, forceattribute, forcecargobay, forceweight, loadradius, skill, liveries, assignment)

Trigger the FSM event "AddAsset".

AIRWING:AddOffRoadPath(remotewarehouse, group, oneway)

Add an off-road path from this warehouse to another and back.

AIRWING:AddRequest(warehouse, AssetDescriptor, AssetDescriptorValue, nAsset, TransportType, nTransport, Prio, Assignment)

Triggers the FSM event "AddRequest".

AIRWING:AddShippingLane(remotewarehouse, group, oneway)

Add a shipping lane from this warehouse to another remote warehouse.

AIRWING:AirbaseCaptured(Coalition)

Triggers the FSM event "AirbaseCaptured" when the airbase of the warehouse has been captured by another coalition.

AIRWING:AirbaseRecaptured(Coalition)

Triggers the FSM event "AirbaseRecaptured" when the airbase of the warehouse has been re-captured from the other coalition.

AIRWING:Arrived(group)

Triggers the FSM event "Arrived" when a group has arrived at the destination warehouse.

AIRWING:AssetDead(asset, request)

Triggers the FSM event "AssetDead" when an asset group has died.

AIRWING:AssetLowFuel(asset, request)

Triggers the FSM event "AssetLowFuel" when an asset runs low on fuel

AIRWING:AssetSpawned(group, asset, request)

Triggers the FSM event "AssetSpawned" when the warehouse has spawned an asset.

AIRWING:Attacked(Coalition, Country)

Triggers the FSM event "Attacked" when a warehouse is under attack by an another coalition.

AIRWING.Attribute

AIRWING:Captured(Coalition, Country)

Triggers the FSM event "Captured" when a warehouse has been captured by another coalition.

AIRWING:ChangeCountry(Country)

Triggers the FSM event "ChangeCountry" so the warehouse is respawned with the new country.

AIRWING.ClassName

Name of the class.

AIRWING.Debug

If true, send debug messages to all.

AIRWING:Defeated()

Triggers the FSM event "Defeated" when an attack from an enemy was defeated.

AIRWING:Delivered(request)

Triggers the FSM event "Delivered".

AIRWING.Descriptor

AIRWING:Destroyed()

Triggers the FSM event "Destroyed" when the warehouse was destroyed.

AIRWING:FilterStock(descriptor, attribute, nmax, mobile)

Filter stock assets by descriptor and attribute.

AIRWING:FindAssetInDB(group)

Find an asset in the the global warehouse data base.

AIRWING:FindNearestWarehouse(MinAssets, Descriptor, DescriptorValue, Coalition, RefCoordinate)

Find nearest warehouse in service, i.e.

AIRWING:FindWarehouseInDB(uid)

Find a warehouse in the global warehouse data base.

AIRWING:GetAirbase()

Get airbase associated to the warehouse.

AIRWING:GetAirbaseCategory()

Get category of airbase associated to the warehouse.

AIRWING:GetAirbaseName()

Get name airbase associated to the warehouse.

AIRWING:GetAssetByID(id)

Get a warehouse asset from its unique id.

AIRWING:GetAssetByName(GroupName)

Get a warehouse asset from its name.

AIRWING:GetAssignment(request)

Get assignment of a request.

AIRWING:GetCoalition()

Get coalition side of warehouse static.

AIRWING:GetCoalitionName()

Get coalition name of warehouse static.

AIRWING:GetCoordinate()

Get coordinate of warehouse static.

AIRWING:GetCountry()

Get country id of warehouse static.

AIRWING:GetCountryName()

Get country name of warehouse static.

AIRWING:GetNumberOfAssets(Descriptor, DescriptorValue, OnlyMobile)

Get number of assets in warehouse stock.

AIRWING:GetRequestByID(id)

Get a warehouse request from its unique id.

AIRWING:GetRunwayRepairtime()

Check if runway is operational.

AIRWING:GetSpawnZone()

Get the spawn zone.

AIRWING:GetStockInfo(stock)

Returns the number of assets for each generalized attribute.

AIRWING:GetVec2()

Get 2D vector of warehouse static.

AIRWING:GetVec3()

Get 3D vector of warehouse static.

AIRWING:GetWarehouseZone()

Get the warehouse zone.

AIRWING:HasConnectionNaval(warehouse, markpath, smokepath)

Check if the warehouse has a shipping lane defined to another warehouse.

AIRWING:HasConnectionOffRoad(warehouse, markpath, smokepath)

Check if the warehouse has an off road path defined to another warehouse.

AIRWING:HasConnectionRail(warehouse, markpath, smokepath)

Check if the warehouse has a railroad connection to another warehouse.

AIRWING:HasConnectionRoad(warehouse, markpath, smokepath)

Check if the warehouse has a road connection to another warehouse.

AIRWING:IsAttacked()

Check if the warehouse is under attack by another coalition.

AIRWING:IsDestroyed()

Check if the warehouse has been destroyed.

AIRWING:IsLoaded()

Check if the warehouse has been loaded from disk via the "Load" event.

AIRWING:IsNotReadyYet()

Check if the warehouse has not been started yet, i.e.

AIRWING:IsPaused()

Check if the warehouse is paused.

AIRWING:IsRunning()

Check if the warehouse is running.

AIRWING:IsRunwayOperational()

Check if runway is operational.

AIRWING:IsShip()

Check if warehouse physical representation is a ship.

AIRWING:IsStatic()

Check if warehouse physical representation is a static (not a unit) object.

AIRWING:IsStopped()

Check if the warehouse is stopped.

AIRWING:IsUnit()

Check if warehouse physical representation is a unit (not a static) object.

AIRWING:Load(path, filename)

Triggers the FSM event "Load" when the warehouse is loaded from a file on disk.

AIRWING:New(warehouse, alias)

The WAREHOUSE constructor.

AIRWING:NewAsset(asset, assignment)

Triggers the FSM delayed event "NewAsset" when a new asset has been added to the warehouse stock.

AIRWING:OnAfterAirbaseCaptured(From, Event, To, Coalition)

On after "AirbaseCaptured" even user function.

AIRWING:OnAfterAirbaseRecaptured(From, Event, To, Coalition)

On after "AirbaseRecaptured" event user function.

AIRWING:OnAfterArrived(From, Event, To, group)

On after "Arrived" event user function.

AIRWING:OnAfterAssetDead(From, Event, To, asset, request)

On after "AssetDead" event user function.

AIRWING:OnAfterAssetLowFuel(From, Event, To, asset, request)

On after "AssetLowFuel" event user function.

AIRWING:OnAfterAssetSpawned(From, Event, To, group, asset, request)

On after "AssetSpawned" event user function.

AIRWING:OnAfterAttacked(From, Event, To, Coalition, Country)

On after "Attacked" event user function.

AIRWING:OnAfterCaptured(From, Event, To, Coalition, Country)

On after "Captured" event user function.

AIRWING:OnAfterChangeCountry(From, Event, To, Country)

On after "ChangeCountry" event user function.

AIRWING:OnAfterDefeate(From, Event, To)

On after "Defeated" event user function.

AIRWING:OnAfterDelivered(From, Event, To, request)

On after "Delivered" event user function.

AIRWING:OnAfterDestroyed(From, Event, To)

On after "Destroyed" event user function.

AIRWING:OnAfterLoad(From, Event, To, path, filename)

On after "Load" event user function.

AIRWING:OnAfterNewAsset(From, Event, To, asset, assignment)

On after "NewAsset" event user function.

AIRWING:OnAfterRequest(From, Event, To, Request)

On after "Request" user function.

AIRWING:OnAfterRespawn(From, Event, To)

On after "Respawn" event user function.

AIRWING:OnAfterSave(From, Event, To, path, filename)

On after "Save" event user function.

AIRWING:OnAfterSelfRequest(From, Event, To, groupset, request)

On after "SelfRequest" event.

AIRWING:OnBeforeRequest(From, Event, To, Request)

On before "Request" user function.

AIRWING:Pause()

Triggers the FSM event "Pause".

AIRWING.Quantity

AIRWING.Report

If true, send status messages to coalition.

AIRWING:Request(Request)

Triggers the FSM event "Request".

AIRWING:Respawn()

Triggers the FSM event "Respawn".

AIRWING:Restart()

Triggers the FSM event "Restart".

AIRWING:Save(path, filename)

Triggers the FSM event "Save" when the warehouse assets are saved to file on disk.

AIRWING:SelfRequest(groupset, request)

Triggers the FSM event "SelfRequest".

AIRWING:SetAirbase(airbase)

Set the airbase belonging to this warehouse.

AIRWING:SetAllowSpawnOnClientParking()

Set wether client parking spots can be used for spawning.

AIRWING:SetAutoDefenceOff()

Set auto defence off.

AIRWING:SetAutoDefenceOn()

Set auto defence on.

AIRWING:SetDebugOff()

Set debug mode off.

AIRWING:SetDebugOn()

Set debug mode on.

AIRWING:SetHarborZone(zone)

Add a Harbor Zone for this warehouse where naval cargo units will spawn and be received.

AIRWING:SetLowFuelThreshold(threshold)

Set low fuel threshold.

AIRWING:SetMarker(switch)

Show or don't show markers on the F10 map displaying the Warehouse stock and road/rail connections.

AIRWING:SetParkingIDs(ParkingIDs)

Set valid parking spot IDs.

AIRWING:SetPortZone(zone)

Set the port zone for this warehouse.

AIRWING:SetRailConnection(coordinate)

Set the connection of the warehouse to the railroad.

AIRWING:SetReportOff()

Set report off.

AIRWING:SetReportOn()

Set report on.

AIRWING:SetRespawnAfterDestroyed(delay)

Set respawn after destroy.

AIRWING:SetRoadConnection(coordinate)

Set the connection of the warehouse to the road.

AIRWING:SetRunwayRepairtime(RepairTime)

Set the time until the runway(s) of an airdrome are repaired after it has been destroyed.

AIRWING:SetSafeParkingOff()

Disable safe parking option.

AIRWING:SetSafeParkingOn()

Enable safe parking option, i.e.

AIRWING:SetSaveOnMissionEnd(path, filename)

Enable auto save of warehouse assets at mission end event.

AIRWING:SetSpawnZone(zone, maxdist)

Set a zone where the (ground) assets of the warehouse are spawned once requested.

AIRWING:SetStatusUpdate(timeinterval)

Set interval of status updates.

AIRWING:SetVerbosityLevel(VerbosityLevel)

Set verbosity level.

AIRWING:SetWarehouseZone(zone)

Set a warehouse zone.

AIRWING:Start()

Triggers the FSM event "Start".

AIRWING:Status()

Triggers the FSM event "Status".

AIRWING:Stop()

Triggers the FSM event "Stop".

AIRWING.TransportType

AIRWING:UnPause()

Triggers the FSM event "Unpause".

AIRWING:_Arrived(group)

Task function for last waypoint.

AIRWING:_AssetItemInfo(asset)

Asset item characteristics.

AIRWING:_CheckAirbaseOwner()

Checks if the associated airbase still belongs to the warehouse.

AIRWING:_CheckAssetStatus()

Function that checks if an asset group is still okay.

AIRWING:_CheckConquered()

Checks if the warehouse zone was conquered by antoher coalition.

AIRWING:_CheckFuel()

Checks fuel on all pening assets.

AIRWING:_CheckParkingAsset(spot, asset)

Check parking ID for an asset.

AIRWING:_CheckParkingValid(spot)

Check parking ID.

AIRWING:_CheckQueue()

Sorts the queue and checks if the request can be fulfilled.

AIRWING:_CheckRequestConsistancy(queue)

Checks if the request can be fulfilled in general.

AIRWING:_CheckRequestNow(request)

Checks if the request can be fulfilled right now.

AIRWING:_CheckRequestValid(request)

Check if a request is valid in general.

AIRWING:_DebugMessage(text, duration)

Debug message.

AIRWING:_DeleteQueueItem(qitem, queue)

Delete item from queue.

AIRWING:_DeleteQueueItemByID(qitemID, queue)

Delete item from queue.

AIRWING:_DeleteStockItem(stockitem)

Delete an asset item from stock.

AIRWING:_DisplayStatus()

Display status of warehouse.

AIRWING:_DisplayStockItems(stock)

Display stock items of warehouse.

AIRWING:_ErrorMessage(text, duration)

Error message.

AIRWING:_FilterStock(stock, descriptor, attribute, nmax, mobile)

Filter stock assets by table entry.

AIRWING:_FindParkingForAssets(airbase, assets)

Seach unoccupied parking spots at the airbase for a list of assets.

AIRWING:_Fireworks(coord)

Fireworks!

AIRWING:_GetAttribute(group)

Get the generalized attribute of a group.

AIRWING:_GetFlightplan(asset, departure, destination)

Make a flight plan from a departure to a destination airport.

AIRWING:_GetIDsFromGroup(group)

Get warehouse id, asset id and request id from group name (alias).

AIRWING:_GetIDsFromGroupName(groupname)

Get warehouse id, asset id and request id from group name (alias).

AIRWING:_GetMaxHeight(D, alphaC, alphaD, Hdep, Hdest, Deltahhold)

Calculate the maximum height an aircraft can reach for the given parameters.

AIRWING:_GetNameWithOut(group)

Get group name without any spawn or cargo suffix #CARGO etc.

AIRWING:_GetObjectSize(DCSobject)

Size of the bounding box of a DCS object derived from the DCS descriptor table.

AIRWING:_GetRequestOfGroup(group, queue)

Get the request belonging to a group.

AIRWING:_GetStockAssetsText(messagetoall)

Get text about warehouse stock.

AIRWING:_GetTerminal(_attribute, _category)

Get the proper terminal type based on generalized attribute of the group.

AIRWING:_GetTransportsForAssets(Chosen, request)

Get (optimized) transport carriers for the given assets to be transported.

AIRWING:_GroupIsTransport(group, request)

Is the group a used as transporter for a given request?

AIRWING:_HasAttribute(group, attribute)

Check if a group has a generalized attribute.

AIRWING:_InfoMessage(text, duration)

Info Message.

AIRWING:_JobDone()

Function that checks if a pending job is done and can be removed from queue.

AIRWING:_NewLane(group, startcoord, finalcoord)

Create a new path from a template group.

AIRWING:_OnEventArrived(EventData)

Arrived event if an air unit/group arrived at its destination.

AIRWING:_OnEventBaseCaptured(EventData)

Warehouse event handling function.

AIRWING:_OnEventBirth(EventData)

Warehouse event function, handling the birth of a unit.

AIRWING:_OnEventCrashOrDead(EventData)

Warehouse event handling function.

AIRWING:_OnEventEngineShutdown(EventData)

Function handling the event when a (warehouse) unit shuts down its engines.

AIRWING:_OnEventEngineStartup(EventData)

Function handling the event when a (warehouse) unit starts its engines.

AIRWING:_OnEventLanding(EventData)

Function handling the event when a (warehouse) unit lands.

AIRWING:_OnEventMissionEnd(EventData)

Warehouse event handling function.

AIRWING:_OnEventTakeOff(EventData)

Function handling the event when a (warehouse) unit takes off.

AIRWING:_PassingWaypoint(group, n, N)

Task function for when passing a waypoint.

AIRWING:_PrintQueue(queue, name)

Prints the queue to DCS.log file.

AIRWING:_QuantityRel2Abs(relative, ntot)

Relative to absolute quantity.

AIRWING:_RegisterAsset(group, ngroups, forceattribute, forcecargobay, forceweight, loadradius, liveries, skill, assignment)

Register new asset in globase warehouse data base.

AIRWING:_RouteAir(aircraft)

Route the airplane from one airbase another.

AIRWING:_RouteGround(group, request)

Route ground units to destination.

AIRWING:_RouteNaval(group, request)

Route naval units along user defined shipping lanes to destination warehouse.

AIRWING:_RouteTrain(Group, Coordinate, Speed)

Route trains to their destination - or at least to the closest point on rail of the desired final destination.

AIRWING:_SimpleTaskFunction(Function, group)

Simple task function.

AIRWING:_SimpleTaskFunctionWP(Function, group, n, N)

Simple task function.

AIRWING:_SortQueue()

Sort requests queue wrt prio and request uid.

AIRWING:_SpawnAssetAircraft(alias, asset, request, parking, uncontrolled, lateactivated)

Spawn an aircraft asset (plane or helo) at the airbase associated with the warehouse.

AIRWING:_SpawnAssetGroundNaval(alias, asset, request, spawnzone, lateactivated)

Spawn a ground or naval asset in the corresponding spawn zone of the warehouse.

AIRWING:_SpawnAssetPrepareTemplate(asset, alias)

Prepare a spawn template for the asset.

AIRWING:_SpawnAssetRequest(Request)

Spawns requested assets at warehouse or associated airbase.

AIRWING:_UnitDead(deadunit, deadgroup, request)

A unit of a group just died.

AIRWING:_UpdateWarehouseMarkText()

Create or update mark text at warehouse, which is displayed in F10 map showing how many assets of each type are in stock.

AIRWING:__AddAsset(delay, group, ngroups, forceattribute, forcecargobay, forceweight, loadradius, skill, liveries, assignment)

Trigger the FSM event "AddAsset" with a delay.

AIRWING:__AddRequest(delay, warehouse, AssetDescriptor, AssetDescriptorValue, nAsset, TransportType, nTransport, Prio, Assignment)

Triggers the FSM event "AddRequest" with a delay.

AIRWING:__AirbaseCaptured(delay, Coalition)

Triggers the FSM event "AirbaseCaptured" with a delay when the airbase of the warehouse has been captured by another coalition.

AIRWING:__AirbaseRecaptured(delay, Coalition)

Triggers the FSM event "AirbaseRecaptured" with a delay when the airbase of the warehouse has been re-captured from the other coalition.

AIRWING:__Arrived(delay, group)

Triggers the FSM event "Arrived" after a delay when a group has arrived at the destination.

AIRWING:__AssetDead(delay, asset, request)

Triggers the delayed FSM event "AssetDead" when an asset group has died.

AIRWING:__AssetLowFuel(delay, asset, request)

Triggers the FSM event "AssetLowFuel" with a delay when an asset runs low on fuel.

AIRWING:__AssetSpawned(delay, group, asset, request)

Triggers the FSM event "AssetSpawned" with a delay when the warehouse has spawned an asset.

AIRWING:__Attacked(delay, Coalition, Country)

Triggers the FSM event "Attacked" with a delay when a warehouse is under attack by an another coalition.

AIRWING:__Captured(delay, Coalition, Country)

Triggers the FSM event "Captured" with a delay when a warehouse has been captured by another coalition.

AIRWING:__ChangeCountry(delay, Country)

Triggers the FSM event "ChangeCountry" after a delay so the warehouse is respawned with the new country.

AIRWING:__Defeated(delay)

Triggers the FSM event "Defeated" with a delay when an attack from an enemy was defeated.

AIRWING:__Delivered(delay, request)

Triggers the FSM event "Delivered" after a delay.

AIRWING:__Destroyed(delay)

Triggers the FSM event "Destroyed" with a delay when the warehouse was destroyed.

AIRWING:__Load(delay, path, filename)

Triggers the FSM event "Load" with a delay when the warehouse assets are loaded from disk.

AIRWING:__NewAsset(delay, asset, assignment)

Triggers the FSM delayed event "NewAsset" when a new asset has been added to the warehouse stock.

AIRWING:__Pause(delay)

Triggers the FSM event "Pause" after a delay.

AIRWING:__Request(Delay, Request)

Triggers the FSM event "Request" after a delay.

AIRWING:__Respawn(delay)

Triggers the FSM event "Respawn" after a delay.

AIRWING:__Restart(delay)

Triggers the FSM event "Restart" after a delay.

AIRWING:__Save(delay, path, filename)

Triggers the FSM event "Save" with a delay when the warehouse assets are saved to a file.

AIRWING:__SelfRequest(delay, groupset, request)

Triggers the FSM event "SelfRequest" with a delay.

AIRWING:__Start(delay)

Triggers the FSM event "Start" after a delay.

AIRWING:__Status(delay)

Triggers the FSM event "Status" after a delay.

AIRWING:__Stop(delay)

Triggers the FSM event "Stop" after a delay.

AIRWING:__Unpause(delay)

Triggers the FSM event "Unpause" after a delay.

AIRWING.airbase

Airbase the warehouse belongs to.

AIRWING.airbasename

Name of the airbase associated to the warehouse.

AIRWING.alias

Alias of the warehouse. Name its called when sending messages.

AIRWING.allowSpawnOnClientSpots

AIRWING.autodefence

When the warehouse is under attack, automatically spawn assets to defend the warehouse.

AIRWING.autosave

Automatically save assets to file when mission ends.

AIRWING.autosavefile

File name of the auto asset save file. Default is auto generated from warehouse id and name.

AIRWING.autosavepath

Path where the asset file is saved on auto save.

AIRWING.clientcoords

AIRWING.coalition

AIRWING.countryid

AIRWING.dTstatus

Time interval in seconds of updating the warehouse status and processing new events. Default 30 seconds.

AIRWING.defending

Table holding all defending requests, i.e. self requests that were if the warehouse is under attack. Table elements are of type WAREHOUSE.Pendingitem.

AIRWING.delivered

Table holding all delivered requests. Table elements are #boolean. If true, all cargo has been delivered.

AIRWING.flightcontrol

Flight control of this warehouse.

AIRWING.harborzone

AIRWING.isShip

If true, warehouse is represented by a ship unit.

AIRWING.isUnit

If true, warehouse is represented by a unit instead of a static.

AIRWING.lid

AIRWING.lowfuelthresh

Low fuel threshold. Triggers the event AssetLowFuel if for any unit fuel goes below this number.

AIRWING.markerOn

If true, markers are displayed on the F10 map.

AIRWING.markerRail

Rail road connection.

AIRWING.markerRoad

Road connection.

AIRWING.markerWarehouse

Marker warehouse.

AIRWING.markerid

ID of the warehouse marker at the airbase.

AIRWING.markrail

AIRWING.markroad

AIRWING.offroadpaths

Table holding user defined paths from one warehouse to another.

AIRWING:onafterAddAsset(From, Event, To, group, ngroups, forceattribute, forcecargobay, forceweight, loadradius, skill, liveries, assignment, other)

On after "AddAsset" event.

AIRWING:onafterAddRequest(From, Event, To, warehouse, AssetDescriptor, AssetDescriptorValue, nAsset, TransportType, nTransport, Prio, Assignment)

On after "AddRequest" event.

AIRWING:onafterAirbaseCaptured(From, Event, To, Coalition)

On after "AirbaseCaptured" event.

AIRWING:onafterAirbaseRecaptured(From, Event, To, Coalition)

On after "AirbaseRecaptured" event.

AIRWING:onafterArrived(From, Event, To, group)

On after "Arrived" event.

AIRWING:onafterAssetDead(From, Event, To, asset, request)

On after "AssetDead" event triggered when an asset group died.

AIRWING:onafterAssetSpawned(From, Event, To, group, asset, request)

On after "AssetSpawned" event triggered when an asset group is spawned into the cruel world.

AIRWING:onafterAttacked(From, Event, To, Coalition, Country)

On after "Attacked" event.

AIRWING:onafterCaptured(From, Event, To, Coalition, Country)

On after "Captured" event.

AIRWING:onafterChangeCountry(From, Event, To, Country)

On after "ChangeCountry" event.

AIRWING:onafterDefeated(From, Event, To)

On after "Defeated" event.

AIRWING:onafterDelivered(From, Event, To, request)

On after "Delivered" event.

AIRWING:onafterDestroyed(From, Event, To)

On after "Destroyed" event.

AIRWING:onafterLoad(From, Event, To, path, filename)

On after "Load" event.

AIRWING:onafterNewAsset(From, Event, To, asset, assignment)

On after "NewAsset" event.

AIRWING:onafterPause(From, Event, To)

On after "Pause" event.

AIRWING:onafterRequest(From, Event, To, Request)

On after "Request" event.

AIRWING:onafterRequestSpawned(From, Event, To, Request, CargoGroupSet, TransportGroupSet)

On after "RequestSpawned" event.

AIRWING:onafterRespawn(From, Event, To)

Respawn warehouse.

AIRWING:onafterRestart(From, Event, To)

On after "Restart" event.

AIRWING:onafterRunwayDestroyed(From, Event, To)

On after "RunwayDestroyed" event.

AIRWING:onafterRunwayRepaired(From, Event, To)

On after "RunwayRepaired" event.

AIRWING:onafterSave(From, Event, To, path, filename)

On after "Save" event.

AIRWING:onafterSelfRequest(From, Event, To, groupset, request)

On after "SelfRequest" event.

AIRWING:onafterStart(From, Event, To)

On after Start event.

AIRWING:onafterStatus(From, Event, To)

On after Status event.

AIRWING:onafterStop(From, Event, To)

On after "Stop" event.

AIRWING:onafterUnloaded(From, Event, To, group)

On after "Unloaded" event.

AIRWING:onafterUnpause(From, Event, To)

On after "Unpause" event.

AIRWING:onbeforeAddRequest(From, Event, To, warehouse, AssetDescriptor, AssetDescriptorValue, nAsset, TransportType, nTransport, Prio, Assignment)

On before "AddRequest" event.

AIRWING:onbeforeArrived(From, Event, To, group)

On before "Arrived" event.

AIRWING:onbeforeCaptured(From, Event, To, Coalition, Country)

On before "Captured" event.

AIRWING:onbeforeChangeCountry(From, Event, To, Country)

On before "ChangeCountry" event.

AIRWING:onbeforeLoad(From, Event, To, path, filename)

On before "Load" event.

AIRWING:onbeforeRequest(From, Event, To, Request)

On before "Request" event.

AIRWING.parkingIDs

AIRWING.pending

Table holding all pending requests, i.e. those that are currently in progress. Table elements are of type WAREHOUSE.Pendingitem.

AIRWING.portzone

Zone defining the port of a warehouse. This is where naval assets are spawned.

AIRWING.queue

Table holding all queued requests. Table entries are of type WAREHOUSE.Queueitem.

AIRWING.queueid

Unit id of each request in the queue. Essentially a running number starting at one and incremented when a new request is added.

AIRWING.rail

Closest point to warehouse on rail.

AIRWING.respawnafterdestroyed

If true, warehouse is respawned after it was destroyed. Assets are kept.

AIRWING.respawndelay

Delay before respawn in seconds.

AIRWING.road

Closest point to warehouse on road.

AIRWING.runwaydestroyed

Time stamp timer.getAbsTime() when the runway was destroyed.

AIRWING.runwayrepairtime

Time in seconds until runway will be repaired after it was destroyed. Default is 3600 sec (one hour).

AIRWING.safeparking

If true, parking spots for aircraft are considered as occupied if e.g. a client aircraft is parked there. Default false.

AIRWING.shippinglanes

Table holding the user defined shipping between warehouses.

AIRWING.spawnzone

Zone in which assets are spawned.

AIRWING.spawnzonemaxdist

Max distance between warehouse and spawn zone. Default 5000 meters.

AIRWING.stock

Table holding all assets in stock. Table entries are of type WAREHOUSE.Assetitem.

AIRWING.transporting

Table holding assets currently transporting cargo assets.

AIRWING.uid

Unique ID of the warehouse.

AIRWING.verbosity

Verbosity level.

AIRWING.version

Warehouse class version.

AIRWING.warehouse

The phyical warehouse structure.

AIRWING.wid

Identifier of the warehouse printed before other output to DCS.log file.

AIRWING.zone

Zone around the warehouse. If this zone is captured, the warehouse and all its assets goes to the capturing coalition.

Fields and Methods inherited from FSM Description

AIRWING:AddEndState(State)

Adds an End state.

AIRWING:AddProcess(From, Event, Process, ReturnEvents)

Set the default #FSM_PROCESS template with key ProcessName providing the ProcessClass and the process object when it is assigned to a Wrapper.Controllable by the task.

AIRWING:AddScore(State, ScoreText, Score)

Adds a score for the FSM to be achieved.

AIRWING:AddScoreProcess(From, Event, State, ScoreText, Score)

Adds a score for the FSM_PROCESS to be achieved.

AIRWING:AddTransition(From, Event, To)

Add a new transition rule to the FSM.

AIRWING.CallScheduler

AIRWING.Events

AIRWING:GetCurrentState()

Get current state.

AIRWING:GetEndStates()

Returns the End states.

AIRWING:GetProcess(From, Event)

AIRWING:GetProcesses()

Returns a table of the SubFSM rules defined within the FSM.

AIRWING:GetScores()

Returns a table with the scores defined.

AIRWING:GetStartState()

Returns the start state of the FSM.

AIRWING:GetState()

Get current state.

AIRWING:GetSubs()

Returns a table with the Subs defined.

AIRWING:GetTransitions()

Returns a table of the transition rules defined within the FSM.

AIRWING:Is(State)

Check if FSM is in state.

AIRWING:LoadCallBacks(CallBackTable)

Load call backs.

AIRWING:New()

Creates a new FSM object.

AIRWING.Scores

AIRWING:SetProcess(From, Event, Fsm)

AIRWING:SetStartState(State)

Sets the start state of the FSM.

AIRWING._EndStates

AIRWING._EventSchedules

AIRWING._Processes

AIRWING._Scores

AIRWING._StartState

AIRWING._Transitions

AIRWING:_add_to_map(Map, Event)

Add to map.

AIRWING:_call_handler(step, trigger, params, EventName)

Call handler.

AIRWING:_create_transition(EventName)

Create transition.

AIRWING:_delayed_transition(EventName)

Delayed transition.

AIRWING:_eventmap(Events, EventStructure)

Event map.

AIRWING:_gosub(ParentFrom, ParentEvent)

Go sub.

AIRWING:_handler(EventName, ...)

Handler.

AIRWING:_isendstate(Current)

Is end state.

AIRWING:_submap(subs, sub, name)

Sub maps.

AIRWING:can(e)

Check if can do an event.

AIRWING:cannot(e)

Check if cannot do an event.

AIRWING.current

AIRWING.endstates

AIRWING:is(State, state)

Check if FSM is in state.

AIRWING.options

AIRWING.subs

Fields and Methods inherited from AIRWING.AwacsZone Description

AIRWING.AwacsZone.altitude

Altitude in feet.

AIRWING.AwacsZone.heading

Heading in degrees.

AIRWING.AwacsZone.leg

Leg length in NM.

AIRWING.AwacsZone.marker

F10 marker.

AIRWING.AwacsZone.mission

Mission assigned.

AIRWING.AwacsZone.speed

Speed in knots.

AIRWING.AwacsZone.zone

Zone.

Fields and Methods inherited from AIRWING.PatrolData Description

AIRWING.PatrolData.altitude

Altitude in feet.

AIRWING.PatrolData.coord

Patrol coordinate.

AIRWING.PatrolData.heading

Heading in degrees.

AIRWING.PatrolData.leg

Leg length in NM.

AIRWING.PatrolData.marker

F10 marker.

AIRWING.PatrolData.noccupied

Number of flights on this patrol point.

AIRWING.PatrolData.refuelsystem

Refueling system type: 0=Unit.RefuelingSystem.BOOM_AND_RECEPTACLE, 1=Unit.RefuelingSystem.PROBE_AND_DROGUE.

AIRWING.PatrolData.speed

Speed in knots.

AIRWING.PatrolData.type

Type name.

Fields and Methods inherited from AIRWING.PatrolZone Description

AIRWING.PatrolZone.altitude

Altitude in feet.

AIRWING.PatrolZone.heading

Heading in degrees.

AIRWING.PatrolZone.leg

Leg length in NM.

AIRWING.PatrolZone.marker

F10 marker.

AIRWING.PatrolZone.mission

Mission assigned.

AIRWING.PatrolZone.speed

Speed in knots.

AIRWING.PatrolZone.zone

Zone.

Fields and Methods inherited from AIRWING.Payload Description

AIRWING.Payload.aircrafttype

Type of aircraft, which can use this payload.

AIRWING.Payload.capabilities

Mission types and performances for which this payload can be used.

AIRWING.Payload.navail

Number of available payloads of this type.

AIRWING.Payload.pylons

Pylon data extracted for the unit template.

AIRWING.Payload.uid

Unique payload ID.

AIRWING.Payload.unitname

Name of the unit this pylon was extracted from.

AIRWING.Payload.unlimited

If true, this payload is unlimited and does not get consumed.

Fields and Methods inherited from AIRWING.TankerZone Description

AIRWING.TankerZone.refuelsystem

Refueling system type: 0=Unit.RefuelingSystem.BOOM_AND_RECEPTACLE, 1=Unit.RefuelingSystem.PROBE_AND_DROGUE.

AIRWING class.

Field(s)

#string AIRWING.ClassName

Name of the class.

Ops.Airboss#AIRBOSS AIRWING.airboss

Airboss attached to this wing.

#number AIRWING.capFormation

If capOptionPatrolRaceTrack is true, set the formation, also.

#boolean AIRWING.capOptionPatrolRaceTrack

Use closer patrol race track or standard orbit auftrag.

#number AIRWING.capOptionVaryEndTime

If set, vary mission start time for CAP missions generated random between capOptionVaryStartTime and capOptionVaryEndTime

#number AIRWING.capOptionVaryStartTime

If set, vary mission start time for CAP missions generated random between capOptionVaryStartTime and capOptionVaryEndTime

#boolean AIRWING.despawnAfterHolding

Aircraft are despawned after holding.

#boolean AIRWING.despawnAfterLanding

Aircraft are despawned after landing.

#string AIRWING.lid

Class id string for output to DCS log file.

#boolean AIRWING.markpoints

Display markers on the F10 map.

#table AIRWING.menu

Table of menu items.

#table AIRWING.missionqueue

Mission queue table.

#number AIRWING.nflightsAWACS

Number of AWACS flights constantly in the air.

#number AIRWING.nflightsCAP

Number of CAP flights constantly in the air.

#number AIRWING.nflightsRecon

Number of Recon flights constantly in the air.

#number AIRWING.nflightsRescueHelo

Number of Rescue helo flights constantly in the air.

#number AIRWING.nflightsTANKERboom

Number of TANKER flights with BOOM constantly in the air.

#number AIRWING.nflightsTANKERprobe

Number of TANKER flights with PROBE constantly in the air.

#number AIRWING.payloadcounter

Running index of payloads.

#table AIRWING.payloads

Playloads for specific aircraft and mission types.

#table AIRWING.pointsAWACS

Table of AWACS points.

#table AIRWING.pointsCAP

Table of CAP points.

#table AIRWING.pointsRecon

Table of RECON points.

#table AIRWING.pointsTANKER

Table of Tanker points.

#table AIRWING.squadrons

Table of squadrons.

#string AIRWING.takeoffType

Take of type.

#number AIRWING.verbose

Verbosity of output.

#string AIRWING.version

AIRWING class version.

Function(s)

Add asset group(s) to squadron.

Defined in:

AIRWING

Parameters:

The squadron object.

#number Nassets

Number of asset groups to add.

Return value:

self

Add a patrol Point for AWACS missions.

Defined in:

AIRWING

Parameters:

Coordinate of the patrol point.

#number Altitude

Orbit altitude in feet.

#number Speed

Orbit speed in knots.

#number Heading

Heading in degrees.

#number LegLength

Length of race-track orbit in NM.

Return value:

self

Add a patrol Point for CAP missions.

Defined in:

AIRWING

Parameters:

Coordinate of the patrol point.

#number Altitude

Orbit altitude in feet.

#number Speed

Orbit speed in knots.

#number Heading

Heading in degrees.

#number LegLength

Length of race-track orbit in NM.

Return value:

self

Add a patrol Point for RECON missions.

Defined in:

AIRWING

Parameters:

Coordinate of the patrol point.

#number Altitude

Orbit altitude in feet.

#number Speed

Orbit speed in knots.

#number Heading

Heading in degrees.

#number LegLength

Length of race-track orbit in NM.

Return value:

self

Add a patrol Point for TANKER missions.

Defined in:

AIRWING

Parameters:

Coordinate of the patrol point.

#number Altitude

Orbit altitude in feet.

#number Speed

Orbit speed in knots.

#number Heading

Heading in degrees.

#number LegLength

Length of race-track orbit in NM.

#number RefuelSystem

Set refueling system of tanker: 0=boom, 1=probe. Default any (=nil).

Return value:

self

Add a mission capability to an existing payload.

Defined in:

AIRWING

Parameters:

The payload table to which the capability should be added.

#table MissionTypes

Mission types to be added.

#number Performance

A number between 0 (worst) and 100 (best) to describe the performance of the loadout for the given mission types. Default is 50.

Return value:

self

Add a squadron to the air wing.

Defined in:

AIRWING

Parameter:

The squadron object.

Return value:

self

Check how many AWACS missions are assigned and add number of missing missions.

Defined in:

AIRWING

Return value:

self

Check how many CAP missions are assigned and add number of missing missions.

Defined in:

AIRWING

Return value:

self

Check how many RECON missions are assigned and add number of missing missions.

Defined in:

AIRWING

Return value:

self

Check how many Rescue helos are currently in the air.

Defined in:

AIRWING

Return value:

self

Check how many TANKER missions are assigned and add number of missing missions.

Defined in:

AIRWING

Return value:

self

Count payloads in stock.

Defined in:

AIRWING

Parameters:

#table MissionTypes

Types on mission to be checked. Default all possible types AUFTRAG.Type.

#table UnitTypes

Types of units.

#table Payloads

Specific payloads to be counted only.

Return value:

#number:

Count of available payloads in stock.

Fetch a payload from the airwing resources for a given unit and mission type.

The payload with the highest priority is preferred.

Defined in:

AIRWING

Parameters:

#string UnitType

The type of the unit.

#string MissionType

The mission type.

#table Payloads

Specific payloads only to be considered.

Return value:

Payload table or nil.

Triggers the FSM event "FlightOnMission".

Defined in:

AIRWING

Parameters:

The FLIGHTGROUP on mission.

The mission.

Get amount of payloads available for a given playload.

Defined in:

AIRWING

Parameter:

The payload table created by the :NewPayload function.

Return value:

#number:

Number of payloads available. Unlimited payloads will return -1.

Get capabilities of a given playload.

Defined in:

AIRWING

Parameter:

The payload data table.

Return value:

#table:

Capabilities.

Get mission types a payload can perform.

Defined in:

AIRWING

Parameter:

The payload table.

Return value:

#table:

Mission types.

Get payload performance for a given type of misson type.

Defined in:

AIRWING

Parameters:

The payload table.

#string MissionType

Type of mission.

Return value:

#number:

Performance or -1.

Get squadron by name.

Defined in:

AIRWING

Parameter:

#string SquadronName

Name of the squadron, e.g. "VFA-37".

Return value:

The squadron object.

Get squadron of an asset.

Defined in:

AIRWING

Parameter:

The squadron asset.

Return value:

The squadron object.

Check how many AWACS missions are assigned and add number of missing missions.

Defined in:

AIRWING

Parameter:

The flightgroup.

Return value:

Increase or decrease the amount of available payloads.

Unlimited playloads first need to be set to a limited number with the SetPayloadAmount function.

Defined in:

AIRWING

Parameters:

The payload table created by the :NewPayload function.

#number N

Number of payloads to be added. Use negative number to decrease amount. Default 1.

Return value:

self

Create a new AIRWING class object for a specific aircraft carrier unit.

Defined in:

AIRWING

Parameters:

#string warehousename

Name of the warehouse static or unit object representing the warehouse.

#string airwingname

Name of the air wing, e.g. "AIRWING-8".

Return value:

self

Create a new generic patrol point.

Defined in:

AIRWING

Parameters:

#string Type

Patrol point type, e.g. "CAP" or "AWACS". Default "Unknown".

Coordinate of the patrol point. Default 10-15 NM away from the location of the airwing.

#number Altitude

Orbit altitude in feet. Default random between Angels 10 and 20.

#number Heading

Heading in degrees. Default random (0, 360] degrees.

#number LegLength

Length of race-track orbit in NM. Default 15 NM.

#number Speed

Orbit speed in knots. Default 350 knots.

#number RefuelSystem

Refueling system: 0=Boom, 1=Probe. Default nil=any.

Return value:

Patrol point table.

Add a new payload to the airwing resources.

Defined in:

AIRWING

Parameters:

The unit, the payload is extracted from. Can also be given as #string name of the unit.

#number Npayloads

Number of payloads to add to the airwing resources. Default 99 (which should be enough for most scenarios). Set to -1 for unlimited.

#table MissionTypes

Mission types this payload can be used for.

#number Performance

A number between 0 (worst) and 100 (best) to describe the performance of the loadout for the given mission types. Default is 50.

Return value:

The payload table or nil if the unit does not exist.

On after "FlightOnMission" event.

Defined in:

AIRWING

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

The FLIGHTGROUP on mission.

The mission.

Remove asset from squadron.

Defined in:

AIRWING

Parameter:

Remove the ability to call back an Ops.AWACS#AWACS object with an FSM call "FlightOnMission(FlightGroup, Mission)".

Defined in:

AIRWING

Return value:

self

Return payload from asset back to stock.

Defined in:

AIRWING

Parameter:

The squadron asset.

Set airboss of this wing.

He/she will take care that no missions are launched if the carrier is recovering.

Defined in:

AIRWING

Parameter:

The AIRBOSS object.

Return value:

self

Set CAP flight formation.

Defined in:

AIRWING

Parameter:

#number Formation

Formation to take, e.g. ENUMS.Formation.FixedWing.Trail.Close, also see Hoggit Wiki.

Return value:

self

Set CAP close race track.We'll utilize the AUFTRAG PatrolRaceTrack instead of a standard race track orbit task.

Defined in:

AIRWING

Parameter:

#boolean OnOff

If true, switch this on, else switch off. Off by default.

Return value:

self

Set CAP mission start to vary randomly between Start end End seconds.

Defined in:

AIRWING

Parameters:

#number Start

#number End

Return value:

self

Set despawn after holding.

Aircraft will be despawned when they arrive at their holding position at the airbase. Can help to avoid DCS AI taxiing issues.

Defined in:

AIRWING

Parameter:

#boolean Switch

If true (default), activate despawn after landing.

Return value:

self

Set despawn after landing.

Aircraft will be despawned after the landing event. Can help to avoid DCS AI taxiing issues.

Defined in:

AIRWING

Parameter:

#boolean Switch

If true (default), activate despawn after landing.

Return value:

self

Set number of AWACS flights constantly in the air.

Defined in:

AIRWING

Parameter:

#number n

Number of flights. Default 1.

Return value:

self

Set number of CAP flights constantly carried out.

Defined in:

AIRWING

Parameter:

#number n

Number of flights. Default 1.

Return value:

self

Set number of RECON flights constantly in the air.

Defined in:

AIRWING

Parameter:

#number n

Number of flights. Default 1.

Return value:

self

Set number of Rescue helo flights constantly in the air.

Defined in:

AIRWING

Parameter:

#number n

Number of flights. Default 1.

Return value:

self

Set number of TANKER flights with Boom constantly in the air.

Defined in:

AIRWING

Parameter:

#number Nboom

Number of flights. Default 1.

Return value:

self

Set number of TANKER flights with Probe constantly in the air.

Defined in:

AIRWING

Parameter:

#number Nprobe

Number of flights. Default 1.

Return value:

self

Set the number of payload available.

Defined in:

AIRWING

Parameters:

The payload table created by the :NewPayload function.

#number Navailable

Number of payloads available to the airwing resources. Default 99 (which should be enough for most scenarios). Set to -1 for unlimited.

Return value:

self

Set takeoff type air.

All assets of this squadron will be spawned in air above the airbase.

Defined in:

AIRWING

Return value:

self

Set takeoff type cold (default).

All assets of this squadron will be spawned with engines off (cold).

Defined in:

AIRWING

Return value:

self

Set takeoff type hot.

All assets of this squadron will be spawned with engines on (hot).

Defined in:

AIRWING

Return value:

self

Set takeoff type.

All assets of this airwing will be spawned with this takeoff type. Spawning on runways is not supported.

Defined in:

AIRWING

Parameter:

#string TakeoffType

Take off type: "Cold" (default) or "Hot" with engines on or "Air" for spawning in air.

Return value:

self

Add the ability to call back an Ops.AWACS#AWACS object with an FSM call "FlightOnMission(FlightGroup, Mission)".

Defined in:

AIRWING

Parameter:

Ops.AWACS#AWACS ConnectecdAwacs

Return value:

self

Set markers on the map for Patrol Points.

Defined in:

AIRWING

Parameter:

#boolean onoff

Set to true to switch markers on.

Return value:

self

Triggers the FSM event "Start".

Starts the AIRWING. Initializes parameters and starts event handlers.

Defined in:

AIRWING

Update marker of the patrol point.

Defined in:

AIRWING

Parameters:

Patrol point table.

self

Get patrol data.

Defined in:

AIRWING

Parameters:

#table PatrolPoints

Patrol data points.

#number RefuelSystem

If provided, only return points with the specific refueling system.

Return value:

Patrol point data table.

Defined in:

AIRWING

Parameter:

Patrol point table.

Return value:

#string:

Marker text.

Triggers the FSM event "FlightOnMission" after a delay.

Defined in:

AIRWING

Parameters:

#number delay

Delay in seconds.

The FLIGHTGROUP on mission.

The mission.

Triggers the FSM event "Start" after a delay.

Starts the AIRWING. Initializes parameters and starts event handlers.

Defined in:

AIRWING

Parameter:

#number delay

Delay in seconds.

Triggers the FSM event "Stop" after a delay.

Stops the AIRWING and all its event handlers.

Defined in:

AIRWING

Parameter:

#number delay

Delay in seconds.

On after "FlightOnMission".

Defined in:

AIRWING

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

Ops flight group on mission.

The requested mission.

Start AIRWING FSM.

Defined in:

AIRWING

Parameters:

From

Event

To

Update status.

Defined in:

AIRWING

Parameters:

From

Event

To

Field(s)

#string AIRWING.ClassName

Name of the class.

Ops.Airboss#AIRBOSS AIRWING.airboss

Airboss attached to this wing.

#number AIRWING.capFormation

If capOptionPatrolRaceTrack is true, set the formation, also.

#boolean AIRWING.capOptionPatrolRaceTrack

Use closer patrol race track or standard orbit auftrag.

#number AIRWING.capOptionVaryEndTime

If set, vary mission start time for CAP missions generated random between capOptionVaryStartTime and capOptionVaryEndTime

#number AIRWING.capOptionVaryStartTime

If set, vary mission start time for CAP missions generated random between capOptionVaryStartTime and capOptionVaryEndTime

#boolean AIRWING.despawnAfterHolding

Aircraft are despawned after holding.

#boolean AIRWING.despawnAfterLanding

Aircraft are despawned after landing.

#string AIRWING.lid

Class id string for output to DCS log file.

#boolean AIRWING.markpoints

Display markers on the F10 map.

#table AIRWING.menu

Table of menu items.

#table AIRWING.missionqueue

Mission queue table.

#number AIRWING.nflightsAWACS

Number of AWACS flights constantly in the air.

#number AIRWING.nflightsCAP

Number of CAP flights constantly in the air.

#number AIRWING.nflightsRecon

Number of Recon flights constantly in the air.

#number AIRWING.nflightsRescueHelo

Number of Rescue helo flights constantly in the air.

#number AIRWING.nflightsTANKERboom

Number of TANKER flights with BOOM constantly in the air.

#number AIRWING.nflightsTANKERprobe

Number of TANKER flights with PROBE constantly in the air.

#number AIRWING.payloadcounter

Running index of payloads.

#table AIRWING.payloads

Playloads for specific aircraft and mission types.

#table AIRWING.pointsAWACS

Table of AWACS points.

#table AIRWING.pointsCAP

Table of CAP points.

#table AIRWING.pointsRecon

Table of RECON points.

#table AIRWING.pointsTANKER

Table of Tanker points.

#table AIRWING.squadrons

Table of squadrons.

#string AIRWING.takeoffType

Take of type.

#number AIRWING.verbose

Verbosity of output.

#string AIRWING.version

AIRWING class version.

Function(s)

Add cohort to cohort table of this legion.

Defined in:

Parameter:

The cohort to be added.

Return value:

self

Add a mission for the legion.

It will pick the best available assets for the mission and lauch it when ready.

Defined in:

Parameter:

Mission for this legion.

Return value:

self

Add transport assignment to queue.

Defined in:

Parameter:

Transport assignment.

Return value:

self

Recruit and assign assets performing an escort mission for a given asset list.

Note that each asset gets an escort.

Defined in:

Parameters:

#table Cohorts

Cohorts for escorting assets.

#table Assets

Table of assets to be escorted.

#number NescortMin

Min number of escort groups required per escorted asset.

#number NescortMax

Max number of escort groups required per escorted asset.

#string MissionType

Mission type.

#string TargetTypes

Types of targets that are engaged.

#number EngageRange

EngageRange in Nautical Miles.

Return value:

#boolean:

If true, enough assets could be recruited or no escort was required in the first place.

Recruit and assign assets performing an OPSTRANSPORT for a given asset list.

Defined in:

Parameters:

#table Legions

Transport legions.

#table CargoAssets

Weight of the heaviest cargo group to be transported.

#number NcarriersMin

Min number of carrier assets.

#number NcarriersMax

Max number of carrier assets.

Core.Zone#ZONE DeployZone

Deploy zone.

Core.Zone#ZONE DisembarkZone

(Optional) Disembark zone.

#table Categories

Group categories.

#table Attributes

Generalizes group attributes.

#table Properties

DCS attributes.

Return values:

#boolean:

If true, enough assets could be recruited and an OPSTRANSPORT object was created.

Transport The transport.

Calculate the mission score of an asset.

Defined in:

Parameters:

#string MissionType

Mission type for which the best assets are desired.

DCS#Vec2 TargetVec2

Target 2D vector.

#boolean IncludePayload

If true, include the payload in the calulation if the asset has one attached.

#number TotalWeight

The total weight of the cargo to be transported, if applicable.

Return value:

#number:

Mission score.

Check mission queue and assign ONE mission.

Defined in:

Return value:

#boolean:

If true, a mission was found and requested.

Check transport queue and assign ONE transport.

Defined in:

Return value:

#boolean:

If true, a transport was found and requested.

Count total number of assets of the legion.

Defined in:

Parameters:

#boolean InStock

If true, only assets that are in the warehouse stock/inventory are counted. If false, only assets that are NOT in stock (i.e. spawned) are counted. If nil, all assets are counted.

#table MissionTypes

(Optional) Count only assest that can perform certain mission type(s). Default is all types.

#table Attributes

(Optional) Count only assest that have a certain attribute(s), e.g. GROUP.Attribute.AIR_BOMBER.

Return value:

#number:

Amount of asset groups in stock.

Count assets on mission.

Defined in:

Parameters:

#table MissionTypes

Types on mission to be checked. Default all.

Only count assets of this cohort. Default count assets of all cohorts.

Return values:

#number:

Number of pending and queued assets.

#number:

Number of pending assets.

#number:

Number of queued assets.

Count total number of assets in LEGION warehouse stock that also have a payload.

Defined in:

Parameters:

#boolean Payloads

(Optional) Specifc payloads to consider. Default all.

#table MissionTypes

(Optional) Count only assest that can perform certain mission type(s). Default is all types.

#table Attributes

(Optional) Count only assest that have a certain attribute(s), e.g. WAREHOUSE.Attribute.AIR_BOMBER.

Return value:

#number:

Amount of asset groups in stock.

Count missions in mission queue.

Defined in:

Parameter:

#table MissionTypes

Types on mission to be checked. Default all possible types AUFTRAG.Type.

Return value:

#number:

Number of missions that are not over yet.

Count payloads in stock.

Defined in:

Parameters:

#table MissionTypes

Types on mission to be checked. Default all possible types AUFTRAG.Type.

#table UnitTypes

Types of units.

#table Payloads

Specific payloads to be counted only.

Return value:

#number:

Count of available payloads in stock.

Remove cohort from cohor table of this legion.

Defined in:

Parameter:

The cohort to be added.

Return value:

self

Fetch a payload from the airwing resources for a given unit and mission type.

The payload with the highest priority is preferred.

Defined in:

Parameters:

#string UnitType

The type of the unit.

#string MissionType

The mission type.

#table Payloads

Specific payloads only to be considered.

Return value:

Payload table or nil.

Get the unit types of this legion.

These are the unit types of all assigned cohorts.

Defined in:

Parameters:

#boolean onlyactive

Count only the active ones.

#table cohorts

Table of cohorts. Default all.

Return value:

#table:

Table of unit types.

Get the current mission of the asset.

Defined in:

Parameter:

Return value:

Current mission or nil.

Get assets on mission.

Defined in:

Parameter:

#table MissionTypes

Types on mission to be checked. Default all.

Return value:

#table:

Assets on pending requests.

Returns the mission for a given mission ID (Autragsnummer).

Defined in:

Parameter:

#number mid

Mission ID (Auftragsnummer).

Return value:

Mission table.

Returns the mission for a given request.

Defined in:

Parameter:

The warehouse request.

Return value:

Mission table or nil.

Returns the mission for a given request ID.

Defined in:

Parameter:

#number RequestID

Unique ID of the request.

Return value:

Mission table or nil.

Get name of legion.

This is the alias of the warehouse.

Defined in:

Return value:

#string:

Name of legion.

Get OPSGROUPs that are spawned and alive.

Defined in:

Parameters:

#table MissionTypes

(Optional) Get only assest that can perform certain mission type(s). Default is all types.

#table Attributes

(Optional) Get only assest that have a certain attribute(s), e.g. WAREHOUSE.Attribute.AIR_BOMBER.

Return value:

The set of OPSGROUPs. Can be empty if no groups are spawned or alive!

Returns the mission for a given ID.

Defined in:

Parameter:

#number uid

Transport UID.

Return value:

Transport assignment.

Check if the AIRWING class is calling.

Defined in:

Return value:

#boolean:

If true, this is an AIRWING.

Check if an asset is currently on a mission (STARTED or EXECUTING).

Defined in:

Parameters:

#table MissionTypes

Types on mission to be checked. Default all.

Return value:

#boolean:

If true, asset has at least one mission of that type in the queue.

Check if a BRIGADE class is calling.

Defined in:

Return value:

#boolean:

If true, this is a BRIGADE.

Check if cohort is part of this legion.

Defined in:

Parameter:

#string CohortName

Name of the platoon.

Return value:

#boolean:

If true, cohort is part of this legion.

Check if the FLEET class is calling.

Defined in:

Return value:

#boolean:

If true, this is a FLEET.

Triggers the FSM event "LegionAssetReturned".

Defined in:

Parameters:

The cohort the asset belongs to.

The asset that returned.

Triggers the FSM event "MissionAssign".

Defined in:

Parameters:

The mission.

#table Legions

The legion(s) from which the mission assets are requested.

Triggers the FSM event "MissionCancel".

Defined in:

Parameter:

The mission.

Triggers the FSM event "MissionRequest".

Defined in:

Parameters:

The mission.

#table Assets

(Optional) Assets to add.

Create a new LEGION class object.

Defined in:

Parameters:

#string WarehouseName

Name of the warehouse STATIC or UNIT object representing the warehouse.

#string LegionName

Name of the legion. Must be unique!

Return value:

self

On after "LegionAssetReturned" event.

Triggered when an asset group returned to its Legion.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

The cohort the asset belongs to.

The asset that returned.

On after "MissionAssign" event.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

The mission.

#table Legions

The legion(s) from which the mission assets are requested.

On after "MissionCancel" event.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

The mission.

On after "MissionRequest" event.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

The mission.

#table Assets

(Optional) Assets to add.

On after "OpsOnMission" event.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

The OPS group on mission.

The mission.

On after "TransportAssign" event.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

The transport.

#table Legions

The legion(s) to which this transport is assigned.

On after "TransportCancel" event.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

The transport.

On after "TransportRequest" event.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

The transport.

Triggers the FSM event "OpsOnMission".

Defined in:

Parameters:

The OPS group on mission.

The mission.

Recruit assets performing an escort mission for a given asset.

Defined in:

Parameters:

The mission.

#table Assets

Table of assets.

Return value:

#boolean:

If true, enough assets could be recruited or no escort was required in the first place.

Recruit assets for a given mission.

Defined in:

Parameter:

The mission.

Return values:

#boolean:

If true enough assets could be recruited.

#table:

Recruited assets.

#table:

Legions of recruited assets.

Recruit assets for a given OPS transport.

Defined in:

Parameter:

The OPS transport.

Return values:

#boolean:

If true, enough assets could be recruited.

#table:

assets Recruited assets.

#table:

legions Legions of recruited assets.

Recruit assets from Cohorts for the given parameters.

NOTE that we set the asset.isReserved=true flag so it cannot be recruited by anyone else.

Defined in:

Parameters:

#table Cohorts

Cohorts included.

#string MissionTypeRecruit

Mission type for recruiting the cohort assets.

#string MissionTypeOpt

Mission type for which the assets are optimized. Default is the same as MissionTypeRecruit.

#number NreqMin

Minimum number of required assets.

#number NreqMax

Maximum number of required assets.

DCS#Vec2 TargetVec2

Target position as 2D vector.

#table Payloads

Special payloads.

#number RangeMax

Max range in meters.

#number RefuelSystem

Refuelsystem.

#number CargoWeight

Cargo weight for recruiting transport carriers.

#number TotalWeight

Total cargo weight in kg.

#number MaxWeight

Max weight [kg] of the asset group.

#table Categories

Group categories.

#table Attributes

Group attributes. See GROUP.Attribute.

#table Properties

DCS attributes.

#table WeaponTypes

Bit of weapon types.

Return values:

#boolean:

If true enough assets could be recruited.

#table:

Recruited assets. NOTE that we set the asset.isReserved=true flag so it cant be recruited by anyone else.

#table:

Legions of recruited assets.

Relocate a cohort to another legion.

Assets in stock are spawned and routed to the new legion. If assets are spawned, running missions will be cancelled. Cohort assets will not be available until relocation is finished.

Defined in:

Parameters:

The cohort to be relocated.

The legion where the cohort is relocated to.

#number Delay

Delay in seconds before relocation takes place. Default nil, i.e. ASAP.

#number NcarriersMin

Min number of transport carriers in case the troops should be transported. Default nil for no transport.

#number NcarriersMax

Max number of transport carriers.

#table TransportLegions

Legion(s) assigned for transportation. Default is that transport assets can only be recruited from this legion.

Return value:

self

Remove mission from queue.

Defined in:

Parameter:

Mission to be removed.

Return value:

self

Return payload from asset back to stock.

Defined in:

Parameter:

The squadron asset.

Set tactical overview on.

Defined in:

Return value:

self

Set verbosity level.

Defined in:

Parameter:

#number VerbosityLevel

Level of output (higher=more). Default 0.

Return value:

self

Triggers the FSM event "Start".

Starts the LEGION. Initializes parameters and starts event handlers.

Defined in:

Triggers the FSM event "TransportAssign".

Defined in:

Parameters:

The transport.

#table Legions

The legion(s) to which this transport is assigned.

Triggers the FSM event "TransportCancel".

Defined in:

Parameter:

The transport.

Triggers the FSM event "TransportRequest".

Defined in:

Parameter:

The transport.

Unrecruit assets.

Set isReserved to false, return payload to airwing and (optionally) remove from assigned mission.

Defined in:

Parameters:

#table Assets

List of assets.

(Optional) The mission from which the assets will be deleted.

Create a request and add it to the warehouse queue.

Defined in:

Parameters:

Descriptor describing the asset that is requested.

AssetDescriptorValue

Value of the asset descriptor. Type depends on descriptor, i.e. could be a string, etc.

#number nAsset

Number of groups requested that match the asset specification.

#number Prio

Priority of the request. Number ranging from 1=high to 100=low.

#string Assignment

A keyword or text that can later be used to identify this request and postprocess the assets.

Return value:

Recruit assets from Cohorts for the given parameters.

NOTE that we set the asset.isReserved=true flag so it cant be recruited by anyone else.

Defined in:

Parameters:

The Cohort.

#string MissionType

Misson type(s).

#table Categories

Group categories.

#table Attributes

Group attributes. See GROUP.Attribute.

#table Properties

DCS attributes.

#table WeaponTypes

Bit of weapon types.

DCS#Vec2 TargetVec2

Target position.

RangeMax

Max range in meters.

#number RefuelSystem

Refueling system (boom or probe).

#number CargoWeight

Cargo weight [kg]. This checks the cargo bay of the cohort assets and ensures that it is large enough to carry the given cargo weight.

#number MaxWeight

Max weight [kg]. This checks whether the cohort asset group is not too heavy.

Return value:

#boolean:

Returns true if given cohort can meet all requirements.

Count payloads of all cohorts for all unit types.

Defined in:

Parameters:

#string MissionType

Mission type.

#table Cohorts

Cohorts included.

#table Payloads

(Optional) Special payloads.

Return value:

#table:

Table of payloads for each unit type.

Create a new OPS group after an asset was spawned.

Defined in:

Parameter:

Return value:

The created flightgroup object.

Get cohort by name.

Defined in:

Parameter:

#string CohortName

Name of the platoon.

Return value:

The Cohort object.

Get cohort of an asset.

Defined in:

Parameter:

Return value:

The Cohort object.

Get cohorts.

Defined in:

Parameters:

#table Legions

Special legions.

#table Cohorts

Special cohorts.

Operation.

#table OpsQueue

Queue of operations.

Return value:

#table:

Cohorts.

Optimize chosen assets for the mission at hand.

Defined in:

Parameters:

#table assets

Table of (unoptimized) assets.

#string MissionType

Mission type.

DCS#Vec2 TargetVec2

Target position as 2D vector.

#boolean IncludePayload

If true, include the payload in the calulation if the asset has one attached.

#number TotalWeight

The total weight of the cargo to be transported, if applicable.

Display tactical overview.

Defined in:

Triggers the FSM event "LegionAssetReturned" after a delay.

Defined in:

Parameters:

#number delay

Delay in seconds.

The cohort the asset belongs to.

The asset that returned.

Triggers the FSM event "MissionAssign" after a delay.

Defined in:

Parameters:

#number delay

Delay in seconds.

The mission.

#table Legions

The legion(s) from which the mission assets are requested.

Triggers the FSM event "MissionCancel" after a delay.

Defined in:

Parameters:

#number delay

Delay in seconds.

The mission.

Triggers the FSM event "MissionRequest" after a delay.

Defined in:

Parameters:

#number delay

Delay in seconds.

The mission.

#table Assets

(Optional) Assets to add.

Triggers the FSM event "OpsOnMission" after a delay.

Defined in:

Parameters:

#number delay

Delay in seconds.

The OPS group on mission.

The mission.

Triggers the FSM event "Start" after a delay.

Starts the LEGION. Initializes parameters and starts event handlers.

Defined in:

Parameter:

#number delay

Delay in seconds.

Triggers the FSM event "Stop" after a delay.

Stops the LEGION and all its event handlers.

Defined in:

Parameter:

#number delay

Delay in seconds.

Triggers the FSM event "TransportAssign" after a delay.

Defined in:

Parameters:

#number delay

Delay in seconds.

The transport.

#table Legions

The legion(s) to which this transport is assigned.

Triggers the FSM event "TransportCancel" after a delay.

Defined in:

Parameters:

#number delay

Delay in seconds.

The transport.

Triggers the FSM event "TransportRequest" after a delay.

Defined in:

Parameters:

#number delay

Delay in seconds.

The transport.

On after "AssetDead" event triggered when an asset group died.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

The asset that is dead.

The request of the dead asset.

On after "AssetSpawned" event triggered when an asset group is spawned into the cruel world.

Creates a new flightgroup element and adds the mission to the flightgroup queue.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

The group spawned.

The asset that was spawned.

The request of the dead asset.

On after "Captured" event.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

DCS#coalition.side Coalition

which captured the warehouse.

DCS#country.id Country

which has captured the warehouse.

On after "Destroyed" event.

Remove assets from cohorts. Stop cohorts.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

On after "LegionAssetReturned" event.

Triggered when an asset group returned to its legion.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

The cohort the asset belongs to.

The asset that returned.

On after "MissionAssign" event.

Mission is added to a LEGION mission queue and already requested. Needs assets to be added to the mission already.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

The mission.

#table Legions

The LEGIONs.

On after "MissionCancel" event.

Cancels the missions of all flightgroups. Deletes request from warehouse queue.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

The mission to be cancelled.

On after "MissionRequest" event.

Performs a self request to the warehouse for the mission assets. Sets mission status to REQUESTED.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

The requested mission.

#table Assets

(Optional) Assets to add.

On after "NewAsset" event.

Asset is added to the given cohort (asset assignment).

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

The asset that has just been added.

#string assignment

The (optional) assignment for the asset.

On after "OpsOnMission".

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

Ops group on mission

The requested mission.

On after "Request" event.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

Information table of the request.

On after "RequestSpawned" event.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

Information table of the request.

Core.Set#SET_GROUP CargoGroupSet

Set of cargo groups.

Core.Set#SET_GROUP TransportGroupSet

Set of transport groups if any.

On after "SelfRequest" event.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

The set of asset groups that was delivered to the warehouse itself.

Pending self request.

Start LEGION FSM.

Defined in:

Parameters:

From

Event

To

On after "TransportAssign" event.

Transport is added to a LEGION transport queue and assets are requested from the LEGION warehouse.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

The transport.

#table Legions

The legion(s) to which the transport is assigned.

On after "TransportCancel" event.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

The transport to be cancelled.

On after "TransportRequest" event.

Performs a self request to the warehouse for the transport assets. Sets transport status to REQUESTED.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

The requested mission.

OpsTransport

Field(s)

#string AIRWING.ClassName

Name of the class.

Ops.Airboss#AIRBOSS AIRWING.airboss

Airboss attached to this wing.

#number AIRWING.capFormation

If capOptionPatrolRaceTrack is true, set the formation, also.

#boolean AIRWING.capOptionPatrolRaceTrack

Use closer patrol race track or standard orbit auftrag.

#number AIRWING.capOptionVaryEndTime

If set, vary mission start time for CAP missions generated random between capOptionVaryStartTime and capOptionVaryEndTime

#number AIRWING.capOptionVaryStartTime

If set, vary mission start time for CAP missions generated random between capOptionVaryStartTime and capOptionVaryEndTime

#boolean AIRWING.despawnAfterHolding

Aircraft are despawned after holding.

#boolean AIRWING.despawnAfterLanding

Aircraft are despawned after landing.

#string AIRWING.lid

Class id string for output to DCS log file.

#boolean AIRWING.markpoints

Display markers on the F10 map.

#table AIRWING.menu

Table of menu items.

#table AIRWING.missionqueue

Mission queue table.

#number AIRWING.nflightsAWACS

Number of AWACS flights constantly in the air.

#number AIRWING.nflightsCAP

Number of CAP flights constantly in the air.

#number AIRWING.nflightsRecon

Number of Recon flights constantly in the air.

#number AIRWING.nflightsRescueHelo

Number of Rescue helo flights constantly in the air.

#number AIRWING.nflightsTANKERboom

Number of TANKER flights with BOOM constantly in the air.

#number AIRWING.nflightsTANKERprobe

Number of TANKER flights with PROBE constantly in the air.

#number AIRWING.payloadcounter

Running index of payloads.

#table AIRWING.payloads

Playloads for specific aircraft and mission types.

#table AIRWING.pointsAWACS

Table of AWACS points.

#table AIRWING.pointsCAP

Table of CAP points.

#table AIRWING.pointsRecon

Table of RECON points.

#table AIRWING.pointsTANKER

Table of Tanker points.

#table AIRWING.squadrons

Table of squadrons.

#string AIRWING.takeoffType

Take of type.

#number AIRWING.verbose

Verbosity of output.

#string AIRWING.version

AIRWING class version.

Function(s)

Trigger the FSM event "AddAsset".

Add a group to the warehouse stock.

Defined in:

Parameters:

Group to be added as new asset.

#number ngroups

(Optional) Number of groups to add to the warehouse stock. Default is 1.

#WAREHOUSE.Attribute forceattribute

(Optional) Explicitly force a generalized attribute for the asset. This has to be an WAREHOUSE.Attribute.

#number forcecargobay

(Optional) Explicitly force cargobay weight limit in kg for cargo carriers. This is for each unit of the group.

#number forceweight

(Optional) Explicitly force weight in kg of each unit in the group.

#number loadradius

(Optional) The distance in meters when the cargo is loaded into the carrier. Default is the bounding box size of the carrier.

DCS#AI.Skill skill

Skill of the asset.

#table liveries

Table of livery names. When the asset is spawned one livery is chosen randomly.

#string assignment

A free to choose string specifying an assignment for the asset. This can be used with the WAREHOUSE.OnAfterNewAsset function.

Add an off-road path from this warehouse to another and back.

The start and end points are automatically set to one random point in the respective spawn zones of the two warehouses. By default, the reverse path is also added as path from the remote warehouse to this warehouse.

Defined in:

Parameters:

#WAREHOUSE remotewarehouse

The remote warehouse to which the path leads.

Waypoints of this group will define the path between to warehouses.

#boolean oneway

(Optional) If true, the path can only be used from this warehouse to the other but not other way around. Default false.

Return value:

self

Triggers the FSM event "AddRequest".

Add a request to the warehouse queue, which is processed when possible.

Defined in:

Parameters:

#WAREHOUSE warehouse

The warehouse requesting supply.

#WAREHOUSE.Descriptor AssetDescriptor

Descriptor describing the asset that is requested.

AssetDescriptorValue

Value of the asset descriptor. Type depends on descriptor, i.e. could be a string, etc.

#number nAsset

Number of groups requested that match the asset specification.

#WAREHOUSE.TransportType TransportType

Type of transport.

#number nTransport

Number of transport units requested.

#number Prio

Priority of the request. Number ranging from 1=high to 100=low.

#string Assignment

A keyword or text that later be used to identify this request and postprocess the assets.

Add a shipping lane from this warehouse to another remote warehouse.

Note that both warehouses must have a port zone defined before a shipping lane can be added! Shipping lane is taken from the waypoints of a (late activated) template group. So set up a group, e.g. a ship or a helicopter, and place its waypoints along the shipping lane you want to add.

Defined in:

Parameters:

#WAREHOUSE remotewarehouse

The remote warehouse to where the shipping lane is added

Waypoints of this group will define the shipping lane between to warehouses.

#boolean oneway

(Optional) If true, the lane can only be used from this warehouse to the other but not other way around. Default false.

Return value:

self

Triggers the FSM event "AirbaseCaptured" when the airbase of the warehouse has been captured by another coalition.

Defined in:

Parameter:

DCS#coalition.side Coalition

Coalition side which captured the airbase, i.e. a number of DCS#coalition.side enumerator.

Triggers the FSM event "AirbaseRecaptured" when the airbase of the warehouse has been re-captured from the other coalition.

Defined in:

Parameter:

DCS#coalition.side Coalition

Coalition which re-captured the airbase, i.e. the same as the current warehouse owner coalition.

Triggers the FSM event "Arrived" when a group has arrived at the destination warehouse.

This function should always be called from the sending and not the receiving warehouse. If the group is a cargo asset, it is added to the receiving warehouse. If the group is a transporter it is added to the sending warehouse since carriers are supposed to return to their home warehouse once all cargo was delivered.

Defined in:

Parameter:

Group that has arrived.

Triggers the FSM event "AssetDead" when an asset group has died.

Defined in:

Parameters:

The asset that is dead.

The request of the dead asset.

Triggers the FSM event "AssetLowFuel" when an asset runs low on fuel

Defined in:

Parameters:

The asset that is low on fuel.

The request of the asset that is low on fuel.

Triggers the FSM event "AssetSpawned" when the warehouse has spawned an asset.

Defined in:

Parameters:

the group that was spawned.

The asset that was spawned.

The request of the spawned asset.

Triggers the FSM event "Attacked" when a warehouse is under attack by an another coalition.

Defined in:

Parameters:

DCS#coalition.side Coalition

Coalition side which is attacking the warehouse, i.e. a number of DCS#coalition.side enumerator.

DCS#country.id Country

Country ID, which is attacking the warehouse, i.e. a number DCS#country.id enumerator.

Triggers the FSM event "Captured" when a warehouse has been captured by another coalition.

Defined in:

Parameters:

DCS#coalition.side Coalition

Coalition side which captured the warehouse.

DCS#country.id Country

Country id which has captured the warehouse.

Triggers the FSM event "ChangeCountry" so the warehouse is respawned with the new country.

Defined in:

Parameter:

DCS#country.id Country

New country id of the warehouse.

Triggers the FSM event "Defeated" when an attack from an enemy was defeated.

Triggers the FSM event "Delivered".

All (cargo) assets of a request have been delivered to the receiving warehouse.

Defined in:

Parameter:

Pending request that was now delivered.

Triggers the FSM event "Destroyed" when the warehouse was destroyed.

Services are stopped.

Filter stock assets by descriptor and attribute.

Defined in:

Parameters:

#string descriptor

Descriptor describing the filtered assets.

attribute

Value of the descriptor.

#number nmax

(Optional) Maximum number of items that will be returned. Default nmax=nil is all matching items are returned.

#boolean mobile

(Optional) If true, filter only mobile assets.

Return values:

#table:

Filtered assets in stock with the specified descriptor value.

#number:

Total number of (requested) assets available.

#boolean:

If true, enough assets are available.

Find an asset in the the global warehouse data base.

Parameter is the MOOSE group object. Note that the group name must contain they "AID" keyword.

Defined in:

Parameter:

The group from which it is assumed that it has a registered asset.

Return value:

The asset from the data base or nil if it could not be found.

Find nearest warehouse in service, i.e.

warehouses which are not started, stopped or destroyed are not considered. Optionally, only warehouses with (specific) assets can be included in the search or warehouses of a certain coalition.

Defined in:

Parameters:

MinAssets

(Optional) Minimum number of assets the warehouse should have. Default 0.

#string Descriptor

(Optional) Descriptor describing the selected assets which should be in stock. See WAREHOUSE.Descriptor for possible values.

DescriptorValue

(Optional) Descriptor value selecting the type of assets which should be in stock.

DCS#Coalition.side Coalition

(Optional) Coalition side of the warehouse. Default is the same coalition as the present warehouse. Set to false for any coalition.

Core.Point#COORDINATE RefCoordinate

(Optional) Coordinate to which the closest warehouse is searched. Default is the warehouse calling this function.

Return values:

The the nearest warehouse object. Or nil if no warehouse is found.

#number:

The distance to the nearest warehouse in meters. Or nil if no warehouse is found.

Find a warehouse in the global warehouse data base.

Defined in:

Parameter:

#number uid

The unique ID of the warehouse.

Return value:

The warehouse object or nil if no warehouse exists.

Get airbase associated to the warehouse.

Defined in:

Return value:

Airbase object or nil if warehouse has no airbase connection.

Get category of airbase associated to the warehouse.

Defined in:

Return value:

#number:

Category of airbase or -1 if warehouse has (currently) no airbase.

Get name airbase associated to the warehouse.

Defined in:

Return value:

#string:

name of the airbase assosicated to the warehouse or "none" if the airbase has not airbase connection currently.

Get a warehouse asset from its unique id.

Defined in:

Parameter:

#number id

Asset ID.

Return value:

The warehouse asset.

Get a warehouse asset from its name.

Defined in:

Parameter:

#string GroupName

Spawn group name.

Return value:

The warehouse asset.

Get assignment of a request.

Defined in:

Parameter:

The request from which the assignment is extracted.

Return value:

#string:

The assignment text.

Get coalition side of warehouse static.

Defined in:

Return value:

#number:

Coalition side, i.e. number of DCS#coalition.side.

Get coalition name of warehouse static.

Defined in:

Return value:

#number:

Coalition side, i.e. number of DCS#coalition.side.

Get coordinate of warehouse static.

Defined in:

Return value:

The coordinate of the warehouse.

Get country id of warehouse static.

Defined in:

Return value:

#number:

Country id, i.e. number of DCS#country.id.

Get country name of warehouse static.

Defined in:

Return value:

#number:

Country id, i.e. number of DCS#coalition.side.

Get number of assets in warehouse stock.

Optionally, only specific assets can be counted.

Defined in:

Parameters:

#string Descriptor

(Optional) Descriptor return the number of a specifc asset type. See WAREHOUSE.Descriptor for possible values.

DescriptorValue

(Optional) Descriptor value selecting the type of assets.

#boolean OnlyMobile

(Optional) If true only mobile units are considered.

Return value:

#number:

Number of assets in stock.

Get a warehouse request from its unique id.

Defined in:

Parameter:

#number id

Request ID.

Return values:

The warehouse requested - either queued or pending.

#boolean:

If true, request is queued, if false, request is pending, if nil, request could not be found.

Check if runway is operational.

Defined in:

Return value:

#number:

Time in seconds until the runway is repaired. Will return 0 if runway is repaired.

Get the spawn zone.

Defined in:

Return value:

The spawn zone.

Returns the number of assets for each generalized attribute.

Defined in:

Parameter:

#table stock

The stock of the warehouse.

Return value:

#table:

Data table holding the numbers, i.e. data[attibute]=n.

Get 2D vector of warehouse static.

Defined in:

Return value:

The 2D vector of the warehouse.

Get 3D vector of warehouse static.

Defined in:

Return value:

The 3D vector of the warehouse.

Get the warehouse zone.

Defined in:

Return value:

The warehouse zone.

Check if the warehouse has a shipping lane defined to another warehouse.

Defined in:

Parameters:

#WAREHOUSE warehouse

The remote warehouse to where the connection is checked.

#boolean markpath

If true, place markers of path segments on the F10 map.

#boolean smokepath

If true, put green smoke on path segments.

Return values:

#boolean:

If true, the two warehouses are connected by road.

#number:

Path length in meters. Negative distance -1 meter indicates no connection.

Check if the warehouse has an off road path defined to another warehouse.

Defined in:

Parameters:

#WAREHOUSE warehouse

The remote warehouse to where the connection is checked.

#boolean markpath

If true, place markers of path segments on the F10 map.

#boolean smokepath

If true, put green smoke on path segments.

Return values:

#boolean:

If true, the two warehouses are connected by road.

#number:

Path length in meters. Negative distance -1 meter indicates no connection.

Check if the warehouse has a railroad connection to another warehouse.

Both warehouses need to be started!

Defined in:

Parameters:

#WAREHOUSE warehouse

The remote warehouse to where the connection is checked.

#boolean markpath

If true, place markers of path segments on the F10 map.

#boolean smokepath

If true, put green smoke on path segments.

Return values:

#boolean:

If true, the two warehouses are connected by road.

#number:

Path length in meters. Negative distance -1 meter indicates no connection.

Check if the warehouse has a road connection to another warehouse.

Both warehouses need to be started!

Defined in:

Parameters:

#WAREHOUSE warehouse

The remote warehouse to where the connection is checked.

#boolean markpath

If true, place markers of path segments on the F10 map.

#boolean smokepath

If true, put green smoke on path segments.

Return values:

#boolean:

If true, the two warehouses are connected by road.

#number:

Path length in meters. Negative distance -1 meter indicates no connection.

Check if the warehouse is under attack by another coalition.

Defined in:

Return value:

#boolean:

If true, the warehouse is attacked.

Check if the warehouse has been destroyed.

Defined in:

Return value:

#boolean:

If true, the warehouse had been destroyed.

Check if the warehouse has been loaded from disk via the "Load" event.

Defined in:

Return value:

#boolean:

If true, the warehouse was loaded from disk.

Check if the warehouse has not been started yet, i.e.

is in the state "NotReadyYet".

Defined in:

Return value:

#boolean:

If true, the warehouse object has been created but the warehouse has not been started yet.

Check if the warehouse is paused.

In this state, requests are not processed.

Defined in:

Return value:

#boolean:

If true, the warehouse is paused.

Check if the warehouse is running.

Defined in:

Return value:

#boolean:

If true, the warehouse is running and requests are processed.

Check if runway is operational.

Defined in:

Return value:

#boolean:

If true, runway is operational.

Check if warehouse physical representation is a ship.

Defined in:

Return value:

#boolean:

If true, warehouse object is a ship.

Check if warehouse physical representation is a static (not a unit) object.

Defined in:

Return value:

#boolean:

If true, warehouse object is a static.

Check if the warehouse is stopped.

Defined in:

Return value:

#boolean:

If true, the warehouse is stopped.

Check if warehouse physical representation is a unit (not a static) object.

Defined in:

Return value:

#boolean:

If true, warehouse object is a unit.

Triggers the FSM event "Load" when the warehouse is loaded from a file on disk.

Defined in:

Parameters:

#string path

Path where the file is located. Default is the DCS installation root directory.

#string filename

(Optional) File name. Default is WAREHOUSE-_.txt.

The WAREHOUSE constructor.

Creates a new WAREHOUSE object from a static object. Parameters like the coalition and country are taken from the static object structure.

Defined in:

Parameters:

The physical structure representing the warehouse. Can also be a Wrapper.Unit#UNIT.

#string alias

(Optional) Alias of the warehouse, i.e. the name it will be called when sending messages etc. Default is the name of the static/unit representing the warehouse.

Return value:

self

Triggers the FSM delayed event "NewAsset" when a new asset has been added to the warehouse stock.

Defined in:

Parameters:

The new asset.

#string assignment

(Optional) Assignment text for the asset.

On after "AirbaseCaptured" even user function.

Called when the airbase of the warehouse has been captured by another coalition.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

DCS#coalition.side Coalition

Coalition side which captured the airbase, i.e. a number of DCS#coalition.side enumerator.

On after "AirbaseRecaptured" event user function.

Called when the airbase of the warehouse has been re-captured from the other coalition.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

DCS#coalition.side Coalition

Coalition which re-captured the airbase, i.e. the same as the current warehouse owner coalition.

On after "Arrived" event user function.

Called when a group has arrived at its destination.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

Group that has arrived.

On after "AssetDead" event user function.

Called when an asset group died.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

The asset that is dead.

The request of the dead asset.

On after "AssetLowFuel" event user function.

Called when the an asset is low on fuel.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

The asset that is low on fuel.

The request of the asset that is low on fuel.

On after "AssetSpawned" event user function.

Called when the warehouse has spawned an asset.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

the group that was spawned.

The asset that was spawned.

The request of the spawned asset.

On after "Attacked" event user function.

Called when a warehouse (zone) is under attack by an enemy.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

DCS#coalition.side Coalition

Coalition side which is attacking the warehouse, i.e. a number of DCS#coalition.side enumerator.

DCS#country.id Country

Country ID, which is attacking the warehouse, i.e. a number DCS#country.id enumerator.

On after "Captured" event user function.

Called when the warehouse has been captured by an enemy coalition.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

DCS#coalition.side Coalition

Coalition side which captured the warehouse, i.e. a number of DCS#coalition.side enumerator.

DCS#country.id Country

Country id which has captured the warehouse, i.e. a number DCS#country.id enumerator.

On after "ChangeCountry" event user function.

Called when the warehouse has changed its country.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

DCS#country.id Country

New country id of the warehouse, i.e. a number DCS#country.id enumerator.

On after "Defeated" event user function.

Called when an enemy attack was defeated.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

On after "Delivered" event user function.

Called when a group has been delivered from the warehouse to another warehouse.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

Pending request that was now delivered.

On after "Destroyed" event user function.

Called when the warehouse was destroyed. Services are stopped.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

On after "Load" event user function.

Called when the warehouse assets are loaded from disk.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

#string path

Path where the file is located. Default is the DCS installation root directory.

#string filename

(Optional) File name. Default is WAREHOUSE-_.txt.

On after "NewAsset" event user function.

A new asset has been added to the warehouse stock.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

The asset that has just been added.

#string assignment

(Optional) Assignment text for the asset.

On after "Request" user function.

The necessary cargo and transport assets were spawned.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

Information table of the request.

On after "Respawn" event user function.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

On after "Save" event user function.

Called when the warehouse assets are saved to disk.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

#string path

Path where the file is saved. Default is the DCS installation root directory.

#string filename

(Optional) File name. Default is WAREHOUSE-_.txt.

On after "SelfRequest" event.

Request was initiated from the warehouse to itself. Groups are simply spawned at the warehouse or the associated airbase. All requested assets are passed as a Core.Set#SET_GROUP and can be used for further tasks or in other MOOSE classes. Note that airborne assets are spawned in uncontrolled state so they do not simply "fly away" after spawning.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

The set of (cargo) groups that was delivered to the warehouse itself.

Pending self request.

Usage:

--- Self request event. Triggered once the assets are spawned in the spawn zone or at the airbase.
function mywarehouse:OnAfterSelfRequest(From, Event, To, groupset, request)
  local groupset=groupset --Core.Set#SET_GROUP

  -- Loop over all groups spawned from that request.
  for _,group in pairs(groupset:GetSetObjects()) do
    local group=group --Wrapper.Group#GROUP

    -- Gree smoke on spawned group.
    group:SmokeGreen()

    -- Activate uncontrolled airborne group if necessary.
    group:StartUncontrolled()
  end
end

On before "Request" user function.

The necessary cargo and transport assets will be spawned. Time to set some additional asset parameters.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

Information table of the request.

Triggers the FSM event "Pause".

Pauses the warehouse. Assets can still be added and requests be made. However, requests are not processed.

Triggers the FSM event "Request".

Executes a request from the queue if possible.

Defined in:

Parameter:

Information table of the request.

Triggers the FSM event "Respawn".

Triggers the FSM event "Restart".

Restarts the warehouse from stopped state by reactivating the event handlers only.

Triggers the FSM event "Save" when the warehouse assets are saved to file on disk.

Defined in:

Parameters:

#string path

Path where the file is saved. Default is the DCS installation root directory.

#string filename

(Optional) File name. Default is WAREHOUSE-_.txt.

Triggers the FSM event "SelfRequest".

Request was initiated from the warehouse to itself. Groups are just spawned at the warehouse or the associated airbase. If the warehouse is currently under attack when the self request is made, the self request is added to the defending table. One the attack is defeated, this request is used to put the groups back into the warehouse stock.

Defined in:

Parameters:

The set of cargo groups that was delivered to the warehouse itself.

Pending self request.

Set the airbase belonging to this warehouse.

Note that it has to be of the same coalition as the warehouse. Also, be reasonable and do not put it too far from the phyiscal warehouse structure because you troops might have a long way to get to their transports.

Defined in:

Parameter:

The airbase object associated to this warehouse.

Return value:

self

Set wether client parking spots can be used for spawning.

Defined in:

Return value:

self

Set auto defence off.

This is the default.

Defined in:

Return value:

self

Set auto defence on.

When the warehouse is under attack, all ground assets are spawned automatically and will defend the warehouse zone.

Defined in:

Return value:

self

Set debug mode off.

This is the default

Defined in:

Return value:

self

Set debug mode on.

Error messages will be displayed on screen, units will be smoked at some events.

Defined in:

Return value:

self

Add a Harbor Zone for this warehouse where naval cargo units will spawn and be received.

Both warehouses must have the harbor zone defined for units to properly spawn on both the sending and receiving side. The harbor zone should be within 3km of the port zone used for warehouse in order to facilitate the boarding process.

Defined in:

Parameter:

The zone defining the naval embarcation/debarcation point for cargo units

Return value:

self

Set low fuel threshold.

If one unit of an asset has less fuel than this number, the event AssetLowFuel will be fired.

Defined in:

Parameter:

#number threshold

Relative low fuel threshold, i.e. a number in [0,1]. Default 0.15 (15%).

Return value:

self

Show or don't show markers on the F10 map displaying the Warehouse stock and road/rail connections.

Defined in:

Parameter:

#boolean switch

If true (or nil), markers are on. If false, markers are not displayed.

Return value:

self

Set valid parking spot IDs.

Defined in:

Parameter:

#table ParkingIDs

Table of numbers.

Return value:

self

Set the port zone for this warehouse.

The port zone is the zone, where all naval assets of the warehouse are spawned.

Defined in:

Parameter:

The zone defining the naval port of the warehouse.

Return value:

self

Set the connection of the warehouse to the railroad.

This is the place where train assets or transports will be spawned.

Defined in:

Parameter:

The railroad connection. Technically, the closest point on rails from this coordinate is determined by DCS API function. So this point must not be exactly on the a railroad connection.

Return value:

self

Set report off.

Warehouse does not report about its status and at certain events.

Defined in:

Return value:

self

Set report on.

Messages at events will be displayed on screen to the coalition owning the warehouse.

Defined in:

Return value:

self

Set respawn after destroy.

Defined in:

Parameter:

delay

Return value:

self

Set the connection of the warehouse to the road.

Ground assets spawned in the warehouse spawn zone will first go to this point and from there travel on road to the requesting warehouse. Note that by default the road connection is set to the closest point on road from the center of the spawn zone if it is withing 3000 meters. Also note, that if the parameter "coordinate" is passed as nil, any road connection is disabled and ground assets cannot travel of be transportet on the ground.

Defined in:

Parameter:

The road connection. Technically, the closest point on road from this coordinate is determined by DCS API function. So this point must not be exactly on the road.

Return value:

self

Set the time until the runway(s) of an airdrome are repaired after it has been destroyed.

Note that this is the time, the DCS engine uses not something we can control on a user level or we could get via scripting. You need to input the value. On the DCS forum it was stated that this is currently one hour. Hence this is the default value.

Defined in:

Parameter:

#number RepairTime

Time in seconds until the runway is repaired. Default 3600 sec (one hour).

Return value:

self

Disable safe parking option.

Note that is the default setting.

Defined in:

Return value:

self

Enable safe parking option, i.e.

parking spots at an airbase will be considered as occupied when a client aircraft is parked there (even if the client slot is not taken by a player yet). Note that also incoming aircraft can reserve/occupie parking spaces.

Defined in:

Return value:

self

Enable auto save of warehouse assets at mission end event.

Defined in:

Parameters:

#string path

Path where to save the asset data file.

#string filename

File name. Default is generated automatically from warehouse id.

Return value:

self

Set a zone where the (ground) assets of the warehouse are spawned once requested.

Defined in:

Parameters:

The spawn zone.

#number maxdist

(Optional) Maximum distance in meters between spawn zone and warehouse. Units are not spawned if distance is larger. Default is 5000 m.

Return value:

self

Set interval of status updates.

Note that normally only one request can be processed per time interval.

Defined in:

Parameter:

#number timeinterval

Time interval in seconds.

Return value:

self

Set verbosity level.

Defined in:

Parameter:

#number VerbosityLevel

Level of output (higher=more). Default 0.

Return value:

self

Set a warehouse zone.

If this zone is captured, the warehouse and all its assets fall into the hands of the enemy.

Defined in:

Parameter:

The warehouse zone. Note that this cannot be a polygon zone!

Return value:

self

Triggers the FSM event "Start".

Starts the warehouse. Initializes parameters and starts event handlers.

Triggers the FSM event "Status".

Queue is updated and requests are executed.

Triggers the FSM event "Stop".

Stops the warehouse and all its event handlers. All waiting and pending queue items are deleted as well and all assets are removed from stock.

Triggers the FSM event "Unpause".

Unpauses the warehouse. Processing of queued requests is resumed.

Task function for last waypoint.

Triggering the "Arrived" event.

Defined in:

Parameter:

The group that arrived.

Asset item characteristics.

Defined in:

Parameter:

The asset for which info in printed in trace mode.

Checks if the associated airbase still belongs to the warehouse.

Function that checks if an asset group is still okay.

Checks if the warehouse zone was conquered by antoher coalition.

Checks fuel on all pening assets.

Check parking ID for an asset.

Defined in:

Parameters:

asset

Return value:

#boolean:

If true, parking is valid.

Check parking ID.

Defined in:

Parameter:

Return value:

#boolean:

If true, parking is valid.

Sorts the queue and checks if the request can be fulfilled.

Defined in:

Return value:

Chosen request.

Checks if the request can be fulfilled in general.

If not, it is removed from the queue. Check if departure and destination bases are of the right type.

Defined in:

Parameter:

#table queue

The queue which is holding the requests to check.

Return value:

#boolean:

If true, request can be executed. If false, something is not right.

Checks if the request can be fulfilled right now.

Check for current parking situation, number of assets and transports currently in stock.

Defined in:

Parameter:

The request to be checked.

Return value:

#boolean:

If true, request can be executed. If false, something is not right.

Check if a request is valid in general.

If not, it will be removed from the queue. This routine needs to have at least one asset in stock that matches the request descriptor in order to determine whether the request category of troops. If no asset is in stock, the request will remain in the queue but cannot be executed.

Defined in:

Parameter:

The request to be checked.

Return value:

#boolean:

If true, request can be executed. If false, something is not right.

Debug message.

Message send to all if debug mode is activated (and duration > 0). Text self:T(text) added to DCS.log file.

Defined in:

Parameters:

#string text

The text of the error message.

#number duration

Message display duration in seconds. Default 20 sec. If duration is zero, no message is displayed.

Delete item from queue.

Defined in:

Parameters:

Item of queue to be removed.

#table queue

The queue from which the item should be deleted.

Delete item from queue.

Defined in:

Parameters:

#number qitemID

ID of queue item to be removed.

#table queue

The queue from which the item should be deleted.

Delete an asset item from stock.

Defined in:

Parameter:

Asset item to delete from stock table.

Display status of warehouse.

Display stock items of warehouse.

Defined in:

Parameter:

#table stock

Table holding all assets in stock of the warehouse. Each entry is of type WAREHOUSE.Assetitem.

Error message.

Message send to all (if duration > 0). Text self:E(text) added to DCS.log file.

Defined in:

Parameters:

#string text

The text of the error message.

#number duration

Message display duration in seconds. Default 20 sec. If duration is zero, no message is displayed.

Filter stock assets by table entry.

Defined in:

Parameters:

#table stock

Table holding all assets in stock of the warehouse. Each entry is of type WAREHOUSE.Assetitem.

#string descriptor

Descriptor describing the filtered assets.

attribute

Value of the descriptor.

#number nmax

(Optional) Maximum number of items that will be returned. Default nmax=nil is all matching items are returned.

#boolean mobile

(Optional) If true, filter only mobile assets.

Return values:

#table:

Filtered stock items table.

#number:

Total number of (requested) assets available.

#boolean:

If true, enough assets are available.

Seach unoccupied parking spots at the airbase for a list of assets.

For each asset group a list of parking spots is returned. During the search also the not yet spawned asset aircraft are considered. If not enough spots for all asset units could be found, the routine returns nil!

Defined in:

Parameters:

The airbase where we search for parking spots.

#table assets

A table of assets for which the parking spots are needed.

Return value:

#table:

Table of coordinates and terminal IDs of free parking spots. Each table entry has the elements .Coordinate and .TerminalID.

Get the generalized attribute of a group.

Note that for a heterogenious group, the attribute is determined from the attribute of the first unit!

Defined in:

Parameter:

MOOSE group object.

Return value:

Generalized attribute of the group.

Make a flight plan from a departure to a destination airport.

Defined in:

Parameters:

Departure airbase.

Destination airbase.

Return values:

#table:

Table of flightplan waypoints.

#table:

Table of flightplan coordinates.

Get warehouse id, asset id and request id from group name (alias).

Defined in:

Parameter:

The group from which the info is gathered.

Return values:

#number:

Warehouse ID.

#number:

Asset ID.

#number:

Request ID.

Get warehouse id, asset id and request id from group name (alias).

Defined in:

Parameter:

#string groupname

Name of the group from which the info is gathered.

Return values:

#number:

Warehouse ID.

#number:

Asset ID.

#number:

Request ID.

Calculate the maximum height an aircraft can reach for the given parameters.

Defined in:

Parameters:

#number D

Total distance in meters from Departure to holding point at destination.

#number alphaC

Climb angle in rad.

#number alphaD

Descent angle in rad.

#number Hdep

AGL altitude of departure point.

#number Hdest

AGL altitude of destination point.

#number Deltahhold

Relative altitude of holding point above destination.

Return value:

#number:

Maximum height the aircraft can reach.

Get group name without any spawn or cargo suffix #CARGO etc.

Defined in:

Parameter:

The group from which the info is gathered.

Return value:

#string:

Name of the object without trailing #...

Size of the bounding box of a DCS object derived from the DCS descriptor table.

If boundinb box is nil, a size of zero is returned.

Defined in:

Parameter:

DCS#Object DCSobject

The DCS object for which the size is needed.

Return values:

#number:

Max size of object in meters (length (x) or width (z) components not including height (y)).

#number:

Length (x component) of size.

#number:

Height (y component) of size.

#number:

Width (z component) of size.

Get the request belonging to a group.

Defined in:

Parameters:

The group from which the info is gathered.

#table queue

Queue holding all requests.

Return value:

The request belonging to this group.

Get text about warehouse stock.

Defined in:

Parameter:

#boolean messagetoall

If true, send message to all.

Return value:

#string:

Text about warehouse stock

Get the proper terminal type based on generalized attribute of the group.

Defined in:

Parameters:

Generlized attibute of unit.

#number _category

Airbase category.

Return value:

Terminal type for this group.

Get (optimized) transport carriers for the given assets to be transported.

Defined in:

Parameters:

request.

request

Is the group a used as transporter for a given request?

Defined in:

Parameters:

The group from which the info is gathered.

Request.

Return value:

#boolean:

True if group is transport, false if group is cargo and nil otherwise.

Check if a group has a generalized attribute.

Defined in:

Parameters:

MOOSE group object.

Attribute to check.

Return value:

#boolean:

True if group has the specified attribute.

Info Message.

Message send to coalition if reports or debug mode activated (and duration > 0). Text self:I(text) added to DCS.log file.

Defined in:

Parameters:

#string text

The text of the error message.

#number duration

Message display duration in seconds. Default 20 sec. If duration is zero, no message is displayed.

Function that checks if a pending job is done and can be removed from queue.

Create a new path from a template group.

Defined in:

Parameters:

Group used for extracting the waypoints.

First coordinate.

Final coordinate.

Return value:

#table:

Table with route points.

Arrived event if an air unit/group arrived at its destination.

This can be an engine shutdown or a landing event.

Defined in:

Parameter:

Event data table.

Warehouse event handling function.

Handles the case when the airbase associated with the warehous is captured.

Defined in:

Parameter:

Event data.

Warehouse event function, handling the birth of a unit.

Defined in:

Parameter:

Event data.

Warehouse event handling function.

Defined in:

Parameter:

Event data.

Function handling the event when a (warehouse) unit shuts down its engines.

Defined in:

Parameter:

Event data.

Function handling the event when a (warehouse) unit starts its engines.

Defined in:

Parameter:

Event data.

Function handling the event when a (warehouse) unit lands.

Defined in:

Parameter:

Event data.

Warehouse event handling function.

Handles the case when the mission is ended.

Defined in:

Parameter:

Event data.

Function handling the event when a (warehouse) unit takes off.

Defined in:

Parameter:

Event data.

Task function for when passing a waypoint.

Defined in:

Parameters:

The group that arrived.

#number n

Waypoint passed.

#number N

Final waypoint.

Prints the queue to DCS.log file.

Defined in:

Parameters:

#table queue

Queue to print.

#string name

Name of the queue for info reasons.

Relative to absolute quantity.

Defined in:

Parameters:

#string relative

Relative number in terms of WAREHOUSE.Quantity.

#number ntot

Total number.

Return value:

#number:

Absolute number.

Register new asset in globase warehouse data base.

Defined in:

Parameters:

The group that will be added to the warehouse stock.

#number ngroups

Number of groups to be added.

#string forceattribute

Forced generalized attribute.

#number forcecargobay

Cargo bay weight limit in kg.

#number forceweight

Weight of units in kg.

#number loadradius

Radius in meters when cargo is loaded into the carrier.

#table liveries

Table of liveries.

DCS#AI.Skill skill

Skill of AI.

#string assignment

Assignment attached to the asset item.

Return value:

#table:

A table containing all registered assets.

Route the airplane from one airbase another.

Activates uncontrolled aircraft and sets ROE/ROT for ferry flights. ROE is set to return fire and ROT to passive defence.

Defined in:

Parameter:

Airplane group to be routed.

Route ground units to destination.

ROE is set to return fire and alarm state to green.

Defined in:

Parameters:

The ground group to be routed

The request for this group.

Route naval units along user defined shipping lanes to destination warehouse.

ROE is set to return fire.

Defined in:

Parameters:

The naval group to be routed

The request for this group.

Route trains to their destination - or at least to the closest point on rail of the desired final destination.

Defined in:

Parameters:

The train group.

of the destination. Tail will be routed to the closest point

#number Speed

Speed in km/h to drive to the destination coordinate. Default is 60% of max possible speed the unit can go.

Simple task function.

Can be used to call a function which has the warehouse and the executing group as parameters.

Defined in:

Parameters:

#string Function

The name of the function to call passed as string.

The group which is meant.

Simple task function.

Can be used to call a function which has the warehouse and the executing group as parameters.

Defined in:

Parameters:

#string Function

The name of the function to call passed as string.

The group which is meant.

#number n

Waypoint passed.

#number N

Final waypoint number.

Sort requests queue wrt prio and request uid.

Spawn an aircraft asset (plane or helo) at the airbase associated with the warehouse.

Defined in:

Parameters:

#string alias

Alias name of the asset group.

Ground asset that will be spawned.

Request belonging to this asset. Needed for the name/alias.

#table parking

Parking data for this asset.

#boolean uncontrolled

Spawn aircraft in uncontrolled state.

#boolean lateactivated

If true, groups are spawned late activated.

Return value:

The spawned group or nil if the group could not be spawned.

Spawn a ground or naval asset in the corresponding spawn zone of the warehouse.

Defined in:

Parameters:

#string alias

Alias name of the asset group.

Ground asset that will be spawned.

Request belonging to this asset. Needed for the name/alias.

Core.Zone#ZONE spawnzone

Zone where the assets should be spawned.

#boolean lateactivated

If true, groups are spawned late activated.

Return value:

The spawned group or nil if the group could not be spawned.

Prepare a spawn template for the asset.

Deep copy of asset template, adjusting template and unit names, nillifying group and unit ids.

Defined in:

Parameters:

Ground asset that will be spawned.

#string alias

Alias name of the group.

Return value:

#table:

Prepared new spawn template.

Spawns requested assets at warehouse or associated airbase.

Defined in:

Parameter:

Information table of the request.

A unit of a group just died.

Update group sets in request. This is important in order to determine if a job is done and can be removed from the (pending) queue.

Defined in:

Parameters:

Unit that died.

Group of unit that died.

Request that needs to be updated.

Create or update mark text at warehouse, which is displayed in F10 map showing how many assets of each type are in stock.

Only the coalition of the warehouse owner is able to see it.

Defined in:

Return value:

#string:

Text about warehouse stock

Trigger the FSM event "AddAsset" with a delay.

Add a group to the warehouse stock.

Defined in:

Parameters:

#number delay

Delay in seconds.

Group to be added as new asset.

#number ngroups

(Optional) Number of groups to add to the warehouse stock. Default is 1.

#WAREHOUSE.Attribute forceattribute

(Optional) Explicitly force a generalized attribute for the asset. This has to be an WAREHOUSE.Attribute.

#number forcecargobay

(Optional) Explicitly force cargobay weight limit in kg for cargo carriers. This is for each unit of the group.

#number forceweight

(Optional) Explicitly force weight in kg of each unit in the group.

#number loadradius

(Optional) The distance in meters when the cargo is loaded into the carrier. Default is the bounding box size of the carrier.

DCS#AI.Skill skill

Skill of the asset.

#table liveries

Table of livery names. When the asset is spawned one livery is chosen randomly.

#string assignment

A free to choose string specifying an assignment for the asset. This can be used with the WAREHOUSE.OnAfterNewAsset function.

Triggers the FSM event "AddRequest" with a delay.

Add a request to the warehouse queue, which is processed when possible.

Defined in:

Parameters:

#number delay

Delay in seconds.

#WAREHOUSE warehouse

The warehouse requesting supply.

#WAREHOUSE.Descriptor AssetDescriptor

Descriptor describing the asset that is requested.

AssetDescriptorValue

Value of the asset descriptor. Type depends on descriptor, i.e. could be a string, etc.

#number nAsset

Number of groups requested that match the asset specification.

#WAREHOUSE.TransportType TransportType

Type of transport.

#number nTransport

Number of transport units requested.

#number Prio

Priority of the request. Number ranging from 1=high to 100=low.

#string Assignment

A keyword or text that later be used to identify this request and postprocess the assets.

Triggers the FSM event "AirbaseCaptured" with a delay when the airbase of the warehouse has been captured by another coalition.

Defined in:

Parameters:

#number delay

Delay in seconds.

DCS#coalition.side Coalition

Coalition side which captured the airbase, i.e. a number of DCS#coalition.side enumerator.

Triggers the FSM event "AirbaseRecaptured" with a delay when the airbase of the warehouse has been re-captured from the other coalition.

Defined in:

Parameters:

#number delay

Delay in seconds.

DCS#coalition.side Coalition

Coalition which re-captured the airbase, i.e. the same as the current warehouse owner coalition.

Triggers the FSM event "Arrived" after a delay when a group has arrived at the destination.

This function should always be called from the sending and not the receiving warehouse. If the group is a cargo asset, it is added to the receiving warehouse. If the group is a transporter it is added to the sending warehouse since carriers are supposed to return to their home warehouse once

Defined in:

Parameters:

#number delay

Delay in seconds.

Group that has arrived.

Triggers the delayed FSM event "AssetDead" when an asset group has died.

Defined in:

Parameters:

#number delay

Delay in seconds.

The asset that is dead.

The request of the dead asset.

Triggers the FSM event "AssetLowFuel" with a delay when an asset runs low on fuel.

Defined in:

Parameters:

#number delay

Delay in seconds.

The asset that is low on fuel.

The request of the asset that is low on fuel.

Triggers the FSM event "AssetSpawned" with a delay when the warehouse has spawned an asset.

Defined in:

Parameters:

#number delay

Delay in seconds.

the group that was spawned.

The asset that was spawned.

The request of the spawned asset.

Triggers the FSM event "Attacked" with a delay when a warehouse is under attack by an another coalition.

Defined in:

Parameters:

#number delay

Delay in seconds.

DCS#coalition.side Coalition

Coalition side which is attacking the warehouse, i.e. a number of DCS#coalition.side enumerator.

DCS#country.id Country

Country ID, which is attacking the warehouse, i.e. a number DCS#country.id enumerator.

Triggers the FSM event "Captured" with a delay when a warehouse has been captured by another coalition.

Defined in:

Parameters:

#number delay

Delay in seconds.

DCS#coalition.side Coalition

Coalition side which captured the warehouse.

DCS#country.id Country

Country id which has captured the warehouse.

Triggers the FSM event "ChangeCountry" after a delay so the warehouse is respawned with the new country.

Defined in:

Parameters:

#number delay

Delay in seconds.

DCS#country.id Country

Country id which has captured the warehouse.

Triggers the FSM event "Defeated" with a delay when an attack from an enemy was defeated.

Defined in:

Parameter:

#number delay

Delay in seconds.

Triggers the FSM event "Delivered" after a delay.

A group has been delivered from the warehouse to another warehouse.

Defined in:

Parameters:

#number delay

Delay in seconds.

Pending request that was now delivered.

Triggers the FSM event "Destroyed" with a delay when the warehouse was destroyed.

Services are stopped.

Defined in:

Parameter:

#number delay

Delay in seconds.

Triggers the FSM event "Load" with a delay when the warehouse assets are loaded from disk.

Defined in:

Parameters:

#number delay

Delay in seconds.

#string path

Path where the file is located. Default is the DCS installation root directory.

#string filename

(Optional) File name. Default is WAREHOUSE-_.txt.

Triggers the FSM delayed event "NewAsset" when a new asset has been added to the warehouse stock.

Defined in:

Parameters:

#number delay

Delay in seconds.

The new asset.

#string assignment

(Optional) Assignment text for the asset.

Triggers the FSM event "Pause" after a delay.

Pauses the warehouse. Assets can still be added and requests be made. However, requests are not processed.

Defined in:

Parameter:

#number delay

Delay in seconds.

Triggers the FSM event "Request" after a delay.

Executes a request from the queue if possible.

Defined in:

Parameters:

#number Delay

Delay in seconds.

Information table of the request.

Triggers the FSM event "Respawn" after a delay.

Defined in:

Parameter:

#number delay

Delay in seconds.

Triggers the FSM event "Restart" after a delay.

Restarts the warehouse from stopped state by reactivating the event handlers only.

Defined in:

Parameter:

#number delay

Delay in seconds.

Triggers the FSM event "Save" with a delay when the warehouse assets are saved to a file.

Defined in:

Parameters:

#number delay

Delay in seconds.

#string path

Path where the file is saved. Default is the DCS installation root directory.

#string filename

(Optional) File name. Default is WAREHOUSE-_.txt.

Triggers the FSM event "SelfRequest" with a delay.

Request was initiated from the warehouse to itself. Groups are just spawned at the warehouse or the associated airbase. If the warehouse is currently under attack when the self request is made, the self request is added to the defending table. One the attack is defeated, this request is used to put the groups back into the warehouse stock.

Defined in:

Parameters:

#number delay

Delay in seconds.

The set of cargo groups that was delivered to the warehouse itself.

Pending self request.

Triggers the FSM event "Start" after a delay.

Starts the warehouse. Initializes parameters and starts event handlers.

Defined in:

Parameter:

#number delay

Delay in seconds.

Triggers the FSM event "Status" after a delay.

Queue is updated and requests are executed.

Defined in:

Parameter:

#number delay

Delay in seconds.

Triggers the FSM event "Stop" after a delay.

Stops the warehouse and all its event handlers. All waiting and pending queue items are deleted as well and all assets are removed from stock.

Defined in:

Parameter:

#number delay

Delay in seconds.

Triggers the FSM event "Unpause" after a delay.

Unpauses the warehouse. Processing of queued requests is resumed.

Defined in:

Parameter:

#number delay

Delay in seconds.

On after "AddAsset" event.

Add a group to the warehouse stock. If the group is alive, it is destroyed.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

Group or template group to be added to the warehouse stock.

#number ngroups

Number of groups to add to the warehouse stock. Default is 1.

#WAREHOUSE.Attribute forceattribute

(Optional) Explicitly force a generalized attribute for the asset. This has to be an WAREHOUSE.Attribute.

#number forcecargobay

(Optional) Explicitly force cargobay weight limit in kg for cargo carriers. This is for each unit of the group.

#number forceweight

(Optional) Explicitly force weight in kg of each unit in the group.

#number loadradius

(Optional) Radius in meters when the cargo is loaded into the carrier.

DCS#AI.Skill skill

Skill of the asset.

#table liveries

Table of livery names. When the asset is spawned one livery is chosen randomly.

#string assignment

A free to choose string specifying an assignment for the asset. This can be used with the WAREHOUSE.OnAfterNewAsset function.

#table other

(Optional) Table of other useful data. Can be collected via WAREHOUSE.OnAfterNewAsset() function for example

On after "AddRequest" event.

Add a request to the warehouse queue, which is processed when possible.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

#WAREHOUSE warehouse

The warehouse requesting supply.

#WAREHOUSE.Descriptor AssetDescriptor

Descriptor describing the asset that is requested.

AssetDescriptorValue

Value of the asset descriptor. Type depends on descriptor, i.e. could be a string, etc.

#number nAsset

Number of groups requested that match the asset specification.

#WAREHOUSE.TransportType TransportType

Type of transport.

#number nTransport

Number of transport units requested.

#number Prio

Priority of the request. Number ranging from 1=high to 100=low.

#string Assignment

A keyword or text that can later be used to identify this request and postprocess the assets.

On after "AirbaseCaptured" event.

Airbase of warehouse has been captured by another coalition.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

DCS#coalition.side Coalition

which captured the warehouse.

On after "AirbaseRecaptured" event.

Airbase of warehouse has been re-captured from other coalition.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

DCS#coalition.side Coalition

Coalition side which originally captured the warehouse.

On after "Arrived" event.

Triggered when a group has arrived at its destination warehouse. The routine should be called by the warehouse sending this asset and not by the receiving warehouse. It is checked if this asset is cargo (or self propelled) or transport. If it is cargo it is put into the stock of receiving warehouse. If it is a transporter it is put back into the sending warehouse since transports are supposed to return their home warehouse.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

The group that was delivered.

On after "AssetDead" event triggered when an asset group died.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

The asset that is dead.

The request of the dead asset.

On after "AssetSpawned" event triggered when an asset group is spawned into the cruel world.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

The group spawned.

The asset that is dead.

The request of the dead asset.

On after "Attacked" event.

Warehouse is under attack by an another coalition.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

DCS#coalition.side Coalition

which is attacking the warehouse.

DCS#country.id Country

which is attacking the warehouse.

On after "Captured" event.

Warehouse has been captured by another coalition.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

DCS#coalition.side Coalition

which captured the warehouse.

DCS#country.id Country

which has captured the warehouse.

On after "ChangeCountry" event.

Warehouse is respawned with the specified country. All queued requests are deleted and the owned airbase is reset if the coalition is changed by changing the country.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

DCS#country.id Country

Country which has captured the warehouse.

On after "Defeated" event.

Warehouse defeated an attack by another coalition. Defender assets are added back to warehouse stock.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

On after "Delivered" event.

Triggered when all asset groups have reached their destination. Corresponding request is deleted from the pending queue.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

The pending request that is finished and deleted from the pending queue.

On after "Destroyed" event.

Warehouse was destroyed. All services are stopped. Warehouse is going to "Stopped" state in one minute.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

On after "Load" event.

Warehouse assets are loaded from file on disk.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

#string path

Path where the file is loaded from.

#string filename

(Optional) Name of the file containing the asset data.

On after "NewAsset" event.

A new asset has been added to the warehouse stock.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

The asset that has just been added.

#string assignment

The (optional) assignment for the asset.

On after "Pause" event.

Pauses the warehouse, i.e. no requests are processed. However, new requests and new assets can be added in this state.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

On after "Request" event.

Spawns the necessary cargo and transport assets.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

Information table of the request.

On after "RequestSpawned" event.

Initiates the transport of the assets to the requesting warehouse.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

Information table of the request.

Core.Set#SET_GROUP CargoGroupSet

Set of cargo groups.

Core.Set#SET_GROUP TransportGroupSet

Set of transport groups if any.

Respawn warehouse.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

On after "Restart" event.

Restarts the warehouse when it was in stopped state by reactivating the event handlers only.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

On after "RunwayDestroyed" event.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

On after "RunwayRepaired" event.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

On after "Save" event.

Warehouse assets are saved to file on disk.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

#string path

Path where the file is saved. If nil, file is saved in the DCS root installtion directory.

#string filename

(Optional) Name of the file containing the asset data.

On after "SelfRequest" event.

Request was initiated to the warehouse itself. Groups are just spawned at the warehouse or the associated airbase. If the warehouse is currently under attack when the self request is made, the self request is added to the defending table. One the attack is defeated, this request is used to put the groups back into the warehouse stock.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

The set of asset groups that was delivered to the warehouse itself.

Pending self request.

On after Start event.

Starts the warehouse. Adds event handlers and schedules status updates of reqests and queue.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

On after Status event.

Checks the queue and handles requests.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

On after "Stop" event.

Stops the warehouse, unhandles all events.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

On after "Unloaded" event.

Triggered when a group was unloaded from the carrier.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

The group that was delivered.

On after "Unpause" event.

Unpauses the warehouse, i.e. requests in queue are processed again.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

On before "AddRequest" event.

Checks some basic properties of the given parameters.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

#WAREHOUSE warehouse

The warehouse requesting supply.

#WAREHOUSE.Descriptor AssetDescriptor

Descriptor describing the asset that is requested.

AssetDescriptorValue

Value of the asset descriptor. Type depends on descriptor, i.e. could be a string, etc.

#number nAsset

Number of groups requested that match the asset specification.

#WAREHOUSE.TransportType TransportType

Type of transport.

#number nTransport

Number of transport units requested.

#number Prio

Priority of the request. Number ranging from 1=high to 100=low.

#string Assignment

A keyword or text that later be used to identify this request and postprocess the assets.

Return value:

#boolean:

If true, request is okay at first glance.

On before "Arrived" event.

Triggered when a group has arrived at its destination warehouse.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

The group that was delivered.

On before "Captured" event.

Warehouse has been captured by another coalition.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

DCS#coalition.side Coalition

which captured the warehouse.

DCS#country.id Country

which has captured the warehouse.

On before "ChangeCountry" event.

Checks whether a change of country is necessary by comparing the actual country to the the requested one.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

DCS#country.id Country

which has captured the warehouse.

On before "Load" event.

Checks if the file the warehouse data should be loaded from exists.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

#string path

Path where the file is loaded from.

#string filename

(Optional) Name of the file containing the asset data.

On before "Request" event.

Checks if the request can be fulfilled.

Defined in:

Parameters:

#string From

From state.

#string Event

Event.

#string To

To state.

Information table of the request.

Return value:

#boolean:

If true, request is granted.

Field(s)

#string AIRWING.ClassName

Name of the class.

Ops.Airboss#AIRBOSS AIRWING.airboss

Airboss attached to this wing.

#number AIRWING.capFormation

If capOptionPatrolRaceTrack is true, set the formation, also.

#boolean AIRWING.capOptionPatrolRaceTrack

Use closer patrol race track or standard orbit auftrag.

#number AIRWING.capOptionVaryEndTime

If set, vary mission start time for CAP missions generated random between capOptionVaryStartTime and capOptionVaryEndTime

#number AIRWING.capOptionVaryStartTime

If set, vary mission start time for CAP missions generated random between capOptionVaryStartTime and capOptionVaryEndTime

#boolean AIRWING.despawnAfterHolding

Aircraft are despawned after holding.

#boolean AIRWING.despawnAfterLanding

Aircraft are despawned after landing.

#string AIRWING.lid

Class id string for output to DCS log file.

#boolean AIRWING.markpoints

Display markers on the F10 map.

#table AIRWING.menu

Table of menu items.

#table AIRWING.missionqueue

Mission queue table.

#number AIRWING.nflightsAWACS

Number of AWACS flights constantly in the air.

#number AIRWING.nflightsCAP

Number of CAP flights constantly in the air.

#number AIRWING.nflightsRecon

Number of Recon flights constantly in the air.

#number AIRWING.nflightsRescueHelo

Number of Rescue helo flights constantly in the air.

#number AIRWING.nflightsTANKERboom

Number of TANKER flights with BOOM constantly in the air.

#number AIRWING.nflightsTANKERprobe

Number of TANKER flights with PROBE constantly in the air.

#number AIRWING.payloadcounter

Running index of payloads.

#table AIRWING.payloads

Playloads for specific aircraft and mission types.

#table AIRWING.pointsAWACS

Table of AWACS points.

#table AIRWING.pointsCAP

Table of CAP points.

#table AIRWING.pointsRecon

Table of RECON points.

#table AIRWING.pointsTANKER

Table of Tanker points.

#table AIRWING.squadrons

Table of squadrons.

#string AIRWING.takeoffType

Take of type.

#number AIRWING.verbose

Verbosity of output.

#string AIRWING.version

AIRWING class version.

Function(s)

Adds an End state.

Defined in:

Parameter:

#string State

The FSM state.

Set the default #FSM_PROCESS template with key ProcessName providing the ProcessClass and the process object when it is assigned to a Wrapper.Controllable by the task.

Defined in:

Parameters:

#table From

Can contain a string indicating the From state or a table of strings containing multiple From states.

#string Event

The Event name.

An sub-process FSM.

#table ReturnEvents

A table indicating for which returned events of the SubFSM which Event must be triggered in the FSM.

Return value:

The SubFSM.

Adds a score for the FSM to be achieved.

Defined in:

Parameters:

#string State

is the state of the process when the score needs to be given. (See the relevant state descriptions of the process).

#string ScoreText

is a text describing the score that is given according the status.

#number Score

is a number providing the score of the status.

Return value:

#FSM:

self

Adds a score for the FSM_PROCESS to be achieved.

Defined in:

Parameters:

#string From

is the From State of the main process.

#string Event

is the Event of the main process.

#string State

is the state of the process when the score needs to be given. (See the relevant state descriptions of the process).

#string ScoreText

is a text describing the score that is given according the status.

#number Score

is a number providing the score of the status.

Return value:

#FSM:

self

Add a new transition rule to the FSM.

A transition rule defines when and if the FSM can transition from a state towards another state upon a triggered event.

Defined in:

Parameters:

#table From

Can contain a string indicating the From state or a table of strings containing multiple From states.

#string Event

The Event name.

#string To

The To state.

Get current state.

Defined in:

Return value:

#string:

Current FSM state.

Returns the End states.

Defined in:

Return value:

#table:

End states.

Defined in:

Parameters:

From

Event

Returns a table of the SubFSM rules defined within the FSM.

Defined in:

Return value:

#table:

Sub processes.

Returns a table with the scores defined.

Defined in:

Return value:

#table:

Scores.

Returns the start state of the FSM.

Defined in:

Return value:

#string:

A string containing the start state.

Get current state.

Defined in:

Return value:

#string:

Current FSM state.

Returns a table with the Subs defined.

Defined in:

Return value:

#table:

Sub processes.

Returns a table of the transition rules defined within the FSM.

Defined in:

Return value:

#table:

Transitions.

Check if FSM is in state.

Defined in:

Parameter:

#string State

State name.

Return value:

#boolean:

If true, FSM is in this state.

Load call backs.

Defined in:

Parameter:

#table CallBackTable

Table of call backs.

Creates a new FSM object.

Defined in:

Return value:

#FSM:

Defined in:

Parameters:

From

Event

Fsm

Sets the start state of the FSM.

Defined in:

Parameter:

#string State

A string defining the start state.

Add to map.

Defined in:

Parameters:

#table Map

Map.

#table Event

Event table.

Call handler.

Defined in:

Parameters:

#string step

Step "onafter", "onbefore", "onenter", "onleave".

#string trigger

Trigger.

#table params

Parameters.

#string EventName

Event name.

Return value:

Value.

Create transition.

Defined in:

Parameter:

#string EventName

Event name.

Return value:

#function:

Function.

Delayed transition.

Defined in:

Parameter:

#string EventName

Event name.

Return value:

#function:

Function.

Event map.

Defined in:

Parameters:

#table Events

Events.

#table EventStructure

Event structure.

Go sub.

Defined in:

Parameters:

#string ParentFrom

Parent from state.

#string ParentEvent

Parent event name.

Return value:

#table:

Subs.

Handler.

Defined in:

Parameters:

#string EventName

Event name.

...

Arguments.

Is end state.

Defined in:

Parameter:

#string Current

Current state name.

Return values:

#table:

FSM parent.

#string:

Event name.

Sub maps.

Defined in:

Parameters:

#table subs

Subs.

#table sub

Sub.

#string name

Name.

Check if can do an event.

Defined in:

Parameter:

#string e

Event name.

Return values: