About: This document contains editing information for the Gladiator bot.
The Gladiator bot is an artificial player for Quake2.
Author: Mr Elusive (MrElusive@demigod.demon.nl)
Gladiator page: http://www.botepidemic.com/gladiator
Last update: 1999-05-05


The Gladiator bot uses the weapon specifications to figure out how to use a weapon. The weapon specifications are stored in a file weapons.c in the .pak file included with the Gladiator bot.

A weapon specification is constructed as follows:

weaponinfo
{
}

The specification fields listed below are placed between the braces.
Every field is assigned a value according to the field type.

name:           type:       description:

name            string      name of the weapon
model           string      model of the weapon
weaponindex     integer     index of weapon in inventory
flags           integer     special flags
projectile      string      projectile used by the weapon
numprojectiles  integer     number of projectiles
hspread         float       horizontal spread of projectiles (degrees from middle)
vspread         float       vertical spread of projectiles (degrees from middle)
speed           float       speed of the projectile (0 = instant hit)
acceleration    float       "acceleration" * time (in seconds) + "speed" = projectile speed
recoil          3 floats    amount of recoil the player gets from the weapon
offset          3 floats    projectile start offset relative to eye and view angles
angleoffset     3 floats    offset of the shoot angles relative to the view angles
extrazvelocity  float       extra z velocity the projectile gets
ammoamount      integer     ammo amount used per shot
ammoindex       integer     index of ammo in inventory
activate        float       time it takes to select the weapon
reload          float       time it takes to reload the weapon
spinup          float       time it takes before first shot
spindown        float       time it takes before weapon stops firing
 

A projectile specification is constructed as follows:

projectileinfo
{
}

The specification fields listed below are placed between the braces.
Every field is assigned a value according to the field type.

name:           type:       description:

name            string      name of the projectile
model           string      model of the projectile
flags           integer     special flags
gravity         float       amount of gravity applied to the projectile [0,1]
damage          integer     damage of the projectile
radius          float       radius of damage
visdamage       integer     damage of the projectile to visible entities
damagetype      integer     type of damage (combination of the DAMAGETYPE_? flags)
healthinc       integer     health increase the owner gets
push            float       amount a player is pushed away from the projectile impact
detonation      float       time before projectile explodes after fire pressed
bounce          float       amount the projectile bounces
bouncefric      float       amount the bounce decreases per bounce
bouncestop      float       minimum bounce value before bouncing stops