///////////////////////////////////////////////////
// Air Shot 
///////////////////////////////////////////////////
#Const Version		"2012-06-01"
#Const ScriptName	"AirShot.Script.txt"

/* ------------------------------------- */
/** Return the version number of the script
 *
 *	@return		The version number of the script
 */
Text GetScriptVersion() {
	return Version;
}

/* ------------------------------------- */
/** Return the name of the script
 *
 *	@return		The name of the script
 */
Text GetScriptName() {
	return ScriptName;
}

Void MatchBegin() {}

Void RoundBegin() {	
	foreach(Player in Players) {
		declare Integer LatestTouchingGround for Player;
		declare Integer LatestAirShot for Player;
		LatestTouchingGround = 0;
		LatestAirShot = 0;
	}
}			

Void OnHit(CPlayer _Shooter, CPlayer _Victim) {
	declare Integer LatestTouchingGround for _Victim;
	declare Integer LatestAirShot for _Shooter;
	if(LatestTouchingGround != 0 && Now > LatestTouchingGround + 1500) {
		LatestAirShot = Now;
	}
}

Void Update() {
	foreach(Player in Players) {
		declare Integer LatestTouchingGround for Player;
		if(Player.IsTouchingGround)
			LatestTouchingGround = Now;
	}
}

Boolean MustShowMessage(CPlayer _Player) {
	declare Integer LatestAirShot for _Player;
	return LatestAirShot != 0 && LatestAirShot < Now && Now < LatestAirShot + 3000;
}

Text Message(CPlayer _Player) {
	if(MustShowMessage(_Player)) return "AIRSHOT !";
	return "";
}

Void RoundEnd() {}

Void MatchEnd() {}