Floor movement classic specials
Floor targets
Lowest Neighbor Floor (LnF)
This means that the floor moves to the height of the lowest neighboring floor including the floor itself. If the floor direction is up (only possible with generalized floors) motion is instant, else at the floor's speed.
Next Neighbor Floor (NnF)
This means that the floor moves up to the height of the lowest adjacent floor greater in height than the current, or down to the height of the highest adjacent floor less in height than the current, as determined by the floor's direction. Instant motion is not possible in this case. If no such floor exists, the floor does not move.
Lowest Neighbor Ceiling (LnC)
This means that the floor height changes to the height of the lowest ceiling possessed by any neighboring sector, including that floor's ceiling. If the target height is in the opposite direction to floor motion, motion is instant, otherwise at the floor action's speed.
8 Under Lowest Neighbor Ceiling (8uLnC)
This means that the floor height changes to 8 less than the height of the lowest ceiling possessed by any neighboring sector, including that floor's ceiling. If the target height is in the opposite direction to floor motion, motion is instant, otherwise at the floor action's speed.
Highest Neighbor Floor (HnF)
This means that the floor height changes to the height of the highest neighboring floor, excluding the floor itself. If no neighbor floor exists, the floor moves down to -32000. If the target height is in the opposite direction to floor motion, the motion is instant, otherwise it occurs at the floor action's speed.
8 Above Highest Neighbor Floor (8aHnF)
This means that the floor height changes to 8 above the height of the highest neighboring floor, excluding the floor itself. If no neighbor floor exists, the floor moves down to -31992. If the target height is in the opposite direction to floor motion, the motion is instant, otherwise it occurs at the floor action's speed.
Ceiling
The floor moves up until its at ceiling height, instantly if floor direction is down (only available with generalized types), at the floor speed if the direction is up.
24 Units (24)
The floor moves 24 units in the floor action's direction. Instant motion is not possible with this linedef type.
32 Units (32)
The floor moves 32 units in the floor action's direction. Instant motion is not possible with this linedef type.
512 Units (512)
The floor moves 512 units in the floor action's direction. Instant motion is not possible with this linedef type.
Shortest Lower Texture (SLT)
The floor moves the height of the shortest lower texture on the boundary of the sector, in the floor direction. Instant motion is not possible with this type. In the case that there is no surrounding texture the motion is to -32000 or +32000 depending on direction.
None
Some pure texture type changes are provided for changing the floor texture and/or sector type without moving the floor.
Up/Down Absolute Param
Only available to parameterized floor specials, this target moves the floor in its indicated direction by the number of units provided as a special argument.
To Absolute Height
Only available to parameterized floor specials, this target moves the floor to an exact height which is provided as a parameter. This floor type always moves either up or down to the given height depending on whether it is higher or lower than the floor's current position. This means that instantaneous motion is not possible.
Varieties of floors
A floor 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 floor sector, or by walking over a linedef with the same tag as the floor, or by shooting a linedef with the same tag as the floor with an impact weapon.
A floor can move either Up or Down.
A floor can move with speeds of Slow, Normal, Fast, or Turbo. If the target height specified by the floor function (see Floor Targets above) is in the opposite direction to the floor's motion, then travel is instantaneous, otherwise its at the speed specified. Parameterized floor types can move at any speed.
A floor action can be a texture change type, in which case after the action the floor texture of the affected floor, and possibly the sector type of the affected floor are changed to those of a model sector. The sector type may be zeroed instead of copied from the model, or not changed at all. These change types are referred to below as Tx (texture only), Tx0 (type zeroed), and TxTy (texture and type changed). The model sector for the change may be the sector on the first sidedef of the trigger (trigger model) or the sector with floor at destination height across the lowest numbered two-sided linedef surrounding the affected sector (numeric model). If no model sector exists, no change occurs. If a change occurs, floor texture is always affected, lighting is never affected, even that corresponding to the sector's type, nor is any other sector property other than the sector's type.
Numeric model algorithm:
1) Find all floors adjacent to the tagged floor at destination height
2) Find the lowest numbered linedef separating those floors from that tagged
3) The sector on the other side of that linedef is the model
A floor action can have the crush property, in which case players and monsters are crushed when the floor tries to move above the point where they fit exactly underneath the ceiling. This means they take damage until they die, leave the sector, or the floor action is stopped. A floor action never reverses on encountering an obstacle, even if the crush property is not true, the floor merely remains in the same position until the obstacle is removed or dies, then continues.
Floor linedef types
Regular and Extended Floor Types ------------------------------------------------------------------- # Class Trig Dir Spd Chg Mdl Mon Crsh Target 60 Reg SR Dn Slow None -- No No Lowest Neighbor Floor 23 Reg S1 Dn Slow None -- No No Lowest Neighbor Floor 82 Reg WR Dn Slow None -- No No Lowest Neighbor Floor 38 Reg W1 Dn Slow None -- No No Lowest Neighbor Floor 177 Ext SR Dn Slow TxTy Num No No Lowest Neighbor Floor 159 Ext S1 Dn Slow TxTy Num No No Lowest Neighbor Floor 84 Reg WR Dn Slow TxTy Num No No Lowest Neighbor Floor 37 Reg W1 Dn Slow TxTy Num No No Lowest Neighbor Floor 69 Reg SR Up Slow None -- No No Next Neighbor Floor 18 Reg S1 Up Slow None -- No No Next Neighbor Floor 128 Reg WR Up Slow None -- No No Next Neighbor Floor 119 Reg W1 Up Slow None -- No No Next Neighbor Floor 132 Reg SR Up Fast None -- No No Next Neighbor Floor 131 Reg S1 Up Fast None -- No No Next Neighbor Floor 129 Reg WR Up Fast None -- No No Next Neighbor Floor 130 Reg W1 Up Fast None -- No No Next Neighbor Floor 222 Ext SR Dn Slow None -- No No Next Neighbor Floor 221 Ext S1 Dn Slow None -- No No Next Neighbor Floor 220 Ext WR Dn Slow None -- No No Next Neighbor Floor 219 Ext W1 Dn Slow None -- No No Next Neighbor Floor 64 Reg SR Up Slow None -- No No Lowest Neighbor Ceiling 101 Reg S1 Up Slow None -- No No Lowest Neighbor Ceiling 91 Reg WR Up Slow None -- No No Lowest Neighbor Ceiling 5 Reg W1 Up Slow None -- No No Lowest Neighbor Ceiling 24 Reg G1 Up Slow None -- No No Lowest Neighbor Ceiling 65 Reg SR Up Slow None -- No Yes Lowest Neighbor Ceiling - 8 55 Reg S1 Up Slow None -- No Yes Lowest Neighbor Ceiling - 8 94 Reg WR Up Slow None -- No Yes Lowest Neighbor Ceiling - 8 56 Reg W1 Up Slow None -- No Yes Lowest Neighbor Ceiling - 8 45 Reg SR Dn Slow None -- No No Highest Neighbor Floor 102 Reg S1 Dn Slow None -- No No Highest Neighbor Floor 83 Reg WR Dn Slow None -- No No Highest Neighbor Floor 19 Reg W1 Dn Slow None -- No No Highest Neighbor Floor 70 Reg SR Dn Fast None -- No No Highest Neighbor Floor + 8 71 Reg S1 Dn Fast None -- No No Highest Neighbor Floor + 8 98 Reg WR Dn Fast None -- No No Highest Neighbor Floor + 8 36 Reg W1 Dn Fast None -- No No Highest Neighbor Floor + 8 180 Ext SR Up Slow None -- No No Absolute 24 161 Ext S1 Up Slow None -- No No Absolute 24 92 Reg WR Up Slow None -- No No Absolute 24 58 Reg W1 Up Slow None -- No No Absolute 24 179 Ext SR Up Slow TxTy Trg No No Absolute 24 160 Ext S1 Up Slow TxTy Trg No No Absolute 24 93 Reg WR Up Slow TxTy Trg No No Absolute 24 59 Reg W1 Up Slow TxTy Trg No No Absolute 24 176 Ext SR Up Slow None -- No No Abs Shortest Lower Texture 158 Ext S1 Up Slow None -- No No Abs Shortest Lower Texture 96 Reg WR Up Slow None -- No No Abs Shortest Lower Texture 30 Reg W1 Up Slow None -- No No Abs Shortest Lower Texture 178 Ext SR Up Slow None -- No No Absolute 512 140 Reg S1 Up Slow None -- No No Absolute 512 147 Ext WR Up Slow None -- No No Absolute 512 142 Ext W1 Up Slow None -- No No Absolute 512 190 Ext SR -- ---- TxTy Trg No No None 189 Ext S1 -- ---- TxTy Trg No No None 154 Ext WR -- ---- TxTy Trg No No None 153 Ext W1 -- ---- TxTy Trg No No None 78 Ext SR -- ---- TxTy Num No No None 241 Ext S1 -- ---- TxTy Num No No None 240 Ext WR -- ---- TxTy Num No No None 239 Ext W1 -- ---- TxTy Num No No None
The following tables show the possibilities for generalized floor linedef type parameters. Any combination of parameters is allowed:
Slow and Fast represent the same speeds as slow and fast regular floors. Normal is twice as fast as slow, Fast is twice normal, Turbo is twice Fast.
Generalized Floor Types --------------------------------------------------------------------------- # Class Trig Dir Spd *Chg *Mdl Mon Crsh Target 6000H- Gen D1/DR Up Slow None Trg Yes Yes Lowest Neighbor Floor 7FFFH S1/SR Dn Normal Tx Num No No Next Neighbor Floor W1/WR Fast Tx0 Lowest Neighbor Ceiling G1/GR Turbo TxTy Highest Neighbor Floor Ceiling 24 32 *Mon(ster) enabled must be No if Shortest Lower Texture Chg field is not None Tx = Texture copied only Trg = Trigger Model Tx0 = Texture copied and Type->0 Num = Numeric Model TxTy = Texture and Type copied
There are currently seventeen types of parameterized floor specials, each performing a different type of floor action. See the Parameterized Floor Types section for full information on how to use these specials.
Parameterized Floor Types ------------------------------------------------------------------------------ # Class Function ExtraData Name 306 Param Up to Highest Neighbor Floor Floor_RaiseToHighest 307 Param Down to Highest Neighbor Floor Floor_LowerToHighest 308 Param Up to Lowest Neighbor Floor Floor_RaiseToLowest 309 Param Down to Lowest Neighbor Floor Floor_LowerToLowest 310 Param Up to Next Neighbor Floor Floor_RaiseToNearest 311 Param Down to Next Neighbor Floor Floor_LowerToNearest 312 Param Up to Lowest Neighbor Ceiling Floor_RaiseToLowestCeiling 313 Param Down to Lowest Neighbor Ceiling Floor_LowerToLowestCeiling 314 Param Up to Ceiling Floor_RaiseToCeiling 315 Param Up Abs Shortest Lower Texture Floor_RaiseByTexture 316 Param Down Abs Shortest Lower Texture Floor_LowerByTexture 317 Param Up Absolute Param Floor_RaiseByValue 318 Param Down Absolute Param Floor_LowerByValue 319 Param To Absolute Height Floor_MoveToValue 320 Param Up Absolute Param, Instant Floor_RaiseInstant 321 Param Down Absolute Param, Instant Floor_LowerInstant 322 Param To Ceiling Instant Floor_ToCeilingInstant
Back to Linedef types