OptionalversionOptionalsupersedesOptionalunit_Optionalfaction_Owning faction. Authored explicitly on faction/detachment-scoped abilities; otherwise stamped at bundle time from the ability's data/enrichment/
Optionaldetachment_For detachment/enhancement/stratagem-type abilities, the associated detachment
Optionalability_OptionalbehaviorHow this ability interacts with the game flow — not a runtime predicate
OptionaltriggerFor reactive abilities: the game event(s) this ability fires on, plus structured guards. One trigger object, OR an array of trigger objects — the ability fires on ANY listed trigger (models multi-event reactions like 'set up OR ends a move'). See $defs/trigger.
OptionalusageHow often the ability may be used, beyond what scope.duration captures. scope.duration: one-use already models 'once per battle'; this models finer limits (once per turn/phase, N per battle) and an optional per-army/unit/model granularity.
Optionalapplies_Static, human-curated keyword filter naming which datasheet units this ability benefits, for roster-side highlighting. A unit matches when it carries every keyword in required_keywords (across its keywords + faction_keywords) and none in excluded_keywords. This is a denormalized projection distinct from the runtime effect condition tree (which mixes static class, runtime-granted markers, and timing gates and must not be scraped for scope). Absent/null means no resolvable unit scope — consumers render no highlight rather than guess.
OptionalinteractionsOptionaldisputedOptionaldispute_Optionalcommunity_
Community-authored structured representation of what a game ability does. NOT GW text.
This interface was referenced by
0KdcBundledSchemas's JSON-Schema via thedefinition"ability".