<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.lancertactics.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=GavstarB</id>
	<title>The Muse - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.lancertactics.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=GavstarB"/>
	<link rel="alternate" type="text/html" href="https://wiki.lancertactics.com/Special:Contributions/GavstarB"/>
	<updated>2026-08-27T13:46:21Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://wiki.lancertactics.com/index.php?title=Events_and_Context&amp;diff=153</id>
		<title>Events and Context</title>
		<link rel="alternate" type="text/html" href="https://wiki.lancertactics.com/index.php?title=Events_and_Context&amp;diff=153"/>
		<updated>2026-07-27T17:49:48Z</updated>

		<summary type="html">&lt;p&gt;GavstarB: formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== The Events System ==&lt;br /&gt;
Lancer is a system famous for its numerous reactions and counter-reactions. In Lancer Tactics, this is handled by generating EventCore objects and then queueing them to each other in one big stack. EventCores each have an EventBase resource in their &amp;lt;code&amp;gt;base&amp;lt;/code&amp;gt; variable, which defines the type of event it is. The EventCore object is typically called &amp;lt;code&amp;gt;activation&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;core&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Olive&#039;s [https://wick.works/devlog/event-system-aka-how-to-handle-nested-youve-activated-my-trap-card-triggers devlog] on the subject (which you should check out just for the meme).&lt;br /&gt;
&lt;br /&gt;
===== Execution Sequence =====&lt;br /&gt;
* Run the &amp;lt;code&amp;gt;execute_preblock()&amp;lt;/code&amp;gt; function for the event&#039;s EventBase: &lt;br /&gt;
&amp;lt;blockquote&amp;gt;• For events which can be reacted to, fetch the events for every reaction with timing &amp;lt;code&amp;gt;ReactionBus.TIMING.PRE&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
• The reaction events are ordered according to their priority (low to high).&lt;br /&gt;
&lt;br /&gt;
• Loop through the reaction events and run the whole execution sequence for each reaction event in turn.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* If the event is aborted (&amp;lt;code&amp;gt;event.aborted == true&amp;lt;/code&amp;gt;), or the Context object does not contain the required data, execution stops here.&lt;br /&gt;
* Run the &amp;lt;code&amp;gt;execute()&amp;lt;/code&amp;gt; function for the event&#039;s EventBase: &lt;br /&gt;
&amp;lt;blockquote&amp;gt;• Executes any functionality the event has (for example, clearing heat for an &amp;lt;code&amp;gt;event_unit_cool&amp;lt;/code&amp;gt;). &lt;br /&gt;
&lt;br /&gt;
• For events which can be reacted to, fetch the events for every reaction with timing &amp;lt;code&amp;gt;ReactionBus.TIMING.POST&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• The reaction events are ordered according to their priority (low to high). &lt;br /&gt;
&lt;br /&gt;
• Loop through the reaction events and run the whole execution sequence for each reaction event in turn.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Run child events: &lt;br /&gt;
&amp;lt;blockquote&amp;gt;• These are events queued to the EventCore with &amp;lt;code&amp;gt;event.queue_event()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• The child events are ordered according to their priority (low to high).&lt;br /&gt;
&lt;br /&gt;
• Loop through the child events and run the whole execution sequence for child event in turn.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
== Context ==&lt;br /&gt;
Data is passed between events within a Context object, which contains any parameters an event needs in order to execute. The Context is checked by an event immediately before calling its &amp;lt;code&amp;gt;execute()&amp;lt;/code&amp;gt; function to see if it is able to run. Reactions with &amp;lt;code&amp;gt;ReactionBus.TIMING. PRE&amp;lt;/code&amp;gt; can modify the Context of the event they are reacting to before the event itself occurs, which allows them to change the event&#039;s behavior.&lt;br /&gt;
&lt;br /&gt;
Whether the Context object contains a specific variable can be queried using the &amp;lt;code&amp;gt;context.is_property_present()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
&lt;br /&gt;
The Context objects contains the following variables:&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible&amp;quot;&lt;br /&gt;
!Variable&lt;br /&gt;
!Type&lt;br /&gt;
!Additional Info &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
|Action&lt;br /&gt;
|See Actions and Reactions.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;buff&amp;lt;/code&amp;gt;&lt;br /&gt;
|BuffCore&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
|Variant&lt;br /&gt;
|Represents an enum or id string.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category_int&amp;lt;/code&amp;gt;&lt;br /&gt;
|int&lt;br /&gt;
|The &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable, typed as an int. Setting this will modify the &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category_string&amp;lt;/code&amp;gt;&lt;br /&gt;
|StringName&lt;br /&gt;
|The &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable, typed as a StringName. Setting this will modify the &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt;&lt;br /&gt;
|EventCore&lt;br /&gt;
|Usually the parent event of the current event.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array&lt;br /&gt;
|Usually contains enums.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
|GearCore&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;map&amp;lt;/code&amp;gt;&lt;br /&gt;
|MapState&lt;br /&gt;
|Always populated.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt;&lt;br /&gt;
|Variant&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt;&lt;br /&gt;
|Resource&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
|String&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array[Vector2i]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tile&amp;lt;/code&amp;gt;&lt;br /&gt;
|Vector2i&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles[0]&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;Tile.INVALID&amp;lt;/code&amp;gt; if it is empty. Setting this will add the Vector2i to &amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; at index 0.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array[Unit]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|Unit&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units[0]&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; if it is empty. Setting this will add the Unit to &amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; at index 0.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|Unit&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Event Creation ==&lt;br /&gt;
A Context object is usually created from a dictionary, where each key corresponds to the name of a variable:&lt;br /&gt;
 var context = Context.create({&lt;br /&gt;
 	string = &amp;quot;Example Context&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 })&lt;br /&gt;
Events are almost always created using the functions on their parent event, although it is possible to create one directly to make a virtual event not queued to any other event.&lt;br /&gt;
&lt;br /&gt;
An event can be queued to the &amp;lt;code&amp;gt;activation&amp;lt;/code&amp;gt; event with:&lt;br /&gt;
 activation.queue_event(&amp;amp;&amp;quot;event_example_id&amp;quot;, {&lt;br /&gt;
 	string = &amp;quot;Example Event&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 }, Priority.ACTIVATE.late_followup)&lt;br /&gt;
Events can also be executed immediately:&lt;br /&gt;
 await activation.execute_event(&amp;amp;&amp;quot;event_example_id&amp;quot;, {&lt;br /&gt;
 	string = &amp;quot;Example Event&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 })&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;As with any other &amp;lt;code&amp;gt;await&amp;lt;/code&amp;gt; function, check your references are not &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; before proceeding.&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Event Types ==&lt;br /&gt;
The scripts defining the game&#039;s events can be found in the &amp;lt;code&amp;gt;res://content/events/&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
===== Events with Reactions =====&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Event ID&lt;br /&gt;
!Required Context&lt;br /&gt;
!Optional Context&lt;br /&gt;
!Reactions&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_end&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - victory?&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;combat_end&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_set_state&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;modified_combat_state&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_start&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;combat_start&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_trigger_signal&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - if given, emits the signal more than once for each item in the array&lt;br /&gt;
|&amp;lt;code&amp;gt;trigger_signal&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_gear_activate&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - targeting hint&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; - targeting hint&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; - parent event during reactions&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Action.FLAG&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; - Pathfinder if can move before taking action&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - id of variant Action to be used&lt;br /&gt;
|&amp;lt;code&amp;gt;unit_action&amp;lt;/code&amp;gt; - generates a fake Context matching that of &amp;lt;code&amp;gt;event_unit_action&amp;lt;/code&amp;gt;. Context cannot be modified by &amp;lt;code&amp;gt;PRE&amp;lt;/code&amp;gt; events&lt;br /&gt;
&amp;lt;code&amp;gt;stabilize&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_gear_destroy&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;gear_destruction&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_gear_reload&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
(&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;and/or&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[GearCore])&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_damage&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventMapDamage.FLAG&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; - elevation to destroy down to (int)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - set to true if terrain got destroyed&lt;br /&gt;
|&amp;lt;code&amp;gt;terrain_damage&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_round_new&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;new_round&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_turn_end&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;end_turn&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_turn_start&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;new_turn&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_action&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - kit id&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - action index&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Action.FLAG&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
|executes an &amp;lt;code&amp;gt;event_gear_activate&amp;lt;/code&amp;gt; which in turn runs &amp;lt;code&amp;gt;unit_action&amp;lt;/code&amp;gt; reactions with a context matching this event&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_apply_status&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - persistent id of source gear&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt; - source&lt;br /&gt;
|&amp;lt;code&amp;gt;statuses_changed&amp;lt;/code&amp;gt; (only &amp;lt;code&amp;gt;PRE&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_attack&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt; - attacked unit&lt;br /&gt;
&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt; - attacking unit&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - DeclaredAttackSummary&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;event_unit_attack_declared&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Action.FLAG&lt;br /&gt;
|&amp;lt;code&amp;gt;attack&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_attack_declared&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - DeclaredAttackSummary&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;attack_declared&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_boost&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;boost&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_brace&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;brace&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_clear_status&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - persistent id of source gear&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt; - source&lt;br /&gt;
|&amp;lt;code&amp;gt;statuses_changed&amp;lt;/code&amp;gt; (only &amp;lt;code&amp;gt;POST&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_collide&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - tile collided with&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;collision&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_cool&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;clear_heat&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_damage&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Lancer.DAMAGE_TYPE - default kinetic&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; - AttackRoll&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventService.DAMAGE_FLAG&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt; - attacker&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt; - attacker gear&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt; - attacker Action&lt;br /&gt;
|&amp;lt;code&amp;gt;damage&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_die&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventService.DIE_FLAG&lt;br /&gt;
|&amp;lt;code&amp;gt;death&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_exile&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Lancer.UNTIL&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - persistent id of source gear&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt; - source&lt;br /&gt;
|&amp;lt;code&amp;gt;exiled&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_intangible&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Lancer.UNTIL&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - persistent id of source gear&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt; - source&lt;br /&gt;
|&amp;lt;code&amp;gt;intangible&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_lose_hidden&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;lose_hidden&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_meltdown&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;meltdown&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_move&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
(&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - path or single tile to path to. in &amp;lt;code&amp;gt;PRE&amp;lt;/code&amp;gt; reactions to &amp;lt;code&amp;gt;step&amp;lt;/code&amp;gt;, holds the tile the unit is about to step into&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;or&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[Pathfinder.Step] - final path)&lt;br /&gt;
|&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - MovementType&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventUnitMove.FLAG&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; - SpecificAction which caused the move&lt;br /&gt;
|&amp;lt;code&amp;gt;step&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;entire_movement&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_save&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Lancer.HASE&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt; - origin unit&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt; - origin gear&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt; - origin action&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - combat state key for success boolean to be saved to&lt;br /&gt;
|&amp;lt;code&amp;gt;forced_save&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_spawn&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - spawns units to all tiles in the array&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - direction (0-3)&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventUnitSpawn.FLAG&lt;br /&gt;
|&amp;lt;code&amp;gt;unit_spawn&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_stress&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventService.STRESSED_FLAG&lt;br /&gt;
|&amp;lt;code&amp;gt;stressed&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_structure&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventService.STRUCTURED_FLAG&lt;br /&gt;
|&amp;lt;code&amp;gt;structured&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Other Events =====&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Event ID&lt;br /&gt;
!Required Context&lt;br /&gt;
!Optional Context&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_buff_activate&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;buff&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt; - the unit the buff is applied to.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; - the event which triggered the activation.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_camera_move&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - moves so it can see all these&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - move speed in milliseconds, 0 by default&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_camera_set_locked&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_banner_intro&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_highlight_ui&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - compcon_id(?)&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - GoldenPathHighlight.AUTO_CLEAR&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_set_objective&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - index of objective to change&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - is complete?&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - objective text&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - [2,4] -&amp;gt; &amp;quot;Search all zones! (2/4)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_set_round_max&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_set_triggers_enabled&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - name of trigger group&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_delay&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - milliseconds&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_dialogue&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - conversation id&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt; - for dynamic text&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; - for dynamic text&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_dialogue_bark&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - line id &#039;&#039;&#039;or&#039;&#039;&#039; raw text&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; - for dynamic text&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_dialogue_emoji&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Emoji.TYPE&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - length to show in milliseconds&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_dialogue_face&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - tiles to look at&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_gear_choose_and_use&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[SpecificAction] - actions to pick from&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - is overwatch?&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - variant action id if mandatory&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Action.FLAG&lt;br /&gt;
&lt;br /&gt;
(&#039;&#039;&#039;if&#039;&#039;&#039; Action.FLAG.TARGETS_ARE_MANDATORY:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; - mandatory targets&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - mandatory targets)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_block_add&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - block id (int)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - elevation&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventMapBlockAdd.FLAG&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_block_remove&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - elevation&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventMapBlockAdd.FLAG&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_dangerous&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Lancer.DAMAGE_TYPE - type of damage to do on failure&lt;br /&gt;
|&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - MovementType&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_doodad_add&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - doodad id&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - rotation (0-3)&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_doodad_remove&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_effect&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - FXGroup id&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - wait for effect to end&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_setpiece_add&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - setpiece id&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - rotation (0-3)&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_setpiece_remove&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_set_water&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - elevation&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_text&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_weather_toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - weather id&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_music_play&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - fmod event path&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_music_stop&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_round_end&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_round_set_next_faction&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Faction.SIDE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_attach&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - attach or release&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - UnitCore&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - direction (0-3)&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventUnitSpawn.FLAG&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_extract&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventUnitExtract.FLAG&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_faction&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Faction.SIDE&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - flags[0] is Lancer.UNTIL&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_heal&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_mount&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_overkill&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_overshield&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_pick_move&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - MovementType&lt;br /&gt;
|(&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - Array[Vector2i] - tiles for Pathfinder&lt;br /&gt;
&#039;&#039;&#039;or&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - movement budget)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[Vector2i] - knockback origin tiles&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt; - origin unit&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt; - origin gear&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt; - origin action&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_rename&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - FetcherNameType.WHICH_NAME&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_set_stat&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Statblock.PROP&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_sitrep_tag&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - sitrep tag to add/remove&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_teleport&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_equip&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - kit id&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_launch&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventUnitSpawn.FLAG&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_reinforce&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - reinforcement group id or name&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - number of units to deploy&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventZoneReinforce.FLAG&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_setup&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Zone.TYPE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - is visible&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - zone name&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Zone.GUIDE&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_set_guides&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Zone.GUIDE&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_set_name&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - zone name&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_set_properties&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Zone.TYPE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - zone name&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_set_type&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Zone.TYPE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_set_visible&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - is visible&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_usable&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - name of action&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; - desc of action (String)&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; - unit whitelist&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventZoneUsable.FLAG&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Module Events =====&lt;br /&gt;
TODO&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Event ID&lt;br /&gt;
!Required Context&lt;br /&gt;
!Optional Context&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>GavstarB</name></author>
	</entry>
	<entry>
		<id>https://wiki.lancertactics.com/index.php?title=Events_and_Context&amp;diff=152</id>
		<title>Events and Context</title>
		<link rel="alternate" type="text/html" href="https://wiki.lancertactics.com/index.php?title=Events_and_Context&amp;diff=152"/>
		<updated>2026-07-27T17:20:48Z</updated>

		<summary type="html">&lt;p&gt;GavstarB: formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== The Events System ==&lt;br /&gt;
Lancer is a system famous for its numerous reactions and counter-reactions. In Lancer Tactics, this is handled by generating EventCore objects and then queueing them to each other in one big stack. EventCores each have an EventBase resource in their &amp;lt;code&amp;gt;base&amp;lt;/code&amp;gt; variable, which defines the type of event it is. The EventCore object is typically called &amp;lt;code&amp;gt;activation&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;core&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Olive&#039;s [https://wick.works/devlog/event-system-aka-how-to-handle-nested-youve-activated-my-trap-card-triggers devlog] on the subject (which you should check out just for the meme).&lt;br /&gt;
&lt;br /&gt;
===== Execution Sequence =====&lt;br /&gt;
* Run the &amp;lt;code&amp;gt;execute_preblock()&amp;lt;/code&amp;gt; function for the event&#039;s EventBase: &lt;br /&gt;
&amp;lt;blockquote&amp;gt;• For events which can be reacted to, fetch the events for every reaction with timing &amp;lt;code&amp;gt;ReactionBus.TIMING.PRE&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
• The reaction events are ordered according to their priority (low to high).&lt;br /&gt;
&lt;br /&gt;
• Loop through the reaction events and run the whole execution sequence for each reaction event in turn.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* If the event is aborted (&amp;lt;code&amp;gt;event.aborted == true&amp;lt;/code&amp;gt;), or the Context object does not contain the required data, execution stops here.&lt;br /&gt;
* Run the &amp;lt;code&amp;gt;execute()&amp;lt;/code&amp;gt; function for the event&#039;s EventBase: &lt;br /&gt;
&amp;lt;blockquote&amp;gt;• Executes any functionality the event has (for example, clearing heat for an &amp;lt;code&amp;gt;event_unit_cool&amp;lt;/code&amp;gt;). &lt;br /&gt;
&lt;br /&gt;
• For events which can be reacted to, fetch the events for every reaction with timing &amp;lt;code&amp;gt;ReactionBus.TIMING.POST&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• The reaction events are ordered according to their priority (low to high). • Loop through the reaction events and run the whole execution sequence for each reaction event in turn.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Run child events: &lt;br /&gt;
&amp;lt;blockquote&amp;gt;• These are events queued to the EventCore with &amp;lt;code&amp;gt;event.queue_event()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• The child events are ordered according to their priority (low to high).&lt;br /&gt;
&lt;br /&gt;
• Loop through the child events and run the whole execution sequence for child event in turn.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
== Context ==&lt;br /&gt;
Data is passed between events within a Context object, which contains any parameters an event needs in order to execute. The Context is checked by an event immediately before calling its &amp;lt;code&amp;gt;execute()&amp;lt;/code&amp;gt; function to see if it is able to run. Reactions with &amp;lt;code&amp;gt;ReactionBus.TIMING. PRE&amp;lt;/code&amp;gt; can modify the Context of the event they are reacting to before the event itself occurs, which allows them to change the event&#039;s behavior.&lt;br /&gt;
&lt;br /&gt;
Whether the Context object contains a specific variable can be queried using the &amp;lt;code&amp;gt;context.is_property_present()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
&lt;br /&gt;
The Context objects contains the following variables:&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible&amp;quot;&lt;br /&gt;
!Variable&lt;br /&gt;
!Type&lt;br /&gt;
!Additional Info &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
|Action&lt;br /&gt;
|See Actions and Reactions.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;buff&amp;lt;/code&amp;gt;&lt;br /&gt;
|BuffCore&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
|Variant&lt;br /&gt;
|Represents an enum or id string.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category_int&amp;lt;/code&amp;gt;&lt;br /&gt;
|int&lt;br /&gt;
|The &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable, typed as an int. Setting this will modify the &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category_string&amp;lt;/code&amp;gt;&lt;br /&gt;
|StringName&lt;br /&gt;
|The &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable, typed as a StringName. Setting this will modify the &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt;&lt;br /&gt;
|EventCore&lt;br /&gt;
|Usually the parent event of the current event.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array&lt;br /&gt;
|Usually contains enums.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
|GearCore&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;map&amp;lt;/code&amp;gt;&lt;br /&gt;
|MapState&lt;br /&gt;
|Always populated.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt;&lt;br /&gt;
|Variant&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt;&lt;br /&gt;
|Resource&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
|String&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array[Vector2i]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tile&amp;lt;/code&amp;gt;&lt;br /&gt;
|Vector2i&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles[0]&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;Tile.INVALID&amp;lt;/code&amp;gt; if it is empty. Setting this will add the Vector2i to &amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; at index 0.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array[Unit]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|Unit&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units[0]&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; if it is empty. Setting this will add the Unit to &amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; at index 0.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|Unit&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Event Creation ==&lt;br /&gt;
A Context object is usually created from a dictionary, where each key corresponds to the name of a variable:&lt;br /&gt;
 var context = Context.create({&lt;br /&gt;
 	string = &amp;quot;Example Context&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 })&lt;br /&gt;
Events are almost always created using the functions on their parent event, although it is possible to create one directly to make a virtual event not queued to any other event.&lt;br /&gt;
&lt;br /&gt;
An event can be queued to the &amp;lt;code&amp;gt;activation&amp;lt;/code&amp;gt; event with:&lt;br /&gt;
 activation.queue_event(&amp;amp;&amp;quot;event_example_id&amp;quot;, {&lt;br /&gt;
 	string = &amp;quot;Example Event&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 }, Priority.ACTIVATE.late_followup)&lt;br /&gt;
Events can also be executed immediately:&lt;br /&gt;
 await activation.execute_event(&amp;amp;&amp;quot;event_example_id&amp;quot;, {&lt;br /&gt;
 	string = &amp;quot;Example Event&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 })&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;As with any other &amp;lt;code&amp;gt;await&amp;lt;/code&amp;gt; function, check your references are not &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; before proceeding.&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Event Types ==&lt;br /&gt;
The scripts defining the game&#039;s events can be found in the &amp;lt;code&amp;gt;res://content/events/&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
===== Events with Reactions =====&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Event ID&lt;br /&gt;
!Required Context&lt;br /&gt;
!Optional Context&lt;br /&gt;
!Reactions&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_end&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - victory?&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;combat_end&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_set_state&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;modified_combat_state&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_start&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;combat_start&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_trigger_signal&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - if given, emits the signal more than once for each item in the array&lt;br /&gt;
|&amp;lt;code&amp;gt;trigger_signal&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_gear_activate&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - targeting hint&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; - targeting hint&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; - parent event during reactions&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Action.FLAG&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; - Pathfinder if can move before taking action&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - id of variant Action to be used&lt;br /&gt;
|&amp;lt;code&amp;gt;unit_action&amp;lt;/code&amp;gt; - generates a fake Context matching that of &amp;lt;code&amp;gt;event_unit_action&amp;lt;/code&amp;gt;. Context cannot be modified by &amp;lt;code&amp;gt;PRE&amp;lt;/code&amp;gt; events&lt;br /&gt;
&amp;lt;code&amp;gt;stabilize&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_gear_destroy&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;gear_destruction&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_gear_reload&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
(&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;and/or&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[GearCore])&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_damage&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventMapDamage.FLAG&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; - elevation to destroy down to (int)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - set to true if terrain got destroyed&lt;br /&gt;
|&amp;lt;code&amp;gt;terrain_damage&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_round_new&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;new_round&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_turn_end&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;end_turn&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_turn_start&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;new_turn&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_action&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - kit id&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - action index&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Action.FLAG&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
|executes an &amp;lt;code&amp;gt;event_gear_activate&amp;lt;/code&amp;gt; which in turn runs &amp;lt;code&amp;gt;unit_action&amp;lt;/code&amp;gt; reactions with a context matching this event&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_apply_status&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - persistent id of source gear&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt; - source&lt;br /&gt;
|&amp;lt;code&amp;gt;statuses_changed&amp;lt;/code&amp;gt; (only &amp;lt;code&amp;gt;PRE&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_attack&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt; - attacked unit&lt;br /&gt;
&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt; - attacking unit&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - DeclaredAttackSummary&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;event_unit_attack_declared&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Action.FLAG&lt;br /&gt;
|&amp;lt;code&amp;gt;attack&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_attack_declared&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - DeclaredAttackSummary&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;attack_declared&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_boost&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;boost&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_brace&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;brace&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_clear_status&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - persistent id of source gear&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt; - source&lt;br /&gt;
|&amp;lt;code&amp;gt;statuses_changed&amp;lt;/code&amp;gt; (only &amp;lt;code&amp;gt;POST&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_collide&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - tile collided with&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;collision&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_cool&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;clear_heat&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_damage&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Lancer.DAMAGE_TYPE - default kinetic&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; - AttackRoll&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventService.DAMAGE_FLAG&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt; - attacker&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt; - attacker gear&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt; - attacker Action&lt;br /&gt;
|&amp;lt;code&amp;gt;damage&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_die&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventService.DIE_FLAG&lt;br /&gt;
|&amp;lt;code&amp;gt;death&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_exile&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Lancer.UNTIL&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - persistent id of source gear&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt; - source&lt;br /&gt;
|&amp;lt;code&amp;gt;exiled&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_intangible&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Lancer.UNTIL&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - persistent id of source gear&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt; - source&lt;br /&gt;
|&amp;lt;code&amp;gt;intangible&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_lose_hidden&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;lose_hidden&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_meltdown&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;meltdown&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_move&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
(&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - path or single tile to path to. in &amp;lt;code&amp;gt;PRE&amp;lt;/code&amp;gt; reactions to &amp;lt;code&amp;gt;step&amp;lt;/code&amp;gt;, holds the tile the unit is about to step into&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;or&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[Pathfinder.Step] - final path)&lt;br /&gt;
|&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - MovementType&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventUnitMove.FLAG&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; - SpecificAction which caused the move&lt;br /&gt;
|&amp;lt;code&amp;gt;step&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;entire_movement&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_save&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Lancer.HASE&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt; - origin unit&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt; - origin gear&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt; - origin action&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - combat state key for success boolean to be saved to&lt;br /&gt;
|&amp;lt;code&amp;gt;forced_save&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_spawn&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - spawns units to all tiles in the array&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - direction (0-3)&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventUnitSpawn.FLAG&lt;br /&gt;
|&amp;lt;code&amp;gt;unit_spawn&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_stress&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventService.STRESSED_FLAG&lt;br /&gt;
|&amp;lt;code&amp;gt;stressed&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_structure&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventService.STRUCTURED_FLAG&lt;br /&gt;
|&amp;lt;code&amp;gt;structured&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Other Events =====&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Event ID&lt;br /&gt;
!Required Context&lt;br /&gt;
!Optional Context&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_buff_activate&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;buff&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt; - the unit the buff is applied to.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; - the event which triggered the activation.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_camera_move&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - moves so it can see all these&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - move speed in milliseconds, 0 by default&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_camera_set_locked&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_banner_intro&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_highlight_ui&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - compcon_id(?)&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - GoldenPathHighlight.AUTO_CLEAR&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_set_objective&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - index of objective to change&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - is complete?&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - objective text&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - [2,4] -&amp;gt; &amp;quot;Search all zones! (2/4)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_set_round_max&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_set_triggers_enabled&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - name of trigger group&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_delay&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - milliseconds&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_dialogue&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - conversation id&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt; - for dynamic text&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; - for dynamic text&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_dialogue_bark&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - line id &#039;&#039;&#039;or&#039;&#039;&#039; raw text&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; - for dynamic text&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_dialogue_emoji&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Emoji.TYPE&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - length to show in milliseconds&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_dialogue_face&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - tiles to look at&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_gear_choose_and_use&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[SpecificAction] - actions to pick from&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - is overwatch?&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - variant action id if mandatory&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Action.FLAG&lt;br /&gt;
&lt;br /&gt;
(&#039;&#039;&#039;if&#039;&#039;&#039; Action.FLAG.TARGETS_ARE_MANDATORY:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; - mandatory targets&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - mandatory targets)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_block_add&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - block id (int)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - elevation&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventMapBlockAdd.FLAG&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_block_remove&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - elevation&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventMapBlockAdd.FLAG&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_dangerous&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Lancer.DAMAGE_TYPE - type of damage to do on failure&lt;br /&gt;
|&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - MovementType&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_doodad_add&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - doodad id&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - rotation (0-3)&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_doodad_remove&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_effect&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - FXGroup id&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - wait for effect to end&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_setpiece_add&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - setpiece id&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - rotation (0-3)&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_setpiece_remove&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_set_water&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - elevation&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_text&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_weather_toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - weather id&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_music_play&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - fmod event path&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_music_stop&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_round_end&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_round_set_next_faction&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Faction.SIDE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_attach&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - attach or release&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - UnitCore&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - direction (0-3)&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventUnitSpawn.FLAG&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_extract&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventUnitExtract.FLAG&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_faction&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Faction.SIDE&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - flags[0] is Lancer.UNTIL&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_heal&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_mount&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_overkill&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_overshield&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_pick_move&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - MovementType&lt;br /&gt;
|(&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - Array[Vector2i] - tiles for Pathfinder&lt;br /&gt;
&#039;&#039;&#039;or&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - movement budget)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[Vector2i] - knockback origin tiles&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt; - origin unit&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt; - origin gear&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt; - origin action&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_rename&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - FetcherNameType.WHICH_NAME&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_set_stat&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Statblock.PROP&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_sitrep_tag&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - sitrep tag to add/remove&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_teleport&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_equip&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - kit id&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_launch&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventUnitSpawn.FLAG&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_reinforce&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - reinforcement group id or name&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - number of units to deploy&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventZoneReinforce.FLAG&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_setup&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Zone.TYPE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - is visible&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - zone name&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Zone.GUIDE&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_set_guides&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Zone.GUIDE&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_set_name&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - zone name&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_set_properties&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Zone.TYPE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - zone name&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_set_type&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Zone.TYPE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_set_visible&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - is visible&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_usable&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - name of action&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; - desc of action (String)&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; - unit whitelist&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventZoneUsable.FLAG&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Module Events =====&lt;br /&gt;
TODO&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Event ID&lt;br /&gt;
!Required Context&lt;br /&gt;
!Optional Context&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>GavstarB</name></author>
	</entry>
	<entry>
		<id>https://wiki.lancertactics.com/index.php?title=Events_and_Context&amp;diff=151</id>
		<title>Events and Context</title>
		<link rel="alternate" type="text/html" href="https://wiki.lancertactics.com/index.php?title=Events_and_Context&amp;diff=151"/>
		<updated>2026-07-27T17:19:09Z</updated>

		<summary type="html">&lt;p&gt;GavstarB: formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== The Events System ==&lt;br /&gt;
Lancer is a system famous for its numerous reactions and counter-reactions. In Lancer Tactics, this is handled by generating EventCore objects and then queueing them to each other in one big stack. EventCores each have an EventBase resource in their &amp;lt;code&amp;gt;base&amp;lt;/code&amp;gt; variable, which defines the type of event it is. The EventCore object is typically called &amp;lt;code&amp;gt;activation&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;core&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Olive&#039;s [https://wick.works/devlog/event-system-aka-how-to-handle-nested-youve-activated-my-trap-card-triggers devlog] on the subject (which you should check out just for the meme).&lt;br /&gt;
&lt;br /&gt;
===== Execution Sequence =====&lt;br /&gt;
* Run the &amp;lt;code&amp;gt;execute_preblock()&amp;lt;/code&amp;gt; function for the event&#039;s EventBase: &lt;br /&gt;
&amp;lt;blockquote&amp;gt;• For events which can be reacted to, fetch the events for every reaction with timing &amp;lt;code&amp;gt;ReactionBus.TIMING.PRE&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
• The reaction events are ordered according to their priority (low to high).&lt;br /&gt;
&lt;br /&gt;
• Loop through the reaction events and run the whole execution sequence for each reaction event in turn.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* If the event is aborted (&amp;lt;code&amp;gt;event.aborted == true&amp;lt;/code&amp;gt;), or the Context object does not contain the required data, execution stops here.&lt;br /&gt;
* Run the &amp;lt;code&amp;gt;execute()&amp;lt;/code&amp;gt; function for the event&#039;s EventBase: &lt;br /&gt;
&amp;lt;blockquote&amp;gt;• Executes any functionality the event has (for example, clearing heat for an &amp;lt;code&amp;gt;event_unit_cool&amp;lt;/code&amp;gt;). &lt;br /&gt;
&lt;br /&gt;
• For events which can be reacted to, fetch the events for every reaction with timing &amp;lt;code&amp;gt;ReactionBus.TIMING.POST&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• The reaction events are ordered according to their priority (low to high). • Loop through the reaction events and run the whole execution sequence for each reaction event in turn.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Run child events: &lt;br /&gt;
&amp;lt;blockquote&amp;gt;• These are events queued to the EventCore with &amp;lt;code&amp;gt;event.queue_event()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• The child events are ordered according to their priority (low to high).&lt;br /&gt;
&lt;br /&gt;
• Loop through the child events and run the whole execution sequence for child event in turn.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
== Context ==&lt;br /&gt;
Data is passed between events within a Context object, which contains any parameters an event needs in order to execute. The Context is checked by an event immediately before calling its &amp;lt;code&amp;gt;execute()&amp;lt;/code&amp;gt; function to see if it is able to run. Reactions with &amp;lt;code&amp;gt;ReactionBus.TIMING. PRE&amp;lt;/code&amp;gt; can modify the Context of the event they are reacting to before the event itself occurs, which allows them to change the event&#039;s behavior.&lt;br /&gt;
&lt;br /&gt;
Whether the Context object contains a specific variable can be queried using the &amp;lt;code&amp;gt;context.is_property_present()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
&lt;br /&gt;
The Context objects contains the following variables:&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible&amp;quot;&lt;br /&gt;
!Variable&lt;br /&gt;
!Type&lt;br /&gt;
!Additional Info &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
|Action&lt;br /&gt;
|See Actions and Reactions.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;buff&amp;lt;/code&amp;gt;&lt;br /&gt;
|BuffCore&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
|Variant&lt;br /&gt;
|Represents an enum or id string.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category_int&amp;lt;/code&amp;gt;&lt;br /&gt;
|int&lt;br /&gt;
|The &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable, typed as an int. Setting this will modify the &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category_string&amp;lt;/code&amp;gt;&lt;br /&gt;
|StringName&lt;br /&gt;
|The &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable, typed as a StringName. Setting this will modify the &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt;&lt;br /&gt;
|EventCore&lt;br /&gt;
|Usually the parent event of the current event.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array&lt;br /&gt;
|Usually contains enums.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
|GearCore&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;map&amp;lt;/code&amp;gt;&lt;br /&gt;
|MapState&lt;br /&gt;
|Always populated.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt;&lt;br /&gt;
|Variant&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt;&lt;br /&gt;
|Resource&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
|String&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array[Vector2i]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tile&amp;lt;/code&amp;gt;&lt;br /&gt;
|Vector2i&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles[0]&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;Tile.INVALID&amp;lt;/code&amp;gt; if it is empty. Setting this will add the Vector2i to &amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; at index 0.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array[Unit]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|Unit&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units[0]&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; if it is empty. Setting this will add the Unit to &amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; at index 0.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|Unit&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Event Creation ==&lt;br /&gt;
A Context object is usually created from a dictionary, where each key corresponds to the name of a variable:&lt;br /&gt;
 var context = Context.create({&lt;br /&gt;
 	string = &amp;quot;Example Context&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 })&lt;br /&gt;
Events are almost always created using the functions on their parent event, although it is possible to create one directly to make a virtual event not queued to any other event.&lt;br /&gt;
&lt;br /&gt;
An event can be queued to the &amp;lt;code&amp;gt;activation&amp;lt;/code&amp;gt; event with:&lt;br /&gt;
 activation.queue_event(&amp;amp;&amp;quot;event_example_id&amp;quot;, {&lt;br /&gt;
 	string = &amp;quot;Example Event&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 }, Priority.ACTIVATE.late_followup)&lt;br /&gt;
Events can also be executed immediately:&lt;br /&gt;
 await activation.execute_event(&amp;amp;&amp;quot;event_example_id&amp;quot;, {&lt;br /&gt;
 	string = &amp;quot;Example Event&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 })&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;As with any other &amp;lt;code&amp;gt;await&amp;lt;/code&amp;gt; function, check your references are not &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; before proceeding.&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Event Types ==&lt;br /&gt;
The scripts defining the game&#039;s events can be found in the &amp;lt;code&amp;gt;res://content/events/&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
===== Events with Reactions =====&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Event ID&lt;br /&gt;
!Required Context&lt;br /&gt;
!Optional Context&lt;br /&gt;
!Reactions&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_end&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - victory?&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;combat_end&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_set_state&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;modified_combat_state&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_start&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;combat_start&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_trigger_signal&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - if given, emits the signal more than once for each item in the array&lt;br /&gt;
|&amp;lt;code&amp;gt;trigger_signal&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_gear_activate&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - targeting hint&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; - targeting hint&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; - parent event during reactions&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Action.FLAG&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; - Pathfinder if can move before taking action&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - id of variant Action to be used&lt;br /&gt;
|&amp;lt;code&amp;gt;unit_action&amp;lt;/code&amp;gt; - generates a fake Context matching that of &amp;lt;code&amp;gt;event_unit_action&amp;lt;/code&amp;gt;. Context cannot be modified by &amp;lt;code&amp;gt;PRE&amp;lt;/code&amp;gt; events&lt;br /&gt;
&amp;lt;code&amp;gt;stabilize&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_gear_destroy&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;gear_destruction&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_gear_reload&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
(&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;and/or&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[GearCore])&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_damage&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventMapDamage.FLAG&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; - elevation to destroy down to (int)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - set to true if terrain got destroyed&lt;br /&gt;
|&amp;lt;code&amp;gt;terrain_damage&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_round_new&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;new_round&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_turn_end&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;end_turn&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_turn_start&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;new_turn&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_action&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - kit id&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - action index&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Action.FLAG&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
|executes an &amp;lt;code&amp;gt;event_gear_activate&amp;lt;/code&amp;gt; which in turn runs &amp;lt;code&amp;gt;unit_action&amp;lt;/code&amp;gt; reactions with a context matching this event&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_apply_status&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - persistent id of source gear&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt; - source&lt;br /&gt;
|&amp;lt;code&amp;gt;statuses_changed&amp;lt;/code&amp;gt; (only &amp;lt;code&amp;gt;PRE&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_attack&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt; - attacked unit&lt;br /&gt;
&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt; - attacking unit&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - DeclaredAttackSummary&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;event_unit_attack_declared&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Action.FLAG&lt;br /&gt;
|&amp;lt;code&amp;gt;attack&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_attack_declared&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - DeclaredAttackSummary&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;attack_declared&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_boost&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;boost&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_brace&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;brace&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_clear_status&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - persistent id of source gear&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt; - source&lt;br /&gt;
|&amp;lt;code&amp;gt;statuses_changed&amp;lt;/code&amp;gt; (only &amp;lt;code&amp;gt;POST&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_collide&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - tile collided with&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;collision&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_cool&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;clear_heat&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_damage&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Lancer.DAMAGE_TYPE - default kinetic&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; - AttackRoll&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventService.DAMAGE_FLAG&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt; - attacker&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt; - attacker gear&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt; - attacker Action&lt;br /&gt;
|&amp;lt;code&amp;gt;damage&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_die&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventService.DIE_FLAG&lt;br /&gt;
|&amp;lt;code&amp;gt;death&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_exile&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Lancer.UNTIL&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - persistent id of source gear&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt; - source&lt;br /&gt;
|&amp;lt;code&amp;gt;exiled&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_intangible&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Lancer.UNTIL&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - persistent id of source gear&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt; - source&lt;br /&gt;
|&amp;lt;code&amp;gt;intangible&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_lose_hidden&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;lose_hidden&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_meltdown&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;meltdown&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_move&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
(&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - path or single tile to path to. in &amp;lt;code&amp;gt;PRE&amp;lt;/code&amp;gt; reactions to &amp;lt;code&amp;gt;step&amp;lt;/code&amp;gt;, holds the tile the unit is about to step into&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;or&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[Pathfinder.Step] - final path)&lt;br /&gt;
|&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - MovementType&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventUnitMove.FLAG&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; - SpecificAction which caused the move&lt;br /&gt;
|&amp;lt;code&amp;gt;step&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;entire_movement&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_save&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Lancer.HASE&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt; - origin unit&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt; - origin gear&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt; - origin action&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - combat state key for success boolean to be saved to&lt;br /&gt;
|&amp;lt;code&amp;gt;forced_save&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_spawn&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - spawns units to all tiles in the array&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - direction (0-3)&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventUnitSpawn.FLAG&lt;br /&gt;
|&amp;lt;code&amp;gt;unit_spawn&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_stress&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventService.STRESSED_FLAG&lt;br /&gt;
|&amp;lt;code&amp;gt;stressed&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_structure&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventService.STRUCTURED_FLAG&lt;br /&gt;
|&amp;lt;code&amp;gt;structured&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Other Events =====&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Event ID&lt;br /&gt;
!Required Context&lt;br /&gt;
!Optional Context&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_buff_activate&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;buff&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt; - the unit the buff is applied to.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; - the event which triggered the activation.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_camera_move&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - moves so it can see all these&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - move speed in milliseconds, 0 by default&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_camera_set_locked&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_banner_intro&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_highlight_ui&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - compcon_id(?)&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - GoldenPathHighlight.AUTO_CLEAR&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_set_objective&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - index of objective to change&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - is complete?&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - objective text&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - [2,4] -&amp;gt; &amp;quot;Search all zones! (2/4)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_set_round_max&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_set_triggers_enabled&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - name of trigger group&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_delay&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - milliseconds&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_dialogue&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - conversation id&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt; - for dynamic text&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; - for dynamic text&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_dialogue_bark&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - line id &#039;&#039;&#039;or&#039;&#039;&#039; raw text&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; - for dynamic text&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_dialogue_emoji&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Emoji.TYPE&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - length to show in milliseconds&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_dialogue_face&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - tiles to look at&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_gear_choose_and_use&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[SpecificAction] - actions to pick from&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - is overwatch?&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - variant action id if mandatory&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Action.FLAG&lt;br /&gt;
&lt;br /&gt;
(&#039;&#039;&#039;if&#039;&#039;&#039; Action.FLAG.TARGETS_ARE_MANDATORY:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; - mandatory targets&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - mandatory targets)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_block_add&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - block id (int)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - elevation&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventMapBlockAdd.FLAG&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_block_remove&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - elevation&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventMapBlockAdd.FLAG&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_dangerous&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Lancer.DAMAGE_TYPE - type of damage to do on failure&lt;br /&gt;
|&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - MovementType&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_doodad_add&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - doodad id&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - rotation (0-3)&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_doodad_remove&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_effect&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - FXGroup id&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - wait for effect to end&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_setpiece_add&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - setpiece id&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - rotation (0-3)&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_setpiece_remove&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_set_water&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - elevation&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_text&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_weather_toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - weather id&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_music_play&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - fmod event path&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_music_stop&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_round_end&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_round_set_next_faction&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Faction.SIDE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_attach&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - attach or release&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - UnitCore&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - direction (0-3)&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventUnitSpawn.FLAG&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_extract&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventUnitExtract.FLAG&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_faction&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Faction.SIDE&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - flags[0] is Lancer.UNTIL&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_heal&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_mount&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_overkill&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_overshield&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_pick_move&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - MovementType&lt;br /&gt;
|(&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - Array[Vector2i] - tiles for Pathfinder&lt;br /&gt;
&#039;&#039;&#039;or&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - movement budget)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[Vector2i] - knockback origin tiles&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt; - origin unit&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt; - origin gear&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt; - origin action&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_rename&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - FetcherNameType.WHICH_NAME&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_set_stat&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Statblock.PROP&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_sitrep_tag&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - sitrep tag to add/remove&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_teleport&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_equip&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - kit id&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_launch&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventUnitSpawn.FLAG&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_reinforce&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - reinforcement group id or name&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - number of units to deploy&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventZoneReinforce.FLAG&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_setup&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Zone.TYPE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - is visible&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - zone name&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Zone.GUIDE&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_set_guides&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Zone.GUIDE&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_set_name&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - zone name&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_set_properties&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Zone.TYPE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - zone name&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_set_type&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Zone.TYPE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_set_visible&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - is visible&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|event_zone_usable&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - name of action&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; - desc of action (String)&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; - unit whitelist&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventZoneUsable.FLAG&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Module Events =====&lt;br /&gt;
TODO&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Event ID&lt;br /&gt;
!Required Context&lt;br /&gt;
!Optional Context&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>GavstarB</name></author>
	</entry>
	<entry>
		<id>https://wiki.lancertactics.com/index.php?title=Events_and_Context&amp;diff=150</id>
		<title>Events and Context</title>
		<link rel="alternate" type="text/html" href="https://wiki.lancertactics.com/index.php?title=Events_and_Context&amp;diff=150"/>
		<updated>2026-07-27T17:14:35Z</updated>

		<summary type="html">&lt;p&gt;GavstarB: finished first two event types table&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== The Events System ==&lt;br /&gt;
Lancer is a system famous for its numerous reactions and counter-reactions. In Lancer Tactics, this is handled by generating EventCore objects and then queueing them to each other in one big stack. EventCores each have an EventBase resource in their &amp;lt;code&amp;gt;base&amp;lt;/code&amp;gt; variable, which defines the type of event it is. The EventCore object is typically called &amp;lt;code&amp;gt;activation&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;core&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Olive&#039;s [https://wick.works/devlog/event-system-aka-how-to-handle-nested-youve-activated-my-trap-card-triggers devlog] on the subject (which you should check out just for the meme).&lt;br /&gt;
&lt;br /&gt;
===== Execution Sequence =====&lt;br /&gt;
* Run the &amp;lt;code&amp;gt;execute_preblock()&amp;lt;/code&amp;gt; function for the event&#039;s EventBase: &lt;br /&gt;
&amp;lt;blockquote&amp;gt;• For events which can be reacted to, fetch the events for every reaction with timing &amp;lt;code&amp;gt;ReactionBus.TIMING.PRE&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
• The reaction events are ordered according to their priority (low to high).&lt;br /&gt;
&lt;br /&gt;
• Loop through the reaction events and run the whole execution sequence for each reaction event in turn.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* If the event is aborted (&amp;lt;code&amp;gt;event.aborted == true&amp;lt;/code&amp;gt;), or the Context object does not contain the required data, execution stops here.&lt;br /&gt;
* Run the &amp;lt;code&amp;gt;execute()&amp;lt;/code&amp;gt; function for the event&#039;s EventBase: &lt;br /&gt;
&amp;lt;blockquote&amp;gt;• Executes any functionality the event has (for example, clearing heat for an &amp;lt;code&amp;gt;event_unit_cool&amp;lt;/code&amp;gt;). &lt;br /&gt;
&lt;br /&gt;
• For events which can be reacted to, fetch the events for every reaction with timing &amp;lt;code&amp;gt;ReactionBus.TIMING.POST&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• The reaction events are ordered according to their priority (low to high). • Loop through the reaction events and run the whole execution sequence for each reaction event in turn.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Run child events: &lt;br /&gt;
&amp;lt;blockquote&amp;gt;• These are events queued to the EventCore with &amp;lt;code&amp;gt;event.queue_event()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• The child events are ordered according to their priority (low to high).&lt;br /&gt;
&lt;br /&gt;
• Loop through the child events and run the whole execution sequence for child event in turn.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
== Context ==&lt;br /&gt;
Data is passed between events within a Context object, which contains any parameters an event needs in order to execute. The Context is checked by an event immediately before calling its &amp;lt;code&amp;gt;execute()&amp;lt;/code&amp;gt; function to see if it is able to run. Reactions with &amp;lt;code&amp;gt;ReactionBus.TIMING. PRE&amp;lt;/code&amp;gt; can modify the Context of the event they are reacting to before the event itself occurs, which allows them to change the event&#039;s behavior.&lt;br /&gt;
&lt;br /&gt;
Whether the Context object contains a specific variable can be queried using the &amp;lt;code&amp;gt;context.is_property_present()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
&lt;br /&gt;
The Context objects contains the following variables:&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible&amp;quot;&lt;br /&gt;
!Variable&lt;br /&gt;
!Type&lt;br /&gt;
!Additional Info &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
|Action&lt;br /&gt;
|See Actions and Reactions.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;buff&amp;lt;/code&amp;gt;&lt;br /&gt;
|BuffCore&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
|Variant&lt;br /&gt;
|Represents an enum or id string.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category_int&amp;lt;/code&amp;gt;&lt;br /&gt;
|int&lt;br /&gt;
|The &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable, typed as an int. Setting this will modify the &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category_string&amp;lt;/code&amp;gt;&lt;br /&gt;
|StringName&lt;br /&gt;
|The &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable, typed as a StringName. Setting this will modify the &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt;&lt;br /&gt;
|EventCore&lt;br /&gt;
|Usually the parent event of the current event.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array&lt;br /&gt;
|Usually contains enums.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
|GearCore&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;map&amp;lt;/code&amp;gt;&lt;br /&gt;
|MapState&lt;br /&gt;
|Always populated.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt;&lt;br /&gt;
|Variant&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt;&lt;br /&gt;
|Resource&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
|String&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array[Vector2i]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tile&amp;lt;/code&amp;gt;&lt;br /&gt;
|Vector2i&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles[0]&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;Tile.INVALID&amp;lt;/code&amp;gt; if it is empty. Setting this will add the Vector2i to &amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; at index 0.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array[Unit]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|Unit&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units[0]&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; if it is empty. Setting this will add the Unit to &amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; at index 0.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|Unit&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Event Creation ==&lt;br /&gt;
A Context object is usually created from a dictionary, where each key corresponds to the name of a variable:&lt;br /&gt;
 var context = Context.create({&lt;br /&gt;
 	string = &amp;quot;Example Context&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 })&lt;br /&gt;
Events are almost always created using the functions on their parent event, although it is possible to create one directly to make a virtual event not queued to any other event.&lt;br /&gt;
&lt;br /&gt;
An event can be queued to the &amp;lt;code&amp;gt;activation&amp;lt;/code&amp;gt; event with:&lt;br /&gt;
 activation.queue_event(&amp;amp;&amp;quot;event_example_id&amp;quot;, {&lt;br /&gt;
 	string = &amp;quot;Example Event&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 }, Priority.ACTIVATE.late_followup)&lt;br /&gt;
Events can also be executed immediately:&lt;br /&gt;
 await activation.execute_event(&amp;amp;&amp;quot;event_example_id&amp;quot;, {&lt;br /&gt;
 	string = &amp;quot;Example Event&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 })&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;As with any other &amp;lt;code&amp;gt;await&amp;lt;/code&amp;gt; function, check your references are not &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; before proceeding.&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Event Types ==&lt;br /&gt;
The scripts defining the game&#039;s events can be found in the &amp;lt;code&amp;gt;res://content/events/&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
===== Events with Reactions =====&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Event ID&lt;br /&gt;
!Required Context&lt;br /&gt;
!Optional Context&lt;br /&gt;
!Reactions&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_end&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - victory?&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;combat_end&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_set_state&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;modified_combat_state&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_start&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;combat_start&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_trigger_signal&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - if given, emits the signal more than once for each item in the array&lt;br /&gt;
|&amp;lt;code&amp;gt;trigger_signal&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_gear_activate&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - targeting hint&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; - targeting hint&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; - parent event during reactions&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Action.FLAG&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; - Pathfinder if can move before taking action&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - id of variant Action to be used&lt;br /&gt;
|&amp;lt;code&amp;gt;unit_action&amp;lt;/code&amp;gt; - generates a fake Context matching that of &amp;lt;code&amp;gt;event_unit_action&amp;lt;/code&amp;gt;. Context cannot be modified by &amp;lt;code&amp;gt;PRE&amp;lt;/code&amp;gt; events&lt;br /&gt;
&amp;lt;code&amp;gt;stabilize&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_gear_destroy&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;gear_destruction&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_gear_reload&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
(&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;and/or&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[GearCore])&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_damage&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventMapDamage.FLAG&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; - elevation to destroy down to (int)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - set to true if terrain got destroyed&lt;br /&gt;
|&amp;lt;code&amp;gt;terrain_damage&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_round_new&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;new_round&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_turn_end&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;end_turn&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_turn_start&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;new_turn&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_action&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - kit id&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - action index&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Action.FLAG&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
|executes an &amp;lt;code&amp;gt;event_gear_activate&amp;lt;/code&amp;gt; which in turn runs &amp;lt;code&amp;gt;unit_action&amp;lt;/code&amp;gt; reactions with a context matching this event&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_apply_status&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - persistent id of source gear&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt; - source&lt;br /&gt;
|&amp;lt;code&amp;gt;statuses_changed&amp;lt;/code&amp;gt; (only &amp;lt;code&amp;gt;PRE&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_attack&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt; - attacked unit&lt;br /&gt;
&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt; - attacking unit&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - DeclaredAttackSummary&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;event_unit_attack_declared&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Action.FLAG&lt;br /&gt;
|&amp;lt;code&amp;gt;attack&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_attack_declared&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - DeclaredAttackSummary&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;attack_declared&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_boost&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;boost&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_brace&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;brace&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_clear_status&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - persistent id of source gear&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt; - source&lt;br /&gt;
|&amp;lt;code&amp;gt;statuses_changed&amp;lt;/code&amp;gt; (only &amp;lt;code&amp;gt;POST&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_collide&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - tile collided with&lt;br /&gt;
&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;collision&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_cool&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;clear_heat&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_damage&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Lancer.DAMAGE_TYPE - default kinetic&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; - AttackRoll&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventService.DAMAGE_FLAG&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt; - attacker&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt; - attacker gear&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt; - attacker Action&lt;br /&gt;
|&amp;lt;code&amp;gt;damage&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_die&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventService.DIE_FLAG&lt;br /&gt;
|&amp;lt;code&amp;gt;death&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_exile&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Lancer.UNTIL&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - persistent id of source gear&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt; - source&lt;br /&gt;
|&amp;lt;code&amp;gt;exiled&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_intangible&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Lancer.UNTIL&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - persistent id of source gear&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt; - source&lt;br /&gt;
|&amp;lt;code&amp;gt;intangible&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_lose_hidden&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;lose_hidden&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_meltdown&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;meltdown&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_move&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
(&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - path or single tile to path to. in &amp;lt;code&amp;gt;PRE&amp;lt;/code&amp;gt; reactions to &amp;lt;code&amp;gt;step&amp;lt;/code&amp;gt;, holds the tile the unit is about to step into&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;or&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[Pathfinder.Step] - final path)&lt;br /&gt;
|&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - MovementType&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventUnitMove.FLAG&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; - SpecificAction which caused the move&lt;br /&gt;
|&amp;lt;code&amp;gt;step&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;entire_movement&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_save&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Lancer.HASE&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt; - origin unit&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt; - origin gear&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt; - origin action&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - combat state key for success boolean to be saved to&lt;br /&gt;
|&amp;lt;code&amp;gt;forced_save&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_spawn&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - spawns units to all tiles in the array&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - direction (0-3)&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventUnitSpawn.FLAG&lt;br /&gt;
|&amp;lt;code&amp;gt;unit_spawn&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_stress&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventService.STRESSED_FLAG&lt;br /&gt;
|&amp;lt;code&amp;gt;stressed&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_structure&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventService.STRUCTURED_FLAG&lt;br /&gt;
|&amp;lt;code&amp;gt;structured&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Other Events =====&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Event ID&lt;br /&gt;
!Required Context&lt;br /&gt;
!Optional Context&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_buff_activate&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;buff&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt; - the unit the buff is applied to.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; - the event which triggered the activation.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_camera_move&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - moves so it can see all these&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - move speed in milliseconds, 0 by default&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_camera_set_locked&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_banner_intro&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_highlight_ui&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - compcon_id(?)&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - GoldenPathHighlight.AUTO_CLEAR&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_set_objective&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - index of objective to change&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - is complete?&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - objective text&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - [2,4] =&amp;gt; &amp;quot;Search all zones! (2/4)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_set_round_max&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_set_triggers_enabled&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - name of trigger group&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_delay&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - milliseconds&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_dialogue&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - conversation id&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt; - for dynamic text&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; - for dynamic text&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_dialogue_bark&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - line id &#039;&#039;&#039;or&#039;&#039;&#039; raw text&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; - for dynamic text&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_dialogue_emoji&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Emoji.TYPE&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - length to show in milliseconds&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_dialogue_face&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - tiles to look at&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_gear_choose_and_use&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[SpecificAction] - actions to pick from&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - is overwatch?&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - variant action id if mandatory&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Action.FLAG&lt;br /&gt;
&lt;br /&gt;
(&#039;&#039;&#039;if&#039;&#039;&#039; Action.FLAG.TARGETS_ARE_MANDATORY:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; - mandatory targets&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - mandatory targets)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_block_add&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - block id (int)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - elevation&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventMapBlockAdd.FLAG&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_block_remove&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - elevation&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventMapBlockAdd.FLAG&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_dangerous&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Lancer.DAMAGE_TYPE - type of damage to do on failure&lt;br /&gt;
|&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - MovementType&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_doodad_add&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - doodad id&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - rotation (0-3)&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_doodad_remove&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_effect&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - FXGroup id&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - wait for effect to end&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_setpiece_add&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - setpiece id&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - rotation (0-3)&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_setpiece_remove&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_set_water&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - elevation&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_text&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_weather_toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - weather id&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_music_play&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - fmod event path&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_music_stop&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_round_end&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_round_set_next_faction&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Faction.SIDE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_attach&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - attach or release&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - UnitCore&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - direction (0-3)&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventUnitSpawn.FLAG&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_extract&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventUnitExtract.FLAG&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_faction&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Faction.SIDE&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - flags[0] is Lancer.UNTIL&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_heal&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_mount&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_overkill&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_overshield&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_pick_move&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - MovementType&lt;br /&gt;
|(&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - Array[Vector2i] - tiles for Pathfinder&lt;br /&gt;
&#039;&#039;&#039;or&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - movement budget)&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[Vector2i] - knockback origin tiles&lt;br /&gt;
&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt; - origin unit&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt; - origin gear&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt; - origin action&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_rename&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - FetcherNameType.WHICH_NAME&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_set_stat&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Statblock.PROP&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_sitrep_tag&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - sitrep tag to add/remove&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_teleport&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_equip&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - kit id&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_launch&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventUnitSpawn.FLAG&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_reinforce&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - reinforcement group id or name&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - number of units to deploy&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventZoneReinforce.FLAG&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_setup&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Zone.TYPE&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - is visible&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - zone name&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Zone.GUIDE&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_set_guides&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Zone.GUIDE&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_set_name&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - zone name&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_set_properties&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Zone.TYPE&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - zone name&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_set_type&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Zone.TYPE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_zone_set_visible&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - is visible&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|event_zone_usable&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[ZoneCore]&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - name of action&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; - desc of action (String)&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; - unit whitelist&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventZoneUsable.FLAG&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Module Events =====&lt;br /&gt;
TODO&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Event ID&lt;br /&gt;
!Required Context&lt;br /&gt;
!Optional Context&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>GavstarB</name></author>
	</entry>
	<entry>
		<id>https://wiki.lancertactics.com/index.php?title=Events_and_Context&amp;diff=149</id>
		<title>Events and Context</title>
		<link rel="alternate" type="text/html" href="https://wiki.lancertactics.com/index.php?title=Events_and_Context&amp;diff=149"/>
		<updated>2026-07-27T15:22:51Z</updated>

		<summary type="html">&lt;p&gt;GavstarB: formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== The Events System ==&lt;br /&gt;
Lancer is a system famous for its numerous reactions and counter-reactions. In Lancer Tactics, this is handled by generating EventCore objects and then queueing them to each other in one big stack. EventCores each have an EventBase resource in their &amp;lt;code&amp;gt;base&amp;lt;/code&amp;gt; variable, which defines the type of event it is. The EventCore object is typically called &amp;lt;code&amp;gt;activation&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;core&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Olive&#039;s [https://wick.works/devlog/event-system-aka-how-to-handle-nested-youve-activated-my-trap-card-triggers devlog] on the subject (which you should check out just for the meme).&lt;br /&gt;
&lt;br /&gt;
===== Execution Sequence =====&lt;br /&gt;
* Run the &amp;lt;code&amp;gt;execute_preblock()&amp;lt;/code&amp;gt; function for the event&#039;s EventBase: &lt;br /&gt;
&amp;lt;blockquote&amp;gt;• For events which can be reacted to, fetch the events for every reaction with timing &amp;lt;code&amp;gt;ReactionBus.TIMING.PRE&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
• The reaction events are ordered according to their priority (low to high).&lt;br /&gt;
&lt;br /&gt;
• Loop through the reaction events and run the whole execution sequence for each reaction event in turn.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* If the event is aborted (&amp;lt;code&amp;gt;event.aborted == true&amp;lt;/code&amp;gt;), or the Context object does not contain the required data, execution stops here.&lt;br /&gt;
* Run the &amp;lt;code&amp;gt;execute()&amp;lt;/code&amp;gt; function for the event&#039;s EventBase: &lt;br /&gt;
&amp;lt;blockquote&amp;gt;• Executes any functionality the event has (for example, clearing heat for an &amp;lt;code&amp;gt;event_unit_cool&amp;lt;/code&amp;gt;). &lt;br /&gt;
&lt;br /&gt;
• For events which can be reacted to, fetch the events for every reaction with timing &amp;lt;code&amp;gt;ReactionBus.TIMING.POST&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• The reaction events are ordered according to their priority (low to high). • Loop through the reaction events and run the whole execution sequence for each reaction event in turn.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Run child events: &lt;br /&gt;
&amp;lt;blockquote&amp;gt;• These are events queued to the EventCore with &amp;lt;code&amp;gt;event.queue_event()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• The child events are ordered according to their priority (low to high).&lt;br /&gt;
&lt;br /&gt;
• Loop through the child events and run the whole execution sequence for child event in turn.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
== Context ==&lt;br /&gt;
Data is passed between events within a Context object, which contains any parameters an event needs in order to execute. The Context is checked by an event immediately before calling its &amp;lt;code&amp;gt;execute()&amp;lt;/code&amp;gt; function to see if it is able to run. Reactions with &amp;lt;code&amp;gt;ReactionBus.TIMING. PRE&amp;lt;/code&amp;gt; can modify the Context of the event they are reacting to before the event itself occurs, which allows them to change the event&#039;s behavior.&lt;br /&gt;
&lt;br /&gt;
Whether the Context object contains a specific variable can be queried using the &amp;lt;code&amp;gt;context.is_property_present()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
&lt;br /&gt;
The Context objects contains the following variables:&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible&amp;quot;&lt;br /&gt;
!Variable&lt;br /&gt;
!Type&lt;br /&gt;
!Additional Info &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
|Action&lt;br /&gt;
|See Actions and Reactions.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;buff&amp;lt;/code&amp;gt;&lt;br /&gt;
|BuffCore&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
|Variant&lt;br /&gt;
|Represents an enum or id string.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category_int&amp;lt;/code&amp;gt;&lt;br /&gt;
|int&lt;br /&gt;
|The &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable, typed as an int. Setting this will modify the &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category_string&amp;lt;/code&amp;gt;&lt;br /&gt;
|StringName&lt;br /&gt;
|The &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable, typed as a StringName. Setting this will modify the &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt;&lt;br /&gt;
|EventCore&lt;br /&gt;
|Usually the parent event of the current event.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array&lt;br /&gt;
|Usually contains enums.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
|GearCore&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;map&amp;lt;/code&amp;gt;&lt;br /&gt;
|MapState&lt;br /&gt;
|Always populated.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt;&lt;br /&gt;
|Variant&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt;&lt;br /&gt;
|Resource&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
|String&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array[Vector2i]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tile&amp;lt;/code&amp;gt;&lt;br /&gt;
|Vector2i&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles[0]&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;Tile.INVALID&amp;lt;/code&amp;gt; if it is empty. Setting this will add the Vector2i to &amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; at index 0.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array[Unit]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|Unit&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units[0]&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; if it is empty. Setting this will add the Unit to &amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; at index 0.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|Unit&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Event Creation ==&lt;br /&gt;
A Context object is usually created from a dictionary, where each key corresponds to the name of a variable:&lt;br /&gt;
 var context = Context.create({&lt;br /&gt;
 	string = &amp;quot;Example Context&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 })&lt;br /&gt;
Events are almost always created using the functions on their parent event, although it is possible to create one directly to make a virtual event not queued to any other event.&lt;br /&gt;
&lt;br /&gt;
An event can be queued to the &amp;lt;code&amp;gt;activation&amp;lt;/code&amp;gt; event with:&lt;br /&gt;
 activation.queue_event(&amp;amp;&amp;quot;event_example_id&amp;quot;, {&lt;br /&gt;
 	string = &amp;quot;Example Event&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 }, Priority.ACTIVATE.late_followup)&lt;br /&gt;
Events can also be executed immediately:&lt;br /&gt;
 await activation.execute_event(&amp;amp;&amp;quot;event_example_id&amp;quot;, {&lt;br /&gt;
 	string = &amp;quot;Example Event&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 })&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;As with any other &amp;lt;code&amp;gt;await&amp;lt;/code&amp;gt; function, check your references are not &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; before proceeding.&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Event Types ==&lt;br /&gt;
The scripts defining the game&#039;s events can be found in the &amp;lt;code&amp;gt;res://content/events/&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
TODO - fill these out&lt;br /&gt;
&lt;br /&gt;
===== Events with Reactions =====&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Event ID&lt;br /&gt;
!Required Context&lt;br /&gt;
!Optional Context&lt;br /&gt;
!Reactions&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_end&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - victory?&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;combat_end&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_set_state&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;modified_combat_state&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_start&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;combat_start&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_trigger_signal&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - if given, emits the signal more than once for each item in the array&lt;br /&gt;
|&amp;lt;code&amp;gt;trigger_signal&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_gear_activate&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - targeting hint&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; - targeting hint&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; - parent event during reactions&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Action.FLAG&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; - Pathfinder if can move before taking action&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - id of variant Action to be used&lt;br /&gt;
|&amp;lt;code&amp;gt;unit_action&amp;lt;/code&amp;gt; - generates a fake Context matching that of &amp;lt;code&amp;gt;event_unit_action&amp;lt;/code&amp;gt;. Context cannot be modified by &amp;lt;code&amp;gt;PRE&amp;lt;/code&amp;gt; events&lt;br /&gt;
&amp;lt;code&amp;gt;stabilize&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_gear_destroy&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;gear_destruction&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_gear_reload&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
(&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;and/or&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[GearCore])&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_damage&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventMapDamage.FLAG&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; - elevation to destroy down to (int)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - set to true if terrain got destroyed&lt;br /&gt;
|&amp;lt;code&amp;gt;terrain_damage&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_attack&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt; - attacked unit&lt;br /&gt;
&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt; - attacking unit&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - DeclaredAttackSummary&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;event_unit_attack_declared&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Action.FLAG&lt;br /&gt;
|&amp;lt;code&amp;gt;attack&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_attack_declared&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - DeclaredAttackSummary&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;attack_declared&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_brace&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;brace&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_damage&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Lancer.DAMAGE_TYPE - default kinetic&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; - AttackRoll&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventService.DAMAGE_FLAG&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt; - attacker&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt; - attacker gear&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt; - attacker Action&lt;br /&gt;
|&amp;lt;code&amp;gt;damage&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|event_unit_move&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
(&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - path or single tile to path to. in &amp;lt;code&amp;gt;PRE&amp;lt;/code&amp;gt; reactions to &amp;lt;code&amp;gt;step&amp;lt;/code&amp;gt;, holds the tile the unit is about to step into&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;or&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[Pathfinder.Step] - final path)&lt;br /&gt;
|&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - MovementType&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventUnitMove.FLAG&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; - SpecificAction which caused the move&lt;br /&gt;
|&amp;lt;code&amp;gt;step&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;entire_movement&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Other Events =====&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Event ID&lt;br /&gt;
!Required Context&lt;br /&gt;
!Optional Context&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_buff_activate&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;buff&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt; - the unit the buff is applied to.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; - the event which triggered the activation.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_camera_move&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - moves so it can see all these&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - move speed in milliseconds, 0 by default&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_camera_set_locked&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_banner_intro&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_highlight_ui&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - compcon_id(?)&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - GoldenPathHighlight.AUTO_CLEAR&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_set_objective&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - index of objective to change&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - is complete?&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - objective text&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - [2,4] =&amp;gt; &amp;quot;Search all zones! (2/4)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_set_round_max&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_set_triggers_enabled&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - name of trigger group&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_delay&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - milliseconds&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_dialogue&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - conversation id&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt; - for dynamic text&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; - for dynamic text&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_dialogue_bark&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - line id &#039;&#039;&#039;or&#039;&#039;&#039; raw text&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; - for dynamic text&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_dialogue_emoji&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Emoji.TYPE&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - length to show in milliseconds&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_dialogue_face&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - tiles to look at&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_gear_choose_and_use&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[SpecificAction] - actions to pick from&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - is overwatch?&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - variant action id if mandatory&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Action.FLAG&lt;br /&gt;
&lt;br /&gt;
(&#039;&#039;&#039;if&#039;&#039;&#039; Action.FLAG.TARGETS_ARE_MANDATORY:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; - mandatory targets&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - mandatory targets)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_block_add&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - block id (int)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - elevation&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventMapBlockAdd.FLAG&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_block_remove&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - elevation&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventMapBlockAdd.FLAG&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_dangerous&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Lancer.DAMAGE_TYPE - type of damage to do on failure&lt;br /&gt;
|&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - MovementType&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_doodad_add&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - doodad id&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - rotation (0-3)&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>GavstarB</name></author>
	</entry>
	<entry>
		<id>https://wiki.lancertactics.com/index.php?title=Events_and_Context&amp;diff=148</id>
		<title>Events and Context</title>
		<link rel="alternate" type="text/html" href="https://wiki.lancertactics.com/index.php?title=Events_and_Context&amp;diff=148"/>
		<updated>2026-07-27T15:17:49Z</updated>

		<summary type="html">&lt;p&gt;GavstarB: formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== The Events System ==&lt;br /&gt;
Lancer is a system famous for its numerous reactions and counter-reactions. In Lancer Tactics, this is handled by generating EventCore objects and then queueing them to each other in one big stack. EventCores each have an EventBase resource in their &amp;lt;code&amp;gt;base&amp;lt;/code&amp;gt; variable, which defines the type of event it is. The EventCore object is typically called &amp;lt;code&amp;gt;activation&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;core&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The execution sequence for running a particular event is:&lt;br /&gt;
&lt;br /&gt;
* Run the &amp;lt;code&amp;gt;execute_preblock()&amp;lt;/code&amp;gt; function for the event&#039;s EventBase: &lt;br /&gt;
&amp;lt;blockquote&amp;gt;• For events which can be reacted to, fetch the events for every reaction with timing &amp;lt;code&amp;gt;ReactionBus.TIMING.PRE&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
• The reaction events are ordered according to their priority (low to high).&lt;br /&gt;
&lt;br /&gt;
• Loop through the reaction events and run the whole execution sequence for each reaction event in turn.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* If the event is aborted (&amp;lt;code&amp;gt;event.aborted == true&amp;lt;/code&amp;gt;), or the Context object does not contain the required data, execution stops here.&lt;br /&gt;
* Run the &amp;lt;code&amp;gt;execute()&amp;lt;/code&amp;gt; function for the event&#039;s EventBase: &lt;br /&gt;
&amp;lt;blockquote&amp;gt;• Executes any functionality the event has (for example, clearing heat for an &amp;lt;code&amp;gt;event_unit_cool&amp;lt;/code&amp;gt;). &lt;br /&gt;
&lt;br /&gt;
• For events which can be reacted to, fetch the events for every reaction with timing &amp;lt;code&amp;gt;ReactionBus.TIMING.POST&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• The reaction events are ordered according to their priority (low to high). • Loop through the reaction events and run the whole execution sequence for each reaction event in turn.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Run child events: &lt;br /&gt;
&amp;lt;blockquote&amp;gt;• These are events queued to the EventCore with &amp;lt;code&amp;gt;event.queue_event()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• The child events are ordered according to their priority (low to high).&lt;br /&gt;
&lt;br /&gt;
• Loop through the child events and run the whole execution sequence for child event in turn.&amp;lt;/blockquote&amp;gt;TODO - provide an example&lt;br /&gt;
&lt;br /&gt;
Olive&#039;s [https://wick.works/devlog/event-system-aka-how-to-handle-nested-youve-activated-my-trap-card-triggers devlog] on the subject (which you should check out just for the meme).&lt;br /&gt;
&lt;br /&gt;
== Context ==&lt;br /&gt;
Data is passed between events within a Context object, which contains any parameters an event needs in order to execute. The Context is checked by an event immediately before calling its &amp;lt;code&amp;gt;execute()&amp;lt;/code&amp;gt; function to see if it is able to run. Reactions with &amp;lt;code&amp;gt;ReactionBus.TIMING. PRE&amp;lt;/code&amp;gt; can modify the Context of the event they are reacting to before the event itself occurs, which allows them to change the event&#039;s behavior.&lt;br /&gt;
&lt;br /&gt;
Whether the Context object contains a specific variable can be queried using the &amp;lt;code&amp;gt;context.is_property_present()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
&lt;br /&gt;
The Context objects contains the following variables:&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible&amp;quot;&lt;br /&gt;
!Variable&lt;br /&gt;
!Type&lt;br /&gt;
!Additional Info &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
|Action&lt;br /&gt;
|See Actions and Reactions.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;buff&amp;lt;/code&amp;gt;&lt;br /&gt;
|BuffCore&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
|Variant&lt;br /&gt;
|Represents an enum or id string.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category_int&amp;lt;/code&amp;gt;&lt;br /&gt;
|int&lt;br /&gt;
|The &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable, typed as an int. Setting this will modify the &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category_string&amp;lt;/code&amp;gt;&lt;br /&gt;
|StringName&lt;br /&gt;
|The &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable, typed as a StringName. Setting this will modify the &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt;&lt;br /&gt;
|EventCore&lt;br /&gt;
|Usually the parent event of the current event.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array&lt;br /&gt;
|Usually contains enums.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
|GearCore&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;map&amp;lt;/code&amp;gt;&lt;br /&gt;
|MapState&lt;br /&gt;
|Always populated.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt;&lt;br /&gt;
|Variant&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt;&lt;br /&gt;
|Resource&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
|String&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array[Vector2i]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tile&amp;lt;/code&amp;gt;&lt;br /&gt;
|Vector2i&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles[0]&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;Tile.INVALID&amp;lt;/code&amp;gt; if it is empty. Setting this will add the Vector2i to &amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; at index 0.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array[Unit]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|Unit&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units[0]&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; if it is empty. Setting this will add the Unit to &amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; at index 0.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|Unit&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Event Creation ==&lt;br /&gt;
A Context object is usually created from a dictionary, where each key corresponds to the name of a variable:&lt;br /&gt;
 var context = Context.create({&lt;br /&gt;
 	string = &amp;quot;Example Context&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 })&lt;br /&gt;
Events are almost always created using the functions on their parent event, although it is possible to create one directly to make a virtual event not queued to any other event.&lt;br /&gt;
&lt;br /&gt;
An event can be queued to the &amp;lt;code&amp;gt;activation&amp;lt;/code&amp;gt; event with:&lt;br /&gt;
 activation.queue_event(&amp;amp;&amp;quot;event_example_id&amp;quot;, {&lt;br /&gt;
 	string = &amp;quot;Example Event&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 }, Priority.ACTIVATE.late_followup)&lt;br /&gt;
Events can also be executed immediately:&lt;br /&gt;
 await activation.execute_event(&amp;amp;&amp;quot;event_example_id&amp;quot;, {&lt;br /&gt;
 	string = &amp;quot;Example Event&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 })&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;As with any other &amp;lt;code&amp;gt;await&amp;lt;/code&amp;gt; function, check your references are not &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; before proceeding.&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Event Types ==&lt;br /&gt;
The scripts defining the game&#039;s events can be found in the &amp;lt;code&amp;gt;res://content/events/&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
TODO - fill these out&lt;br /&gt;
&lt;br /&gt;
===== Events with Reactions =====&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Event ID&lt;br /&gt;
!Required Context&lt;br /&gt;
!Optional Context&lt;br /&gt;
!Reactions&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_end&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - victory?&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;combat_end&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_set_state&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;modified_combat_state&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_start&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;combat_start&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_trigger_signal&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - if given, emits the signal more than once for each item in the array&lt;br /&gt;
|&amp;lt;code&amp;gt;trigger_signal&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_gear_activate&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - targeting hint&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; - targeting hint&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; - parent event during reactions&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Action.FLAG&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; - Pathfinder if can move before taking action&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - id of variant Action to be used&lt;br /&gt;
|&amp;lt;code&amp;gt;unit_action&amp;lt;/code&amp;gt; - generates a fake Context matching that of &amp;lt;code&amp;gt;event_unit_action&amp;lt;/code&amp;gt;. Context cannot be modified by &amp;lt;code&amp;gt;PRE&amp;lt;/code&amp;gt; events&lt;br /&gt;
&amp;lt;code&amp;gt;stabilize&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_gear_destroy&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;gear_destruction&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_gear_reload&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
(&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;and/or&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[GearCore])&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_damage&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventMapDamage.FLAG&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; - elevation to destroy down to (int)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - set to true if terrain got destroyed&lt;br /&gt;
|&amp;lt;code&amp;gt;terrain_damage&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_attack&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt; - attacked unit&lt;br /&gt;
&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt; - attacking unit&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - DeclaredAttackSummary&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;event_unit_attack_declared&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Action.FLAG&lt;br /&gt;
|&amp;lt;code&amp;gt;attack&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_attack_declared&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - DeclaredAttackSummary&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;attack_declared&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_brace&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;brace&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_damage&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Lancer.DAMAGE_TYPE - default kinetic&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; - AttackRoll&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventService.DAMAGE_FLAG&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt; - attacker&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt; - attacker gear&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt; - attacker Action&lt;br /&gt;
|&amp;lt;code&amp;gt;damage&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|event_unit_move&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
(&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - path or single tile to path to. in &amp;lt;code&amp;gt;PRE&amp;lt;/code&amp;gt; reactions to &amp;lt;code&amp;gt;step&amp;lt;/code&amp;gt;, holds the tile the unit is about to step into&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;or&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[Pathfinder.Step] - final path)&lt;br /&gt;
|&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - MovementType&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventUnitMove.FLAG&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; - SpecificAction which caused the move&lt;br /&gt;
|&amp;lt;code&amp;gt;step&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;entire_movement&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Other Events =====&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Event ID&lt;br /&gt;
!Required Context&lt;br /&gt;
!Optional Context&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_buff_activate&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;buff&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt; - the unit the buff is applied to.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; - the event which triggered the activation.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_camera_move&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - moves so it can see all these&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - move speed in milliseconds, 0 by default&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_camera_set_locked&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_banner_intro&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_highlight_ui&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - compcon_id(?)&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - GoldenPathHighlight.AUTO_CLEAR&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_set_objective&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - index of objective to change&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - is complete?&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - objective text&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - [2,4] =&amp;gt; &amp;quot;Search all zones! (2/4)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_set_round_max&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_set_triggers_enabled&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - name of trigger group&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_delay&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - milliseconds&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_dialogue&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - conversation id&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt; - for dynamic text&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; - for dynamic text&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_dialogue_bark&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - line id &#039;&#039;&#039;or&#039;&#039;&#039; raw text&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; - for dynamic text&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_dialogue_emoji&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Emoji.TYPE&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - length to show in milliseconds&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_dialogue_face&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - tiles to look at&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_gear_choose_and_use&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[SpecificAction] - actions to pick from&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - is overwatch?&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - variant action id if mandatory&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Action.FLAG&lt;br /&gt;
&lt;br /&gt;
(&#039;&#039;&#039;if&#039;&#039;&#039; Action.FLAG.TARGETS_ARE_MANDATORY:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; - mandatory targets&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - mandatory targets)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_block_add&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - block id (int)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - elevation&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventMapBlockAdd.FLAG&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_block_remove&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - elevation&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventMapBlockAdd.FLAG&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_dangerous&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Lancer.DAMAGE_TYPE - type of damage to do on failure&lt;br /&gt;
|&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - MovementType&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_doodad_add&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - doodad id&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - rotation (0-3)&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>GavstarB</name></author>
	</entry>
	<entry>
		<id>https://wiki.lancertactics.com/index.php?title=Events_and_Context&amp;diff=147</id>
		<title>Events and Context</title>
		<link rel="alternate" type="text/html" href="https://wiki.lancertactics.com/index.php?title=Events_and_Context&amp;diff=147"/>
		<updated>2026-07-27T15:12:15Z</updated>

		<summary type="html">&lt;p&gt;GavstarB: updated events table (still WIP)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== The Events System ==&lt;br /&gt;
Lancer is a system famous for its numerous reactions and counter-reactions. In Lancer Tactics, this is handled by generating EventCore objects and then queueing them to each other in one big stack. EventCores each have an EventBase resource in their &amp;lt;code&amp;gt;base&amp;lt;/code&amp;gt; variable, which defines the type of event it is. The EventCore object is typically called &amp;lt;code&amp;gt;activation&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;core&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The execution sequence for running a particular event is:&lt;br /&gt;
&lt;br /&gt;
* Run the &amp;lt;code&amp;gt;execute_preblock()&amp;lt;/code&amp;gt; function for the event&#039;s EventBase: &lt;br /&gt;
&amp;lt;blockquote&amp;gt;• For events which can be reacted to, fetch the events for every reaction with timing &amp;lt;code&amp;gt;ReactionBus.TIMING.PRE&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
• The reaction events are ordered according to their priority (low to high).&lt;br /&gt;
&lt;br /&gt;
• Loop through the reaction events and run the whole execution sequence for each reaction event in turn.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* If the event is aborted (&amp;lt;code&amp;gt;event.aborted == true&amp;lt;/code&amp;gt;), or the Context object does not contain the required data, execution stops here.&lt;br /&gt;
* Run the &amp;lt;code&amp;gt;execute()&amp;lt;/code&amp;gt; function for the event&#039;s EventBase: &lt;br /&gt;
&amp;lt;blockquote&amp;gt;• Executes any functionality the event has (for example, clearing heat for an &amp;lt;code&amp;gt;event_unit_cool&amp;lt;/code&amp;gt;). &lt;br /&gt;
&lt;br /&gt;
• For events which can be reacted to, fetch the events for every reaction with timing &amp;lt;code&amp;gt;ReactionBus.TIMING.POST&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• The reaction events are ordered according to their priority (low to high). • Loop through the reaction events and run the whole execution sequence for each reaction event in turn.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Run child events: &lt;br /&gt;
&amp;lt;blockquote&amp;gt;• These are events queued to the EventCore with &amp;lt;code&amp;gt;event.queue_event()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• The child events are ordered according to their priority (low to high).&lt;br /&gt;
&lt;br /&gt;
• Loop through the child events and run the whole execution sequence for child event in turn.&amp;lt;/blockquote&amp;gt;TODO - provide an example&lt;br /&gt;
&lt;br /&gt;
Olive&#039;s [https://wick.works/devlog/event-system-aka-how-to-handle-nested-youve-activated-my-trap-card-triggers devlog] on the subject (which you should check out just for the meme).&lt;br /&gt;
&lt;br /&gt;
== Context ==&lt;br /&gt;
Data is passed between events within a Context object, which contains any parameters an event needs in order to execute. The Context is checked by an event immediately before calling its &amp;lt;code&amp;gt;execute()&amp;lt;/code&amp;gt; function to see if it is able to run. Reactions with &amp;lt;code&amp;gt;ReactionBus.TIMING. PRE&amp;lt;/code&amp;gt; can modify the Context of the event they are reacting to before the event itself occurs, which allows them to change the event&#039;s behavior.&lt;br /&gt;
&lt;br /&gt;
Whether the Context object contains a specific variable can be queried using the &amp;lt;code&amp;gt;context.is_property_present()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
&lt;br /&gt;
The Context objects contains the following variables:&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible&amp;quot;&lt;br /&gt;
!Variable&lt;br /&gt;
!Type&lt;br /&gt;
!Additional Info &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
|Action&lt;br /&gt;
|See Actions and Reactions.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;buff&amp;lt;/code&amp;gt;&lt;br /&gt;
|BuffCore&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
|Variant&lt;br /&gt;
|Represents an enum or id string.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category_int&amp;lt;/code&amp;gt;&lt;br /&gt;
|int&lt;br /&gt;
|The &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable, typed as an int. Setting this will modify the &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category_string&amp;lt;/code&amp;gt;&lt;br /&gt;
|StringName&lt;br /&gt;
|The &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable, typed as a StringName. Setting this will modify the &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt;&lt;br /&gt;
|EventCore&lt;br /&gt;
|Usually the parent event of the current event.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array&lt;br /&gt;
|Usually contains enums.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
|GearCore&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;map&amp;lt;/code&amp;gt;&lt;br /&gt;
|MapState&lt;br /&gt;
|Always populated.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt;&lt;br /&gt;
|Variant&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt;&lt;br /&gt;
|Resource&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
|String&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array[Vector2i]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tile&amp;lt;/code&amp;gt;&lt;br /&gt;
|Vector2i&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles[0]&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;Tile.INVALID&amp;lt;/code&amp;gt; if it is empty. Setting this will add the Vector2i to &amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; at index 0.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array[Unit]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|Unit&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units[0]&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; if it is empty. Setting this will add the Unit to &amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; at index 0.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|Unit&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Event Creation ==&lt;br /&gt;
A Context object is usually created from a dictionary, where each key corresponds to the name of a variable:&lt;br /&gt;
 var context = Context.create({&lt;br /&gt;
 	string = &amp;quot;Example Context&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 })&lt;br /&gt;
Events are almost always created using the functions on their parent event, although it is possible to create one directly to make a virtual event not queued to any other event.&lt;br /&gt;
&lt;br /&gt;
An event can be queued to the &amp;lt;code&amp;gt;activation&amp;lt;/code&amp;gt; event with:&lt;br /&gt;
 activation.queue_event(&amp;amp;&amp;quot;event_example_id&amp;quot;, {&lt;br /&gt;
 	string = &amp;quot;Example Event&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 }, Priority.ACTIVATE.late_followup)&lt;br /&gt;
Events can also be executed immediately:&lt;br /&gt;
 await activation.execute_event(&amp;amp;&amp;quot;event_example_id&amp;quot;, {&lt;br /&gt;
 	string = &amp;quot;Example Event&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 })&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;As with any other &amp;lt;code&amp;gt;await&amp;lt;/code&amp;gt; function, check your references are not &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; before proceeding.&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Event Types ==&lt;br /&gt;
The scripts defining the game&#039;s events can be found in the &amp;lt;code&amp;gt;res://content/events/&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
TODO - fill these out&lt;br /&gt;
&lt;br /&gt;
===== Events with Reactions =====&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Event ID&lt;br /&gt;
!Required Context&lt;br /&gt;
!Optional Context&lt;br /&gt;
!Reactions&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_end&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - victory?&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;combat_end&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_set_state&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;modified_combat_state&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_start&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;combat_start&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_trigger_signal&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - if given, emits the signal more than once for each item in the array&lt;br /&gt;
|&amp;lt;code&amp;gt;trigger_signal&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_gear_activate&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - targeting hint&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; - targeting hint&lt;br /&gt;
&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; - parent event during reactions&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Action.FLAG&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; - Pathfinder if can move before taking action&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - id of variant Action to be used&lt;br /&gt;
|&amp;lt;code&amp;gt;unit_action&amp;lt;/code&amp;gt; - generates a fake Context matching that of &amp;lt;code&amp;gt;event_unit_action&amp;lt;/code&amp;gt;. Context cannot be modified by &amp;lt;code&amp;gt;PRE&amp;lt;/code&amp;gt; events&lt;br /&gt;
&amp;lt;code&amp;gt;stabilize&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_gear_destroy&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;gear_destruction&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_gear_reload&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
(&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;and/or&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[GearCore])&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_damage&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventMapDamage.FLAG&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; - elevation to destroy down to (int)&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - set to true if terrain got destroyed&lt;br /&gt;
|&amp;lt;code&amp;gt;terrain_damage&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_attack&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt; - attacked unit&lt;br /&gt;
&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt; - attacking unit&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - DeclaredAttackSummary&lt;br /&gt;
&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;event_unit_attack_declared&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Action.FLAG&lt;br /&gt;
|&amp;lt;code&amp;gt;attack&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_attack_declared&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - DeclaredAttackSummary&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;attack_declared&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_brace&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;code&amp;gt;brace&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_unit_damage&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Lancer.DAMAGE_TYPE, default kinetic&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; - AttackRoll&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventService.DAMAGE_FLAG&lt;br /&gt;
&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt; - attacker&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt; - attacker gear&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt; - attacker Action&lt;br /&gt;
|&amp;lt;code&amp;gt;damage&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|event_unit_move&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
(&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - path or single tile to path to. in &amp;lt;code&amp;gt;PRE&amp;lt;/code&amp;gt; reactions to &amp;lt;code&amp;gt;step&amp;lt;/code&amp;gt;, holds the tile the unit is about to step into&lt;br /&gt;
&#039;&#039;&#039;or&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[Pathfinder.Step] - final path)&lt;br /&gt;
|&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - MovementType&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventUnitMove.FLAG&lt;br /&gt;
&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; - SpecificAction which caused the move&lt;br /&gt;
|&amp;lt;code&amp;gt;step&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;entire_movement&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Other Events =====&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Event ID&lt;br /&gt;
!Required Context&lt;br /&gt;
!Optional Context&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_buff_activate&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;buff&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt; - the unit the buff is applied to.&lt;br /&gt;
&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; - the event which triggered the activation.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_camera_move&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - moves so it can see all these&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - move speed in milliseconds, 0 by default&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_camera_set_locked&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_banner_intro&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_highlight_ui&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - compcon_id(?)&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - GoldenPathHighlight.AUTO_CLEAR&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_set_objective&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - index of objective to change&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - is complete?&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - objective text&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - [2,4] =&amp;gt; &amp;quot;Search all zones! (2/4)&amp;quot;&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_set_round_max&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_combat_set_triggers_enabled&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - name of trigger group&lt;br /&gt;
&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_delay&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - milliseconds&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_dialogue&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - conversation id&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt; - for dynamic text&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; - for dynamic text&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_dialogue_bark&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - line id &#039;&#039;&#039;or&#039;&#039;&#039; raw text&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; - for dynamic text&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_dialogue_emoji&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Emoji.TYPE&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - length to show in milliseconds&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_dialogue_face&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - tiles to look at&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_gear_choose_and_use&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt; - Array[SpecificAction] - actions to pick from&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - is overwatch?&lt;br /&gt;
&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; - variant action id if mandatory&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - Action.FLAG&lt;br /&gt;
(&#039;&#039;&#039;if&#039;&#039;&#039; Action.FLAG.TARGETS_ARE_MANDATORY:&lt;br /&gt;
&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; - mandatory targets&lt;br /&gt;
&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; - mandatory targets)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_block_add&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - block id (int)&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - elevation&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventMapBlockAdd.FLAG&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_block_remove&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - elevation&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; - EventMapBlockAdd.FLAG&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_dangerous&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - Lancer.DAMAGE_TYPE - type of damage to do on failure&lt;br /&gt;
|&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt; - MovementType&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event_map_doodad_add&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; - doodad id&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - rotation (0-3)&lt;br /&gt;
&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>GavstarB</name></author>
	</entry>
	<entry>
		<id>https://wiki.lancertactics.com/index.php?title=Events_and_Context&amp;diff=146</id>
		<title>Events and Context</title>
		<link rel="alternate" type="text/html" href="https://wiki.lancertactics.com/index.php?title=Events_and_Context&amp;diff=146"/>
		<updated>2026-07-27T11:51:58Z</updated>

		<summary type="html">&lt;p&gt;GavstarB: formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== The Events System ==&lt;br /&gt;
Lancer is a system famous for its numerous reactions and counter-reactions. In Lancer Tactics, this is handled by generating EventCore objects and then queueing them to each other in one big stack. EventCores each have an EventBase resource in their &amp;lt;code&amp;gt;base&amp;lt;/code&amp;gt; variable, which defines the type of event it is. The EventCore object is typically called &amp;lt;code&amp;gt;activation&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;core&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The execution sequence for running a particular event is:&lt;br /&gt;
&lt;br /&gt;
* Run the &amp;lt;code&amp;gt;execute_preblock()&amp;lt;/code&amp;gt; function for the event&#039;s EventBase: &lt;br /&gt;
&amp;lt;blockquote&amp;gt;• For events which can be reacted to, fetch the events for every reaction with timing &amp;lt;code&amp;gt;ReactionBus.TIMING.PRE&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
• The reaction events are ordered according to their priority (low to high).&lt;br /&gt;
&lt;br /&gt;
• Loop through the reaction events and run the whole execution sequence for each reaction event in turn.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* If the event is aborted (&amp;lt;code&amp;gt;event.aborted == true&amp;lt;/code&amp;gt;), or the Context object does not contain the required data, execution stops here.&lt;br /&gt;
* Run the &amp;lt;code&amp;gt;execute()&amp;lt;/code&amp;gt; function for the event&#039;s EventBase: &lt;br /&gt;
&amp;lt;blockquote&amp;gt;• Executes any functionality the event has (for example, clearing heat for an &amp;lt;code&amp;gt;event_unit_cool&amp;lt;/code&amp;gt;). &lt;br /&gt;
&lt;br /&gt;
• For events which can be reacted to, fetch the events for every reaction with timing &amp;lt;code&amp;gt;ReactionBus.TIMING.POST&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• The reaction events are ordered according to their priority (low to high). • Loop through the reaction events and run the whole execution sequence for each reaction event in turn.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Run child events: &lt;br /&gt;
&amp;lt;blockquote&amp;gt;• These are events queued to the EventCore with &amp;lt;code&amp;gt;event.queue_event()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• The child events are ordered according to their priority (low to high).&lt;br /&gt;
&lt;br /&gt;
• Loop through the child events and run the whole execution sequence for child event in turn.&amp;lt;/blockquote&amp;gt;TODO - provide an example&lt;br /&gt;
&lt;br /&gt;
Olive&#039;s [https://wick.works/devlog/event-system-aka-how-to-handle-nested-youve-activated-my-trap-card-triggers devlog] on the subject (which you should check out just for the meme).&lt;br /&gt;
&lt;br /&gt;
== Context ==&lt;br /&gt;
Data is passed between events within a Context object, which contains any parameters an event needs in order to execute. The Context is checked by an event immediately before calling its &amp;lt;code&amp;gt;execute()&amp;lt;/code&amp;gt; function to see if it is able to run. Reactions with &amp;lt;code&amp;gt;ReactionBus.TIMING. PRE&amp;lt;/code&amp;gt; can modify the Context of the event they are reacting to before the event itself occurs, which allows them to change the event&#039;s behavior.&lt;br /&gt;
&lt;br /&gt;
The Context objects contains the following variables:&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
!Variable&lt;br /&gt;
!Type&lt;br /&gt;
!Additional Info&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
|Action&lt;br /&gt;
|See Actions and Reactions.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;buff&amp;lt;/code&amp;gt;&lt;br /&gt;
|BuffCore&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
|Variant&lt;br /&gt;
|Represents an enum or id string.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category_int&amp;lt;/code&amp;gt;&lt;br /&gt;
|int&lt;br /&gt;
|The &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable, typed as an int. Setting this will modify the &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category_string&amp;lt;/code&amp;gt;&lt;br /&gt;
|StringName&lt;br /&gt;
|The &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable, typed as a StringName. Setting this will modify the &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt;&lt;br /&gt;
|EventCore&lt;br /&gt;
|Usually the parent event of the current event.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array&lt;br /&gt;
|Usually contains enums.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
|GearCore&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;map&amp;lt;/code&amp;gt;&lt;br /&gt;
|MapState&lt;br /&gt;
|Always populated.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt;&lt;br /&gt;
|Variant&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt;&lt;br /&gt;
|Resource&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
|String&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array[Vector2i]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tile&amp;lt;/code&amp;gt;&lt;br /&gt;
|Vector2i&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles[0]&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;Tile.INVALID&amp;lt;/code&amp;gt; if it is empty. Setting this will add the Vector2i to &amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; at index 0.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array[Unit]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|Unit&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units[0]&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; if it is empty. Setting this will add the Unit to &amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; at index 0.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|Unit&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Event Creation ==&lt;br /&gt;
A Context object is usually created from a dictionary, where each key corresponds to the name of a variable:&lt;br /&gt;
 var context = Context.create({&lt;br /&gt;
 	string = &amp;quot;Example Context&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 })&lt;br /&gt;
Events are almost always created using the functions on their parent event, although it is possible to create one directly to make a virtual event not queued to any other event.&lt;br /&gt;
&lt;br /&gt;
An event can be queued to the &amp;lt;code&amp;gt;activation&amp;lt;/code&amp;gt; event with:&lt;br /&gt;
 activation.queue_event(&amp;amp;&amp;quot;event_example_id&amp;quot;, {&lt;br /&gt;
 	string = &amp;quot;Example Event&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 }, Priority.ACTIVATE.late_followup)&lt;br /&gt;
Events can also be executed immediately:&lt;br /&gt;
 await activation.execute_event(&amp;amp;&amp;quot;event_example_id&amp;quot;, {&lt;br /&gt;
 	string = &amp;quot;Example Event&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 })&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;As with any other &amp;lt;code&amp;gt;await&amp;lt;/code&amp;gt; function, check your references are not &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; before proceeding.&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Event Types ==&lt;br /&gt;
The scripts defining the game&#039;s events can be found in the &amp;lt;code&amp;gt;res://content/events/&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
TODO - fill these out&lt;br /&gt;
&lt;br /&gt;
===== Events with Reactions =====&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Event ID&lt;br /&gt;
!Required Context&lt;br /&gt;
!Optional Context&lt;br /&gt;
!Reactions&lt;br /&gt;
!Additional Info&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Other Events =====&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Event ID&lt;br /&gt;
!Required Context&lt;br /&gt;
!Optional Context&lt;br /&gt;
!Reactions&lt;br /&gt;
!Additional Info&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>GavstarB</name></author>
	</entry>
	<entry>
		<id>https://wiki.lancertactics.com/index.php?title=Events_and_Context&amp;diff=145</id>
		<title>Events and Context</title>
		<link rel="alternate" type="text/html" href="https://wiki.lancertactics.com/index.php?title=Events_and_Context&amp;diff=145"/>
		<updated>2026-07-27T11:47:48Z</updated>

		<summary type="html">&lt;p&gt;GavstarB: formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== The Events System ==&lt;br /&gt;
Lancer is a system famous for its numerous reactions and counter-reactions. In Lancer Tactics, this is handled by generating EventCore objects and then queueing them to each other in one big stack. EventCores each have an EventBase resource in their &amp;lt;code&amp;gt;base&amp;lt;/code&amp;gt; variable, which defines the type of event it is. The EventCore object is typically called &amp;lt;code&amp;gt;activation&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;core&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The execution sequence for running a particular event is:&lt;br /&gt;
&lt;br /&gt;
* Run the &amp;lt;code&amp;gt;execute_preblock()&amp;lt;/code&amp;gt; function for the event&#039;s EventBase: &lt;br /&gt;
 	• For events which can be reacted to, fetch the events for every reaction with timing &amp;lt;code&amp;gt;ReactionBus.TIMING.PRE&amp;lt;/code&amp;gt;. &lt;br /&gt;
 	• The reaction events are ordered according to their priority (low to high). &lt;br /&gt;
 	• Loop through the reaction events and run the whole execution sequence for each reaction event in turn.&lt;br /&gt;
* If the event is aborted (&amp;lt;code&amp;gt;event.aborted == true&amp;lt;/code&amp;gt;), or the Context object does not contain the required data, execution stops here.&lt;br /&gt;
* Run the &amp;lt;code&amp;gt;execute()&amp;lt;/code&amp;gt; function for the event&#039;s EventBase: &lt;br /&gt;
 	• Executes any functionality the event has (for example, clearing heat for an &amp;lt;code&amp;gt;event_unit_cool&amp;lt;/code&amp;gt;). &lt;br /&gt;
 	• For events which can be reacted to, fetch the events for every reaction with timing &amp;lt;code&amp;gt;ReactionBus.TIMING.POST&amp;lt;/code&amp;gt;. &lt;br /&gt;
 	• The reaction events are ordered according to their priority (low to high). • Loop through the reaction events and run the whole execution sequence for each reaction event in turn.&lt;br /&gt;
* Run child events: &lt;br /&gt;
 	• These are events queued to the EventCore with &amp;lt;code&amp;gt;event.queue_event()&amp;lt;/code&amp;gt;. &lt;br /&gt;
 	• The child events are ordered according to their priority (low to high). &lt;br /&gt;
 	• Loop through the child events and run the whole execution sequence for child event in turn.&lt;br /&gt;
&lt;br /&gt;
TODO - provide an example&lt;br /&gt;
&lt;br /&gt;
Olive&#039;s [https://wick.works/devlog/event-system-aka-how-to-handle-nested-youve-activated-my-trap-card-triggers devlog] on the subject (which you should check out just for the meme).&lt;br /&gt;
&lt;br /&gt;
== Context ==&lt;br /&gt;
Data is passed between events within a Context object, which contains any parameters an event needs in order to execute. The Context is checked by an event immediately before calling its &amp;lt;code&amp;gt;execute()&amp;lt;/code&amp;gt; function to see if it is able to run. Reactions with &amp;lt;code&amp;gt;ReactionBus.TIMING. PRE&amp;lt;/code&amp;gt; can modify the Context of the event they are reacting to before the event itself occurs, which allows them to change the event&#039;s behavior.&lt;br /&gt;
&lt;br /&gt;
The Context objects contains the following variables:&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
!Variable&lt;br /&gt;
!Type&lt;br /&gt;
!Additional Info&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
|Action&lt;br /&gt;
|See Actions and Reactions.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;buff&amp;lt;/code&amp;gt;&lt;br /&gt;
|BuffCore&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
|Variant&lt;br /&gt;
|Represents an enum or id string.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category_int&amp;lt;/code&amp;gt;&lt;br /&gt;
|int&lt;br /&gt;
|The &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable, typed as an int. Setting this will modify the &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category_string&amp;lt;/code&amp;gt;&lt;br /&gt;
|StringName&lt;br /&gt;
|The &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable, typed as a StringName. Setting this will modify the &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt;&lt;br /&gt;
|EventCore&lt;br /&gt;
|Usually the parent event of the current event.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array&lt;br /&gt;
|Usually contains enums.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
|GearCore&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;map&amp;lt;/code&amp;gt;&lt;br /&gt;
|MapState&lt;br /&gt;
|Always populated.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt;&lt;br /&gt;
|Variant&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt;&lt;br /&gt;
|Resource&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
|String&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array[Vector2i]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tile&amp;lt;/code&amp;gt;&lt;br /&gt;
|Vector2i&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles[0]&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;Tile.INVALID&amp;lt;/code&amp;gt; if it is empty. Setting this will add the Vector2i to &amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; at index 0.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array[Unit]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|Unit&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units[0]&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; if it is empty. Setting this will add the Unit to &amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; at index 0.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|Unit&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Event Creation ==&lt;br /&gt;
A Context object is usually created from a dictionary, where each key corresponds to the name of a variable:&lt;br /&gt;
 var context = Context.create({&lt;br /&gt;
 	string = &amp;quot;Example Context&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 })&lt;br /&gt;
Events are almost always created using the functions on their parent event, although it is possible to create one directly to make a virtual event not queued to any other event.&lt;br /&gt;
&lt;br /&gt;
An event can be queued to the &amp;lt;code&amp;gt;activation&amp;lt;/code&amp;gt; event with:&lt;br /&gt;
 activation.queue_event(&amp;amp;&amp;quot;event_example_id&amp;quot;, {&lt;br /&gt;
 	string = &amp;quot;Example Event&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 }, Priority.ACTIVATE.late_followup)&lt;br /&gt;
Events can also be executed immediately:&lt;br /&gt;
 await activation.execute_event(&amp;amp;&amp;quot;event_example_id&amp;quot;, {&lt;br /&gt;
 	string = &amp;quot;Example Event&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 })&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;As with any other &amp;lt;code&amp;gt;await&amp;lt;/code&amp;gt; function, check your references are not &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; before proceeding.&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Event Types ==&lt;br /&gt;
The scripts defining the game&#039;s events can be found in the &amp;lt;code&amp;gt;res://content/events/&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
TODO - fill these out&lt;br /&gt;
&lt;br /&gt;
===== Events with Reactions =====&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Event ID&lt;br /&gt;
!Required Context&lt;br /&gt;
!Optional Context&lt;br /&gt;
!Reactions&lt;br /&gt;
!Additional Info&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Other Events =====&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Event ID&lt;br /&gt;
!Required Context&lt;br /&gt;
!Optional Context&lt;br /&gt;
!Reactions&lt;br /&gt;
!Additional Info&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>GavstarB</name></author>
	</entry>
	<entry>
		<id>https://wiki.lancertactics.com/index.php?title=Events_and_Context&amp;diff=144</id>
		<title>Events and Context</title>
		<link rel="alternate" type="text/html" href="https://wiki.lancertactics.com/index.php?title=Events_and_Context&amp;diff=144"/>
		<updated>2026-07-27T11:45:39Z</updated>

		<summary type="html">&lt;p&gt;GavstarB: formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== The Events System ==&lt;br /&gt;
Lancer is a system famous for its numerous reactions and counter-reactions. In Lancer Tactics, this is handled by generating EventCore objects and then queueing them to each other in one big stack. EventCores each have an EventBase resource in their &amp;lt;code&amp;gt;base&amp;lt;/code&amp;gt; variable, which defines the type of event it is. The EventCore object is typically called &amp;lt;code&amp;gt;activation&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;core&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The execution sequence for running a particular event is:&lt;br /&gt;
&lt;br /&gt;
* Run the &amp;lt;code&amp;gt;execute_preblock()&amp;lt;/code&amp;gt; function for the event&#039;s EventBase: &lt;br /&gt;
  • For events which can be reacted to, fetch the events for every reaction with timing &amp;lt;code&amp;gt;ReactionBus.TIMING.PRE&amp;lt;/code&amp;gt;. &lt;br /&gt;
  • The reaction events are ordered according to their priority (low to high). &lt;br /&gt;
  • Loop through the reaction events and run the whole execution sequence for each reaction event in turn.&lt;br /&gt;
* If the event is aborted (&amp;lt;code&amp;gt;event.aborted == true&amp;lt;/code&amp;gt;), or the Context object does not contain the required data, execution stops here.&lt;br /&gt;
* Run the &amp;lt;code&amp;gt;execute()&amp;lt;/code&amp;gt; function for the event&#039;s EventBase: &lt;br /&gt;
  • Executes any functionality the event has (for example, clearing heat for an &amp;lt;code&amp;gt;event_unit_cool&amp;lt;/code&amp;gt;). &lt;br /&gt;
  • For events which can be reacted to, fetch the events for every reaction with timing &amp;lt;code&amp;gt;ReactionBus.TIMING.POST&amp;lt;/code&amp;gt;. &lt;br /&gt;
  • The reaction events are ordered according to their priority (low to high). • Loop through the reaction events and run the whole execution sequence for each reaction event in turn.&lt;br /&gt;
* Run child events: &lt;br /&gt;
  • These are events queued to the EventCore with &amp;lt;code&amp;gt;event.queue_event()&amp;lt;/code&amp;gt;. &lt;br /&gt;
  • The child events are ordered according to their priority (low to high). &lt;br /&gt;
  • Loop through the child events and run the whole execution sequence for child event in turn.&lt;br /&gt;
&lt;br /&gt;
TODO - provide an example&lt;br /&gt;
&lt;br /&gt;
Olive&#039;s [https://wick.works/devlog/event-system-aka-how-to-handle-nested-youve-activated-my-trap-card-triggers devlog] on the subject (which you should check out just for the meme).&lt;br /&gt;
&lt;br /&gt;
== Context ==&lt;br /&gt;
Data is passed between events within a Context object, which contains any parameters an event needs in order to execute. The Context is checked by an event immediately before calling its &amp;lt;code&amp;gt;execute()&amp;lt;/code&amp;gt; function to see if it is able to run. Reactions with &amp;lt;code&amp;gt;ReactionBus.TIMING. PRE&amp;lt;/code&amp;gt; can modify the Context of the event they are reacting to before the event itself occurs, which allows them to change the event&#039;s behavior.&lt;br /&gt;
&lt;br /&gt;
The Context objects contains the following variables:&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
!Variable&lt;br /&gt;
!Type&lt;br /&gt;
!Additional Info&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
|Action&lt;br /&gt;
|See Actions and Reactions.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;buff&amp;lt;/code&amp;gt;&lt;br /&gt;
|BuffCore&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
|Variant&lt;br /&gt;
|Represents an enum or id string.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category_int&amp;lt;/code&amp;gt;&lt;br /&gt;
|int&lt;br /&gt;
|The &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable, typed as an int. Setting this will modify the &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category_string&amp;lt;/code&amp;gt;&lt;br /&gt;
|StringName&lt;br /&gt;
|The &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable, typed as a StringName. Setting this will modify the &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt;&lt;br /&gt;
|EventCore&lt;br /&gt;
|Usually the parent event of the current event.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array&lt;br /&gt;
|Usually contains enums.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
|GearCore&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;map&amp;lt;/code&amp;gt;&lt;br /&gt;
|MapState&lt;br /&gt;
|Always populated.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt;&lt;br /&gt;
|Variant&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt;&lt;br /&gt;
|Resource&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
|String&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array[Vector2i]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tile&amp;lt;/code&amp;gt;&lt;br /&gt;
|Vector2i&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles[0]&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;Tile.INVALID&amp;lt;/code&amp;gt; if it is empty. Setting this will add the Vector2i to &amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; at index 0.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array[Unit]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|Unit&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units[0]&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; if it is empty. Setting this will add the Unit to &amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; at index 0.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|Unit&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Event Creation ==&lt;br /&gt;
A Context object is usually created from a dictionary, where each key corresponds to the name of a variable:&lt;br /&gt;
 var context = Context.create({&lt;br /&gt;
 	string = &amp;quot;Example Context&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 })&lt;br /&gt;
Events are almost always created using the functions on their parent event, although it is possible to create one directly to make a virtual event not queued to any other event.&lt;br /&gt;
&lt;br /&gt;
An event can be queued to the &amp;lt;code&amp;gt;activation&amp;lt;/code&amp;gt; event with:&lt;br /&gt;
 activation.queue_event(&amp;amp;&amp;quot;event_example_id&amp;quot;, {&lt;br /&gt;
 	string = &amp;quot;Example Event&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 }, Priority.ACTIVATE.late_followup)&lt;br /&gt;
Events can also be executed immediately:&lt;br /&gt;
 await activation.execute_event(&amp;amp;&amp;quot;event_example_id&amp;quot;, {&lt;br /&gt;
 	string = &amp;quot;Example Event&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 })&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;As with any other &amp;lt;code&amp;gt;await&amp;lt;/code&amp;gt; function, check your references are not &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; before proceeding.&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Event Types ==&lt;br /&gt;
The scripts defining the game&#039;s events can be found in the &amp;lt;code&amp;gt;res://content/events/&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
TODO - fill these out&lt;br /&gt;
&lt;br /&gt;
===== Events with Reactions =====&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Event ID&lt;br /&gt;
!Required Context&lt;br /&gt;
!Optional Context&lt;br /&gt;
!Reactions&lt;br /&gt;
!Additional Info&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Other Events =====&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Event ID&lt;br /&gt;
!Required Context&lt;br /&gt;
!Optional Context&lt;br /&gt;
!Reactions&lt;br /&gt;
!Additional Info&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>GavstarB</name></author>
	</entry>
	<entry>
		<id>https://wiki.lancertactics.com/index.php?title=Events_and_Context&amp;diff=143</id>
		<title>Events and Context</title>
		<link rel="alternate" type="text/html" href="https://wiki.lancertactics.com/index.php?title=Events_and_Context&amp;diff=143"/>
		<updated>2026-07-27T11:42:06Z</updated>

		<summary type="html">&lt;p&gt;GavstarB: Added new Events and Context page (WIP)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== The Events System ==&lt;br /&gt;
Lancer is a system famous for its numerous reactions and counter-reactions. In Lancer Tactics, this is handled by generating EventCore objects and then queueing them to each other in one big stack. EventCores each have an EventBase resource in their &amp;lt;code&amp;gt;base&amp;lt;/code&amp;gt; variable, which defines the type of event it is. The EventCore object is typically called &amp;lt;code&amp;gt;activation&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;core&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The execution sequence for running a particular event is:&lt;br /&gt;
&lt;br /&gt;
* Run the &amp;lt;code&amp;gt;execute_preblock()&amp;lt;/code&amp;gt; function for the event&#039;s EventBase: • For events which can be reacted to, fetch the events for every reaction with timing &amp;lt;code&amp;gt;ReactionBus.TIMING.PRE&amp;lt;/code&amp;gt;. • The reaction events are ordered according to their priority (low to high). • Loop through the reaction events and run the whole execution sequence for each reaction event in turn.&lt;br /&gt;
* If the event is aborted (&amp;lt;code&amp;gt;event.aborted == true&amp;lt;/code&amp;gt;), or the Context object does not contain the required data, execution stops here.&lt;br /&gt;
* Run the &amp;lt;code&amp;gt;execute()&amp;lt;/code&amp;gt; function for the event&#039;s EventBase: • Executes any functionality the event has (for example, clearing heat for an &amp;lt;code&amp;gt;event_unit_cool&amp;lt;/code&amp;gt;). • For events which can be reacted to, fetch the events for every reaction with timing &amp;lt;code&amp;gt;ReactionBus.TIMING.P&amp;lt;/code&amp;gt;&amp;lt;code&amp;gt;OST&amp;lt;/code&amp;gt;. • The reaction events are ordered according to their priority (low to high). • Loop through the reaction events and run the whole execution sequence for each reaction event in turn.&lt;br /&gt;
* Run child events: • These are events queued to the EventCore with &amp;lt;code&amp;gt;event.queue_event()&amp;lt;/code&amp;gt;. • The child events are ordered according to their priority (low to high). • Loop through the child events and run the whole execution sequence for child event in turn.&lt;br /&gt;
&lt;br /&gt;
TODO - provide an example&lt;br /&gt;
&lt;br /&gt;
Olive&#039;s [https://wick.works/devlog/event-system-aka-how-to-handle-nested-youve-activated-my-trap-card-triggers devlog] on the subject (which you should check out just for the meme).&lt;br /&gt;
&lt;br /&gt;
== Context ==&lt;br /&gt;
Data is passed between events within a Context object, which contains any parameters an event needs in order to execute. The Context is checked by an event immediately before calling its &amp;lt;code&amp;gt;execute()&amp;lt;/code&amp;gt; function to see if it is able to run. Reactions with &amp;lt;code&amp;gt;ReactionBus.TIMING.&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;PRE&amp;lt;/code&amp;gt; can modify the Context of the event they are reacting to before the event itself occurs, which allows them to change the event&#039;s behavior.&lt;br /&gt;
&lt;br /&gt;
The Context objects contains the following variables:&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
!Variable&lt;br /&gt;
!Type&lt;br /&gt;
!Additional Info&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;&lt;br /&gt;
|Action&lt;br /&gt;
|See Actions and Reactions.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;buff&amp;lt;/code&amp;gt;&lt;br /&gt;
|BuffCore&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
|Variant&lt;br /&gt;
|Represents an enum or id string.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category_int&amp;lt;/code&amp;gt;&lt;br /&gt;
|int&lt;br /&gt;
|The &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable, typed as an int. Setting this will modify the &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;category_string&amp;lt;/code&amp;gt;&lt;br /&gt;
|StringName&lt;br /&gt;
|The &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable, typed as a StringName. Setting this will modify the &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; variable.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;event&amp;lt;/code&amp;gt;&lt;br /&gt;
|EventCore&lt;br /&gt;
|Usually the parent event of the current event.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array&lt;br /&gt;
|Usually contains enums.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;gear&amp;lt;/code&amp;gt;&lt;br /&gt;
|GearCore&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;map&amp;lt;/code&amp;gt;&lt;br /&gt;
|MapState&lt;br /&gt;
|Always populated.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt;&lt;br /&gt;
|Variant&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;resource&amp;lt;/code&amp;gt;&lt;br /&gt;
|Resource&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
|String&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array[Vector2i]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tile&amp;lt;/code&amp;gt;&lt;br /&gt;
|Vector2i&lt;br /&gt;
|&amp;lt;code&amp;gt;target_tiles[0]&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;Tile.INVALID&amp;lt;/code&amp;gt; if it is empty. Setting this will add the Vector2i to &amp;lt;code&amp;gt;target_tiles&amp;lt;/code&amp;gt; at index 0.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt;&lt;br /&gt;
|Array[Unit]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;target_unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|Unit&lt;br /&gt;
|&amp;lt;code&amp;gt;target_units[0]&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; if it is empty. Setting this will add the Unit to &amp;lt;code&amp;gt;target_units&amp;lt;/code&amp;gt; at index 0.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;&lt;br /&gt;
|Unit&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Event Creation ==&lt;br /&gt;
A Context object is usually created from a dictionary, where each key corresponds to the name of a variable:&lt;br /&gt;
 var context = Context.create({&lt;br /&gt;
 	string = &amp;quot;Example Context&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 })&lt;br /&gt;
Events are almost always created using the functions on their parent event, although it is possible to create one directly to make a virtual event not queued to any other event.&lt;br /&gt;
&lt;br /&gt;
An event can be queued to the &amp;lt;code&amp;gt;activation&amp;lt;/code&amp;gt; event with:&lt;br /&gt;
 activation.queue_event(&amp;amp;&amp;quot;event_example_id&amp;quot;, {&lt;br /&gt;
 	string = &amp;quot;Example Event&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 }, Priority.ACTIVATE.late_followup)&lt;br /&gt;
Events can also be executed immediately:&lt;br /&gt;
 await activation.execute_event(&amp;amp;&amp;quot;event_example_id&amp;quot;, {&lt;br /&gt;
 	string = &amp;quot;Example Event&amp;quot;,&lt;br /&gt;
 	boolean = true&lt;br /&gt;
 })&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;As with any other &amp;lt;code&amp;gt;await&amp;lt;/code&amp;gt; function, check your references are not &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; before proceeding.&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Event Types ==&lt;br /&gt;
The scripts defining the game&#039;s events can be found in the &amp;lt;code&amp;gt;res://content/events/&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
TODO - fill these out&lt;br /&gt;
&lt;br /&gt;
===== Events with Reactions =====&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Event ID&lt;br /&gt;
!Required Context&lt;br /&gt;
!Optional Context&lt;br /&gt;
!Reactions&lt;br /&gt;
!Additional Info&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Other Events =====&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Event ID&lt;br /&gt;
!Required Context&lt;br /&gt;
!Optional Context&lt;br /&gt;
!Reactions&lt;br /&gt;
!Additional Info&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>GavstarB</name></author>
	</entry>
	<entry>
		<id>https://wiki.lancertactics.com/index.php?title=The_Muse&amp;diff=142</id>
		<title>The Muse</title>
		<link rel="alternate" type="text/html" href="https://wiki.lancertactics.com/index.php?title=The_Muse&amp;diff=142"/>
		<updated>2026-07-25T11:14:17Z</updated>

		<summary type="html">&lt;p&gt;GavstarB: /* Modding */ Added link to new Localization and Text Highlighting page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;The Muse&amp;lt;/strong&amp;gt; (aka the Lancer Tactics Wiki) is a compilation of editor documentation and guides for &amp;lt;strong&amp;gt;[https://lancertactics.com/ Lancer Tactics]&amp;lt;/strong&amp;gt;, a video game adaptation of the [https://massifpress.com/lancer Lancer TTRPG] by Tom Bloom and Miguel Lopez-Hall. The in-universe concept of the Muse is from the [https://vexwerewolf.itch.io/in-golden-flame-act-1 In Golden Flame] module by Vex Werewolf.&lt;br /&gt;
&lt;br /&gt;
== Modding ==&lt;br /&gt;
* [[Modding EULA]]&lt;br /&gt;
* [[Modding|Introduction to modding]]&lt;br /&gt;
* [[Modding Cookbook]]&lt;br /&gt;
* [[Basic Troubleshooting]]&lt;br /&gt;
* [[Fx Groups]]&lt;br /&gt;
* [[Localization and Text Highlighting]]&lt;br /&gt;
* [[Pixel Art]]&lt;br /&gt;
* [[Adding a new License]]&lt;br /&gt;
&lt;br /&gt;
== Editors ==&lt;br /&gt;
* [[Module Editor]]&lt;br /&gt;
* [[Combat Editor Cookbook]]&lt;br /&gt;
* [[Editor Triggers|Editor Triggers List]]&lt;br /&gt;
* [[Playtesting|Playtesting tips]]&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
* [[Changes from the TTRPG]]&lt;br /&gt;
&lt;br /&gt;
== External Links &amp;amp; Resources ==&lt;br /&gt;
* [https://wick.works/devlog/category/lancer-tactics Devlog at wick.works]&lt;br /&gt;
* [https://discord.com/invite/2t7Efg2Fbj Lancer Tactics Discord]&lt;br /&gt;
* [https://wick.itch.io/lancer-tactics/community itch.io forums]&lt;br /&gt;
* [https://wick.itch.io/lancer-tactics itch.io store page]&lt;br /&gt;
* [https://store.steampowered.com/app/4049810/Lancer_Tactics/ Wishlist on Steam]&lt;br /&gt;
* [https://mod.io/g/lancer-tactics Lancer Tactics on mod.io]&lt;br /&gt;
* [https://compcon.app/ COMP/CON]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Lancer Tactics is not an official Lancer product; it is a third party work, and is not affiliated with Massif Press. Lancer Tactics is published via the Lancer Third Party License. Lancer is copyright Massif Press.&#039;&#039;&lt;/div&gt;</summary>
		<author><name>GavstarB</name></author>
	</entry>
	<entry>
		<id>https://wiki.lancertactics.com/index.php?title=Localization_and_Text_Highlighting&amp;diff=141</id>
		<title>Localization and Text Highlighting</title>
		<link rel="alternate" type="text/html" href="https://wiki.lancertactics.com/index.php?title=Localization_and_Text_Highlighting&amp;diff=141"/>
		<updated>2026-07-25T11:12:04Z</updated>

		<summary type="html">&lt;p&gt;GavstarB: minor fomatting tweaks&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Localization ==&lt;br /&gt;
All text in Lancer Tactics is translated through Godot&#039;s [https://docs.godotengine.org/en/4.4/tutorials/assets_pipeline/importing_translations.html localization system]. In the modkit, the complete translations for the game can be found at &amp;lt;code&amp;gt;res://assets/localization/localizations.csv&amp;lt;/code&amp;gt;. For mods, the &amp;lt;code&amp;gt;res://unpacked/&amp;lt;MOD_ID&amp;gt;/localization/localizations.csv&amp;lt;/code&amp;gt; file will be generated automatically by the mod tool.&lt;br /&gt;
&lt;br /&gt;
It looks something like this:&lt;br /&gt;
 id,en,&lt;br /&gt;
 mod.yourname-example.name,example,&lt;br /&gt;
The file may have any number of columns. The first column is the translation key and any subsequent columns are translations of the text for a particular language. The locale for each column is specified in the first row.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;Any time you make a change to this file, you must &amp;lt;code&amp;gt;Reimport&amp;lt;/code&amp;gt; it for the changes to apply.&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Translation keys are generally made up of three parts: the prefix, the compcon id of the Resource (and any parent resources), and the suffix.&lt;br /&gt;
&lt;br /&gt;
For mods, generally the prefixes we need to worry about are &amp;lt;code&amp;gt;frame.&amp;lt;/code&amp;gt; for Frames and &amp;lt;code&amp;gt;gear.&amp;lt;/code&amp;gt; for Kits.&lt;br /&gt;
&lt;br /&gt;
The most common suffixes are:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Suffix&lt;br /&gt;
!Meaning&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;.name&amp;lt;/code&amp;gt;&lt;br /&gt;
|The name of the Resource.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;.effect&amp;lt;/code&amp;gt;&lt;br /&gt;
|For Kits, this is the main body of the tooltip.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;.flavor&amp;lt;/code&amp;gt;&lt;br /&gt;
|Lore text for the Frame or Kit. For Kits, this is usually omitted entirely.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;.flavor.short&amp;lt;/code&amp;gt;&lt;br /&gt;
|For Frames, this is the short description of the Frame which appears on the Licenses ring screen.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;.on_attack&amp;lt;/code&amp;gt;&lt;br /&gt;
|For Kits with ActionAttacks, this displays any &amp;lt;code&amp;gt;On attack:&amp;lt;/code&amp;gt; effects in the tooltip.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;.on_hit&amp;lt;/code&amp;gt;&lt;br /&gt;
|For Kits with ActionAttacks, this displays any &amp;lt;code&amp;gt;On hit:&amp;lt;/code&amp;gt; effects in the tooltip.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;.on_crit&amp;lt;/code&amp;gt;&lt;br /&gt;
|For Kits with ActionAttacks, this displays any &amp;lt;code&amp;gt;On crit:&amp;lt;/code&amp;gt; effects in the tooltip.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;.on_miss&amp;lt;/code&amp;gt;&lt;br /&gt;
|For Kits with ActionAttacks, this displays any &amp;lt;code&amp;gt;On miss:&amp;lt;/code&amp;gt; effects in the tooltip.&lt;br /&gt;
|}&lt;br /&gt;
For Actions, we use the &amp;lt;code&amp;gt;gear.&amp;lt;/code&amp;gt; prefix and include the compcon id of the Kit before the compcon id of the Action.&lt;br /&gt;
&lt;br /&gt;
===== Example Frame =====&lt;br /&gt;
 id,en,&lt;br /&gt;
 frame.mf_example.name,&amp;quot;Example&amp;quot;,&lt;br /&gt;
 frame.mf_example.flavor,&amp;quot;The Example frame was created by GMS to use as an example in their various pieces of documentation. It is unclear if any were ever constructed in reality.&amp;quot;,&lt;br /&gt;
 frame.mf_example.flavor.short,&amp;quot;Helpful Example&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
===== Example Kit =====&lt;br /&gt;
 id,en,&lt;br /&gt;
 gear.ms_example.name,&amp;quot;Example Kit&amp;quot;,&lt;br /&gt;
 gear.ms_example.effect,&amp;quot;Does nothing.&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
===== Example Kit (with an Action) =====&lt;br /&gt;
 id,en,&lt;br /&gt;
 gear.ms_example.name,&amp;quot;Example Kit&amp;quot;,&lt;br /&gt;
 gear.ms_example.action_example.name,&amp;quot;Example Action&amp;quot;,&lt;br /&gt;
 gear.ms_example.action_example.effect,&amp;quot;Does nothing.&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
== Text Highlighting ==&lt;br /&gt;
Text in Lancer Tactics supports [https://docs.godotengine.org/en/stable/tutorials/ui/bbcode_in_richtextlabel.html bbcode formatting]. This means we can make text &#039;&#039;&#039;bold&#039;&#039;&#039; with &amp;lt;code&amp;gt;[b]text[/b]&amp;lt;/code&amp;gt; and &#039;&#039;italic&#039;&#039; with &amp;lt;code&amp;gt;[i]text[/i]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The text may also contain keywords, formatted as &amp;lt;code&amp;gt;|keyword|&amp;lt;/code&amp;gt;, which are highlighted in orange and display a tooltip explaining their meaning when hovered. The text highlighted with &amp;lt;code&amp;gt;||&amp;lt;/code&amp;gt; may also contain a valid dice string such as &amp;lt;code&amp;gt;+2&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1d6&amp;lt;/code&amp;gt; either before or after the word.&lt;br /&gt;
&lt;br /&gt;
The tooltip for a Kit may be displayed on hover by using &amp;lt;code&amp;gt;|Stabilize=gear.ms_stabilize|&amp;lt;/code&amp;gt; where &amp;lt;code&amp;gt;Stabilize&amp;lt;/code&amp;gt; is the string and &amp;lt;code&amp;gt;ms_stabilize&amp;lt;/code&amp;gt; is the compcon id of the Kit. These will be colored green instead of orange.&lt;br /&gt;
&lt;br /&gt;
====== Formatting Tips: ======&lt;br /&gt;
&lt;br /&gt;
* Keywords in Lancer Tactics are always lowercase, with the exception of acronyms like &amp;lt;code&amp;gt;|HP|&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;|AP|&amp;lt;/code&amp;gt;.&lt;br /&gt;
* The names of Actions, Kits and Deployables are capitalized. Where they cannot be given a green tooltip, they are &#039;&#039;&#039;bolded&#039;&#039;&#039; instead.&lt;br /&gt;
* Plurals of a keyword, such as &amp;lt;code&amp;gt;|protocols|&amp;lt;/code&amp;gt;, are usually considered valid.&lt;br /&gt;
* Highlighting &amp;lt;code&amp;gt;|1 AP kinetic|&amp;lt;/code&amp;gt; will not work, it must be split into &amp;lt;code&amp;gt;|1 AP| |kinetic|&amp;lt;/code&amp;gt;.&lt;br /&gt;
* As &amp;lt;code&amp;gt;|ranged attack|&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;|melee attack|&amp;lt;/code&amp;gt; are keywords, it is customary to highlight &amp;lt;code&amp;gt;|ranged| or |melee attack|&amp;lt;/code&amp;gt; even though the first tooltip will not work.&lt;br /&gt;
* Although &amp;lt;code&amp;gt;|teleport|&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;|teleports|&amp;lt;/code&amp;gt; work, &amp;lt;code&amp;gt;|teleported|&amp;lt;/code&amp;gt; does not. Use &amp;lt;code&amp;gt;|teleport||ed|&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
* Modders often highlight  &amp;lt;code&amp;gt;|efficient|&amp;lt;/code&amp;gt; even though it is not a keyword in the base game.&lt;br /&gt;
&lt;br /&gt;
===== Keywords =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Type&lt;br /&gt;
!Keywords&lt;br /&gt;
|-&lt;br /&gt;
|Actions&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|barrage|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|boost|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|free action|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|full action|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|grapple|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|invade|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|overcharge|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|overwatch|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|protocol|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|quick action|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|ram|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|reaction|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|tech|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|AOEs&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|blast|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|burst|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|chain|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|cone|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|line|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|area|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Attacks&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|melee attack|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|ranged attack|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|tech attack|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Checks &amp;amp; Saves&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|check|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|save|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|agility save|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|engineering save|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|hull save|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|systems save|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Cover&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|cover|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|hard cover|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;,  &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|soft cover|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Damage&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|burn|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|energy|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|explosive|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|heat|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|kinetic|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Gear&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|AI|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|deployable|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|drone|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|indestructible|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|limited|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|recharge {x}+|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|{x} heat (self)|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|shield|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|uncharged|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|unique|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|weapon mod|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|HASE&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|agility|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|engineering|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|grit|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|hull|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|systems|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Stats&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|armor|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|e-defense|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|evasion|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|health|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|HP|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|heat cap|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|limited bonus|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|reactions|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|repair cap|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|save target|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|sensor range|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|sensors|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|size|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|speed|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|stress|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|structure|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|system points|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|SP|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|tech attack|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Statuses &amp;amp; Conditions&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|blinded|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|danger zone|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|dazed|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|disengaged|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|engaged|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|eva-equipped|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|exiled|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|exposed|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|flying|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|grappled|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|hidden|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|immobilized|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|impaired|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|intangible|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|invisible|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|invulnerable|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|jammed|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|lock on|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|prone|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|shredded|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|shut down|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|slowed|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|stunned|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Terms&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|accuracy|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|bonus damage|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|CORE Power|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|CP|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|critical hit|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|crit|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|dangerous terrain|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|difficult terrain|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|difficulty|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|engagement|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|fly|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|free space|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|free|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|full repair|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|immunity|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|invisibility|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|knockback|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|line of sight|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|movement|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|object|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|obstruction|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|overshield|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|range|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|reactor meltdown|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|meltdown|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|reserve|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|resistance|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|rest|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|skirmish|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|teleport|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|zero-g|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Weapons&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|accurate|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|armor-piercing|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|AP|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|arcing|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|attack bonus|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|auxiliary|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|aux|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|cannon|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|CQB|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|heavy|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|inaccurate|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|irreducible|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|launcher|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|loading|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|main|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|melee|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|nexus|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|ordnance|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|overkill|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|reliable|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|rifle|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|seeking|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|smart|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|superheavy|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|threat|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|thrown|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|unloaded|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Lore&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|NHP|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|General Massive Systems|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|GMS|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|Harrison Armory|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|HA|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|HORUS|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|IPS-Northstar|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|IPS-N|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|Smith-Shimano Corpro|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|SSC|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Complete example - the Hecatoncheires =====&lt;br /&gt;
 id,en,&lt;br /&gt;
 &amp;quot;frame.mf_balor_alt_hecatoncheires.name&amp;quot;,&amp;quot;Hecatoncheires&amp;quot;,&lt;br /&gt;
 &amp;quot;frame.mf_balor_alt_hecatoncheires.flavor&amp;quot;,&amp;quot;Officially, the Hecatoncheires does not exist. Baronic...&amp;quot;,&lt;br /&gt;
 &amp;quot;frame.mf_balor_alt_hecatoncheires.flavor.short&amp;quot;,&amp;quot;Sneaky Swarm&amp;quot;,&lt;br /&gt;
 &amp;quot;gear.cp_myrios_long_leash_directed_greywash_hecatoncheires.name&amp;quot;,&amp;quot;MYRIOS Long-Leash Directed Greywash&amp;quot;,&lt;br /&gt;
 &amp;quot;gear.cp_myrios_long_leash_directed_greywash_hecatoncheires.action_deploy_razor_swarm.name&amp;quot;,&amp;quot;Deploy Razor Swarm&amp;quot;,&lt;br /&gt;
 &amp;quot;gear.cp_myrios_long_leash_directed_greywash_hecatoncheires.action_deploy_razor_swarm.effect&amp;quot;,&amp;quot;Deploy a [b]Razor Swarm[/b] to a valid |blast 1| area within |sensors| that contains no hostile characters. The Hecatoncheires may only have a single [b]Razor Swarm[/b] deployed at any one time. The [b]Razor Swarm[/b] persists until the end of the scene or until recalled or redeployed as a |quick action|.\nA [b]Razor Swarm[/b] is a |blast 1| area that provides |soft cover| to allied characters that are at least partially within the area. Hostile characters that start their turn at least partially within the area or move into it for the first time in a round take |2 burn|.\nA [b]Razor Swarm[/b] counts as a |drone| for the purposes of your and your allies&#039; systems, talents, traits, and so on, but is not a character and is otherwise treated as a zone on the battlefield. It does not obstruct movement or cause |engagement|, and hostile characters cannot affect the [b]Razor Swarm[/b] in any way.&amp;quot;,&lt;br /&gt;
 &amp;quot;frame.dep_razor_swarm_hecatoncheires.name&amp;quot;,&amp;quot;Razor Swarm&amp;quot;,&lt;br /&gt;
 &amp;quot;gear.mt_razor_swarm_hecatoncheires.name&amp;quot;,&amp;quot;Razor Swarm&amp;quot;,&lt;br /&gt;
 &amp;quot;gear.mt_razor_swarm_hecatoncheires.effect&amp;quot;,&amp;quot;A [b]Razor Swarm[/b] is a |blast 1| area that provides |soft cover| to allied characters that are at least partially within the area. Hostile characters that start their turn at least partially within the area or move into it for the first time in a round take |2 burn|.\nA [b]Razor Swarm[/b] counts as a |drone| for the purposes of your and your allies&#039; systems, talents, traits, and so on, but is not a character and is otherwise treated as a zone on the battlefield. It does not obstruct movement or cause |engagement|, and hostile characters cannot affect the [b]Razor Swarm[/b] in any way.&amp;quot;,&lt;br /&gt;
 &amp;quot;gear.cp_myrios_long_leash_directed_greywash_hecatoncheires.action_enrage_swarm.name&amp;quot;,&amp;quot;Enrage Swarm&amp;quot;,&lt;br /&gt;
 &amp;quot;gear.cp_myrios_long_leash_directed_greywash_hecatoncheires.action_enrage_swarm.effect&amp;quot;,&amp;quot;Each hostile character in one or more areas created by your |drones| takes |4 burn|. This action is |efficient| and will refund |1 CP| at the end of any scene in which this action was used.&amp;quot;,&lt;br /&gt;
 &amp;quot;gear.mt_dispersed_profile_hecatoncheires.name&amp;quot;,&amp;quot;Dispersed Profile&amp;quot;,&lt;br /&gt;
 &amp;quot;gear.mt_dispersed_profile_hecatoncheires.effect&amp;quot;,&amp;quot;When the Hecatoncheires is in |soft cover|, ranged attackers receive |+2 difficulty| instead of |+1 difficulty|.&amp;quot;,&lt;br /&gt;
 &amp;quot;gear.mt_smoke_and_mirrors_hecatoncheires.name&amp;quot;,&amp;quot;Smoke and Mirrors&amp;quot;,&lt;br /&gt;
 &amp;quot;gear.mt_smoke_and_mirrors_hecatoncheires.effect&amp;quot;,&amp;quot;The Hecatoncheires can always |Hide=gear.ms_hide| in an area of |soft cover|, regardless of |engagement| or enemy traits and systems.&amp;quot;,&lt;br /&gt;
 &amp;quot;gear.mt_panoptes_targeting_hecatoncheires.name&amp;quot;,&amp;quot;Panoptes Targeting&amp;quot;,&lt;br /&gt;
 &amp;quot;gear.mt_panoptes_targeting_hecatoncheires.effect&amp;quot;,&amp;quot;The Hecatoncheires&#039; |smart| weapons ignore the |invisible| status of characters within |sensors|.&amp;quot;,&lt;/div&gt;</summary>
		<author><name>GavstarB</name></author>
	</entry>
	<entry>
		<id>https://wiki.lancertactics.com/index.php?title=Localization_and_Text_Highlighting&amp;diff=140</id>
		<title>Localization and Text Highlighting</title>
		<link rel="alternate" type="text/html" href="https://wiki.lancertactics.com/index.php?title=Localization_and_Text_Highlighting&amp;diff=140"/>
		<updated>2026-07-25T11:09:35Z</updated>

		<summary type="html">&lt;p&gt;GavstarB: Added Localizations and Text Highlighting page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Localization ==&lt;br /&gt;
All text in Lancer Tactics is translated through Godot&#039;s [https://docs.godotengine.org/en/4.4/tutorials/assets_pipeline/importing_translations.html localization system]. In the modkit, the complete translations for the game can be found at &amp;lt;code&amp;gt;res://assets/localization/localizations.csv&amp;lt;/code&amp;gt;. For mods, the &amp;lt;code&amp;gt;res://unpacked/&amp;lt;MOD_ID&amp;gt;/localization/localizations.csv&amp;lt;/code&amp;gt; file will be generated automatically by the mod tool.&lt;br /&gt;
&lt;br /&gt;
It looks something like this:&lt;br /&gt;
 id,en,&lt;br /&gt;
 mod.yourname-example.name,example,&lt;br /&gt;
The file may have any number of columns. The first column is the translation key and any subsequent columns are translations of the text for a particular language. The locale for each column is specified in the first row.&lt;br /&gt;
&lt;br /&gt;
====== Any time you make a change to this file, you must &amp;lt;code&amp;gt;Reimport&amp;lt;/code&amp;gt; it for the changes to apply. ======&lt;br /&gt;
Translation keys are generally made up of three parts: the prefix, the compcon id of the Resource (and any parent resources), and the suffix.&lt;br /&gt;
&lt;br /&gt;
For mods, generally the prefixes we need to worry about are &amp;lt;code&amp;gt;frame.&amp;lt;/code&amp;gt; for Frames and &amp;lt;code&amp;gt;gear.&amp;lt;/code&amp;gt; for Kits.&lt;br /&gt;
&lt;br /&gt;
The most common suffixes are:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Suffix&lt;br /&gt;
!Meaning&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;.name&amp;lt;/code&amp;gt;&lt;br /&gt;
|The name of the Resource.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;.effect&amp;lt;/code&amp;gt;&lt;br /&gt;
|For Kits, this is the main body of the tooltip.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;.flavor&amp;lt;/code&amp;gt;&lt;br /&gt;
|Lore text for the Frame or Kit. For Kits, this is usually omitted entirely.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;.flavor.short&amp;lt;/code&amp;gt;&lt;br /&gt;
|For Frames, this is the short description of the Frame which appears on the Licenses ring screen.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;.on_attack&amp;lt;/code&amp;gt;&lt;br /&gt;
|For Kits with ActionAttacks, this displays any &amp;lt;code&amp;gt;On attack:&amp;lt;/code&amp;gt; effects in the tooltip.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;.on_hit&amp;lt;/code&amp;gt;&lt;br /&gt;
|For Kits with ActionAttacks, this displays any &amp;lt;code&amp;gt;On hit:&amp;lt;/code&amp;gt; effects in the tooltip.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;.on_crit&amp;lt;/code&amp;gt;&lt;br /&gt;
|For Kits with ActionAttacks, this displays any &amp;lt;code&amp;gt;On crit:&amp;lt;/code&amp;gt; effects in the tooltip.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;.on_miss&amp;lt;/code&amp;gt;&lt;br /&gt;
|For Kits with ActionAttacks, this displays any &amp;lt;code&amp;gt;On miss:&amp;lt;/code&amp;gt; effects in the tooltip.&lt;br /&gt;
|}&lt;br /&gt;
For Actions, we use the &amp;lt;code&amp;gt;gear.&amp;lt;/code&amp;gt; prefix and include the compcon id of the Kit before the compcon id of the Action.&lt;br /&gt;
&lt;br /&gt;
===== Example Frame: =====&lt;br /&gt;
 id,en,&lt;br /&gt;
 frame.mf_example.name,&amp;quot;Example&amp;quot;,&lt;br /&gt;
 frame.mf_example.flavor,&amp;quot;The Example frame was created by GMS to use as an example in their various pieces of documentation. It is unclear if any were ever constructed in reality.&amp;quot;,&lt;br /&gt;
 frame.mf_example.flavor.short,&amp;quot;Helpful Example&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
===== Example Kit: =====&lt;br /&gt;
 id,en,&lt;br /&gt;
 gear.ms_example.name,&amp;quot;Example Kit&amp;quot;,&lt;br /&gt;
 gear.ms_example.effect,&amp;quot;Does nothing.&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
===== Example Kit (with an Action): =====&lt;br /&gt;
 id,en,&lt;br /&gt;
 gear.ms_example.name,&amp;quot;Example Kit&amp;quot;,&lt;br /&gt;
 gear.ms_example.action_example.name,&amp;quot;Example Action&amp;quot;,&lt;br /&gt;
 gear.ms_example.action_example.effect,&amp;quot;Does nothing.&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
== Text Highlighting ==&lt;br /&gt;
Text in Lancer Tactics supports [https://docs.godotengine.org/en/stable/tutorials/ui/bbcode_in_richtextlabel.html bbcode formatting]. This means we can make text &#039;&#039;&#039;bold&#039;&#039;&#039; with &amp;lt;code&amp;gt;[b]text[/b]&amp;lt;/code&amp;gt; and &#039;&#039;italic&#039;&#039; with &amp;lt;code&amp;gt;[i]text[/i]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The text may also contain keywords, formatted as &amp;lt;code&amp;gt;|keyword|&amp;lt;/code&amp;gt;, which are highlighted in orange and display a tooltip explaining their meaning when hovered. The text highlighted with &amp;lt;code&amp;gt;||&amp;lt;/code&amp;gt; may also contain a valid dice string such as &amp;lt;code&amp;gt;+2&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1d6&amp;lt;/code&amp;gt; either before or after the word.&lt;br /&gt;
&lt;br /&gt;
The tooltip for a Kit may be displayed on hover by using &amp;lt;code&amp;gt;|Stabilize=gear.ms_stabilize|&amp;lt;/code&amp;gt; where &amp;lt;code&amp;gt;Stabilize&amp;lt;/code&amp;gt; is the string and &amp;lt;code&amp;gt;ms_stabilize&amp;lt;/code&amp;gt; is the compcon id of the Kit. These will be colored green instead of orange.&lt;br /&gt;
&lt;br /&gt;
====== Formatting Tips: ======&lt;br /&gt;
&lt;br /&gt;
* Keywords in Lancer Tactics are always lowercase, with the exception of acronyms like &amp;lt;code&amp;gt;|HP|&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;|AP|&amp;lt;/code&amp;gt;.&lt;br /&gt;
* The names of Actions, Kits and Deployables are capitalized. Where they cannot be given a green tooltip, they are &#039;&#039;&#039;bolded&#039;&#039;&#039; instead.&lt;br /&gt;
* Plurals of a keyword, such as &amp;lt;code&amp;gt;|protocols|&amp;lt;/code&amp;gt;, are usually considered valid.&lt;br /&gt;
* Highlighting &amp;lt;code&amp;gt;|1 AP kinetic|&amp;lt;/code&amp;gt; will not work, it must be split into &amp;lt;code&amp;gt;|1 AP| |kinetic|&amp;lt;/code&amp;gt;.&lt;br /&gt;
* As &amp;lt;code&amp;gt;|ranged attack|&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;|melee attack|&amp;lt;/code&amp;gt; are keywords, it is customary to highlight &amp;lt;code&amp;gt;|ranged| or |melee attack|&amp;lt;/code&amp;gt; even though the first tooltip will not work.&lt;br /&gt;
* Although &amp;lt;code&amp;gt;|teleport|&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;|teleports|&amp;lt;/code&amp;gt; work, &amp;lt;code&amp;gt;|teleported|&amp;lt;/code&amp;gt; does not. Use &amp;lt;code&amp;gt;|teleport||ed|&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
* Modders often highlight  &amp;lt;code&amp;gt;|efficient|&amp;lt;/code&amp;gt; even though it is not a keyword in the base game.&lt;br /&gt;
&lt;br /&gt;
====== Keywords: ======&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Type&lt;br /&gt;
!Keywords&lt;br /&gt;
|-&lt;br /&gt;
|Actions&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|barrage|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|boost|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|free action|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|full action|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|grapple|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|invade|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|overcharge|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|overwatch|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|protocol|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|quick action|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|ram|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|reaction|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|tech|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|AOEs&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|blast|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|burst|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|chain|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|cone|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|line|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|area|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Attacks&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|melee attack|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|ranged attack|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|tech attack|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Checks &amp;amp; Saves&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|check|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|save|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|agility save|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|engineering save|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|hull save|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|systems save|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Cover&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|cover|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|hard cover|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;,  &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|soft cover|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Damage&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|burn|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|energy|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|explosive|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|heat|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|kinetic|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Gear&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|AI|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|deployable|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|drone|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|indestructible|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|limited|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|recharge {x}+|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|{x} heat (self)|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|shield|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|uncharged|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|unique|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|weapon mod|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|HASE&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|agility|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|engineering|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|grit|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|hull|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|systems|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Stats&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|armor|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|e-defense|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|evasion|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|health|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|HP|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|heat cap|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|limited bonus|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|reactions|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|repair cap|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|save target|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|sensor range|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|sensors|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|size|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|speed|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|stress|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|structure|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|system points|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|SP|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|tech attack|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Statuses &amp;amp; Conditions&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|blinded|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|danger zone|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|dazed|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|disengaged|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|engaged|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|eva-equipped|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|exiled|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|exposed|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|flying|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|grappled|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|hidden|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|immobilized|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|impaired|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|intangible|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|invisible|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|invulnerable|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|jammed|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|lock on|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|prone|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|shredded|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|shut down|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|slowed|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|stunned|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Terms&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|accuracy|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|bonus damage|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|CORE Power|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|CP|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|critical hit|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|crit|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|dangerous terrain|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|difficult terrain|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|difficulty|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|engagement|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|fly|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|free space|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|free|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|full repair|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|immunity|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|invisibility|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|knockback|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|line of sight|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|movement|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|object|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|obstruction|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|overshield|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|range|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|reactor meltdown|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|meltdown|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|reserve|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|resistance|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|rest|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|skirmish|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|teleport|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|zero-g|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Weapons&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|accurate|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|armor-piercing|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|AP|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|arcing|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|attack bonus|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|auxiliary|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|aux|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|cannon|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|CQB|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|heavy|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|inaccurate|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|irreducible|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|launcher|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|loading|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|main|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|melee|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|nexus|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|ordnance|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|overkill|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|reliable|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|rifle|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|seeking|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|smart|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|superheavy|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|threat|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|thrown|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|unloaded|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Lore&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|NHP|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|General Massive Systems|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|GMS|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|Harrison Armory|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|HA|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|HORUS|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|IPS-Northstar|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|IPS-N|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|Smith-Shimano Corpro|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|SSC|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Complete example - the Hecatoncheires: =====&lt;br /&gt;
 id,en,&lt;br /&gt;
 &amp;quot;frame.mf_balor_alt_hecatoncheires.name&amp;quot;,&amp;quot;Hecatoncheires&amp;quot;,&lt;br /&gt;
 &amp;quot;frame.mf_balor_alt_hecatoncheires.flavor&amp;quot;,&amp;quot;Officially, the Hecatoncheires does not exist. Baronic...&amp;quot;,&lt;br /&gt;
 &amp;quot;frame.mf_balor_alt_hecatoncheires.flavor.short&amp;quot;,&amp;quot;Sneaky Swarm&amp;quot;,&lt;br /&gt;
 &amp;quot;gear.cp_myrios_long_leash_directed_greywash_hecatoncheires.name&amp;quot;,&amp;quot;MYRIOS Long-Leash Directed Greywash&amp;quot;,&lt;br /&gt;
 &amp;quot;gear.cp_myrios_long_leash_directed_greywash_hecatoncheires.action_deploy_razor_swarm.name&amp;quot;,&amp;quot;Deploy Razor Swarm&amp;quot;,&lt;br /&gt;
 &amp;quot;gear.cp_myrios_long_leash_directed_greywash_hecatoncheires.action_deploy_razor_swarm.effect&amp;quot;,&amp;quot;Deploy a [b]Razor Swarm[/b] to a valid |blast 1| area within |sensors| that contains no hostile characters. The Hecatoncheires may only have a single [b]Razor Swarm[/b] deployed at any one time. The [b]Razor Swarm[/b] persists until the end of the scene or until recalled or redeployed as a |quick action|.\nA [b]Razor Swarm[/b] is a |blast 1| area that provides |soft cover| to allied characters that are at least partially within the area. Hostile characters that start their turn at least partially within the area or move into it for the first time in a round take |2 burn|.\nA [b]Razor Swarm[/b] counts as a |drone| for the purposes of your and your allies&#039; systems, talents, traits, and so on, but is not a character and is otherwise treated as a zone on the battlefield. It does not obstruct movement or cause |engagement|, and hostile characters cannot affect the [b]Razor Swarm[/b] in any way.&amp;quot;,&lt;br /&gt;
 &amp;quot;frame.dep_razor_swarm_hecatoncheires.name&amp;quot;,&amp;quot;Razor Swarm&amp;quot;,&lt;br /&gt;
 &amp;quot;gear.mt_razor_swarm_hecatoncheires.name&amp;quot;,&amp;quot;Razor Swarm&amp;quot;,&lt;br /&gt;
 &amp;quot;gear.mt_razor_swarm_hecatoncheires.effect&amp;quot;,&amp;quot;A [b]Razor Swarm[/b] is a |blast 1| area that provides |soft cover| to allied characters that are at least partially within the area. Hostile characters that start their turn at least partially within the area or move into it for the first time in a round take |2 burn|.\nA [b]Razor Swarm[/b] counts as a |drone| for the purposes of your and your allies&#039; systems, talents, traits, and so on, but is not a character and is otherwise treated as a zone on the battlefield. It does not obstruct movement or cause |engagement|, and hostile characters cannot affect the [b]Razor Swarm[/b] in any way.&amp;quot;,&lt;br /&gt;
 &amp;quot;gear.cp_myrios_long_leash_directed_greywash_hecatoncheires.action_enrage_swarm.name&amp;quot;,&amp;quot;Enrage Swarm&amp;quot;,&lt;br /&gt;
 &amp;quot;gear.cp_myrios_long_leash_directed_greywash_hecatoncheires.action_enrage_swarm.effect&amp;quot;,&amp;quot;Each hostile character in one or more areas created by your |drones| takes |4 burn|. This action is |efficient| and will refund |1 CP| at the end of any scene in which this action was used.&amp;quot;,&lt;br /&gt;
 &amp;quot;gear.mt_dispersed_profile_hecatoncheires.name&amp;quot;,&amp;quot;Dispersed Profile&amp;quot;,&lt;br /&gt;
 &amp;quot;gear.mt_dispersed_profile_hecatoncheires.effect&amp;quot;,&amp;quot;When the Hecatoncheires is in |soft cover|, ranged attackers receive |+2 difficulty| instead of |+1 difficulty|.&amp;quot;,&lt;br /&gt;
 &amp;quot;gear.mt_smoke_and_mirrors_hecatoncheires.name&amp;quot;,&amp;quot;Smoke and Mirrors&amp;quot;,&lt;br /&gt;
 &amp;quot;gear.mt_smoke_and_mirrors_hecatoncheires.effect&amp;quot;,&amp;quot;The Hecatoncheires can always |Hide=gear.ms_hide| in an area of |soft cover|, regardless of |engagement| or enemy traits and systems.&amp;quot;,&lt;br /&gt;
 &amp;quot;gear.mt_panoptes_targeting_hecatoncheires.name&amp;quot;,&amp;quot;Panoptes Targeting&amp;quot;,&lt;br /&gt;
 &amp;quot;gear.mt_panoptes_targeting_hecatoncheires.effect&amp;quot;,&amp;quot;The Hecatoncheires&#039; |smart| weapons ignore the |invisible| status of characters within |sensors|.&amp;quot;,&lt;/div&gt;</summary>
		<author><name>GavstarB</name></author>
	</entry>
	<entry>
		<id>https://wiki.lancertactics.com/index.php?title=File:Screenshot_from_2026-07-25_09-13-21.png&amp;diff=139</id>
		<title>File:Screenshot from 2026-07-25 09-13-21.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lancertactics.com/index.php?title=File:Screenshot_from_2026-07-25_09-13-21.png&amp;diff=139"/>
		<updated>2026-07-25T08:16:28Z</updated>

		<summary type="html">&lt;p&gt;GavstarB: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;id,en&lt;br /&gt;
mod.yourname-example.name,example,&lt;/div&gt;</summary>
		<author><name>GavstarB</name></author>
	</entry>
</feed>