Clone
4
mission script api
Bruno Carneiro edited this page 2026-02-13 21:27:15 +00:00
Mission Script API — Documentation
This folder documents the API available to mission scripts. Mission scripts derive from AMission and are loaded by the game at runtime.
Mission scripts also use additional types such as LimbNames, NamedDamageTypes, Point2d, and Point3d; those are summarized in External Types.
How mission scripts are loaded
- The game loads a battle (one
ABattleinstance) viaIScriptRemote.loadBattleScript. - Missions are attached with
loadMissionScript(fileName, missionNumber, scriptFileName), which instantiates a class namedMissionthat inherits fromAMission. - Each mission's
Init(battle, missionNumber)is called; then the battle runs and invokes the mission's virtualOn*methods in response to game events.
Documentation index
Core
| Document | Description |
|---|---|
| Mission And Battle | AMission, ABattle, IBattle, DoTimeout |
| Gameplay | IGamePlay — main interface to the game (actors, HUD, triggers, section files, etc.) |
| Time And Difficulty | ITime, DifficultySetting |
| Player | Player |
| Events And Section File | GameEventId, ISectionFile |
| Pathfinding And Terrain | RecalcPathState, PathType, LandTypes, IRecalcPathParams, ActorName |
| Script Loading | IScriptRemote, ScriptRemote |
| External Types | Additional types used by missions (limbs, damage, geometry) |
World
| Document | Description |
|---|---|
| World | Index of world types |
| Actor Hierarchy | AiActor, AiPerson, AiCart, AiGroup, damage types, CrewFunction |
| Air | AiAircraft, AiAirGroup, air waypoints, enums, EnemyAirInterf |
| Ground | AiGroundActor, GroundStationary, buildings, bomb explosion, enums |
| Triggers Spawns And Targets | AiTrigger, AiAction, AiBirthPlace, AiAirport, AiTarget, Regiment |
| Time And User Labels | ITime (cross-link), GPUserLabel, GPUserIconType |
Quick start
- Create a class
Missionthat inherits fromAMission. - Override
OnBattleInit,OnBattleStarted, and anyOn*events you need (e.g.OnTrigger,OnActorCreated,OnAircraftKilled). - Use
GamePlay(IGamePlay) for querying actors, triggers, spawning groups, HUD messages, and section files. - Use
Time(ITime) for game time and tick conversion (e.g. withTimeout).
Reference the API documented here when building your mission script project.