# -------------------------------------------
# Shadow Warrior BUILD Context Sensitive Help
# Compiled And Edited By Keith Schuler
# (c) 1997 3D Realms Entertainment
# -------------------------------------------

# This is the help file that holds the text used by Shadow Warrior BUILD
# to provide assistance with ST1 hitags. Most of this content is the same
# as is found in SPRITAGS.TXT

@tag0
Hitag 0:        SECT_SINK
                TAG2 = depth

        Place this in water, lava, or any sector with a floor surface you
        want Lo Wang to sink into. He will sink to the depth specified in
        TAG2. When building dive sectors (see Hitag 7: SECT_DIVE_AREA) TAG2
        needs to be at least 35. You probably never want to use a value
        greater than 40, or the player's view may become distorted. NOTE: If
        used with a lava texture, SECT_SINK will cause Lo Wang to take damage
        when stepping in the sector.
        EXAMPLES: AA and BB in EXAMPLE.MAP
        SEE ALSO: PLAX_GLOB_Z_ADJUST (hitag 90), CEILING_Z_ADJUST (hitag 97),
                  FLOOR_Z_ADJUST (hitag 98)

@tag1
Hitag 1:        SECT_OPERATIONAL

        Place this in a sector of a driveable sector object. This will be the
        sector the player must stand in and press SPACE to operate the
        driveable.
        EXAMPLES: EE and EF in EXAMPLE.MAP

@tag3
Hitag 3:        SECT_CURRENT
		TAG2 = speed
		TAG4 = ang

        If SECT_CURRENT is used in a sector along with either a SECT_SINK
        (Hitag 0), a SECT_UNDERWATER (Hitag 8), or a SECT_UNDERWATER2 (Hitag
        9), the player will be moved in the direction the SECT_CURRENT
        is facing, at the speed designated in TAG2.
        EXAMPLES: AA and BB in EXAMPLE.MAP
        SEE ALSO: SECT_SINK (hitag 0), SECT_UNDERWATER (hitag 8),
                  SECT_FLOOR_PAN (hitag 19)

@tag5
Hitag 5:        SECT_NO_RIDE

        Use SECT_NO_RIDE in any sector of a moving sector object to keep the
        player from moving with that sector.
        EXAMPLES: EC, FC and FD in EXAMPLE.MAP

@tag7
Hitag 7:        SECT_DIVE_AREA
                TAG2 = match (non zero)

        Diving area - pressing the CROUCH key when here will teleport the
        player to an UNDERWATER (Hitag 8) area with a matching UNIQUE match
        tag. You must also have a SECT_SINK (Hitag 0) sprite in the same
        sector with a TAG2 of at least 35 for this to work. 
        EXAMPLES: BA in EXAMPLE.MAP
        SEE ALSO: SECT_SINK (hitag 0), SECT_UNDERWATER (hitag 8)                  

@tag8
Hitag 8:        SECT_UNDERWATER
                TAG2 = match

        Underwater area - floating to the ceiling of this area will teleport
        the player to the DIVE_AREA (hitag 7) with a matching UNIQUE non
        zero match tag. IMPORTANT: The over- and underwater sectors need to
        have congruent shapes, and the SECT_DIVE_AREA sprite and the
        SECT_UNDERWATER sprite need to be in the same relative position for
        both of their respective sectors. IMPORTANT: A zero in TAG2 denotes
        that this is a swim area with no matching SECT_DIVE_AREA. This can be
        used for areas where the player cannot surface.
        EXAMPLES: BA in EXAMPLE.MAP
        SEE ALSO: SECT_DIVE_AREA (hitag 7), SECT_UNDERWATER2 (hitag 9)

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

        Secondary Underwater area - floating to the surface of this area will
        teleport you to the SECT_DIVE_AREA (hitag 7) with a matching unique
        match tag. SECT_UNDERWATER2 allows you to split an underwater area
        into multiple sectors, while still having a single large DIVE_AREA
        sector.
        EXAMPLES: BA in EXAMPLE.MAP
        SEE ALSO: SECT_DIVE_AREA (hitag 7), SECT_UNDERWATER (hitag 8)

@tag16
Hitag 16:       SO_ANGLE
		TAG4 = Angle of Sector Object

        Place this anywhere in a sector object to tell Shadow Warrior which
        end is the front. This will affect the orientation of a sector
        object as it follows a track or is operated by the player.
        EXAMPLES: EE, EF, and FA in EXAMPLE.MAP

@tag19
Hitag 19:       SECT_FLOOR_PAN
                TAG2  = speed - 0 to 16386
                TAG4  = ang
                BOOL1 = Move with speed of sector object

        This causes the floor of the sector it's in to pan in the direction
        indicated by TAG4 at the rate indicated by TAG2. Set BOOL1 to "1"
        if the sector is part of a sector object and you want the floor to
        pan at the same speed the sector object is moving. The BOOL1 feature
        is primarily used to simulate moving tank treads on driveable
        sector objects.
        EXAMPLES: BB in EXAMPLE.MAP
        SEE ALSO: SECT_CEILING_PAN (hitag 21), WALL_PAN_SPEED (hitag 23)

@tag21
Hitag 21:       SECT_CEILING_PAN
                TAG2  = speed - 0 to 16386
                TAG4  = ang
                BOOL1 = Move with speed of sector object

        This causes the ceiling of the sector it's in to pan in the direction
        indicated by TAG4 at the rate indicated by TAG2. Set BOOL1 to "1"
        if the sector is part of a sector object and you want the ceiling
        to pan at the same speed the sector object is moving.
        EXAMPLES: BB in EXAMPLE.MAP
        SEE ALSO: SECT_FLOOR_PAN (hitag 19), WALL_PAN_SPEED (hitag 23)

@tag23
Hitag 23:       WALL_PAN_SPEED
                TAG2  = speed - 0 to 16386
                TAG4  = point sprite at desired wall
                TAG6  = angle of panning
		BOOL1 = Move with speed of sector object

        Point the sprite at the wall you want it to affect. That wall's
        texture will pan in the direction indicated by TAG6 at the rate
        indicated by TAG2. Set BOOL1 to "1" if the wall is part of a
        sector object and you want the wall texture to pan at the same
        speed the sector object is moving. This feature is usually used
        to simulate tank treads on driveable sector objects.
        EXAMPLES: BB in EXAMPLE.MAP
        SEE ALSO: SECT_CEILING_PAN (hitag 21), SECT_FLOOR_PAN (hitag 19)

@tag29
Hitag 29:       SECT_LOCK_DOOR
		TAG2 = type
                        1 = RED KEYCARD
                        2 = BLUE KEYCARD
                        3 = GREEN KEYCARD
                        4 = YELLOW KEYCARD
                        5 = GOLD MASTER KEY
                        6 = SILVER MASTER KEY
                        7 = BRONZE MASTER KEY
                        8 = RED MASTER KEY

        Lock the door. Must have the correct key to open it. Works for
        rotating, sliding, and all vator uses including switches. Place it in
        the same sector with a SECT_VATOR (hitag 92), SECT_ROTATOR
        (hitag 143), or SECT_SLIDOR (hitag 145).
        EXAMPLES: EB in EXAMPLE.MAP

@tag30
Hitag 30:       SPRI_CLIMB_MARKER
                TAG4 = angle

        Center this sprite on the ladder and set the angle pointing out away
        from the wall. The position of the sprite is important, because that
        is the (x,y) location the player sprite will be in while climbing
        the ladder. Used in conjunction with TAG_WALL_CLIMB (walltag 305).
        EXAMPLES: BC and DF in EXAMPLE.MAP

@tag31
Hitag 31:       SECT_SO_SPRITE_OBJ

        Place this ST1 anywhere in a sector object. Makes a sector object
        become a "sprite object." The sprites will move but the sectors will
        not. Sprite objects can cross sector boundries, whereas regular
        sector objects cannot.
        EXAMPLES: EC in EXAMPLE.MAP

@tag32
Hitag 32:       SECT_SO_DONT_BOB

        Mark a sector in a bobbing sector object so it will not bob with the
        rest of the sector. Look at the boat in $WHIRL.MAP for an example.
        SEE ALSO: SO_BOB_START (hitag 52), SO_BOB_SPEED (hitag 53)

@tag33
Hitag 33:       SECT_SO_SINK_DEST
                TAG2 = offset

        Mark a sector in a sector object as the destination for sinking.
        It will not sink with other sectors. TAG2 is the offset from the
        sector's current floor height to use as the sinking destination.
        Look at the boat in $WHIRL.MAP for an example.
        SEE ALSO: SECT_SO_DONT_SINK (hitag 34)

@tag34
Hitag 34:       SECT_SO_DONT_SINK

        Mark a sector in a sector object so it will not sink with other
        sectors. Look at the boat in $WHIRL.MAP for an example.
        SEE ALSO: SECT_SO_SINK_DEST (hitag 33)

@tag37
Hitag 37:       SECT_SO_FORM_WHIRLPOOL
                TAG2 = depth

        Lower the whirlpool sectors to a 'depth' level, when the appropriate
        track sprite is reached by the sector object.
        (TRACK_SO_FORM_WHIRLPOOL, tracktag 724) Look at the boat in
        $WHIRL.MAP for an example.

@tag38
Hitag 38:       SECT_ACTOR_BLOCK

        Mark a sector to keep enemy actors from entering, but the player can
        still enter. Both enemies and the player can still fire weapons
        through the sector.
        EXAMPLES: BC in EXAMPLE.MAP

@tag42
Hitag 42:       MULTI_PLAYER_START
                TAG2 = (0 to 7) player number
                TAG4 = angle to start facing

        These mark the positions where players will spawn in WangBang games.
        The players' feet will be placed at the same height as the bottom of
        the ST1 sprite, so place them on the floor unless you want the player
        to fall. Always be sure to include start point 0.
        EXAMPLES: Any game map
        SEE ALSO: MULTI_COOPERATIVE_START (hitag 48)

@tag43
Hitag 43:       FIREBALL_TRAP
		TAG2 = match
		TAG4 = angle

        Shoots a fireball from the location of this sprite in the direction
        the angle is pointing when a sector tagged TAG_TRIGGER_MISSILE_TRAP
        (sector tag 43) is stepped on.
        EXAMPLES: BD in EXAMPLE.MAP
        SEE ALSO: BOLT_TRAP (hitag 44), SPEAR_TRAP (hitag 63)

@tag44
Hitag 44:       BOLT_TRAP
		TAG2 = match
		TAG4 = angle

        Shoots a rocket from the location of this sprite in the direction the
        angle is pointing when a sector tagged TAG_TRIGGER_MISSILE_TRAP
        (sector tag 43) is stepped on.
        EXAMPLES: BD in EXAMPLE.MAP
        SEE ALSO: FIREBALL_TRAP (hitag 43), SPEAR_TRAP (hitag 63)

@tag45
Hitag 45:       SECT_SO_DONT_ROTATE

        Causes a sector object to move without rotating as it follows its
        track or is driven by the player. Place in the center sector.
        EXAMPLES: FB in EXAMPLE.MAP
        SEE ALSO: SO_TURN_SPEED (hitag 55), SO_LIMIT_TURN (hitag 68)

@tag46
Hitag 46:       PARALLAX_LEVEL
                TAG2 = parallax sky type

        Set parallax sky type to 0, 1, or 2. This value adjusts the xrepeat
        of the sky texture. You only need to place one per level in a single
        sector that uses a parallax sky texture, and it will affect the whole
        level. If more than one is placed in a map, the sky will usually
        behave strangely.
        EXAMPLES: BE in EXAMPLE.MAP

@tag47
Hitag 47:       SECT_DONT_COPY_PALETTE

        Normally any sprites or the player standing on a palette swapped
        floor take on the palette of the floor. Use this ST1 on sectors where
        you don't want this to happen.
        EXAMPLES: BE in EXAMPLE.MAP

@tag48
Hitag 48:       MULTI_COOPERATIVE_START
                TAG2 = (0 to 7) player number
                TAG4 = angle to start facing

        Spawn spots for cooperative multi-player games. The players' feet
        will be placed at the same height as the bottom of the ST1 sprite,
        so place them on the floor unless you want the player to fall.
        Always be sure to include start point 0.
        EXAMPLES: Any game map
        SEE ALSO: MULTI_PLAYER_START (hitag 42)

@tag49
Hitag 49:       SO_SET_SPEED
                TAG2 = speed (2 to 128)

        Sets the speed at which a sector object follows a track. This is
        functionally the same as TRACK_SET_SPEED (tracktag 702).
        EXAMPLES: FA in EXAMPLE.MAP

@tag50
Hitag 50:       SO_SPIN
                TAG2 = speed

        Causes a sector object to spin clockwise at the rate specified in
        TAG2. This is functionally the same as TRACK_SPIN (tracktag 715).
        EXAMPLES: EC in EXAMPLE.MAP
        SEE ALSO: SO_SPIN_REVERSE (hitag 51)

@tag51
Hitag 51:       SO_SPIN_REVERSE
                TAG2 = speed

        Causes a sector object to spin counter-clockwise at the rate
        specified in TAG2. This is functionally the same as
        TRACK_SPIN_REVERSE (tracktag 720).
        EXAMPLES: EC in EXAMPLE.MAP
        SEE ALSO: SO_SPIN (hitag 50)

@tag52
Hitag 52:       SO_BOB_START
                TAG2 = bobbing amount

        Causes a sector object to bob up and down continuously. TAG2
        specifies how high the object will bob. This is functionally the
        same as TRACK_BOB_START (tracktag 717).
        EXAMPLES: $WHIRL.MAP
        SEE ALSO: SO_BOB_SPEED (hitag 53), SECT_SO_DONT_BOB (hitag 32)

@tag53
Hitag 53:       SO_BOB_SPEED
                TAG2 = speed

        Place in the same sector with SO_BOB_START (hitag 52). TAG2
        specifies the speed at which the sector object will bob. This is
        functionally the same as TRACK_BOB_SPEED (tracktag 718).
        EXAMPLES: $WHIRL.MAP
        SEE ALSO: SO_BOB_START (hitag 52), SECT_SO_DONT_BOB (hitag 32)

@tag55
Hitag 55:       SO_TURN_SPEED
                TAG2 = speed (0 is fastest)

        Determines how fast a sector object turns to meet the new angle as it
        follows a track. The default is 4. For some reason this has no track
        tag functional equivalent.
        EXAMPLES: FA in EXAMPLE.MAP
        SEE ALSO: SECT_SO_DONT_ROTATE (hitag 45), SO_LIMIT_TURN (hitag 68)

@tag56
Hitag 56:       LAVA_ERUPT
                TAG2  = (1 to 1024) The larger the number the more stuff
                       erupts.
                TAG3  = type of eruption
                        0 = lava shards
			1 = volcano boulders
                TAG4  = angle of eruption
                TAG5  = angle delta from TAG4
                TAG6  = max x/y velocity 
                TAG7  = z velocity amount
                TAG8  = z velocity random amount - added to TAG5 value
                TAG9  = erupt for this many seconds - default 10
		TAG10 = wait for this many seconds till next eruption
		BOOL1 = don't spawn unless player is in TRIGGER_SECTOR

        This ST1 will spawn lava debris at its location. The lava will
        constantly erupt in intervals (killing framerate) unless BOOL1 is
        set to "1", in which case you will need to set up trigger sectors.
        See TRIGGER_SECTOR (hitag 140.) Then the lava will only erupt while
        the player is standing in those sectors.
        EXAMPLES: BF in EXAMPLE.MAP

@tag57
Hitag 57:       SECT_EXPLODING_CEIL_FLOOR
                TAG2 = match

        Pulls the ceiling and floor together at pre-map. The ceiling and
        floor can then be explosively blown apart by shooting a
        TAG_SPRITE_HIT_MATCH (lotag 257), otherwise known as a crack
        sprite. The TAG_SPRITE_HIT_MATCH hitag must match TAG2 of this ST1.
        EXAMPLES: CA in EXAMPLE.MAP
        SEE ALSO: SECT_COPY_DEST (hitag 58), SECT_COPY_SOURCE (hitag 59)

@tag58
Hitag 58:       SECT_COPY_DEST
		TAG2 = match
		TAG3 = sector source-dest match
                
        Effectively copies all of the source sector attributes to the
        destination sector when triggered. This is probably the most
        powerful feature of Shadow Warrior, because it lets you do so many
        cool things to a map. Examples are scattered throughout almost
        every map. You can 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 source to the destination also. It's very important
        that the source and destination sectors be congruent. TAG2 is an
        event match (i.e. hit a switch and the copy occurs), while TAG3
        serves to identify which source sector belongs to which destination
        sector when copying multiple sectors at the same time. Copy sector
        58-59 tags will activate in conjuction with matching SECT_MOVE_WALL
        (hitag 103) tags AFTER the copy is done. Copy sector 58-59 tags
        should remove any visible sprites from the destination sector,
        although this doesn't apply to gettable items. Copy sector 58-59
        tags will activate in conjuction with matching SPAWN_SPOT tags
        AFTER the copy is done.
        EXAMPLES: CB in EXAMPLE.MAP
        SEE ALSO: SECT_COPY_SOURCE (hitag 59), SECT_EXPLODING_CEIL_FLOOR
                  (hitag 57)

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

        This is the source from which a destination sector is copied. See
        SECT_COPY_DEST (hitag 58) for more information.
        EXAMPLES: CB in EXAMPLE.MAP
        SEE ALSO: SECT_COPY_DEST (hitag 58), SECT_EXPLODING_CEIL_FLOOR
                  (hitag 57)

@tag62
Hitag 62:       SHOOT_POINT
                TAG2 = match - if non 0 then it will call
                       DoMatchEverything every time sector object is fired.
                       Can be a one time operation with BOOL1. 
                TAG3 = ammo type
			-1/255 = Do nothing shoot point - primarily to make
                                 the player's weapon go away
                        0      = Tank shell
                        1      = Machine gun
                        2      = Laser
                        3      = Rail gun
                        4      = Fireball
                        5      = Rocket
                        6      = Micro Missle Battery
                TAG4 = angle
                TAG5 = delay until next fire in 120th of a second tics
                       (i.e. 60 = half a second) Defaults to 80, except
                       ammo type 1, which defaults to 6.
                TAG6 = Sound Spot match - Calls SOUND_SPOT (hitag 134) with
                       this match tag
                BOOL1= If "1" then TAG2 is reset to 0 after the first use.
        
        For operational sector objects and auto turrets. Sets the point
        from which the sector object shoots. Place on the end of a gun barrel
        and point the sprite in the desired shooting direction. When a shoot
        point exists on an operational sector object, the player's weapon is
        no longer used, otherwise the player's weapon stays up. Sometimes
        TAG6 is not needed because some ammo types have default sounds.
        EXAMPLES: EE and EF in EXAMPLE.MAP

@tag63
Hitag 63:       SPEAR_TRAP
		TAG2 = match
		TAG4 = ang

        Shoots an arrow from the location of this sprite in the direction
        the angle is pointing when a sector tagged TAG_TRIGGER_MISSILE_TRAP
        (sector tag 43) is stepped on.
        EXAMPLES: BD in EXAMPLE.MAP
        SEE ALSO: FIREBALL_TRAP (hitag 43), BOLT_TRAP (hitag 44)

@tag64
Hitag 64:       SO_SYNC1

        Place in a sector object. Keeps sector objects running a constant
        rate so they can stay in sync better if needed. Possibly useful for
        meshing gears or something. If it's rideable use SYNC1. Only use
        this when you absolutely need to. (NOTE: This isn't used anywhere in
        Shadow Warrior, and probably isn't even necessary.)
        SEE ALSO: SO_SYNC2 (hitag 65)

@tag65
Hitag 65:       SO_SYNC2

        Same as SO_SYNC1 (hitag 64), only slightly faster. If it's rideable
        use SYNC1. Only use this when you absolutely need to. (NOTE: This
        isn't used anywhere in Shadow Warrior, and probably isn't even
        necessary.)

@tag66
Hitag 66:       DEMO_CAMERA
                TAG2 = delta ang
                TAG3 = camera type (0 or 1)
                TAG4 = angle

        A third person camera view which is used when playing back demos, or
        when playing with the -cam command line option. Point it in the
        direction you want the camera to face. TAG2 is the amount the camera
        will turn in either direction (512 = 90 degrees). If TAG3 is 1, then
        a special camera will be used which orbits around the player at a
        constant distance, speed, and height, until the player moves out of
        the camera's view.
        EXAMPLES: FD in EXAMPLE.MAP
        SEE ALSO: MIRROR_CAM (hitag 1000)

@tag68
Hitag 68:       SO_LIMIT_TURN
                TAG2 = delta ang

        Limit the turning of sector object. Especially useful with turrets.
        Point the SO_LIMIT_TURN sprite in the center direction. TAG2 is the
        amount the sector object can pivot in either direction.
        (512 = 90 degrees either way, for a 180 degree total range of motion)
        EXAMPLES: EE in EXAMPLE.MAP
        SEE ALSO: SECT_SO_DONT_ROTATE (hitag 45), SO_TURN_SPEED (hitag 55)

@tag69
Hitag 69:       SPAWN_SPOT
                TAG2 = Match
                TAG3 = Type of effect to spawn
                        0  = Nothing
                        1  = Breaking glass
                        2  = Wood smashed
                        3  = Smoke, but only used for damaged sector objects
                        4  = Rice paper (silent)
                        5  = Blood splat (silent)
                        6  = Standard explosion
                        7  = Explosion w/phosphorous
                        8  = Breaking metal
                        9  = Crumbling stone
                        11 = Gib splat
                        12 = Wood smashed
                        13 = Crumbling stone
                TAG4 = Direction debris flies out in
                TAG5 = Time delay before activating in 1/8 second tics 
                TAG6 = Always set this equal to TAG3
                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= Increase size of shraps (0-255)

        Spawn some effect triggered by just about anything. This is used a
        lot throughout the game for various special effects, including
        crumbling ceilings, large complex explosions, and breakable sprites.
        EXAMPLES: CC in EXAMPLE.MAP
        SEE ALSO: SECT_EXPLODING_CEIL_FLOOR (hitag 57), SPAWN_ITEMS
                  (hitag 149)

@tag70
Hitag 70:       SO_MATCH_EVENT
                TAG2  = Match
                TAG3  = Spin_speed adjust - can be negative or positive
                TAG7  = Velocity adjustment
                BOOL1 = Velocity adjustment type
                        0: Velocity adjust is instant
                        1: Velocity adjust is approached
                BOOL2 = Direction flip
                        0: False
                        1: True
                BOOL3 = Toggle help only used for triggers and things that
                        don't have a definite ON/OFF.
                        0: Off
                        1: On

        Certain sector object effects, like SO_SCALE_INFO (hitag 100) and
        SO_KILLABLE (hitag 80), can be triggered by a match tag event.
        This is accomplished using SO_MATCH_EVENT. The adjustment values
        are added when the event is ON, and they are subtracted when the
        event is OFF. You may need to experiment with this a bit, since we
        didn't use it very much in the game.
        EXAMPLES: EE in EXAMPLE.MAP

@tag71
Hitag 71:       SO_SLOPE_FLOOR_TO_POINT
                
        Aligns a sloping floor sector in a sector object to a point tagged as
        TAG_WALL_ALIGN_SLOPE_TO_POINT (walltag 550). Generally used with
        a spike or drill effect rising up from the floor. See also
        SO_SLOPE_CEILING_TO_POINT (hitag 72).

@tag72
Hitag 72:       SO_SLOPE_CEILING_TO_POINT

        Aligns a sloping floor sector in a sector object to a point tagged as
        TAG_WALL_ALIGN_SLOPE_TO_POINT (walltag 550). Generally used with
        a tornado or whirlpool effect coming down from the ceiling. See also
        SO_SLOPE_FLOOR_TO_POINT (hitag 71).
        EXAMPLES: ED in EXAMPLE.MAP

@tag73
Hitag 73:       SO_TORNADO

        This sets up a sector object to behave like a tornado.
        EXAMPLES: ED in EXAMPLE.MAP
        SEE ALSO: SO_AMOEBA (hitag 75), SO_AUTO_TURRET (hitag 81)

@tag75
Hitag 75:       SO_AMOEBA

        This sets up a sector object to behave like an amoeba.
        EXAMPLES: EC in EXAMPLE.MAP
        SEE ALSO: SO_TORNADO (hitag 73), SO_AUTO_TURRET (hitag 81),
                  SO_SCALE_INFO (hitag 100)

@tag76
Hitag 76:       SO_MAX_DAMAGE
                TAG2 = Max amount of damage a sector object can take before
                       breaking
                TAG3 = Always set to 0
                TAG5 = Initial damage setting (-1 is broken) - if this value
                       is 0 it is set to the value of TAG2 (full health)

        Damage for operational and auto turret sector objects. Sector objects
        only take damage from explosive type weapons, not machine gun types.
        Be sure to add a SPAWN_SPOT (hitag 69) with TAG3 set to 3 for the
        smoke effect. When the driveable is broken, it will trigger the
        smoke, and when the object is repaired, the smoke will go away again.
        EXAMPLES: EE in EXAMPLE.MAP
        SEE ALSO: SO_KILLABLE (hitag 80)

@tag77
Hitag 77:       SO_RAM_DAMAGE
                TAG2 = Damage amount

        Damage amount done by ramming with an operational sector object.
        Not needed for running over actors, since this is done by default.
        This is usually used for ramming killable sector objects or other
        operational sector objects.

@tag80
Hitag 80:       SO_KILLABLE
                
        Marks a sector object as killable. A sector object can be killed
        either when it receives enough damage, set by SO_MAX_DAMAGE
        (hitag 76), or when a match event occurs, set by SO_MATCH_EVENT
        (hitag 70). A killable sector object is actually completely
        deleted by becoming part of the sector surrounding the sector object.
        EXAMPLES: EE in EXAMPLE.MAP

@tag81
Hitag 81:       SO_AUTO_TURRET

        A sector object with a SO_AUTO_TURRET ST1 will always turn to face
        the player. Useful for a variety of effects, since it won't shoot the
        player unless you give it a SHOOT_POINT (hitag 62). A SHOOT_POINT
        on an auto turret will only fire the machine gun ammo type. The
        sector object center must have a sector hitag of 96 or 98 for this to
        work properly.
        EXAMPLES: EE in EXAMPLE.MAP
        SEE ALSO: SO_AMOEBA (hitag 75), SO_TORNADO (hitag 73)

@tag82
Hitag 82:       SECT_DAMAGE
                TAG2  = Damage done per second
                BOOL1 = 0, Does damage when touching floor of sector
                BOOL1 = 1, Does damage above sector - like swimming in lava

        Causes a sector to do damage to players and actors.
        EXAMPLES: CD in EXAMPLE.MAP

@tag84
Hitag 84:       WARP_TELEPORTER
                TAG2   = Match
                TAG3   = Type
                        0 = (default) Always teleports you to the matching
                            sprite location at the angle the sprite is facing
                        1 = (offset)  Always teleports you by the offset.
                            Does not affect the angle.
                TAG4   = Angle
                TAG5-8 = Random match locations in addition to TAG2
                TAG10  = Teleport or don't
                        0 = (two-way) Teleport when you enter this sector
                        1 = (one-way) Don't teleport when you hit this sector

        Magic teleporter warps just about anything from one sector to
        another. If TAG3 is "0", then a magic shimmering effect and sound
        will occur. It is very important that the destination sector be at
        least as large as the source sector, or the game may quit with an
        error.
        EXAMPLES: CD in EXAMPLE.MAP
        SEE ALSO: WARP_CEILING_PLANE (hitag 85), WARP_FLOOR_PLANE (hitag 86),
                  WARP_COPY_SPRITE1 (hitag 87), WARP_COPY_SPRITE2 (hitag 88)

@tag85
Hitag 85:       WARP_CEILING_PLANE
                TAG2 = Match

        If the player's 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 (hitag 86) will occur.
        EXAMPLES: CE in EXAMPLE.MAP
        SEE ALSO: WARP_TELEPORTER (hitag 84), WARP_FLOOR_PLANE (hitag 86),
                  WARP_COPY_SPRITE1 (hitag 87), WARP_COPY_SPRITE2 (hitag 88),

@tag86
Hitag 86:       WARP_FLOOR_PLANE
                TAG2 = Match

        If the player's 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.
        EXAMPLES: CE in EXAMPLE.MAP
        SEE ALSO: WARP_CEILING_PLANE (hitag 85), WARP_TELEPORTER (hitag 84),
                  WARP_COPY_SPRITE1 (hitag 87), WARP_COPY_SPRITE2 (hitag 88)

@tag87
Hitag 87:       WARP_COPY_SPRITE1
                TAG2 = Match WARP_COPY_SPRITE2 tag

        Any sprite that enters a sector marked with WARP_COPY_SPRITE1 will
        cause a duplicate image to appear in the sector marked with a
        WARP_COPY_SPRITE2 (hitag 88) with matching TAG2.
        EXAMPLES: CE in EXAMPLE.MAP
        SEE ALSO: WARP_CEILING_PLANE (hitag 85), WARP_FLOOR_PLANE (hitag 86),
                  WARP_TELEPORTER (hitag 84), WARP_COPY_SPRITE2 (hitag 88)

@tag88
Hitag 88:       WARP_COPY_SPRITE2
                TAG2 = match WARP_COPY_SPRITE1 tag

        Any sprite that enters a sector marked with WARP_COPY_SPRITE2 will
        cause a duplicate image to appear in the sector marked with a
        WARP_COPY_SPRITE2 (hitag 87) with matching TAG2.
        EXAMPLES: CE in EXAMPLE.MAP
        SEE ALSO: WARP_CEILING_PLANE (hitag 85), WARP_FLOOR_PLANE (hitag 86),
                  WARP_COPY_SPRITE1 (hitag 87), WARP_TELEPORTER (hitag 84)

@tag90
Hitag 90:       PLAX_GLOB_Z_ADJUST
                TAG2 = Ceiling z movement in pixels 
                TAG3 = Floor z movement in pixels 
                
        Global parallax ceiling and floor adjustment. Default is 500 pixels.
        This affects how far past the actual surface height a sprite can
        move in sectors with parallax ceilings and floors.
        SEE ALSO: FLOOR_Z_ADJUST (hitag 98), CEILING_Z_ADJUST (hitag 97),
                  SECT_SINK (hitag 0)

@tag92
Hitag 92:       SECT_VATOR
		TAG2 = match
		TAG3 = Type
                        0 = Manual/Switch/Trigger - Primarily used for a
                            basic manually operated door. 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 - works from either within the
                            sector or alongside of the sector.
                            Switch operation - switch resets when the vator
                            goes to default position.
                            Trigger operation - same as switch but it's 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
                            with a switch or trigger
                TAG4 = Speed
                TAG5 = Acceleration at which door approaches TAG4
                TAG6 = Match at destination - when a vator reaches its
                       destination it will trigger any event with this
                       match tag
                TAG9 = Auto return time - 1/8th of a second resolution - if
                       non 0 then the vator will return to default position
                       after alloted time - if 0 then it will stay in the on
                       position until operated again
                BOOL1=  0: Start in the off position
                        1: Start in the on position
                BOOL2=  0: Toggle
                        1: Operate once only
                BOOL3=  0: Crush player
                        1: Don't crush player
                BOOL4 = 0: Operate in WangBang games
                        1: Not allowed to operate in WangBang games
                BOOL5 = 0: Don't call TAG6 match when moving to OFF position
                        1: Call TAG6 match when moving to the ON or OFF
                           position
                BOOL6 = 0: Wait until motion is complete before it can be
                           operated again
                        1: Can be operated again while sector is in motion
                BOOL7 = 0: Actors are allowed to operate this vator
                        1: Actors can't operate this vator
                BOOL11= 1: Displays "Single play only" message when
                           operated in WangBang. Use with BOOL4.

Elevators, stompers, doors, lifts and other tricks are collectively called
"vators." The "off" position is the position of the sector in BUILD, the "on"
position is the height of the ST1 sprite. Flip the ST1 sprite upside down
(by pressing "F" twice on it) to do a ceiling vator like a door or stomper.
Any vator can be locked by placing a SECT_LOCK_DOOR (hitag 29) in the same
sector. Two SECT_VATOR sprites can be placed in a sector to operate the
ceiling and floor separately.
EXAMPLES: DB in EXAMPLE.MAP
SEE ALSO: SECT_ROTATOR (hitag 143), SECT_SLIDOR (hitag 145),
          SECT_SPIKE (hitag 106)

@tag97
Hitag 97:       CEILING_Z_ADJUST
                TAG2 = Amount

        Allows the player and actors to 'sink' into the ceiling of a sector
        by the amount in TAG2. The player view will probably be strange
        unless the ceiling texture is a parallax sky.
        EXAMPLES: $VOLCANO.MAP
        SEE ALSO: PLAX_GLOB_Z_ADJUST (hitag 90), FLOOR_Z_ADJUST (hitag 98),
                  SECT_SINK (hitag 0)

@tag98
Hitag 98:       FLOOR_Z_ADJUST
                TAG2 = Amount

        Allows the player and actors to sink into the floor of a sector
        by the amount in TAG2.
        EXAMPLES: AB and CE in EXAMPLE.MAP
        SEE ALSO: PLAX_GLOB_Z_ADJUST (hitag 90), CEILING_Z_ADJUST (hitag 97),
                  SECT_SINK (hitag 0)

@tag99
Hitag 99:       FLOOR_SLOPE_DONT_DRAW

        Use this ST1 in any sector with a sloped floor and the slope angle
        will be set to 0 when the scene is drawn. The sector will still act
        like a slope for all movement purposes.
        EXAMPLES: CE in EXAMPLE.MAP

@tag100
Hitag 100:      SO_SCALE_INFO
		TAG2 = Speed
                TAG3 = Start position
                       0 = start at min
                       1 = start at max
                TAG4 = Initial type
                       0 = None
                       1 = Hold
                       2 = Destination
                       3 = Random
                       4 = Cycle
                       5 = Random point
                           Needs SO_SCALE_POINT_INFO (hitag 101)
                TAG5 = Min dist - distance from default size to scale inward
                TAG6 = Max dist - distance from default size to scale outward
                TAG7 = Activate type - same types as TAG4, but this what
                       happens after the sector object is activated with a
                       SO_MATCH_EVENT (hitag 70)
                TAG8 = Random frequency (0-64) - The lower the number the
                       slower the random direction change.

        This allows you to scale simple sector objects. "Hold" type maintains
        the default scale. "Destination" moves either to the minimum or
        maximum scaling size. "Random" is just that - the sector object
        scales larger and smaller randomly. "Cycle" continuously scales from
        min to max and back again. "Random point" is just like a SO_AMOEBA
        (hitag 75), except that SO_SCALE_INFO gives you greater control over
        its behavior.
        EXAMPLES: EE in EXAMPLE.MAP, the amoeba in $SHRINE.MAP
        SEE ALSO: SO_AMOEBA (hitag 75), SO_SCALE_POINT_INFO (hitag 101)

@tag101
Hitag 101:      SO_SCALE_POINT_INFO
		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

        SO_SCALE_POINT_INFO is used with a SO_SCALE_INFO (hitag 100) ST1 to
        provide information about how the vertices should behave. TAG5 and
        TAG6 are used to designate how far in and out the individual
        vertices should move at the speed in TAG2. Be careful; when wall
        points cross each other, strange and unpredictable sector behavior
        can occur.
        EXAMPLES: The amoeba in $SHRINE.MAP
        SEE ALSO: SO_AMOEBA (hitag 75), SO_SCALE_INFO (hitag 100)

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

        Use in conjunction with SO_SCALE_INFO (hitag 100) and
        SO_SCALE_POINT_INFO (hitag 101). Try experimenting with this to see
        what kind of effects you can achieve.

@tag103
Hitag 103:      SECT_WALL_MOVE
                TAG2 = Match - triggering one of these will trigger all
                       SECT_WALL_MOVE ST1's with the same matching tags.
                       This will also trigger SPAWN_SPOT ST1's.
                TAG3 = Match with a SECT_WALL_MOVE_CANSEE (hitag 104)
                TAG4 = Angle - point in the direction you want the wall point
                       to move
                TAG5 = Pic 1 - Next wall texture
                TAG6 = Pic 2 - Previous wall texture 
                TAG7 = Shade 1 - Next wall shade
                TAG8 = Shade 2 - Previous wall shade
                TAG9 = Number of times the point can be shot
                TAG10= Random angle difference - 1 to 128 - the larger the
                       number the greater the angle deviance.
                TAG13= Distance to move point each time it's shot
                BOOL1= 0: Can work independently
                       1: Only activated as part of a TAG3 group

        This creates a dentable wall. Every time the wall vertex is shot with
        an explosive weapon, it will move the distance in TAG13, up to TAG9
        times. Place the ST1 sprite on TOP of the vertex to move. One vertex
        will move. Every vertex is associated with two walls: the next wall
        and the previous wall. If TAG5 or TAG6 are non-zero, then that wall
        will take on the specified texture when the vertex is shot. If TAG7
        or TAG8 are non-zero, then that wall will take on the new shade
        value specified. This will work for sector object walls with one
        limitation: you cannot tag the outside wall loop tagged with a 504 to
        be moveable. NOTE: Changing the value of TAG13 will cause the ST1
        sprite to move strangely in 3D editing mode. Don't worry. If 2D mode
        says it's on the vertex, then it's on the vertex.
        EXAMPLES: DA in EXAMPLE.MAP
        SEE ALSO: SECT_WALL_MOVE_CANSEE (hitag 104), SPAWN_SPOT (hitag 69),
                  SECT_EXPLODING_CEIL_FLOOR (hitag 57)

@tag104
Hitag 104:      SECT_WALL_MOVE_CANSEE
                TAG2 = Match with TAG3 of SECT_MOVE_WALL (hitag 103)

        Placing sprites on wall points renders them somewhat unreliable for
        certain engine routines. 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. I have never needed to use
        this.
        EXAMPLES: DA in EXAMPLE.MAP

@tag106
Hitag 106:      SECT_SPIKE
                TAG2 = Match
		TAG3 = Type
                        0 = Manual/Switch/Trigger - primarily used 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. A spike can be manually
                            operated from either within the sector, or to the
                            side. With switch operation, the switch resets
                            when the spike goes to default position. With
                            trigger operation, it's the same as a switch but
                            it's a floor trigger.
                        1 = Switch/Trigger Only - cannot be operated manually
                            ALL spike types with the same matching tag get
                            operated on by the switch or trigger.
                        2 = Automatic - Starts active
                        3 = Automatic - Starts inactive, must be activated
                            with a switch or trigger.
                TAG4 = Speed
                TAG5 = Acceleration at which TAG4 speed is approached
                TAG6 = Match at destination - when a spike reaches its
                       destination it will trigger any event with this
                       match tag
                TAG7 = Sector object number to operate on. Set to -1 if the
                       SECT_SPIKE is not in a sector object.
                TAG9 = Auto return time - 1/8th of a second resolution - if
                       non 0 then the spike will return to its default
                       position after the alloted time. If 0 then it will
                       stay in the ON position until the spike is operated
                       again.
                BOOL1= 0: Start in the off position
                       1: Start in the on position
                BOOL2= 0: Toggle
                       1: Operate once only
                BOOL3= 0: Crush player
                       1: Don't crush player
                BOOL4= 0: Operate in WangBang games
                       1: Not allowed to operate in WangBang games
                BOOL5= 0: Don't call TAG6 match when moving to OFF position
                       1: Call TAG6 match when moving to the ON or OFF
                          position
                BOOL6= 0: Wait until motion is complete before it can be
                          operated again
                       1: Can be operated again while sector is in motion
                BOOL7= 0: Actors are allowed to operate this spike
                       1: Actors can't operate this spike
                BOOL11=1: Displays "Single play only" message when
                          operated in WangBang. Use with BOOL4.

        A "spike" is the term for a dynamic slope in Shadow Warrior. Useful
        for tilting ramps and slides, or special ceiling effects like a
        drill. A spike behaves pretty much like a vator, except instead of
        the floor height moving to the ST1, the floor instead slopes to the
        height of the ST1. Remember that slopes always hinge on the "first
        wall" of a sector (set with Alt-F). To do a spike from the ceiling,
        flip the ST1 sprite upside down (press "F" twice on the sprite in 3D
        mode). "Off" position is the position of the sector, "on" position is
        the height of the ST1 sprite. WARNING: Don't forget to put that -1
        in TAG7! Shadow Warrior will usually crash if you forget to do this.
        EXAMPLES: DC in EXAMPLE.MAP
        SEE ALSO: SECT_ROTATOR (hitag 143), SECT_SLIDOR (hitag 145),
                  SECT_VATOR (hitag 92), SLIDE_SECTOR (hitag 135)

@tag108
Hitag 108:      LIGHTING
                TAG2 = Match
                TAG3 = Type
                        0 = Constant
                        1 = Flicker
                        2 = Fade
                        3 = Flicker ON
                        4 = Fade to ON/OFF
                TAG4 = Timing - the smaller the number, the faster a light
                       flickers or fades
                TAG5 = Brighten amount - This is not an actual shade amount,
                       instead, this is the value the ST1 will subtract from
                       the sector's shade value (QUOTE-S in 3D mode) when it
                       is turned on.
                TAG6 = Darken amount - This is not an actual shade amount,
                       instead, this is the value the ST1 will add to the
                       sector's shade value when it is turned off.
                TAG7 = Shade increment/decrement for fading lights - default
                       is 1
                BOOL1= 0: Light is off
                       1: Light is on
                BOOL2= 1: Don't affect floor
                BOOL3= 1: Don't affect ceiling
                BOOL4= 1: Don't shade walls
                BOOL5= 1: Shade outer walls - red sectors have inner and
                          outer walls - by default LIGHTING will not shade
                          the outer walls
                BOOL6= 1: Don't affect the palette of the sector
                BOOL8= 1: Invert intensity. This means that the sector will
                          be brightened by TAG6 amount when the light is on,
                          and darkened by TAG5 amount when the light is off.
                          This is useful for making lights that flicker when
                          they are broken.
                BOOL10=   Direction to start a fade

        The sector will have the same palette as the LIGHTING sprite, even if
        the light is turned off. All LIGHTING ST1's with the same match tags
        will operate together.
        WARNING: Every LIGHTING sprite tends to have its own independent rate
        of fade or flicker. This means that if you a have a room comprised of
        multiple sectors and you put a flickering LIGHTING ST1 in every
        sector, they will all flicker at different rates and look really bad
        even if their TAG2's match. If you want a room of uniform flickering
        or fading, you need to place a single LIGHTING sprite in one sector
        and use LIGHTING_DIFFUSE (hitag 109) in all the sectors you want to
        share that lighting effect.
        EXAMPLES: DD in EXAMPLE.MAP
        SEE ALSO: LIGHTING_DIFFUSE (hitag 109)

@tag109
Hitag 109:      LIGHTING_DIFFUSE
                TAG2 = Match to a LIGHTING (hitag 108) TAG2
                TAG3 = Shade multiplier - the higher this number, the more
                       quickly the light grows dark with distance from the
                       light source
                TAG4 = Distance - 1 to 20 for diffuse lighting - The larger
                       the number the more distant, and therefore darker the
                       shade from the source.
                BOOL2= 1: Don't affect floor
                BOOL3= 1: Don't affect ceiling
                BOOL4= 1: Don't affect walls
                BOOL5= 1: Shade outer walls - red sectors have inner and
                          outer walls - by default LIGHTING_DIFFUSE will not
                          shade outer walls
                BOOL6= 1: Dont change palette

        Used with LIGHTING (hitag 108) to shade other sectors on a grade.
        Also used to copy a lighting effect (flickering, fading, palette)
        uniformly over multiple sectors. Though its difference from Duke
        Nukem's lighting may at first seem confusing, this method is
        actually more convenient. Once all the LIGHTING_DIFFUSE sprites are
        in place, you can change the lighting effect for an entire group of
        sectors just by changing the values of one sprite: the LIGHTING
        (hitag 108) ST1.
        EXAMPLES: DD in EXAMPLE.MAP
        SEE ALSO: LIGHTING (hitag 108)

@tag110
Hitag 110:      VIEW_LEVEL1
                TAG2 = View tag match
                TAG4 = Point up to turn it OFF
                       Point down to turn it ON

        A matching VIEW_LEVEL sprite must be in both the upper and lower
        sectors of any room-over-room areas where the player can look
        through the ceiling or floor into the other area. Use VIEW_LEVEL1
        in the lower areas. See ADVANCED.TXT for guidelines to building
        room-over-room areas.
        EXAMPLES: AC, AD, and FC in EXAMPLE.MAP
        SEE ALSO: VIEW_LEVEL2 (hitag 111), VIEW_THRU_CEILING (hitag 120),
                  VIEW_THRU_FLOOR (hitag 121), BOUND_FLOOR_BASE_OFFSET
                  (hitag 202), BOUND_FLOOR_OFFSET (hitag 203)

@tag111
Hitag 111:      VIEW_LEVEL2
                TAG2 = View tag match
                TAG4 = Point up to turn it OFF
                       Point down to turn it ON

        A matching VIEW_LEVEL sprite must be in both the upper and lower
        sectors of any room-over-room areas where the player can look
        through the ceiling or floor into the other area. Use VIEW_LEVEL2
        in the upper areas. See ADVANCED.TXT for guidelines to building
        room-over-room areas.
        EXAMPLES: AB, AE, and FE in EXAMPLE.MAP
        SEE ALSO: VIEW_LEVEL1 (hitag 110), VIEW_THRU_CEILING (hitag 120),
                  VIEW_THRU_FLOOR (hitag 121), BOUND_FLOOR_BASE_OFFSET
                  (hitag 202), BOUND_FLOOR_OFFSET (hitag 203)

@tag120
Hitag 120:      VIEW_THRU_CEILING
                TAG2 = View tag match

        Use this in a sector with a floor mirror texture on the ceiling in
        the lower half of a room-over-room area. The ST1 sprite must be in
        the same relative location in the sector as the VIEW_THRU_FLOOR
        (hitag 121) sprite in the upper sector. TAG2 will be the same as
        all the VIEW_LEVEL sprites and the VIEW_THRU_FLOOR sprite. See
        ADVANCED.TXT for guidelines to building room-over-room areas.
        EXAMPLES: AC, AD, and FC in EXAMPLE.MAP
        SEE ALSO: VIEW_LEVEL1 (hitag 110), VIEW_LEVEL2 (hitag 111),
                  VIEW_THRU_FLOOR (hitag 121), BOUND_FLOOR_BASE_OFFSET
                  (hitag 202), BOUND_FLOOR_OFFSET (hitag 203)

@tag121
Hitag 121:      VIEW_THRU_FLOOR
                TAG2 = View tag match

        Use this in a sector with a floor mirror texture on the floor in
        the upper half of a room-over-room area. The ST1 sprite must be in
        the same relative location in the sector as the VIEW_THRU_CEILING
        (hitag 120) sprite in the lower sector. TAG2 will be the same as
        all the VIEW_LEVEL sprites and the VIEW_THRU_CEILING sprite. See
        ADVANCED.TXT for guidelines to building room-over-room areas.
        EXAMPLES: AB, AE, and FE in EXAMPLE.MAP
        SEE ALSO: VIEW_LEVEL1 (hitag 110), VIEW_THRU_CEILING (hitag 120),
                  VIEW_LEVEL2 (hitag 121), BOUND_FLOOR_BASE_OFFSET
                  (hitag 202), BOUND_FLOOR_OFFSET (hitag 203)

@tag132
Hitag 132:      BREAKABLE
                TAG2 = Match - used to match up with BREAKABLE_SPRITE
                       (hitag 132 on a non-ST1 sprite) or TAG_BREAK_WALL
                       (walltag 307)
                TAG5 = Picnum to change to after BROKEN
                       Not needed if TAG8 = "1"
                TAG7 = Number of damage hits to take before a sprite or
                       wall texture is BROKEN. Note that if this is set to 2
                       or greater the picnum will increment toward TAG5 until
                       TAG5 is reached. The graphics in the art file must be
                       imported in the correct order to support this. Nothing
                       in Shadow Warrior uses this, but the functionality is
                       there for anybody who feels like importing their own
                       art.
                TAG8 = BROKEN type: 
                       0 = Change the picnum only
                       1 = Kill sprite/wallpic when BROKEN
                           For walls this will turn off masking, blocking,
                           and 1-way.
                       2 = Turn off blocking bits when BROKEN
                           For walls this will just turn off blocking bits,
                           but leave the masking or 1-way alone. Breaking
                           an air vent grate is an example of this.

        Sprites and wall breaking info. There are 2 ways to use this:
        1) As ST1 sprite info for breaking a sprite, or 2) As ST1 sprite info
        for breaking a wall. NOTE: Can be re-used for many BREAKABLE_SPRITEs.
        Example: All chairs that break could use a single ST1 132 to tell
        them how to break as long as the same matching TAG2 is used.
        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.
        EXAMPLES: DE in EXAMPLE.MAP

Hitag 132:      BREAKABLE_SPRITE
                (This is used with non-ST1 sprites to make them breakable)
                TAG2 = Match - used to match up with BREAKABLE ST1's
                TAG6 = Match - extra match value for activating ST1's like
                       SPAWN_SPOT and LIGHTING. By this method you can spawn
                       debris or turn off a light when this sprite is broken.
                BOOL1= 1: Denotes that this is not an ST1 but is tagged like
                          one. IMPORTANT: THIS MUST BE SET TO "1". 
                BOOL2= 1: Don't break this sprite. Use this to override
                          automatic breakables.

        Use this tagging on the actual sprite you want to break. TAG2 should
        match the TAG2 of the BREAKABLE (hitag 132) ST1 that tells this
        sprite how to break. NOTE: You don't actually need the ST1 132
        if you just want to kill the sprite when its broken. Giving it a
        hitag of 132 and setting BOOL1 is sufficient.
        EXAMPLES: DE in EXAMPLE.MAP

@tag133
Hitag 133:      QUAKE_SPOT
                TAG2 = Match
                TAG3 = Shake Z amount - This is the 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, but this effect can be
                       overridden by setting BOOL1 to "1"
                TAG5 = Duration of quake in seconds
                TAG6 = Timed quake - shake the screen every X seconds, where
                       X = TAG6 multiplied by 10.
                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 TAG6. 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, and will
                       basically shake the entire level.
                BOOL2= 1: Only quake once and never again
                BOOL3= 1: Wait for trigger before starting timed quake code.
                       This is only used for timed quakes.

        This is used to shake the player's view as though an earthquake were
        happening.
        EXAMPLES: DE in EXAMPLE.MAP

@tag134
Hitag 134:      SOUND_SPOT
                TAG2 = Match
                TAG4 = 1st Sound 
                TAG5 = 2nd Sound 
                TAG6 = 3rd Sound 
                BOOL1= 1: Play the sound once and only once
                BOOL2= 1: Play the sound as a looping sound. The sound will
                       continue to loop until stopped by STOP_SOUND_SPOT
                       (hitag 150).
                       1: Also means follow sprite, and needs to be set if
                       the ST1 sprite will be moving (usually with a sector
                       object.)
                BOOL3= 1: Random play. When the ST1 is triggered, it will
                       randomly choose between sounds 1 and 2 or between
                       sounds 1, 2, and 3.
                BOOL4= 1: Don't pan sound. This is useful when the sound
                       is very near the player.
                BOOL5= 1: Use doppler effect.
                BOOL6= 0: Make sure this is always reset to "0".
                BOOL7= 1: The sound is Lo Wang's voice, heard inside his
                       head at max volume no matter how far from the
                       SOUND_SPOT he is.

                SOUND_SPOT will play the sound specified in TAG4 when the
                match tag in TAG2 is triggered. SOUND_SPOT can also be
                triggered by operating a vator, spike, sliding door, or
                rotating door with the same match tag. Sound numbers can be
                obtained from the digital sound index in SWSOUNDS.TXT. Don't
                confuse these with ambient sounds, which are used with the
                AMBIENT_SOUND (hitag 1002) ST1. If SOUND_SPOT is placed in a
                sector object operational sector, the 1st sound (TAG4) will
                be the 'idle' sound. The 2nd sound (TAG5) will be the 'drive'
                sound. IMPORTANT: The match tag (TAG2) will still need to be
                a unique value even though the mapper never sets up a trigger
                for it. If you do not use a unique value then other
                SOUND_SPOTs with the match value will do the same sound
                processing. This could be used as a feature - drive something
                and something else on the level makes a noise. 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 (TAG4) will be used.
                EXAMPLES: DB, DC, DD, and others in EXAMPLE.MAP
                SEE ALSO: AMBIENT_SOUND (hitag 1002)

@tag135
Hitag 135:      SLIDE_SECTOR
                TAG2 = Speed value. (0 is fastest, 32 is slowest)
                       Note that the angle of the slope also has an effect on
                       speed.

        Tag a sloped sector with this and it will cause the player to
        slide in the direction of the slope. Actors are not affected. The
        steeper the slope, and the lower the TAG2 value, the faster the
        slide. Lo Wang will slide even if he is in the air over the sector.
        Use with SECT_SPIKE (hitag 106) to create a variable speed slide.
        EXAMPLES: DF in EXAMPLE.MAP

@tag136
Hitag 136:      CEILING_FLOOR_PIC_OVERRIDE
                TAG2 = Picnum (from the "V" menu)
                TAG3 =  0: Pic override on the ceiling
                        1: Pic override on the floor
                TAG7 = Draw type
                        0 = normal
			1 = masked
			2 = translucent
                        3 = very translucent
                BOOL1=  1: Block hitscans

        This is primarily used to give a floor or ceiling texture to the
        floor mirror in room-over-room areas. This is used in Shadow Warrior
        to create the translucent water, the reflective floors, and the
        masked grating in $VOLCANO.MAP. A sloped floor cannot have a masked
        or translucent texture. Use with FLOOR_Z_ADJUST (hitag 98) to keep
        the player from falling through into the lower area. Actors can
        stand on it too, but will usually fall through when they are killed.
        EXAMPLES: AB and AD in EXAMPLE.MAP
        SEE ALSO: FLOOR_Z_ADJUST (hitag 98)

@tag140
Hitag 140:      TRIGGER_SECTOR
                TAG2 = Match
                TAG3 = Type
			0 = Trip Entering Sector
			1 = Trip Leaving Sector
                        2 = Continuous as long as you're standing on it
                        3 = Operated with the SPACEBAR
                TAG4 = Angle
                TAG5 = Trigger definition
                        0 = Remote sector object trigger
                        1 = Lava Erupt trigger
                TAG7 = Remote sector object number
                BOOL1= 0: Player's view follows the sector object
                       1: Player's view stays at the angle of TRIGGER_SECTOR

        TRIGGER_SECTOR is only used for two things: driving remote controlled
        operational sector objects, and triggering LAVA_ERUPT ST1's. BOOL1
        on the LAVA_ERUPT (hitag 56) sprite must be set to BOOL1 for this
        trigger to work.
        EXAMPLES: BF and EF in EXAMPLE.MAP
        SEE ALSO: SECT_OPERATIONAL (hitag 1), LAVA_ERUPT (hitag 56)

@tag141
Hitag 141:      DELETE_SPRITE
                TAG2 = Match
                BOOL2= Move with a sector object

        Place a DELETE_SPRITE ST1 at the same x, y location as another
        sprite. When the TAG2 match is triggered, the sprites at the same
        x, y will be deleted. Works on most sprites but not all. Some that
        can be deleted include decoration sprites, vator ST1's, spike ST1's,
        and room-over-room view sprites.
        EXAMPLES: DF in EXAMPLE.MAP
        SEE ALSO: BREAKABLE (hitag 132)

@tag143
Hitag 143:      SECT_ROTATOR
                TAG2 = Match
		TAG3 = Type
                        0 = Manual/Switch/Trigger. If a manual type has a
                            TAG2 value that is not 0 then ALL rotators,
                            vators, spikes, or whatever with the same TAG2
                            will be operated on. Rotators can be manually
                            operated from on top of sector or alongside of
                            it. A switch resets when the rotator returns to
                            its default position. Trigger operation is the
                            same as a switch but its a floor trigger instead.
                        1 = Switch/Trigger Only. The rotator cannot be
                            operated manually. All rotator types with the
                            same TAG2 value get operated on.
                TAG5 = Angle move amount (512 = 90 degrees). Use a negative
                       value to make the sector rotate counter-clockwise.                       
                TAG6 = Match at destination. When a rotator reaches its
                       destination it will trigger any event with this
                       match tag.
                TAG7 = Angle increment. The speed at which the sector
                       rotates. Use an unsigned value.
                TAG9 = Auto return time in 1/8th of a second resolution.
                       If non-zero then the sector will return to its default
                       position after the allotted time. If TAG9=0 then the
                       sector will remain in the ON position until the
                       SECT_ROTATOR is operated again.
                BOOL2= 1: Can be operated only once.
                BOOL4= 0: Can be operated during a WangBang game.
                       1: Cannot be operated during a WangBang game.
                BOOL5= 1: Trigger the TAG6 match when moving to the OFF
                          position as well as when moving to the ON position.
                BOOL6= 0: SECT_ROTATOR cannot be operated again until it's
                          finished moving.
                       1: Can operate it again while it's moving.
                BOOL11=1: Displays "Single play only" message when
                          operated in WangBang. Use with BOOL4.

        SECT_ROTATOR is used primarily to create rotating (swinging) doors,
        although it has many other potential uses. Any number of red
        sector walls of any shape can be rotated simultaneously around a
        single pivot point, defined by SECT_ROTATOR_PIVOT (hitag 144). 
        EXAMPLES: EA in EXAMPLE.MAP
        SEE ALSO: SECT_ROTATOR_PIVOT (hitag 144), SECT_VATOR (hitag 92),
                  SECT_SPIKE (hitag 106), SECT_SLIDOR (hitag 145).

@tag144
Hitag 144:      SECT_ROTATOR_PIVOT
                TAG2 = Match

        The CLOSEST SECT_ROTATOR (hitag 143) with same matching TAG2 will
        rotate about this sprite.
        EXAMPLES: EA in EXAMPLE.MAP
        SEE ALSO: SECT_ROTATOR (hitag 143)

@tag145
Hitag 145:      SECT_SLIDOR
                TAG2 = Match
		TAG3 = Type
                        0 = Manual/Switch/Trigger - primarily used for manual
                            type. If a manual type has a match tag that is
                            not 0 then ALL slidors with the same match type
                            will be operated on. A slidor can be manually
                            operated from either within the sector, or to the
                            side. With switch operation, the switch resets
                            when the slidor goes to default position. With
                            trigger operation, it's the same as a switch but
                            it's a floor trigger.
                        1 = Switch/Trigger Only - cannot be operated manually
                            ALL slidors with the same matching tag get
                            operated on by the switch or trigger.
                TAG5 = Distance to move (largest grid square is 1024).
                TAG6 = Match at destination. When a slidor reaches its
                       destination it will trigger any event with this
                       match tag.
                TAG7 = Move speed
                TAG8 = Acceleration at which slidor approaches TAG7 speed.
                TAG9 = Auto return time - 1/8th of a second resolution - if
                       non 0 then the slidor will return to its default
                       position after the allotted time. If 0 then it will
                       stay in the ON position until the slidor is operated
                       again.
                BOOL2= 1: Can only operate the slidor once.
                BOOL3= 1: Don't crush the player. WARNING: Never let a white
                          walled slidor crush the player, or the game will
                          quit with an error.
                BOOL4= 0: Slidor can be operated during a WangBang game.
                       1: Slidor cannot be operated during a WangBang game.
                BOOL5= 1: Insta-Close(TM) feature. Tired of not being able to
                          run through sliding doors in BUILD 3D mode? Leave
                          them open and let Shadow Warrior close them for
                          you. BOOL5 uses the position of the SECT_SLIDOR
                          sprite to close the doors.
                BOOL6= 0: Slidor cannot be operated again until it stops
                          moving.
                       1: Can operate the slidor again while it's in motion.
                BOOL7= 1: Call the TAG6 match when moving to the OFF position
                          as well as when moving to the ON position.
                BOOL11=1: Displays "Single play only" message when
                          operated in WangBang. Use with BOOL4.
        
        Use SECT_SLIDOR to create sliding or split doors. Several different
        types can be built, both with red walls and with white walls.
        Look to the game maps for various examples. IMPORTANT: The walls
        that form the edges of the door must be tagged properly in order for
        the slidor to work. If, in 2D mode, the door slides to the left, tag
        the wall TAG_WALL_SLIDOR_LEFT (walltag 220), if it slides to the
        right, tag the wall TAG_WALL_SLIDOR_RIGHT (walltag 221), if it slides
        upwards, tag it TAG_WALL_SLIDOR_TOP (walltag 222), and if it slides
        downwards, tag it TAG_WALL_SLIDOR_BOTTOM (walltag 223).
        EXAMPLES: EA in EXAMPLE.MAP
        SEE ALSO: SECT_ROTATOR (hitag 143), SECT_VATOR (hitag 92),
                  SECT_SPIKE (hitag 106)

@tag146
Hitag 146:      SECT_CHANGOR
                TAG2 = Match
                TAG4 = New picnum
                TAG5 = Z adjustment in pixels - can be negative
                TAG6 = Slope adjustment       - can be negative
                TAG7 = New shade value        - can be negative
                TAG8 = New palette value
                TAG9 = New visibility value   - can be negative
                BOOL1= 0: Affect the floor
                       1: Affect the ceiling
                BOOL2= 1: Do not kill this sprite after using once.
                          By default it is killed after one use.

        Change attibutes of sector when match code is called. Can be used
        to create breakable floor or ceiling textures, or other special
        effects. Most commonly used for shootable lights.
        EXAMPLES: EB in EXAMPLE.MAP
        SEE ALSO: SECT_COPY_DEST (hitag 58), SECT_COPY_SOURCE (hitag 59)

@tag147
Hitag 147:      SO_DRIVABLE_ATTRIB
                TAG2 = Angle speed (1 to 16384)
                       0 provides a default speed
                TAG3 = Angle "slide" amount (1 to 100)
                TAG5 = Match triggered when the driveable is operated with
                       the SPACEBAR.
                TAG6 = Movement speed (1 to 16384)
                       0 provides a default speed
                TAG7 = Movement "slide" amount (1 to 100)
                BOOL1= 1: Don't shake the screen when running into something
                BOOL2= 1: Trigger match tag TAG5 + 1 when the player
                          presses SPACEBAR to stop driving the sector object
                BOOL3= 1: Sector object can only be driven from a remote
                          TRIGGER_SECTOR (hitag 140)
                BOOL4= 1: Rectangular clipping - the outer 504 bounding
                          wall loop of the sector object serves as the
                          clipping box. The wall loop MUST be a 4 wall
                          rectangle. This is the only alternative to the
                          default clipping provided by the operational code.
                          This clipping is better behaved because it never
                          allows the sector object to cross sector lines.

        This ST1 provides some additional control over the behavior of
        driveable sector objects. It allows speed and angle velocities to be
        scaled, and adds momentum with TAG3 and TAG7 to make the driving
        a little more realistic. Must be placed in the center tagged
        sector of the sector object.
        EXAMPLES: EF in EXAMPLES.MAP
        SEE ALSO: SECT_OPERATIONAL (hitag 1), SECT_SO_DONT_ROTATE (hitag 45),
                  SO_LIMIT_TURN (hitag 68), SO_TURN_SPEED (hitag 55)

@tag148
Hitag 148:      WALL_DONT_STICK
                TAG4 = Point sprite at wall
        
        Point this at a wall, and nothing will stick to that wall. This keeps
        bullet holes, blood, sticky bombs, and so forth from landing on the
        wall.
        EXAMPLES: BB in EXAMPLE.MAP

@tag149
Hitag 149:      SPAWN_ITEMS
                TAG2 = Match
                TAG3 = Item to spawn:
			0/32 = Uzi
			1 = Red Key
			2 = Blue Key
			3 = Green Key
			4 = Yellow Key
			5 = Red Card
			6 = Blue Card
			7 = Green Card
			8 = Yellow Card
                        9 = Gold Skeleton Key
                        10 = Silver Skeleton Key
                        11 = Bronze Skeleton Key
                        12 = Red Skeleton Key
			20 = Uzi for Floor
			40 = Repair Kit
                        41 = Shurikens
                        42 = Sticky Mines
			43 = Rocket Launcher
			44 = Rocket Battery
			45 = Grenade Launcher
			46 = Grenades
			47 = Rail Gun
			48 = Rail Ammo
			51 = Shotgun
			52 = Shotgun Ammo
			53 = Head
			55 = Heart
                        57 = Gray Armor (can't spawn red armor)
                        58 = Portable Medkit
                        59 = Small Medkit
			60 = Chem Bomb
			61 = Flash Bomb
			62 = Nuke
			63 = Caltrops
			64 = Cookie
			65 = Heat seeker card
			66 = Cloak
			67 = Night Vision
			90 = Boy Bunny
			91 = Girl Bunny
			92 = Random Bunny
                TAG4 = Angle to throw the item
                TAG7 = Velocity 0 to 255
                       Set to 0 and the item stays in place
                TAG8 = Jump velocity 0 to 255
                BOOL1= 0: Kill the ST1 after it's triggered
                       1: Don't kill after it's triggered
                BOOL2= 1: Don't spawn another item if a sprite exists in
                          the exact position of the SPAWN_ITEMS sprite.

        This is used to spawn an item when the TAG2 match is triggered.
        Used for placing items in trash cans, dropping items from the sky,
        and any number of cool uses. Flag the ST1 as a Multiplayer only
        item (F8 menu, option 2), and the item will only spawn during a
        WangBang game.
        EXAMPLES: EB in EXAMPLE.MAP
        SEE ALSO: SPAWN_SPOT (hitag 69)

@tag150
Hitag 150:      STOP_SPOUND_SPOT
                TAG2 = Match
                TAG5 = Matched sound spot to stop

        Use this to stop a looping sound when TAG2 is triggered. TAG5 is the
        TAG2 match tag of the SOUND_SPOT (hitag 134) to be stopped.
        EXAMPLES: EB in EXAMPLE.MAP
        SEE ALSO: SOUND_SPOT (hitag 134)

@tag202
Hitag 202:      BOUND_FLOOR_BASE_OFFSET
                TAG2 = Bound Floor Number - First one is 0, then 1, 2, etc.

        All areas with this tag in them set up a new BASE OFFSET to
        move other areas to. TAG2 is the order in which they are processed.
        Consider this to be the "anchor" to which BOUND_FLOOR_OFFSET
        (hitag 203) areas are moved.
        EXAMPLES: AB, AC, FB, and FC in EXAMPLE.MAP
        SEE ALSO: BOUND_FLOOR_OFFSET (hitag 203)

@tag203
Hitag 203:      BOUND_FLOOR_OFFSET
                TAG2 = Bound Floor Number = First one is 0, then 1, 2, etc.

        All bound areas with this tag in them are moved to the last
        BOUND_FLOOR_BASE_OFFSET sprite. "Bound" areas means all sectors
        that are either directly or indirectly attached to the sector
        with BOUND_FLOOR_OFFSET in it. This allows you to build stacked
        sectors separately and let Shadow Warrior overlap them for you.
        Useful mainly for room-over-room and special dive sector cases.
        If a sector object is part of a bound floor group, it can have
        a matching 504 wall loop in the bound floor base group, which
        will move and behave exactly like the sector object. This is
        incredibly useful for a variety of effects, like the bottom of a
        boat in the underwater sector stays with the boat in the upper
        sector, and so on.
        EXAMPLES: AD, AE, FE, and FF in EXAMPLE.MAP
        SEE ALSO: BOUND_FLOOR_BASE_OFFSET (hitag 202)

@tag500
Hitags 500-596: SECT_SO_BOUNDING

        Bounding sprites for sector objects. Every sector object needs
        bounding sprites, one in the upper left corner (BOUND_SO_UPPER)
        and one in the lower right corner (BOUND_SO_LOWER). These two
        sprites form the opposing points of an imaginary rectangle that
        must encompass the entire sector object, plus any sprites you
        want to move with it (like a gun barrel.) You are allowed to
        have a maximum of 20 sector objects in a level. The
        BOUND_SO_UPPER sprite hitag of a sector object is calculated as
        500 + (5 * sector object num). The BOUND_SO_LOWER sprite hitag of
        a sector object is calculated as 501 + (5 * sector object num).
        So, sector object 0 uses BOUND_SO_UPPER 500 and BOUND_SO_LOWER
        501. Sector object 1 uses BOUND_SO_UPPER 505 and BOUND_SO_LOWER
        506. This goes up in increments of 5 all the way to sector
        object 19, which uses BOUND_SO_UPPER 595 and BOUND_SO_LOWER 596.
        EXAMPLES: EC, ED, EE, EF, FA, FB, and FC in EXAMPLE.MAP

@tag1000
Hitag 1000:     MIRROR_CAM
                TAG2 = Match tag
                TAG4 = Angle of camera
                TAG6 = Camera maximum turn angle from 0-2048. This is the angle
                       from center that the camera will rotate back and forth.
                       (512 = 90 degrees each way for 180 degrees range
                       of motion)
                TAG7 = Camera look up/down amount. Valid values (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 rotate the camera.
                       1: Rotate the camera by angle specified in TAG6 from
                          current camera angle.
                BOOL3= 0: Negative turn direction
                       1: Positive turn direction
                BOOL11=When BOOL1 is set to "1":
                       0: Do normal TV camera view
                       1: Cycle through all players' views in 5 second
                          increments on this monitor.

        The camera's view can be displayed in a monitor built using a mirror.
        Tag the mirror wall with lotag 306 and a hitag equal to the
        MIRROR_CAM TAG2 match tag. NOTE: Mirrors MUST be built using one way
        walls, not masked walls or they won't operate. A TV monitor requires
        a TV monitor sprite (picnums 3830-3837) with a hitag equal to the
        MIRROR_CAM TAG2 match tag. The TV monitor sprite must be placed in
        front of a mirror.
        EXAMPLES: GB and GC in EXAMPLE.MAP

@tag1002
Hitag 1002:     AMBIENT_SOUND
                TAG2 = Ambient sound number
	
        Plays an ambient sound. Look at the ambient sound index in
        SWSOUNDS.TXT to find the ambient sound number you want.
        EXAMPLES: EC and ED in EXAMPLE.MAP
        SEE ALSO: SOUND_SPOT (hitag 134)

@tag1005
Hitag 1005:     ECHO_SPOT
                TAG2 = Reverb setting from 100 - 200
                TAG4 = Radius that the reverb effect can be heard

        Causes all sounds in the area around the ECHO_SPOT to reverb by the
        amount set in TAG2. Note that there is no reverb available when
        using a Soundscape.
        EXAMPLES: $YAMATO.MAP, plus many other game maps

@tag1006
Hitag 1006:     DRIP_GENERATOR  
                TAG2 = Delay in seconds. If 0, then it uses internally
                       programmed delays (quite fast), otherwise it drips
                       every TAG2 seconds.
                BOOL1= Drip type
                       0: Blood drips
                       1: Water drips    
                BOOL2= 0: Drips
                       1: No drips, do a bubble instead

        Used to create a dripping or bubbling spot. The Z height of the ST1
        is important, because that's the height where the drip or bubble will
        spawn.
        EXAMPLES: AA in EXAMPLE.MAP

# General help case for sprites with invalid tags.
@tag999
The hitag you picked is either obsolete, or there is not any available help for it.
The following is a list of hitag values for ST1 sprites used to create special effects.

                0. SECT_SINK
                1. SECT_OPERATIONAL
                3. SECT_CURRENT
                5. SECT_NO_RIDE
                7. SECT_DIVE_AREA
                8. SECT_UNDERWATER
                9. SECT_UNDERWATER2
                16. SO_ANGLE
                19. SECT_FLOOR_PAN
                21. SECT_CEILING_PAN
                23. WALL_PAN_SPEED
                29. SECT_LOCK_DOOR
                30. SPRI_CLIMB_MARKER
                31. SECT_SO_SPRITE_OBJ
                32. SECT_SO_DONT_BOB
                33. SECT_SO_SINK_DEST
                34. SECT_SO_DONT_SINK
                37. SECT_SO_FORM_WHIRLPOOL
                38. SECT_ACTOR_BLOCK
                42. MULTI_PLAYER_START
                43. FIREBALL_TRAP
                44. BOLT_TRAP
                45. SECT_SO_DONT_ROTATE
                46. PARALLAX_LEVEL
                47. SECT_DONT_COPY_PALETTE
                48. MULTI_COOPERATIVE_START
                49. SO_SET_SPEED
                50. SO_SPIN
                51. SO_SPIN_REVERSE
                52. SO_BOB_START
                53. SO_BOB_SPEED
                55. SO_TURN_SPEED
                56. LAVA_ERUPT
                57. SECT_EXPLODING_CEIL_FLOOR
                58. SECT_COPY_DEST
                59. SECT_COPY_SOURCE
                62. SHOOT_POINT
                63. SPEAR_TRAP
                64. SO_SYNC1
                65. SO_SYNC2
                66. DEMO_CAMERA
                68. SO_LIMIT_TURN
                69. SPAWN_SPOT
                70. SO_MATCH_EVENT
                71. SO_SLOPE_FLOOR_TO_POINT
                72. SO_SLOPE_CEILING_TO_POINT
                73. SO_TORNADO
                75. SO_AMOEBA
                76. SO_MAX_DAMAGE
                77. SO_RAM_DAMAGE
                80. SO_KILLABLE
                81. SO_AUTO_TURRET
                82. SECT_DAMAGE
                84. WARP_TELEPORTER
                85. WARP_CEILING_PLANE
                86. WARP_FLOOR_PLANE
                87. WARP_COPY_SPRITE1
                88. WARP_COPY_SPRITE2
                90. PLAX_GLOB_Z_ADJUST
                92. SECT_VATOR
                97. CEILING_Z_ADJUST
                98. FLOOR_Z_ADJUST
                99. FLOOR_SLOPE_DONT_DRAW
                100. SO_SCALE_INFO
                101. SO_SCALE_POINT_INFO
                102. SO_SCALE_XY_MULTIPLY
                103. SECT_WALL_MOVE
                104. SECT_WALL_MOVE_CANSEE
                106. SECT_SPIKE
                108. LIGHTING
                109. LIGHTING_DIFFUSE
                110. VIEW_LEVEL1
                111. VIEW_LEVEL2
                120. VIEW_THRU_CEILING
                121. VIEW_THRU_FLOOR
                132. BREAKABLE
                132. BREAKABLE_SPRITE
                133. QUAKE_SPOT
                134. SOUND_SPOT
                135. SLIDE_SECTOR
                136. CEILING_FLOOR_PIC_OVERRIDE
                140. TRIGGER_SECTOR
                141. DELETE_SPRITE
                143. SECT_ROTATOR
                144. SECT_ROTATOR_PIVOT
                145. SECT_SLIDOR
                146. SECT_CHANGOR
                147. SO_DRIVABLE_ATTRIB
                148. WALL_DONT_STICK
                149. SPAWN_ITEMS
                150. STOP_SPOUND_SPOT
                202. BOUND_FLOOR_BASE_OFFSET
                203. BOUND_FLOOR_OFFSET
                500-596: SECT_SO_BOUNDING
                1000. MIRROR_CAM
                1002. AMBIENT_SOUND
                1005. ECHO_SPOT
                1006. DRIP_GENERATOR  
@end
