# Module `DCSTypes`

## Global(s)

AI |

## Type `AI`

AI.Option |
AI.Skill |
AI.Task |

## Type `AI.Option`

AI.Option.Air |
AI.Option.Ground |
AI.Option.Naval |

## Type `AI.Option.Air`

AI.Option.Air.id |
AI.Option.Air.val |

## Type `AI.Option.Air.val`

AI.Option.Air.val.FLARE_USING |
AI.Option.Air.val.RADAR_USING |
AI.Option.Air.val.REACTION_ON_THREAT |
AI.Option.Air.val.ROE |

## Type `AI.Option.Air.val.FLARE_USING`

AI.Option.Air.val.FLARE_USING.AGAINST_FIRED_MISSILE |
AI.Option.Air.val.FLARE_USING.NEVER |
AI.Option.Air.val.FLARE_USING.WHEN_FLYING_IN_SAM_WEZ |
AI.Option.Air.val.FLARE_USING.WHEN_FLYING_NEAR_ENEMIES |

## Type `AI.Option.Air.val.RADAR_USING`

AI.Option.Air.val.RADAR_USING.FOR_ATTACK_ONLY |
AI.Option.Air.val.RADAR_USING.FOR_CONTINUOUS_SEARCH |
AI.Option.Air.val.RADAR_USING.FOR_SEARCH_IF_REQUIRED |
AI.Option.Air.val.RADAR_USING.NEVER |

## Type `AI.Option.Air.val.REACTION_ON_THREAT`

AI.Option.Air.val.REACTION_ON_THREAT.ALLOW_ABORT_MISSION |
AI.Option.Air.val.REACTION_ON_THREAT.BYPASS_AND_ESCAPE |
AI.Option.Air.val.REACTION_ON_THREAT.EVADE_FIRE |
AI.Option.Air.val.REACTION_ON_THREAT.NO_REACTION |
AI.Option.Air.val.REACTION_ON_THREAT.PASSIVE_DEFENCE |

## Type `AI.Option.Air.val.ROE`

AI.Option.Air.val.ROE.OPEN_FIRE |
AI.Option.Air.val.ROE.OPEN_FIRE_WEAPON_FREE |
AI.Option.Air.val.ROE.RETURN_FIRE |
AI.Option.Air.val.ROE.WEAPON_FREE |
AI.Option.Air.val.ROE.WEAPON_HOLD |

## Type `AI.Option.Ground`

AI.Option.Ground.id |
AI.Option.Ground.val |

## Type `AI.Option.Ground.id`

AI.Option.Ground.id.ALARM_STATE | AI.Option.Ground.val.ALARM_STATE
AI.Option.Ground.id.DISPERSE_ON_ATTACK | true or false
AI.Option.Ground.id.NO_OPTION |
AI.Option.Ground.id.ROE | AI.Option.Ground.val.ROE

## Type `AI.Option.Ground.val`

AI.Option.Ground.val.ALARM_STATE |
AI.Option.Ground.val.ROE |

## Type `AI.Option.Ground.val.ALARM_STATE`

AI.Option.Ground.val.ALARM_STATE.AUTO |
AI.Option.Ground.val.ALARM_STATE.GREEN |
AI.Option.Ground.val.ALARM_STATE.RED |

## Type `AI.Option.Ground.val.ROE`

AI.Option.Ground.val.ROE.OPEN_FIRE |
AI.Option.Ground.val.ROE.RETURN_FIRE |
AI.Option.Ground.val.ROE.WEAPON_HOLD |

## Type `AI.Option.Naval`

AI.Option.Naval.id |
AI.Option.Naval.val |

## Type `AI.Option.Naval.id`

AI.Option.Naval.id.NO_OPTION |
AI.Option.Naval.id.ROE |

## Type `AI.Option.Naval.val`

AI.Option.Naval.val.ROE |

## Type `AI.Option.Naval.val.ROE`

AI.Option.Naval.val.ROE.OPEN_FIRE |
AI.Option.Naval.val.ROE.RETURN_FIRE |
AI.Option.Naval.val.ROE.WEAPON_HOLD |

## Type `AI.Skill`

AI.Skill.AVERAGE |
AI.Skill.CLIENT |
AI.Skill.EXCELLENT |
AI.Skill.GOOD |
AI.Skill.HIGH |
AI.Skill.PLAYER |

## Type `AI.Task`

AI.Task.AltitudeType |
AI.Task.Designation |
AI.Task.OrbitPattern |
AI.Task.TurnMethod |
AI.Task.VehicleFormation |
AI.Task.WaypointType |
AI.Task.WeaponExpend |

## Type `AI.Task.AltitudeType`

AI.Task.AltitudeType.BARO |
AI.Task.AltitudeType.RADIO |

## Type `AI.Task.Designation`

AI.Task.Designation.AUTO |
AI.Task.Designation.IR_POINTER |
AI.Task.Designation.LASER |
AI.Task.Designation.NO |
AI.Task.Designation.WP |

## Type `AI.Task.OrbitPattern`

AI.Task.OrbitPattern.CIRCLE |
AI.Task.OrbitPattern.RACE_TRACK |

## Type `AI.Task.TurnMethod`

AI.Task.TurnMethod.FIN_POINT |
AI.Task.TurnMethod.FLY_OVER_POINT |

## Type `AI.Task.VehicleFormation`

AI.Task.VehicleFormation.CONE |
AI.Task.VehicleFormation.DIAMOND |
AI.Task.VehicleFormation.ECHELON_LEFT |
AI.Task.VehicleFormation.ECHELON_RIGHT |
AI.Task.VehicleFormation.OFF_ROAD |
AI.Task.VehicleFormation.ON_ROAD |
AI.Task.VehicleFormation.RANK |
AI.Task.VehicleFormation.VEE |

## Type `AI.Task.WaypointType`

AI.Task.WaypointType.LAND |
AI.Task.WaypointType.TAKEOFF |
AI.Task.WaypointType.TAKEOFF_PARKING |
AI.Task.WaypointType.TURNING_POINT |

## Type `AI.Task.WeaponExpend`

AI.Task.WeaponExpend.ALL |
AI.Task.WeaponExpend.FOUR |
AI.Task.WeaponExpend.HALF |
AI.Task.WeaponExpend.ONE |
AI.Task.WeaponExpend.QUARTER |
AI.Task.WeaponExpend.TWO |

## Type `Box3`

Box3.max |
Box3.min |

## Type `Desc`

Desc.attributes | object type attributes
Desc.displayName | localized display name
Desc.typeName | type name

## Type `Position3`

Position3.p |
Position3.x |
Position3.y |
Position3.z |

## Type `Vec2`

Vec2.x | Vec2.x = Vec3.x
Vec2.y | Vec2.y = Vec3.z

## Type `Vec3`

Vec3.x | is directed to the north
Vec3.y | is directed up
Vec3.z | is directed to the east

## Global(s)

#AI AI

## Type `DCSTypes`

## Type `AI`

### Field(s)

#AI.Option AI.Option

#AI.Skill AI.Skill

#AI.Task AI.Task

## Type `AI.Option`

### Field(s)

#AI.Option.Air AI.Option.Air

#AI.Option.Ground AI.Option.Ground

#AI.Option.Naval AI.Option.Naval

## Type `AI.Option.Air`

### Field(s)

#AI.Option.Air.id AI.Option.Air.id

#AI.Option.Air.val AI.Option.Air.val

## Type `AI.Option.Air.id`

## Type `AI.Option.Air.val`

### Field(s)

#AI.Option.Air.val.FLARE_USING AI.Option.Air.val.FLARE_USING

#AI.Option.Air.val.RADAR_USING AI.Option.Air.val.RADAR_USING

#AI.Option.Air.val.REACTION_ON_THREAT AI.Option.Air.val.REACTION_ON_THREAT

#AI.Option.Air.val.ROE AI.Option.Air.val.ROE

## Type `AI.Option.Air.val.FLARE_USING`

### Field(s)

AI.Option.Air.val.FLARE_USING.AGAINST_FIRED_MISSILE

AI.Option.Air.val.FLARE_USING.NEVER

AI.Option.Air.val.FLARE_USING.WHEN_FLYING_IN_SAM_WEZ

AI.Option.Air.val.FLARE_USING.WHEN_FLYING_NEAR_ENEMIES

## Type `AI.Option.Air.val.RADAR_USING`

### Field(s)

AI.Option.Air.val.RADAR_USING.FOR_ATTACK_ONLY

AI.Option.Air.val.RADAR_USING.FOR_CONTINUOUS_SEARCH

AI.Option.Air.val.RADAR_USING.FOR_SEARCH_IF_REQUIRED

AI.Option.Air.val.RADAR_USING.NEVER

## Type `AI.Option.Air.val.REACTION_ON_THREAT`

### Field(s)

AI.Option.Air.val.REACTION_ON_THREAT.ALLOW_ABORT_MISSION

AI.Option.Air.val.REACTION_ON_THREAT.BYPASS_AND_ESCAPE

AI.Option.Air.val.REACTION_ON_THREAT.EVADE_FIRE

AI.Option.Air.val.REACTION_ON_THREAT.NO_REACTION

AI.Option.Air.val.REACTION_ON_THREAT.PASSIVE_DEFENCE

## Type `AI.Option.Air.val.ROE`

### Field(s)

AI.Option.Air.val.ROE.OPEN_FIRE

AI.Option.Air.val.ROE.OPEN_FIRE_WEAPON_FREE

AI.Option.Air.val.ROE.RETURN_FIRE

AI.Option.Air.val.ROE.WEAPON_FREE

AI.Option.Air.val.ROE.WEAPON_HOLD

## Type `AI.Option.Ground`

### Field(s)

#AI.Option.Ground.id AI.Option.Ground.id

#AI.Option.Ground.val AI.Option.Ground.val

## Type `AI.Option.Ground.id`

### Field(s)

AI.Option.Ground.id.ALARM_STATE

  AI.Option.Ground.val.ALARM_STATE

AI.Option.Ground.id.DISPERSE_ON_ATTACK

  true or false

AI.Option.Ground.id.NO_OPTION

AI.Option.Ground.id.ROE

  AI.Option.Ground.val.ROE

## Type `AI.Option.Ground.val`

### Field(s)

#AI.Option.Ground.val.ALARM_STATE AI.Option.Ground.val.ALARM_STATE

#AI.Option.Ground.val.ROE AI.Option.Ground.val.ROE

## Type `AI.Option.Ground.val.ALARM_STATE`

### Field(s)

AI.Option.Ground.val.ALARM_STATE.AUTO

AI.Option.Ground.val.ALARM_STATE.GREEN

AI.Option.Ground.val.ALARM_STATE.RED

## Type `AI.Option.Ground.val.ROE`

### Field(s)

AI.Option.Ground.val.ROE.OPEN_FIRE

AI.Option.Ground.val.ROE.RETURN_FIRE

AI.Option.Ground.val.ROE.WEAPON_HOLD

## Type `AI.Option.Naval`

### Field(s)

#AI.Option.Naval.id AI.Option.Naval.id

#AI.Option.Naval.val AI.Option.Naval.val

## Type `AI.Option.Naval.id`

### Field(s)

AI.Option.Naval.id.NO_OPTION

AI.Option.Naval.id.ROE

## Type `AI.Option.Naval.val`

### Field(s)

#AI.Option.Naval.val.ROE AI.Option.Naval.val.ROE

## Type `AI.Option.Naval.val.ROE`

### Field(s)

AI.Option.Naval.val.ROE.OPEN_FIRE

AI.Option.Naval.val.ROE.RETURN_FIRE

AI.Option.Naval.val.ROE.WEAPON_HOLD

## Type `AI.Skill`

### Field(s)

AI.Skill.AVERAGE

AI.Skill.CLIENT

AI.Skill.EXCELLENT

AI.Skill.GOOD

AI.Skill.HIGH

AI.Skill.PLAYER

## Type `AI.Task`

### Field(s)

#AI.Task.AltitudeType AI.Task.AltitudeType

#AI.Task.Designation AI.Task.Designation

#AI.Task.OrbitPattern AI.Task.OrbitPattern

#AI.Task.TurnMethod AI.Task.TurnMethod

#AI.Task.VehicleFormation AI.Task.VehicleFormation

#AI.Task.WaypointType AI.Task.WaypointType

#AI.Task.WeaponExpend AI.Task.WeaponExpend

## Type `AI.Task.AltitudeType`

### Field(s)

AI.Task.AltitudeType.BARO

AI.Task.AltitudeType.RADIO

## Type `AI.Task.Designation`

### Field(s)

AI.Task.Designation.AUTO

AI.Task.Designation.IR_POINTER

AI.Task.Designation.LASER

AI.Task.Designation.NO

AI.Task.Designation.WP

## Type `AI.Task.OrbitPattern`

### Field(s)

AI.Task.OrbitPattern.CIRCLE

AI.Task.OrbitPattern.RACE_TRACK

## Type `AI.Task.TurnMethod`

### Field(s)

AI.Task.TurnMethod.FIN_POINT

AI.Task.TurnMethod.FLY_OVER_POINT

## Type `AI.Task.VehicleFormation`

### Field(s)

AI.Task.VehicleFormation.CONE

AI.Task.VehicleFormation.DIAMOND

AI.Task.VehicleFormation.ECHELON_LEFT

AI.Task.VehicleFormation.ECHELON_RIGHT

AI.Task.VehicleFormation.OFF_ROAD

AI.Task.VehicleFormation.ON_ROAD

AI.Task.VehicleFormation.RANK

AI.Task.VehicleFormation.VEE

## Type `AI.Task.WaypointType`

### Field(s)

AI.Task.WaypointType.LAND

AI.Task.WaypointType.TAKEOFF

AI.Task.WaypointType.TAKEOFF_PARKING

AI.Task.WaypointType.TURNING_POINT

## Type `AI.Task.WeaponExpend`

### Field(s)

AI.Task.WeaponExpend.ALL

AI.Task.WeaponExpend.FOUR

AI.Task.WeaponExpend.HALF

AI.Task.WeaponExpend.ONE

AI.Task.WeaponExpend.QUARTER

AI.Task.WeaponExpend.TWO

## Type `Angle`

An angle type

## Type `Azimuth`

Azimuth is an angle of rotation around world axis y counter-clockwise.

## Type `Box3`

3-dimensional box.

### Field(s)

#Vec3 Box3.max

#Vec3 Box3.min

## Type `Desc`

### Field(s)

#table Desc.attributes

  object type attributes

#string Desc.displayName

  localized display name

#TypeName Desc.typeName

  type name

## Type `Distance`

A distance type

## Type `Mass`

Mass is given in kilograms.

## Type `MissionTime`

Mission time is a model time plus time of the mission start.

## Type `ModelTime`

Model time is the time that drives the simulation.

Model time may be stopped, accelerated and decelerated relative real time.

## Type `Position3`

Position is a composite structure.

It consists of both coordinate vector and orientation matrix. Position3 (also known as "Pos3" for short) is a table that has following format:

### Field(s)

#Vec3 Position3.p

#Vec3 Position3.x

#Vec3 Position3.y

#Vec3 Position3.z

## Type `Time`

Time is given in seconds.

## Type `TypeName`

Each object belongs to a type.

Object type is a named couple of properties those independent of mission and common for all units of the same type. Name of unit type is a string. Samples of unit type: "Su-27", "KAMAZ" and "M2 Bradley".

## Type `Vec2`

Vec2 is a 2D-vector for the ground plane as a reference plane.

### Field(s)

#Distance Vec2.x

  Vec2.x = Vec3.x

#Distance Vec2.y

  Vec2.y = Vec3.z

## Type `Vec3`

Vec3 type is a 3D-vector.

DCS world has 3-dimensional coordinate system. DCS ground is an infinite plain.

### Field(s)

#Distance Vec3.x

  is directed to the north

#Distance Vec3.y

  is directed up

#Distance Vec3.z

  is directed to the east