// a list of system command that run at server startup.
SystemCmd	= {};


//NegFiltersDebug += { "LNET", "HNET", "FEVIS"};
//NegFiltersInfo += { "LNET", "HNET", "VISION_DELTA", "FEIMPE", "FEVIS" };
// NegFiltersWarning += { "LNET", "FEHACK", "FERECV"};
// NegFiltersWarning    += { "positional", "faction", "pet" };

//////////////////////////////////////////////////////////////////////////////
//- Basic (specific) heal profile parameters ---------------------------------
// Downtime for normal heal (on other bots of the group)
HealSpecificDowntime = 100;
// Downtime for self heal
HealSpecificDowntimeSelf = 100;
//////////////////////////////////////////////////////////////////////////////

// Disable caching of ligo primitive in binary files
CachePrims = 0;
CachePrimsLog = 0;

// do not log the corrected position.
LogAcceptablePos = 0;
// do not log group creation failure
LogGroupCreationFailure = 0;
// do not log aliad tree owner construstion.
LogAliasTreeOwner = 0;
// do not log outpost info
LogOutpostDebug = 0;
// Speed factor, for debug purpose only. Don't set to high speed factor !
SpeedFactor = 1;
// Speep up the timer triggering. Set a value between 1 (normal) and INT_MAX.
TimerSpeedUp = 1;

// Default timer for wander behavior
DefaultWanderMinTimer = 50;		// 5s
DefaultWanderMaxTimer = 100;	// 10s

// Fame and guard behavior
// Fame value under witch the guard attack the player in sigth
FameForGuardAttack = -450000;
// The minimum of fame for guard to help the player
FameForGuardHelp = -200000;

// The default aggro distance for NPC
DefaultNpcAggroDist = 15;
// The default escort range for escort behavior
DefaultEscortRange = 10;

//////////////////////////////////////////////////////////////////////////////
// Aggro                                                                    //
//////////////////////////////////////////////////////////////////////////////
AggroReturnDistCheck = 15.0;
AggroReturnDistCheckFauna = 15.0;
AggroReturnDistCheckNpc = 1.5;
AggroD1Radius = 250.0;
AggroD2Radius = 150.0;
AggroPrimaryGroupDist = 0.0;
AggroPrimaryGroupCoef = 0.0;
AggroSecondaryGroupDist = 0.0;
AggroSecondaryGroupCoef = 0.0;
AggroPropagationRadius = 60.0;

BotRepopFx = "";

// GROUP KEYWORDS
// used mainly in event handlers to determine to which groups events apply
KeywordsGroupNpc = {

	"patrol",		// a group of bots who guard a patrol route or point
	"convoy",		// a group with pack animals who follow roads from place to place
	"with_players",	// a group who may travel with players
};

// BOT KEYWORDS
// used mainly in npc_state_profile to determine which ai profiles to assign to which bots
KeywordsBotNpc = {

	"team_leader",		// a bot who leads the way in front of their team (and acts as leader
						// in discussion with players)
	"animal_leader",	// a bot who leads pack animals
	"guard",			// a bot who is a guard of some sort (eg karavan guard)
	"emissary",			// eg karavan emissary
	"preacher",			// eg kami preacher
	"guardian",			// typically kami guardians
	"vip",				// someone who has an escort of players or NPCs (assumed to be harmless)
};

// STATE KEYWORDS
// used mainly in event handlers to determine to which state events apply
// eg: when a player goes link dead if the team that this player is escorting 
// is in a dangerous area the team may enter a 'protect ourselves and wait for 
// players' punctual state
KeywordsStateNpc = {

	"safe",			// eg the gathering point at town entrance
	"dangerous",	// eg a route through the wilds
};

ColourNames = 
{
	"red : 0",
	"beige : 1",
	"green : 2",
	"turquoise : 3",
	"blue : 4",
	"violet : 5",
	"white : 6",
	"black : 7",

	"redHair:	0",
	"blackHair:	1",
};


StartCommandsWhenMirrorReady = {
};

//---------------------------------------------------------
// commands for multi IA configuration
// For multi IA config, use the -m command line switch folowed
// by a semicolon separated list of command block to run.
// ex : 
//			-mCommon:Matis:Post 
// will execute the folowing command blocks in order :
//			* StartCommandsWhenMirrorReadyCommon 
//			* StartCommandsWhenMirrorReadyMatis 
//			* StartCommandsWhenMirrorReadyPost
//---------------------------------------------------------
// common commands before loading continents
StartCommandsWhenMirrorReadyCommon = 
{
	"RandomPosMaxRetry 6400",
	"fightRangeRange 4 60",
	"LogOutpostDebug  1",
	"grpHistoryRecordLog",

	"verboseAIProfiles",
	"verboseAliasNodeTreeParserLog",
	"verboseCombatLog",
	"verboseFaunaMgrLog",
	"verboseFaunaParseLog",
	"verboseNPCBotProfiles",
	"verboseNPCMgrLog",
	"verboseNPCParserLog",
	"verboseNpcDescriptionMsgLog",
	"verbosePrimitiveParserLog",
//	"verboseSwitchMultipleChangesOfAProperty",
};


// commands for indoors continent
StartCommandsWhenMirrorReadyIndoors = 
{
	"loadContinent	indoors",
	"createStaticAIInstance	indoors",
	"loadMapsFromCommon indoors_all",
};

// commands for Matis continent
StartCommandsWhenMirrorReadyMatis = 
{
	"loadContinent	matis",
	"createStaticAIInstance	matis",
	"loadMapsFromCommon matis_all",
};

// commands for Matis newbie continent
StartCommandsWhenMirrorReadyMatisNewbie = 
{
	"loadContinent	matis",
	"createStaticAIInstance	matis_newbie",
	"loadMapsFromCommon matis_newbie_all",
};

// commands for Zorai continent
StartCommandsWhenMirrorReadyZorai = 
{
	"loadContinent	zorai",
	"createStaticAIInstance	zorai",
	"loadMapsFromCommon zorai_all",
};

// commands for Zorai newbie continent
StartCommandsWhenMirrorReadyZoraiNewbie = 
{
	"loadContinent	zorai",
	"createStaticAIInstance	zorai_newbie",
	"loadMapsFromCommon zorai_newbie_all",
};

// commands for Fyros continent
StartCommandsWhenMirrorReadyFyros = 
{
	"loadContinent	fyros",
	"createStaticAIInstance	fyros",
	"loadMapsFromCommon fyros_all",
};

// commands for Fyros newbie continent
StartCommandsWhenMirrorReadyFyrosNewbie = 
{
	"loadContinent	fyros_newbie",
	"createStaticAIInstance	fyros_newbie",
	"loadMapsFromCommon fyros_newbie_all",
};

// commands for Tryker continent
StartCommandsWhenMirrorReadyTryker = 
{
	"loadContinent	tryker",
	"createStaticAIInstance	tryker",
	"loadMapsFromCommon tryker_all",
};

// commands for Tryker newbie continent
StartCommandsWhenMirrorReadyTrykerNewbie = 
{
	"loadContinent	tryker_newbie",
	"createStaticAIInstance	tryker_newbie",
	"loadMapsFromCommon tryker_newbie_all",
};

// commands for bagne continents
StartCommandsWhenMirrorReadyBagne = 
{
	"loadContinent	bagne",
	"createStaticAIInstance	bagne",
	"loadMapsFromCommon bagne_all",
};

StartCommandsWhenMirrorReadyNexus = 
{
	"loadContinent	nexus",
	"createStaticAIInstance	nexus",
	"loadMapsFromCommon nexus_all",
};

StartCommandsWhenMirrorReadyRouteGouffre = 
{
	"loadContinent	route_gouffre",
	"createStaticAIInstance	route_gouffre",
	"loadMapsFromCommon route_gouffre_all",
};

StartCommandsWhenMirrorReadySources = 
{
	"loadContinent	sources_interdites",
	"createStaticAIInstance	sources",
	"loadMapsFromCommon sources_all",
};

StartCommandsWhenMirrorReadyTerre = 
{
	"loadContinent	terre_oubliee",
	"createStaticAIInstance	terre",
	"loadMapsFromCommon terre_all",
};

// commands for Fyros Island continent
StartCommandsWhenMirrorReadyFyrosIsland = 
{
	"loadContinent	fyros_island",
	"createStaticAIInstance	fyros_island",
	"loadMapsFromCommon fyros_island_all",
};

// commands for Zorai Island continent
StartCommandsWhenMirrorReadyZoraiIsland = 
{
	"loadContinent	zorai_island",
	"createStaticAIInstance	zorai_island",
	"loadMapsFromCommon zorai_island_all",
};

// commands for Tryker Island continent
StartCommandsWhenMirrorReadyTrykerIsland = 
{
	"loadContinent	tryker_island",
	"createStaticAIInstance	tryker_island",
	"loadMapsFromCommon tryker_island_all",
};

// commands for Matis island continent
StartCommandsWhenMirrorReadyMatisIsland = 
{
	"loadContinent	matis_island",
	"createStaticAIInstance	matis_island",
	"loadMapsFromCommon matis_island_all",
};

// commands for Newbieland continent
StartCommandsWhenMirrorReadyNewbieland = 
{
	"loadContinent	newbieland",
	"createStaticAIInstance	newbieland",
	"loadMapsFromCommon newbieland_all",
};

// commands for Kitiniere continent
StartCommandsWhenMirrorReadyKitiniere = 
{
	"loadContinent	kitiniere",
	"createStaticAIInstance	kitiniere",
	"loadMapsFromCommon kitiniere_all",
};

// commands for post continents loading
StartCommandsWhenMirrorReadyPost = 
{
	"spawnInstances",
	"updateAI",
	"updateAI",
};


// commands for Ring continents
StartCommandsWhenMirrorReadyRing = 
{
    "loadContinent r2_desert",
	"createDynamicAIInstance 10000",
	"loadPrimitiveFile dummy.primitive",

    "loadContinent r2_forest",
	"createDynamicAIInstance 10001",
	"loadPrimitiveFile dummy.primitive",

    "loadContinent r2_lakes",
	"createDynamicAIInstance 10003",
	"loadPrimitiveFile dummy.primitive",

    "loadContinent r2_jungle",
	"createDynamicAIInstance 10002",
	"loadPrimitiveFile dummy.primitive",

    "loadContinent r2_roots",
	"createDynamicAIInstance 10004",
	"loadPrimitiveFile dummy.primitive",

//	"spawnInstances",
	"updateAI",
	"updateAI",

	// L5 connect to the shard unifier
	"unifiedNetwork.addService ShardUnifier ( address="+SUAddress+" sendId external autoRetry )",
	
	// Create a shard AIS Module
	"moduleManager.createModule AisControl ais",
	// Connect AIS
	"ais.plug gw"
};