Turbo Sliders Battle information
--------------------------------

  This document explains battles, damage and gravity in Turbo Sliders.
Battle support and damage were added in version 1.0.8. 


COMPATIBILITY

  Players with earlier game versions (1.0 - 1.0.7) can join damage 
races and battles but upgrading to the newest version is strongly
recommended. Especially, if there are missiles, older version players
cannot see or fire missiles. If autokick is on (as it by default is,
the value can be changed with server command /autokick 0 or 1),
players with older versions are kicked before a missile game
starts. This ensures that each participating player can fire
missiles. You can also make it impossible for earlier game 
version players to join at all by using the server command 
"/set RequireMissileSupport 1". After that, earlier game version 
players cannot join any games. If they try, they see "Invalid protocol 
version" error message. In this case, it would be kind to put a note in 
the server info telling that 1.0.8 is required.


BATTLE RULES

  In a battle, the purpose is not to race but to wreck other cars.
In a normal battle, the battle continues until time runs out or
there is only one non-wrecked car left. In a normal team battle, 
the game ends when there are no cars left in one team. In infiltration
team battle mode, it is also possible to win by getting any non-wrecked
car to the enemy base (the enemy starting position).

  A battle can be a missile battle or a battle where players try
to push other players out of a certain game area. The latter 
mod is called Xtreme Bumpz and was originally invented by Kobradog.

  In a missile battle, cars lose energy by hitting other cars, 
obstacles or missiles fired by other cars. In Bumpz battles,
cars get wrecked if they leave the game area (by default, going on
grass). By changing settings, it is also possible to mix the features 
of different battles, for example by having damage or missiles in Bumpz.

  If the battle has missiles, cars can fire them at a rate set
by the server. The default missile firing button for the player in 
slot 1 is Right Shift but it can be configured in the Controls
Settings.

  Depending on the server rules, players can earn cup points in various
ways. Players can get points for wrecking other cars, infiltrating the
enemy base in the infiltration team mode, hitting other cars with missiles, 
surviving in a team battle or for the final position in a non-team 
battle. See the battle settings below for more information.

  Damage may affect the acceleration of the car. If there is a pit
in the track, players can get their cars repaired. Damage can also 
be set to be on in a normal non-battle race.


BANDWIDTH REQUIREMENTS

  In the worst case (every player is firing the maximum number of
missiles), missile battles require about twice the amount of bandwidth 
compared to races and battles without missiles. For example, a normal 
race with 10 players (or XBumpz) requires about 200 kbps of server upstream
while a missile battle needs about 400 kpbs. You can see more bandwidth 
estimations in the Start Server menu by changing the number of players. 


STARTING AND CONFIGURING A BATTLE

  A battle automatically starts if the track has been marked to
be a battle track. You can either choose a battle track under
the tracks/battle directory or make your own ones. To learn how 
to make a battle track, see chapter "Making a Battle Track" below. 

  The following chapters describe various settings that affect
battle and damage. Teams settings are the same as in Punaball games. 
See README-punaball.txt for more information on teams.


BATTLE SETTINGS

These settings change the battle settings in a battle track.
All these settings can be changed either by editing sliders.ini or by
using the server command /set <setting> <value>. For example, to
set normal team battle on, type "/set TeamBattle 1". To see all battle
related settings, type "/show Battle". To set all battle settings
to default, type "/default Battle" (as an admin).

TeamBattle: 0 for not a team battle, 1 for normal team battle, 2 for a team
	    battle where a team can also win by infiltrating the enemy base.
BattleMaxTime: Maximum time of a battle, 0 if no limit.
PointsForWrecking: How many points one gets for wrecking another car.
PenaltyForTeamWrecking: How many points one loses for wrecking a team member.
PointsForMissileHit: Points for hitting another car with a missile.
PenaltyForTeamMissileHit: Points lost for hitting a team member with a missile.
PointsForWin: Points every team member in a winning team gets.
PointsForDraw: Points everyone gets when no team wins.
PointsForSurvivingInTeam: Points for not getting wrecked in a team match.
GivePositionPoints: Whether to give position points in a non-team match.
                    Points are given as in normal races.
PointsForInfiltrating: Points for winning a team battle by infiltrating the
		       enemy base.
BumpzBounciness: Extra bounciness in car-to-car collisions in XTreme Bumpz. 
		 Value 1 means no extra, 2 means double bounciness.

DAMAGE SETTINGS

  To change damage settings, either edit sliders.ini or use
the /set command (for example: "/set ForceDamage 1). To see 
all damage settings, type "/show Damage" and to set everything 
to default, type "/default Damage".

ForceDamage: If 1, damage is on in normal races with pits and and in 
	     Xtreme Bumpz. If 2, damage is also on in races without pits.
MaxEnergy: The maximum energy of cars.
MaxCarHitEffect: The maximum amount of energy a car can lose by hitting 
                 another car.
MaxWallHitEffect: The maximum amount of energy a car can lose by hitting 
		  an obstacle.
FullRepairTime: How many seconds it takes to fix all damage in a pit.
AutomaticFullRepairTime: (Added in version 2.4.3) How many seconds it takes 
			 to fix all damage automatically, even when not in 
			 pit. By default, this is not happening.
MaxSlowdown: How much acceleration is lost with max damage. If this is 1,
	     the car cannot accelerate any more. In a race game, it gets
	     then disabled. (In a battle, cars always get disabled when
	     the have no energy left.)
SlowdownStartLimit: When damage slowdown starts. For example, if this is 0.8,
		    the car starts to lose its acceleration when it has less
		    than 80 % of energy left.


MISSILE SETTINGS

As usual, edit sliders.ini or use the /set command (for example:
/set MissileWeight 200). To see all missile settings, type 
"/show Missiles" and to set everything to default, type 
"/default Missiles".

ForceMissiles: If 1, missiles are on in Xtreme Bumpz, too. ForceDamage needs
               to be set, too, if missile hits should consume energy.
ForceRaceMissiles: If 1, missiles are usable in normal races, too
MissileEffect: Amount of energy lost when a missile hits.
MissileWeight: Missile weight (affects collision impact).
MissileReloadTime: Number of milliseconds it takes to reload a missile. 
                   There also must not be too many old missiles still active.
MissileStartSpeed: Speed of a missile after launch.
MissileAcceleration: Acceleration of missile.
TimeToLaunch: Delay between firing a missile and the actual launch.


MAKING A BATTLE TRACK

  You can make a battle track like a normal track but mark it
to be a battle track by pressing F9 in the editor and clicking
the left mouse button until the track type is "Battle Track",
with missiles or "Xtreme Bumpz". Control points also get a new 
meaning now: the starting positions of the teams and individual cars 
in non-team matches. Before you save the track, you must define 
two team start positions and 20 individual start positions in 
the Control Points mode.

  In Bumpz battles, grass is automatically set to be the fatal
terrain which causes a car to get wrecked. If you want to change
that to some other terrain, you need to manually edit the trk
file and change the KillTerrain value. After the change you still
need to reload and save the track to make the hash value correct.
By manually editing the track, you can add KillTerrain to other
types of tracks, too. The line must be after the Include line.
KillTerrain sets "energyloss" property of a terrain to 100000.
You can also manually define a terrain with a non-zero energyloss
to get other kinds of energy loss effects. Note that energyloss and
KillTerrain only have an effect in race tracks with pits if ForceDamage 
has been set to 1 or 2. If damage should be on in race tracks without 
pits, ForceDamage must be 2.


DAMAGE RACES
 
  It is also possible to have damage on in a race. This is done by
setting RaceDamage to 1. You can do that either by editing sliders.ini
or by using server command "/set RaceDamage 1". Damage works as in
battles except that the car can continue to move after all energy
is lost unless MaxSlowdown is set to 1.


GRAVITY

  In version 2.0, it is also possible to add gravity to a track. To
use global gravity ina track, add line "Gravity <n>" into the trk 
file. The unit of gravity is the same as for car acceleration, try
for example 100 at first. Positive values mean gravity downwards,
negative values upwards. To make the track hash valid, you must
load the track in editor and save it after having added the gravity 
line. 

  Gravity can also be used as a terrain property. Terrain property
"gravity" (positive integer, negative values not allowed) specifies 
terrain gravity. Property "gravitydirection" (integer from 0 to 359) 
specifies its direction. 0 Means to right, 90 down (default) etc.
Note that the direction is absolute and does not change if a tile 
containing gravity terrain is rotated.

