Barrel Shootout v100
by Raccoon Warbird <wb@illogical.de>

If you have suggestions, comments, problems or wanna help then contact me!

Content:

I)   How to add a Barrel Shootout Server Tab
II)  Game Description & Rules
III) If you want to make a map for Barrel Shootout
IV)  Uninstall


I) How to add a Barrel Shootout Server Tab
==========================================

After Installation open your UnrealTournament.ini file.
Go to the section "[UBrowser.UBrowserMainClientWindow]"
and look for key array "ServerListNames". Overwrite the
first "None" you see with "UBrowserBS". Thats it.

On my machine it looks like this:
ServerListNames[11]=UBrowserBS


II) Game Description
====================

This is not a deathmatch or a coop gametype. No player can be hurt.
Its more about good shooting skill. You shoot at barrels, cars and
stuff like that and try to get the highest score to win the round.

The game is round based. A round is divided into one or more levels.
If a player joins the game, he has to wait until the current level is over,
before he can play.

When a round starts, the score of all players is set to zero.
When a level starts, all weapons are removed. Now the players get a specific
weapon setup and limited ammo. Barrels pop up somewhere and players
must try to shoot them down. he player who destroys the barrel receive points.
A level ends when there are no more barrels or a certain time
ammount has passed. Also the level ends if all players have no ammo left.
When the round or level ends, the top three players and their score are displayed.



III) If you want to make a map for Barrel Shootout
==================================================

Due to my incompetence there are a few limitations which you must
be aware of.

The basic idea for a BS-level is, that there is a big area and the players
can only move in a small areal, but they should see as much as possible
from there. This is just a suggestion, you can build anything you like.

Now that you have your level layout, you have to place the barrel thrower
actors called "Thrower". They are a subclass of "Keypoint".

Lets check the new properties of the class "Thrower":

Level: In which level the thrower is active. A new game round starts at
       level 1, when the level is finished it looks for throwers which
       are assigned to level 2, etc. If there are no thrower for the next
       level, then the round ends. Up to 10 thrower per level are
       supported.

StartText: Is displayed before the assigned level starts. If there are
           multiple thrower for the level, you have to set all to the same
           StartText to make sure its displayed.

BarrelClass: Which class is spawned and fired into the air. You can only
             use specially modified classes. At the moment the following
             classes are possible:
             Class'WbBarrel.WbTargetBarrel' (Unreal 1 Wodden Barrel, default)
             Class'WbBarrel.WbTargetBarrel1' (UT Barrel)
             Class'WbBarrel.WbTargetBarrel2' (UT Barrel)
             Class'WbBarrel.WbTargetBarrel3' (UT Barrel)
             Class'WbBarrel.WbTargetNaliCow' (Nali cow with 1 HP)
             Class'WbBarrel.WbTargetNaliCowStrong' (Nali cow with 100 HP)
             Class'WbBarrel.WbTargetBabyCow' (1 HP)
             Class'WbBarrel.WbTargetBabyCowStrong' (100 HP)
             Class'WbBarrel.WbTargetEarth' (Earthball)
             Class'WbBarrel.WbTargetCar' (Car from UT-Intro)
             Class'WbBarrel.WbTargetCarNoRotate' (Car from UT-Intro)
             Class'WbBarrel.WbTargetGasBag' (1 HP)
             Class'WbBarrel.WbTargetGiantGasBag' (1 HP)
             Class'WbBarrel.WbTargetNali' (1 HP)
             Class'WbBarrel.WbTargetSkaarjWarrior' (1 HP)
             Class'WbBarrel.WbTargetFighter' (Small Spacecraft)

BarrelVelocity: This sets the flight path of the barrel.
                X = Forward  -X = Backward power
                Y = Left     -Y = Right power
                Z = Up       -Z = Down power

BarrelVelocityVariation: A random number up to this X, Y, Z value will be
                         added or substracted to the associated BarrelVelocity.
                         Example: You set BarrelVelocity to X=400,Y=0,Z=1000
                         and BarrelVelocityVariation to X=50,Y=0,Z=200. Then
                         the final velocity for a barrel can be anything within
                         the range X=350-450,Y=0,Z=800-1200.

BarrelCount: How many barrels the thrower fires at most.
TimeLimit:   How many seconds the thrower is active.

             The Thrower goes inactive if barrelcount or timelimit reached,
             whatever comes first. If all throwers of the current level are
             inactive the level ends. Also when players have no ammo left,
             the level ends.

Points: Added to the player score, if he hits a barrel from this thrower.

PlayerWeapon: When a level starts, the game removes all weapons from the
              players. Then it checks all throwers for this entry. If not
              set to "None" (default value) it will give all players
              the weapon you entered here.
              If you have multiple thrower assigned to a level, make sure
              you hand out a specific weapon type only once. The game does
              not check whether the player already has a weapon of this
              type received. This is the reason why default value is "None".
              For example: You have three throwers in level 1. You can set
              one thrower to Class'Botpack.Shockrilfe' and another to
              Class'Botpack.Enforcer'. You can set the third to any
              Weapon except to Enforcer or Shockrifle!

PlayerAmmoAmmount: Only taken into account when PlayerWeapon is not "None".
                   After giving the weapon to the player, the game sets
                   the ammo ammount to this value.

TimeBetweenBarrels: How many seconds the thrower pause before firing the
                    next barrel.

TimeVariation: Random number up to this value will be added or substracted
               to TimeBetweenBarrels.

BarrelLifeSpan: This value is copied to the barrel's Advanced.LifeSpan property.
                Makes sure the barrel is removed in case that no player destroys
                it. Go for a low value.

ExplodeEffect: The effect you setup here is spawned if the barrel get destroyed.
               You can use any "Effects" subclass.
               A few examples:
               Class'Botpack.UT_SpriteBallExplosion' -> Small explosion
               Class'Botpack.WarExplosion2' -> Medium explosion
               Class'Botpack.ShockWave' -> Reedemer explosion rocks, but destroys
                                           other barrels if they to close.

bShowLight: Whether the Barrel should give away their position before the next level starts.

If you need further help or more information contact me. Also if your level
behave strange and you don't know why, you may encountered a bug. In any
case you can contact me at wb@illogical.de, I would like to help.

In case you build a map tell me, please.

IV) Uninstall
=============

Run Setup.exe from UT\System directory, then mark BarrelShootout
and click "Next".