                              Paintball 1.0 
                           by Quake Innovations

                         Client Side Documentation

Email        : Gary Griggs, qteam@stomped.com
Website      : http://qteam.stomped.com

Table of Contents

I.    Overview 
II.   Running Paintball and connecting to a server
III.  How to Play, The Basics
IV.   How to Play, 1 Flag CTF (Capture the flag) mode
V.    How to Play, 2 Flag CTF (Capture the flag) mode
VI.   Exploring the map with only one player

I. Overview

   This document describes how to setup as a client to play on an
   existing Paintball server (i.e. Connecting to someone elses machine). It
   assumes that the reader is somewhat familiar with Quake and the difference
   between client side and server side. If you are not please refer to the
   Quake documentation for further details. If you wish to setup as a server,
   please refer to server.txt for additional details.

II. Running Paintball and connecting to a server

   Please refer to readme.txt for installation instructions. Once installed,
   the instructions here will lead you through connecting to a server so
   you can begin playing. Of course you may also want to read further and
   learn how to play before connecting to a server. That's up to you. :)

   1) Overview

   The way Quake plays over the internet is client/server based.  You need
   to find somewhere on the internet where there is a server that has a
   good connection to your machine, and other players, and connect to it.
   This has been a key concept since the beginning, and therefore has many
   solutions.

   2) QuakeSpy

   There has been a wonderful utility developed to make this search for
   servers easier, as well as polling the servers for their ping time
   (the number that shows you how good a connection you are receiving to
   that server) and number of players/frags, etc etc.  As of this release,
   the latest public QSpy is version 5.32, and the latest public QW client
   is Version 2.0.  These are available from http://www.quakespy.com and 
   http://www.quakeworld.net .  Both of these pages are also invaluable
   setup resources if you're having trouble with getting your client to
   work.  We've found that a good way to add paintball servers to your
   copy of Qspy is to go to the "Unbound QW" Tab, and then hit the little
   green + looking button, which should also be insert server in one of
   the menus, paste in the ip from the lists on our web pages (see below),
   and then add them to the favorites list, that way they'll stick around
   and be queried when you next run Qspy!

   3) Other Sources

   Since QuakeSpy doesn't include many paintball servers by default, we 
   have lists of the servers we know about up on our web page, 
   http://qteam.stomped.com .  The latest news on Quake Innovations work
   and downloads are available too.

   4) QuakeWorld

   QuakeWorld is a Quake client with different networking code than regular
   Quake.  It is often used by those on modems who don't get very good 
   pings to servers. Note that for even basic QuakeWorld performance, 
   you'll probably need a 19.2 or higher bandwidth connection.  This means
   if you are trying to play QuakeWorld over a less than 19.2kbps modem,
   don't expect it to work, since the limit of traffic you will be able
   to send and receive is less than what Quake requires.  QuakeWorld
   supports dynamic downloading, meaning that if you do not have
   a sound, skin, model, or map, when you connect to the QuakeWorld server,
   it will be downloaded for you.  This is not a preferable method as it
   does take time, and getting the latest version of one of our mods from
   our website should be faster.  QuakeSpy is considered the front-end to
   QuakeWorld, and the two work very well together.  If you need to connect
   to a QuakeWorld server that is not on the default port of 27500, then 
   you will need to type from the Quake console:

        connect <ip>:<port>
 
   Note that most games run on port 26000 are regular Quake games, and you
   will not be able to connect to them with your QuakeWorld client,
   you will have to use q95.bat or Winquake.exe.  Example of port command
   line:

        connect 206.96.52.12:27502

   5) Regular Quake
 
    Regular Quake is different from QuakeWorld because it does not have the
    same networking code, as regular Quake.  To play regular Quake with
    all of the models and sounds for a patch, like this one for example,
    you should run the Quake executable you are using with the command
    line option -game pball.  examples:

        c:\>Winquake -game pball
        c:\>q95 -game pball

    Note that like QuakeWorld, if there is a server on a non-standard port,
    you will need to use the port command like I put in the QuakeWorld
    section.  Most Quake servers run on port 26000 or something near it.
    With Winquake, if you need to connect to a server with a non standard
    port number, use the Quake console, and specify the port like so:

        port <port>;connect <ip>

    If you are using q95.bat to start Quake, you must specify this port 
    number from the command line WHEN YOU ARE RUNNING Quake.  It will look
    like this:

        C:\>q95 -game pball -port 26002

    This should be easy enough.  If you have connection problems, make sure
    you are connected to a tcp/ip network, and you have the server addresses
    of regular Quake servers.  You cannot connect to a QuakeWorld server and
    expect it to work with a regular Quake client.

III. The Basics!

   This material is common to all modes of paintball player: non CTF mode,
   1 flag CTF mode, and 2 flag CTF mode.

   1) Observers
 
     Players initially start out as observers, a limbo state in which they
     cannot harm other players, cannot be harmed, cannot pick up objects,
     float around instead of normal walking/running, and  cannot open doors
     or pass through teleporters. Observers appear in white on the status
     bar and rankings screen. You can remain an observer after connecting
     to a server by typing the command, observer, from the console. This
     will prevent you from seeing annoying reminder messages about joining
     a team, or from automatically being placed on a team.

   2) Joining a team

      Many Paintball servers will automatically place you on a team shortly 
      after you connect. If the server doesn't have this auto-join feature
      enabled, you will have to join a team by typing one of the following
      commands from the console:

          join_red     color 4     Join the red team
          join_blue    color 14    Join the blue team
          join_yellow  color 13    Join the yellow team (only for maps &
                                   servers that allow 3 teams)
 
     The color command can also be used if the color specified is that of an
     existing team. The join_* commands are the recommended method of joining
     a team.

   3) Scoring

     Team scores are displayed on the status bar and in the rankings screen. 
     Only one player per team shows the team score, everyone else on the 
     team displays -99. This allows for team rankings to be shown on the
     status bar. This applies to all games.

     Each game mode defines how to score differently. Please see the
     description of each game to find out how scoring works. 

   4) Talking, and Paintball specific commands

     a. Talking

	To talk to all players:
        Type SAY in the console, type the message and hit the enter key to send the
        message. If you decide not to send the message hit the escape key.

     	To talk only to members of your team:
        In quake world, in the console type "messagemode 2", type the message and
	hit enter to send.  If you decide not to send the message hit the escape key.

     b. To receive the statistics for how many people are still alive for each team,
	type "impulse 10" in the console.

     c. To receive the names of the people who are still alive for each team, type
	"impulse 8" in the console.  The names will be proceeded and preceeded by
	a splat in the color of their team.  Note: It will only show a splat if you
	have replaced your "quake\qw\gfx.wad", or image file with "quake\pball\gfx.wad"
	
     d. To drop a flag you are currently holding for any reason at all, type
	"impulse 6" in the console.

     e. To receive the statistics for the flag locations/owners, type "impulse 9" in
	the console.


   5) The Weapons

      a. PGP 
         Fires 1 paintball per second, distance = 60 feet    P.U!!!
      b. Trracer Pump
         Fires 3 paintball per second, distance = 75 feet
      c. Stingray
         Fires 4 paintball per second, distance = 100 feet
      d. VM-68
         Fires 5 paintball per second, distance = 110 feet
      e. 68 Carbine
         Fires 6 paintball per second, distance = 125 feet
      f. Autococker
         Fires 8 paintball per second, distance = 150 feet
      g. Automag
         Fires 9 paintball per second, distance = 150 feet


      Everyone starts a round with a PGP. The other weapons can be found 
      throughout the level. There are only a limited number of guns to go 
      around and they don't respawn, so get them fast! You can only carry
      one 'gun upgrade' at a time so if you want to pick up a better weapon
      (or downgrade even if you want one that fires slower) then you must
      first drop your current upgrade by hitting the 1 key. Dropping a 
      weapon does not drop any barrel or hopper upgrades you may be 
      carrying (see description of barrels and hoppers below).

      When you have a gun upgrade, you can never switch to the PGP unless
      you drop the upgrade. 

      All weapons except the PGP are upgradeable with hoppers that define
      how many paintballs can be held at once, and barrels that can extend
      the distance the paintballs travel.

      Although guns start at the same place at the beginning of each round,
      they will be randomized at the start of a match. The distribution
      of weapons will have more of the low power weapons and fewer of
      the high powered weapons.

   6) Other items 

      a. Barrels

         All weapons except the PGP come with a stock barrel but can be
         upgraded with barrels found throughout the maps to increase the 
         distance your weapon can shoot. 

         Brass barrel - Increase distance by 10%
         Chrome barrel - Increase distance by 15%
         Steel barrel - Increase distance by 25%

         * You can only hold one barrel upgrade which will be displayed on
           the status bar.
         * The barrel upgrade affects all weapons except the PGP and never
           gets dropped along with your weapon.
         * When you pick up a barrel upgrade it is automatically installed
           on your gun upgrade (Barrel upgrades do not affect the PGP).
         * Any gun upgrade you pick up will automatically be fitted with 
           your current barrel upgrade. (If you don't have a barrel upgrade
           the gun upgrade uses the stock barrel)
         * You can drop a barrel upgrade to pick up a better one by hitting
           the 2 key. When you drop a barrel upgrade you automatically revert back
           to the stock barrel.

      b. Hoppers

         All players start with a 40 round hopper (holds 40 paintballs)
         which can be attached to any gun. Hopper upgrades can be found
         throughout the maps that will increase the number of paintballs 
         you can hold at one time. 

         150 round hopper - Holds up to 150 paintballs
         200 round hopper - Holds up to 200 paintballs

         * You can only hold one hopper upgrade which will be displayed on
           the status bar.
         * The hopper upgrade affects all weapons and never gets dropped
           along with your weapon.
         * When you pick up a hopper upgrade it is automatically installed
           on your current weapon.
         * If you pick up a gun upgrade, your hopper upgrade is automatically
           installed on your new weapon.
         * You can drop a barrel upgrade to pick up a better one by hitting 
           the 3 key. When you drop a hopper upgrade you automatically revert back to
           your 40 round hopper.
         * Hoppers never include paintballs when you pick them up. You must
           locate the ammo separately.
         
      c. CO2 bottles

         You can have all the paintballs in the world but you're not going
         to fire them without CO2! The bottle size dicates how many 
         paintballs you can fire before having to change bottles. 

         12 gram bottle - Can fire 15 paintballs
         7 ounce bottle - Can fire 300 paintballs
         12 ounce bottle - Can fire 500 paintballs
         20 ounce bottle - Can fire 1000 paintballs


         * Every time you respawn, you start with 6 of the 12 gram bottles,
           1 of them attached to your PGP. 
         * The number of bottles you have in each size is displayed on the
           status bar in 4 slots in a row, each representing a different
           bottle size. 
         * When you run out of CO2, an automatic reload occurs if you 
           are carrying any CO2 bottles. The automatic reload picks the 
           largest bottle size. This reload takes 5 seconds. If you don't
           have any CO2 bottles left, the reload occurs as soon as you pick
           up a bottle.
	 * To drop a CO2 canister for a team mate to pick up, type "dropco2"
	   in the console or hit the button "4".  If you are moving when you
	   do this, the canister will be dropped in the location you were at
	   when you typed that.  If you are standing still when you try to
	   drop the co2, the canister will be tossed in front of you, a
	   distance dependant on how far up or down you are looking.
	 * You can automatically emtpy your current CO2 canister by typing
	   in the console "emptyco2" or by hitting the key "7" on your
	   keyboard.
         * The current bottle size is displayed on the status bar as is the
           remaining percentage of CO2 in the current bottle. 
 
      d. Ammo

         The only ammo in the game is paintballs! Everyone respawns with 
         15 paintballs. Gee, that's not very many, is it? Don't despair, 
         there's plenty of ammo throughout the maps. The ammo packs come
         in different sizes: 25, 50, 100, 150, and 200 paintballs.

         * Your current ammo count is displayed on the status bar on the
           right side.
         * You can never hold more ammo than your current hopper allows.
	 * To drop an ammo pack for a team mate to pick up, type "dropammo"
	   in the console or hit the button "5".  If you are moving when you
	   do this, the ammo pack will be dropped in the location you were at
	   when you typed that.  If you are standing still when you try to
	   drop the paint, the ammo pack will be tossed in front of you, a
	   distance dependant on how far up or down you are looking.
         * You will not be able to fire, even if you have ammo, if you're
           out of CO2 or in the middle of a reload. 

   7) Elimination

     a. Play consists of elimination rounds. The game is meant for at least
        2 on 2 play. 

     b. Once you are killed, you stay out of play for the remainder of the
        round. While eliminated, you will either be in an observer mode, or
        you will be in a jail cell area with other eliminated players, armed
        with an axe. The exact mode for eliminated players is dependent on
        the map.

     c. The round ends when there is only one team left remaining. This team
        wins the round and is awarded one point.

     d. The next round starts automatically a few seconds after the previous
        round ends.

     e. Two teams must be formed before a paintball round will begin. 
        Observers are not considered a team, so for a two team game, there
        must be at least one red and blue player. If there aren't enough
        teams, you will receive a message similar to "Paintball game
        waiting for two teams."

     f. Players who join while a paintball round is in progress are
        considered eliminated and will not be in on the action until the next
        round starts.

   8) Rounds and Matches

    A Paintball match is the unit of play that decides how long teams play
    for before declaring a winning team. Matches can also be set for
    continous which means that as long as more than one team exists the match
    will not end.

    There is an optional countdown before the start of any match to allow
    people time to select new teams. This countdown is automatically started
    when a previous match ends. At the start of the new match the scores for
    all teams is cleared.

     Matches can end for one of the following reasons:
  
     a. FRAGLIMIT has been reached

        Play continues until one of the teams reaches the fraglimit.
        For instance, let's assume there are two teams playing, Red and
        Blue, and that FRAGLIMIT has been set to 10. In this case the match
        will end when either the Red or Blue team reaches 10 points. The
        team that reaches 10 points first is declared the winner.

     b. TIMELIMIT has been reached

        Play continues until time runs out. For instance, let's assume there
        are two teams playing, Red and Blue, and that TIMELIMIT has been set
        to 20 minutes. In this case the match ends automatically 20 minutes
        after it starts. The team with the most points is declared the
        winner. It is possible to have a tie when playing a timed match.

     c. Not enough teams

        If the number of teams (observers do not count as a team) falls
        below two the the match automatically ends. This can affect the
        match regardless of whether the match is set to end on FRAGLIMIT, 
        TIMELIMIT, or is continuous.

     d. Other reasons

        A server operator can change the match parameters (eg. which map to
        play) and restart the match or restart a match without changing
        any parameters. 

    Matches consist of a series of rounds where the outcome of each round
    decides which team gets a point. When a round ends, the winner of the
    round is declared, credited with one point, and a 5 second countdown
    to the next round begins if the match isn't over. At the start of each
    round, all players respawn and all objects within the level respawn. 

    Players who join a team during a round will not be eligible for play
    until the beginning of the next round. Players who switch teams during
    the round will commit suicide and then be placed in observer mode on
    the other team until the next round starts.
 
IV. 1 Flag CTF (Capture the flag)

   The game is still played in elimination mode but a team can score 
   additional points by capturing the one flag in the map and returning
   it to their base.

   <Description>

V. 2 Flag CTF (Capture the flag)

   The game is still played in elimination mode but a team can score 
   additional points by capturing their flag from the opponent's base 
   and returning it to their base.

   <Description>

VI.  Exploring Paintball maps with only one player

   Before you go out and find a server, you probably want to take a look
   around. The problem is, because Paintball is most of the maps won't start
   a round with only one player, so you're stuck flying around. Paintball
   provides a few debugging commands that you can use to view maps in single
   player mode. These options can only be used locally. They almost certainly
   will not be available to you on any server you connect to over the
   Internet.

   To enable this debug mode, simply type "deathmatch 129" at the console
   before loading the map.  This will allow a round to start without
   multiple teams, and you can feel free to take a look around.

   Even more advanced, bizarre stuff : 

   Some maps have a special feature called dynamic sizing enabled, and since
   there's only one player, some areas are likely not open. For these maps,
   simply type "impulse 143" (after following the previous step) to open the
   yellow base, and type "impulse 144" to open the blue.

   More information on the debugging commands can be found in 
   mapdes\designer.txt.
