------------------------------------------------------------------------------- -- @module DCSTypes --- Time is given in seconds. -- @type Time -- @extends #number --- Model time is the time that drives the simulation. Model time may be stopped, accelerated and decelerated relative real time. -- @type ModelTime -- @extends #number --- Mission time is a model time plus time of the mission start. -- @type MissionTime -- @extends #number --- Distance is given in meters. -- @type Distance -- @extends #number --- Angle is given in radians. -- @type Angle -- @extends #number --- Azimuth is an angle of rotation around world axis y counter-clockwise. -- @type Azimuth -- @extends #number --- Mass is given in kilograms. -- @type Mass -- @extends #number --- Vec3 type is a 3D-vector. -- DCS world has 3-dimensional coordinate system. DCS ground is an infinite plain. -- @type Vec3 -- @field #Distance x is directed to the north -- @field #Distance z is directed to the east -- @field #Distance y is directed up --- Vec2 is a 2D-vector for the ground plane as a reference plane. -- @type Vec2 -- @field #Distance x Vec2.x = Vec3.x -- @field #Distance y Vec2.y = Vec3.z --- 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: -- @type Position3 -- @field #Vec3 p -- @field #Vec3 x -- @field #Vec3 y -- @field #Vec3 z --- 3-dimensional box. -- @type Box3 -- @field #Vec3 min -- @field #Vec3 max --- 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 TypeName -- @extends #string --- @type AI -- @field #AI.Skill Skill -- @field #AI.Task Task -- @field #AI.Option Option --- @type AI.Skill -- @field AVERAGE -- @field GOOD -- @field HIGH -- @field EXCELLENT -- @field PLAYER -- @field CLIENT --- @type AI.Task -- @field #AI.Task.WeaponExpend WeaponExpend -- @field #AI.Task.OrbitPattern OrbitPattern -- @field #AI.Task.Designation Designation -- @field #AI.Task.WaypointType WaypointType -- @field #AI.Task.TurnMethod TurnMethod -- @field #AI.Task.AltitudeType AltitudeType -- @field #AI.Task.VehicleFormation VehicleFormation --- @type AI.Task.WeaponExpend -- @field ONE -- @field TWO -- @field FOUR -- @field QUARTER -- @field HALF -- @field ALL --- @type AI.Task.OrbitPattern -- @field CIRCLE -- @field RACE_TRACK --- @type AI.Task.Designation -- @field NO -- @field AUTO -- @field WP -- @field IR_POINTER -- @field LASER --- @type AI.Task.WaypointType -- @field TAKEOFF -- @field TAKEOFF_PARKING -- @field TURNING_POINT -- @field LAND --- @type AI.Task.TurnMethod -- @field FLY_OVER_POINT -- @field FIN_POINT --- @type AI.Task.AltitudeType -- @field BARO -- @field RADIO --- @type AI.Task.VehicleFormation -- @field OFF_ROAD -- @field ON_ROAD -- @field RANK -- @field CONE -- @field DIAMOND -- @field VEE -- @field ECHELON_LEFT -- @field ECHELON_RIGHT --- @type AI.Option -- @field #AI.Option.Air Air -- @field #AI.Option.Ground Ground -- @field #AI.Option.Naval Naval --- @type AI.Option.Air -- @field #AI.Option.Air.id id -- @field #AI.Option.Air.val val --- @type AI.Option.Ground -- @field #AI.Option.Ground.id id -- @field #AI.Option.Ground.val val --- @type AI.Option.Naval -- @field #AI.Option.Naval.id id -- @field #AI.Option.Naval.val val --TODO: work on formation --- @type AI.Option.Air.id -- @field NO_OPTION -- @field ROE -- @field REACTION_ON_THREAT -- @field RADAR_USING -- @field FLARE_USING -- @field FORMATION -- @field RTB_ON_BINGO -- @field SILENCE --- @type AI.Option.Air.val -- @field #AI.Option.Air.val.ROE ROE -- @field #AI.Option.Air.val.REACTION_ON_THREAT REACTION_ON_THREAT -- @field #AI.Option.Air.val.RADAR_USING RADAR_USING -- @field #AI.Option.Air.val.FLARE_USING FLARE_USING --- @type AI.Option.Air.val.ROE -- @field WEAPON_FREE -- @field OPEN_FIRE_WEAPON_FREE -- @field OPEN_FIRE -- @field RETURN_FIRE -- @field WEAPON_HOLD --- @type AI.Option.Air.val.REACTION_ON_THREAT -- @field NO_REACTION -- @field PASSIVE_DEFENCE -- @field EVADE_FIRE -- @field BYPASS_AND_ESCAPE -- @field ALLOW_ABORT_MISSION --- @type AI.Option.Air.val.RADAR_USING -- @field NEVER -- @field FOR_ATTACK_ONLY -- @field FOR_SEARCH_IF_REQUIRED -- @field FOR_CONTINUOUS_SEARCH --- @type AI.Option.Air.val.FLARE_USING -- @field NEVER -- @field AGAINST_FIRED_MISSILE -- @field WHEN_FLYING_IN_SAM_WEZ -- @field WHEN_FLYING_NEAR_ENEMIES --- @type AI.Option.Ground.id -- @field NO_OPTION -- @field ROE @{#AI.Option.Ground.val.ROE} -- @field DISPERSE_ON_ATTACK true or false -- @field ALARM_STATE @{#AI.Option.Ground.val.ALARM_STATE} --- @type AI.Option.Ground.val -- @field #AI.Option.Ground.val.ROE ROE -- @field #AI.Option.Ground.val.ALARM_STATE ALARM_STATE --- @type AI.Option.Ground.val.ROE -- @field OPEN_FIRE -- @field RETURN_FIRE -- @field WEAPON_HOLD --- @type AI.Option.Ground.val.ALARM_STATE -- @field AUTO -- @field GREEN -- @field RED --- @type AI.Option.Naval.id -- @field NO_OPTION -- @field ROE --- @type AI.Option.Naval.val -- @field #AI.Option.Naval.val.ROE ROE --- @type AI.Option.Naval.val.ROE -- @field OPEN_FIRE -- @field RETURN_FIRE -- @field WEAPON_HOLD AI = {} --#AI --- @type Desc -- @field #TypeName typeName type name -- @field #string displayName localized display name -- @field #table attributes object type attributes --- A distance type -- @type Distance --- An angle type -- @type Angle env.info( 'AI types created' )