#include "common.cfg"

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

//////////////////////////////////////////////////////////////////////////////
//- 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 Newbieland continent
StartCommandsWhenMirrorReadyNewbieland =
{
	"loadContinent	newbieland",
	"createStaticAIInstance	newbieland",
	"loadMapsFromCommon newbieland_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"
};