Stair builder linedef types

From Eternity Wiki
Jump to: navigation, search

A stair builder is a linedef type that sets a sequence of sectors defined by a complex rule to an ascending or descending sequence of heights.

The rule for stair building is as follows:

1) The first step to rise or fall is the tagged sector. It rises or falls by the stair stepsize, at the stair speed.

2) To find the next step (sector) affected examine all two-sided linedefs with first sidedef facing into the previous step for the one with lowest linedef number. The sector on the other side of this linedef is the next step. If no such linedef exists, stair building ceases.

3) If the next step is already moving, or has already risen as part of the stair, stair building ceases. Optionally if the floor texture of the next step is different from the previous step's the stair building stops. Otherwise the next step moves to the height of the previous step plus or minus the stepsize depending on the direction the stairs build, up or down. If the motion is in the same direction as the stairs build, it occurs at stair build speed, otherwise it is instant.

4) Repeat from step 2 until stair building ceases.

With parameterized stairs, it is possible to have synchronized movement. This means that each step will move at a different speed such that all the steps reach their destination height at the same time. It is also possible to have parameterized stairs reset to their original positions after a given amount of time.

Back to Linedef types

Varieties of Stair Builders[edit]

A stair can be activated by pushing on a linedef bounding it (generalized types only), or by pushing on a switch with the same tag as the stair sector, or by walking over a linedef with the same tag as the stair, or by shooting a linedef with the same tag as the stair with an impact weapon (generalized types only).

Only extended and generalized stair types are retriggerable. The extended retriggerable stairs are mostly useless, though triggering a stair with stepsize 8 twice might be used. The generalized retriggerable stairs alternate building up and down on each activation which is much more useful. For parameterized stair types, retriggering is only useful if the staircase resets itself after building.

A stair can build up or down (generalized types only).

A stair can have a step size of 4, 8, 16, or 24. Only generalized types support stepsize of 4 or 24. Parameterized stairs can build steps of any size greater than zero.

A stair can have build speeds of slow, normal, fast or turbo. Only generalized types support speeds of normal or turbo. Parameterized stairs can build at any speed.

A stair can stop on encountering a different texture or ignore (generalized types only) different textures and continue.

Only the regular build fast, stepsize 16 stair has the property that monsters and players can be crushed by the motion, all others do not crush.

Regular and Extended Stair Builder Types[edit]

Regular and Extended Stairs Types
#      Class   Trig   Dir Spd     Step  Ignore Mon

258    Ext     SR     Up  Slow    8     No     No
7      Reg     S1     Up  Slow    8     No     No
256    Ext     WR     Up  Slow    8     No     No
8      Reg     W1     Up  Slow    8     No     No

259    Ext     SR     Up  Fast    16    No     No
127    Reg     S1     Up  Fast    16    No     No
257    Ext     WR     Up  Fast    16    No     No
100    Reg     W1     Up  Fast    16    No     No

Generalized Stairs Types
#      Class   Trig   Dir Spd     Step  Ignore Mon

3000H- Gen     D1/DR  Up  Slow    4     Yes    Yes
33FFH          S1/SR  Dn  Normal  8     No     No 
               W1/WR      Fast    16 
               G1/GR      Turbo   24 

There are currently four types of parameterized stair specials, each performing a different type of stair action. See the Parameterized Stair Types section for full information on how to use these specials.

Parameterized Stair Types
#      Class   Function                           ExtraData Name

340    Param   Build stairs up, DOOM method       Stairs_BuildUpDoom
341    Param   Build stairs down, DOOM method     Stairs_BuildDownDoom
342    Param   Build stairs up sync, DOOM method  Stairs_BuildUpDoomSync
343    Param   Build stairs dn sync, DOOM method  Stairs_BuildDownDoomSync