
#ST1 TAGS 

@tag0 
SECT_SINK 0 depth 

TAG2 = depth 
This is how many pixels the player sinks down into the sector. 
Use this tag for liquid areas to make the player swim. 

@tag1 
SECT_RESERVED 1 
Indicate that a sector is operational. This is required for drivable vehicles. 
Put this tag in the activation sector of the vehicle. 

@tag3 
SECT_CURRENT 3 speed 
TAG2 = speed of current 
TAG4 = angle of current 

This tag will not work without an accompanying SECT_SINK tag. 

@tag5 
SECT_NO_RIDE 5 
Do not allow players or NPC's to ride on a sector tagged with this. 

@tag7 
SECT_DIVE_AREA 7 match 
TAG2 = match 

Diving area - pressing the CRAWL key when here will teleport you to an UNDERWATER area with a matching UNIQUE 'match number'. 
For every tag 7, you need a tag 8 in the uderwater portion of the sector. 
Both tag sprites must be in the exact same place in the copy of the sector. 


@tag8 
SECT_UNDERWATER 8 match 
TAG2 = match 

Underwater area - floating to the surface of this area will teleport you to the DIVE_AREA with a matching UNIQUE 'number'. 
IMPORTANT: The SECT_DIVE_AREA sprite and the SECT_UNDERWATER sprite need to be in the same position for both sectors (exp: centered in each room). 


@tag9 
SECT_UNDERWATER2 9 match 
TAG2 = match 
TAG3 = type 
0 or 32 = surface here 
1 = can't surface here 

Secondary Underwater area - floating to the surface of this area will teleport you to the DIVE_AREA with a matching UNIQUE 'number'. 

@tag16 
SO_ANGLE 16 
TAG4 = Angle of Sector Object 

This tells the program which direction points to the front of a sector object. The line of the sprite in 2D mode points towards the front. 

@tag19 
SECT_FLOOR_PAN 19 match 
TAG2 = match 
TAG4 = ang 
TAG5 = speed - 0 to 16386 
BOOL1 = Move with speed of sector object - Not implemented yet 

Makes the graphic tile on a floor pan in the direction of the pan sprite. 

@tag21 
SECT_CEILING_PAN 21 match 
TAG2 = match 
TAG4 = ang 
TAG5 = speed - 0 to 16386 
BOOL1 = Move with speed of sector object - Not implemented yet 

Makes the graphic tile on a ceiling pan in the direction of the pan sprite. 

@tag23 
WALL_PAN_SPEED 23 speed 
TAG2 = match 
TAG5 = speed - 0 to 16386 
TAG6 = angle 
BOOL1 = Move with speed of sector object - Not implemented yet 

Point sprite at desired wall 

@tag25 
SECT_DEBRIS_SEWER 25 seconds 
TAG2 = seconds 
TAG4 = ang 

Spawns sewer debris after time. Use this with the accompanying SECT_SINK and SECT_CURRENT tags. 

@tag27 
SECT_SO_CENTER 27 
Place center of SO at the sprite x,y,z location. Overrides norm center. 
Last I checked this did not work! 

@tag28 
SECT_MATCH 28 match 
TAG2 = match 

Used to match multiple sectors to one action. 'number' must be UNIQUE and non 0. 
THIS IS NOT USED VERY MUCH ! ! ! Mostly match numbers are specified in the with the 
operation tag, now with a seperate tag such as this. 


@tag29 
SECT_LOCK_DOOR 29 key num 
TAG2 = type 
1 = RED 
2 = BLUE 
3 = GREEN 
4 = YELLOW 
5 = GOLD SKELKEY 
6 = SILVER SKELKEY 
7 = BRONZE SKELKEY 
8 = RED SKELKEY 

Lock the door. Must have the correct key to open it. 
Currently works for rotating,sliding and all VATOR uses including switches. 

@tag30 
SPRI_CLIMB_MARKER 30 
TAG4 = angle 

Center this sprite on the ladder and set the angle pointing out. 
Position of sprite counts 

@tag31 
SECT_SO_SPRITE_OBJ 31 

Makes a SO become a SPRITE OBJECT. The sprites will move but the sector will not. 
Sprites can cross sector boundries. 

@tag32 
SECT_SO_DONT_BOB 32 
Mark a bobbing SO sector so it will not bob with the rest of the SO. 

@tag33 
SECT_SO_SINK_DEST 33 offset 
TAG2 = offset 

Mark a SO sector as the destination for sinking.so it will not sink with other sectors. 

@tag34 
SECT_SO_DONT_SINK 34 
Mark a SO sector so it will not sink with other sectors. 

@tag37 
SECT_SO_FORM_WHIRLPOOL 37 depth 
TAG2 = depth 

Used for the boat in level 1. Lower the whirlpool sectors to a 'depth' level. 

@tag38 
SECT_ACTOR_BLOCK 38 
Tag sector to keep enemy actors from entering. Player can still enter. Can still fire through the sector. 

@tag39 
SECT_SO_CLIP_DIST 39 dist 
TAG2 = dist 

Use SO_CLIP_BOX instead of this! Sets clipping distance for operational SO's. Spawn spots for multi-player games. Valid values for player number (pnum) are 1-15 - Note that 0 is the first player. Do set the angle. 

@tag42 
MULTI_PLAYER_START 42 pnum 
TAG2 = (1 to N) player number 
TAG4 = angle to start 

The 0 start postion is the map start postion 

@tag43 
FIREBALL_TRAP 43 match 
TAG2 = match 
TAG4 = angle 

Shoots a fireball from the location of this sprite in the direction the angle is pointing when a TRIGGER is stepped on. Sector trigger set TAG_TRIGGER_MISSILE_TRAP 

@tag44 
BOLT_TRAP 44 match 
TAG2 = match 
TAG4 = angle 

Shoots a bow bolt from the location of this sprite in the direction the angle is pointing when a TRIGGER is stepped on. Sector trigger set TAG_TRIGGER_MISSILE_TRAP 

@tag45 
SECT_SO_DONT_ROTATE 45 
Makes a sector object move without rotating. Place in the center sector. 

@tag46 
PARALLAX_LEVEL 46 plaxnum 
TAG2 = plaxnum 

Set parallax sky type 1-6. Only need one per level in a single sector. Will effect the whole level. 

@tag47 
SECT_DONT_COPY_PALETTE 47 
Normally a actor/player standing on a palette swapped floor takes on the palette of the floor. 
Use this ST1 tag on sectors that should act like this. 

@tag48 
MULTI_COOPERATIVE_START 48 pnum 
TAG2 = (1 to N) player number 
TAG4 = angle to start 

Spawn spots for coperative multi-player games. Use just like MULT_PLAYE_START. 
The 0 start postion is the map start postion 

@tag49 
SO_SET_SPEED 49 
Same function as TRACK_SET_SPEED 

@tag50 
SO_SPIN 50 speed 
TAG2 = speed 

Same function as TRACK_SPIN 

@tag51 
SO_SPIN_REVERSE 51 speed 
TAG2 = speed 

Same as function TRACK_SPIN_REVERSE 

@tag52 
SO_BOB_START 52 amt 
TAG2 = amt 

Same function as TRACK_BOB_START 

@tag53 
SO_BOB_SPEED 53 speed 
TAG2 = speed 

Same function as TRACK_BOB_SPEED 

@tag55 
SO_TURN_SPEED 55 speed 
TAG2 = speed 

Determines how fast a SO turns to meet the new angle. Shift value. Default is 4. 

@tag56 
LAVA_ERUPT 56 random 
TAG2 = (1 to 1024) The larger the number the more stuff erupts - Compared to a random number generated between 0 and 1023 
TAG3 = type of shrapnal 
0 = lava shards 
1 = volcano boulders 
TAG4 = ang 
TAG5 = ang delta from TAG4 
TAG6 = max velocity - min velocity is calculated as (max_vel/2 + max_vel/4) 
TAG7 = zvel amt 
TAG8 = zvel random amt - added to TAG5 value 
TAG9 = erupt for this many seconds - default 10 
TAG10 = wait for this many seconds till next eruption 

Spawn spots for lava eruption. 

@tag57 
SECT_EXPLODING_CEIL_FLOOR 57 match 
TAG2 = match 

Triggered by shooting TAG_SPRITE_EXPLODE_SECTOR 257 with same match tag. 
See SECTEXPL.MAP for example. 

@tag58 
SECT_COPY_DEST 58 match 
TAG2 = match 
TAG3 = sector source-dest match 

Triggered the same way as SECT_EXPLODING_CEIL_FLOOR 57. See sectexpl.map for example. Effectively copies all of the source sector attributes to the dest sector when triggered. Do things like blow a hole in the floor and reveal a hidden swimmable stream, lava pool, or gettable item. It will move sprites from the src to the dest also. 
Copy sector 58-59 tags will activate in conjuction with matching SECT_MOVE_WALL 103 tags AFTER the copy is done. 
Copy sector 58-59 tags should remove any sprites from the destination sector that are NOT invisible such as ST1 sprites. 
Copy sector 58-59 tags will activate in conjuction with matching SPAWN_SPOT tags AFTER the copy is done. 

@tag59 
SECT_COPY_SOURCE 59 match 
TAG2 = match 
TAG3 = sector source-dest match 

@tag62 
SHOOT_POINT 62 
TAG2 = match - not used yet 
TAG3 = type 
0 = Shell 
1 = Machine gun 
2 = Laser 
3 = Rail gun 
TAG4 = ang 
TAG5 = delay until next fire in 120th of a second tics - 60 = half a second defaults for types 
0 = 80 
1 = 6 for machine gun 
2 = 80 
3 = 80 
TAG6 = Sound Spot match - Calls SOUND_SPOT with SOUND_OBJECT_TYPE 

For operation SOs. Sets the shooting point. Place on end of gun barrel and point in desired shooting direction. 

@tag63 
SPEAR_TRAP 63 match 
TAG2 = match 
TAG4 = ang 

Shoots a spear from the location of this sprite in the direction the TAG4 is pointing when a TRIGGER is stepped on. Sector trigger set TAG_TRIGGER_MISSILE_TRAP 

@tag64 
SO_SYNC1 64 
Keeps SO's runing a a constant rate so they can stay in sync better if needed. If its ridable use SYNC1. Slower so only used it when you have to and on less compex sector objects. 

@tag65 
SO_SYNC2 65 
Same as SO_SYNC1 only slightly faster. 

@tag66 
DEMO_CAMERA 66 delta 
TAG2 = delta ang 

Camera angle. Point it in the direction you want it to default to. Delta Angle is the amount the camera will move in either direction. 

@tag68 
SO_LIMIT_TURN 68 delta 
TAG2 = delta ang 

Limit turning of sector object. Useful with turrets. Point sprite in the center direction. 

@tag69 
SPAWN_SPOT 69 match 
TAG2 = Match 
TAG3 = Kill Type 

Kill type will get rid of the SPAWN_SPOT after spawning is shrap. Damage type will spawn shrap multiple times. 
Some of these do not exist yet. Go ahead and tag things the way you are supposed to and I'll handle what gets spawned. 
0 = SHRAP_TYPE_NONE1 
1 = SHRAP_TYPE_GLASS 
2 = SHRAP_TYPE_TREE 
3 = SHRAP_TYPE_SO_SMOKE 
only used for damaged SO's 
When activated this will call DoSpawnSpotsForDamage with the appropriate MATCH tag. 
4 = SHRAP_TYPE_RICE_PAPER 
5 = SHRAP_BLOOD 
6 = SHRAP_EXPLOSION 
7 = SHRAP_LARGE_EXPLOSION 
8 = SHRAP_METAL 
9 = SHRAP_STONE 
10 = SHRAP_PLANT 
11 = SHRAP_GIBS 
12 = SHRAP_WOOD 
13 = SHRAP_GENERIC 
14 = SHRAP_TREE_PULP 
99 = SHRAP_USER_DEFINED - not implemented 
TAG4 = Angle/Dir 
TAG5 = Activate Delay for kill - 1/8 of a sec 
TAG6 = Damage Type 
SAME type as TAG3 
Kill type will get rid of the SPAWN_SPOT after spawning is shrap. Damage type will spawn shrap multiple times. 
TAG7 = Activate Delay for damage 
TAG8 = Number of shrap pieces (default value of 0 will pick a programmed default number) 
TAG9 = Random Z range in pixels from ST1 z position 
TAG10 = Repeat (Size) change 
TAG11 = 
TAG12 = 
TAG14 = tile number for SHRAP_USER_DEFINED - not implemented 

@tag70 
SO_MATCH_EVENT 70 match 
TAG2 = match 
TAG3 = spin_speed adjust - can be negative or positive 
TAG4 = 
TAG5 = 
TAG6 = 
TAG7 = velocity adjust 
TAG8 = 
BOOL1 = VELOCITY TYPE = 0 - vel adjust is instant, 1 - vel adjust is approached 
BOOL2 = DIRECTION = Direction flip 1 = TRUE / 0= FALSE 
BOOL3 = TOGGLE HELP = 1 is ON, 0 is OFF - This is only used for triggers and things that don't have a definate ON/OFF. 

Sets up a match TAGfor SO's This is used for Killing Sectors among other things. 
Add adjustment values when ON - Subtract adjustment values when OFF 

@tag71 
SO_SLOPE_FLOOR_TO_POINT 71 
Aligns slope to SO point tagged as TAG_WALL_ALIGN_SLOPE_TO_POINT. 

@tag72 
SO_SLOPE_CEILING_TO_POINT 72 
Aligns slope to SO point tagged as TAG_WALL_ALIGN_SLOPE_TO_POINT. 

@tag73 
SO_TORNADO 73 
Tornado quick setup for SO 

@tag74 
SO_FLOOR_MORPH 74 
Floor Morph quick setup 

@tag75 
SO_AMOEBA 75 
Amoeba quick setup 

@tag76 
SO_MAX_DAMAGE 76 amt 
TAG2 = amt 
TAG3 = type 
0 Players explosive weapons WILL damage this SO. 
1 Only large/special explosives will damage this SO. 
Damage amt done by ramming with a vehicle 

Damage for sector objects. SO's only take damage from Explosive type weapons. Not machine gun type's. 

@tag77 
SO_RAM_DAMAGE 77 amt 
TAG2 = amt 

Damage amt done by ramming with a vehicle 

@tag78 
SO_CLIP_BOX 78 dist 
TAG2 = dist 

Clip box for sector object For multiple clip boxes 

@tag79 
SO_SLIDE 79 
Sliding type of SO 
NOT IMPLEMENTED 

@tag80 
SO_KILLABLE 80 type 
TAG2 = type 

Killable Sector Object 

@tag81 
SO_AUTO_TURRET 81 
Auto Turret quick setup 

@tag82 
SECT_DAMAGE 82 amt 
TAG2 = amt 
BOOL1 = 0, Does damage when touching floor of sector 
BOOL1 = 1, Does damage above sector - like swimming in lava 

Does damage to player and actors 

@tag84 
WARP_TELEPORTER 84 match 
TAG1 = 84 WARP_TELEPORTER 
TAG2 = match 
TAG3 = Type 
Sprite - (0 default) - always teleports you to the matching sprite location at the angle the sprite is facing 
Offset - (1) - always teleports you by the offset. Does not touch the angle 
TAG4 = angle 
TAG5 to 8 = random match locations in addition to the TAG2 match 
TAG9 - reserved for future use 
TAG10 = Teleport or Don't 
(0 default) Teleport when you hit this sector 
1 - Don't teleport when you hit this sector 
WARP_CEILING_PLANE 
WARP_FLOOR_PLANE 
SECTFX_WARP_SECTOR - equivelent to MIRROR_PIC sprite 

@tag85 
WARP_CEILING_PLANE 85 match 
TAG2 = match 

If players view (or a NPC Z coordinate) goes ABOVE the z position of this ST1 sprite then a warp to the Z coordinate of the matching WARP_FLOOR_PLANE will occur. 

@tag86 
WARP_FLOOR_PLANE 86 match 
TAG2 = match 

If players view (or a NPC Z coordinate) goes BELOW the z position of this ST1 sprite then a warp to the Z coordinate of the matching WARP_CEILING_PLANE will occur. 

@tag87 
WARP_COPY_SPRITE1 87 match 
TAG2 = match WARP_COPY_SPRITE2 tag 

Copies sprite image only at draw time to matching sector. 

@tag88 
WARP_COPY_SPRITE2 88 match 
TAG2 = match WARP_COPY_SPRITE1 tag 

Copies sprite image only at draw time to matching sector. 

@tag90 
PLAX_GLOB_Z_ADJUST 90 z amt 
TAG2 is ceiling z movement in pixels. 
TAG3 is floor z movement in pixels. 

Global plax ceiling adjustment. Default is 500 pixels. 

@tag92 
SECT_VATOR 92 match 
Elevators & Stompers & Doors & Tricks - Collectively called VATORS 
STAT_VATOR - off position is the position of the sector, on position is the height of the ST1 sprite 
TAG2 = match 
TAG3 = Type 
0. Manual/Switch/Trigger - primarily use for manual type 
If a manual type has a match tag that is not 0 then ALL vators with the same match type will be operated on. 
Manual operation from either on top of sector or side of sector 
Switch operation - switch resets when elevator goes to default position 
Trigger operation - same as switch but its a floor trigger 
1. Switch/Trigger Only - cannot be operated manually 
ALL vator types with the same matching tag get operated on 
2. Automatic - Starts Active 
3. Automatic - Starts Inactive - must be turned on 
TAG4 = speed 
TAG5 = velocity 
TAG6 = match at destination - when a vator reaches its destination it will trigger any event with this MATCH tag 
BOOL5 = When set Match TAG6 is also called when VATOR moves to the off position. 
TAG9 = auto return time - 1/8th of a second resolution - if non 0 then elevator will return to default pos after alloted time - if 0 then it will stay in the ON position 
BOOL1 = Start in on/off possition 1/0 
BOOL2 = One time operation = 1 Toggle = 0 
BOOL3 = Dont Crush Player 1 = TRUE, 0 = FALSE - for doors 
BOOL4 = Single play only vator - not allowed to be opened in Multi-Play 
BOOL5 = When set Match TAG6 is also called when VATOR moves to the off position. 
FLIP the ST1 sprite upsided down to do a ceiling VATOR - Doors/Stompers etc 
Other New Tags in tags.h 
TAG_SPRITE_SWITCH_VATOR 
TAG_SECTOR_TRIGGER_VATOR 
MISC OTHER STUFF 
You can Lock them with keys 
Operating Vators in other ways needs to toggle the switches 
Jumping on a fast vator causes problems 
Need to check for Active vators when resetting the switch to the OFF position 

@tag94 
SECT_SPIKE_DEST 94 
Sector spike trall toward the z-coordinate of this tag sprite. 

@tag97 
CEILING_Z_ADJUST 97 amt 
TAG2 = amt 

Allows player/actors to 'sinK' into ceiling by amout 

@tag98 
FLOOR_Z_ADJUST 98 amt 
TAG2 = amt 

Allows players/actors to sink into floor by amount 

@tag99 
FLOOR_SLOPE_DONT_DRAW 99 
Tag any slope with this and the slope angle will be set to 0 when the scene is drawn. Sector will still act like a slope for all movement purposes. 

@tag100 
SO_SCALE_INFO 100 speed 
TAG2 = Speed 
TAG3 = Start Position: 0 = is min, 1 = is max 
TAG4 = Initial Type 
0 - SO_SCALE_NONE 
1 - SO_SCALE_HOLD 
2 - SO_SCALE_DEST 
3 - SO_SCALE_RANDOM 
4 - SO_SCALE_CYCLE 
5 - SO_SCALE_RANDOM_POINT - Needs SO_SCALE_POINT_INFO 101 tag 
TAG5 = Min dist - dist from default size to scale inward 
TAG6 = Max dist - dist from default size to scale outward 
TAG7 = Activate Type 
Same types as TAG4 
TAG8 = Random frequency - 0 to 64 - the lower the number the slower the random direction change 

@tag101 
SO_SCALE_POINT_INFO 101 speed 
TAG2 = Speed 
TAG4 = Random freqency - 0 to 1024 - the lower the number the slower the direction change 
TAG5 = Min dist - dist from default size to scale inward 
TAG6 = Max dist - dist from default size to scale outward 

@tag102 
SO_SCALE_XY_MULTIPLY 102 
TAG5 = x multiply value; 256 is equal to 1 
TAG6 = y multiply value; 256 is equal to 1 

Some fun and goofy stuff. Use in conjunction with other SO_SCALE settings 

@tag103 
SECT_WALL_MOVE 103 match 
TAG2 = match - triggering one of these will trigger all with the same matching tags - this will also trigger SPAWN_SPOT ST1's. 
TAG3 = 
TAG4 = angle - point in the direction you want the wall point to move 
TAG5 = pic 1 - wall pic 
TAG6 = pic 2 - wall pic (PREV) 
TAG7 = shade 1 = wall shade 
TAG8 = shade 2 = wall shade (PREV) 
TAG9 = number of valid moves 
TAG10 = rand angle difference - 1 to 128 - the larger the number the greater the angle deviance. 
TAG11 = 
TAG12 = 
TAG13 = dist to move point 
BOOL1 = 1/ONLY activated as part of a TAG3 group 

Move wall points where you want them. Place the ST1 sprite on TOP of the wall point to move. One POINT will move. Two WALLS will be effected, the wall associated with the point the sprite is on and the PREVIOUS wall. 
Will work for Sector Object walls with one limitation - you cannot tag the outside wall loop tagged with a 504 to be movable. 

@tag104 
SECT_WALL_MOVE_CANSEE 104 match 
TAG2 = match with TAG3 of SECT_MOVE_WALL 

Placing sprites on wall points renders them somewhat unreliable for certain engine routines such a CANSEE. If there is a problem activating a SECT_MOVE_WALL set up one of these off of the wall point for the engine to use for detection purposes. 

@tag106 
SECT_SPIKE 106 match 
TAG2 = match 
TAG3 = Type 
0. Manual/Switch/Trigger - primarily use for manual type 
If a manual type has a match tag that is not 0 then ALL spikes with the same match type will be operated on. 
Manual operation from either on top of sector or side of sector 
Switch operation - switch resets when spike goes to default position 
Trigger operation - same as switch but its a floor trigger 
1. Switch/Trigger Only - cannot be operated manually 
ALL spike types with the same matching tag get operated on 
2. Automatic - Starts Inactive 
Switch and Trigger control for Active/Inactive - switch resets after 2 seconds or so 
3. Automatic - Starts Inactive 
TAG4 = speed 
TAG5 = velocity 
TAG6 = match at destination - when a vator reaches its destination it will trigger any event with this MATCH tag 
TAG7 = Sector Object number to operate on. Set to -1 to operate only on sector the ST1 sprite is placed in. 
TAG8 = 
TAG9 = auto return time - 1/8th of a second resolution - if non 0 then spike will return to default pos after alloted time - if 0 then it will stay in the ON position 
TAG10 = 
BOOL1 = Start in on/off possition 1/0 
BOOL2 = One time operation = 1 Toggle = 0 
BOOL3 = Dont Crush Player 1 = TRUE, 0 = FALSE - for doors 

FLIP the ST1 sprite upsided down to do a ceiling SPIKE - Doors/Stompers etc 

Off position is the position of the sector, on position is the height of the ST1 sprite. 
See SPIKE.MAP for examples. Notice the way the door is made, the positioning of the sprites and how they are directly on top of each other. This is all necessary because slopes are aligned to a x,y,z point. 

@tag108 
LIGHTING 108 match 
TAG2 = match 
TAG3 = type 
0 = CONSTANT 
1 = FLICKER 
2 = FADE 
3 = FLICKER ON 
4 = FADE TO ON/OFF 
TAG4 = MaxTics 
TAG5 = Max Brighten amount - This is not an actual shade amount. Brightens as offset from original shade. 
TAG6 = Max Darken amount - This is not an actual shade amount. Darkens as offset from original shade. 
TAG7 = Shade inc/dec - for FADE type - default is 1 
TAG8 = 
TAG9 = 
TAG10= 
BOOL1 = 1 = ON, 0 = OFF 
BOOL2 = Don't effect floor 
BOOL3 = Don't effect ceiling 
BOOL4 = Don't shade walls 
BOOL5 = Shade outer walls - red sectors have inner and outter walls - by default LIGHTING will not shade outer walls 
BOOL6 = Don't change pal 
BOOL9 = Used internally - initialization 
BOOL10 = Direction to start 

All lighting ST1's with the same match tags will operate together 
New statnum STAT_LIGHTING 
PAL = pal num 

@tag109 
LIGHTING_DIFFUSE 109 match 
TAG2 = match 
TAG3 = order number 0 to N - order of shading 
TAG4 = Shade Multipier - 1 to 20 for diffuse lighting - The larger the number the darker the shade from the source. 
TAG9 = 
TAG10= 
BOOL2 = Don't effect floor 
BOOL3 = Don't effect ceiling 
BOOL4 = Don't shade walls 
BOOL5 = Shade outer walls - red sectors have inner and outter walls - by default LIGHTING will not shade outer walls 
BOOL6 = Dont change pal 

Used with LIGHTING ST1 to shade other sectors on a grade 
NOTE: PRG denotes that it is only used for prgramming - not by mapper 

@tag130 
SO_WALL_DONT_MOVE_UPPER 130 match 
Used with SO_WALL_DONT_MOVE_LOWER to bound a rectangular region of the map to in which the walls of this region will not move with a Sector Object. In this fashion the walls that ARE NOT TAGGED will move with the Sector Object. This will allow certain wall points to be stationary and certain wall points to move with the Sector Object. 
Upper left hand tag. 

@tag 
SO_WALL_DONT_MOVE_LOWER 131 match 
Lower right hand tag. 

@tag132 
BREAKABLE 132 match 
TAG2 = match - used to match up with BREAKABLE_SPRITE or TAG_BREAK_WALL 
TAG3 = 
TAG4 = 
TAG5 = picnum to change to after BROKEN - not needed if TAG8 == 1 
TAG6 = 
TAG7 = Number of DAMAGE hits to take before sprite is BROKEN. Note that if this is set to 2 or greater that the picnum will increment to toward TAG5 until TAG5 is reached. GFX must be imported in correct order to support this. 
TAG8 = BROKEN type 
0 - Copy pic only 
1 - Kill sprite/wallpic when BROKEN 
For walls this will turn off all masking/blocking/1way bits. 
2 - Turn off blocking bits when BROKEN 
For walls this will just turn off blocking bits 

BREAKABLE_SPRITE 132 
Tag actual sprite to break with this. 
TAG2 = match - used to match up with BREAKABLE ST1's 
TAG6 = match - extra match value for effecting ST1's like SPAWN_SPOT and Lighting 
BOOL1 = IMPORTANT - MUST BE SET. Denotes that this is not a ST1 but is tagged like one. 

Sprites and Wall break info. There are 2 ways to use this. 
As a ST1 sprite info for TAG_SPRITE_BREAK. 
As a ST1 sprite info for TAG_WALL_BREAK. 
NOTE: Can be re-used for many BREAK_SPRITEs. Example: All chairs that break could use a single ST1 132 to tell them how to break as long as the same matching tag is used. 
There are 3 states - UNDAMAGED / DAMAGED / BROKEN 
When hitting a wall tagged with TAG_WALL_BREAK (307) the code will look for a BREAKABLE_SPRITE ST1 with a matching tag and use this info if found. 
See BREAK.MAP for example. 

@tag133 
QUAKE_SPOT 133 
TAG2 = match 
TAG3 = shake Z amount - Amount the view moves in the Z direction 
TAG4 = radius of quake - distance in which quake is felt - this value is multiplied by 8 internally for the distance. The code is set up so that the quake amount decreases from the epicenter - can be overridden with BOOL1 
TAG5 = duration in seconds of quake - # of seconds to Quake 
TAG6 = Timed Quake - quake every # seconds - 1 unit = 10 seconds 
TAG7 = shake angle amount - Amount the view's angle moves 
TAG8 = shake x,y position amount - Multiplied by 8 internally 
TAG9 = random quake value - 1 to 128 - Multiplied by 4 internally. Used with TAG 8. Instead of automatically spawning a quake after time it does a random test. The larger the number the greater the chance of a quake. 0 is default - will not do random test. 
BOOL1 = 1 - Quake does not decrease from epicenter - Basically will shake the entire level 
BOOL2 = 1 - Only Quake once - never again 
BOOL3 = Wait for trigger before starting Timed Quake code - this is only used for Timed Quakes 

@tag134 
SOUND_SPOT - DOESN'T WORK YET 134 
TAG2 = match 
TAG3 = type 
0 = SOUND_OBJECT_TYPE - controlled by Object - vator - sector object - spike 
1 = SOUND_EVERYTHING_TYPE - controlled by EVERYTHING (tags.h) Switch/Trigger 
TAG4 = 1st Sound # - see digi.h for the list of numbers 
TAG5 = 2nd Sound # 
TAG6 = 3rd Sound # 

Note that you can specify 3 different sounds. Some things like vators can have more than one sound attached for different operations such as moving to the ON and OFF positions. Most of the time only the 1st sound will be used. 

@tag135 
SLIDE_SECTOR - NOT WORKING YET 
TAG2 = speed - shift value - 0 is fastest, 32 is slowest. Note that the angle of the slope has an effect on speed. 
TAG3 = 
BOOL1 = Don't slide players 
BOOL2 = Don't slide actors - Actors not implemented yet 
BOOL3 = Don't slide special - like boulders 

Tag a SLOPED sector with this and it will cause sliding in the direction of the slope. Actors not implemented yet. Angle of the slope and TAG2 has an effect on speed. 135 

@tag140 
TRIGGER_SECTOR 140 
TAG2 = match 
Non 0 value will call MatchEverything and trigger any matching events 
TAG3 = activation type 
0 = trip - crossing boundry for 1st time 
1 = continuous operation while standing on sector 
2 = leaving sector 
3 = operated - must press the space bar on it 
32 = same as 0 
TAG4 = trigger type 
0 = TRIGGER_TYPE_REMOTE_SO - Remote Operation of Sector Object - place sector object number in TAG7 
TAG5 = 
TAG6 = 
TAG7 = Extra Info 
BOOL1 = If set you do not need to touch the sector. For example flying over it would trigger it. 

@tag110 
VIEW_LEVEL1 110 

@tag111 
VIEW_LEVEL2 111 

@tag112 
VIEW_LEVEL3 112 

@tag113 
VIEW_LEVEL4 113 

@tag114 
VIEW_LEVEL5 114 

@tag115 
VIEW_LEVEL6 115 

@tag120 
VIEW_THRU_CEILING 120 

@tag121 
VIEW_THRU_FLOOR 121 

@tag136 
CEILING_FLOOR_PIC_OVERRIDE 136 
TAG2 = picnum 
TAG3 = type 
0 = ceiling 
1 = floor 
TAG7 = type 
0 = normal 
1 = masked 
2 = translucent 
3 = translucent flipped 
Only set during draw. Primary use at this point is for masked/transparent Stacked sectors. 

@tag202 
BOUND_FLOOR_BASE_OFFSET 202 
All bounded areas with this tag in them set up a new BASE OFFSET to move other areas to. Match tag is the order in which they are processed. 

@tag203 
BOUND_FLOOR_OFFSET 203 match 
All bounded areas with this tag in them are moved to the last BOUND_FLOOR_BASE_OFFSET sprite. 

@tag500 
SECT_SO_BOUNDING 500 to 600 
Bounding sprites for SO's. Tags move up in increments of 5 for each new SOBJ. Ex. 500-501, 505-506, etc... 

@tag900 
PLAYER_SOUNDEVENT_TAG 900 
TAG2 = Number of sound in DIGI.H to play. Sound must be > DIGI_FIRSTPLAYERSOUND AND < DIGI_LASTPLAYERSOUND. 

You can use this tag on sectors, walls, and sprites. 

@tag1000 
MIRROR_CAM 
TAG2 = match tag 
TAG6 = Camera maximum turn angle from 0-2048. This is the angle from center that the camera will oscillate back and forth. 
TAG7 = Camera look up/down amount. Valid values range from 5-195. 

BOOL1 
0 = Draw monitor to look like a magic view into another place, looks more like reality. 
1 = Draw monitor using draw to tile. This makes it look like a TV screen. 
BOOL2 
0 = Don't oscillate the camera 
1 = Oscillate the camera by angle specified in TAG3 from current camera angle 
BOOL3 
0 = Negative turn direction 
1 = Positive turn direction 
BOOL11 
0 = Do normal TV camera view when in TV camera mode. 
1 = Cycle through all player view in 5 second increments on this monitor. Only works for TV cams. 

Camera spot that show the camera's view in a monitor built using mirrors 
Tag the mirror wall with lotag=136 and hitag = match tag. 
NOTE: Mirrors MUST be built using one way walls, not masked walls or they won't operate. 

@tag1002 
AMBIENT_SOUND 
TAG2 = Ambient sound number. 

Plays the pre-defined ambient sound. 

# General help case for sprites with invalid tags. 
@tag999 
The following is a list of hi-tag values for ST1 sprites used to create special effects. 

SECT_SINK 0 depth 
SECT_RESERVED 1 
SECT_CURRENT 3 speed 
SECT_NO_RIDE 5 
SECT_DIVE_AREA 7 match 
SECT_UNDERWATER 8 match 
SECT_UNDERWATER2 9 match 
SO_ANGLE 16 
SECT_FLOOR_PAN 19 match 
SECT_CEILING_PAN 21 match 
WALL_PAN_SPEED 23 speed 
SECT_DEBRIS_SEWER 25 seconds 
SECT_SO_CENTER 27 
SECT_MATCH 28 match 
SECT_LOCK_DOOR 29 key num 
SPRI_CLIMB_MARKER 30 
SECT_SO_SPRITE_OBJ 31 
SECT_SO_DONT_BOB 32 
SECT_SO_SINK_DEST 33 offset 
SECT_SO_DONT_SINK 34 
SECT_SO_FORM_WHIRLPOOL 37 depth 
SECT_ACTOR_BLOCK 38 
SECT_SO_CLIP_DIST 39 dist 
MULTI_PLAYER_START 42 pnum 
FIREBALL_TRAP 43 match 
BOLT_TRAP 44 match 
SECT_SO_DONT_ROTATE 45 
PARALLAX_LEVEL 46 plaxnum 
SECT_DONT_COPY_PALETTE 47 
MULTI_COOPERATIVE_START 48 pnum 
SO_SET_SPEED 49 
SO_SPIN 50 speed 
SO_SPIN_REVERSE 51 speed 
SO_BOB_START 52 amt 
SO_BOB_SPEED 53 speed 
SO_TURN_SPEED 55 speed 
LAVA_ERUPT 56 random 
SECT_EXPLODING_CEIL_FLOOR 57 match 
SECT_COPY_DEST 58 match 
SECT_COPY_SOURCE 59 match 
SHOOT_POINT 62 
SPEAR_TRAP 63 match 
SO_SYNC1 64 
SO_SYNC2 65 
DEMO_CAMERA 66 delta 
SO_LIMIT_TURN 68 delta 
SPAWN_SPOT 69 match 
SO_MATCH_EVENT 70 match 
SO_SLOPE_FLOOR_TO_POINT 71 
SO_SLOPE_CEILING_TO_POINT 72 
SO_TORNADO 73 
SO_FLOOR_MORPH 74 
SO_AMOEBA 75 
SO_MAX_DAMAGE 76 amt 
SO_RAM_DAMAGE 77 amt 
SO_CLIP_BOX 78 dist 
SO_SLIDE 79 
SO_KILLABLE 80 type 
SO_AUTO_TURRET 81 
SECT_DAMAGE 82 amt 
WARP_TELEPORTER 84 match 
WARP_CEILING_PLANE 85 match 
WARP_FLOOR_PLANE 86 match 
WARP_COPY_SPRITE1 87 match 
WARP_COPY_SPRITE2 88 match 
PLAX_GLOB_Z_ADJUST 90 z amt 
SECT_VATOR 92 match 
SECT_SPIKE_DEST 94 
CEILING_Z_ADJUST 97 amt 
FLOOR_Z_ADJUST 98 amt 
FLOOR_SLOPE_DONT_DRAW 99 
SO_SCALE_INFO 100 speed 
SO_SCALE_POINT_INFO 101 speed 
SO_SCALE_XY_MULTIPLY 102 
SECT_WALL_MOVE 103 match 
SECT_WALL_MOVE_CANSEE 104 match 
SECT_SPIKE 106 match 
LIGHTING 108 match 
LIGHTING_DIFFUSE 109 match 
SO_WALL_DONT_MOVE_UPPER 130 match 
SO_WALL_DONT_MOVE_LOWER 131 match 
BREAKABLE 132 match 
QUAKE_SPOT 133 
SOUND_SPOT - DOESN'T WORK YET 134 
SLIDE_SECTOR - NOT WORKING YET 
TRIGGER_SECTOR 140 
VIEW_LEVEL1 110 
VIEW_LEVEL2 111 
VIEW_LEVEL3 112 
VIEW_LEVEL4 113 
VIEW_LEVEL5 114 
VIEW_LEVEL6 115 
VIEW_THRU_CEILING 120 
VIEW_THRU_FLOOR 121 
BOUND_FLOOR_BASE_OFFSET 202 
BOUND_FLOOR_OFFSET 203 match 
SECT_SO_BOUNDING 500 to 600 
@end 