Events/TSFS
In TS, Events become a separate section, so Triggers can have multiple Events with up to two parameters. The game assumed the Trigger, Event and Action all share the same ID. So a Trigger which has ID 12451245 uses the Event list with ID 12451245.
The following Events are available:
Code 1 | Event | Parameter types | |
---|---|---|---|
#1 (P1)2 | #2 (P2) | ||
0 | None | 0 | 0 |
No Event - cannot be activated. | |||
1 | Entered by | 0 | House# |
Any unit belonging to house P2 enters attached building/celltag. Use -1 to denote any house. | |||
2 | Spied Upon | 0 | 0 |
A spy has entered the attached building. | |||
3 | Thieved by | 0 | 0 |
Obsolete. Presumably intended to trigger when an infantry with Thief=yes infiltrates the attached refinery or silo. | |||
4 | Discovered by player | 0 | 0 |
The attached object is discovered by the player. | |||
5 | House Discovered | 0 | House# |
Any object belonging to house P2 is discovered by the player. | |||
6 | Attacked by enemy | 0 | 0 |
Attached object is attacked by enemy fire. Incidental damage and friendly fire are ignored. | |||
7 | Destroyed by enemy | 0 | 0 |
Attached object is destroyed by enemy fire. Incidental damage and friendly fire are ignored. See also Events 29 and 48. | |||
8 | Any event | 0 | 0 |
No condition, triggers immediately. | |||
9 | Destroyed, Units, All | 0 | House# |
All units of house P2 are destroyed (does not include civilian objects). | |||
10 | Destroyed, Buildings, All | 0 | House# |
All buildings of house P2 are destroyed (does not include civilian objects). | |||
11 | Destroyed, All | 0 | House# |
All objects of house P2 are destroyed (does not include civilian object). | |||
12 | Credits exceed | 0 | credits |
HOUSE3 has at least P2 credits. | |||
13 | Elapsed time | 0 | time |
P2 seconds4 has passed since this trigger was enabled. If the trigger is repeating, this timer is reset on every loop. | |||
14 | Mission timer expired | 0 | 0 |
Timer expires. | |||
15 | Destroyed, Buildings, # | 0 | counter |
Exactly P2 buildings owned by HOUSE have been destroyed (does include civilian objects). | |||
16 | Destroyed, Units, # | 0 | counter |
Exactly P2 units owned by HOUSE have been destroyed (does include civilian objects). | |||
17 | No factories left | 0 | 0 |
HOUSE has no structures with valid Factory set. | |||
Code 1 | Event | Parameter types | |
#1 (P1) | #2 (P2) | ||
18 | Civilians evacuated | 0 | 0 |
Civilian objects owned by HOUSE have left the map (See CivEvac ). | |||
19 | Build building type | 0 | Building# |
Building whose internal index is P2 is placed on the map. | |||
20 | Build unit type | 0 | Unit# |
Unit whose internal index is P2 is placed on the map. | |||
21 | Build infantry type | 0 | Infantry |
Infantry whose internal index is P2 is placed on the map. | |||
22 | Build aircraft type | 0 | Aircraft# |
Aircraft whose internal index is P2 is placed on the map. | |||
23 | Leaves map (team) | 1 | TeamType |
Team with index P1 leaves the map. | |||
24 | Zone entry by | 0 | House# |
Attached CellTag's zone entered by house P2. Zones are continuous areas bounded by cliffs and other impassable terrain. | |||
25 | Crosses horizontal line | 0 | House# |
House P2 crosses the horizontal line of the attached CellTag. Note: In this context, "horizontal" refers to the cell grid's horizontal (X) axis, not the apparent left–right axis. It runs from top-left to bottom-right. | |||
26 | Crosses vertical line | 0 | House# |
House P2 crosses the vertical line of the attached CellTag. Note: In this context, "vertical" refers to the cell grid's vertical (Y) axis, not the apparent top–bottom axis. It runs from top-right to bottom-left. | |||
27 | Global is set | 0 | Global# |
Global variable with index P2 is set. Takes priority over other events5. | |||
28 | Global is clear | 0 | Global# |
Global variable with index P2 is cleared. Takes priority over other events5. | |||
29 | Captured or destroyed | 0 | 0 |
Attached object is captured or destroyed by anything. See also Events 7 and 48. | |||
30 | Low power | 0 | House# |
House P2 is in a low power situation. | |||
31 | Attached bridge destroyed | 0 | 0 |
Attached bridge destroyed. To link a trigger to a bridge, place the CellTag under any of the bridge overlays. | |||
32 | Building exists | 0 | Building# |
Building with internal number P2 is preplaced, deployed or ordered (icon clicked on in sidebar) onto the map by HOUSE. | |||
33 | Selected by player | 0 | 0 |
Attached object is selected by the player (single-player only). | |||
34 | Comes near waypoint | 0 | Waypoint# |
HOUSE approaches waypoint P2. | |||
35 | Enemy In Spotlight | 0 | 0 |
Enemy unit enters the spotlight cast by the attached building. The attached tag(s) must be set to repeat. See also event 54. | |||
Code 1 | Event | Parameter types | |
#1 (P1) | #2 (P2) | ||
36 | Local is set | 0 | Local# |
Local with index P2 is set. Takes priority over other events5. | |||
37 | Local is clear | 0 | Local# |
Local with index P2 is cleared. Takes priority over other events5. | |||
38 | First damaged (combat only) | 0 | 0 |
Attached object suffering first damage from combat damage from combat damage only. | |||
39 | Half health (combat only) | 0 | 0 |
Attached object damaged to half health from combat damage only. | |||
40 | Quarter health (combat only) | 0 | 0 |
Attached object damaged to quarter health from combat damage only. | |||
41 | First damaged (any source) | 0 | 0 |
Attached object first suffering from combat damage from any source. | |||
42 | Half health (any source) | 0 | 0 |
Attached object damaged to half health from any source. | |||
43 | Quarter health (any source) | 0 | 0 |
Attached object damaged to quarter health by any source. | |||
44 | Attacked by (house) | 0 | House# |
Attached object attacked by some unit of house P2. | |||
45 | Ambient light below | 0 | 0 |
Ambient light drops below a certain percentage (P2 %). | |||
46 | Ambient light above | 0 | 0 |
Ambient light rises above a certain percentage (P2 %). | |||
47 | Elapsed Scenario Time | 0 | time |
P2 seconds4 have elapsed since start of scenario. | |||
48 | Captured, Destroyed or Infiltrated | 0 | 0 |
Attached object is captured, destroyed, or it successfully infiltrates another object. See also Events 7 and 29. | |||
49 | Pickup Crate | 0 | 0 |
A powerup crate is picked up by the attached object. | |||
50 | Pickup Crate (any) | 0 | 0 |
A powerup crate is picked up by any unit. | |||
51 | Random delay... | 0 | time |
Delays a random time between 50% and 150 % of time specified in P2 (in seconds4). | |||
52 | Credits below... | 0 | credits |
HOUSE owns less than P2 credits. | |||
53 | Paralyzed | 0 | 0 |
Attached object is struck by EMP (if Cyborg=true or NonVehicle=false) or web (if IsWebImmune=false). FS/2.x patched only. | |||
54 | Enemy in spotlight 2 | 0 | 0 |
Same as event 35, except tags are not required to repeat. See also event 35. FS/2.x patched only. | |||
55 | Attached object bugged | 0 | 0 |
Attached object is infected by a Limpet Drone FS/2.x patched only. | |||
Code 1 | Event | Parameter types | |
#1 (P1) | #2 (P2) |
Events take two unsigned integers as parameters, which default to 0.
Notes
1 ↑ This column specifies the code to be written in the Event's "condition" slot, e.g. E1 in the Events page.
2 ↑ P1 is a boolean variable, which denotes whether P2 refers to a TeamType (value 1) or not (value 0).
3 ↑ HOUSE in this document refers to the house owning the Trigger, labeled "HOUSE" in the Triggers page.
4 ↑ on default game speed (15 FPS)
5 ↑ By default, events are checked in the order they are listed. However, when using local or global variable checks together with other events, the variable check will reset any preceding events. In other words, the variable check is of higher priority than other events. Only after the variable is set/cleared do other events count towards the execution of the trigger.
- Referencing items
- As you probably noticed, some of the Parameter descriptions in this table end with "#". The reason for that is:
- Some parameters take their values to be indexes of objects, others assume they are the identifiers of those objects.
- For convenience, if the parameter's description in the table ends with a "#" symbol, you should use the object's index in its appropriate list, otherwise you should use its ID.
- Also note: All entries in column P7 are expected to be literal, so you have to convert all the numbers into letters like this:
- 0 is "A", 1 is "B", 25 is "Z", 26 is "AA", just like the columnm numbering in your favourite spreadsheet program.