Game Requirements

Coding requirements for intended game features. Features are taken from the GT doc and its links.

Grenades
Description: Realistic grenade throwing techniques. Several different types of grenades. Different damage and player effect depending on grenade type. Possibility to cock the grenade before or during a throw.

Requirements:
 * Fragmentation grenade that causes damage within a defined radius. Damage is calculated based on proximity to grenade.
 * Shock (sting) grenade that disturbs player aim and forces him into crouch or prone position. Effect is calculated based on proximity to grenade.
 * Flash (stun) grenade that blinds player. Effect is calculated depended on players viewing direction. During a blind the server should send no entities updates to the client, this prevent cheaters.
 * Smoke grenade obscures an area with smoke.
 * Grenade state Hold: Grenade is not armed and can be put away, the grenade needs to be cooked before throwing.
 * Grenade state Armed: Grenade has been cooked, either manual or by initiating a throw with a Hold grenade. Armed grenades can not be put away.
 * Manual or automatic grenade cooking. A cooked grenade has its timing fuse burning and will exploit after a time even if it has not been thrown. Thrown grenades are auto armed, players can manual arm the grenade so it will exploit sooner.
 * Grenade physics, the grenade will require some basic physics so it bounces on concrete but stop faster on grass surfaces.