1
external types
Bruno Carneiro edited this page 2026-02-13 18:25:50 -03:00

External Types Used by Mission Scripts

Mission scripts use some types that are not documented in the main API. This page lists the ones commonly used; their full definitions are provided by the game at runtime.


Limb and damage types

Mission scripts use these for damage and parameters in AMission callbacks and AiAircraft methods.

Type Kind Description
LimbNames enum Limb identifiers (e.g. wings, tail, rudder). Used in OnAircraftCutLimb, AiAircraft.hitLimb, cutLimb, and AiLimbDamage.LimbId.
NamedDamageTypes enum Named damage type identifiers. Used in OnActorDamaged, OnAircraftDamaged, and AiAircraft.hitNamed / hitSelfNamed.
ParameterTypes enum Parameter identifiers for AiAircraft.getParameter(type, subtype).

When building your mission script, ensure your project can resolve these types (they are supplied by the game or its dependencies).


Geometry types

Used for positions, directions, and other geometry in IGamePlay, AMission callbacks, and world interfaces.

Type Kind Description
Point2d struct/class 2D point (x, y). Used in gpFindPath, gpMakeUserLabel, GPUserLabel.pos (when 2D).
Point3d struct/class 3D point (x, y, z). Used in AiActor.Pos(), OnBuildingKilled, OnBombExplosion, GroundBuilding, GroundStationary, AiBirthPlace.Pos(), waypoints, etc.
Vector2d struct/class 2D vector. Used in EnemyAirInterf.V_.
Vector3d struct/class 3D vector. Used in AiAirGroup.Vwld() and other world APIs.

You can use these types by adding the appropriate reference or using directive so that names like Point3d and Point2d resolve when compiling your mission script.


Summary

  • Limb and damage: LimbNames, NamedDamageTypes, ParameterTypes.
  • Geometry: Point2d, Point3d, Vector2d, Vector3d.

No further API detail for these types is documented here; see the game SDK or runtime for member lists and semantics.