In XG, a line has a state, it is always either active or inactive.
A line can be activated and deactivated in various ways. Activation and deactivation happens according to line events, which occur under specific gameplay circumstances. In most cases, events are triggered by an activator, which is the thing (map object; mobj). Events will activate inactive lines and deactivate active ones.
A line type can specify several activation requirements that must be met for the activation or deactivation of the line to succeed. These include. for instance the event type, a counter (as in “line can be activated N times”), activator type (player, missile, etc.) and any combination of keys possessed by the activator.
Many things can happen when a line is activated or deactivated. The most important one is the execution of the line's class. Other things include showing of messages, playing sounds, changing the texture of the line (handy for switches) and sending chain events.
The activation type of a line specifies the basic behavioral type for the line. They are specified using the “Type” parameter e.g:
Type = flip
Line can be activated if it's inactive. Once activated, it will remain in that state for a given period of time, after which it will automatically deactivate itself. Line can't be deactivated with events.
Line can be deactivated if it's active. Once deactivated, it will remain in that state for a given period of time, after which it will automatically activate itself. Line can't be activated with events (i.e. this is the reverse of lat_timed_off ).
Line can be activated and deactivated with events at any time. There is no automatical time-based activation or deactivation.
Line can be activated and deactivated with events at any time. Once activated, the line will deactivate itself after a given period of time.
Line can be activated and deactivated with events at any time. Once deactivated, the line will activate itself after a given period of time.
Activation flags modify the behavior of the line to act in various ways. They are specified use the “Flags2” parameter, e.g:
Flags2 = flaga | flagb | flagc etc
Example:
Flags2 = 2sided | group_act
The line is initially active. If this flag is not set, the line is inactive after the map has been loaded.
When the line is activated or deactivated, copy the state of the line to all the lines with a matching tag number. This can be used for instance with doors, if you want that activating one side of the door marks the other side active as well (so the door can't be re-opened while it's already opening).
The line can be activated and deactivated from both sides. If this flag is not used, only the events that deal with the front side of the line are processed.
When the line is activated also activate any other lines with a matching Tag.
When the line is deactivated also deactivate any other lines with a matching Tag.
If the line has the boom flag 'Any Trigger', it is ignored by default when testing activation requirements for XG line types. Use this flag to allow the 'Any Trigger' flag to override XG's activator type requirements.