Module AIBalancer

This module contains the AIBALANCER class.


1) AIBalancer#AIBALANCER class, extends Base#BASE

The AIBalancer#AIBALANCER class controls the dynamic spawning of AI GROUPS depending on a SETCLIENT. There will be as many AI GROUPS spawned as there at CLIENTS in SETCLIENT not spawned.

1.1) AIBALANCER construction method:

Create a new AIBALANCER object with the AIBALANCER.New method:

1.2) AIBALANCER returns AI to Airbases:

You can configure to have the AI to return to:

1.3) AIBALANCER allows AI to patrol specific zones:

Use AIBalancer#AIBALANCER.SetPatrolZone() to specify a zone where the AI needs to patrol.


CREDITS

Dutch_Baron (James) Who you can search on the Eagle Dynamics Forums. Working together with James has resulted in the creation of the AIBALANCER class. James has shared his ideas on balancing AI with air units, and together we made a first design which you can use now :-)

SNAFU Had a couple of mails with the guys to validate, if the same concept in the GCI/CAP script could be reworked within MOOSE. None of the script code has been used however within the new AIBALANCER moose class.

Global(s)

AIBALANCER

Type AIBALANCER

AIBALANCER.AIGroups
AIBALANCER.ClassName
AIBALANCER:New(SetClient, SpawnAI)

Creates a new AIBALANCER object, building a set of units belonging to a coalitions, categories, countries, types or with defined prefix names.

AIBALANCER.PatrolZone
AIBALANCER.PatrolZones
AIBALANCER.ReturnAirbaseSet
AIBALANCER:ReturnToHomeAirbase(ReturnTresholdRange)

Returns the AI to the home Airbase#AIRBASE.

AIBALANCER:ReturnToNearestAirbases(ReturnTresholdRange, ReturnAirbaseSet)

Returns the AI to the nearest friendly Airbase#AIRBASE.

AIBALANCER.ReturnTresholdRange
AIBALANCER.SetClient
AIBALANCER:SetPatrolZone(PatrolZone)

Let the AI patrol a Zone with a given Speed range and Altitude range.

AIBALANCER.SpawnAI
AIBALANCER.ToHomeAirbase
AIBALANCER.ToNearestAirbase
AIBALANCER:_ClientAliveMonitorScheduler()

Global(s)

#AIBALANCER AIBALANCER

Type AIBalancer

Type AIBALANCER

AIBALANCER class

Field(s)

AIBALANCER.AIGroups
#string AIBALANCER.ClassName
AIBALANCER:New(SetClient, SpawnAI)

Creates a new AIBALANCER object, building a set of units belonging to a coalitions, categories, countries, types or with defined prefix names.

Parameters

  • SetClient : A SET_CLIENT object that will contain the CLIENT objects to be monitored if they are alive or not (joined by a player).

  • SpawnAI : A SPAWN object that will spawn the AI units required, balancing the SetClient.

Return value

#AIBALANCER: self

PatrolZone#PATROLZONE AIBALANCER.PatrolZone
AIBALANCER.PatrolZones
Set#SET_AIRBASE AIBALANCER.ReturnAirbaseSet
AIBALANCER:ReturnToHomeAirbase(ReturnTresholdRange)

Returns the AI to the home Airbase#AIRBASE.

Parameter

AIBALANCER:ReturnToNearestAirbases(ReturnTresholdRange, ReturnAirbaseSet)

Returns the AI to the nearest friendly Airbase#AIRBASE.

Parameters

DCSTypes#Distance AIBALANCER.ReturnTresholdRange
Set#SET_CLIENT AIBALANCER.SetClient
AIBALANCER:SetPatrolZone(PatrolZone)

Let the AI patrol a Zone with a given Speed range and Altitude range.

Parameter

Return value

PatrolZone#PATROLZONE: self

Spawn#SPAWN AIBALANCER.SpawnAI
#boolean AIBALANCER.ToHomeAirbase
#boolean AIBALANCER.ToNearestAirbase
AIBALANCER:_ClientAliveMonitorScheduler()