Skip to content

25 — Crosses Horizontal Line...

Satisfied when an object of the named house reaches any cell in the row of cells the tag sits in.

Editor data
Numeric ID
25
Engine ID
TEVENT_CROSS_HORIZONTAL
Editor name
Crosses Horizontal Line...
Need token
NEED_HOUSE
Parameters
  1. Househouse
Attachment
cell
INI example
[Events]
<TriggerID>=1,25,0,<House>

Reading the map marks every cell of the row that the tagged cell lies in. The mark is what the offer is gated on: an object arriving at the center of a marked cell walks that whole row and springs each tag it finds whose triggers watch for a horizontal crossing. There is no test of how the object arrived and no test of which side it came from, so a unit that starts the scenario standing on the line springs it as soon as it takes its first step along the row.

The row is drawn across the map rectangle rather than across the playfield, so it also covers ground no object can stand on. That costs nothing: only a tagged cell can be sprung, and only cells of the playfield can be reached.

A cell tag whose triggers watch for a horizontal crossing marks its row and never marks its column, even where the same tag also watches for a vertical crossing. Crosses Vertical Line… owns what that leaves behind.

Valid values

  • A house the scenario declares. The test compares it against the owner of the object that moved.
Caveats
  • Naming a house the scenario does not contain crashes the game at the moment the event is offered. The test looks the house up among the houses in play and reads a field of the result without checking that it found one.
  • The row is every cell sharing the tagged cell's Y coordinate, across the whole map rectangle — the upright square of cells that encloses the playfield. The cell grid is drawn as a diamond, so that row runs diagonally down and to the right on screen rather than horizontally.
  • Reaching any cell of the row offers the event to every tagged cell in that row whose tag watches for a horizontal crossing, not only to the one that drew the line. Two such tags in one row are both sprung by a single crossing.
  • The rows are worked out once, as the scenario is read, from the cell tags the map declares. Nothing recomputes them afterwards.
  • A fully cloaked object makes no offer at all.
  • Satisfying the event switches remembering on for the rest of that offer, which reaches the events written before it on the trigger's line in the map file.