=========================================================================

Rulesets is a special files placed in edawn/rulesets directory 
 which contains many game parameters that cannot be controlled via usual cvars

=========================================================================

Ruleset file (pointed by g_ruleset cvar) is loaded each time map loaded or \map_restart issued

=========================================================================

How to create/use your own ruleset:

	1) Copy rulesets/default.cfg to rulesets/test.cfg for example
	2) Edit rulesets/test.cfg
	3) Set g_ruleset cvar to "test.cfg" and load/restart map or type
	   \load "test.cfg" in game console
	*)  To make it voteable - add corresponding entry to voteconf.txt
		
=========================================================================

Common expression syntax is:

	[ Section. ] Parameter = Value [, Value2 , ... ] ;

Examples:

	Respawn Time: 2000;
	AntiCamp.Time = 0;
	Switch Time: -200, -200;

Parameter name is space/case-insensitive i.e. both variants is acceptable:

	rE SpaWNTIme: 2000;
	Respawn Time: 2000;

There may be many parameters that can belong to the same section, for example:
		
	FreezeTag.Flags.Team : 1;
	FreezeTag.Flags.Enemy : 1;
	FreezeTag.ThawFactor.Global: 0;

To avoid writing redundant section name every time - you can just use brackets in following way:

	FreezeTag 
	{
	    Flags 
		{
			Team: 1;
			Enemy: 1;
		}
		ThawFactor.Global: 0;
	}

That may significally improve readability and save space in corresponding cases

Some parameters may have multiple values, for example:

	SwitchTime: -200,-200;

If you want to modify just second value without altering first - then specify its index (1-based):

	SwitchTime[2] = -100;

If you want to set all values at once then use '*' char as index specifier:

	SwitchTime[*] = -200;

You also can set usual cvars from your ruleset - just addy '$' prefix to its name, for example:
	
	$timelimit = 20;

Also you can use cvars in boolean evaluations:

	if ( $mapname == "q3dm17" ) 
	{
		RespawnTime = 1000;
	} else {
		RespawnTime = 2000;
	}

Its also very easy to setup/use custom cvars in rulesets:
    	
	if ( $mycvar == "" ) 
	{
		$mycvar = "0"; // just for first time  - don't fogret to init your cvar to some reasonable value
	}
	if ( $mycvar == "1" ) 
	{
		// setup something
	}

There is some functions that you can use inside rulesets

To print some message in system console:

	print( "message" );

To execute console command:

	exec( "\say hello" );

To execute console command immediately (DANGEROUS - can unload running vm!):

	exec( "\say now!", 1);

To include some other ruleset (can be useful if you want to split your big ruleset into small ones/components):

	include( "include.cfg" );

To add custom vote command without altering g_voteStrings (up to 32 commands allowed):

	vote( "mycvar" );

 - just don't forget to init mycvar to some value before. Also, if you want to issue
   automatic map_restart with this vote then add '#' before cvar name:

	vote( "#mycvar" );

=========================================================================
