home *** CD-ROM | disk | FTP | other *** search
/ Shadow Warrior / SWARRIOR.bin / data1.cab / Build_Files / SWBHELP.HLP < prev    next >
Text File  |  1997-08-25  |  85KB  |  1,799 lines

  1. # -------------------------------------------
  2. # Shadow Warrior BUILD Context Sensitive Help
  3. # Compiled And Edited By Keith Schuler
  4. # (c) 1997 3D Realms Entertainment
  5. # -------------------------------------------
  6.  
  7. # This is the help file that holds the text used by Shadow Warrior BUILD
  8. # to provide assistance with ST1 hitags. Most of this content is the same
  9. # as is found in SPRITAGS.TXT
  10.  
  11. @tag0
  12. Hitag 0:        SECT_SINK
  13.                 TAG2 = depth
  14.  
  15.         Place this in water, lava, or any sector with a floor surface you
  16.         want Lo Wang to sink into. He will sink to the depth specified in
  17.         TAG2. When building dive sectors (see Hitag 7: SECT_DIVE_AREA) TAG2
  18.         needs to be at least 35. You probably never want to use a value
  19.         greater than 40, or the player's view may become distorted. NOTE: If
  20.         used with a lava texture, SECT_SINK will cause Lo Wang to take damage
  21.         when stepping in the sector.
  22.         EXAMPLES: AA and BB in EXAMPLE.MAP
  23.         SEE ALSO: PLAX_GLOB_Z_ADJUST (hitag 90), CEILING_Z_ADJUST (hitag 97),
  24.                   FLOOR_Z_ADJUST (hitag 98)
  25.  
  26. @tag1
  27. Hitag 1:        SECT_OPERATIONAL
  28.  
  29.         Place this in a sector of a driveable sector object. This will be the
  30.         sector the player must stand in and press SPACE to operate the
  31.         driveable.
  32.         EXAMPLES: EE and EF in EXAMPLE.MAP
  33.  
  34. @tag3
  35. Hitag 3:        SECT_CURRENT
  36.         TAG2 = speed
  37.         TAG4 = ang
  38.  
  39.         If SECT_CURRENT is used in a sector along with either a SECT_SINK
  40.         (Hitag 0), a SECT_UNDERWATER (Hitag 8), or a SECT_UNDERWATER2 (Hitag
  41.         9), the player will be moved in the direction the SECT_CURRENT
  42.         is facing, at the speed designated in TAG2.
  43.         EXAMPLES: AA and BB in EXAMPLE.MAP
  44.         SEE ALSO: SECT_SINK (hitag 0), SECT_UNDERWATER (hitag 8),
  45.                   SECT_FLOOR_PAN (hitag 19)
  46.  
  47. @tag5
  48. Hitag 5:        SECT_NO_RIDE
  49.  
  50.         Use SECT_NO_RIDE in any sector of a moving sector object to keep the
  51.         player from moving with that sector.
  52.         EXAMPLES: EC, FC and FD in EXAMPLE.MAP
  53.  
  54. @tag7
  55. Hitag 7:        SECT_DIVE_AREA
  56.                 TAG2 = match (non zero)
  57.  
  58.         Diving area - pressing the CROUCH key when here will teleport the
  59.         player to an UNDERWATER (Hitag 8) area with a matching UNIQUE match
  60.         tag. You must also have a SECT_SINK (Hitag 0) sprite in the same
  61.         sector with a TAG2 of at least 35 for this to work. 
  62.         EXAMPLES: BA in EXAMPLE.MAP
  63.         SEE ALSO: SECT_SINK (hitag 0), SECT_UNDERWATER (hitag 8)                  
  64.  
  65. @tag8
  66. Hitag 8:        SECT_UNDERWATER
  67.                 TAG2 = match
  68.  
  69.         Underwater area - floating to the ceiling of this area will teleport
  70.         the player to the DIVE_AREA (hitag 7) with a matching UNIQUE non
  71.         zero match tag. IMPORTANT: The over- and underwater sectors need to
  72.         have congruent shapes, and the SECT_DIVE_AREA sprite and the
  73.         SECT_UNDERWATER sprite need to be in the same relative position for
  74.         both of their respective sectors. IMPORTANT: A zero in TAG2 denotes
  75.         that this is a swim area with no matching SECT_DIVE_AREA. This can be
  76.         used for areas where the player cannot surface.
  77.         EXAMPLES: BA in EXAMPLE.MAP
  78.         SEE ALSO: SECT_DIVE_AREA (hitag 7), SECT_UNDERWATER2 (hitag 9)
  79.  
  80. @tag9
  81. Hitag 9:        SECT_UNDERWATER2
  82.                 TAG2 = match
  83.         TAG3 = type
  84.                         0/32 = surface here
  85.                         1    = can't surface here
  86.  
  87.         Secondary Underwater area - floating to the surface of this area will
  88.         teleport you to the SECT_DIVE_AREA (hitag 7) with a matching unique
  89.         match tag. SECT_UNDERWATER2 allows you to split an underwater area
  90.         into multiple sectors, while still having a single large DIVE_AREA
  91.         sector.
  92.         EXAMPLES: BA in EXAMPLE.MAP
  93.         SEE ALSO: SECT_DIVE_AREA (hitag 7), SECT_UNDERWATER (hitag 8)
  94.  
  95. @tag16
  96. Hitag 16:       SO_ANGLE
  97.         TAG4 = Angle of Sector Object
  98.  
  99.         Place this anywhere in a sector object to tell Shadow Warrior which
  100.         end is the front. This will affect the orientation of a sector
  101.         object as it follows a track or is operated by the player.
  102.         EXAMPLES: EE, EF, and FA in EXAMPLE.MAP
  103.  
  104. @tag19
  105. Hitag 19:       SECT_FLOOR_PAN
  106.                 TAG2  = speed - 0 to 16386
  107.                 TAG4  = ang
  108.                 BOOL1 = Move with speed of sector object
  109.  
  110.         This causes the floor of the sector it's in to pan in the direction
  111.         indicated by TAG4 at the rate indicated by TAG2. Set BOOL1 to "1"
  112.         if the sector is part of a sector object and you want the floor to
  113.         pan at the same speed the sector object is moving. The BOOL1 feature
  114.         is primarily used to simulate moving tank treads on driveable
  115.         sector objects.
  116.         EXAMPLES: BB in EXAMPLE.MAP
  117.         SEE ALSO: SECT_CEILING_PAN (hitag 21), WALL_PAN_SPEED (hitag 23)
  118.  
  119. @tag21
  120. Hitag 21:       SECT_CEILING_PAN
  121.                 TAG2  = speed - 0 to 16386
  122.                 TAG4  = ang
  123.                 BOOL1 = Move with speed of sector object
  124.  
  125.         This causes the ceiling of the sector it's in to pan in the direction
  126.         indicated by TAG4 at the rate indicated by TAG2. Set BOOL1 to "1"
  127.         if the sector is part of a sector object and you want the ceiling
  128.         to pan at the same speed the sector object is moving.
  129.         EXAMPLES: BB in EXAMPLE.MAP
  130.         SEE ALSO: SECT_FLOOR_PAN (hitag 19), WALL_PAN_SPEED (hitag 23)
  131.  
  132. @tag23
  133. Hitag 23:       WALL_PAN_SPEED
  134.                 TAG2  = speed - 0 to 16386
  135.                 TAG4  = point sprite at desired wall
  136.                 TAG6  = angle of panning
  137.         BOOL1 = Move with speed of sector object
  138.  
  139.         Point the sprite at the wall you want it to affect. That wall's
  140.         texture will pan in the direction indicated by TAG6 at the rate
  141.         indicated by TAG2. Set BOOL1 to "1" if the wall is part of a
  142.         sector object and you want the wall texture to pan at the same
  143.         speed the sector object is moving. This feature is usually used
  144.         to simulate tank treads on driveable sector objects.
  145.         EXAMPLES: BB in EXAMPLE.MAP
  146.         SEE ALSO: SECT_CEILING_PAN (hitag 21), SECT_FLOOR_PAN (hitag 19)
  147.  
  148. @tag29
  149. Hitag 29:       SECT_LOCK_DOOR
  150.         TAG2 = type
  151.                         1 = RED KEYCARD
  152.                         2 = BLUE KEYCARD
  153.                         3 = GREEN KEYCARD
  154.                         4 = YELLOW KEYCARD
  155.                         5 = GOLD MASTER KEY
  156.                         6 = SILVER MASTER KEY
  157.                         7 = BRONZE MASTER KEY
  158.                         8 = RED MASTER KEY
  159.  
  160.         Lock the door. Must have the correct key to open it. Works for
  161.         rotating, sliding, and all vator uses including switches. Place it in
  162.         the same sector with a SECT_VATOR (hitag 92), SECT_ROTATOR
  163.         (hitag 143), or SECT_SLIDOR (hitag 145).
  164.         EXAMPLES: EB in EXAMPLE.MAP
  165.  
  166. @tag30
  167. Hitag 30:       SPRI_CLIMB_MARKER
  168.                 TAG4 = angle
  169.  
  170.         Center this sprite on the ladder and set the angle pointing out away
  171.         from the wall. The position of the sprite is important, because that
  172.         is the (x,y) location the player sprite will be in while climbing
  173.         the ladder. Used in conjunction with TAG_WALL_CLIMB (walltag 305).
  174.         EXAMPLES: BC and DF in EXAMPLE.MAP
  175.  
  176. @tag31
  177. Hitag 31:       SECT_SO_SPRITE_OBJ
  178.  
  179.         Place this ST1 anywhere in a sector object. Makes a sector object
  180.         become a "sprite object." The sprites will move but the sectors will
  181.         not. Sprite objects can cross sector boundries, whereas regular
  182.         sector objects cannot.
  183.         EXAMPLES: EC in EXAMPLE.MAP
  184.  
  185. @tag32
  186. Hitag 32:       SECT_SO_DONT_BOB
  187.  
  188.         Mark a sector in a bobbing sector object so it will not bob with the
  189.         rest of the sector. Look at the boat in $WHIRL.MAP for an example.
  190.         SEE ALSO: SO_BOB_START (hitag 52), SO_BOB_SPEED (hitag 53)
  191.  
  192. @tag33
  193. Hitag 33:       SECT_SO_SINK_DEST
  194.                 TAG2 = offset
  195.  
  196.         Mark a sector in a sector object as the destination for sinking.
  197.         It will not sink with other sectors. TAG2 is the offset from the
  198.         sector's current floor height to use as the sinking destination.
  199.         Look at the boat in $WHIRL.MAP for an example.
  200.         SEE ALSO: SECT_SO_DONT_SINK (hitag 34)
  201.  
  202. @tag34
  203. Hitag 34:       SECT_SO_DONT_SINK
  204.  
  205.         Mark a sector in a sector object so it will not sink with other
  206.         sectors. Look at the boat in $WHIRL.MAP for an example.
  207.         SEE ALSO: SECT_SO_SINK_DEST (hitag 33)
  208.  
  209. @tag37
  210. Hitag 37:       SECT_SO_FORM_WHIRLPOOL
  211.                 TAG2 = depth
  212.  
  213.         Lower the whirlpool sectors to a 'depth' level, when the appropriate
  214.         track sprite is reached by the sector object.
  215.         (TRACK_SO_FORM_WHIRLPOOL, tracktag 724) Look at the boat in
  216.         $WHIRL.MAP for an example.
  217.  
  218. @tag38
  219. Hitag 38:       SECT_ACTOR_BLOCK
  220.  
  221.         Mark a sector to keep enemy actors from entering, but the player can
  222.         still enter. Both enemies and the player can still fire weapons
  223.         through the sector.
  224.         EXAMPLES: BC in EXAMPLE.MAP
  225.  
  226. @tag42
  227. Hitag 42:       MULTI_PLAYER_START
  228.                 TAG2 = (0 to 7) player number
  229.                 TAG4 = angle to start facing
  230.  
  231.         These mark the positions where players will spawn in WangBang games.
  232.         The players' feet will be placed at the same height as the bottom of
  233.         the ST1 sprite, so place them on the floor unless you want the player
  234.         to fall. Always be sure to include start point 0.
  235.         EXAMPLES: Any game map
  236.         SEE ALSO: MULTI_COOPERATIVE_START (hitag 48)
  237.  
  238. @tag43
  239. Hitag 43:       FIREBALL_TRAP
  240.         TAG2 = match
  241.         TAG4 = angle
  242.  
  243.         Shoots a fireball from the location of this sprite in the direction
  244.         the angle is pointing when a sector tagged TAG_TRIGGER_MISSILE_TRAP
  245.         (sector tag 43) is stepped on.
  246.         EXAMPLES: BD in EXAMPLE.MAP
  247.         SEE ALSO: BOLT_TRAP (hitag 44), SPEAR_TRAP (hitag 63)
  248.  
  249. @tag44
  250. Hitag 44:       BOLT_TRAP
  251.         TAG2 = match
  252.         TAG4 = angle
  253.  
  254.         Shoots a rocket from the location of this sprite in the direction the
  255.         angle is pointing when a sector tagged TAG_TRIGGER_MISSILE_TRAP
  256.         (sector tag 43) is stepped on.
  257.         EXAMPLES: BD in EXAMPLE.MAP
  258.         SEE ALSO: FIREBALL_TRAP (hitag 43), SPEAR_TRAP (hitag 63)
  259.  
  260. @tag45
  261. Hitag 45:       SECT_SO_DONT_ROTATE
  262.  
  263.         Causes a sector object to move without rotating as it follows its
  264.         track or is driven by the player. Place in the center sector.
  265.         EXAMPLES: FB in EXAMPLE.MAP
  266.         SEE ALSO: SO_TURN_SPEED (hitag 55), SO_LIMIT_TURN (hitag 68)
  267.  
  268. @tag46
  269. Hitag 46:       PARALLAX_LEVEL
  270.                 TAG2 = parallax sky type
  271.  
  272.         Set parallax sky type to 0, 1, or 2. This value adjusts the xrepeat
  273.         of the sky texture. You only need to place one per level in a single
  274.         sector that uses a parallax sky texture, and it will affect the whole
  275.         level. If more than one is placed in a map, the sky will usually
  276.         behave strangely.
  277.         EXAMPLES: BE in EXAMPLE.MAP
  278.  
  279. @tag47
  280. Hitag 47:       SECT_DONT_COPY_PALETTE
  281.  
  282.         Normally any sprites or the player standing on a palette swapped
  283.         floor take on the palette of the floor. Use this ST1 on sectors where
  284.         you don't want this to happen.
  285.         EXAMPLES: BE in EXAMPLE.MAP
  286.  
  287. @tag48
  288. Hitag 48:       MULTI_COOPERATIVE_START
  289.                 TAG2 = (0 to 7) player number
  290.                 TAG4 = angle to start facing
  291.  
  292.         Spawn spots for cooperative multi-player games. The players' feet
  293.         will be placed at the same height as the bottom of the ST1 sprite,
  294.         so place them on the floor unless you want the player to fall.
  295.         Always be sure to include start point 0.
  296.         EXAMPLES: Any game map
  297.         SEE ALSO: MULTI_PLAYER_START (hitag 42)
  298.  
  299. @tag49
  300. Hitag 49:       SO_SET_SPEED
  301.                 TAG2 = speed (2 to 128)
  302.  
  303.         Sets the speed at which a sector object follows a track. This is
  304.         functionally the same as TRACK_SET_SPEED (tracktag 702).
  305.         EXAMPLES: FA in EXAMPLE.MAP
  306.  
  307. @tag50
  308. Hitag 50:       SO_SPIN
  309.                 TAG2 = speed
  310.  
  311.         Causes a sector object to spin clockwise at the rate specified in
  312.         TAG2. This is functionally the same as TRACK_SPIN (tracktag 715).
  313.         EXAMPLES: EC in EXAMPLE.MAP
  314.         SEE ALSO: SO_SPIN_REVERSE (hitag 51)
  315.  
  316. @tag51
  317. Hitag 51:       SO_SPIN_REVERSE
  318.                 TAG2 = speed
  319.  
  320.         Causes a sector object to spin counter-clockwise at the rate
  321.         specified in TAG2. This is functionally the same as
  322.         TRACK_SPIN_REVERSE (tracktag 720).
  323.         EXAMPLES: EC in EXAMPLE.MAP
  324.         SEE ALSO: SO_SPIN (hitag 50)
  325.  
  326. @tag52
  327. Hitag 52:       SO_BOB_START
  328.                 TAG2 = bobbing amount
  329.  
  330.         Causes a sector object to bob up and down continuously. TAG2
  331.         specifies how high the object will bob. This is functionally the
  332.         same as TRACK_BOB_START (tracktag 717).
  333.         EXAMPLES: $WHIRL.MAP
  334.         SEE ALSO: SO_BOB_SPEED (hitag 53), SECT_SO_DONT_BOB (hitag 32)
  335.  
  336. @tag53
  337. Hitag 53:       SO_BOB_SPEED
  338.                 TAG2 = speed
  339.  
  340.         Place in the same sector with SO_BOB_START (hitag 52). TAG2
  341.         specifies the speed at which the sector object will bob. This is
  342.         functionally the same as TRACK_BOB_SPEED (tracktag 718).
  343.         EXAMPLES: $WHIRL.MAP
  344.         SEE ALSO: SO_BOB_START (hitag 52), SECT_SO_DONT_BOB (hitag 32)
  345.  
  346. @tag55
  347. Hitag 55:       SO_TURN_SPEED
  348.                 TAG2 = speed (0 is fastest)
  349.  
  350.         Determines how fast a sector object turns to meet the new angle as it
  351.         follows a track. The default is 4. For some reason this has no track
  352.         tag functional equivalent.
  353.         EXAMPLES: FA in EXAMPLE.MAP
  354.         SEE ALSO: SECT_SO_DONT_ROTATE (hitag 45), SO_LIMIT_TURN (hitag 68)
  355.  
  356. @tag56
  357. Hitag 56:       LAVA_ERUPT
  358.                 TAG2  = (1 to 1024) The larger the number the more stuff
  359.                        erupts.
  360.                 TAG3  = type of eruption
  361.                         0 = lava shards
  362.             1 = volcano boulders
  363.                 TAG4  = angle of eruption
  364.                 TAG5  = angle delta from TAG4
  365.                 TAG6  = max x/y velocity 
  366.                 TAG7  = z velocity amount
  367.                 TAG8  = z velocity random amount - added to TAG5 value
  368.                 TAG9  = erupt for this many seconds - default 10
  369.         TAG10 = wait for this many seconds till next eruption
  370.         BOOL1 = don't spawn unless player is in TRIGGER_SECTOR
  371.  
  372.         This ST1 will spawn lava debris at its location. The lava will
  373.         constantly erupt in intervals (killing framerate) unless BOOL1 is
  374.         set to "1", in which case you will need to set up trigger sectors.
  375.         See TRIGGER_SECTOR (hitag 140.) Then the lava will only erupt while
  376.         the player is standing in those sectors.
  377.         EXAMPLES: BF in EXAMPLE.MAP
  378.  
  379. @tag57
  380. Hitag 57:       SECT_EXPLODING_CEIL_FLOOR
  381.                 TAG2 = match
  382.  
  383.         Pulls the ceiling and floor together at pre-map. The ceiling and
  384.         floor can then be explosively blown apart by shooting a
  385.         TAG_SPRITE_HIT_MATCH (lotag 257), otherwise known as a crack
  386.         sprite. The TAG_SPRITE_HIT_MATCH hitag must match TAG2 of this ST1.
  387.         EXAMPLES: CA in EXAMPLE.MAP
  388.         SEE ALSO: SECT_COPY_DEST (hitag 58), SECT_COPY_SOURCE (hitag 59)
  389.  
  390. @tag58
  391. Hitag 58:       SECT_COPY_DEST
  392.         TAG2 = match
  393.         TAG3 = sector source-dest match
  394.                 
  395.         Effectively copies all of the source sector attributes to the
  396.         destination sector when triggered. This is probably the most
  397.         powerful feature of Shadow Warrior, because it lets you do so many
  398.         cool things to a map. Examples are scattered throughout almost
  399.         every map. You can do things like blow a hole in the floor and reveal
  400.         a hidden swimmable stream, lava pool, or gettable item. It will move
  401.         sprites from the source to the destination also. It's very important
  402.         that the source and destination sectors be congruent. TAG2 is an
  403.         event match (i.e. hit a switch and the copy occurs), while TAG3
  404.         serves to identify which source sector belongs to which destination
  405.         sector when copying multiple sectors at the same time. Copy sector
  406.         58-59 tags will activate in conjuction with matching SECT_MOVE_WALL
  407.         (hitag 103) tags AFTER the copy is done. Copy sector 58-59 tags
  408.         should remove any visible sprites from the destination sector,
  409.         although this doesn't apply to gettable items. Copy sector 58-59
  410.         tags will activate in conjuction with matching SPAWN_SPOT tags
  411.         AFTER the copy is done.
  412.         EXAMPLES: CB in EXAMPLE.MAP
  413.         SEE ALSO: SECT_COPY_SOURCE (hitag 59), SECT_EXPLODING_CEIL_FLOOR
  414.                   (hitag 57)
  415.  
  416. @tag59
  417. Hitag 59:       SECT_COPY_SOURCE
  418.         TAG2 = match
  419.         TAG3 = sector source-dest match
  420.  
  421.         This is the source from which a destination sector is copied. See
  422.         SECT_COPY_DEST (hitag 58) for more information.
  423.         EXAMPLES: CB in EXAMPLE.MAP
  424.         SEE ALSO: SECT_COPY_DEST (hitag 58), SECT_EXPLODING_CEIL_FLOOR
  425.                   (hitag 57)
  426.  
  427. @tag62
  428. Hitag 62:       SHOOT_POINT
  429.                 TAG2 = match - if non 0 then it will call
  430.                        DoMatchEverything every time sector object is fired.
  431.                        Can be a one time operation with BOOL1. 
  432.                 TAG3 = ammo type
  433.             -1/255 = Do nothing shoot point - primarily to make
  434.                                  the player's weapon go away
  435.                         0      = Tank shell
  436.                         1      = Machine gun
  437.                         2      = Laser
  438.                         3      = Rail gun
  439.                         4      = Fireball
  440.                         5      = Rocket
  441.                         6      = Micro Missle Battery
  442.                 TAG4 = angle
  443.                 TAG5 = delay until next fire in 120th of a second tics
  444.                        (i.e. 60 = half a second) Defaults to 80, except
  445.                        ammo type 1, which defaults to 6.
  446.                 TAG6 = Sound Spot match - Calls SOUND_SPOT (hitag 134) with
  447.                        this match tag
  448.                 BOOL1= If "1" then TAG2 is reset to 0 after the first use.
  449.         
  450.         For operational sector objects and auto turrets. Sets the point
  451.         from which the sector object shoots. Place on the end of a gun barrel
  452.         and point the sprite in the desired shooting direction. When a shoot
  453.         point exists on an operational sector object, the player's weapon is
  454.         no longer used, otherwise the player's weapon stays up. Sometimes
  455.         TAG6 is not needed because some ammo types have default sounds.
  456.         EXAMPLES: EE and EF in EXAMPLE.MAP
  457.  
  458. @tag63
  459. Hitag 63:       SPEAR_TRAP
  460.         TAG2 = match
  461.         TAG4 = ang
  462.  
  463.         Shoots an arrow from the location of this sprite in the direction
  464.         the angle is pointing when a sector tagged TAG_TRIGGER_MISSILE_TRAP
  465.         (sector tag 43) is stepped on.
  466.         EXAMPLES: BD in EXAMPLE.MAP
  467.         SEE ALSO: FIREBALL_TRAP (hitag 43), BOLT_TRAP (hitag 44)
  468.  
  469. @tag64
  470. Hitag 64:       SO_SYNC1
  471.  
  472.         Place in a sector object. Keeps sector objects running a constant
  473.         rate so they can stay in sync better if needed. Possibly useful for
  474.         meshing gears or something. If it's rideable use SYNC1. Only use
  475.         this when you absolutely need to. (NOTE: This isn't used anywhere in
  476.         Shadow Warrior, and probably isn't even necessary.)
  477.         SEE ALSO: SO_SYNC2 (hitag 65)
  478.  
  479. @tag65
  480. Hitag 65:       SO_SYNC2
  481.  
  482.         Same as SO_SYNC1 (hitag 64), only slightly faster. If it's rideable
  483.         use SYNC1. Only use this when you absolutely need to. (NOTE: This
  484.         isn't used anywhere in Shadow Warrior, and probably isn't even
  485.         necessary.)
  486.  
  487. @tag66
  488. Hitag 66:       DEMO_CAMERA
  489.                 TAG2 = delta ang
  490.                 TAG3 = camera type (0 or 1)
  491.                 TAG4 = angle
  492.  
  493.         A third person camera view which is used when playing back demos, or
  494.         when playing with the -cam command line option. Point it in the
  495.         direction you want the camera to face. TAG2 is the amount the camera
  496.         will turn in either direction (512 = 90 degrees). If TAG3 is 1, then
  497.         a special camera will be used which orbits around the player at a
  498.         constant distance, speed, and height, until the player moves out of
  499.         the camera's view.
  500.         EXAMPLES: FD in EXAMPLE.MAP
  501.         SEE ALSO: MIRROR_CAM (hitag 1000)
  502.  
  503. @tag68
  504. Hitag 68:       SO_LIMIT_TURN
  505.                 TAG2 = delta ang
  506.  
  507.         Limit the turning of sector object. Especially useful with turrets.
  508.         Point the SO_LIMIT_TURN sprite in the center direction. TAG2 is the
  509.         amount the sector object can pivot in either direction.
  510.         (512 = 90 degrees either way, for a 180 degree total range of motion)
  511.         EXAMPLES: EE in EXAMPLE.MAP
  512.         SEE ALSO: SECT_SO_DONT_ROTATE (hitag 45), SO_TURN_SPEED (hitag 55)
  513.  
  514. @tag69
  515. Hitag 69:       SPAWN_SPOT
  516.                 TAG2 = Match
  517.                 TAG3 = Type of effect to spawn
  518.                         0  = Nothing
  519.                         1  = Breaking glass
  520.                         2  = Wood smashed
  521.                         3  = Smoke, but only used for damaged sector objects
  522.                         4  = Rice paper (silent)
  523.                         5  = Blood splat (silent)
  524.                         6  = Standard explosion
  525.                         7  = Explosion w/phosphorous
  526.                         8  = Breaking metal
  527.                         9  = Crumbling stone
  528.                         11 = Gib splat
  529.                         12 = Wood smashed
  530.                         13 = Crumbling stone
  531.                 TAG4 = Direction debris flies out in
  532.                 TAG5 = Time delay before activating in 1/8 second tics 
  533.                 TAG6 = Always set this equal to TAG3
  534.                 TAG8 = Number of shrap pieces (default value of 0 will pick a
  535.                        programmed default number) 
  536.                 TAG9 = Random Z range in pixels from ST1 z position
  537.                 TAG10= Increase size of shraps (0-255)
  538.  
  539.         Spawn some effect triggered by just about anything. This is used a
  540.         lot throughout the game for various special effects, including
  541.         crumbling ceilings, large complex explosions, and breakable sprites.
  542.         EXAMPLES: CC in EXAMPLE.MAP
  543.         SEE ALSO: SECT_EXPLODING_CEIL_FLOOR (hitag 57), SPAWN_ITEMS
  544.                   (hitag 149)
  545.  
  546. @tag70
  547. Hitag 70:       SO_MATCH_EVENT
  548.                 TAG2  = Match
  549.                 TAG3  = Spin_speed adjust - can be negative or positive
  550.                 TAG7  = Velocity adjustment
  551.                 BOOL1 = Velocity adjustment type
  552.                         0: Velocity adjust is instant
  553.                         1: Velocity adjust is approached
  554.                 BOOL2 = Direction flip
  555.                         0: False
  556.                         1: True
  557.                 BOOL3 = Toggle help only used for triggers and things that
  558.                         don't have a definite ON/OFF.
  559.                         0: Off
  560.                         1: On
  561.  
  562.         Certain sector object effects, like SO_SCALE_INFO (hitag 100) and
  563.         SO_KILLABLE (hitag 80), can be triggered by a match tag event.
  564.         This is accomplished using SO_MATCH_EVENT. The adjustment values
  565.         are added when the event is ON, and they are subtracted when the
  566.         event is OFF. You may need to experiment with this a bit, since we
  567.         didn't use it very much in the game.
  568.         EXAMPLES: EE in EXAMPLE.MAP
  569.  
  570. @tag71
  571. Hitag 71:       SO_SLOPE_FLOOR_TO_POINT
  572.                 
  573.         Aligns a sloping floor sector in a sector object to a point tagged as
  574.         TAG_WALL_ALIGN_SLOPE_TO_POINT (walltag 550). Generally used with
  575.         a spike or drill effect rising up from the floor. See also
  576.         SO_SLOPE_CEILING_TO_POINT (hitag 72).
  577.  
  578. @tag72
  579. Hitag 72:       SO_SLOPE_CEILING_TO_POINT
  580.  
  581.         Aligns a sloping floor sector in a sector object to a point tagged as
  582.         TAG_WALL_ALIGN_SLOPE_TO_POINT (walltag 550). Generally used with
  583.         a tornado or whirlpool effect coming down from the ceiling. See also
  584.         SO_SLOPE_FLOOR_TO_POINT (hitag 71).
  585.         EXAMPLES: ED in EXAMPLE.MAP
  586.  
  587. @tag73
  588. Hitag 73:       SO_TORNADO
  589.  
  590.         This sets up a sector object to behave like a tornado.
  591.         EXAMPLES: ED in EXAMPLE.MAP
  592.         SEE ALSO: SO_AMOEBA (hitag 75), SO_AUTO_TURRET (hitag 81)
  593.  
  594. @tag75
  595. Hitag 75:       SO_AMOEBA
  596.  
  597.         This sets up a sector object to behave like an amoeba.
  598.         EXAMPLES: EC in EXAMPLE.MAP
  599.         SEE ALSO: SO_TORNADO (hitag 73), SO_AUTO_TURRET (hitag 81),
  600.                   SO_SCALE_INFO (hitag 100)
  601.  
  602. @tag76
  603. Hitag 76:       SO_MAX_DAMAGE
  604.                 TAG2 = Max amount of damage a sector object can take before
  605.                        breaking
  606.                 TAG3 = Always set to 0
  607.                 TAG5 = Initial damage setting (-1 is broken) - if this value
  608.                        is 0 it is set to the value of TAG2 (full health)
  609.  
  610.         Damage for operational and auto turret sector objects. Sector objects
  611.         only take damage from explosive type weapons, not machine gun types.
  612.         Be sure to add a SPAWN_SPOT (hitag 69) with TAG3 set to 3 for the
  613.         smoke effect. When the driveable is broken, it will trigger the
  614.         smoke, and when the object is repaired, the smoke will go away again.
  615.         EXAMPLES: EE in EXAMPLE.MAP
  616.         SEE ALSO: SO_KILLABLE (hitag 80)
  617.  
  618. @tag77
  619. Hitag 77:       SO_RAM_DAMAGE
  620.                 TAG2 = Damage amount
  621.  
  622.         Damage amount done by ramming with an operational sector object.
  623.         Not needed for running over actors, since this is done by default.
  624.         This is usually used for ramming killable sector objects or other
  625.         operational sector objects.
  626.  
  627. @tag80
  628. Hitag 80:       SO_KILLABLE
  629.                 
  630.         Marks a sector object as killable. A sector object can be killed
  631.         either when it receives enough damage, set by SO_MAX_DAMAGE
  632.         (hitag 76), or when a match event occurs, set by SO_MATCH_EVENT
  633.         (hitag 70). A killable sector object is actually completely
  634.         deleted by becoming part of the sector surrounding the sector object.
  635.         EXAMPLES: EE in EXAMPLE.MAP
  636.  
  637. @tag81
  638. Hitag 81:       SO_AUTO_TURRET
  639.  
  640.         A sector object with a SO_AUTO_TURRET ST1 will always turn to face
  641.         the player. Useful for a variety of effects, since it won't shoot the
  642.         player unless you give it a SHOOT_POINT (hitag 62). A SHOOT_POINT
  643.         on an auto turret will only fire the machine gun ammo type. The
  644.         sector object center must have a sector hitag of 96 or 98 for this to
  645.         work properly.
  646.         EXAMPLES: EE in EXAMPLE.MAP
  647.         SEE ALSO: SO_AMOEBA (hitag 75), SO_TORNADO (hitag 73)
  648.  
  649. @tag82
  650. Hitag 82:       SECT_DAMAGE
  651.                 TAG2  = Damage done per second
  652.                 BOOL1 = 0, Does damage when touching floor of sector
  653.                 BOOL1 = 1, Does damage above sector - like swimming in lava
  654.  
  655.         Causes a sector to do damage to players and actors.
  656.         EXAMPLES: CD in EXAMPLE.MAP
  657.  
  658. @tag84
  659. Hitag 84:       WARP_TELEPORTER
  660.                 TAG2   = Match
  661.                 TAG3   = Type
  662.                         0 = (default) Always teleports you to the matching
  663.                             sprite location at the angle the sprite is facing
  664.                         1 = (offset)  Always teleports you by the offset.
  665.                             Does not affect the angle.
  666.                 TAG4   = Angle
  667.                 TAG5-8 = Random match locations in addition to TAG2
  668.                 TAG10  = Teleport or don't
  669.                         0 = (two-way) Teleport when you enter this sector
  670.                         1 = (one-way) Don't teleport when you hit this sector
  671.  
  672.         Magic teleporter warps just about anything from one sector to
  673.         another. If TAG3 is "0", then a magic shimmering effect and sound
  674.         will occur. It is very important that the destination sector be at
  675.         least as large as the source sector, or the game may quit with an
  676.         error.
  677.         EXAMPLES: CD in EXAMPLE.MAP
  678.         SEE ALSO: WARP_CEILING_PLANE (hitag 85), WARP_FLOOR_PLANE (hitag 86),
  679.                   WARP_COPY_SPRITE1 (hitag 87), WARP_COPY_SPRITE2 (hitag 88)
  680.  
  681. @tag85
  682. Hitag 85:       WARP_CEILING_PLANE
  683.                 TAG2 = Match
  684.  
  685.         If the player's view (or a NPC Z coordinate) goes ABOVE the
  686.         Z position of this ST1 sprite then a warp to the Z coordinate of
  687.         the matching WARP_FLOOR_PLANE (hitag 86) will occur.
  688.         EXAMPLES: CE in EXAMPLE.MAP
  689.         SEE ALSO: WARP_TELEPORTER (hitag 84), WARP_FLOOR_PLANE (hitag 86),
  690.                   WARP_COPY_SPRITE1 (hitag 87), WARP_COPY_SPRITE2 (hitag 88),
  691.  
  692. @tag86
  693. Hitag 86:       WARP_FLOOR_PLANE
  694.                 TAG2 = Match
  695.  
  696.         If the player's view (or a NPC Z coordinate) goes BELOW the
  697.         Z position of this ST1 sprite then a warp to the Z coordinate of the
  698.         matching WARP_CEILING_PLANE will occur.
  699.         EXAMPLES: CE in EXAMPLE.MAP
  700.         SEE ALSO: WARP_CEILING_PLANE (hitag 85), WARP_TELEPORTER (hitag 84),
  701.                   WARP_COPY_SPRITE1 (hitag 87), WARP_COPY_SPRITE2 (hitag 88)
  702.  
  703. @tag87
  704. Hitag 87:       WARP_COPY_SPRITE1
  705.                 TAG2 = Match WARP_COPY_SPRITE2 tag
  706.  
  707.         Any sprite that enters a sector marked with WARP_COPY_SPRITE1 will
  708.         cause a duplicate image to appear in the sector marked with a
  709.         WARP_COPY_SPRITE2 (hitag 88) with matching TAG2.
  710.         EXAMPLES: CE in EXAMPLE.MAP
  711.         SEE ALSO: WARP_CEILING_PLANE (hitag 85), WARP_FLOOR_PLANE (hitag 86),
  712.                   WARP_TELEPORTER (hitag 84), WARP_COPY_SPRITE2 (hitag 88)
  713.  
  714. @tag88
  715. Hitag 88:       WARP_COPY_SPRITE2
  716.                 TAG2 = match WARP_COPY_SPRITE1 tag
  717.  
  718.         Any sprite that enters a sector marked with WARP_COPY_SPRITE2 will
  719.         cause a duplicate image to appear in the sector marked with a
  720.         WARP_COPY_SPRITE2 (hitag 87) with matching TAG2.
  721.         EXAMPLES: CE in EXAMPLE.MAP
  722.         SEE ALSO: WARP_CEILING_PLANE (hitag 85), WARP_FLOOR_PLANE (hitag 86),
  723.                   WARP_COPY_SPRITE1 (hitag 87), WARP_TELEPORTER (hitag 84)
  724.  
  725. @tag90
  726. Hitag 90:       PLAX_GLOB_Z_ADJUST
  727.                 TAG2 = Ceiling z movement in pixels 
  728.                 TAG3 = Floor z movement in pixels 
  729.                 
  730.         Global parallax ceiling and floor adjustment. Default is 500 pixels.
  731.         This affects how far past the actual surface height a sprite can
  732.         move in sectors with parallax ceilings and floors.
  733.         SEE ALSO: FLOOR_Z_ADJUST (hitag 98), CEILING_Z_ADJUST (hitag 97),
  734.                   SECT_SINK (hitag 0)
  735.  
  736. @tag92
  737. Hitag 92:       SECT_VATOR
  738.         TAG2 = match
  739.         TAG3 = Type
  740.                         0 = Manual/Switch/Trigger - Primarily used for a
  741.                             basic manually operated door. If a manual type
  742.                             has a match tag that is not 0 then ALL vators
  743.                             with the same match type will be operated on.
  744.                             Manual operation - works from either within the
  745.                             sector or alongside of the sector.
  746.                             Switch operation - switch resets when the vator
  747.                             goes to default position.
  748.                             Trigger operation - same as switch but it's a
  749.                             floor trigger.
  750.                         1 = Switch/Trigger Only - Cannot be operated manually
  751.                             ALL vator types with the same matching tag get
  752.                             operated on
  753.                         2 = Automatic - Starts Active
  754.                         3 = Automatic - Starts Inactive - must be turned on
  755.                             with a switch or trigger
  756.                 TAG4 = Speed
  757.                 TAG5 = Acceleration at which door approaches TAG4
  758.                 TAG6 = Match at destination - when a vator reaches its
  759.                        destination it will trigger any event with this
  760.                        match tag
  761.                 TAG9 = Auto return time - 1/8th of a second resolution - if
  762.                        non 0 then the vator will return to default position
  763.                        after alloted time - if 0 then it will stay in the on
  764.                        position until operated again
  765.                 BOOL1=  0: Start in the off position
  766.                         1: Start in the on position
  767.                 BOOL2=  0: Toggle
  768.                         1: Operate once only
  769.                 BOOL3=  0: Crush player
  770.                         1: Don't crush player
  771.                 BOOL4 = 0: Operate in WangBang games
  772.                         1: Not allowed to operate in WangBang games
  773.                 BOOL5 = 0: Don't call TAG6 match when moving to OFF position
  774.                         1: Call TAG6 match when moving to the ON or OFF
  775.                            position
  776.                 BOOL6 = 0: Wait until motion is complete before it can be
  777.                            operated again
  778.                         1: Can be operated again while sector is in motion
  779.                 BOOL7 = 0: Actors are allowed to operate this vator
  780.                         1: Actors can't operate this vator
  781.                 BOOL11= 1: Displays "Single play only" message when
  782.                            operated in WangBang. Use with BOOL4.
  783.  
  784. Elevators, stompers, doors, lifts and other tricks are collectively called
  785. "vators." The "off" position is the position of the sector in BUILD, the "on"
  786. position is the height of the ST1 sprite. Flip the ST1 sprite upside down
  787. (by pressing "F" twice on it) to do a ceiling vator like a door or stomper.
  788. Any vator can be locked by placing a SECT_LOCK_DOOR (hitag 29) in the same
  789. sector. Two SECT_VATOR sprites can be placed in a sector to operate the
  790. ceiling and floor separately.
  791. EXAMPLES: DB in EXAMPLE.MAP
  792. SEE ALSO: SECT_ROTATOR (hitag 143), SECT_SLIDOR (hitag 145),
  793.           SECT_SPIKE (hitag 106)
  794.  
  795. @tag97
  796. Hitag 97:       CEILING_Z_ADJUST
  797.                 TAG2 = Amount
  798.  
  799.         Allows the player and actors to 'sink' into the ceiling of a sector
  800.         by the amount in TAG2. The player view will probably be strange
  801.         unless the ceiling texture is a parallax sky.
  802.         EXAMPLES: $VOLCANO.MAP
  803.         SEE ALSO: PLAX_GLOB_Z_ADJUST (hitag 90), FLOOR_Z_ADJUST (hitag 98),
  804.                   SECT_SINK (hitag 0)
  805.  
  806. @tag98
  807. Hitag 98:       FLOOR_Z_ADJUST
  808.                 TAG2 = Amount
  809.  
  810.         Allows the player and actors to sink into the floor of a sector
  811.         by the amount in TAG2.
  812.         EXAMPLES: AB and CE in EXAMPLE.MAP
  813.         SEE ALSO: PLAX_GLOB_Z_ADJUST (hitag 90), CEILING_Z_ADJUST (hitag 97),
  814.                   SECT_SINK (hitag 0)
  815.  
  816. @tag99
  817. Hitag 99:       FLOOR_SLOPE_DONT_DRAW
  818.  
  819.         Use this ST1 in any sector with a sloped floor and the slope angle
  820.         will be set to 0 when the scene is drawn. The sector will still act
  821.         like a slope for all movement purposes.
  822.         EXAMPLES: CE in EXAMPLE.MAP
  823.  
  824. @tag100
  825. Hitag 100:      SO_SCALE_INFO
  826.         TAG2 = Speed
  827.                 TAG3 = Start position
  828.                        0 = start at min
  829.                        1 = start at max
  830.                 TAG4 = Initial type
  831.                        0 = None
  832.                        1 = Hold
  833.                        2 = Destination
  834.                        3 = Random
  835.                        4 = Cycle
  836.                        5 = Random point
  837.                            Needs SO_SCALE_POINT_INFO (hitag 101)
  838.                 TAG5 = Min dist - distance from default size to scale inward
  839.                 TAG6 = Max dist - distance from default size to scale outward
  840.                 TAG7 = Activate type - same types as TAG4, but this what
  841.                        happens after the sector object is activated with a
  842.                        SO_MATCH_EVENT (hitag 70)
  843.                 TAG8 = Random frequency (0-64) - The lower the number the
  844.                        slower the random direction change.
  845.  
  846.         This allows you to scale simple sector objects. "Hold" type maintains
  847.         the default scale. "Destination" moves either to the minimum or
  848.         maximum scaling size. "Random" is just that - the sector object
  849.         scales larger and smaller randomly. "Cycle" continuously scales from
  850.         min to max and back again. "Random point" is just like a SO_AMOEBA
  851.         (hitag 75), except that SO_SCALE_INFO gives you greater control over
  852.         its behavior.
  853.         EXAMPLES: EE in EXAMPLE.MAP, the amoeba in $SHRINE.MAP
  854.         SEE ALSO: SO_AMOEBA (hitag 75), SO_SCALE_POINT_INFO (hitag 101)
  855.  
  856. @tag101
  857. Hitag 101:      SO_SCALE_POINT_INFO
  858.         TAG2 = Speed
  859.         TAG4 = Random freqency - 0 to 1024 - the lower the number
  860.                        the slower the direction change
  861.         TAG5 = Min dist - dist from default size to scale inward
  862.         TAG6 = Max dist - dist from default size to scale outward
  863.  
  864.         SO_SCALE_POINT_INFO is used with a SO_SCALE_INFO (hitag 100) ST1 to
  865.         provide information about how the vertices should behave. TAG5 and
  866.         TAG6 are used to designate how far in and out the individual
  867.         vertices should move at the speed in TAG2. Be careful; when wall
  868.         points cross each other, strange and unpredictable sector behavior
  869.         can occur.
  870.         EXAMPLES: The amoeba in $SHRINE.MAP
  871.         SEE ALSO: SO_AMOEBA (hitag 75), SO_SCALE_INFO (hitag 100)
  872.  
  873. @tag102
  874. Hitag 102:      SO_SCALE_XY_MULTIPLY
  875.                 TAG5 = x multiply value; 256 is equal to 1
  876.         TAG6 = y multiply value; 256 is equal to 1
  877.  
  878.         Use in conjunction with SO_SCALE_INFO (hitag 100) and
  879.         SO_SCALE_POINT_INFO (hitag 101). Try experimenting with this to see
  880.         what kind of effects you can achieve.
  881.  
  882. @tag103
  883. Hitag 103:      SECT_WALL_MOVE
  884.                 TAG2 = Match - triggering one of these will trigger all
  885.                        SECT_WALL_MOVE ST1's with the same matching tags.
  886.                        This will also trigger SPAWN_SPOT ST1's.
  887.                 TAG3 = Match with a SECT_WALL_MOVE_CANSEE (hitag 104)
  888.                 TAG4 = Angle - point in the direction you want the wall point
  889.                        to move
  890.                 TAG5 = Pic 1 - Next wall texture
  891.                 TAG6 = Pic 2 - Previous wall texture 
  892.                 TAG7 = Shade 1 - Next wall shade
  893.                 TAG8 = Shade 2 - Previous wall shade
  894.                 TAG9 = Number of times the point can be shot
  895.                 TAG10= Random angle difference - 1 to 128 - the larger the
  896.                        number the greater the angle deviance.
  897.                 TAG13= Distance to move point each time it's shot
  898.                 BOOL1= 0: Can work independently
  899.                        1: Only activated as part of a TAG3 group
  900.  
  901.         This creates a dentable wall. Every time the wall vertex is shot with
  902.         an explosive weapon, it will move the distance in TAG13, up to TAG9
  903.         times. Place the ST1 sprite on TOP of the vertex to move. One vertex
  904.         will move. Every vertex is associated with two walls: the next wall
  905.         and the previous wall. If TAG5 or TAG6 are non-zero, then that wall
  906.         will take on the specified texture when the vertex is shot. If TAG7
  907.         or TAG8 are non-zero, then that wall will take on the new shade
  908.         value specified. This will work for sector object walls with one
  909.         limitation: you cannot tag the outside wall loop tagged with a 504 to
  910.         be moveable. NOTE: Changing the value of TAG13 will cause the ST1
  911.         sprite to move strangely in 3D editing mode. Don't worry. If 2D mode
  912.         says it's on the vertex, then it's on the vertex.
  913.         EXAMPLES: DA in EXAMPLE.MAP
  914.         SEE ALSO: SECT_WALL_MOVE_CANSEE (hitag 104), SPAWN_SPOT (hitag 69),
  915.                   SECT_EXPLODING_CEIL_FLOOR (hitag 57)
  916.  
  917. @tag104
  918. Hitag 104:      SECT_WALL_MOVE_CANSEE
  919.                 TAG2 = Match with TAG3 of SECT_MOVE_WALL (hitag 103)
  920.  
  921.         Placing sprites on wall points renders them somewhat unreliable for
  922.         certain engine routines. If there is a problem activating a
  923.         SECT_MOVE_WALL, set up one of these off of the wall point for the
  924.         engine to use for detection purposes. I have never needed to use
  925.         this.
  926.         EXAMPLES: DA in EXAMPLE.MAP
  927.  
  928. @tag106
  929. Hitag 106:      SECT_SPIKE
  930.                 TAG2 = Match
  931.         TAG3 = Type
  932.                         0 = Manual/Switch/Trigger - primarily used for manual
  933.                             type. If a manual type has a match tag that is
  934.                             not 0 then ALL spikes with the same match type
  935.                             will be operated on. A spike can be manually
  936.                             operated from either within the sector, or to the
  937.                             side. With switch operation, the switch resets
  938.                             when the spike goes to default position. With
  939.                             trigger operation, it's the same as a switch but
  940.                             it's a floor trigger.
  941.                         1 = Switch/Trigger Only - cannot be operated manually
  942.                             ALL spike types with the same matching tag get
  943.                             operated on by the switch or trigger.
  944.                         2 = Automatic - Starts active
  945.                         3 = Automatic - Starts inactive, must be activated
  946.                             with a switch or trigger.
  947.                 TAG4 = Speed
  948.                 TAG5 = Acceleration at which TAG4 speed is approached
  949.                 TAG6 = Match at destination - when a spike reaches its
  950.                        destination it will trigger any event with this
  951.                        match tag
  952.                 TAG7 = Sector object number to operate on. Set to -1 if the
  953.                        SECT_SPIKE is not in a sector object.
  954.                 TAG9 = Auto return time - 1/8th of a second resolution - if
  955.                        non 0 then the spike will return to its default
  956.                        position after the alloted time. If 0 then it will
  957.                        stay in the ON position until the spike is operated
  958.                        again.
  959.                 BOOL1= 0: Start in the off position
  960.                        1: Start in the on position
  961.                 BOOL2= 0: Toggle
  962.                        1: Operate once only
  963.                 BOOL3= 0: Crush player
  964.                        1: Don't crush player
  965.                 BOOL4= 0: Operate in WangBang games
  966.                        1: Not allowed to operate in WangBang games
  967.                 BOOL5= 0: Don't call TAG6 match when moving to OFF position
  968.                        1: Call TAG6 match when moving to the ON or OFF
  969.                           position
  970.                 BOOL6= 0: Wait until motion is complete before it can be
  971.                           operated again
  972.                        1: Can be operated again while sector is in motion
  973.                 BOOL7= 0: Actors are allowed to operate this spike
  974.                        1: Actors can't operate this spike
  975.                 BOOL11=1: Displays "Single play only" message when
  976.                           operated in WangBang. Use with BOOL4.
  977.  
  978.         A "spike" is the term for a dynamic slope in Shadow Warrior. Useful
  979.         for tilting ramps and slides, or special ceiling effects like a
  980.         drill. A spike behaves pretty much like a vator, except instead of
  981.         the floor height moving to the ST1, the floor instead slopes to the
  982.         height of the ST1. Remember that slopes always hinge on the "first
  983.         wall" of a sector (set with Alt-F). To do a spike from the ceiling,
  984.         flip the ST1 sprite upside down (press "F" twice on the sprite in 3D
  985.         mode). "Off" position is the position of the sector, "on" position is
  986.         the height of the ST1 sprite. WARNING: Don't forget to put that -1
  987.         in TAG7! Shadow Warrior will usually crash if you forget to do this.
  988.         EXAMPLES: DC in EXAMPLE.MAP
  989.         SEE ALSO: SECT_ROTATOR (hitag 143), SECT_SLIDOR (hitag 145),
  990.                   SECT_VATOR (hitag 92), SLIDE_SECTOR (hitag 135)
  991.  
  992. @tag108
  993. Hitag 108:      LIGHTING
  994.                 TAG2 = Match
  995.                 TAG3 = Type
  996.                         0 = Constant
  997.                         1 = Flicker
  998.                         2 = Fade
  999.                         3 = Flicker ON
  1000.                         4 = Fade to ON/OFF
  1001.                 TAG4 = Timing - the smaller the number, the faster a light
  1002.                        flickers or fades
  1003.                 TAG5 = Brighten amount - This is not an actual shade amount,
  1004.                        instead, this is the value the ST1 will subtract from
  1005.                        the sector's shade value (QUOTE-S in 3D mode) when it
  1006.                        is turned on.
  1007.                 TAG6 = Darken amount - This is not an actual shade amount,
  1008.                        instead, this is the value the ST1 will add to the
  1009.                        sector's shade value when it is turned off.
  1010.                 TAG7 = Shade increment/decrement for fading lights - default
  1011.                        is 1
  1012.                 BOOL1= 0: Light is off
  1013.                        1: Light is on
  1014.                 BOOL2= 1: Don't affect floor
  1015.                 BOOL3= 1: Don't affect ceiling
  1016.                 BOOL4= 1: Don't shade walls
  1017.                 BOOL5= 1: Shade outer walls - red sectors have inner and
  1018.                           outer walls - by default LIGHTING will not shade
  1019.                           the outer walls
  1020.                 BOOL6= 1: Don't affect the palette of the sector
  1021.                 BOOL8= 1: Invert intensity. This means that the sector will
  1022.                           be brightened by TAG6 amount when the light is on,
  1023.                           and darkened by TAG5 amount when the light is off.
  1024.                           This is useful for making lights that flicker when
  1025.                           they are broken.
  1026.                 BOOL10=   Direction to start a fade
  1027.  
  1028.         The sector will have the same palette as the LIGHTING sprite, even if
  1029.         the light is turned off. All LIGHTING ST1's with the same match tags
  1030.         will operate together.
  1031.         WARNING: Every LIGHTING sprite tends to have its own independent rate
  1032.         of fade or flicker. This means that if you a have a room comprised of
  1033.         multiple sectors and you put a flickering LIGHTING ST1 in every
  1034.         sector, they will all flicker at different rates and look really bad
  1035.         even if their TAG2's match. If you want a room of uniform flickering
  1036.         or fading, you need to place a single LIGHTING sprite in one sector
  1037.         and use LIGHTING_DIFFUSE (hitag 109) in all the sectors you want to
  1038.         share that lighting effect.
  1039.         EXAMPLES: DD in EXAMPLE.MAP
  1040.         SEE ALSO: LIGHTING_DIFFUSE (hitag 109)
  1041.  
  1042. @tag109
  1043. Hitag 109:      LIGHTING_DIFFUSE
  1044.                 TAG2 = Match to a LIGHTING (hitag 108) TAG2
  1045.                 TAG3 = Shade multiplier - the higher this number, the more
  1046.                        quickly the light grows dark with distance from the
  1047.                        light source
  1048.                 TAG4 = Distance - 1 to 20 for diffuse lighting - The larger
  1049.                        the number the more distant, and therefore darker the
  1050.                        shade from the source.
  1051.                 BOOL2= 1: Don't affect floor
  1052.                 BOOL3= 1: Don't affect ceiling
  1053.                 BOOL4= 1: Don't affect walls
  1054.                 BOOL5= 1: Shade outer walls - red sectors have inner and
  1055.                           outer walls - by default LIGHTING_DIFFUSE will not
  1056.                           shade outer walls
  1057.                 BOOL6= 1: Dont change palette
  1058.  
  1059.         Used with LIGHTING (hitag 108) to shade other sectors on a grade.
  1060.         Also used to copy a lighting effect (flickering, fading, palette)
  1061.         uniformly over multiple sectors. Though its difference from Duke
  1062.         Nukem's lighting may at first seem confusing, this method is
  1063.         actually more convenient. Once all the LIGHTING_DIFFUSE sprites are
  1064.         in place, you can change the lighting effect for an entire group of
  1065.         sectors just by changing the values of one sprite: the LIGHTING
  1066.         (hitag 108) ST1.
  1067.         EXAMPLES: DD in EXAMPLE.MAP
  1068.         SEE ALSO: LIGHTING (hitag 108)
  1069.  
  1070. @tag110
  1071. Hitag 110:      VIEW_LEVEL1
  1072.                 TAG2 = View tag match
  1073.                 TAG4 = Point up to turn it OFF
  1074.                        Point down to turn it ON
  1075.  
  1076.         A matching VIEW_LEVEL sprite must be in both the upper and lower
  1077.         sectors of any room-over-room areas where the player can look
  1078.         through the ceiling or floor into the other area. Use VIEW_LEVEL1
  1079.         in the lower areas. See ADVANCED.TXT for guidelines to building
  1080.         room-over-room areas.
  1081.         EXAMPLES: AC, AD, and FC in EXAMPLE.MAP
  1082.         SEE ALSO: VIEW_LEVEL2 (hitag 111), VIEW_THRU_CEILING (hitag 120),
  1083.                   VIEW_THRU_FLOOR (hitag 121), BOUND_FLOOR_BASE_OFFSET
  1084.                   (hitag 202), BOUND_FLOOR_OFFSET (hitag 203)
  1085.  
  1086. @tag111
  1087. Hitag 111:      VIEW_LEVEL2
  1088.                 TAG2 = View tag match
  1089.                 TAG4 = Point up to turn it OFF
  1090.                        Point down to turn it ON
  1091.  
  1092.         A matching VIEW_LEVEL sprite must be in both the upper and lower
  1093.         sectors of any room-over-room areas where the player can look
  1094.         through the ceiling or floor into the other area. Use VIEW_LEVEL2
  1095.         in the upper areas. See ADVANCED.TXT for guidelines to building
  1096.         room-over-room areas.
  1097.         EXAMPLES: AB, AE, and FE in EXAMPLE.MAP
  1098.         SEE ALSO: VIEW_LEVEL1 (hitag 110), VIEW_THRU_CEILING (hitag 120),
  1099.                   VIEW_THRU_FLOOR (hitag 121), BOUND_FLOOR_BASE_OFFSET
  1100.                   (hitag 202), BOUND_FLOOR_OFFSET (hitag 203)
  1101.  
  1102. @tag120
  1103. Hitag 120:      VIEW_THRU_CEILING
  1104.                 TAG2 = View tag match
  1105.  
  1106.         Use this in a sector with a floor mirror texture on the ceiling in
  1107.         the lower half of a room-over-room area. The ST1 sprite must be in
  1108.         the same relative location in the sector as the VIEW_THRU_FLOOR
  1109.         (hitag 121) sprite in the upper sector. TAG2 will be the same as
  1110.         all the VIEW_LEVEL sprites and the VIEW_THRU_FLOOR sprite. See
  1111.         ADVANCED.TXT for guidelines to building room-over-room areas.
  1112.         EXAMPLES: AC, AD, and FC in EXAMPLE.MAP
  1113.         SEE ALSO: VIEW_LEVEL1 (hitag 110), VIEW_LEVEL2 (hitag 111),
  1114.                   VIEW_THRU_FLOOR (hitag 121), BOUND_FLOOR_BASE_OFFSET
  1115.                   (hitag 202), BOUND_FLOOR_OFFSET (hitag 203)
  1116.  
  1117. @tag121
  1118. Hitag 121:      VIEW_THRU_FLOOR
  1119.                 TAG2 = View tag match
  1120.  
  1121.         Use this in a sector with a floor mirror texture on the floor in
  1122.         the upper half of a room-over-room area. The ST1 sprite must be in
  1123.         the same relative location in the sector as the VIEW_THRU_CEILING
  1124.         (hitag 120) sprite in the lower sector. TAG2 will be the same as
  1125.         all the VIEW_LEVEL sprites and the VIEW_THRU_CEILING sprite. See
  1126.         ADVANCED.TXT for guidelines to building room-over-room areas.
  1127.         EXAMPLES: AB, AE, and FE in EXAMPLE.MAP
  1128.         SEE ALSO: VIEW_LEVEL1 (hitag 110), VIEW_THRU_CEILING (hitag 120),
  1129.                   VIEW_LEVEL2 (hitag 121), BOUND_FLOOR_BASE_OFFSET
  1130.                   (hitag 202), BOUND_FLOOR_OFFSET (hitag 203)
  1131.  
  1132. @tag132
  1133. Hitag 132:      BREAKABLE
  1134.                 TAG2 = Match - used to match up with BREAKABLE_SPRITE
  1135.                        (hitag 132 on a non-ST1 sprite) or TAG_BREAK_WALL
  1136.                        (walltag 307)
  1137.                 TAG5 = Picnum to change to after BROKEN
  1138.                        Not needed if TAG8 = "1"
  1139.                 TAG7 = Number of damage hits to take before a sprite or
  1140.                        wall texture is BROKEN. Note that if this is set to 2
  1141.                        or greater the picnum will increment toward TAG5 until
  1142.                        TAG5 is reached. The graphics in the art file must be
  1143.                        imported in the correct order to support this. Nothing
  1144.                        in Shadow Warrior uses this, but the functionality is
  1145.                        there for anybody who feels like importing their own
  1146.                        art.
  1147.                 TAG8 = BROKEN type: 
  1148.                        0 = Change the picnum only
  1149.                        1 = Kill sprite/wallpic when BROKEN
  1150.                            For walls this will turn off masking, blocking,
  1151.                            and 1-way.
  1152.                        2 = Turn off blocking bits when BROKEN
  1153.                            For walls this will just turn off blocking bits,
  1154.                            but leave the masking or 1-way alone. Breaking
  1155.                            an air vent grate is an example of this.
  1156.  
  1157.         Sprites and wall breaking info. There are 2 ways to use this:
  1158.         1) As ST1 sprite info for breaking a sprite, or 2) As ST1 sprite info
  1159.         for breaking a wall. NOTE: Can be re-used for many BREAKABLE_SPRITEs.
  1160.         Example: All chairs that break could use a single ST1 132 to tell
  1161.         them how to break as long as the same matching TAG2 is used.
  1162.         When hitting a wall tagged with TAG_WALL_BREAK (307) the code will
  1163.         look for a BREAKABLE_SPRITE ST1 with a matching tag and use this info
  1164.         if found.
  1165.         EXAMPLES: DE in EXAMPLE.MAP
  1166.  
  1167. Hitag 132:      BREAKABLE_SPRITE
  1168.                 (This is used with non-ST1 sprites to make them breakable)
  1169.                 TAG2 = Match - used to match up with BREAKABLE ST1's
  1170.                 TAG6 = Match - extra match value for activating ST1's like
  1171.                        SPAWN_SPOT and LIGHTING. By this method you can spawn
  1172.                        debris or turn off a light when this sprite is broken.
  1173.                 BOOL1= 1: Denotes that this is not an ST1 but is tagged like
  1174.                           one. IMPORTANT: THIS MUST BE SET TO "1". 
  1175.                 BOOL2= 1: Don't break this sprite. Use this to override
  1176.                           automatic breakables.
  1177.  
  1178.         Use this tagging on the actual sprite you want to break. TAG2 should
  1179.         match the TAG2 of the BREAKABLE (hitag 132) ST1 that tells this
  1180.         sprite how to break. NOTE: You don't actually need the ST1 132
  1181.         if you just want to kill the sprite when its broken. Giving it a
  1182.         hitag of 132 and setting BOOL1 is sufficient.
  1183.         EXAMPLES: DE in EXAMPLE.MAP
  1184.  
  1185. @tag133
  1186. Hitag 133:      QUAKE_SPOT
  1187.                 TAG2 = Match
  1188.                 TAG3 = Shake Z amount - This is the amount the view moves in
  1189.                        the Z direction.
  1190.                 TAG4 = Radius of quake - distance in which quake is felt -
  1191.                        this value is multiplied by 8 internally for the
  1192.                        distance.  The code is set up so that the quake amount
  1193.                        decreases from the epicenter, but this effect can be
  1194.                        overridden by setting BOOL1 to "1"
  1195.                 TAG5 = Duration of quake in seconds
  1196.                 TAG6 = Timed quake - shake the screen every X seconds, where
  1197.                        X = TAG6 multiplied by 10.
  1198.                 TAG7 = Shake angle amount - amount the view's angle moves
  1199.                 TAG8 = Shake x,y position amount - multiplied by 8 internally
  1200.                 TAG9 = Random quake value (1 to 128). Multiplied by 4
  1201.                        internally. Used with TAG6. Instead of automatically
  1202.                        spawning a quake after time it does a random test.
  1203.                        The larger the number the greater the chance of a
  1204.                        quake. 0 is default - will not do random test.
  1205.                 BOOL1= 1: Quake does not decrease from epicenter, and will
  1206.                        basically shake the entire level.
  1207.                 BOOL2= 1: Only quake once and never again
  1208.                 BOOL3= 1: Wait for trigger before starting timed quake code.
  1209.                        This is only used for timed quakes.
  1210.  
  1211.         This is used to shake the player's view as though an earthquake were
  1212.         happening.
  1213.         EXAMPLES: DE in EXAMPLE.MAP
  1214.  
  1215. @tag134
  1216. Hitag 134:      SOUND_SPOT
  1217.                 TAG2 = Match
  1218.                 TAG4 = 1st Sound 
  1219.                 TAG5 = 2nd Sound 
  1220.                 TAG6 = 3rd Sound 
  1221.                 BOOL1= 1: Play the sound once and only once
  1222.                 BOOL2= 1: Play the sound as a looping sound. The sound will
  1223.                        continue to loop until stopped by STOP_SOUND_SPOT
  1224.                        (hitag 150).
  1225.                        1: Also means follow sprite, and needs to be set if
  1226.                        the ST1 sprite will be moving (usually with a sector
  1227.                        object.)
  1228.                 BOOL3= 1: Random play. When the ST1 is triggered, it will
  1229.                        randomly choose between sounds 1 and 2 or between
  1230.                        sounds 1, 2, and 3.
  1231.                 BOOL4= 1: Don't pan sound. This is useful when the sound
  1232.                        is very near the player.
  1233.                 BOOL5= 1: Use doppler effect.
  1234.                 BOOL6= 0: Make sure this is always reset to "0".
  1235.                 BOOL7= 1: The sound is Lo Wang's voice, heard inside his
  1236.                        head at max volume no matter how far from the
  1237.                        SOUND_SPOT he is.
  1238.  
  1239.                 SOUND_SPOT will play the sound specified in TAG4 when the
  1240.                 match tag in TAG2 is triggered. SOUND_SPOT can also be
  1241.                 triggered by operating a vator, spike, sliding door, or
  1242.                 rotating door with the same match tag. Sound numbers can be
  1243.                 obtained from the digital sound index in SWSOUNDS.TXT. Don't
  1244.                 confuse these with ambient sounds, which are used with the
  1245.                 AMBIENT_SOUND (hitag 1002) ST1. If SOUND_SPOT is placed in a
  1246.                 sector object operational sector, the 1st sound (TAG4) will
  1247.                 be the 'idle' sound. The 2nd sound (TAG5) will be the 'drive'
  1248.                 sound. IMPORTANT: The match tag (TAG2) will still need to be
  1249.                 a unique value even though the mapper never sets up a trigger
  1250.                 for it. If you do not use a unique value then other
  1251.                 SOUND_SPOTs with the match value will do the same sound
  1252.                 processing. This could be used as a feature - drive something
  1253.                 and something else on the level makes a noise. Note that you
  1254.                 can specify 3 different sounds. Some things like vators can
  1255.                 have more than one sound attached for different operations
  1256.                 such as moving to the ON and OFF positions. Most of the time
  1257.                 only the 1st sound (TAG4) will be used.
  1258.                 EXAMPLES: DB, DC, DD, and others in EXAMPLE.MAP
  1259.                 SEE ALSO: AMBIENT_SOUND (hitag 1002)
  1260.  
  1261. @tag135
  1262. Hitag 135:      SLIDE_SECTOR
  1263.                 TAG2 = Speed value. (0 is fastest, 32 is slowest)
  1264.                        Note that the angle of the slope also has an effect on
  1265.                        speed.
  1266.  
  1267.         Tag a sloped sector with this and it will cause the player to
  1268.         slide in the direction of the slope. Actors are not affected. The
  1269.         steeper the slope, and the lower the TAG2 value, the faster the
  1270.         slide. Lo Wang will slide even if he is in the air over the sector.
  1271.         Use with SECT_SPIKE (hitag 106) to create a variable speed slide.
  1272.         EXAMPLES: DF in EXAMPLE.MAP
  1273.  
  1274. @tag136
  1275. Hitag 136:      CEILING_FLOOR_PIC_OVERRIDE
  1276.                 TAG2 = Picnum (from the "V" menu)
  1277.                 TAG3 =  0: Pic override on the ceiling
  1278.                         1: Pic override on the floor
  1279.                 TAG7 = Draw type
  1280.                         0 = normal
  1281.             1 = masked
  1282.             2 = translucent
  1283.                         3 = very translucent
  1284.                 BOOL1=  1: Block hitscans
  1285.  
  1286.         This is primarily used to give a floor or ceiling texture to the
  1287.         floor mirror in room-over-room areas. This is used in Shadow Warrior
  1288.         to create the translucent water, the reflective floors, and the
  1289.         masked grating in $VOLCANO.MAP. A sloped floor cannot have a masked
  1290.         or translucent texture. Use with FLOOR_Z_ADJUST (hitag 98) to keep
  1291.         the player from falling through into the lower area. Actors can
  1292.         stand on it too, but will usually fall through when they are killed.
  1293.         EXAMPLES: AB and AD in EXAMPLE.MAP
  1294.         SEE ALSO: FLOOR_Z_ADJUST (hitag 98)
  1295.  
  1296. @tag140
  1297. Hitag 140:      TRIGGER_SECTOR
  1298.                 TAG2 = Match
  1299.                 TAG3 = Type
  1300.             0 = Trip Entering Sector
  1301.             1 = Trip Leaving Sector
  1302.                         2 = Continuous as long as you're standing on it
  1303.                         3 = Operated with the SPACEBAR
  1304.                 TAG4 = Angle
  1305.                 TAG5 = Trigger definition
  1306.                         0 = Remote sector object trigger
  1307.                         1 = Lava Erupt trigger
  1308.                 TAG7 = Remote sector object number
  1309.                 BOOL1= 0: Player's view follows the sector object
  1310.                        1: Player's view stays at the angle of TRIGGER_SECTOR
  1311.  
  1312.         TRIGGER_SECTOR is only used for two things: driving remote controlled
  1313.         operational sector objects, and triggering LAVA_ERUPT ST1's. BOOL1
  1314.         on the LAVA_ERUPT (hitag 56) sprite must be set to BOOL1 for this
  1315.         trigger to work.
  1316.         EXAMPLES: BF and EF in EXAMPLE.MAP
  1317.         SEE ALSO: SECT_OPERATIONAL (hitag 1), LAVA_ERUPT (hitag 56)
  1318.  
  1319. @tag141
  1320. Hitag 141:      DELETE_SPRITE
  1321.                 TAG2 = Match
  1322.                 BOOL2= Move with a sector object
  1323.  
  1324.         Place a DELETE_SPRITE ST1 at the same x, y location as another
  1325.         sprite. When the TAG2 match is triggered, the sprites at the same
  1326.         x, y will be deleted. Works on most sprites but not all. Some that
  1327.         can be deleted include decoration sprites, vator ST1's, spike ST1's,
  1328.         and room-over-room view sprites.
  1329.         EXAMPLES: DF in EXAMPLE.MAP
  1330.         SEE ALSO: BREAKABLE (hitag 132)
  1331.  
  1332. @tag143
  1333. Hitag 143:      SECT_ROTATOR
  1334.                 TAG2 = Match
  1335.         TAG3 = Type
  1336.                         0 = Manual/Switch/Trigger. If a manual type has a
  1337.                             TAG2 value that is not 0 then ALL rotators,
  1338.                             vators, spikes, or whatever with the same TAG2
  1339.                             will be operated on. Rotators can be manually
  1340.                             operated from on top of sector or alongside of
  1341.                             it. A switch resets when the rotator returns to
  1342.                             its default position. Trigger operation is the
  1343.                             same as a switch but its a floor trigger instead.
  1344.                         1 = Switch/Trigger Only. The rotator cannot be
  1345.                             operated manually. All rotator types with the
  1346.                             same TAG2 value get operated on.
  1347.                 TAG5 = Angle move amount (512 = 90 degrees). Use a negative
  1348.                        value to make the sector rotate counter-clockwise.                       
  1349.                 TAG6 = Match at destination. When a rotator reaches its
  1350.                        destination it will trigger any event with this
  1351.                        match tag.
  1352.                 TAG7 = Angle increment. The speed at which the sector
  1353.                        rotates. Use an unsigned value.
  1354.                 TAG9 = Auto return time in 1/8th of a second resolution.
  1355.                        If non-zero then the sector will return to its default
  1356.                        position after the allotted time. If TAG9=0 then the
  1357.                        sector will remain in the ON position until the
  1358.                        SECT_ROTATOR is operated again.
  1359.                 BOOL2= 1: Can be operated only once.
  1360.                 BOOL4= 0: Can be operated during a WangBang game.
  1361.                        1: Cannot be operated during a WangBang game.
  1362.                 BOOL5= 1: Trigger the TAG6 match when moving to the OFF
  1363.                           position as well as when moving to the ON position.
  1364.                 BOOL6= 0: SECT_ROTATOR cannot be operated again until it's
  1365.                           finished moving.
  1366.                        1: Can operate it again while it's moving.
  1367.                 BOOL11=1: Displays "Single play only" message when
  1368.                           operated in WangBang. Use with BOOL4.
  1369.  
  1370.         SECT_ROTATOR is used primarily to create rotating (swinging) doors,
  1371.         although it has many other potential uses. Any number of red
  1372.         sector walls of any shape can be rotated simultaneously around a
  1373.         single pivot point, defined by SECT_ROTATOR_PIVOT (hitag 144). 
  1374.         EXAMPLES: EA in EXAMPLE.MAP
  1375.         SEE ALSO: SECT_ROTATOR_PIVOT (hitag 144), SECT_VATOR (hitag 92),
  1376.                   SECT_SPIKE (hitag 106), SECT_SLIDOR (hitag 145).
  1377.  
  1378. @tag144
  1379. Hitag 144:      SECT_ROTATOR_PIVOT
  1380.                 TAG2 = Match
  1381.  
  1382.         The CLOSEST SECT_ROTATOR (hitag 143) with same matching TAG2 will
  1383.         rotate about this sprite.
  1384.         EXAMPLES: EA in EXAMPLE.MAP
  1385.         SEE ALSO: SECT_ROTATOR (hitag 143)
  1386.  
  1387. @tag145
  1388. Hitag 145:      SECT_SLIDOR
  1389.                 TAG2 = Match
  1390.         TAG3 = Type
  1391.                         0 = Manual/Switch/Trigger - primarily used for manual
  1392.                             type. If a manual type has a match tag that is
  1393.                             not 0 then ALL slidors with the same match type
  1394.                             will be operated on. A slidor can be manually
  1395.                             operated from either within the sector, or to the
  1396.                             side. With switch operation, the switch resets
  1397.                             when the slidor goes to default position. With
  1398.                             trigger operation, it's the same as a switch but
  1399.                             it's a floor trigger.
  1400.                         1 = Switch/Trigger Only - cannot be operated manually
  1401.                             ALL slidors with the same matching tag get
  1402.                             operated on by the switch or trigger.
  1403.                 TAG5 = Distance to move (largest grid square is 1024).
  1404.                 TAG6 = Match at destination. When a slidor reaches its
  1405.                        destination it will trigger any event with this
  1406.                        match tag.
  1407.                 TAG7 = Move speed
  1408.                 TAG8 = Acceleration at which slidor approaches TAG7 speed.
  1409.                 TAG9 = Auto return time - 1/8th of a second resolution - if
  1410.                        non 0 then the slidor will return to its default
  1411.                        position after the allotted time. If 0 then it will
  1412.                        stay in the ON position until the slidor is operated
  1413.                        again.
  1414.                 BOOL2= 1: Can only operate the slidor once.
  1415.                 BOOL3= 1: Don't crush the player. WARNING: Never let a white
  1416.                           walled slidor crush the player, or the game will
  1417.                           quit with an error.
  1418.                 BOOL4= 0: Slidor can be operated during a WangBang game.
  1419.                        1: Slidor cannot be operated during a WangBang game.
  1420.                 BOOL5= 1: Insta-Close(TM) feature. Tired of not being able to
  1421.                           run through sliding doors in BUILD 3D mode? Leave
  1422.                           them open and let Shadow Warrior close them for
  1423.                           you. BOOL5 uses the position of the SECT_SLIDOR
  1424.                           sprite to close the doors.
  1425.                 BOOL6= 0: Slidor cannot be operated again until it stops
  1426.                           moving.
  1427.                        1: Can operate the slidor again while it's in motion.
  1428.                 BOOL7= 1: Call the TAG6 match when moving to the OFF position
  1429.                           as well as when moving to the ON position.
  1430.                 BOOL11=1: Displays "Single play only" message when
  1431.                           operated in WangBang. Use with BOOL4.
  1432.         
  1433.         Use SECT_SLIDOR to create sliding or split doors. Several different
  1434.         types can be built, both with red walls and with white walls.
  1435.         Look to the game maps for various examples. IMPORTANT: The walls
  1436.         that form the edges of the door must be tagged properly in order for
  1437.         the slidor to work. If, in 2D mode, the door slides to the left, tag
  1438.         the wall TAG_WALL_SLIDOR_LEFT (walltag 220), if it slides to the
  1439.         right, tag the wall TAG_WALL_SLIDOR_RIGHT (walltag 221), if it slides
  1440.         upwards, tag it TAG_WALL_SLIDOR_TOP (walltag 222), and if it slides
  1441.         downwards, tag it TAG_WALL_SLIDOR_BOTTOM (walltag 223).
  1442.         EXAMPLES: EA in EXAMPLE.MAP
  1443.         SEE ALSO: SECT_ROTATOR (hitag 143), SECT_VATOR (hitag 92),
  1444.                   SECT_SPIKE (hitag 106)
  1445.  
  1446. @tag146
  1447. Hitag 146:      SECT_CHANGOR
  1448.                 TAG2 = Match
  1449.                 TAG4 = New picnum
  1450.                 TAG5 = Z adjustment in pixels - can be negative
  1451.                 TAG6 = Slope adjustment       - can be negative
  1452.                 TAG7 = New shade value        - can be negative
  1453.                 TAG8 = New palette value
  1454.                 TAG9 = New visibility value   - can be negative
  1455.                 BOOL1= 0: Affect the floor
  1456.                        1: Affect the ceiling
  1457.                 BOOL2= 1: Do not kill this sprite after using once.
  1458.                           By default it is killed after one use.
  1459.  
  1460.         Change attibutes of sector when match code is called. Can be used
  1461.         to create breakable floor or ceiling textures, or other special
  1462.         effects. Most commonly used for shootable lights.
  1463.         EXAMPLES: EB in EXAMPLE.MAP
  1464.         SEE ALSO: SECT_COPY_DEST (hitag 58), SECT_COPY_SOURCE (hitag 59)
  1465.  
  1466. @tag147
  1467. Hitag 147:      SO_DRIVABLE_ATTRIB
  1468.                 TAG2 = Angle speed (1 to 16384)
  1469.                        0 provides a default speed
  1470.                 TAG3 = Angle "slide" amount (1 to 100)
  1471.                 TAG5 = Match triggered when the driveable is operated with
  1472.                        the SPACEBAR.
  1473.                 TAG6 = Movement speed (1 to 16384)
  1474.                        0 provides a default speed
  1475.                 TAG7 = Movement "slide" amount (1 to 100)
  1476.                 BOOL1= 1: Don't shake the screen when running into something
  1477.                 BOOL2= 1: Trigger match tag TAG5 + 1 when the player
  1478.                           presses SPACEBAR to stop driving the sector object
  1479.                 BOOL3= 1: Sector object can only be driven from a remote
  1480.                           TRIGGER_SECTOR (hitag 140)
  1481.                 BOOL4= 1: Rectangular clipping - the outer 504 bounding
  1482.                           wall loop of the sector object serves as the
  1483.                           clipping box. The wall loop MUST be a 4 wall
  1484.                           rectangle. This is the only alternative to the
  1485.                           default clipping provided by the operational code.
  1486.                           This clipping is better behaved because it never
  1487.                           allows the sector object to cross sector lines.
  1488.  
  1489.         This ST1 provides some additional control over the behavior of
  1490.         driveable sector objects. It allows speed and angle velocities to be
  1491.         scaled, and adds momentum with TAG3 and TAG7 to make the driving
  1492.         a little more realistic. Must be placed in the center tagged
  1493.         sector of the sector object.
  1494.         EXAMPLES: EF in EXAMPLES.MAP
  1495.         SEE ALSO: SECT_OPERATIONAL (hitag 1), SECT_SO_DONT_ROTATE (hitag 45),
  1496.                   SO_LIMIT_TURN (hitag 68), SO_TURN_SPEED (hitag 55)
  1497.  
  1498. @tag148
  1499. Hitag 148:      WALL_DONT_STICK
  1500.                 TAG4 = Point sprite at wall
  1501.         
  1502.         Point this at a wall, and nothing will stick to that wall. This keeps
  1503.         bullet holes, blood, sticky bombs, and so forth from landing on the
  1504.         wall.
  1505.         EXAMPLES: BB in EXAMPLE.MAP
  1506.  
  1507. @tag149
  1508. Hitag 149:      SPAWN_ITEMS
  1509.                 TAG2 = Match
  1510.                 TAG3 = Item to spawn:
  1511.             0/32 = Uzi
  1512.             1 = Red Key
  1513.             2 = Blue Key
  1514.             3 = Green Key
  1515.             4 = Yellow Key
  1516.             5 = Red Card
  1517.             6 = Blue Card
  1518.             7 = Green Card
  1519.             8 = Yellow Card
  1520.                         9 = Gold Skeleton Key
  1521.                         10 = Silver Skeleton Key
  1522.                         11 = Bronze Skeleton Key
  1523.                         12 = Red Skeleton Key
  1524.             20 = Uzi for Floor
  1525.             40 = Repair Kit
  1526.                         41 = Shurikens
  1527.                         42 = Sticky Mines
  1528.             43 = Rocket Launcher
  1529.             44 = Rocket Battery
  1530.             45 = Grenade Launcher
  1531.             46 = Grenades
  1532.             47 = Rail Gun
  1533.             48 = Rail Ammo
  1534.             51 = Shotgun
  1535.             52 = Shotgun Ammo
  1536.             53 = Head
  1537.             55 = Heart
  1538.                         57 = Gray Armor (can't spawn red armor)
  1539.                         58 = Portable Medkit
  1540.                         59 = Small Medkit
  1541.             60 = Chem Bomb
  1542.             61 = Flash Bomb
  1543.             62 = Nuke
  1544.             63 = Caltrops
  1545.             64 = Cookie
  1546.             65 = Heat seeker card
  1547.             66 = Cloak
  1548.             67 = Night Vision
  1549.             90 = Boy Bunny
  1550.             91 = Girl Bunny
  1551.             92 = Random Bunny
  1552.                 TAG4 = Angle to throw the item
  1553.                 TAG7 = Velocity 0 to 255
  1554.                        Set to 0 and the item stays in place
  1555.                 TAG8 = Jump velocity 0 to 255
  1556.                 BOOL1= 0: Kill the ST1 after it's triggered
  1557.                        1: Don't kill after it's triggered
  1558.                 BOOL2= 1: Don't spawn another item if a sprite exists in
  1559.                           the exact position of the SPAWN_ITEMS sprite.
  1560.  
  1561.         This is used to spawn an item when the TAG2 match is triggered.
  1562.         Used for placing items in trash cans, dropping items from the sky,
  1563.         and any number of cool uses. Flag the ST1 as a Multiplayer only
  1564.         item (F8 menu, option 2), and the item will only spawn during a
  1565.         WangBang game.
  1566.         EXAMPLES: EB in EXAMPLE.MAP
  1567.         SEE ALSO: SPAWN_SPOT (hitag 69)
  1568.  
  1569. @tag150
  1570. Hitag 150:      STOP_SPOUND_SPOT
  1571.                 TAG2 = Match
  1572.                 TAG5 = Matched sound spot to stop
  1573.  
  1574.         Use this to stop a looping sound when TAG2 is triggered. TAG5 is the
  1575.         TAG2 match tag of the SOUND_SPOT (hitag 134) to be stopped.
  1576.         EXAMPLES: EB in EXAMPLE.MAP
  1577.         SEE ALSO: SOUND_SPOT (hitag 134)
  1578.  
  1579. @tag202
  1580. Hitag 202:      BOUND_FLOOR_BASE_OFFSET
  1581.                 TAG2 = Bound Floor Number - First one is 0, then 1, 2, etc.
  1582.  
  1583.         All areas with this tag in them set up a new BASE OFFSET to
  1584.         move other areas to. TAG2 is the order in which they are processed.
  1585.         Consider this to be the "anchor" to which BOUND_FLOOR_OFFSET
  1586.         (hitag 203) areas are moved.
  1587.         EXAMPLES: AB, AC, FB, and FC in EXAMPLE.MAP
  1588.         SEE ALSO: BOUND_FLOOR_OFFSET (hitag 203)
  1589.  
  1590. @tag203
  1591. Hitag 203:      BOUND_FLOOR_OFFSET
  1592.                 TAG2 = Bound Floor Number = First one is 0, then 1, 2, etc.
  1593.  
  1594.         All bound areas with this tag in them are moved to the last
  1595.         BOUND_FLOOR_BASE_OFFSET sprite. "Bound" areas means all sectors
  1596.         that are either directly or indirectly attached to the sector
  1597.         with BOUND_FLOOR_OFFSET in it. This allows you to build stacked
  1598.         sectors separately and let Shadow Warrior overlap them for you.
  1599.         Useful mainly for room-over-room and special dive sector cases.
  1600.         If a sector object is part of a bound floor group, it can have
  1601.         a matching 504 wall loop in the bound floor base group, which
  1602.         will move and behave exactly like the sector object. This is
  1603.         incredibly useful for a variety of effects, like the bottom of a
  1604.         boat in the underwater sector stays with the boat in the upper
  1605.         sector, and so on.
  1606.         EXAMPLES: AD, AE, FE, and FF in EXAMPLE.MAP
  1607.         SEE ALSO: BOUND_FLOOR_BASE_OFFSET (hitag 202)
  1608.  
  1609. @tag500
  1610. Hitags 500-596: SECT_SO_BOUNDING
  1611.  
  1612.         Bounding sprites for sector objects. Every sector object needs
  1613.         bounding sprites, one in the upper left corner (BOUND_SO_UPPER)
  1614.         and one in the lower right corner (BOUND_SO_LOWER). These two
  1615.         sprites form the opposing points of an imaginary rectangle that
  1616.         must encompass the entire sector object, plus any sprites you
  1617.         want to move with it (like a gun barrel.) You are allowed to
  1618.         have a maximum of 20 sector objects in a level. The
  1619.         BOUND_SO_UPPER sprite hitag of a sector object is calculated as
  1620.         500 + (5 * sector object num). The BOUND_SO_LOWER sprite hitag of
  1621.         a sector object is calculated as 501 + (5 * sector object num).
  1622.         So, sector object 0 uses BOUND_SO_UPPER 500 and BOUND_SO_LOWER
  1623.         501. Sector object 1 uses BOUND_SO_UPPER 505 and BOUND_SO_LOWER
  1624.         506. This goes up in increments of 5 all the way to sector
  1625.         object 19, which uses BOUND_SO_UPPER 595 and BOUND_SO_LOWER 596.
  1626.         EXAMPLES: EC, ED, EE, EF, FA, FB, and FC in EXAMPLE.MAP
  1627.  
  1628. @tag1000
  1629. Hitag 1000:     MIRROR_CAM
  1630.                 TAG2 = Match tag
  1631.                 TAG4 = Angle of camera
  1632.                 TAG6 = Camera maximum turn angle from 0-2048. This is the angle
  1633.                        from center that the camera will rotate back and forth.
  1634.                        (512 = 90 degrees each way for 180 degrees range
  1635.                        of motion)
  1636.                 TAG7 = Camera look up/down amount. Valid values (5-195).
  1637.                 BOOL1= 0: Draw monitor to look like a magic view into another
  1638.                           place, looks more like reality.
  1639.                        1: Draw monitor using draw to tile. This makes it look
  1640.                           like a TV screen.
  1641.                 BOOL2= 0: Don't rotate the camera.
  1642.                        1: Rotate the camera by angle specified in TAG6 from
  1643.                           current camera angle.
  1644.                 BOOL3= 0: Negative turn direction
  1645.                        1: Positive turn direction
  1646.                 BOOL11=When BOOL1 is set to "1":
  1647.                        0: Do normal TV camera view
  1648.                        1: Cycle through all players' views in 5 second
  1649.                           increments on this monitor.
  1650.  
  1651.         The camera's view can be displayed in a monitor built using a mirror.
  1652.         Tag the mirror wall with lotag 306 and a hitag equal to the
  1653.         MIRROR_CAM TAG2 match tag. NOTE: Mirrors MUST be built using one way
  1654.         walls, not masked walls or they won't operate. A TV monitor requires
  1655.         a TV monitor sprite (picnums 3830-3837) with a hitag equal to the
  1656.         MIRROR_CAM TAG2 match tag. The TV monitor sprite must be placed in
  1657.         front of a mirror.
  1658.         EXAMPLES: GB and GC in EXAMPLE.MAP
  1659.  
  1660. @tag1002
  1661. Hitag 1002:     AMBIENT_SOUND
  1662.                 TAG2 = Ambient sound number
  1663.     
  1664.         Plays an ambient sound. Look at the ambient sound index in
  1665.         SWSOUNDS.TXT to find the ambient sound number you want.
  1666.         EXAMPLES: EC and ED in EXAMPLE.MAP
  1667.         SEE ALSO: SOUND_SPOT (hitag 134)
  1668.  
  1669. @tag1005
  1670. Hitag 1005:     ECHO_SPOT
  1671.                 TAG2 = Reverb setting from 100 - 200
  1672.                 TAG4 = Radius that the reverb effect can be heard
  1673.  
  1674.         Causes all sounds in the area around the ECHO_SPOT to reverb by the
  1675.         amount set in TAG2. Note that there is no reverb available when
  1676.         using a Soundscape.
  1677.         EXAMPLES: $YAMATO.MAP, plus many other game maps
  1678.  
  1679. @tag1006
  1680. Hitag 1006:     DRIP_GENERATOR  
  1681.                 TAG2 = Delay in seconds. If 0, then it uses internally
  1682.                        programmed delays (quite fast), otherwise it drips
  1683.                        every TAG2 seconds.
  1684.                 BOOL1= Drip type
  1685.                        0: Blood drips
  1686.                        1: Water drips    
  1687.                 BOOL2= 0: Drips
  1688.                        1: No drips, do a bubble instead
  1689.  
  1690.         Used to create a dripping or bubbling spot. The Z height of the ST1
  1691.         is important, because that's the height where the drip or bubble will
  1692.         spawn.
  1693.         EXAMPLES: AA in EXAMPLE.MAP
  1694.  
  1695. # General help case for sprites with invalid tags.
  1696. @tag999
  1697. The hitag you picked is either obsolete, or there is not any available help for it.
  1698. The following is a list of hitag values for ST1 sprites used to create special effects.
  1699.  
  1700.                 0. SECT_SINK
  1701.                 1. SECT_OPERATIONAL
  1702.                 3. SECT_CURRENT
  1703.                 5. SECT_NO_RIDE
  1704.                 7. SECT_DIVE_AREA
  1705.                 8. SECT_UNDERWATER
  1706.                 9. SECT_UNDERWATER2
  1707.                 16. SO_ANGLE
  1708.                 19. SECT_FLOOR_PAN
  1709.                 21. SECT_CEILING_PAN
  1710.                 23. WALL_PAN_SPEED
  1711.                 29. SECT_LOCK_DOOR
  1712.                 30. SPRI_CLIMB_MARKER
  1713.                 31. SECT_SO_SPRITE_OBJ
  1714.                 32. SECT_SO_DONT_BOB
  1715.                 33. SECT_SO_SINK_DEST
  1716.                 34. SECT_SO_DONT_SINK
  1717.                 37. SECT_SO_FORM_WHIRLPOOL
  1718.                 38. SECT_ACTOR_BLOCK
  1719.                 42. MULTI_PLAYER_START
  1720.                 43. FIREBALL_TRAP
  1721.                 44. BOLT_TRAP
  1722.                 45. SECT_SO_DONT_ROTATE
  1723.                 46. PARALLAX_LEVEL
  1724.                 47. SECT_DONT_COPY_PALETTE
  1725.                 48. MULTI_COOPERATIVE_START
  1726.                 49. SO_SET_SPEED
  1727.                 50. SO_SPIN
  1728.                 51. SO_SPIN_REVERSE
  1729.                 52. SO_BOB_START
  1730.                 53. SO_BOB_SPEED
  1731.                 55. SO_TURN_SPEED
  1732.                 56. LAVA_ERUPT
  1733.                 57. SECT_EXPLODING_CEIL_FLOOR
  1734.                 58. SECT_COPY_DEST
  1735.                 59. SECT_COPY_SOURCE
  1736.                 62. SHOOT_POINT
  1737.                 63. SPEAR_TRAP
  1738.                 64. SO_SYNC1
  1739.                 65. SO_SYNC2
  1740.                 66. DEMO_CAMERA
  1741.                 68. SO_LIMIT_TURN
  1742.                 69. SPAWN_SPOT
  1743.                 70. SO_MATCH_EVENT
  1744.                 71. SO_SLOPE_FLOOR_TO_POINT
  1745.                 72. SO_SLOPE_CEILING_TO_POINT
  1746.                 73. SO_TORNADO
  1747.                 75. SO_AMOEBA
  1748.                 76. SO_MAX_DAMAGE
  1749.                 77. SO_RAM_DAMAGE
  1750.                 80. SO_KILLABLE
  1751.                 81. SO_AUTO_TURRET
  1752.                 82. SECT_DAMAGE
  1753.                 84. WARP_TELEPORTER
  1754.                 85. WARP_CEILING_PLANE
  1755.                 86. WARP_FLOOR_PLANE
  1756.                 87. WARP_COPY_SPRITE1
  1757.                 88. WARP_COPY_SPRITE2
  1758.                 90. PLAX_GLOB_Z_ADJUST
  1759.                 92. SECT_VATOR
  1760.                 97. CEILING_Z_ADJUST
  1761.                 98. FLOOR_Z_ADJUST
  1762.                 99. FLOOR_SLOPE_DONT_DRAW
  1763.                 100. SO_SCALE_INFO
  1764.                 101. SO_SCALE_POINT_INFO
  1765.                 102. SO_SCALE_XY_MULTIPLY
  1766.                 103. SECT_WALL_MOVE
  1767.                 104. SECT_WALL_MOVE_CANSEE
  1768.                 106. SECT_SPIKE
  1769.                 108. LIGHTING
  1770.                 109. LIGHTING_DIFFUSE
  1771.                 110. VIEW_LEVEL1
  1772.                 111. VIEW_LEVEL2
  1773.                 120. VIEW_THRU_CEILING
  1774.                 121. VIEW_THRU_FLOOR
  1775.                 132. BREAKABLE
  1776.                 132. BREAKABLE_SPRITE
  1777.                 133. QUAKE_SPOT
  1778.                 134. SOUND_SPOT
  1779.                 135. SLIDE_SECTOR
  1780.                 136. CEILING_FLOOR_PIC_OVERRIDE
  1781.                 140. TRIGGER_SECTOR
  1782.                 141. DELETE_SPRITE
  1783.                 143. SECT_ROTATOR
  1784.                 144. SECT_ROTATOR_PIVOT
  1785.                 145. SECT_SLIDOR
  1786.                 146. SECT_CHANGOR
  1787.                 147. SO_DRIVABLE_ATTRIB
  1788.                 148. WALL_DONT_STICK
  1789.                 149. SPAWN_ITEMS
  1790.                 150. STOP_SPOUND_SPOT
  1791.                 202. BOUND_FLOOR_BASE_OFFSET
  1792.                 203. BOUND_FLOOR_OFFSET
  1793.                 500-596: SECT_SO_BOUNDING
  1794.                 1000. MIRROR_CAM
  1795.                 1002. AMBIENT_SOUND
  1796.                 1005. ECHO_SPOT
  1797.                 1006. DRIP_GENERATOR  
  1798. @end
  1799.