Terms these docs use, in alphabetical order. The ones worth reading even if you skim are tick, seat, node, class and The Forge, because each of them means something specific here and something looser everywhere else.
A
Action. A statement in a trigger: create these units, show this text, start this timer. One of the three node families. There are 72 today, and the complete list is generated in the Trigger reference.
Authored id. A name you give a placed entity in the editor so a trigger can
find it later, with entityByAid. Distinct from a type id, which names what
kind of thing it is.
B
Budget. A per-tick allowance shared by every trigger in a map: actions, loop iterations, expression evaluations, function calls. Crossing one truncates the work and records a fault. Performance and limits.
C
Class. What kind of problem a validator issue is: security, resource,
integrity or quality. Not the same as severity. The load gate reads the class.
Troubleshooting.
Creep. A neutral hostile unit, owned by a seat that sits above the playable
range. Creeps are never counted by playerCount.
D
Data override. A patch to a shipped definition: a unit, building, hero, item, spell or upgrade. An object editor, except that it is a diff against the shipped definition rather than a copy of it. Data overrides.
Desync. Two clients computing different simulation state and therefore playing different matches. Detected and reported here rather than appearing as a disconnect. Determinism for authors.
E
Event. What wakes a trigger: a unit died, a timer expired, thirty seconds passed. One of the three node families, 22 of them today.
Expression. A value in a trigger: a number, a unit, a group, a comparison, a piece of maths. One of the three node families, and much the largest at 114. A trigger's conditions are just expressions that evaluate to a boolean.
F
Fault. One record of a trigger crossing a per-tick budget, carrying the tick, the trigger and which budget. Three faults on three separate ticks inside the fault window disables that trigger for the rest of the match.
Format version. A number stamped on a map saying which build's features it needs. A map using only the original node set is format 2; a map using any of the newer nodes is format 3. An older build refuses a format it cannot fully run, rather than loading it and silently skipping the nodes it does not recognise. Compatibility and versioning.
Fragment. One piece of map content on its own: a trigger script, an override set. Validatable by itself, and capped smaller than a whole map.
G
Group. An ordered list of units. Always sorted, so iterating one is deterministic. A group is a value, not a handle: there is nothing to destroy.
H
Hashtable. A typed two-key store that survives for the match. Like a hashtable in any trigger language, except that the value type is declared once for the whole table rather than chosen per read.
L
Load gate. The check that runs every time a match opens a custom map, as opposed to when it was published. It refuses or reports; it never repairs.
Lockstep. The multiplayer model: nobody sends world state, every client runs the same simulation from the same inputs. It is what makes determinism a requirement rather than a nicety.
M
Mod. A packaged set of data overrides and custom assets, distributable on its
own and mergeable into a map at launch with ?mod=. Mods.
N
Node. One entry in the trigger language: an event, an expression or an action.
Every node is a JSON object with a k naming its kind. No count is written
here on purpose: three teams added nodes in a single day, and the figures this
paragraph used to carry were stale within hours of being written. The
Trigger reference is generated from the
same catalogue the validator uses, so it is the only place the number is true.
P
Ping. A marker on the minimap, placed by a trigger.
Q
Quest. An entry in the quest log, created and updated by a trigger. Not a mechanic, just a place to put text.
R
Region. A named rectangle declared once in a trigger script and referenced by id. A region is watched when a trigger carries an enter or leave event naming it, and only watched regions cost anything per tick.
S
Save code. A string encoding named values, bound to your map and tamper-evident. It replaces a local save file, and it works across machines because the player carries the code rather than a file.
Seat. A slot in the lobby, up to eight, filled by a human or an AI. Not a player index you can guess: the creep seat sits above the playable range, an observer has no seat at all, and campaign adds a neutral one. Never hardcode a seat number, and prefer asking "is this an enemy" over "is this mine", because the second answer is wrong in an observer or replay view. Players and teams.
Severity. Whether an issue blocks you: error or warning. Distinct from
class.
T
The Forge. The in-game map editor. Its modules are reached with function keys,
and its Test Map (Ctrl+F9) launches the map you are editing with the Trigger
Debug panel attached. Interface.
Tick. The unit of simulation time: 20 per second, so one tick is 50 ms. Every duration in a trigger is in ticks, every budget is per tick, and the current tick is the only clock the language can read. "Every 2 seconds" is 40 ticks.
Trigger. An event, some conditions and a list of actions. The unit of map logic. Triggers.
U
Unit group. See group.
Unit property. A readable field of a unit: hp, mana, position, level, owner,
whether it is alive, whether it is a hero. Read with unitProp. Writing is a
narrower set: hp, mana, owner and invulnerability.
V
Validator. The shared checker that runs in The Forge, on the validator page,
at POST /api/validate, at publish and at load. One implementation, so the same
map gets the same verdict everywhere.
Validation and tooling.
W
Watched region. See region. The distinction matters: watched regions are rescanned every tick and capped at a few hundred; unwatched ones are nearly free and capped in the thousands.
Related
- Capability map if you are looking for the node that does a particular job.
- Frequently asked questions.