// by default, use WIN displayer
FixedSessionId = 0;
DontUseStdIn = 0;
DontUseAES = 1;
DontUseNS=1;

// by default, use localhost to find the naming service
//NSHost = "localhost";	//	"ld-02"; // "linuxshard0"; // localhost"; //
NSHost = "localhost";
AESHost = "localhost";
AESPort = 46702;

// Use Shard Unifier or not
DontUseSU = 1;

// AI & EGS
NbPlayersLimit = 5000;
NbGuildsLimit = 15000;

// EGS
NbObjectsLimit = 50000;
NbNpcSpawnedByEGSLimit = 5000;
NbForageSourcesLimit = 10000;
NbToxicCloudsLimit = 200;

// AI
NbPetLimit = 20000; // NbPlayersLimit*4
NbFaunaLimit = 25000;
NbNpcLimit = 15000;

Paths		+=
{
	"../common/data_leveldesign/leveldesign/DFN",
	"data_shard",
	"../common/data_common",
	"../common/data_leveldesign/primitives"
};

PathsNoRecurse	+=
{
	"../common/data_leveldesign/leveldesign/Game_elem",			// for sheet_id.bin
	"../common/data_leveldesign/leveldesign/game_element",		// not needed at all
	"../common/data_leveldesign/leveldesign/world_editor_files",	// for primitive format
	"../common/data_leveldesign/leveldesign/World",				// static fame and weather ?
	"../common/data_leveldesign/leveldesign/DFN/basics"			// Needed for outposts
};

GeorgePaths	 =
{
	"../common/data_leveldesign/leveldesign/Game_elem",
	"../common/data_leveldesign/leveldesign/game_element"
};

// where to save generic shard data (ie: packed_sheet)
WriteFilesDirectory	= "src/ai_service/";

// Root directory where data from shards are stored into
SaveShardRoot = "save_shard";

// Where to save specific shard data (ie: player backup), relatively to SaveShardRoot
SaveFilesDirectory	= "";

// Will SaveFilesDirectory will be converted to a full path?
ConvertSaveFilesDirectoryToFullPath = 0;

/* Force default value for PDLib directory (e.g. SaveFilesDirectory...)
 * PLEASE NOTICE THAT THIS LINE MUST BE LEFT TO ""
 * Only log analyser must have the $shard parameter to find all shards root directory
 */
PDRootDirectory = "";

// This is the mapping for logical continent to physical one
ContinentNameTranslator =
{
};

// This is the list of continent to use with their unique instance number
UsedContinents =
{
	"newbieland",	"20"
};

//	define the primitives configuration used.
UsedPrimitives =
{
	"newbieland",
};


FontName = "Lucida Console";
FontSize = 9;

IgnoredFiles = { "continent.cfg", "__read_me.txt", "bandit.html", "flora_primr.primitive" };

// If the update loop is too slow, a thread will produce an assertion.
// By default, the value is set to 10 minutes.
// Set to 0 for no assertion.
UpdateAssertionThreadTimeout = 600000;

DefaultMaxExpectedBlockSize = 200000000; // 200 M !
DefaultMaxSentBlockSize = 200000000; // 200 M !

// how to sleep between to network update
// 0 = pipe
// 1 = usleep
// 2 = nanosleep
// 3 = sched_yield
// 4 = nothing
UseYieldMethod = 0;

// Set to one to use a full static fame and fame propagation matrix instead of
// a lower left half matrix. Remember to update static_fames.txt before
// activating this feature (which can be turned on/off at run time).
UseAsymmetricStaticFames = 1;
// link the common configuration file

// 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;
//////////////////////////////////////////////////////////////////////////////


// Enable caching of ligo primitive in binary files
CachePrims = 1;
// Log to see which primitives where loaded from cache
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;

// Limits for multi IA test
NbFaunaLimit = 25000;
NbNpcLimit = 10000;
NbFxLimit = 200;

BotRepopFx = "";

PathsNoRecurse +=
{
	"data_leveldesign/leveldesign/game_element/emotes"
};

TribeNamePath = "data_leveldesign/leveldesign/world_editor_files/families";

// 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",

};


// Any primitive containing one of this word will not be loaded
PrimitiveFilter =
{
//	"dynfauna",
//	"staticfauna",
};



//////////////////////////////////////////////////////////////////////////////
// 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;

NegFiltersDebug		+= { "NET", "ADMIN", "MIRROR", "NC", "PATH", "BSIF", "IOS", "FEVIS" };
NegFiltersInfo		+= { "NET", "ADMIN", "MIRROR", "NC", "CF", "TimerManagerUpdate", "VISION_DELTA", "FEIMPE", "FEVIS" };
NegFiltersWarning   += { "LNET", "FEHACK", "FERECV", "CT_LRC", "AnimalSpawned" };