// 
//    EDGE LINES.DDF -redefine or add new line triggers.
//    For documentation, see http://edge.sourceforge.net/
//    DDF Version 4.6
//

<LINES>

#VERSION 1.29

// Open Door (closes)
[1]
TYPE=PUSH;
ACTIVATORS=PLAYER, MONSTER;
CEILING.TYPE=MOVEWAITRETURN;
CEILING.SPEED_UP=2;
CEILING.SPEED_DOWN=2;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.PAUSE_TIME=150T;
CEILING.SFX_UP=DOROPN;
CEILING.SFX_DOWN=DORCLS;

// Walk Once - Open the Door
[2]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
CEILING.TYPE=MOVE;
CEILING.SPEED_UP=2; 
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.SFX_UP=DOROPN;

// Walk Once - Close the door
[3]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
CEILING.TYPE=MOVE;
CEILING.SPEED_DOWN=2;
CEILING.DEST_REF=FLOOR;
CEILING.SFX_DOWN=DORCLS;

// Walk Once - Raise the door (with close)
[4]
TYPE=WALK;
ACTIVATORS=PLAYER, MONSTER;
COUNT=1;
CEILING.TYPE=MOVEWAITRETURN;
CEILING.SPEED_UP=2;
CEILING.SPEED_DOWN=2;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.SFX_UP=DOROPN;
CEILING.SFX_DOWN=DORCLS;
CEILING.PAUSE_TIME=150T;

// Walk Once - Raise the floor to the next highest neighbour floor height
[5]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=LOSURROUNDINGCEILING;
FLOOR.DEST_OFFSET=-8;
FLOOR.SFX_UP=STNMOV;

// Walk Once - Fast ceiling crush
[6]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
CRUSH=TRUE;
CEILING.TYPE=CONTINUOUS;
CEILING.SPEED_UP=2;
CEILING.SPEED_DOWN=2;
CEILING.DEST_REF=FLOOR;
CEILING.DEST_OFFSET=8;
CEILING.SFX_UP=STNMOV;
CEILING.SFX_DOWN=STNMOV;

// BUILD STAIRS S1
[7]
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=BUILDSTAIRS;
FLOOR.SPEED_UP=0.25;
FLOOR.SPEED_DOWN=0;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=8;
FLOOR.SFX_UP=STNMOV;

// Walk once - Build stairs
[8]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=BUILDSTAIRS;
FLOOR.SPEED_UP=0.25;
FLOOR.SPEED_DOWN=0;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=8;
FLOOR.SFX_STOP=PSTOP;
FLOOR.SFX_UP=STNMOV;

// DONUT S1
[9]
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
DONUT=TRUE;
DONUT_IN_SFX=STNMOV;
DONUT_OUT_SFX=STNMOV;

// Walk once - Platform down, wait, and then back up
[10]
TYPE=WALK;
ACTIVATORS=PLAYER, MONSTER;
COUNT=1;
FLOOR.TYPE=MOVEWAITRETURN;
FLOOR.SPEED_UP=4;
FLOOR.SPEED_DOWN=4;
FLOOR.DEST_REF=LOSURROUNDINGFLOOR;
FLOOR.PAUSE_TIME=105T;
FLOOR.SFX_START=PSTART;
FLOOR.SFX_STOP=PSTOP;

// EXIT LEVEL S1
[11]
TYPE=PUSH;
ACTIVATORS=PLAYER;
ACTIVATE_SOUND="SWTCHX";
COUNT=1;
EXIT=NORMAL;

// Walk once - Lights to the level of brightest neighbour
[12]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
LIGHT_TYPE=SET;
LIGHT_LEVEL=0;

// Walk once - Lights to brightest (255)
[13]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
LIGHT_TYPE=SET;
LIGHT_LEVEL=255;

// RAISE FLOOR 32 AND CHANGE S1
[14]
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=0.5;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=32;
FLOOR.TEXTURE="+";
FLOOR.SFX_UP=STNMOV;

// RAISE FLOOR 24 AND CHANGE S1
[15]
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=0.5;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=24;
FLOOR.TEXTURE="+";
FLOOR.SFX_UP=STNMOV;

// Walk once - CLOSE DOOR 30 W1
[16]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
CEILING.TYPE=MOVEWAITRETURN;
CEILING.SPEED_UP=2;
CEILING.SPEED_DOWN=2;
CEILING.DEST_REF=FLOOR;
CEILING.SFX_UP=DOROPN;
CEILING.SFX_DOWN=DORCLS;

// Walk once - Start light strobing
[17]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
LIGHT_TYPE=STROBE;
LIGHT_BRIGHT_TIME=5T;
LIGHT_DARK_TIME=35T;

// RAISE FLOOR TO NEXT S1
[18]
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=NEXTHIGHESTFLOOR;
FLOOR.SFX_DOWN=STNMOV;

// Walk once - Lower floor to the next lowest floor
[19]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_DOWN=1;
FLOOR.DEST_REF=HISURROUNDINGFLOOR;
FLOOR.SFX_DOWN=STNMOV;

// RAISE FLOOR TO NEXT HIGHEST AND CHANGE S1
[20]
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=0.5;
FLOOR.DEST_REF=NEXTHIGHESTFLOOR;
FLOOR.TEXTURE="-";
FLOOR.SFX_UP=STNMOV;

// PLAT DOWN WAIT UP STAY S1
[21]
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVEWAITRETURN;
FLOOR.SPEED_UP=4;
FLOOR.SPEED_DOWN=4;
FLOOR.DEST_REF=LOSURROUNDINGFLOOR;
FLOOR.PAUSE_TIME=105T;
FLOOR.SFX_START=PSTART;
FLOOR.SFX_STOP=PSTOP;

// Walk once - Raise to next highest floor
[22]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
SECSPECIAL=0;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=0.5;
FLOOR.SPEED_DOWN=0.5;
FLOOR.DEST_REF=NEXTHIGHESTFLOOR;
FLOOR.TEXTURE="+";
FLOOR.SFX_UP=STNMOV;

// LOWER FLOOR TO LOWEST S1
[23]
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_DOWN=1;
FLOOR.DEST_REF=LOSURROUNDINGFLOOR;
FLOOR.SFX_DOWN=STNMOV;

// RAISE FLOOR G1
[24]
TYPE=SHOOT;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=LOSURROUNDINGCEILING;
FLOOR.SFX_UP=STNMOV;

// Walk once - CEILING CRUSH AND RAISE W1
[25]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
CRUSH=TRUE;
CEILING.TYPE=CONTINUOUS;
CEILING.SPEED_UP=1;
CEILING.SPEED_DOWN=1;
CEILING.DEST_REF=FLOOR;
CEILING.DEST_OFFSET=0.80091;
CEILING.SFX_UP=STNMOV;
CEILING.SFX_DOWN=STNMOV;

// BLUE DOOR SR
[26]
TYPE=PUSH;
ACTIVATORS=PLAYER;
KEYS=BLUE_CARD,BLUE_SKULL;
CEILING.TYPE=MOVEWAITRETURN;
CEILING.SPEED_UP=2;
CEILING.SPEED_DOWN=2;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.PAUSE_TIME=150T;
CEILING.SFX_UP=DOROPN;
CEILING.SFX_DOWN=DORCLS;
FAILED_MESSAGE=NeedBlueForDoor;

// YELLOW DOOR SR
[27]
TYPE=PUSH;
ACTIVATORS=PLAYER;
KEYS=YELLOW_CARD, YELLOW_SKULL;
CEILING.TYPE=MOVEWAITRETURN;
CEILING.SPEED_UP=2;
CEILING.SPEED_DOWN=2;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.PAUSE_TIME=150T;
CEILING.SFX_UP=DOROPN;
CEILING.SFX_DOWN=DORCLS;
FAILED_MESSAGE=NeedYellowForDoor;

// RED DOOR SR
[28]
TYPE=PUSH;
ACTIVATORS=PLAYER;
KEYS=RED_CARD, RED_SKULL;
CEILING.TYPE=MOVEWAITRETURN;
CEILING.SPEED_UP=2;
CEILING.SPEED_DOWN=2;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.PAUSE_TIME=150T;
CEILING.SFX_UP=DOROPN;
CEILING.SFX_DOWN=DORCLS;
FAILED_MESSAGE=NeedRedForDoor;

// RAISE DOOR S1
[29]
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
CEILING.TYPE=MOVEWAITRETURN;
CEILING.SPEED_UP=2;
CEILING.SPEED_DOWN=2;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.PAUSE_TIME=150T;
CEILING.SFX_UP=DOROPN;
CEILING.SFX_DOWN=DORCLS;

// RAISE FLOOR TO TEXTURE
[30]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=LOWESTBOTTOMTEXTURE;
FLOOR.SFX_UP=STNMOV;

// MANUAL DOOR OPEN S1
[31]
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
CEILING.TYPE=MOVE;
CEILING.SPEED_UP=2;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.SFX_UP=DOROPN;

// BLUE DOOR OPEN S1
[32]
TYPE=PUSH;
KEYS=BLUE_CARD, BLUE_SKULL;
ACTIVATORS=PLAYER;
COUNT=1;
CEILING.TYPE=MOVE;
CEILING.SPEED_UP=2;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.SFX_UP=DOROPN;
FAILED_MESSAGE=NeedBlueForDoor;

// RED DOOR OPEN S1
[33]
TYPE=PUSH;
KEYS=RED_CARD, RED_SKULL;
ACTIVATORS=PLAYER;
COUNT=1;
CEILING.TYPE=MOVE;
CEILING.SPEED_UP=2;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.SFX_UP=DOROPN;
FAILED_MESSAGE=NeedRedForDoor;

// YELLOW DOOR OPEN S1
[34]
TYPE=PUSH;
KEYS=YELLOW_CARD, YELLOW_SKULL;
ACTIVATORS=PLAYER;
COUNT=1;
CEILING.TYPE=MOVE;
CEILING.SPEED_UP=2;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.SFX_UP=DOROPN;
FAILED_MESSAGE=NeedYellowForDoor;

// LIGHTS 35
[35]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
LIGHT_TYPE=SET;
LIGHT_LEVEL=35;

// LOWER FLOOR (TURBO) W1
[36]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_DOWN=4;
FLOOR.DEST_REF=HISURROUNDINGFLOOR;
FLOOR.DEST_OFFSET=8;
FLOOR.SFX_DOWN=STNMOV;

// LOWER AND CHANGE W1
[37]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_DOWN=1;
FLOOR.DEST_REF=LOSURROUNDINGFLOOR;
FLOOR.TEXTURE="-";
FLOOR.SFX_DOWN=STNMOV;

// LOWER FLOOR TO LOWEST W1
[38]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_DOWN=1;
FLOOR.DEST_REF=LOSURROUNDINGFLOOR;
FLOOR.SFX_DOWN=STNMOV;

// Player and Creature Teleport - Walk Once
[39]
TYPE=WALK;
ACTIVATORS=PLAYER, MONSTER, OTHER;
COUNT=1;
TELEPORT=TRUE;
TELEPORT_DELAY=18T;
TELEIN_EFFECTOBJ=TELEPORT_FLASH;
TELEOUT_EFFECTOBJ=TELEPORT_FLASH;
SINGLESIDED=TRUE;

// NOTE: line type 40 is defaulted to the following in DOOM and DOOM2 (rem'd out):

//  // RAISE CEILING LOWER FLOOR W1
//  [40]
//  TYPE=WALK;
//  ACTIVATORS=PLAYER;
//  COUNT=1;
//  FLOOR.TYPE=MOVE;
//  FLOOR.SPEED_DOWN=1;
//  FLOOR.DEST_REF=LOSURROUNDINGFLOOR;
//  FLOOR.SFX_DOWN=STNMOV;
//  CEILING.TYPE=MOVE;
//  CEILING.SPEED_UP=1;
//  CEILING.DEST_REF=HISURROUNDINGCEILING;
//  CEILING.SFX_UP=STNMOV;

// ...and this is the BOOM/MBF linetype defined (which is the currently active type):

[40] // RAISE CEILING TO HEC W1
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
CEILING.TYPE=MOVE;
CEILING.SPEED_UP=1;
CEILING.DEST_REF=HISURROUNDINGCEILING;
CEILING.SFX_UP=STNMOV;

// LOWER CEILING TO FLOOR S1
[41]
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
CEILING.TYPE=MOVE;
CEILING.SPEED_DOWN=1;
CEILING.DEST_REF=FLOOR;
CEILING.SFX_DOWN=STNMOV;

// Switch repeater - Close Door
[42]
TYPE=PUSH;
ACTIVATORS=PLAYER;
CEILING.TYPE=MOVE;
CEILING.SPEED_DOWN=2;
CEILING.DEST_REF=FLOOR;
CEILING.SFX_DOWN=DORCLS;

// Switch Repeater -  Lower ceiling the the floor
[43]
TYPE=PUSH;
ACTIVATORS=PLAYER;
CEILING.TYPE=MOVE;
CEILING.SPEED_DOWN=1;
CEILING.DEST_REF=FLOOR;
CEILING.SFX_DOWN=STNMOV;

// CEILING CRUSH W1
[44]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
CRUSH=TRUE;
CEILING.TYPE=MOVE;
CEILING.SPEED_DOWN=1;
CEILING.DEST_REF=FLOOR;
CEILING.DEST_OFFSET=8;
CEILING.SFX_UP=STNMOV;
CEILING.SFX_DOWN=STNMOV;

// Switch Repeater - Lower floor to the next lowest surrounding floor
[45]
TYPE=PUSH;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_DOWN=1;
FLOOR.DEST_REF=HISURROUNDINGFLOOR;
FLOOR.SFX_DOWN=STNMOV;

// OPEN DOOR GR
[46]
TYPE=SHOOT;
ACTIVATORS=PLAYER, MONSTER;
CEILING.TYPE=MOVE;
CEILING.SPEED_UP=2;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.SFX_UP=DOROPN;

// RAISE FLOOR TO NEAREST AND CHANGE G1
[47]
TYPE=SHOOT;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=0.5;
FLOOR.DEST_REF=NEXTHIGHESTFLOOR;
FLOOR.TEXTURE="+";
FLOOR.SFX_UP=STNMOV;

// SCROLL LEFT
[48]
SCROLL=LEFT;
SCROLLING_SPEED=1;

// CEILING CRUSH AND RAISE S1
[49]
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
CRUSH=TRUE;
CEILING.TYPE=CONTINUOUS;
CEILING.SPEED_UP=1;
CEILING.SPEED_DOWN=1;
CEILING.DEST_REF=FLOOR;
CEILING.DEST_OFFSET=8;
CEILING.SFX_UP=STNMOV;
CEILING.SFX_DOWN=STNMOV;

// CLOSE DOOR S1
[50]
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
CEILING.TYPE=MOVE;
CEILING.SPEED_DOWN=2;
CEILING.DEST_REF=FLOOR;
CEILING.SFX_DOWN=DORCLS;

// SECRET EXIT S1
[51]
TYPE=PUSH;
ACTIVATORS=PLAYER;
ACTIVATE_SOUND="SWTCHX";
COUNT=1;
EXIT=SECRET;

// EXIT W1
[52]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
EXIT=NORMAL;

// PERPETUAL RAISE W1
[53]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=CONTINUOUS;
FLOOR.SPEED_UP=1;
FLOOR.SPEED_DOWN=1;
FLOOR.DEST_REF=LOSURROUNDINGFLOOR,INCLUDE;
FLOOR.OTHER_REF=HISURROUNDINGFLOOR,INCLUDE;
FLOOR.PAUSE_TIME=105T;
FLOOR.SFX_START=PSTART;
FLOOR.SFX_STOP=PSTOP;

// PLATFORM STOP W1
[54]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=STOP;

// RAISE FLOOR CRUSH S1
[55]
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
CRUSH=TRUE;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=LOSURROUNDINGCEILING;
FLOOR.DEST_OFFSET=-8;
FLOOR.SFX_UP=STNMOV;

// RAISE FLOOR CRUSH W1
[56]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
CRUSH=TRUE;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=LOSURROUNDINGCEILING;
FLOOR.DEST_OFFSET=-8;
FLOOR.SFX_UP=STNMOV;

// CEILING CRUSH STOP W1
[57]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
CEILING.TYPE=STOP;

// RAISE FLOOR 24
[58]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=24;
FLOOR.SFX_UP=STNMOV;

// RAISE FLOOR 24 AND CHANGE W1
[59]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=24;
FLOOR.TEXTURE="+";
FLOOR.SFX_UP=STNMOV;

// Switch Repeater - Lower floor to the lowest surrounding floor
[60]
TYPE=PUSH;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_DOWN=1;
FLOOR.DEST_REF=LOSURROUNDINGFLOOR;
FLOOR.SFX_DOWN=STNMOV;

// Switch Repeater - Open door
[61]
TYPE=PUSH;
ACTIVATORS=PLAYER;
CEILING.TYPE=MOVE;
CEILING.SPEED_UP=2;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.SFX_UP=DOROPN;

// Switch Repeater - Platform goes down, wait, then up and stay
[62]
TYPE=PUSH;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVEWAITRETURN;
FLOOR.SPEED_UP=4;
FLOOR.SPEED_DOWN=4;
FLOOR.DEST_REF=LOSURROUNDINGFLOOR;
FLOOR.PAUSE_TIME=105T;
FLOOR.SFX_START=PSTART;
FLOOR.SFX_STOP=PSTOP;

// Switch Repeater - Raise the door (closes after pause)
[63]
TYPE=PUSH;
ACTIVATORS=PLAYER;
CEILING.TYPE=MOVEWAITRETURN;
CEILING.SPEED_UP=2;
CEILING.SPEED_DOWN=2;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.PAUSE_TIME=150T;
CEILING.SFX_UP=DOROPN;
CEILING.SFX_DOWN=DORCLS;

// RAISE FLOOR TO CEILING SR
[64]
TYPE=PUSH;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=LOSURROUNDINGCEILING;
FLOOR.SFX_UP=STNMOV;

// RAISE FLOOR CRUSH SR
[65]
TYPE=PUSH;
ACTIVATORS=PLAYER;
FLOOR.DEST_OFFSET=8;
CRUSH=TRUE;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=LOSURROUNDINGCEILING;
FLOOR.SFX_UP=STNMOV;

// RAISE FLOOR 24 AND CHANGE SR
[66]
TYPE=PUSH;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=0.5;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=24;
FLOOR.SFX_UP=STNMOV;
FLOOR.TEXTURE="+";

// RAISE FLOOR 32 AND CHANGE SR
[67]
TYPE=PUSH;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=0.5;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=32;
FLOOR.SFX_UP=STNMOV;
FLOOR.TEXTURE="+";

// RAISE FLOOR TO NEAREST AND CHANGE SR
[68]
TYPE=PUSH;
ACTIVATORS=PLAYER;
SECSPECIAL=0;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=0.5;
FLOOR.DEST_REF=NEXTHIGHESTFLOOR;
FLOOR.TEXTURE="+";
FLOOR.SFX_UP=STNMOV;

// RAISE FLOOR TO NEAREST SR
[69]
TYPE=PUSH;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=NEXTHIGHESTFLOOR;
FLOOR.SFX_UP=STNMOV;

// TURBO LOWER FLOOR SR
[70]
TYPE=PUSH;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_DOWN=4;
FLOOR.DEST_REF=HISURROUNDINGFLOOR;
FLOOR.DEST_OFFSET=8;
FLOOR.SFX_DOWN=STNMOV;

// TURBO LOWER FLOOR 71 S1
[71]
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_DOWN=4;
FLOOR.DEST_REF=HISURROUNDINGFLOOR;
FLOOR.DEST_OFFSET=8;
FLOOR.SFX_DOWN=STNMOV;

// CEILING CRUSH WR
[72]
TYPE=WALK;
ACTIVATORS=PLAYER;
CRUSH=TRUE;
CEILING.TYPE=MOVE;
CEILING.SPEED_DOWN=1;
CEILING.DEST_REF=FLOOR;
CEILING.DEST_OFFSET=8;
CEILING.SFX_DOWN=STNMOV;

// CEILING CRUSH AND RAISE WR
[73]
TYPE=WALK;
ACTIVATORS=PLAYER;
CRUSH=TRUE;
CEILING.TYPE=CONTINUOUS;
CEILING.SPEED_UP=1;
CEILING.SPEED_DOWN=1;
CEILING.DEST_REF=FLOOR;
CEILING.DEST_OFFSET=8;
CEILING.SFX_UP=STNMOV;
CEILING.SFX_DOWN=STNMOV;

// CEILING CRUSH STOP WR
[74]
TYPE=WALK;
ACTIVATORS=PLAYER;
CEILING.TYPE=STOP;

// CLOSE DOOR WR
[75]
TYPE=WALK;
ACTIVATORS=PLAYER;
CEILING.TYPE=MOVE;
CEILING.SPEED_DOWN=2;
CEILING.DEST_REF=FLOOR;
CEILING.SFX_DOWN=DORCLS;

// CLOSE DOOR FOR 30 WR
[76]
TYPE=WALK;
ACTIVATORS=PLAYER;
CEILING.TYPE=MOVEWAITRETURN;
CEILING.SPEED_UP=2;
CEILING.SPEED_DOWN=2;
CEILING.DEST_REF=FLOOR;
CEILING.SFX_UP=DOROPN;
CEILING.SFX_DOWN=DORCLS;

// FAST CRUSHING CEILING WR
[77]
TYPE=WALK;
ACTIVATORS=PLAYER;
CRUSH=TRUE;
CEILING.TYPE=CONTINUOUS;
CEILING.SPEED_UP=2;
CEILING.SPEED_DOWN=2;
CEILING.DEST_REF=FLOOR;
CEILING.DEST_OFFSET=8;
CEILING.SFX_UP=STNMOV;
CEILING.SFX_DOWN=STNMOV;

// NOTE: 78 was documented in some editors as 'WR Lights to dimmest neighbor'
//       but it actually does nothing since DOOM 1.666 (per the official DOOM specs)
//       Next is the updated BOOM line types instead.

[78] // Transfer floor texture (NXP) SR (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=0;
FLOOR.TEXTURE="-";

// LIGHTS DARK 35 WR
[79]
TYPE=WALK;
ACTIVATORS=PLAYER;
LIGHT_TYPE=SET;
LIGHT_LEVEL=35;

// LIGHTS NEIGHBOUR WR
[80]
TYPE=WALK;
ACTIVATORS=PLAYER;
LIGHT_TYPE=SET;
LIGHT_LEVEL=0;

// LIGHTS 255 WR
[81]
TYPE=WALK;
ACTIVATORS=PLAYER;
LIGHT_TYPE=SET;
LIGHT_LEVEL=255;

// LOWER FLOOR TO LOWEST WR
[82]
TYPE=WALK;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_DOWN=1;
FLOOR.DEST_REF=LOSURROUNDINGFLOOR;
FLOOR.SFX_UP=STNMOV;
FLOOR.SFX_DOWN=STNMOV;

// LOWER FLOOR WR
[83]
TYPE=WALK;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_DOWN=1;
FLOOR.DEST_REF=HISURROUNDINGFLOOR;
FLOOR.SFX_DOWN=STNMOV;

// LOWER AND CHANGE WR
[84]
TYPE=WALK;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_DOWN=1;
FLOOR.DEST_REF=LOSURROUNDINGFLOOR;
FLOOR.TEXTURE="-";
FLOOR.SFX_DOWN=STNMOV;

// NOTE: linetype 85 is not used in DOOM or DOOM2 - it's a Heretic linetype, but BOOM uses it as something else...

[85] // SCROLL RIGHT (Boom)
SCROLL=RIGHT;
SCROLLING_SPEED=1;

// OPEN DOOR WR
[86]
TYPE=WALK;
ACTIVATORS=PLAYER;
CEILING.TYPE=MOVE;
CEILING.SPEED_UP=2;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.SFX_UP=DOROPN;

// PERPETUAL PLAT RAISE WR
[87]
TYPE=WALK;
ACTIVATORS=PLAYER;
FLOOR.TYPE=CONTINUOUS;
FLOOR.SPEED_UP=1;
FLOOR.SPEED_DOWN=1;
FLOOR.DEST_REF=LOSURROUNDINGFLOOR,INCLUDE;
FLOOR.OTHER_REF=HISURROUNDINGFLOOR,INCLUDE;
FLOOR.PAUSE_TIME=105T;
FLOOR.SFX_START=PSTART;
FLOOR.SFX_STOP=PSTOP;

// PLAT DOWN WAIT UP STAY WR
[88]
TYPE=WALK;
ACTIVATORS=PLAYER, MONSTER;
FLOOR.TYPE=MOVEWAITRETURN;
FLOOR.SPEED_UP=4;
FLOOR.SPEED_DOWN=4;
FLOOR.DEST_REF=LOSURROUNDINGFLOOR;
FLOOR.PAUSE_TIME=105T;
FLOOR.SFX_START=PSTART;
FLOOR.SFX_STOP=PSTOP;

// PLAT STOP WR
[89]
TYPE=WALK;
ACTIVATORS=PLAYER;
FLOOR.TYPE=STOP;

// RAISE DOOR WR
[90]
TYPE=WALK;
ACTIVATORS=PLAYER;
CEILING.TYPE=MOVEWAITRETURN;
CEILING.SPEED_UP=2;
CEILING.SPEED_DOWN=2;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.PAUSE_TIME=150T;
CEILING.SFX_UP=DOROPN;
CEILING.SFX_DOWN=DORCLS;

// RAISE FLOOR WR
[91]
TYPE=WALK;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=LOSURROUNDINGCEILING;
FLOOR.SFX_UP=STNMOV;

// RAISE FLOOR 24 WR
[92]
TYPE=WALK;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=24;
FLOOR.SFX_UP=STNMOV;

// RAISE FLOOR 24 AND CHANGE WR
[93]
TYPE=WALK;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=24;
FLOOR.TEXTURE="+";
FLOOR.SFX_UP=STNMOV;

// RAISE FLOOR CRUSH WR
[94]
TYPE=WALK;
ACTIVATORS=PLAYER;
CRUSH=TRUE;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=LOSURROUNDINGCEILING;
FLOOR.DEST_OFFSET=-8;
FLOOR.SFX_UP=STNMOV;

// RAISE FLOOR TO NEAREST AND CHANGE WR
[95]
TYPE=WALK;
ACTIVATORS=PLAYER;
SECSPECIAL=0;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=0.5;
FLOOR.DEST_REF=NEXTHIGHESTFLOOR;
FLOOR.TEXTURE="+";
FLOOR.SFX_UP=STNMOV;

// RAISE TO TEXTURE WR
[96]
TYPE=WALK;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=LOWESTBOTTOMTEXTURE;
FLOOR.SFX_UP=STNMOV;

// Player and Creature Teleport - WR
[97]
TYPE=WALK;
ACTIVATORS=PLAYER, MONSTER, OTHER;
TELEPORT=TRUE;
TELEPORT_DELAY=18T;
TELEIN_EFFECTOBJ=TELEPORT_FLASH;
TELEOUT_EFFECTOBJ=TELEPORT_FLASH;
SINGLESIDED=TRUE;

// LOWER FLOOR TURBO WR
[98]
TYPE=WALK;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_DOWN=4;
FLOOR.DEST_REF=HISURROUNDINGFLOOR;
FLOOR.DEST_OFFSET=8;
FLOOR.SFX_DOWN=STNMOV;

// BLAZE OPEN DOOR BLUE SR
[99]
TYPE=PUSH;
ACTIVATORS=PLAYER;
KEYS=BLUE_CARD, BLUE_SKULL;
CEILING.TYPE=MOVE;
CEILING.SPEED_UP=8;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.SFX_UP=BDOPN;
FAILED_MESSAGE=NeedBlueForDoor;

// BUILD STAIRS TURBO 16 W1
[100]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=BUILDSTAIRS;
FLOOR.SPEED_UP=4;
FLOOR.SPEED_DOWN=0;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=16;
FLOOR.SFX_UP=STNMOV;

// RAISE FLOOR S1
[101]
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=LOSURROUNDINGCEILING;
FLOOR.SFX_UP=STNMOV;

// LOWER FLOOR TO SURROUNDING S1
[102]
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_DOWN=1;
FLOOR.DEST_REF=HISURROUNDINGFLOOR;
FLOOR.SFX_DOWN=STNMOV;

// OPEN DOOR S1
[103]
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
CEILING.TYPE=MOVE;
CEILING.SPEED_UP=2;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.SFX_UP=DOROPN;

// LIGHTS OFF W1
[104]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
LIGHT_TYPE=SET;
LIGHT_LEVEL=1;

// BLAZING DOOR RAISE WR
[105]
TYPE=WALK;
ACTIVATORS=PLAYER;
CEILING.TYPE=MOVEWAITRETURN;
CEILING.SPEED_UP=8;
CEILING.SPEED_DOWN=8;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.SFX_UP=BDOPN;
CEILING.PAUSE_TIME=150T;
CEILING.SFX_DOWN=BDCLS;

// BLAZING DOOR OPEN WR
[106]
TYPE=WALK;
ACTIVATORS=PLAYER;
CEILING.TYPE=MOVE;
CEILING.SPEED_UP=8;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.SFX_UP=BDOPN;

// BLAZING DOOR CLOSE WR
[107]
TYPE=WALK;
ACTIVATORS=PLAYER;
CEILING.TYPE=MOVE;
CEILING.SPEED_DOWN=8;
CEILING.DEST_REF=FLOOR;
CEILING.SFX_DOWN=BDCLS;

// BLAZING DOOR RAISE W1
[108]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
CEILING.TYPE=MOVEWAITRETURN;
CEILING.SPEED_UP=8;
CEILING.SPEED_DOWN=8;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=4;
CEILING.PAUSE_TIME=150T;
CEILING.SFX_UP=BDOPN;
CEILING.SFX_DOWN=BDCLS;

// BLAZING DOOR OPEN W1
[109]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
CEILING.TYPE=MOVE;
CEILING.SPEED_UP=8;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.SFX_UP=BDOPN;

// BLAZING DOOR CLOSE W1
[110]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
CEILING.TYPE=MOVE;
CEILING.SPEED_DOWN=8;
CEILING.DEST_REF=FLOOR;
CEILING.SFX_DOWN=BDCLS;

// BLAZING DOOR RAISE S1
[111]
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
CEILING.TYPE=MOVEWAITRETURN;
CEILING.SPEED_UP=8;
CEILING.SPEED_DOWN=8;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.PAUSE_TIME=150T;
CEILING.SFX_UP=BDOPN;
CEILING.SFX_DOWN=BDCLS;

// BLAZING DOOR OPEN S1
[112]
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
CEILING.TYPE=MOVE;
CEILING.SPEED_UP=8;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.SFX_UP=BDOPN;

// BLAZING DOOR CLOSE S1
[113]
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
CEILING.TYPE=MOVE;
CEILING.SPEED_DOWN=8;
CEILING.DEST_REF=FLOOR;
CEILING.SFX_DOWN=BDCLS;

// BLAZING DOOR RAISE SR
[114]
TYPE=PUSH;
ACTIVATORS=PLAYER;
CEILING.TYPE=MOVEWAITRETURN;
CEILING.SPEED_UP=8;
CEILING.SPEED_DOWN=8;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.PAUSE_TIME=150T;
CEILING.SFX_UP=BDOPN;
CEILING.SFX_DOWN=BDCLS;

// BLAZING DOOR OPEN SR
[115]
TYPE=PUSH;
ACTIVATORS=PLAYER;
CEILING.TYPE=MOVE;
CEILING.SPEED_UP=8;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.SFX_UP=BDOPN;

// BLAZING DOOR CLOSE SR
[116]
TYPE=PUSH;
ACTIVATORS=PLAYER;
CEILING.TYPE=MOVE;
CEILING.SPEED_DOWN=8;
CEILING.DEST_REF=FLOOR;
CEILING.SFX_DOWN=BDCLS;

// BLAZING DOOR RAISE SR
[117]
TYPE=PUSH;
ACTIVATORS=PLAYER;
CEILING.TYPE=MOVEWAITRETURN;
CEILING.SPEED_UP=8;
CEILING.SPEED_DOWN=8;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.PAUSE_TIME=150T;
CEILING.SFX_UP=BDOPN;
CEILING.SFX_DOWN=BDCLS;

// BLAZING DOOR OPEN S1
[118]
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
CEILING.TYPE=MOVE;
CEILING.SPEED_UP=8;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.SFX_UP=BDOPN;

// RAISE FLOOR TO NEXT HIGHEST W1
[119]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=NEXTHIGHESTFLOOR;
FLOOR.SFX_UP=STNMOV;

// BLAZING PLAT DOWN WAIT UP STAY WR
[120]
TYPE=WALK;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVEWAITRETURN;
FLOOR.SPEED_UP=8;
FLOOR.SPEED_DOWN=8;
FLOOR.DEST_REF=LOSURROUNDINGFLOOR;
FLOOR.PAUSE_TIME=105T;
FLOOR.SFX_START=PSTART;
FLOOR.SFX_STOP=PSTOP;

// BLAZING PLAT DOWNWAITUPSTAY W1
[121]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVEWAITRETURN;
FLOOR.SPEED_UP=8;
FLOOR.SPEED_DOWN=8;
FLOOR.DEST_REF=LOSURROUNDINGFLOOR;
FLOOR.PAUSE_TIME=105T;
FLOOR.SFX_START=PSTART;
FLOOR.SFX_STOP=PSTOP;

// BLAZING PLAT DOWN WAIT UP STAY S1
[122]
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVEWAITRETURN;
FLOOR.SPEED_UP=8;
FLOOR.SPEED_DOWN=8;
FLOOR.DEST_REF=LOSURROUNDINGFLOOR;
FLOOR.PAUSE_TIME=105T;
FLOOR.SFX_START=PSTART;
FLOOR.SFX_STOP=PSTOP;

// BLAZING PLAT DOWN WAIT UP STAY SR
[123]
TYPE=PUSH;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVEWAITRETURN;
FLOOR.SPEED_UP=8;
FLOOR.SPEED_DOWN=8;
FLOOR.DEST_REF=LOSURROUNDINGFLOOR;
FLOOR.PAUSE_TIME=105T;
FLOOR.SFX_START=PSTART;
FLOOR.SFX_STOP=PSTOP;

// SECRET EXIT W1
[124]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
EXIT=SECRET;

// MONSTER TELEPORT W1
[125]
TYPE=WALK;
ACTIVATORS=MONSTER,OTHER;
COUNT=1;
TELEPORT=TRUE;
TELEPORT_DELAY=18T;
TELEIN_EFFECTOBJ=TELEPORT_FLASH;
TELEOUT_EFFECTOBJ=TELEPORT_FLASH;
SINGLESIDED=TRUE;

// TELEPORT MONSTERS WR
[126]
TYPE=WALK;
ACTIVATORS=MONSTER,OTHER;
TELEPORT=TRUE;
TELEPORT_DELAY=18T;
TELEIN_EFFECTOBJ=TELEPORT_FLASH;
TELEOUT_EFFECTOBJ=TELEPORT_FLASH;
SINGLESIDED=TRUE;

// BUILD STAIRS TURBO 16 S1
[127]
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=BUILDSTAIRS;
FLOOR.SPEED_UP=4;
FLOOR.SPEED_DOWN=0;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=16;
FLOOR.SFX_UP=STNMOV;

// RAISE TO NEAREST FLOOR WR
[128]
TYPE=WALK;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=NEXTHIGHESTFLOOR;
FLOOR.SFX_UP=STNMOV;

// RAISE FLOOR TURBO WR
[129]
TYPE=WALK;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=4;
FLOOR.DEST_REF=NEXTHIGHESTFLOOR;
FLOOR.SFX_UP=STNMOV;

// RAISE FLOOR TURBO W1
[130]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=4;
FLOOR.DEST_REF=NEXTHIGHESTFLOOR;
FLOOR.SFX_UP=STNMOV;

// RAISE FLOOR TURBO S1
[131]
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=4;
FLOOR.DEST_REF=NEXTHIGHESTFLOOR;
FLOOR.SFX_UP=STNMOV;

// RAISE FLOOR TURBO SR
[132]
TYPE=PUSH;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=4;
FLOOR.SPEED_DOWN=4;
FLOOR.DEST_REF=NEXTHIGHESTFLOOR;
FLOOR.SFX_UP=STNMOV;

// BLAZING OPEN DOOR BLUE S1
[133]
TYPE=PUSH;
ACTIVATORS=PLAYER;
KEYS=BLUE_CARD, BLUE_SKULL;
COUNT=1;
CEILING.TYPE=MOVE;
CEILING.SPEED_UP=8;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.SFX_UP=BDOPN;
FAILED_MESSAGE=NeedBlueForObject;

// BLAZE OPEN DOOR RED SR
[134]
TYPE=PUSH;
ACTIVATORS=PLAYER;
KEYS=RED_CARD, RED_SKULL;
CEILING.TYPE=MOVE;
CEILING.SPEED_UP=8;
CEILING.SPEED_DOWN=8;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.SFX_UP=BDOPN;
FAILED_MESSAGE=NeedRedForObject;

// BLAZING OPEN DOOR RED S1
[135]
TYPE=PUSH;
ACTIVATORS=PLAYER;
KEYS=RED_CARD, RED_SKULL;
COUNT=1;
CEILING.TYPE=MOVE;
CEILING.SPEED_UP=8;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.SFX_UP=BDOPN;
FAILED_MESSAGE=NeedRedForObject;

// BLAZING DOOR OPEN YELLOW SR
[136]
TYPE=PUSH;
ACTIVATORS=PLAYER;
KEYS=YELLOW_CARD, YELLOW_SKULL;
CEILING.TYPE=MOVE;
CEILING.SPEED_UP=8;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.SFX_UP=BDOPN;
FAILED_MESSAGE=NeedYellowForObject;

// BLAZING OPEN DOOR YELLOW S1
[137]
TYPE=PUSH;
ACTIVATORS=PLAYER;
KEYS=YELLOW_CARD, YELLOW_SKULL;
COUNT=1;
CEILING.TYPE=MOVE;
CEILING.SPEED_UP=8;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.SFX_UP=BDOPN;
FAILED_MESSAGE=NeedYellowForObject;

// LIGHTS ON SR
[138]
TYPE=PUSH;
ACTIVATORS=PLAYER;
LIGHT_TYPE=SET;
LIGHT_LEVEL=255;

// LIGHTS 35 SR
[139]
TYPE=PUSH;
ACTIVATORS=PLAYER;
LIGHT_TYPE=SET;
LIGHT_LEVEL=35;

// Switch Once - Raise the floor up by 512
[140]
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=512;
FLOOR.SFX_UP=STNMOV;

// SILENT CRUSHING CEILING W1
[141]
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
CRUSH=TRUE;
CEILING.TYPE=CONTINUOUS;
CEILING.SPEED_UP=1;
CEILING.SPEED_DOWN=1;
CEILING.DEST_REF=FLOOR;
CEILING.DEST_OFFSET=8;
CEILING.SFX_START=PSTART;
CEILING.SFX_STOP=PSTOP;

// BOOM SPECIAL LINE TYPES BELOW

[142] // Raise the floor up by 512 W1 (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=512;
FLOOR.SFX_UP=STNMOV;

[143] // RAISE FLOOR 24 AND CHANGE W1 (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=0.5;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=24;
FLOOR.SFX_UP=STNMOV;
FLOOR.TEXTURE="+";

[144] // RAISE FLOOR 32 AND CHANGE W1 (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
SECSPECIAL=0;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=0.5;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=32;
FLOOR.SFX_UP=STNMOV;
FLOOR.TEXTURE="+";

[145] // LOWER CEILING TO FLOOR W1 (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
CEILING.TYPE=MOVE;
CEILING.SPEED_DOWN=2;
CEILING.DEST_REF=FLOOR;
CEILING.SFX_DOWN=STNMOV;

[146] // DONUT W1 (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
DONUT=TRUE;
DONUT_IN_SFX=STNMOV;
DONUT_OUT_SFX=STNMOV;

[147] // Raise the floor up by 512 WR (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=512;
FLOOR.SFX_UP=STNMOV;

[148] // RAISE FLOOR 24 AND CHANGE WR (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=0.5;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=24;
FLOOR.SFX_UP=STNMOV;
FLOOR.TEXTURE="+";

[149] // RAISE FLOOR 32 AND CHANGE WR (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER;
SECSPECIAL=0;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=0.5;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=32;
FLOOR.SFX_UP=STNMOV;
FLOOR.TEXTURE="+";

[150] // SILENT CRUSHING CEILING WR (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER;
CRUSH=TRUE;
CEILING.TYPE=CONTINUOUS;
CEILING.SPEED_UP=1;
CEILING.SPEED_DOWN=1;
CEILING.DEST_REF=FLOOR;
CEILING.DEST_OFFSET=8;
CEILING.SFX_START=PSTART;
CEILING.SFX_STOP=PSTOP;

[151] // RAISE CEILING TO HEC WR (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER;
CEILING.TYPE=MOVE;
CEILING.SPEED_UP=1;
CEILING.DEST_REF=HISURROUNDINGCEILING;
CEILING.SFX_UP=STNMOV;

[152] // LOWER CEILING TO FLOOR WR (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER;
CEILING.TYPE=MOVE;
CEILING.SPEED_DOWN=2;
CEILING.DEST_REF=FLOOR;
CEILING.SFX_DOWN=STNMOV;

[153] // Transfer floor texture (TXP) W1 (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=0;
FLOOR.TEXTURE="+";

[154] // Transfer floor texture (TXP) WR (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=0;
FLOOR.TEXTURE="+";

[155] // DONUT WR (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER;
DONUT=TRUE;
DONUT_IN_SFX=STNMOV;
DONUT_OUT_SFX=STNMOV;

[156] // Start light strobing WR (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER;
LIGHT_TYPE=STROBE;
LIGHT_BRIGHT_TIME=5T;
LIGHT_DARK_TIME=35T;

[157] // Lights to dimmest neighbour WR (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER;
LIGHT_TYPE=SET;
LIGHT_LEVEL=1;   // LOSURROUNDING

[158] // RAISE FLOOR TO TEXTURE S1 (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=LOWESTBOTTOMTEXTURE;
FLOOR.SFX_UP=STNMOV;

[159] // LOWER AND CHANGE S1 (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_DOWN=1;
FLOOR.DEST_REF=LOSURROUNDINGFLOOR;
FLOOR.TEXTURE="-";
FLOOR.SFX_DOWN=STNMOV;

[160] // RAISE FLOOR 24 AND CHANGE S1 (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=24;
FLOOR.TEXTURE="+";
FLOOR.SFX_UP=STNMOV;

[161] // RAISE FLOOR 24 S1 (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=24;
FLOOR.SFX_UP=STNMOV;

[162] // PERPETUAL RAISE S1 (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=CONTINUOUS;
FLOOR.SPEED_UP=1;
FLOOR.SPEED_DOWN=1;
FLOOR.DEST_REF=LOSURROUNDINGFLOOR,INCLUDE;
FLOOR.OTHER_REF=HISURROUNDINGFLOOR,INCLUDE;
FLOOR.PAUSE_TIME=3;
FLOOR.SFX_START=PSTART;
FLOOR.SFX_STOP=PSTOP;

[163] // PLATFORM STOP S1 (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=STOP;

[164] // Fast ceiling crush S1 (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
CRUSH=TRUE;
CEILING.TYPE=CONTINUOUS;
CEILING.SPEED_UP=2;
CEILING.SPEED_DOWN=2;
CEILING.DEST_REF=FLOOR;
CEILING.DEST_OFFSET=8;
CEILING.SFX_UP=STNMOV;
CEILING.SFX_DOWN=STNMOV;

[165] // SILENT CRUSHING CEILING S1 (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
CRUSH=TRUE;
CEILING.TYPE=CONTINUOUS;
CEILING.SPEED_UP=1;
CEILING.SPEED_DOWN=1;
CEILING.DEST_REF=FLOOR;
CEILING.DEST_OFFSET=8;
CEILING.SFX_START=PSTART;
CEILING.SFX_STOP=PSTOP;

[166] // RAISE CEILING TO HEC S1 (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
CEILING.TYPE=MOVE;
CEILING.SPEED_UP=1;
CEILING.DEST_REF=HISURROUNDINGCEILING;
CEILING.SFX_UP=STNMOV;

[167] // CEILING LOWER TO FLOOR+8 S1 (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
CEILING.TYPE=MOVE;
CEILING.SPEED_DOWN=1;
CEILING.DEST_REF=FLOOR;
CEILING.DEST_OFFSET=8;
CEILING.SFX_UP=STNMOV;
CEILING.SFX_DOWN=STNMOV;

[168] // CEILING CRUSH STOP S1 (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
CEILING.TYPE=STOP;

[169] // Lights to brightest neighbour S1 (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
LIGHT_TYPE=SET;
LIGHT_LEVEL=0;  // HISURROUNDING

[170] // LIGHTS 35 S1 (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
LIGHT_TYPE=SET;
LIGHT_LEVEL=35;

[171] // LIGHTS 255 S1 (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
LIGHT_TYPE=SET;
LIGHT_LEVEL=255;

[172] // Start light strobing S1 (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
LIGHT_TYPE=STROBE;
LIGHT_BRIGHT_TIME=5T;
LIGHT_DARK_TIME=35T;

[173] // Lights to dimmest neighbour S1 (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
LIGHT_TYPE=SET;
LIGHT_LEVEL=1;   // LOSURROUNDING

[174] // Player and Creature Teleport S1 (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER, MONSTER;
COUNT=1;
SINGLESIDED=TRUE;
TELEPORT=TRUE;
TELEPORT_DELAY=18T;
TELEIN_EFFECTOBJ=TELEPORT_FLASH;
TELEOUT_EFFECTOBJ=TELEPORT_FLASH;

[175] // CLOSE DOOR 30 S1 (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
CEILING.TYPE=MOVEWAITRETURN;
CEILING.SPEED_UP=2;
CEILING.SPEED_DOWN=2;
CEILING.DEST_REF=FLOOR;
CEILING.SFX_UP=DOROPN;
CEILING.SFX_DOWN=DORCLS;

[176] // RAISE FLOOR TO TEXTURE SR (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=LOWESTBOTTOMTEXTURE;
FLOOR.SFX_UP=STNMOV;

[177] // LOWER AND CHANGE SR (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_DOWN=1;
FLOOR.DEST_REF=LOSURROUNDINGFLOOR;
FLOOR.TEXTURE="-";
FLOOR.SFX_DOWN=STNMOV;

[178] // Raise the floor up by 512 SR (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=512;
FLOOR.SFX_UP=STNMOV;

[179] // RAISE FLOOR 24 AND CHANGE SR (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=24;
FLOOR.TEXTURE="+";
FLOOR.SFX_UP=STNMOV;

[180] // RAISE FLOOR 24 SR (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=24;
FLOOR.SFX_UP=STNMOV;

[181] // PERPETUAL RAISE SR (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
FLOOR.TYPE=CONTINUOUS;
FLOOR.SPEED_UP=1;
FLOOR.SPEED_DOWN=1;
FLOOR.DEST_REF=LOSURROUNDINGFLOOR,INCLUDE;
FLOOR.OTHER_REF=HISURROUNDINGFLOOR,INCLUDE;
FLOOR.PAUSE_TIME=3;
FLOOR.SFX_START=PSTART;
FLOOR.SFX_STOP=PSTOP;

[182] // PLATFORM STOP SR (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
FLOOR.TYPE=STOP;

[183] // Fast ceiling crush SR (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
CRUSH=TRUE;
CEILING.TYPE=CONTINUOUS;
CEILING.SPEED_UP=2;
CEILING.SPEED_DOWN=2;
CEILING.DEST_REF=FLOOR;
CEILING.DEST_OFFSET=8;
CEILING.SFX_UP=STNMOV;
CEILING.SFX_DOWN=STNMOV;

[184] // CEILING CRUSH AND RAISE SR (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
CRUSH=TRUE;
CEILING.TYPE=CONTINUOUS;
CEILING.SPEED_UP=1;
CEILING.SPEED_DOWN=1;
CEILING.DEST_REF=FLOOR;
CEILING.DEST_OFFSET=8;
CEILING.SFX_UP=STNMOV;
CEILING.SFX_DOWN=STNMOV;

[185] // SILENT CRUSHING CEILING SR (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
CRUSH=TRUE;
CEILING.TYPE=CONTINUOUS;
CEILING.SPEED_UP=1;
CEILING.SPEED_DOWN=1;
CEILING.DEST_REF=FLOOR;
CEILING.DEST_OFFSET=8;
CEILING.SFX_START=PSTART;
CEILING.SFX_STOP=PSTOP;

[186] // RAISE CEILING TO HEC SR (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
CEILING.TYPE=MOVE;
CEILING.SPEED_UP=1;
CEILING.DEST_REF=HISURROUNDINGCEILING;
CEILING.SFX_UP=STNMOV;

[187] // CEILING LOWER TO FLOOR+8 SR (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
CEILING.TYPE=MOVE;
CEILING.SPEED_DOWN=1;
CEILING.DEST_REF=FLOOR;
CEILING.DEST_OFFSET=8;
CEILING.SFX_UP=STNMOV;
CEILING.SFX_DOWN=STNMOV;

[188] // CEILING CRUSH STOP SR (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
CEILING.TYPE=STOP;

[189] // Transfer floor texture (TXP) S1 (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=0;
FLOOR.TEXTURE="+";

[190] // Transfer floor texture (TXP) SR (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=0;
FLOOR.TEXTURE="+";

[191] // DONUT SR (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
DONUT=TRUE;
DONUT_IN_SFX=STNMOV;
DONUT_OUT_SFX=STNMOV;

[192] // Lights to brightest neighbour SR (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
LIGHT_TYPE=SET;
LIGHT_LEVEL=0;  // HISURROUNDING

[193] // Start light strobing SR (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
LIGHT_TYPE=STROBE;
LIGHT_BRIGHT_TIME=5T;
LIGHT_DARK_TIME=35T;

[194] // Lights to dimmest neighbour SR (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
LIGHT_TYPE=SET;
LIGHT_LEVEL=1;   // LOSURROUNDING

[195] // Player and Creature Teleport SR (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER, MONSTER;
SINGLESIDED=TRUE;
TELEPORT=TRUE;
TELEPORT_DELAY=18T;
TELEIN_EFFECTOBJ=TELEPORT_FLASH;
TELEOUT_EFFECTOBJ=TELEPORT_FLASH;

[196] // CLOSE DOOR 30 SR (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
CEILING.TYPE=MOVEWAITRETURN;
CEILING.SPEED_UP=2;
CEILING.SPEED_DOWN=2;
CEILING.DEST_REF=FLOOR;
CEILING.SFX_UP=DOROPN;
CEILING.SFX_DOWN=DORCLS;

[197] // EXIT LEVEL G1 (Boom)
TYPE=SHOOT;
ACTIVATORS=PLAYER;
ACTIVATE_SOUND="SWTCHX";
COUNT=1;
EXIT=NORMAL;

[198] // SECRET EXIT G1 (Boom)
TYPE=SHOOT;
ACTIVATORS=PLAYER;
ACTIVATE_SOUND="SWTCHX";
COUNT=1;
EXIT=NORMAL;

[199] // LOWER CEILING TO LOWEST NEIGHBOUR W1 (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
CEILING.TYPE=MOVE;
CEILING.SPEED_DOWN=1;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.SFX_DOWN=STNMOV;

[200] // LOWER CEILING TO HIGHEST FLOOR W1 (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
CEILING.TYPE=MOVE;
CEILING.SPEED_DOWN=1;
CEILING.DEST_REF=HISURROUNDINGFLOOR;
CEILING.SFX_DOWN=STNMOV;

[201] // LOWER CEILING TO LOWEST NEIGHBOUR WR (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER;
CEILING.TYPE=MOVE;
CEILING.SPEED_DOWN=1;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.SFX_DOWN=STNMOV;

[202] // LOWER CEILING TO HIGHEST FLOOR WR (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER;
CEILING.TYPE=MOVE;
CEILING.SPEED_DOWN=1;
CEILING.DEST_REF=HISURROUNDINGFLOOR;
CEILING.SFX_DOWN=STNMOV;

[203] // LOWER CEILING TO LOWEST NEIGHBOUR S1 (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
CEILING.TYPE=MOVE;
CEILING.SPEED_DOWN=1;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.SFX_DOWN=STNMOV;

[204] // LOWER CEILING TO HIGHEST FLOOR S1 (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
CEILING.TYPE=MOVE;
CEILING.SPEED_DOWN=1;
CEILING.DEST_REF=HISURROUNDINGFLOOR;
CEILING.SFX_DOWN=STNMOV;

[205] // LOWER CEILING TO LOWEST NEIGHBOUR SR (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
CEILING.TYPE=MOVE;
CEILING.SPEED_DOWN=1;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.SFX_DOWN=STNMOV;

[206] // LOWER CEILING TO HIGHEST FLOOR SR (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
CEILING.TYPE=MOVE;
CEILING.SPEED_DOWN=1;
CEILING.DEST_REF=HISURROUNDINGFLOOR;
CEILING.SFX_DOWN=STNMOV;

[207] // Silent Preserving Teleport W1 (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER,MONSTER,OTHER;
COUNT=1;
SINGLESIDED=TRUE;
TELEPORT=TRUE;
TELEPORT_DELAY=18T;
TELEPORT_SPECIAL=RELATIVE,SAME_SPEED,SAME_HEIGHT,SILENT;
TELEIN_EFFECTOBJ=TELEPORT_FLASH;
TELEOUT_EFFECTOBJ=TELEPORT_FLASH;

[208] // Silent Preserving Teleport WR (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER,MONSTER,OTHER;
SINGLESIDED=TRUE;
TELEPORT=TRUE;
TELEPORT_DELAY=18T;
TELEPORT_SPECIAL=RELATIVE,SAME_SPEED,SAME_HEIGHT,SILENT;
TELEIN_EFFECTOBJ=TELEPORT_FLASH;
TELEOUT_EFFECTOBJ=TELEPORT_FLASH;

[209] // Silent Preserving Teleport S1 (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER,MONSTER;
COUNT=1;
SINGLESIDED=TRUE;
TELEPORT=TRUE;
TELEPORT_DELAY=18T;
TELEPORT_SPECIAL=RELATIVE,SAME_SPEED,SAME_HEIGHT,SILENT;
TELEIN_EFFECTOBJ=TELEPORT_FLASH;
TELEOUT_EFFECTOBJ=TELEPORT_FLASH;

[210] // Silent Preserving Teleport SR (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER,MONSTER;
SINGLESIDED=TRUE;
TELEPORT=TRUE;
TELEPORT_DELAY=18T;
TELEPORT_SPECIAL=RELATIVE,SAME_SPEED,SAME_HEIGHT,SILENT;
TELEIN_EFFECTOBJ=TELEPORT_FLASH;
TELEOUT_EFFECTOBJ=TELEPORT_FLASH;

[211] // 211 PLATFORM INSTANT TOGGLE SR (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
CRUSH=TRUE;
FLOOR.TYPE=TOGGLE;
FLOOR.SPEED_UP=32000;
FLOOR.SPEED_DOWN=32000;
FLOOR.DEST_REF=CEILING;
FLOOR.OTHER_REF=FLOOR;
FLOOR.PAUSE_TIME=1T;
FLOOR.SFX_START=PSTART;
FLOOR.SFX_STOP=PSTOP;

[212] // 212 PLATFORM INSTANT TOGGLE WR (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER;
CRUSH=TRUE;
FLOOR.TYPE=TOGGLE;
FLOOR.SPEED_UP=32000;
FLOOR.SPEED_DOWN=32000;
FLOOR.DEST_REF=CEILING;
FLOOR.OTHER_REF=FLOOR;
FLOOR.PAUSE_TIME=1T;
FLOOR.SFX_START=PSTART;
FLOOR.SFX_STOP=PSTOP;

[213] // Transfer lighting to tagged floor (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
SECTOR_EFFECT=LIGHT_FLOOR;

// 214 Scroll ceiling accelerate (Boom) -- Unsupported
// 215 Scroll floor accelerate (Boom)   -- Unsupported
// 216 Push objects accelerate (Boom)   -- Unsupported
// 217 Scroll & Push accelerate (Boom)  -- Unsupported
// 218 Scroll wall accelerate (Boom)    -- Unsupported

[219] // LOWER FLOOR TURBO W1 (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_DOWN=4;
FLOOR.DEST_REF=NEXTLOWESTFLOOR;
FLOOR.SFX_DOWN=STNMOV;

[220] // LOWER FLOOR TURBO WR (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_DOWN=4;
FLOOR.DEST_REF=NEXTLOWESTFLOOR;
FLOOR.SFX_DOWN=STNMOV;

[221] // LOWER FLOOR TURBO S1 (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_DOWN=4;
FLOOR.DEST_REF=NEXTLOWESTFLOOR;
FLOOR.SFX_DOWN=STNMOV;

[222] // LOWER FLOOR TURBO SR (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_DOWN=4;
FLOOR.DEST_REF=NEXTLOWESTFLOOR;
FLOOR.SFX_DOWN=STNMOV;

[223] // Friction (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
SECTOR_EFFECT=SET_FRICTION;

[224] // Set wind force (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
SECTOR_EFFECT=WIND_FORCE;

[225] // Set current force (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
SECTOR_EFFECT=CURRENT_FORCE;

[226] // Set point push/pull force (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
SECTOR_EFFECT=POINT_FORCE;

// 227 ELEVATOR TO NEXT HIGHEST W1 (Boom)  --  Pending new code
// 228 ELEVATOR TO NEXT HIGHEST WR (Boom)  --  Pending new code
// 229 ELEVATOR TO NEXT HIGHEST S1 (Boom)  --  Pending new code
// 230 ELEVATOR TO NEXT HIGHEST SR (Boom)  --  Pending new code

// 231 ELEVATOR TO NEXT LOWEST W1 (Boom)  --  Pending new code
// 232 ELEVATOR TO NEXT LOWEST WR (Boom)  --  Pending new code
// 233 ELEVATOR TO NEXT LOWEST S1 (Boom)  --  Pending new code
// 234 ELEVATOR TO NEXT LOWEST SR (Boom)  --  Pending new code

// 235 ELEVATOR TO ACTIVATOR HEIGHT W1 (Boom)  --  Unsupported
// 236 ELEVATOR TO ACTIVATOR HEIGHT WR (Boom)  --  Unsupported
// 237 ELEVATOR TO ACTIVATOR HEIGHT S1 (Boom)  --  Unsupported
// 238 ELEVATOR TO ACTIVATOR HEIGHT SR (Boom)  --  Unsupported

[239] // Transfer floor texture (NXP) W1 (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=0;
FLOOR.TEXTURE="-";

[240] // Transfer floor texture (NXP) WR (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=0;
FLOOR.TEXTURE="-";

[241] // Transfer floor texture (NXP) S1 (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=0;
FLOOR.TEXTURE="-";

[242] // Deep water (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
EXTRAFLOOR_TYPE=LIQUID,BOOMTEX,WATER,SEE_THROUGH,SHOOT_THROUGH;

[243] // Silent Line Teleport W1 (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER,MONSTER,OTHER;
COUNT=1;
SINGLESIDED=TRUE;
TELEPORT=TRUE;
TELEPORT_SPECIAL=LINE,ALL_SAME,SILENT;

[244] // Silent Line Teleport WR (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER,MONSTER,OTHER;
SINGLESIDED=TRUE;
TELEPORT=TRUE;
TELEPORT_SPECIAL=LINE,ALL_SAME,SILENT;

// 245 Scroll ceiling displacement (Boom)       -- Unsupported
// 246 Scroll floor displacement (Boom)         -- Unsupported
// 247 Push objects displacement (Boom)         -- Unsupported
// 248 Scroll & Push displacement (Boom)        -- Unsupported
// 249 Scroll wall displacement (Boom)          -- Unsupported

[250] // Scroll tagged ceiling (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
SECTOR_EFFECT=SCROLL_CEILING;

[251] // Scroll tagged floor (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
SECTOR_EFFECT=SCROLL_FLOOR;

[252] // Carry objects on floor (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
SECTOR_EFFECT=PUSH_THINGS;

[253] // Scroll floor and carry objects (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
SECTOR_EFFECT=SCROLL_FLOOR,PUSH_THINGS;

[254] // 254 Scroll tagged wall (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
LINE_EFFECT=VECTOR_SCROLL;

[255] // Scroll wall by sidedef offsets (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
LINE_EFFECT=OFFSET_SCROLL;

[256] // BUILD STAIRS WR (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER;
FLOOR.TYPE=BUILDSTAIRS;
FLOOR.SPEED_UP=0.25;
FLOOR.SPEED_DOWN=0;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=8;
FLOOR.SFX_UP=STNMOV;

[257] // BUILD STAIRS TURBO 16 WR (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER;
FLOOR.TYPE=BUILDSTAIRS;
FLOOR.SPEED_UP=4;
FLOOR.SPEED_DOWN=0;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=16;
FLOOR.SFX_UP=STNMOV;

[258] // BUILD STAIRS SR (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
FLOOR.TYPE=BUILDSTAIRS;
FLOOR.SPEED_UP=0.25;
FLOOR.SPEED_DOWN=0;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=8;
FLOOR.SFX_UP=STNMOV;

[259] // BUILD STAIRS TURBO 16 SR (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
FLOOR.TYPE=BUILDSTAIRS;
FLOOR.SPEED_UP=4;
FLOOR.SPEED_DOWN=0;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=16;
FLOOR.SFX_UP=STNMOV;

[260] // Make tagged lines translucent (Boom)  
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
LINE_EFFECT=TRANSLUCENT;

[261] // Transfer lighting to tagged ceiling (Boom)
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
SECTOR_EFFECT=LIGHT_CEILING;

[262] // Silent Line Teleport Reverse W1 (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER,MONSTER,OTHER;
COUNT=1;
SINGLESIDED=TRUE;
TELEPORT=TRUE;
TELEPORT_SPECIAL=LINE,ALL_SAME,FLIPPED,SILENT;

[263] // Silent Line Teleport Reverse WR (Boom)
TYPE=WALK;
ACTIVATORS=PLAYER,MONSTER,OTHER;
SINGLESIDED=TRUE;
TELEPORT=TRUE;
TELEPORT_SPECIAL=LINE,ALL_SAME,FLIPPED,SILENT;

[264] // Monster Line Teleport W1 Reverse (Boom)
TYPE=WALK;
ACTIVATORS=MONSTER,OTHER;
COUNT=1;
SINGLESIDED=TRUE;
TELEPORT=TRUE;
TELEPORT_SPECIAL=LINE,ALL_SAME,FLIPPED,SILENT;

[265] // Monster Line Teleport WR Reverse (Boom)
TYPE=WALK;
ACTIVATORS=MONSTER,OTHER;
SINGLESIDED=TRUE;
TELEPORT=TRUE;
TELEPORT_SPECIAL=LINE,ALL_SAME,FLIPPED,SILENT;

[266] // Monster Line Teleport W1 (Boom)
TYPE=WALK;
ACTIVATORS=MONSTER,OTHER;
COUNT=1;
SINGLESIDED=TRUE;
TELEPORT=TRUE;
TELEPORT_SPECIAL=LINE,ALL_SAME,SILENT;

[267] // Monster Line Teleport WR (Boom)
TYPE=WALK;
ACTIVATORS=MONSTER,OTHER;
SINGLESIDED=TRUE;
TELEPORT=TRUE;
TELEPORT_SPECIAL=LINE,ALL_SAME,SILENT;

[268] // Monster-only Silent Teleport W1 (Boom)
TYPE=PUSH;
ACTIVATORS=MONSTER;
COUNT=1;
SINGLESIDED=TRUE;
TELEPORT=TRUE;
TELEPORT_DELAY=18T;
TELEPORT_SPECIAL=SILENT;
TELEIN_EFFECTOBJ=TELEPORT_FLASH;
TELEOUT_EFFECTOBJ=TELEPORT_FLASH;

[269] // Monster-only Silent Teleport WR (Boom)
TYPE=PUSH;
ACTIVATORS=MONSTER;
SINGLESIDED=TRUE;
TELEPORT=TRUE;
TELEPORT_DELAY=18T;
TELEPORT_SPECIAL=SILENT;
TELEIN_EFFECTOBJ=TELEPORT_FLASH;
TELEOUT_EFFECTOBJ=TELEPORT_FLASH;

// 271 Transfer tex to sector's sky (MBF)           --  Unsupported
// 272 Transfer tex to sector's sky, flipped (MBF)  -- Unsupported

// DOOM Legacy SPECIAL LINE TYPES

[280] // Legacy "3D liquid floor" (same as EDGE line type 405)
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
EXTRAFLOOR_TYPE=LIQUID,SEE_THROUGH,WATER,SHOOT_THROUGH,FLOODER;
TRANSLUCENCY=60%;

[281] // Legacy "3D floor"
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
EXTRAFLOOR_TYPE=THICK;

[289] // Legacy "3D floor" (does not affect light properties below the "3D floor", uses master sector light properties instead)
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
EXTRAFLOOR_TYPE=THICK,NOSHADE;

// EDGE SPECIAL LINE TYPES BELOW

[400] // EDGE Thick Extrafloor (dummy texture)
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
EXTRAFLOOR_TYPE=THICK;

[401] // EDGE Thick Extrafloor (master upper texture)
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
EXTRAFLOOR_TYPE=THICK,SIDE_UPPER;

[402] // EDGE Thick Extrafloor (master lower texture)
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
EXTRAFLOOR_TYPE=THICK,SIDE_LOWER;

[403] // EDGE Liquid Extrafloor (solid)
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
EXTRAFLOOR_TYPE=LIQUID,SEE_THROUGH,WATER,SHOOT_THROUGH,FLOODER;
TRANSLUCENCY=100%;

[404] // EDGE Liquid Extrafloor (20% Translucent)
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
EXTRAFLOOR_TYPE=LIQUID,SEE_THROUGH,WATER,SHOOT_THROUGH,FLOODER;
TRANSLUCENCY=80%;

[405] // EDGE Liquid Extrafloor (40% Translucent)
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
EXTRAFLOOR_TYPE=LIQUID,SEE_THROUGH,WATER,SHOOT_THROUGH,FLOODER;
TRANSLUCENCY=60%;

[406] // EDGE Liquid Extrafloor (60% Translucent)
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
EXTRAFLOOR_TYPE=LIQUID,SEE_THROUGH,WATER,SHOOT_THROUGH,FLOODER;
TRANSLUCENCY=40%;

[407] // EDGE Liquid Extrafloor (80% Translucent)
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
EXTRAFLOOR_TYPE=LIQUID,SEE_THROUGH,WATER,SHOOT_THROUGH,FLOODER;
TRANSLUCENCY=20%;

[408] // EDGE Liquid Extrafloor (Invisible) -NOTE: THIS ONE IS DIFFERENT! USED FOR VERTICLE LIGHTING EFFECTS!
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
EXTRAFLOOR_TYPE=LIQUID,SEE_THROUGH,SHOOT_THROUGH;
TRANSLUCENCY=0%;

[409] // EDGE Translucent Linedef (20%)
TYPE=PUSH;
ACTIVATORS=PLAYER;
TRANSLUCENCY=80%;

[410] // EDGE Translucent Linedef (40%)
TYPE=PUSH;
ACTIVATORS=PLAYER;
TRANSLUCENCY=60%;

[411] // EDGE Translucent Linedef (60%)
TYPE=PUSH;
ACTIVATORS=PLAYER;
TRANSLUCENCY=40%;

[412] // EDGE Translucent Linedef (80%)
TYPE=PUSH;
ACTIVATORS=PLAYER;
TRANSLUCENCY=20%;

[413] // EDGE Thin Extrafloor (opaque)
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
EXTRAFLOOR_TYPE=THIN;

[414] // EDGE Thin Extrafloor (20% Translucent)
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
EXTRAFLOOR_TYPE=THIN,SEE_THROUGH;
TRANSLUCENCY=80%;

[415] // EDGE Thin Extrafloor (40% Translucent)
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
EXTRAFLOOR_TYPE=THIN,SEE_THROUGH;
TRANSLUCENCY=60%;

[416] // EDGE Thin Extrafloor (60% Translucent)
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
EXTRAFLOOR_TYPE=THIN,SEE_THROUGH;
TRANSLUCENCY=40%;

[417] // EDGE Thin Extrafloor (80% Translucent)
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
EXTRAFLOOR_TYPE=THIN,SEE_THROUGH;
TRANSLUCENCY=20%;

// NOTE: next 4 entries, see RTS Online's TAG function for implementation of your script

[418] // EDGE Enable Tagged RTS S1
TYPE=PUSH;
SINGLESIDED=TRUE;
ACTIVATORS=PLAYER;
COUNT=1;  
RADIUS_TRIGGER=ENABLE_TAGGED;

[419] // EDGE Enable Tagged RTS SR
TYPE=PUSH;
SINGLESIDED=TRUE;
ACTIVATORS=PLAYER;
COUNT=-1;  
RADIUS_TRIGGER=ENABLE_TAGGED;

[420] // EDGE Enable Tagged RTS W1
TYPE=WALK;
SINGLESIDED=TRUE;
ACTIVATORS=PLAYER;
COUNT=1;  
RADIUS_TRIGGER=ENABLE_TAGGED;

[421] // EDGE Enable Tagged RTS WR
TYPE=WALK;
SINGLESIDED=TRUE;
ACTIVATORS=PLAYER;
COUNT=-1;  
RADIUS_TRIGGER=ENABLE_TAGGED;

[422] // EDGE SCROLL RIGHT
SCROLL=RIGHT;
SCROLLING_SPEED=1;

[423] // EDGE SCROLL UP
SCROLL=UP;
SCROLLING_SPEED=1;

[424] // EDGE SCROLL DOWN
SCROLL=DOWN;
SCROLLING_SPEED=1;

[425] // EDGE SCROLL LEFT AND UP
SCROLL=LEFT,UP;
SCROLLING_SPEED=1;

[426] // EDGE SCROLL LEFT AND DOWN
SCROLL=LEFT,DOWN;
SCROLLING_SPEED=1;

[427] // EDGE SCROLL RIGHT AND UP
SCROLL=RIGHT,UP;
SCROLLING_SPEED=1;

[428] // EDGE SCROLL RIGHT AND DOWN
SCROLL=DOWN,RIGHT;
SCROLLING_SPEED=1;

[429]  // EDGE SCROLL FAST LOWER AND MIDDLE TEXTURE (LIQUID FALLS)
SCROLL_PARTS=RIGHT_LOWER,LEFT_LOWER,RIGHT_MIDDLE,LEFT_MIDDLE;
SCROLL_XSPEED=0.0;  // CENTERED 
SCROLL_YSPEED=-4.0; // DOWN

// NOTE: TYPES 430-433 USE THE UPPER MASTER TEXTURE FOR THE SIDE TEXTURE OF THE EXTRAFLOOR!
//       THEY ARE ONLY GOOD FOR MAKING FALLS, OR EDGES OF RIVERS THAT FALLS OFF A LEDGE!

[430] // EDGE THICK TRANSLUCENT LIQUID EXTRAFLOOR SCROLL DOWN (20% TRANSLUCENT)
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
SCROLL_PARTS=RIGHT;
SCROLL_XSPEED=0.0;  // CENTERED 
SCROLL_YSPEED=-3; // DOWN
TRANSLUCENCY=80%;
EXTRAFLOOR_TYPE=THICK,LIQUID,SEE_THROUGH,WATER,SHOOT_THROUGH,FLOODER,SIDE_UPPER;

[431] // EDGE THICK TRANSLUCENT LIQUID EXTRAFLOOR SCROLL DOWN (40% TRANSLUCENT)
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
SCROLL_PARTS=RIGHT;
SCROLL_XSPEED=0.0;  // CENTERED 
SCROLL_YSPEED=-3; // DOWN
TRANSLUCENCY=60%;
EXTRAFLOOR_TYPE=THICK,LIQUID,SEE_THROUGH,WATER,SHOOT_THROUGH,FLOODER,SIDE_UPPER;

[432] // EDGE THICK TRANSLUCENT LIQUID EXTRAFLOOR SCROLL DOWN (60% TRANSLUCENT)
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
SCROLL_PARTS=RIGHT;
SCROLL_XSPEED=0.0;  // CENTERED 
SCROLL_YSPEED=-3; // DOWN
TRANSLUCENCY=40%;
EXTRAFLOOR_TYPE=THICK,LIQUID,SEE_THROUGH,WATER,SHOOT_THROUGH,FLOODER,SIDE_UPPER;

[433] // EDGE THICK TRANSLUCENT LIQUID EXTRAFLOOR SCROLL DOWN (80% TRANSLUCENT)
TYPE=PUSH;
ACTIVATORS=PLAYER;
AUTO=TRUE;
SCROLL_PARTS=RIGHT;
SCROLL_XSPEED=0.0;  // CENTERED 
SCROLL_YSPEED=-3; // DOWN
TRANSLUCENCY=20%;
EXTRAFLOOR_TYPE=THICK,LIQUID,SEE_THROUGH,WATER,SHOOT_THROUGH,FLOODER,SIDE_UPPER;

[434] // EDGE SWITCH ONCE, RAISE FLOOR 2 UNITS (USE FOR RTS ONHEIGHT EVENTS)
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
SPECIAL=SWITCH_SEPARATE;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=2;

[435] // EDGE SWITCH REPEAT, RAISE FLOOR 2 UNITS (USE FOR RTS ONHEIGHT EVENTS)
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=-1;
SPECIAL=SWITCH_SEPARATE;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=2;

[436] // EDGE WALK ONCE, RAISE FLOOR 2 UNITS (USE FOR RTS ONHEIGHT EVENTS)
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
SPECIAL=SWITCH_SEPARATE;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=2;

[437] // EDGE WALK REPEAT, RAISE FLOOR 2 UNITS (USE FOR RTS ONHEIGHT EVENTS)
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=-1;
SPECIAL=SWITCH_SEPARATE;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=2;

[438] // EDGE SHOOT ONCE, RAISE FLOOR 2 UNITS (USE FOR RTS ONHEIGHT EVENTS)
TYPE=SHOOT;
ACTIVATORS=PLAYER,MISSILE;
COUNT=1;
SPECIAL=SWITCH_SEPARATE;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=2;

[439] // EDGE SHOOT REPEAT, RAISE FLOOR 2 UNITS (USE FOR RTS ONHEIGHT EVENTS)
TYPE=SHOOT;
ACTIVATORS=PLAYER,MISSILE;
COUNT=-1;
SPECIAL=SWITCH_SEPARATE;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=2;

[440] // EDGE Enable Tagged RTS SHOOT1
TYPE=SHOOT;
SINGLESIDED=TRUE;
ACTIVATORS=PLAYER;
COUNT=1;  
RADIUS_TRIGGER=ENABLE_TAGGED;

[441] // EDGE Enable Tagged RTS SHOOTR
TYPE=SHOOT;
SINGLESIDED=TRUE;
ACTIVATORS=PLAYER;
COUNT=-1;  
RADIUS_TRIGGER=ENABLE_TAGGED;

[442]  // EDGE Sliding door (LEFT), SR + MONSTERS
TYPE=PUSH;
ACTIVATORS=PLAYER,MONSTER;
SLIDER.TYPE=LEFT;

[443]  // EDGE Sliding door (LEFT), SR
TYPE=PUSH;
ACTIVATORS=PLAYER;
SLIDER.TYPE=LEFT;

[444]  // EDGE Sliding door (LEFT), SR + FAST
TYPE=PUSH;
ACTIVATORS=PLAYER;
SLIDER.TYPE=LEFT;
SLIDER.SPEED=8;

[445]  // EDGE Sliding door (LEFT), S1
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
SLIDER.TYPE=LEFT;
SLIDER.DISTANCE=100%;

[446]  // EDGE Sliding door (RIGHT), SR + MONSTERS
TYPE=PUSH;
ACTIVATORS=PLAYER,MONSTER;
SLIDER.TYPE=RIGHT;

[447]  // EDGE Sliding door (RIGHT), SR
TYPE=PUSH;
ACTIVATORS=PLAYER;
SLIDER.TYPE=RIGHT;

[448]  // EDGE Sliding door (RIGHT), SR + FAST
TYPE=PUSH;
ACTIVATORS=PLAYER;
SLIDER.TYPE=RIGHT;
SLIDER.SPEED=8;

[449]  // EDGE Sliding door (RIGHT), S1
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
SLIDER.TYPE=RIGHT;
SLIDER.DISTANCE=100%;

[450]  // EDGE Sliding door (CENTER), SR + MONSTERS
TYPE=PUSH;
ACTIVATORS=PLAYER,MONSTER;
SLIDER.TYPE=CENTER;

[451]  // EDGE Sliding door (CENTER), SR
TYPE=PUSH;
ACTIVATORS=PLAYER;
SLIDER.TYPE=CENTER;

[452]  // EDGE Sliding door (CENTER), SR + FAST
TYPE=PUSH;
ACTIVATORS=PLAYER;
SLIDER.TYPE=CENTER;
SLIDER.SPEED=8;

[453]  // EDGE Sliding door (CENTER), S1
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
SLIDER.TYPE=CENTER;
SLIDER.DISTANCE=100%;


//                       _______________
// =====================|               |===========================
// =====================| HERETIC TYPES |===========================
// =====================|_______________|===========================

// Note: only differences from DOOM line-types are here.

// <LINES>

// #VERSION 1.29

[7] // Build Stairs - S1
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=BUILDSTAIRS;
FLOOR.SPEED_UP=0.5;
FLOOR.SPEED_DOWN=0;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=8;
FLOOR.SFX_UP=STNMOV;

[8] // Build Stairs - W1
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=BUILDSTAIRS;
FLOOR.SPEED_UP=0.5;
FLOOR.SPEED_DOWN=0;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=8;
FLOOR.SFX_STOP=PSTOP;
FLOOR.SFX_UP=STNMOV;

[106] // Build Stairs - W1
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=BUILDSTAIRS;
FLOOR.SPEED_UP=0.5;
FLOOR.SPEED_DOWN=0;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=16;
FLOOR.SFX_STOP=PSTOP;
FLOOR.SFX_UP=STNMOV;

[107] // Build Stairs - S1
TYPE=PUSH;
ACTIVATORS=PLAYER;
COUNT=1;
FLOOR.TYPE=BUILDSTAIRS;
FLOOR.SPEED_UP=0.5;
FLOOR.SPEED_DOWN=0;
FLOOR.DEST_REF=FLOOR;
FLOOR.DEST_OFFSET=16;
FLOOR.SFX_UP=STNMOV;

[10] // Platform down, wait, up - W1
TYPE=WALK;
ACTIVATORS=PLAYER, MONSTER;
COUNT=1;
FLOOR.TYPE=MOVEWAITRETURN;
FLOOR.SPEED_UP=4;
FLOOR.SPEED_DOWN=4;
FLOOR.DEST_REF=LOSURROUNDINGFLOOR;
FLOOR.PAUSE_TIME=105T;
FLOOR.SFX_START=PSTART;
FLOOR.SFX_STOP=PSTOP;

[88] // Platform down, wait, up - WR
TYPE=WALK;
ACTIVATORS=PLAYER, MONSTER;
FLOOR.TYPE=MOVEWAITRETURN;
FLOOR.SPEED_UP=4;
FLOOR.SPEED_DOWN=4;
FLOOR.DEST_REF=LOSURROUNDINGFLOOR;
FLOOR.PAUSE_TIME=105T;
FLOOR.SFX_START=PSTART;
FLOOR.SFX_STOP=PSTOP;

[99] // Scroll RIGHT
SCROLL=RIGHT;
SCROLLING_SPEED=1;

[100] // Open Door - WR
TYPE=WALK;
ACTIVATORS=PLAYER;
CEILING.TYPE=MOVE;
CEILING.SPEED_UP=2;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.SFX_UP=DOROPN;

[105] // Exit Secret - W1
TYPE=WALK;
ACTIVATORS=PLAYER;
COUNT=1;
EXIT=SECRET;

[28] // Green Door - SR
TYPE=PUSH;
ACTIVATORS=PLAYER;
KEYS=GREEN_CARD, GREEN_SKULL;
CEILING.TYPE=MOVEWAITRETURN;
CEILING.SPEED_UP=2;
CEILING.SPEED_DOWN=2;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.PAUSE_TIME=150T;
CEILING.SFX_UP=DOROPN;
CEILING.SFX_DOWN=DORCLS;
FAILED_MESSAGE=NeedGreenForDoor;

[33] // Green Door - S1
TYPE=PUSH;
KEYS=GREEN_CARD, GREEN_SKULL;
ACTIVATORS=PLAYER;
COUNT=1;
CEILING.TYPE=MOVE;
CEILING.SPEED_UP=2;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.SFX_UP=DOROPN;
FAILED_MESSAGE=NeedGreenForDoor;

[134] // Green Blaze Door - SR
TYPE=PUSH;
ACTIVATORS=PLAYER;
KEYS=GREEN_CARD, GREEN_SKULL;
CEILING.TYPE=MOVE;
CEILING.SPEED_UP=8;
CEILING.SPEED_DOWN=8;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.SFX_UP=BDOPN;
FAILED_MESSAGE=NeedGreenForObject;

[135] // Green Blaze Door - S1
TYPE=PUSH;
ACTIVATORS=PLAYER;
KEYS=GREEN_CARD, GREEN_SKULL;
COUNT=1;
CEILING.TYPE=MOVE;
CEILING.SPEED_UP=8;
CEILING.DEST_REF=LOSURROUNDINGCEILING;
CEILING.DEST_OFFSET=-4;
CEILING.SFX_UP=BDOPN;
FAILED_MESSAGE=NeedGreenForObject;

