diff --git a/code/CMakeModules/FindExternal.cmake b/code/CMakeModules/FindExternal.cmake index 2e161d3b6..80b3eda0c 100644 --- a/code/CMakeModules/FindExternal.cmake +++ b/code/CMakeModules/FindExternal.cmake @@ -59,7 +59,7 @@ IF(EXTERNAL_FOUND) IF(NOT External_FIND_QUIETLY) MESSAGE(STATUS "Found ${EXTERNAL_NAME}: ${EXTERNAL_PATH}") ENDIF() -ELSE(EXTERNAL_FOUND) +ELSE() IF(External_FIND_REQUIRED) MESSAGE(FATAL_ERROR "Unable to find ${EXTERNAL_NAME}!") ELSE() diff --git a/code/ryzom/server/admin_service_default.cfg b/code/ryzom/server/admin_service_default.cfg index 59a96ad75..538b856b1 100644 --- a/code/ryzom/server/admin_service_default.cfg +++ b/code/ryzom/server/admin_service_default.cfg @@ -1,27 +1,27 @@ -#include "common.cfg" - -DontUseNS = 1; - -RRDToolPath = "rrdtool"; -RRDVarPath = "save_shard/rrd_graphs"; - -// Variables required to be defined by other cfgs -//AESHost="localhost"; -//ASWebPort="46700"; -//ASPort="46701"; - -StartCommands += -{ - // create the admin service module and open the web interface - "moduleManager.createModule AdminService as webPort="+ASWebPort, - - // create a gateway for aes to connect - "moduleManager.createModule StandardGateway as_gw", - // create a layer 3 server - "as_gw.transportAdd L3Server l3s", - "as_gw.transportOptions l3s(PeerInvisible)", - "as_gw.transportCmd l3s(open port="+ASPort+")", - - // plug the as - "as.plug as_gw", -}; +#include "common.cfg" + +DontUseNS = 1; + +RRDToolPath = "rrdtool"; +RRDVarPath = "save_shard/rrd_graphs"; + +// Variables required to be defined by other cfgs +//AESHost="localhost"; +//ASWebPort="46700"; +//ASPort="46701"; + +StartCommands += +{ + // create the admin service module and open the web interface + "moduleManager.createModule AdminService as webPort="+ASWebPort, + + // create a gateway for aes to connect + "moduleManager.createModule StandardGateway as_gw", + // create a layer 3 server + "as_gw.transportAdd L3Server l3s", + "as_gw.transportOptions l3s(PeerInvisible)", + "as_gw.transportCmd l3s(open port="+ASPort+")", + + // plug the as + "as.plug as_gw", +}; diff --git a/code/ryzom/server/ai_service_default.cfg b/code/ryzom/server/ai_service_default.cfg index a25d74af0..3c9a6edcd 100644 --- a/code/ryzom/server/ai_service_default.cfg +++ b/code/ryzom/server/ai_service_default.cfg @@ -1,198 +1,198 @@ -#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" -}; +#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" +}; diff --git a/code/ryzom/server/backup_service_default.cfg b/code/ryzom/server/backup_service_default.cfg index 3e73c8928..c74f48d28 100644 --- a/code/ryzom/server/backup_service_default.cfg +++ b/code/ryzom/server/backup_service_default.cfg @@ -1,32 +1,32 @@ -#include "common.cfg" - -// ---- service NeL variables (used by ConfigFile class) - -DontUseNS = 1; - -// ---- service NeL variables (used by CVariable class) - -ListeningPort = 49990; - -// ---- service custom variables (used by ConfigFile class) - -// Listening port for the Web server to connect in - -WebPort = 49898; - -BSReadState = 1; - - -// ---- service custom variables (used by CVariable class) - -// Port for the Layer 3 interface of the backup service -L3ListeningPort = 49950; - -// template path from SaveShardRoot to find character saves -SaveTemplatePath = "$shard/characters/account_$userid_$charid$ext"; - -// character saves possible extension list -SaveExtList = "_pdr.bin _pdr.xml .bin"; - -//BSFilePrefix = "R:/code/ryzom/r2_shard/"; -//BSFileSubst = "r2_shard/"; +#include "common.cfg" + +// ---- service NeL variables (used by ConfigFile class) + +DontUseNS = 1; + +// ---- service NeL variables (used by CVariable class) + +ListeningPort = 49990; + +// ---- service custom variables (used by ConfigFile class) + +// Listening port for the Web server to connect in + +WebPort = 49898; + +BSReadState = 1; + + +// ---- service custom variables (used by CVariable class) + +// Port for the Layer 3 interface of the backup service +L3ListeningPort = 49950; + +// template path from SaveShardRoot to find character saves +SaveTemplatePath = "$shard/characters/account_$userid_$charid$ext"; + +// character saves possible extension list +SaveExtList = "_pdr.bin _pdr.xml .bin"; + +//BSFilePrefix = "R:/code/ryzom/r2_shard/"; +//BSFileSubst = "r2_shard/"; diff --git a/code/ryzom/server/common.cfg b/code/ryzom/server/common.cfg index 4dac4468d..b61aba2c9 100644 --- a/code/ryzom/server/common.cfg +++ b/code/ryzom/server/common.cfg @@ -1,7 +1,7 @@ // ---- config local variables // Used by ConfigFile in EGS and WS -ShardId = 302; +ShardId = 302; // Used by CVariable in WS PlayerLimit = 5000; @@ -96,5 +96,4 @@ WriteFilesDirectory = "data_shard"; // ---- service custom variables (used by ConfigFile class) - // ---- service custom variables (used by CVariable class) diff --git a/code/ryzom/server/dynamic_scenario_service_default.cfg b/code/ryzom/server/dynamic_scenario_service_default.cfg index e6d5942ac..11eb80ce8 100644 --- a/code/ryzom/server/dynamic_scenario_service_default.cfg +++ b/code/ryzom/server/dynamic_scenario_service_default.cfg @@ -1,9 +1,9 @@ - -DelayBeforeStartAct = 1; -MaxNpcs = 300; -MaxStaticObjects = 200; - -StartCommands += -{ - "unifiedNetwork.addService ShardUnifier ( address="+SUAddress+" sendId external autoRetry )", -}; + +DelayBeforeStartAct = 1; +MaxNpcs = 300; +MaxStaticObjects = 200; + +StartCommands += +{ + "unifiedNetwork.addService ShardUnifier ( address="+SUAddress+" sendId external autoRetry )", +}; diff --git a/code/ryzom/server/entities_game_service_default.cfg b/code/ryzom/server/entities_game_service_default.cfg index 4cc685e40..0e23083d9 100644 --- a/code/ryzom/server/entities_game_service_default.cfg +++ b/code/ryzom/server/entities_game_service_default.cfg @@ -1,1717 +1,1717 @@ -#include "common.cfg" - -StartCommands += -{ - // L5 connect to the shard unifier - "unifiedNetwork.addService ShardUnifier ( address="+SUAddress+" sendId external autoRetry )", - - // Create a gateway for global interconnection - // modules from different shard are visible to each other if they connect to - // this gateway. SU Local module have no interest to be plugged here. - "moduleManager.createModule StandardGateway glob_gw", - // add a layer 3 server transport - "glob_gw.transportAdd L3Client l3c", - // open the transport - "glob_gw.transportCmd l3c(connect addr="+SUHost+":"+SUGlobalPort+")", - - - // Create a gateway for logger service connection - "moduleManager.createModule StandardGateway lgs_gw", - - // add a layer 3 server transport for master logger service - "lgs_gw.transportAdd L3Client masterL3c", - // open the transport - "lgs_gw.transportCmd masterL3c(connect addr="+MasterLGSHost+":"+L3MasterLGSPort+")", -}; - -#ifndef DONT_USE_LGS_SLAVE - -StartCommands += -{ - // add a layer 3 server transport for slave logger service - "lgs_gw.transportAdd L3Client slaveL3c", - // open the transport - "lgs_gw.transportCmd slaveL3c(connect addr="+SlaveLGSHost+":"+L3SlaveLGSPort+")", -}; - -#endif - -StartCommands += -{ - // Create a shard unifier client module - "moduleManager.createModule ShardUnifierClient suc", - // Create a client commands forwader module - "moduleManager.createModule ClientCommandForwader ccf", - - // Create a characer control module - "moduleManager.createModule CharacterControl cc", - - // Create a guild unifier module - "moduleManager.createModule GuildUnifier gu", - - //Create a shard unifier name mapper - "moduleManager.createModule CharNameMapperClient cnmc", - - // Create the logger service client module - "moduleManager.createModule LoggerServiceClient lsc", - - "suc.plug gw", - "ccf.plug gw", - "cc.plug gw", - "gu.plug glob_gw", - "cnmc.plug gw", - "lsc.plug lgs_gw", -}; - -/// A list of vars to graph for EGS -GraphVars += -{ - "TotalNbItemForSale", "60000", // every minutes - "NbPlayers", "60000", // every minutes -}; - -//min fraction of the total damage done on a creature that a group/player must do to be attributed a kill -KillAttribMinFactor = 1.0; - -//max bulk the player can transport * 1000 (*1000 to avoid float operations) -MaxPlayerBulk = 100000; -//max weight in grammes a player can have on him if his strength is 0 -BaseMaxCarriedWeight = 100000; - -// base bulk of player room -BasePlayerRoomBulk = 1000000; - -// if true, every player that was saved with an invalid position will be corrected the next times he logs in. -CorrectInvalidPlayerPositions = 1; - -// Create Character Start skills value -//CreateCharacterStartSkillsValue = "SCMM1BS:220:SMLOEFA:235:SFM1BMM:215:SKILL_POINTS:200:MONEY:1000"; -//CreateCharacterStartSkillsValue = "SM:20:SMA:50:SMAP:51:SMAE:51:SMT:50:SMTC:51:SMTM:51:SMTO:51:SKILL_POINTS:2550:MONEY:50000"; - - -// Enable caching of ligo primitive in binary files -CachePrims = 1; -// Log to see which primitives where loaded from cache -CachePrimsLog = 0; - -//************************************************************************************************************* -// variable for stop area effect of a gameplay system -//************************************************************************************************************* -FightAreaEffectOn = 1; -MagicAreaEffectOn = 1; -HarvestAreaEffectOn = 1; - -//************************************************************************************************************* -// save period time (ticks). -//************************************************************************************************************* -GuildSavePeriod = 100; -GuildChargeSavePeriod = 99; -GuildMaxMemberCount = 255; - -TickFrequencyPCSave = 4800; -// minimum period between 2 consecutive saves of the same character -MinPlayerSavePeriod = 600; - -StoreSavePeriod = 10; - -//************************************************************************************************************* -// Max duration of death panalty (when you death several times and only style one point in your characteristics due to death penalty -//************************************************************************************************************* -DeathPenaltyMaxDuration = 1000; // 10 ticks per second * 60 for minutes * 30 for 30 minutes // No more used. -DeathXPFactor = 1; -DeathXPResorptionTime = 60; - -//************************************************************************************************************* -// Duration of comma -//************************************************************************************************************* -CommaDelayBeforeDeath = 100; // 10 ticks per second * 60 for minutes * 5 for 5 minutes - -//************************************************************************************************************* -// Duration of dead mektoub stay spawned -//************************************************************************************************************* -SpawnedDeadMektoubDelay = 1000; // 10 ticks per second * 60 for minutes * 60 for hours * 24 for days - -//************************************************************************************************************* -// Progression -//************************************************************************************************************* -SkillProgressionFactor = 1.0; - -SkillFightValueLimiter = 250; //skill value temporary limited for beta -SkillMagicValueLimiter = 250; //skill value temporary limited for beta -SkillCraftValueLimiter = 250; //skill value temporary limited for beta -SkillHarvestValueLimiter = 250; //skill value temporary limited for beta - -NBMeanCraftRawMaterials = 1; //Mean of raw material used for craft an item, it's used for scale xp win when crafting an item with effective raw material used - -// when in a team value of each member above one for XP division among team members -XPTeamMemberDivisorValue = 0.5; -// distance max for an action to be taken into account when in a team -MaxDistanceForXpGain = 10; -// Max XP gain by any one player on any creature (each team member can gain up to this value) -MaxXPGainPerPlayer = 10.0; - - -//************************************************************************************************************* -// Characteristics parameters -//************************************************************************************************************* -//characteristic brick progression step -CharacteristicBrickStep = 1; -// Maximum value for characteristics (260 because characters begin with 10) -MaxCharacteristicValue = 250; - - -//************************************************************************************************************* -// Magic parameters -//************************************************************************************************************* -DefaultCastingTime = 1.0; -RechargeMoneyFactor = 1.0; -CristalMoneyFactor = 1.0; - -// int in ticks for following values -NoLinkSurvivalAddTime = 100; -NoLinkTimeFear = 100; -NoLinkTimeSleep = 100; -NoLinkTimeStun = 100; -NoLinkTimeRoot = 100; -NoLinkTimeSnare = 100; -NoLinkTimeSlow = 100; -NoLinkTimeBlind = 100; -NoLinkTimeMadness = 100; -NoLinkTimeDot = 100; -PostCastLatency = 100; // in ticks - -TickFrequencyCompassUpdate = 32; - -// update period of link spell in ticks -UpdatePeriodFear = 40; -UpdatePeriodSleep = 40; -UpdatePeriodStun = 40; -UpdatePeriodRoot = 40; -UpdatePeriodSnare = 40; -UpdatePeriodSlow = 40; -UpdatePeriodBlind = 40; -UpdatePeriodMadness = 40; -UpdatePeriodDot = 40; -DefaultUpdatePeriod = 40; - -// bonus on resist for each received spell -ResistIncreaseFear = 10; -ResistIncreaseSleep = 10; -ResistIncreaseStun = 10; -ResistIncreaseRoot = 10; -ResistIncreaseSnare = 10; -ResistIncreaseSlow = 10; -ResistIncreaseBlind = 10; -ResistIncreaseMadness = 10; - -ResistIncreaseAcid = 0; -ResistIncreaseCold = 0; -ResistIncreaseElectricity= 0; -ResistIncreaseFire = 0; -ResistIncreasePoison = 0; -ResistIncreaseRot = 0; -ResistIncreaseShockwave = 0; - -//************************************************************************************************************* -// Craft parameters -//************************************************************************************************************* -//////////////// -// DURABILITY // some kind of HP -// melee weapons -DaggerDurability = 100.0; -SwordDurability = 100.0; -MaceDurability = 100.0; -AxeDurability = 100.0; -SpearDurability = 100.0; -StaffDurability = 100.0; -MagicianStaffDurability = 100.0; -TwoHandSwordDurability = 100.0; -TwoHandAxeDurability = 100.0; -PikeDurability = 100.0; -TwoHandMaceDurability = 100.0; -// range weapon -AutolauchDurability = 100.0; -BowrifleDurability = 100.0; -LauncherDurability = 100.0; -PistolDurability = 100.0; -BowpistolDurability = 100.0; -RifleDurability = 100.0; -HarpoonDurability = 100.0; -// ammo -AutolaunchAmmoDurability = 100.0; -BowrifleAmmoDurability = 100.0; -GrenadeAmmoDurability = 100.0; -LauncherAmmoDurability = 100.0; -PistolAmmoDurability = 100.0; -BowpistolAmmoDurability = 100.0; -RifleAmmoDurability = 100.0; -HarpoonAmmoDurability = 100.0; -// armor and shield -ShieldDurability = 100.0; -BucklerDurability = 100.0; -LightBootsDurability = 100.0; -LightGlovesDurability = 100.0; -LightPantsDurability = 100.0; -LightSleevesDurability = 100.0; -LightVestDurability = 100.0; -MediumBootsDurability = 100.0; -MediumGlovesDurability = 100.0; -MediumPantsDurability = 100.0; -MediumSleevesDurability = 100.0; -MediumVestDurability = 100.0; -HeavyBootsDurability = 100.0; -HeavyGlovesDurability = 100.0; -HeavyPantsDurability = 100.0; -HeavySleevesDurability = 100.0; -HeavyVestDurability = 100.0; -HeavyHelmetDurability = 100.0; -// jewel -AnkletDurability = 100.0; -BraceletDurability = 100.0; -DiademDurability = 100.0; -EaringDurability = 100.0; -PendantDurability = 100.0; -RingDurability = 100.0; -// tool -ForageToolDurability = 100.0; -AmmoCraftingToolDurability = 100.0; -ArmorCraftingToolDurability = 100.0; -JewelryCraftingToolDurability = 100.0; -RangeWeaponCraftingToolDurability = 100.0; -MeleeWeaponCraftingToolDurability = 100.0; -ToolCraftingToolDurability = 100.0; - -//////////// -// WEIGHT // (Max is *2) -// melee weapons -DaggerWeight = 1.0; // Dg Type (Pierce) -SwordWeight = 1.0; // 1H Type -MaceWeight = 1.0; // 1H Type -AxeWeight = 1.0; // 1H Type -SpearWeight = 1.0; // 1H Type (pierce) -StaffWeight = 1.0; // 1H Type -MagicianStaffWeight = 1.0; // 2H type -TwoHandSwordWeight = 1.0; // 2H Type -TwoHandAxeWeight = 1.0; // 2H Type -PikeWeight = 1.0; // 2H Type (pierce) -TwoHandMaceWeight = 1.0; // 2H Type -// range weapon -PistolWeight = 1.0; -BowpistolWeight = 1.0; -RifleWeight = 1.0; -BowrifleWeight = 1.0; -AutolauchWeight = 1.0; -LauncherWeight = 1.0; -HarpoonWeight = 1.0; -// ammo -PistolAmmoWeight = 1.0; -BowpistolAmmoWeight = 1.0; -RifleAmmoWeight = 1.0; -BowrifleAmmoWeight = 1.0; -AutolaunchAmmoWeight = 1.0; -LauncherAmmoWeight = 1.0; -HarpoonAmmoWeight = 1.0; -GrenadeAmmoWeight = 1.0; -// armor and shield -ShieldWeight = 1.0; -BucklerWeight = 1.0; -// Light -LightBootsWeight = 1.0; -LightGlovesWeight = 1.0; -LightPantsWeight = 1.0; -LightSleevesWeight = 1.0; -LightVestWeight = 1.0; -// Medium -MediumBootsWeight = 1.0; -MediumGlovesWeight = 1.0; -MediumPantsWeight = 1.0; -MediumSleevesWeight = 1.0; -MediumVestWeight = 1.0; -// Heavy -HeavyBootsWeight = 1.0; -HeavyGlovesWeight = 1.0; -HeavyPantsWeight = 1.0; -HeavySleevesWeight = 1.0; -HeavyVestWeight = 1.0; -HeavyHelmetWeight = 1.0; -// jewel -AnkletWeight = 1.0; -BraceletWeight = 1.0; -DiademWeight = 1.0; -EaringWeight = 1.0; -PendantWeight = 1.0; -RingWeight = 1.0; -////////////// -// SAP LOAD // -// MIN -// melee weapons -DaggerSapLoad = 0.0; -SwordSapLoad = 0.0; -MaceSapLoad = 0.0; -AxeSapLoad = 0.0; -SpearSapLoad = 0.0; -StaffSapLoad = 0.0; -MagicianStaffSapLoad = 0.0; -TwoHandSwordSapLoad = 0.0; -TwoHandAxeSapLoad = 0.0; -PikeSapLoad = 0.0; -TwoHandMaceSapLoad = 0.0; -// range weapon -AutolauchSapLoad = 0.0; -BowrifleSapLoad = 0.0; -LauncherSapLoad = 0.0; -PistolSapLoad = 0.0; -BowpistolSapLoad = 0.0; -RifleSapLoad = 0.0; -HarpoonSapLoad = 0.0; -// ammo -AutolaunchAmmoSapLoad = 0.0; -BowrifleAmmoSapLoad = 0.0; -GrenadeAmmoSapLoad = 0.0; -LauncherAmmoSapLoad = 0.0; -PistolAmmoSapLoad = 0.0; -BowpistolAmmoSapLoad = 0.0; -RifleAmmoSapLoad = 0.0; -HarpoonAmmoSapLoad = 0.0; -// armor and shield -ShieldSapLoad = 0.0; -BucklerSapLoad = 0.0; -LightBootsSapLoad = 0.0; -LightGlovesSapLoad = 0.0; -LightPantsSapLoad = 0.0; -LightSleevesSapLoad = 0.0; -LightVestSapLoad = 0.0; -MediumBootsSapLoad = 0.0; -MediumGlovesSapLoad = 0.0; -MediumPantsSapLoad = 0.0; -MediumSleevesSapLoad = 0.0; -MediumVestSapLoad = 0.0; -HeavyBootsSapLoad = 0.0; -HeavyGlovesSapLoad = 0.0; -HeavyPantsSapLoad = 0.0; -HeavySleevesSapLoad = 0.0; -HeavyVestSapLoad = 0.0; -HeavyHelmetSapLoad = 0.0; -// jewel -AnkletSapLoad = 0.0; -BraceletSapLoad = 0.0; -DiademSapLoad = 0.0; -EaringSapLoad = 0.0; -PendantSapLoad = 0.0; -RingSapLoad = 0.0; -// MAX -// melee weapons -DaggerSapLoadMax = 1000.0; -SwordSapLoadMax = 1000.0; -MaceSapLoadMax = 1000.0; -AxeSapLoadMax = 1000.0; -SpearSapLoadMax = 1000.0; -StaffSapLoadMax = 1000.0; -MagicianStaffSapLoadMax = 1000.0; -TwoHandSwordSapLoadMax = 1000.0; -TwoHandAxeSapLoadMax = 1000.0; -PikeSapLoadMax = 1000.0; -TwoHandMaceSapLoadMax = 1000.0; -// range weapon -AutolauchSapLoadMax = 1000.0; -BowrifleSapLoadMax = 1000.0; -LauncherSapLoadMax = 1000.0; -PistolSapLoadMax = 1000.0; -BowpistolSapLoadMax = 1000.0; -RifleSapLoadMax = 1000.0; -HarpoonSapLoadMax = 1000.0; -// ammo -AutolaunchAmmoSapLoadMax = 1000.0; -BowrifleAmmoSapLoadMax = 1000.0; -GrenadeAmmoSapLoadMax = 1000.0; -LauncherAmmoSapLoadMax = 1000.0; -PistolAmmoSapLoadMax = 1000.0; -BowpistolAmmoSapLoadMax = 1000.0; -RifleAmmoSapLoadMax = 1000.0; -HarpoonAmmoSapLoadMax = 1000.0; -// armor and shield -ShieldSapLoadMax = 1000.0; -BucklerSapLoadMax = 1000.0; -LightBootsSapLoadMax = 1000.0; -LightGlovesSapLoadMax = 1000.0; -LightPantsSapLoadMax = 1000.0; -LightSleevesSapLoadMax = 1000.0; -LightVestSapLoadMax = 1000.0; -MediumBootsSapLoadMax = 1000.0; -MediumGlovesSapLoadMax = 1000.0; -MediumPantsSapLoadMax = 1000.0; -MediumSleevesSapLoadMax = 1000.0; -MediumVestSapLoadMax = 1000.0; -HeavyBootsSapLoadMax = 1000.0; -HeavyGlovesSapLoadMax = 1000.0; -HeavyPantsSapLoadMax = 1000.0; -HeavySleevesSapLoadMax = 1000.0; -HeavyVestSapLoadMax = 1000.0; -HeavyHelmetSapLoadMax = 1000.0; -// jewel -AnkletSapLoadMax = 1000.0; -BraceletSapLoadMax = 1000.0; -DiademSapLoadMax = 1000.0; -EaringSapLoadMax = 1000.0; -PendantSapLoadMax = 1000.0; -RingSapLoadMax = 1000.0; -//////////// -// DAMAGE Min -// melee weapons -DaggerDmg = 1.0; // Dg Type (Pierce) -StaffDmg = 1.0; // 1H Type -SwordDmg = 1.0; // 1H Type -MaceDmg = 1.0; // 1H Type -AxeDmg = 1.0; // 1H Type -SpearDmg = 1.0; // 1H Type (pierce) -TwoHandSwordDmg = 1.0; // 2H Type -TwoHandAxeDmg = 1.0; // 2H Type -PikeDmg = 1.0; // 2H Type (pierce) -TwoHandMaceDmg = 1.0; // 2H Type -MagicianStaffDmg = 1.0; // 2H Type -// range weapon (modifier) -PistolDmg = 0.0; -BowpistolDmg = 0.0; -RifleDmg = 0.0; -BowrifleDmg = 0.0; -AutolauchDmg = 0.0; -LauncherDmg = 0.0; -HarpoonDmg = 0.0; -// ammo -PistolAmmoDmg = 1.0; -BowpistolAmmoDmg = 1.0; -RifleAmmoDmg = 1.0; -BowrifleAmmoDmg = 1.0; -AutolaunchAmmoDmg = 1.0; -LauncherAmmoDmg = 1.0; -HarpoonAmmoDmg = 1.0; -GrenadeAmmoDmg = 1.0; -// DAMAGE Max -// melee weapons -DaggerDmgMax = 1.0; // Dg Type (Pierce) -StaffDmgMax = 1.0; // 1H Type -SwordDmgMax = 1.0; // 1H Type -MaceDmgMax = 1.0; // 1H Type -AxeDmgMax = 1.0; // 1H Type -SpearDmgMax = 1.0; // 1H Type (pierce) -TwoHandSwordDmgMax = 1.0; // 2H Type -TwoHandAxeDmgMax = 1.0; // 2H Type -PikeDmgMax = 1.0; // 2H Type (pierce) -TwoHandMaceDmgMax = 1.0; // 2H Type -MagicianStaffDmgMax = 1.0; -// range weapon (modifier) -AutolauchDmgMax = 0.0; -BowrifleDmgMax = 0.0; -LauncherDmgMax = 0.0; -PistolDmgMax = 0.0; -BowpistolDmgMax = 0.0; -RifleDmgMax = 0.0; -HarpoonDmgMax = 0.0; -// ammo -PistolAmmoDmgMax = 1.0; -BowpistolAmmoDmgMax = 1.0; -RifleAmmoDmgMax = 1.0; -BowrifleAmmoDmgMax = 1.0; -AutolaunchAmmoDmgMax = 1.0; -LauncherAmmoDmgMax = 1.0; -HarpoonAmmoDmgMax = 1.0; -GrenadeAmmoDmgMax = 1.0; - -////////////// -// HIT RATE // Hits for 10 sec -// melee weapons -DaggerHitRate = 1.0; // Dg Type (Pierce) -StaffHitRate = 1.0; // 1H Type (blunt) -SwordHitRate = 1.0; // 1H Type -MaceHitRate = 1.0; // 1H Type -AxeHitRate = 1.0; // 1H Type -SpearHitRate = 1.0; // 1H Type (pierce) -TwoHandSwordHitRate = 1.0; // 2H Type -TwoHandAxeHitRate = 1.0; // 2H Type -PikeHitRate = 1.0; // 2H Type (pierce) -TwoHandMaceHitRate = 1.0; // 2H Type -MagicianStaffHitRate = 1.0; // -// range weapon -PistolHitRate = 1.0; -BowpistolHitRate = 1.0; -RifleHitRate = 1.0; -BowrifleHitRate = 1.0; -AutolauchHitRate = 1.0; -LauncherHitRate = 1.0; -HarpoonHitRate = 1.0; -// ammo (modifier) -AutolaunchAmmoHitRate = 0.0; -BowrifleAmmoHitRate = 0.0; -GrenadeAmmoHitRate = 0.0; -LauncherAmmoHitRate = 0.0; -PistolAmmoHitRate = 0.0; -BowpistolAmmoHitRate = 0.0; -RifleAmmoHitRate = 0.0; -HarpoonAmmoHitRate = 0.0; - -////////////// -// Maximum hit rate ( after crafted item parameters applications ) -// melee weapons -DaggerHitRateMax = 10.0; -StaffHitRateMax = 10.0; // 1H Type (blunt) -SwordHitRateMax = 10.0; -MaceHitRateMax = 10.0; -AxeHitRateMax = 10.0; -SpearHitRateMax = 10.0; -TwoHandSwordHitRateMax = 10.0; -TwoHandAxeHitRateMax = 10.0; -PikeHitRateMax = 10.0; -TwoHandMaceHitRateMax = 10.0; -MagicianStaffHitRateMax = 10.0; -// range weapon -PistolHitRateMax = 1.0; -BowpistolHitRateMax = 1.0; -RifleHitRateMax = 1.0; -BowrifleHitRateMax = 1.0; -AutolauchHitRateMax = 1.0; -LauncherHitRateMax = 1.0; -HarpoonHitRateMax = 1.0; -// ammo -AutolaunchAmmoHitRateMax = 0.0; -BowrifleAmmoHitRateMax = 0.0; -GrenadeAmmoHitRateMax = 0.0; -LauncherAmmoHitRateMax = 0.0; -PistolAmmoHitRateMax = 0.0; -BowpistolAmmoHitRateMax = 0.0; -RifleAmmoHitRateMax = 0.0; -HarpoonAmmoHitRateMax = 0.0; - - -/////////// -// Range // for ammo, range weapon (modifier) (max = *2) -// range weapon -AutolauchRange = 10000.0; // Gat -BowrifleRange = 10000.0; -LauncherRange = 10000.0; // Rocket Launcher -PistolRange = 10000.0; -BowpistolRange = 10000.0; -RifleRange = 10000.0; -HarpoonRange = 10000.0; -// ammo -AutolaunchAmmoRange = 0.0; -BowrifleAmmoRange = 0.0; -GrenadeAmmoRange = 0.0; -LauncherAmmoRange = 0.0; -PistolAmmoRange = 0.0; -BowpistolAmmoRange = 0.0; -RifleAmmoRange = 0.0; -HarpoonAmmoRange = 0.0; -//////////////////// -// DODGE MODIFIER // not for ammo and jewel, but for armor too -// melee weapons & armor -DaggerDodgeMinModifier = 0.0; -DaggerDodgeMaxModifier = 0.0; -SwordDodgeMinModifier = 0.0; -SwordDodgeMaxModifier = 0.0; -MaceDodgeMinModifier = 0.0; -MaceDodgeMaxModifier = 0.0; -AxeDodgeMinModifier = 0.0; -AxeDodgeMaxModifier = 0.0; -SpearDodgeMinModifier = 0.0; -SpearDodgeMaxModifier = 0.0; -StaffDodgeMinModifier = 0.0; -StaffDodgeMaxModifier = 0.0; -TwoHandSwordDodgeMinModifier = 0.0; -TwoHandSwordDodgeMaxModifier = 0.0; -TwoHandAxeDodgeMinModifier = 0.0; -TwoHandAxeDodgeMaxModifier = 0.0; -PikeDodgeMinModifier = 0.0; -PikeDodgeMaxModifier = 0.0; -TwoHandMaceDodgeMinModifier = 0.0; -TwoHandMaceDodgeMaxModifier = 0.0; -MagicianStaffDodgeMinModifier = 0.0; -MagicianStaffDodgeMaxModifier = 0.0; -// range weapon -AutolauchDodgeMinModifier = 0.0; -AutolauchDodgeMaxModifier = 0.0; -BowrifleDodgeMinModifier = 0.0; -BowrifleDodgeMaxModifier = 0.0; -LauncherDodgeMinModifier = 0.0; -LauncherDodgeMaxModifier = 0.0; -PistolDodgeMinModifier = 0.0; -PistolDodgeMaxModifier = 0.0; -BowpistolDodgeMinModifier = 0.0; -BowpistolDodgeMaxModifier = 0.0; -RifleDodgeMinModifier = 0.0; -RifleDodgeMaxModifier = 0.0; -HarpoonDodgeMinModifier = 0.0; -HarpoonDodgeMaxModifier = 0.0; -// armor and shield -ShieldDodgeMinModifier = 0.0; -ShieldDodgeMaxModifier = 0.0; -BucklerDodgeMinModifier = 0.0; -BucklerDodgeMaxModifier = 0.0; -LightBootsDodgeMinModifier = 0.0; -LightBootsDodgeMaxModifier = 0.0; -LightGlovesDodgeMinModifier = 0.0; -LightGlovesDodgeMaxModifier = 0.0; -LightPantsDodgeMinModifier = 0.0; -LightPantsDodgeMaxModifier = 0.0; -LightSleevesDodgeMinModifier = 0.0; -LightSleevesDodgeMaxModifier = 0.0; -LightVestDodgeMinModifier = 0.0; -LightVestDodgeMaxModifier = 0.0; -MediumBootsDodgeMinModifier = 0.0; -MediumBootsDodgeMaxModifier = 0.0; -MediumGlovesDodgeMinModifier = 0.0; -MediumGlovesDodgeMaxModifier = 0.0; -MediumPantsDodgeMinModifier = 0.0; -MediumPantsDodgeMaxModifier = 0.0; -MediumSleevesDodgeMinModifier = 0.0; -MediumSleevesDodgeMaxModifier = 0.0; -MediumVestDodgeMinModifier = 0.0; -MediumVestDodgeMaxModifier = 0.0; -HeavyBootsDodgeMinModifier = 0.0; -HeavyBootsDodgeMaxModifier = 0.0; -HeavyGlovesDodgeMinModifier = 0.0; -HeavyGlovesDodgeMaxModifier = 0.0; -HeavyPantsDodgeMinModifier = 0.0; -HeavyPantsDodgeMaxModifier = 0.0; -HeavySleevesDodgeMinModifier = 0.0; -HeavySleevesDodgeMaxModifier = 0.0; -HeavyVestDodgeMinModifier = 0.0; -HeavyVestDodgeMaxModifier = 0.0; -HeavyHelmetDodgeMinModifier = 0.0; -HeavyHelmetDodgeMaxModifier = 0.0; -//////////////////// -// PARRY MODIFIER // not for ammo and jewel, but for armor too -// melee weapons -DaggerParryMinModifier = 0.0; -DaggerParryMaxModifier = 0.0; -SwordParryMinModifier = 0.0; -SwordParryMaxModifier = 0.0; -MaceParryMinModifier = 0.0; -MaceParryMaxModifier = 0.0; -AxeParryMinModifier = 0.0; -AxeParryMaxModifier = 0.0; -SpearParryMinModifier = 0.0; -SpearParryMaxModifier = 0.0; -StaffParryMinModifier = 0.0; -StaffParryMaxModifier = 0.0; -TwoHandSwordParryMinModifier = 0.0; -TwoHandSwordParryMaxModifier = 0.0; -TwoHandAxeParryMinModifier = 0.0; -TwoHandAxeParryMaxModifier = 0.0; -PikeParryMinModifier = 0.0; -PikeParryMaxModifier = 0.0; -TwoHandMaceParryMinModifier = 0.0; -TwoHandMaceParryMaxModifier = 0.0; -MagicianStaffParryMinModifier = 0.0; -MagicianStaffParryMaxModifier = 0.0; -// range weapon -AutolauchParryMinModifier = 0.0; -AutolauchParryMaxModifier = 0.0; -BowrifleParryMinModifier = 0.0; -BowrifleParryMaxModifier = 0.0; -LauncherParryMinModifier = 0.0; -LauncherParryMaxModifier = 0.0; -PistolParryMinModifier = 0.0; -PistolParryMaxModifier = 0.0; -BowpistolParryMinModifier = 0.0; -BowpistolParryMaxModifier = 0.0; -RifleParryMinModifier = 0.0; -RifleParryMaxModifier = 0.0; -HarpoonParryMinModifier = 0.0; -HarpoonParryMaxModifier = 0.0; -// armor and shield -ShieldParryMinModifier = 0.0; -ShieldParryMaxModifier = 0.0; -BucklerParryMinModifier = 0.0; -BucklerParryMaxModifier = 0.0; -LightBootsParryMinModifier = 0.0; -LightBootsParryMaxModifier = 0.0; -LightGlovesParryMinModifier = 0.0; -LightGlovesParryMaxModifier = 0.0; -LightPantsParryMinModifier = 0.0; -LightPantsParryMaxModifier = 0.0; -LightSleevesParryMinModifier = 0.0; -LightSleevesParryMaxModifier = 0.0; -LightVestParryMinModifier = 0.0; -LightVestParryMaxModifier = 0.0; -MediumBootsParryMinModifier = 0.0; -MediumBootsParryMaxModifier = 0.0; -MediumGlovesParryMinModifier = 0.0; -MediumGlovesParryMaxModifier = 0.0; -MediumPantsParryMinModifier = 0.0; -MediumPantsParryMaxModifier = 0.0; -MediumSleevesParryMinModifier = 0.0; -MediumSleevesParryMaxModifier = 0.0; -MediumVestParryMinModifier = 0.0; -MediumVestParryMaxModifier = 0.0; -HeavyBootsParryMinModifier = 0.0; -HeavyBootsParryMaxModifier = 0.0; -HeavyGlovesParryMinModifier = 0.0; -HeavyGlovesParryMaxModifier = 0.0; -HeavyPantsParryMinModifier = 0.0; -HeavyPantsParryMaxModifier = 0.0; -HeavySleevesParryMinModifier = 0.0; -HeavySleevesParryMaxModifier = 0.0; -HeavyVestParryMinModifier = 0.0; -HeavyVestParryMaxModifier = 0.0; -HeavyHelmetParryMinModifier = 0.0; -HeavyHelmetParryMaxModifier = 0.0; -////////////////////////////// -// ADVERSARY DODGE MODIFIER // not for ammo, jewel and armor -// melee weapons -DaggerAdversaryDodgeMinModifier = 0.0; -DaggerAdversaryDodgeMaxModifier = 0.0; -SwordAdversaryDodgeMinModifier = 0.0; -SwordAdversaryDodgeMaxModifier = 0.0; -MaceAdversaryDodgeMinModifier = 0.0; -MaceAdversaryDodgeMaxModifier = 0.0; -AxeAdversaryDodgeMinModifier = 0.0; -AxeAdversaryDodgeMaxModifier = 0.0; -SpearAdversaryDodgeMinModifier = 0.0; -SpearAdversaryDodgeMaxModifier = 0.0; -StaffAdversaryDodgeMinModifier = 0.0; -StaffAdversaryDodgeMaxModifier = 0.0; -TwoHandSwordAdversaryDodgeMinModifier = 0.0; -TwoHandSwordAdversaryDodgeMaxModifier = 0.0; -TwoHandAxeAdversaryDodgeMinModifier = 0.0; -TwoHandAxeAdversaryDodgeMaxModifier = 0.0; -PikeAdversaryDodgeMinModifier = 0.0; -PikeAdversaryDodgeMaxModifier = 0.0; -TwoHandMaceAdversaryDodgeMinModifier = 0.0; -TwoHandMaceAdversaryDodgeMaxModifier = 0.0; -MagicianStaffAdversaryDodgeMinModifier = 0.0; -MagicianStaffAdversaryDodgeMaxModifier = 0.0; -// range weapon -AutolauchAdversaryDodgeMinModifier = 0.0; -AutolauchAdversaryDodgeMaxModifier = 0.0; -BowrifleAdversaryDodgeMinModifier = 0.0; -BowrifleAdversaryDodgeMaxModifier = 0.0; -LauncherAdversaryDodgeMinModifier = 0.0; -LauncherAdversaryDodgeMaxModifier = 0.0; -PistolAdversaryDodgeMinModifier = 0.0; -PistolAdversaryDodgeMaxModifier = 0.0; -BowpistolAdversaryDodgeMinModifier = 0.0; -BowpistolAdversaryDodgeMaxModifier = 0.0; -RifleAdversaryDodgeMinModifier = 0.0; -RifleAdversaryDodgeMaxModifier = 0.0; -HarpoonAdversaryDodgeMinModifier = 0.0; -HarpoonAdversaryDodgeMaxModifier = 0.0; -////////////////////////////// -// ADVERSARY PARRY MODIFIER // not for ammo, jewel and armor -// melee weapons -DaggerAdversaryParryMinModifier = 0.0; -DaggerAdversaryParryMaxModifier = 0.0; -SwordAdversaryParryMinModifier = 0.0; -SwordAdversaryParryMaxModifier = 0.0; -MaceAdversaryParryMinModifier = 0.0; -MaceAdversaryParryMaxModifier = 0.0; -AxeAdversaryParryMinModifier = 0.0; -AxeAdversaryParryMaxModifier = 0.0; -SpearAdversaryParryMinModifier = 0.0; -SpearAdversaryParryMaxModifier = 0.0; -StaffAdversaryParryMinModifier = 0.0; -StaffAdversaryParryMaxModifier = 0.0; -TwoHandSwordAdversaryParryMinModifier = 0.0; -TwoHandSwordAdversaryParryMaxModifier = 0.0; -TwoHandAxeAdversaryParryMinModifier = 0.0; -TwoHandAxeAdversaryParryMaxModifier = 0.0; -PikeAdversaryParryMinModifier = 0.0; -PikeAdversaryParryMaxModifier = 0.0; -TwoHandMaceAdversaryParryMinModifier = 0.0; -TwoHandMaceAdversaryParryMaxModifier = 0.0; -MagicianStaffAdversaryParryMinModifier = 0.0; -MagicianStaffAdversaryParryMaxModifier = 0.0; -// range weapon -AutolauchAdversaryParryMinModifier = 0.0; -AutolauchAdversaryParryMaxModifier = 0.0; -BowrifleAdversaryParryMinModifier = 0.0; -BowrifleAdversaryParryMaxModifier = 0.0; -LauncherAdversaryParryMinModifier = 0.0; -LauncherAdversaryParryMaxModifier = 0.0; -PistolAdversaryParryMinModifier = 0.0; -PistolAdversaryParryMaxModifier = 0.0; -BowpistolAdversaryParryMinModifier = 0.0; -BowpistolAdversaryParryMaxModifier = 0.0; -RifleAdversaryParryMinModifier = 0.0; -RifleAdversaryParryMaxModifier = 0.0; -HarpoonAdversaryParryMinModifier = 0.0; -HarpoonAdversaryParryMaxModifier = 0.0; - -////////////////////////////// -// Cast Modifiers // for melee weapons -//Elemental casting time factor (melee weapon only) -// Min -DaggerElementalCastingTimeFactor = 0.0; -SwordElementalCastingTimeFactor = 0.0; -AxeElementalCastingTimeFactor = 0.0; -MaceElementalCastingTimeFactor = 0.0; -SpearElementalCastingTimeFactor = 0.0; -StaffElementalCastingTimeFactor = 0.0; -MagicianStaffElementalCastingTimeFactor = 0.0; -TwoHandAxeElementalCastingTimeFactor = 0.0; -TwoHandSwordElementalCastingTimeFactor = 0.0; -PikeElementalCastingTimeFactor = 0.0; -TwoHandMaceElementalCastingTimeFactor = 0.0; -// max -DaggerElementalCastingTimeFactorMax = 1.0; -SwordElementalCastingTimeFactorMax = 1.0; -AxeElementalCastingTimeFactorMax = 1.0; -MaceElementalCastingTimeFactorMax = 1.0; -SpearElementalCastingTimeFactorMax = 1.0; -StaffElementalCastingTimeFactorMax = 1.0; -MagicianStaffElementalCastingTimeFactorMax = 1.0; -TwoHandAxeElementalCastingTimeFactorMax = 1.0; -TwoHandSwordElementalCastingTimeFactorMax = 1.0; -PikeElementalCastingTimeFactorMax = 1.0; -TwoHandMaceElementalCastingTimeFactorMax = 1.0; - -//Elemental power factor (melee weapon only) -// Min -DaggerElementalPowerFactor = 0.0; -SwordElementalPowerFactor = 0.0; -AxeElementalPowerFactor = 0.0; -MaceElementalPowerFactor = 0.0; -SpearElementalPowerFactor = 0.0; -StaffElementalPowerFactor = 0.0; -MagicianStaffElementalPowerFactor = 0.2; -TwoHandAxeElementalPowerFactor = 0.0; -TwoHandSwordElementalPowerFactor = 0.0; -PikeElementalPowerFactor = 0.0; -TwoHandMaceElementalPowerFactor = 0.0; -// Max -DaggerElementalPowerFactorMax = 1.0; -SwordElementalPowerFactorMax = 1.0; -AxeElementalPowerFactorMax = 1.0; -MaceElementalPowerFactorMax = 1.0; -SpearElementalPowerFactorMax = 1.0; -StaffElementalPowerFactorMax = 1.0; -MagicianStaffElementalPowerFactorMax = 1.0; -TwoHandAxeElementalPowerFactorMax = 1.0; -TwoHandSwordElementalPowerFactorMax = 1.0; -PikeElementalPowerFactorMax = 1.0; -TwoHandMaceElementalPowerFactorMax = 1.0; - -//OffensiveAffliction casting time factor (melee weapon only) -// Min -DaggerOffensiveAfflictionCastingTimeFactor = 0.0; -SwordOffensiveAfflictionCastingTimeFactor = 0.0; -AxeOffensiveAfflictionCastingTimeFactor = 0.0; -MaceOffensiveAfflictionCastingTimeFactor = 0.0; -SpearOffensiveAfflictionCastingTimeFactor = 0.0; -StaffOffensiveAfflictionCastingTimeFactor = 0.0; -MagicianStaffOffensiveAfflictionCastingTimeFactor = 0.2; -TwoHandAxeOffensiveAfflictionCastingTimeFactor = 0.0; -TwoHandSwordOffensiveAfflictionCastingTimeFactor = 0.0; -PikeOffensiveAfflictionCastingTimeFactor = 0.0; -TwoHandMaceOffensiveAfflictionCastingTimeFactor = 0.0; -// Max -DaggerOffensiveAfflictionCastingTimeFactorMax = 1.0; -SwordOffensiveAfflictionCastingTimeFactorMax = 1.0; -AxeOffensiveAfflictionCastingTimeFactorMax = 1.0; -MaceOffensiveAfflictionCastingTimeFactorMax = 1.0; -SpearOffensiveAfflictionCastingTimeFactorMax = 1.0; -StaffOffensiveAfflictionCastingTimeFactorMax = 1.0; -MagicianStaffOffensiveAfflictionCastingTimeFactorMax = 1.0; -TwoHandAxeOffensiveAfflictionCastingTimeFactorMax = 1.0; -TwoHandSwordOffensiveAfflictionCastingTimeFactorMax = 1.0; -PikeOffensiveAfflictionCastingTimeFactorMax = 1.0; -TwoHandMaceOffensiveAfflictionCastingTimeFactorMax = 1.0; - -//OffensiveAffliction power factor (melee weapon only) -// Min -DaggerOffensiveAfflictionPowerFactor = 0.0; -SwordOffensiveAfflictionPowerFactor = 0.0; -AxeOffensiveAfflictionPowerFactor = 0.0; -MaceOffensiveAfflictionPowerFactor = 0.0; -SpearOffensiveAfflictionPowerFactor = 0.0; -StaffOffensiveAfflictionPowerFactor = 0.0; -MagicianStaffOffensiveAfflictionPowerFactor = 0.0; -TwoHandAxeOffensiveAfflictionPowerFactor = 0.0; -TwoHandSwordOffensiveAfflictionPowerFactor = 0.0; -PikeOffensiveAfflictionPowerFactor = 0.0; -TwoHandMaceOffensiveAfflictionPowerFactor = 0.0; -// Max -DaggerOffensiveAfflictionPowerFactorMax = 1.0; -SwordOffensiveAfflictionPowerFactorMax = 1.0; -AxeOffensiveAfflictionPowerFactorMax = 1.0; -MaceOffensiveAfflictionPowerFactorMax = 1.0; -SpearOffensiveAfflictionPowerFactorMax = 1.0; -StaffOffensiveAfflictionPowerFactorMax = 1.0; -MagicianStaffOffensiveAfflictionPowerFactorMax = 1.0; -TwoHandAxeOffensiveAfflictionPowerFactorMax = 1.0; -TwoHandSwordOffensiveAfflictionPowerFactorMax = 1.0; -PikeOffensiveAfflictionPowerFactorMax = 1.0; -TwoHandMaceOffensiveAfflictionPowerFactorMax = 1.0; - -//Heal casting time factor (melee weapon only) -// Min -DaggerHealCastingTimeFactor = 0.0; -SwordHealCastingTimeFactor = 0.0; -AxeHealCastingTimeFactor = 0.0; -MaceHealCastingTimeFactor = 0.0; -SpearHealCastingTimeFactor = 0.0; -StaffHealCastingTimeFactor = 0.0; -MagicianStaffHealCastingTimeFactor = 0.0; -TwoHandAxeHealCastingTimeFactor = 0.0; -TwoHandSwordHealCastingTimeFactor = 0.0; -PikeHealCastingTimeFactor = 0.0; -TwoHandMaceHealCastingTimeFactor = 0.0; -// Max -DaggerHealCastingTimeFactorMax = 1.0; -SwordHealCastingTimeFactorMax = 1.0; -AxeHealCastingTimeFactorMax = 1.0; -MaceHealCastingTimeFactorMax = 1.0; -SpearHealCastingTimeFactorMax = 1.0; -StaffHealCastingTimeFactorMax = 1.0; -MagicianStaffHealCastingTimeFactorMax = 1.0; -TwoHandAxeHealCastingTimeFactorMax = 1.0; -TwoHandSwordHealCastingTimeFactorMax = 1.0; -PikeHealCastingTimeFactorMax = 1.0; -TwoHandMaceHealCastingTimeFactorMax = 1.0; - -//Heal power factor (melee weapon only) -// Min -DaggerHealPowerFactor = 0.0; -SwordHealPowerFactor = 0.0; -AxeHealPowerFactor = 0.0; -MaceHealPowerFactor = 0.0; -SpearHealPowerFactor = 0.0; -StaffHealPowerFactor = 0.0; -MagicianStaffHealPowerFactor = 0.0; -TwoHandAxeHealPowerFactor = 0.0; -TwoHandSwordHealPowerFactor = 0.0; -PikeHealPowerFactor = 0.0; -TwoHandMaceHealPowerFactor = 0.0; -// Max -DaggerHealPowerFactorMax = 1.0; -SwordHealPowerFactorMax = 1.0; -AxeHealPowerFactorMax = 1.0; -MaceHealPowerFactorMax = 1.0; -SpearHealPowerFactorMax = 1.0; -StaffHealPowerFactorMax = 1.0; -MagicianStaffHealPowerFactorMax = 1.0; -TwoHandAxeHealPowerFactorMax = 1.0; -TwoHandSwordHealPowerFactorMax = 1.0; -PikeHealPowerFactorMax = 1.0; -TwoHandMaceHealPowerFactorMax = 1.0; - -//DefensiveAffliction casting time factor (melee weapon only) -// Min -DaggerDefensiveAfflictionCastingTimeFactor = 0.0; -SwordDefensiveAfflictionCastingTimeFactor = 0.0; -AxeDefensiveAfflictionCastingTimeFactor = 0.0; -MaceDefensiveAfflictionCastingTimeFactor = 0.0; -SpearDefensiveAfflictionCastingTimeFactor = 0.0; -StaffDefensiveAfflictionCastingTimeFactor = 0.0; -MagicianStaffDefensiveAfflictionCastingTimeFactor = 0.0; -TwoHandAxeDefensiveAfflictionCastingTimeFactor = 0.0; -TwoHandSwordDefensiveAfflictionCastingTimeFactor = 0.0; -PikeDefensiveAfflictionCastingTimeFactor = 0.0; -TwoHandMaceDefensiveAfflictionCastingTimeFactor = 0.0; -// Max -DaggerDefensiveAfflictionCastingTimeFactorMax = 1.0; -SwordDefensiveAfflictionCastingTimeFactorMax = 1.0; -AxeDefensiveAfflictionCastingTimeFactorMax = 1.0; -MaceDefensiveAfflictionCastingTimeFactorMax = 1.0; -SpearDefensiveAfflictionCastingTimeFactorMax = 1.0; -StaffDefensiveAfflictionCastingTimeFactorMax = 1.0; -MagicianStaffDefensiveAfflictionCastingTimeFactorMax = 1.0; -TwoHandAxeDefensiveAfflictionCastingTimeFactorMax = 1.0; -TwoHandSwordDefensiveAfflictionCastingTimeFactorMax = 1.0; -PikeDefensiveAfflictionCastingTimeFactorMax = 1.0; -TwoHandMaceDefensiveAfflictionCastingTimeFactorMax = 1.0; - -//DefensiveAffliction power factor (melee weapon only) -// Min -DaggerDefensiveAfflictionPowerFactor = 0.0; -SwordDefensiveAfflictionPowerFactor = 0.0; -AxeDefensiveAfflictionPowerFactor = 0.0; -MaceDefensiveAfflictionPowerFactor = 0.0; -SpearDefensiveAfflictionPowerFactor = 0.0; -StaffDefensiveAfflictionPowerFactor = 0.0; -MagicianStaffDefensiveAfflictionPowerFactor = 0.0; -TwoHandAxeDefensiveAfflictionPowerFactor = 0.0; -TwoHandSwordDefensiveAfflictionPowerFactor = 0.0; -PikeDefensiveAfflictionPowerFactor = 0.0; -TwoHandMaceDefensiveAfflictionPowerFactor = 0.0; -// Max -DaggerDefensiveAfflictionPowerFactorMax = 1.0; -SwordDefensiveAfflictionPowerFactorMax = 1.0; -AxeDefensiveAfflictionPowerFactorMax = 1.0; -MaceDefensiveAfflictionPowerFactorMax = 1.0; -SpearDefensiveAfflictionPowerFactorMax = 1.0; -StaffDefensiveAfflictionPowerFactorMax = 1.0; -MagicianStaffDefensiveAfflictionPowerFactorMax = 1.0; -TwoHandAxeDefensiveAfflictionPowerFactorMax = 1.0; -TwoHandSwordDefensiveAfflictionPowerFactorMax = 1.0; -PikeDefensiveAfflictionPowerFactorMax = 1.0; -TwoHandMaceDefensiveAfflictionPowerFactorMax = 1.0; - - - -/////////////////////// -// PROTECTION FACTOR // -// armor and shield -// Min -BucklerProtectionFactor = 0.10; -ShieldProtectionFactor = 0.10; -LightBootsProtectionFactor = 0.10; -LightGlovesProtectionFactor = 0.10; -LightPantsProtectionFactor = 0.10; -LightSleevesProtectionFactor = 0.10; -LightVestProtectionFactor = 0.10; -MediumBootsProtectionFactor = 0.10; -MediumGlovesProtectionFactor = 0.10; -MediumPantsProtectionFactor = 0.10; -MediumSleevesProtectionFactor = 0.10; -MediumVestProtectionFactor = 0.10; -HeavyBootsProtectionFactor = 0.10; -HeavyGlovesProtectionFactor = 0.10; -HeavyPantsProtectionFactor = 0.10; -HeavySleevesProtectionFactor = 0.10; -HeavyVestProtectionFactor = 0.10; -HeavyHelmetProtectionFactor = 0.10; -// Max -BucklerProtectionFactorMax = 0.10; -ShieldProtectionFactorMax = 0.10; -LightBootsProtectionFactorMax = 0.10; -LightGlovesProtectionFactorMax = 0.10; -LightPantsProtectionFactorMax = 0.10; -LightSleevesProtectionFactorMax = 0.10; -LightVestProtectionFactorMax = 0.10; -MediumBootsProtectionFactorMax = 0.10; -MediumGlovesProtectionFactorMax = 0.10; -MediumPantsProtectionFactorMax = 0.10; -MediumSleevesProtectionFactorMax = 0.10; -MediumVestProtectionFactorMax = 0.10; -HeavyBootsProtectionFactorMax = 0.10; -HeavyGlovesProtectionFactorMax = 0.10; -HeavyPantsProtectionFactorMax = 0.10; -HeavySleevesProtectionFactorMax = 0.10; -HeavyVestProtectionFactorMax = 0.10; -HeavyHelmetProtectionFactorMax = 0.10; -///////////////////////////// -// MAX SLASHING PROTECTION // value to multiply with the item level. -// armor and shield -BucklerMaxSlashingProtection = 0.10; -ShieldMaxSlashingProtection = 0.10; -LightBootsMaxSlashingProtection = 0.10; -LightGlovesMaxSlashingProtection = 0.10; -LightPantsMaxSlashingProtection = 0.10; -LightSleevesMaxSlashingProtection = 0.10; -LightVestMaxSlashingProtection = 0.10; -MediumBootsMaxSlashingProtection = 0.10; -MediumGlovesMaxSlashingProtection = 0.10; -MediumPantsMaxSlashingProtection = 0.10; -MediumSleevesMaxSlashingProtection = 0.10; -MediumVestMaxSlashingProtection = 0.10; -HeavyBootsMaxSlashingProtection = 0.10; -HeavyGlovesMaxSlashingProtection = 0.10; -HeavyPantsMaxSlashingProtection = 0.10; -HeavySleevesMaxSlashingProtection = 0.10; -HeavyVestMaxSlashingProtection = 0.33; -HeavyHelmetMaxSlashingProtection = 0.33; -////////////////////////// -// MAX BLUNT PROTECTION // -// armor and shield -BucklerMaxBluntProtection = 0.10; -ShieldMaxBluntProtection = 0.10; -LightBootsMaxBluntProtection = 0.10; -LightGlovesMaxBluntProtection = 0.10; -LightPantsMaxBluntProtection = 0.10; -LightSleevesMaxBluntProtection = 0.10; -LightVestMaxBluntProtection = 0.10; -MediumBootsMaxBluntProtection = 0.10; -MediumGlovesMaxBluntProtection = 0.10; -MediumPantsMaxBluntProtection = 0.10; -MediumSleevesMaxBluntProtection = 0.10; -MediumVestMaxBluntProtection = 0.10; -HeavyBootsMaxBluntProtection = 0.10; -HeavyGlovesMaxBluntProtection = 0.10; -HeavyPantsMaxBluntProtection = 0.10; -HeavySleevesMaxBluntProtection = 0.10; -HeavyVestMaxBluntProtection = 0.10; -HeavyHelmetMaxBluntProtection = 0.10; -///////////////////////////// -// MAX PIERCING PROTECTION // -// armor and shield -BucklerMaxPiercingProtection = 0.10; -ShieldMaxPiercingProtection = 0.10; -LightBootsMaxPiercingProtection = 0.10; -LightGlovesMaxPiercingProtection = 0.10; -LightPantsMaxPiercingProtection = 0.10; -LightSleevesMaxPiercingProtection = 0.10; -LightVestMaxPiercingProtection = 0.10; -MediumBootsMaxPiercingProtection = 0.10; -MediumGlovesMaxPiercingProtection = 0.10; -MediumPantsMaxPiercingProtection = 0.10; -MediumSleevesMaxPiercingProtection = 0.10; -MediumVestMaxPiercingProtection = 0.10; -HeavyBootsMaxPiercingProtection = 0.10; -HeavyGlovesMaxPiercingProtection = 0.10; -HeavyPantsMaxPiercingProtection = 0.10; -HeavySleevesMaxPiercingProtection = 0.10; -HeavyVestMaxPiercingProtection = 0.10; -HeavyHelmetMaxPiercingProtection = 0.10; -////////////////////////////// -// JEWEL PROTECTION -AcidJewelProtection = 0.01001; // de 0 à 1.0 (1.0 = 100% de protection) -ColdJewelProtection = 0.01001; -FireJewelProtection = 0.01001; -RotJewelProtection = 0.01001; -ShockWaveJewelProtection = 0.01001; -PoisonJewelProtection = 0.01001; -ElectricityJewelProtection = 0.01001; - -MaxMagicProtection = 10; // Maximum protection can be gived by jewelry (clamp value), de 0 à 100 (pourcentage) -HominBaseProtection = 10; // Homin base protection in generic magic damage type -HominRacialProtection = 10; // Homin base protection in racial magic damage type -MaxAbsorptionFactor = 10; // Factor used for compute maximum absorption gived by all jewel (100 = 1.0 factor (100%)) (Max absorbtion = sum(equipped jewels recommandeds) * factor) -////////////////////////////// -// JEWEL RESISTANCE -DesertResistance = 1; // In skill points bonus -ForestResistance = 1; -LacustreResistance = 1; -JungleResistance = 1; -PrimaryRootResistance = 1; - -HominRacialResistance = 10;// Homin racial magic resistance to magic racial spell type -MaxMagicResistanceBonus = 10;// clamp value of resistance bonus resistance after all bonus/malus applied -EcosystemResistancePenalty = 10;// ecosystem resistance penalty value -//************************************************************************************************************* -// regen speed parameters -//************************************************************************************************************* -RegenDivisor = 1.0; -RegenReposFactor = 1.0; -RegenOffset = 1.0; - -//************************************************************************************************************* -// weapon damage table config -//************************************************************************************************************* -MinDamage = 10; -DamageStep = 1; -ExponentialPower = 1; -SmoothingFactor = 0; - -//************************************************************************************************************* -// hand to hand combat config -//************************************************************************************************************* -HandToHandDamageFactor = 0.10; -HandToHandLatency = 25; // 25 ticks = 2.5s - -//************************************************************************************************************* -// combat config -//************************************************************************************************************* -BotDamageFactor = 1; // factor applied on npc and creature damage -// special effects when hit to localisation -HitChestStaLossFactor = 0.1; -HitHeadStunDuration = 1; -HitArmsSlowDuration = 1; -HitArmsSlowFactor = 10; -HitLegsSlowDuration = 1; -HitLegsSlowFactor = -10; -HitHandsDebuffDuration = 1; -HitHandsDebuffValue = -10; -HitFeetDebuffDuration = 1; -HitFeetDebuffValue = -10; -NbOpponentsBeforeMalus = 1; -ModPerSupernumeraryOpponent = -1; -MinTwoWeaponsLatency = 10; - -ShieldingRadius = 1; -CombatFlagLifetime = 10; // (in ticks) used for openings - -DodgeFactorForMagicSkills = 1.0; -DodgeFactorForForageSkills = 1.0; - -MagicResistFactorForCombatSkills = 1.0; -MagicResistFactorForMagicSkills = 1.0; -MagicResistFactorForForageSkills = 1.0; -MagicResistSkillDelta = -10; - -//************************************************************************************************************* -// Price parameters ( price formula is ItemPriceCoeff2 * x2 + ItemPriceCoeff1 * x + ItemPriceCoeff0 ) -//************************************************************************************************************* -// polynom coeff of degree 0 in the price formula -ItemPriceCoeff0 = 100.0; -// polynom coeff of degree 1 in the price formula -ItemPriceCoeff1 = 0.1; -// polynom coeff of degree 2 in the price formula -ItemPriceCoeff2 = 0.01; -// factor to apply on non raw maetrial items to compute their price -ItemPriceFactor = 1.0; -// factor to apply on animal price to get the price a user can buy them -AnimalSellFactor = 0.1; -// factor to apply on teleport price to get the price a user can buy them -TeleportSellFactor = 0.1; -// this factor is applied to all faction point prices -GlobalFactionPointPriceFactor = 1.0; - -// this factor is applied to all faction point prices -GlobalFactionPointPriceFactor = 1.0; - -//************************************************************************************************************* -// Max quality of Raw Material Npc item selled by NPC -//************************************************************************************************************* -MaxNPCRawMaterialQualityInSell = 100; - -//************************************************************************************************************* -// Sell store parameters -//************************************************************************************************************* -// an item can stay 7 days in a sale store (total cumulated time in game cycle) -MaxGameCycleSaleStore = 6048000; - -NBMaxItemPlayerSellDisplay = 128; //NB max item can be displayed for player item list selled -NBMaxItemNpcSellDisplay = 128; //NB max item can be displayed for npc item list selled -NBMaxItemYoursSellDisplay = 128; //NB max item can be displayed for your item list selled, it's also the max items player can put in sale store - -//************************************************************************************************************* -// Factor for apply malus wear equipment to craft ( Recommended max = Recommended - (Recommanded * malus wear * WearMalusCraftFactor ) -//************************************************************************************************************* -WearMalusCraftFactor = 0.1; - -//************************************************************************************************************* -// Item wear config -//************************************************************************************************************* -//MeleeWeaponWearPerAction = 0.01; -//RangeWeaponWearPerAction = 0.01; - -// now we base wear factor for weapons on the ration (WeaponLatency / ReferenceWeaponLatencyForWear) -// MUST be > 0 -ReferenceWeaponLatencyForWear = 10; - -CraftingToolWearPerAction = 0.01; -ForageToolWearPerAction = 0.01; -ArmorWearPerAction = 0.01; -ShieldWearPerAction = 0.01; -JewelryWearPerAction = 0.01; - -// melee weapons -DaggerWearPerAction = 0.01; -SwordWearPerAction = 0.01; -MaceWearPerAction = 0.01; -AxeWearPerAction = 0.01; -SpearWearPerAction = 0.01; -StaffWearPerAction = 0.01; -MagicianStaffWearPerAction = 0.01; -TwoHandSwordWearPerAction = 0.01; -TwoHandAxeWearPerAction = 0.01; -PikeWearPerAction = 0.01; -TwoHandMaceWearPerAction = 0.01; -// range weapon -AutolauchWearPerAction = 0.01; -BowrifleWearPerAction = 0.01; -LauncherWearPerAction = 0.01; -PistolWearPerAction = 0.01; -BowpistolWearPerAction = 0.01; -RifleWearPerAction = 0.01; - -//************************************************************************************************************* -// Fame Variables -//************************************************************************************************************* -// Fame memory interpolation periode -FameMemoryInterpolation = 1220000; -// Fame trend reset delay -FameTrendResetDelay = 10000; -// Point of fame lost with the faction of a killed bot -FameByKill = -1000; -// Minimum Fame To Buy a Guild Building -MinFameToBuyGuildBuilding = 0; -// Minimum Fame To Buy a Player Building -MinFameToBuyPlayerBuilding = 0; -// maximum price variation ( in absolute value ) that can be due to fame -MaxFamePriceVariation = 0.1; -// Maximum fame value taken in account in trade -MaxFameToTrade = 600000; -// Minimum fame value taken in account in trade, under this value, the merchant refuse to sell -MinFameToTrade = -600000; - -//************************************************************************************************************* -// Guild Variables -//************************************************************************************************************* -//fame to buy a guild building -MinFameToBuyGuildBuilding = 0; -// cost of the guild building in money -MoneyToBuyGuildBuilding = 10; -// base bulk of the guild building -BaseGuildBulk = 10000000; -// cost in money to create a guild -GuildCreationCost = 100000; -// max number of charges a guild can apply for -MaxAppliedChargeCount = 3; - -//************************************************************************************************************* -// Animals -//************************************************************************************************************* -AnimalHungerFactor = 0.01; -AnimalStopFollowingDistance = 100; -AllowAnimalInventoryAccessFromAnyStable = 0; - -//************************************************************************************************************* -// PVP -//************************************************************************************************************* -DuelQueryDuration = 600; -ChallengeSpawnZones = -{ - "pvp_challenge_fyros_spawn_1", - "pvp_challenge_fyros_spawn_2", -}; - -PVPMeleeCombatDamageFactor = 1.0; -PVPRangeCombatDamageFactor = 1.0; -PVPMagicDamageFactor = 1.0; - -TimeForSetPVPFlag = 1000; -TimeForResetPVPFlag = 1000; -TimeForPVPFlagOff = 1000; -PVPActionTimer = 1000; - -TotemBuildTime = 1000; -TotemRebuildWait = 1000; - -ResPawnPVPInSameRegionForbiden = 1; // 1 is player character can't respawn in same region of there death in faction PvP. - -BuildSpireActive = 1; - - -// max distance from PvP combat to gain PvP points (faction and HoF points) from team PvP kills (in meters) -MaxDistanceForPVPPointsGain = 5.0; -// minimum delta level used to compute the faction points gain -MinPVPDeltaLevel = -5; -// maximum delta level used to compute the faction points gain -MaxPVPDeltaLevel = 5; -// for team PvP progression add this value to the faction points divisor for each team member above one -PVPTeamMemberDivisorValue = 1.0; -// it is the base used in faction point gain formula -PVPFactionPointBase = 5.0; -// it is the base used in HoF point gain formula -PVPHoFPointBase = 5.0; -// in faction PvP the killed players loses the faction points gained per killer multiplied by this factor -PVPFactionPointLossFactor = 0.5; -// in faction PvP the killed players loses the HoF points gained per killer multiplied by this factor -PVPHoFPointLossFactor = 0.5; -// players will not get any point for the same PvP kill for this time in seconds -TimeWithoutPointForSamePVPKill = 100; - -VerboseFactionPoint = 0; - -//************************************************************************************************************* -// Outpost -//************************************************************************************************************* -// Global flag to activate outpost challenge system -LoadOutposts = 1; -// Outpost saving period in tick (1 outpost saved at a time) -OutpostSavingPeriod = 10; -// Period in ticks between 2 updates of the same outpost -OutpostUpdatePeriod = 10; -// Set if the outpost drillers generate mps or not -EnableOutpostDrillerMPGeneration = 1; -// Production time of mp in the driller (in seconds) -OutpostDrillerTimeUnit = 10*60*24; // per day -// Delay in ticks used to check if 2 actions for editing an outpost are concurrent -OutpostEditingConcurrencyCheckDelay = 10; -// Period in seconds between 2 updates of outpost timers on clients -OutpostClientTimersUpdatePeriod = 10; -// Number of rounds in an outpost fight -OutpostFightRoundCount = 10; -// Time of a round in an outpost fight, in seconds -OutpostFightRoundTime = 1*60; -// Time to decrement an outpost level in seconds (in peace time) -OutpostLevelDecrementTime = 60*60*24*1; -// Delay in ticks used to check if 2 actions for editing an outpost are concurrent -OutpostEditingConcurrencyCheckDelay = 10; -// Time of each outpost state (challenge, beforeAttack, afterAttack, beforeDefense, afterDefense), in seconds. If 0 default computed value is used. -OutpostStateTimeOverride = 0; -// Max time the player has to answer the JoinPvp Window, in seconds -OutpostJoinPvpTimer = 10; -// Time range before next attack period in which a service reboot will cancel the challenge, in seconds -OutpostRangeForCancelOnReset = 60*60*1; -// Max number of outposts per guild (DO NOT exceed outpost count in database.xml) -GuildMaxOutpostCount = 10; -//************************************************************************************************************* - -MonoMissionTimout = 144000; -VerboseMissions = 0; -MissionLogFile = "egs_missions.log"; -MissionPrerequisitsEnabled = 1; -CheckCharacterVisitPlacePeriodGC = 64; - -// This icon will be used for missions with an invalid mission icon. If -// default icon is invalid too mission will not be displayed at all on client. -DefaultMissionIcon = "generic_rite"; - -// Mission states is read from file mission_validation.cfg. The EGS will load -// only the files which state is in ValidMissionStates list. If that list -// contains the keyword "All" all missions will be loaded. -ValidMissionStates = { - "All", -// "Disabled", -// "Test", -// "Valid", -}; - -StoreBotNames = 1; - -Tocking = 1; - -// unlimited death pact for internal testing -UnlimitedDeathPact = 1; - -//ignore race prerequisits for missions -IgnoreMissionRacePrerequisits = 1; - -// Max distance allowed for bot chat & dyn chat -MaxBotChatDistanceM = 5; - -//zone types that must be set as triggers -TriggerZoneTypes = { "place","region" }; - -// PeopleAutorized 1:fyros 2:matis 4:tryker 8:zorai - - -StartCommandsWhenMirrorReady = -{ - "PeopleAutorized 255", -}; - -// set the world instance activity verbosity -VerboseWorldInstance = 0; - -// set the shop category parser verbosity -VerboseShopParsing = 0; - -// Checking coherency between saved players and CEntityIdTranslator map, may be slow, so put to 0 if you want -CheckEntityIdTranslatorCoherency = 0; - -// Filename that contains the list of invalid entity names -InvalidEntityNamesFilename = "invalid_entity_names.txt"; - -ForageKamiAngerThreshold1 = 10000; -ForageKamiAngerThreshold2 = 10000; -ForageKamiAngerDecreasePerHour = 900.0; -ForageKamiAngerPunishDamage = 5000; - -ForageValidateSourcesSpawnPos = 1; -AutoSpawnForageSourcePeriodOverride = 0; -ForageKamiAngerOverride = 0; -ForageSiteStock = 100; -ForageSiteNbUpdatesToLive = 10; -ForageSiteRadius = 10.0; -ForageExtractionTimeMinGC = 230.0; -ForageExtractionTimeSlopeGC = 2.0; -ForageQuantityBaseRate = 0; -ForageQuantityBrick1 = 0.5; -ForageQuantityBrick2 = 0.5; -ForageQuantityBrick3 = 0.5; -ForageQuantityBrick4 = 0.5; -ForageQuantityBrick5 = 0.5; -ForageQuantityBrick6 = 0.5; -ForageQuantityBrick7 = 0.5; -ForageQuantityBrick8 = 0.5; -ForageQuantityBrick9 = 0.5; -ForageQuantityBrick10 = 0.5; -ForageQuantityBrick11 = 0.5; -ForageQuantityBrick12 = 0.5; -ForageQuantitySlowFactor = 0.5; -ForageQualitySlowFactor = 1.50; -ForageQualitySlowFactorQualityLevelRatio = 0.1; -ForageQualitySlowFactorDeltaLevelRatio = 0.1; -ForageQualitySlowFactorMatSpecRatio = 0.1; -ForageQualityCeilingFactor = 1.0; -ForageQualityCeilingClamp = 1; -ForageQuantityImpactFactor = 20.0; -ForageQualityImpactFactor = 1.5; -ForageExtractionAbsorptionMatSpecFactor = 5.0; -ForageExtractionAbsorptionMatSpecMax = 1.0; -ForageExtractionCareMatSpecFactor = 1.0; -ForageExtractionAbsorptionEcoSpecFactor = 5.0; -ForageExtractionAbsorptionEcoSpecMax = 1.0; -ForageExtractionCareEcoSpecFactor = 1.0; -ForageExtractionNaturalDDeltaPerTick = 0.1; -ForageExtractionNaturalEDeltaPerTick = 0.1; -ForageCareFactor = 5.0; -ForageCareBeginZone = 5.0; -ForageHPRatioPerSourceLifeImpact = 0.005; -ForageExplosionDamage = 5000.0; -ToxicCloudDamage = 500.0; -ForageCareSpeed = 0.05; -ForageKamiOfferingSpeed = 0.01; -ForageDebug = 0; -ForageSourceSpawnDelay = 50; -ForageFocusRatioOfLocateDeposit = 10; -ForageFocusAutoRegenRatio = 1.0; -ForageReduceDamageTimeWindow = 50; -ForageExtractionXPFactor = 10.0; -ForageQuantityXPDeltaLevelBonusRate = 1.0; -ForageProspectionXPBonusRatio = 0.1; -ForageExtractionNbParticipantsXPBonusRatio = 0.1; -ForageExtractionNastyEventXPMalusRatio = 0.1; - -QuarteringQuantityAverageForCraftHerbivore = 2.0; -QuarteringQuantityAverageForCraftCarnivore = 5.0; -QuarteringQuantityAverageForMissions = 1.0; -QuarteringQuantityAverageForBoss5 = 10; -QuarteringQuantityAverageForBoss7 = 50; -QuarteringQuantityForInvasion5 = 50; -QuarteringQuantityForInvasion7 = 100; - -LootMoneyAmountPerXPLevel = 10.0; - -VerboseQuartering = 0; - -// Shutdown handling - -// Time to shutdown server in minutes -ShutdownCounter = 5; - -// Time between to shutdown messages in seconds -BroadcastShutdownMessageRate = 30; - -// Time to shutdown to close access to welcome service, in seconds -CloseShardAccessAt = 300; - -// Persistent Logging - -DatabaseId = 0; - -// delay during character stay in game after disconnection -TimeBeforeDisconnection = 300; - -// File that contains the privileges for client commands -ClientCommandsPrivilegesFile = "client_commands_privileges.txt"; - -// File that contains the info on the current event on the server -GameEventFile = "game_event.txt"; - -// Privilege needed for banner -BannerPriv = ":G:SG:GM:SGM:"; -// Privilege that never aggro the bots -NeverAggroPriv = ":OBSERVER:G:SG:GM:SGM:EM:"; -// Privilege always invisible -AlwaysInvisiblePriv = ":OBSERVER:EM:"; -// Privilege to teleport with a mektoub -TeleportWithMektoubPriv = ":GM:SGM:DEV:"; -// Privilege that forbid action execution -NoActionAllowedPriv = ":OBSERVER"; -// Privilege that bypass value and score checking -NoValueCheckingPriv = ":GM:SGM:DEV:EM:EG:"; -// Privilege that prevent being disconnected in case of shard closing for technical problem -NoForceDisconnectPriv = ":GM:SGM:DEV:"; - -// File used to save position flags -PositionFlagsFile = "position_flags.xml"; - -// load PVP zones from primitives? -LoadPVPFreeZones = 1; -LoadPVPVersusZones = 1; -LoadPVPGuildZones = 1; - -// buffer time in ticks used when entering/leaving a PVP zone -PVPZoneEnterBufferTime = 300; -PVPZoneLeaveBufferTime = 1200; -PVPZoneWarningRepeatTime = 50; -PVPZoneWarningRepeatTimeL = 3000; - -// If 1, use the Death Penalty factor from the PVPZone primitive, else no death penalty -PVPZoneWithDeathPenalty = 1; - -// if 1, pvp duel/challenge will be disabled -DisablePVPDuel = 0; -DisablePVPChallenge = 1; - -// Fame Variables -// All values are multiplied by 6000 compared to values displayed on the client. -FameMinToDeclare = 600000; -FameWarningLevel = 60000; -FameMinToRemain = 0; -FameMinToTrade = -600000; -FameMinToKOS = -600000; -FameMaxDefault = 600000; -FameAbsoluteMin = -600000; -FameAbsoluteMax = 600000; - -FameStartFyrosvFyros = 600000; -FameStartFyrosvMatis = -600000; -FameStartFyrosvTryker = -60000; -FameStartFyrosvZorai = 60000; -FameStartMatisvFyros = -600000; -FameStartMatisvMatis = 600000; -FameStartMatisvTryker = 60000; -FameStartMatisvZorai = -60000; -FameStartTrykervFyros = -60000; -FameStartTrykervMatis = 60000; -FameStartTrykervTryker = 600000; -FameStartTrykervZorai = -600000; -FameStartZoraivFyros = 60000; -FameStartZoraivMatis = -60000; -FameStartZoraivTryker = -600000; -FameStartZoraivZorai = 600000; -FameStartFyrosvKami = 60000; -FameStartFyrosvKaravan = -60000; -FameStartMatisvKami = -600000; -FameStartMatisvKaravan = 600000; -FameStartTrykervKami = -60000; -FameStartTrykervKaravan = 60000; -FameStartZoraivKami = 600000; -FameStartZoraivKaravan = -600000; - -FameMaxNeutralvFyros = 600000; -FameMaxNeutralvMatis = 600000; -FameMaxNeutralvTryker = 600000; -FameMaxNeutralvZorai = 600000; -FameMaxFyrosvFyros = 600000; -FameMaxFyrosvMatis = 0; -FameMaxFyrosvTryker = 600000; -FameMaxFyrosvZorai = 600000; -FameMaxMatisvFyros = 0; -FameMaxMatisvMatis = 600000; -FameMaxMatisvTryker = 600000; -FameMaxMatisvZorai = 600000; -FameMaxTrykervFyros = 600000; -FameMaxTrykervMatis = 600000; -FameMaxTrykervTryker = 600000; -FameMaxTrykervZorai = 0; -FameMaxZoraivFyros = 600000; -FameMaxZoraivMatis = 600000; -FameMaxZoraivTryker = 0000; -FameMaxZoraivZorai = 600000; -FameMaxNeutralvKami = 600000; -FameMaxNeutralvKaravan = 600000; -FameMaxKamivKami = 600000; -FameMaxKamivKaravan = -600000; -FameMaxKaravanvKami = -600000; -FameMaxKaravanvKaravan = 600000; - -// Log switches, turns nlinfo on/off -NameManagerLogEnabled = 1; -GameItemLogEnabled = 1; -EntityCallbacksLogEnabled = 1; -EntityManagerLogEnabled = 1; -GuildManagerLogEnabled = 1; -ForageExtractionLogEnabled = 0; -PhraseManagerLogEnabled = 1; -CharacterLogEnabled = 1; -PlayerLogEnabled = 1; -ShoppingLogEnabled = 0; -PVPLogEnabled = 1; -PersistentPlayerDataLogEnabled = 0; - -DailyShutdownSequenceTime = ""; -DailyShutdownBroadcastMessage = "The shard will be shut down in 1 minute"; -DailyShutdownCounterMinutes = 1; -CheckShutdownPeriodGC = 50; - -PlayerChannelHistoricSize = 50; - -FlushSendingQueuesOnExit = 1; -NamesOfOnlyServiceToFlushSending = "BS"; - -// stat database save period in ticks -StatDBSavePeriod = 20; - -// New Newbieland -UseNewNewbieLandStartingPoint= 1; - -// The domain mainlands configuration -Mainlands = { - "302", "Open", "(Open Developer Community)", "en", -}; +#include "common.cfg" + +StartCommands += +{ + // L5 connect to the shard unifier + "unifiedNetwork.addService ShardUnifier ( address="+SUAddress+" sendId external autoRetry )", + + // Create a gateway for global interconnection + // modules from different shard are visible to each other if they connect to + // this gateway. SU Local module have no interest to be plugged here. + "moduleManager.createModule StandardGateway glob_gw", + // add a layer 3 server transport + "glob_gw.transportAdd L3Client l3c", + // open the transport + "glob_gw.transportCmd l3c(connect addr="+SUHost+":"+SUGlobalPort+")", + + + // Create a gateway for logger service connection + "moduleManager.createModule StandardGateway lgs_gw", + + // add a layer 3 server transport for master logger service + "lgs_gw.transportAdd L3Client masterL3c", + // open the transport + "lgs_gw.transportCmd masterL3c(connect addr="+MasterLGSHost+":"+L3MasterLGSPort+")", +}; + +#ifndef DONT_USE_LGS_SLAVE + +StartCommands += +{ + // add a layer 3 server transport for slave logger service + "lgs_gw.transportAdd L3Client slaveL3c", + // open the transport + "lgs_gw.transportCmd slaveL3c(connect addr="+SlaveLGSHost+":"+L3SlaveLGSPort+")", +}; + +#endif + +StartCommands += +{ + // Create a shard unifier client module + "moduleManager.createModule ShardUnifierClient suc", + // Create a client commands forwader module + "moduleManager.createModule ClientCommandForwader ccf", + + // Create a characer control module + "moduleManager.createModule CharacterControl cc", + + // Create a guild unifier module + "moduleManager.createModule GuildUnifier gu", + + //Create a shard unifier name mapper + "moduleManager.createModule CharNameMapperClient cnmc", + + // Create the logger service client module + "moduleManager.createModule LoggerServiceClient lsc", + + "suc.plug gw", + "ccf.plug gw", + "cc.plug gw", + "gu.plug glob_gw", + "cnmc.plug gw", + "lsc.plug lgs_gw", +}; + +/// A list of vars to graph for EGS +GraphVars += +{ + "TotalNbItemForSale", "60000", // every minutes + "NbPlayers", "60000", // every minutes +}; + +//min fraction of the total damage done on a creature that a group/player must do to be attributed a kill +KillAttribMinFactor = 1.0; + +//max bulk the player can transport * 1000 (*1000 to avoid float operations) +MaxPlayerBulk = 100000; +//max weight in grammes a player can have on him if his strength is 0 +BaseMaxCarriedWeight = 100000; + +// base bulk of player room +BasePlayerRoomBulk = 1000000; + +// if true, every player that was saved with an invalid position will be corrected the next times he logs in. +CorrectInvalidPlayerPositions = 1; + +// Create Character Start skills value +//CreateCharacterStartSkillsValue = "SCMM1BS:220:SMLOEFA:235:SFM1BMM:215:SKILL_POINTS:200:MONEY:1000"; +//CreateCharacterStartSkillsValue = "SM:20:SMA:50:SMAP:51:SMAE:51:SMT:50:SMTC:51:SMTM:51:SMTO:51:SKILL_POINTS:2550:MONEY:50000"; + + +// Enable caching of ligo primitive in binary files +CachePrims = 1; +// Log to see which primitives where loaded from cache +CachePrimsLog = 0; + +//************************************************************************************************************* +// variable for stop area effect of a gameplay system +//************************************************************************************************************* +FightAreaEffectOn = 1; +MagicAreaEffectOn = 1; +HarvestAreaEffectOn = 1; + +//************************************************************************************************************* +// save period time (ticks). +//************************************************************************************************************* +GuildSavePeriod = 100; +GuildChargeSavePeriod = 99; +GuildMaxMemberCount = 255; + +TickFrequencyPCSave = 4800; +// minimum period between 2 consecutive saves of the same character +MinPlayerSavePeriod = 600; + +StoreSavePeriod = 10; + +//************************************************************************************************************* +// Max duration of death panalty (when you death several times and only style one point in your characteristics due to death penalty +//************************************************************************************************************* +DeathPenaltyMaxDuration = 1000; // 10 ticks per second * 60 for minutes * 30 for 30 minutes // No more used. +DeathXPFactor = 1; +DeathXPResorptionTime = 60; + +//************************************************************************************************************* +// Duration of comma +//************************************************************************************************************* +CommaDelayBeforeDeath = 100; // 10 ticks per second * 60 for minutes * 5 for 5 minutes + +//************************************************************************************************************* +// Duration of dead mektoub stay spawned +//************************************************************************************************************* +SpawnedDeadMektoubDelay = 1000; // 10 ticks per second * 60 for minutes * 60 for hours * 24 for days + +//************************************************************************************************************* +// Progression +//************************************************************************************************************* +SkillProgressionFactor = 1.0; + +SkillFightValueLimiter = 250; //skill value temporary limited for beta +SkillMagicValueLimiter = 250; //skill value temporary limited for beta +SkillCraftValueLimiter = 250; //skill value temporary limited for beta +SkillHarvestValueLimiter = 250; //skill value temporary limited for beta + +NBMeanCraftRawMaterials = 1; //Mean of raw material used for craft an item, it's used for scale xp win when crafting an item with effective raw material used + +// when in a team value of each member above one for XP division among team members +XPTeamMemberDivisorValue = 0.5; +// distance max for an action to be taken into account when in a team +MaxDistanceForXpGain = 10; +// Max XP gain by any one player on any creature (each team member can gain up to this value) +MaxXPGainPerPlayer = 10.0; + + +//************************************************************************************************************* +// Characteristics parameters +//************************************************************************************************************* +//characteristic brick progression step +CharacteristicBrickStep = 1; +// Maximum value for characteristics (260 because characters begin with 10) +MaxCharacteristicValue = 250; + + +//************************************************************************************************************* +// Magic parameters +//************************************************************************************************************* +DefaultCastingTime = 1.0; +RechargeMoneyFactor = 1.0; +CristalMoneyFactor = 1.0; + +// int in ticks for following values +NoLinkSurvivalAddTime = 100; +NoLinkTimeFear = 100; +NoLinkTimeSleep = 100; +NoLinkTimeStun = 100; +NoLinkTimeRoot = 100; +NoLinkTimeSnare = 100; +NoLinkTimeSlow = 100; +NoLinkTimeBlind = 100; +NoLinkTimeMadness = 100; +NoLinkTimeDot = 100; +PostCastLatency = 100; // in ticks + +TickFrequencyCompassUpdate = 32; + +// update period of link spell in ticks +UpdatePeriodFear = 40; +UpdatePeriodSleep = 40; +UpdatePeriodStun = 40; +UpdatePeriodRoot = 40; +UpdatePeriodSnare = 40; +UpdatePeriodSlow = 40; +UpdatePeriodBlind = 40; +UpdatePeriodMadness = 40; +UpdatePeriodDot = 40; +DefaultUpdatePeriod = 40; + +// bonus on resist for each received spell +ResistIncreaseFear = 10; +ResistIncreaseSleep = 10; +ResistIncreaseStun = 10; +ResistIncreaseRoot = 10; +ResistIncreaseSnare = 10; +ResistIncreaseSlow = 10; +ResistIncreaseBlind = 10; +ResistIncreaseMadness = 10; + +ResistIncreaseAcid = 0; +ResistIncreaseCold = 0; +ResistIncreaseElectricity= 0; +ResistIncreaseFire = 0; +ResistIncreasePoison = 0; +ResistIncreaseRot = 0; +ResistIncreaseShockwave = 0; + +//************************************************************************************************************* +// Craft parameters +//************************************************************************************************************* +//////////////// +// DURABILITY // some kind of HP +// melee weapons +DaggerDurability = 100.0; +SwordDurability = 100.0; +MaceDurability = 100.0; +AxeDurability = 100.0; +SpearDurability = 100.0; +StaffDurability = 100.0; +MagicianStaffDurability = 100.0; +TwoHandSwordDurability = 100.0; +TwoHandAxeDurability = 100.0; +PikeDurability = 100.0; +TwoHandMaceDurability = 100.0; +// range weapon +AutolauchDurability = 100.0; +BowrifleDurability = 100.0; +LauncherDurability = 100.0; +PistolDurability = 100.0; +BowpistolDurability = 100.0; +RifleDurability = 100.0; +HarpoonDurability = 100.0; +// ammo +AutolaunchAmmoDurability = 100.0; +BowrifleAmmoDurability = 100.0; +GrenadeAmmoDurability = 100.0; +LauncherAmmoDurability = 100.0; +PistolAmmoDurability = 100.0; +BowpistolAmmoDurability = 100.0; +RifleAmmoDurability = 100.0; +HarpoonAmmoDurability = 100.0; +// armor and shield +ShieldDurability = 100.0; +BucklerDurability = 100.0; +LightBootsDurability = 100.0; +LightGlovesDurability = 100.0; +LightPantsDurability = 100.0; +LightSleevesDurability = 100.0; +LightVestDurability = 100.0; +MediumBootsDurability = 100.0; +MediumGlovesDurability = 100.0; +MediumPantsDurability = 100.0; +MediumSleevesDurability = 100.0; +MediumVestDurability = 100.0; +HeavyBootsDurability = 100.0; +HeavyGlovesDurability = 100.0; +HeavyPantsDurability = 100.0; +HeavySleevesDurability = 100.0; +HeavyVestDurability = 100.0; +HeavyHelmetDurability = 100.0; +// jewel +AnkletDurability = 100.0; +BraceletDurability = 100.0; +DiademDurability = 100.0; +EaringDurability = 100.0; +PendantDurability = 100.0; +RingDurability = 100.0; +// tool +ForageToolDurability = 100.0; +AmmoCraftingToolDurability = 100.0; +ArmorCraftingToolDurability = 100.0; +JewelryCraftingToolDurability = 100.0; +RangeWeaponCraftingToolDurability = 100.0; +MeleeWeaponCraftingToolDurability = 100.0; +ToolCraftingToolDurability = 100.0; + +//////////// +// WEIGHT // (Max is *2) +// melee weapons +DaggerWeight = 1.0; // Dg Type (Pierce) +SwordWeight = 1.0; // 1H Type +MaceWeight = 1.0; // 1H Type +AxeWeight = 1.0; // 1H Type +SpearWeight = 1.0; // 1H Type (pierce) +StaffWeight = 1.0; // 1H Type +MagicianStaffWeight = 1.0; // 2H type +TwoHandSwordWeight = 1.0; // 2H Type +TwoHandAxeWeight = 1.0; // 2H Type +PikeWeight = 1.0; // 2H Type (pierce) +TwoHandMaceWeight = 1.0; // 2H Type +// range weapon +PistolWeight = 1.0; +BowpistolWeight = 1.0; +RifleWeight = 1.0; +BowrifleWeight = 1.0; +AutolauchWeight = 1.0; +LauncherWeight = 1.0; +HarpoonWeight = 1.0; +// ammo +PistolAmmoWeight = 1.0; +BowpistolAmmoWeight = 1.0; +RifleAmmoWeight = 1.0; +BowrifleAmmoWeight = 1.0; +AutolaunchAmmoWeight = 1.0; +LauncherAmmoWeight = 1.0; +HarpoonAmmoWeight = 1.0; +GrenadeAmmoWeight = 1.0; +// armor and shield +ShieldWeight = 1.0; +BucklerWeight = 1.0; +// Light +LightBootsWeight = 1.0; +LightGlovesWeight = 1.0; +LightPantsWeight = 1.0; +LightSleevesWeight = 1.0; +LightVestWeight = 1.0; +// Medium +MediumBootsWeight = 1.0; +MediumGlovesWeight = 1.0; +MediumPantsWeight = 1.0; +MediumSleevesWeight = 1.0; +MediumVestWeight = 1.0; +// Heavy +HeavyBootsWeight = 1.0; +HeavyGlovesWeight = 1.0; +HeavyPantsWeight = 1.0; +HeavySleevesWeight = 1.0; +HeavyVestWeight = 1.0; +HeavyHelmetWeight = 1.0; +// jewel +AnkletWeight = 1.0; +BraceletWeight = 1.0; +DiademWeight = 1.0; +EaringWeight = 1.0; +PendantWeight = 1.0; +RingWeight = 1.0; +////////////// +// SAP LOAD // +// MIN +// melee weapons +DaggerSapLoad = 0.0; +SwordSapLoad = 0.0; +MaceSapLoad = 0.0; +AxeSapLoad = 0.0; +SpearSapLoad = 0.0; +StaffSapLoad = 0.0; +MagicianStaffSapLoad = 0.0; +TwoHandSwordSapLoad = 0.0; +TwoHandAxeSapLoad = 0.0; +PikeSapLoad = 0.0; +TwoHandMaceSapLoad = 0.0; +// range weapon +AutolauchSapLoad = 0.0; +BowrifleSapLoad = 0.0; +LauncherSapLoad = 0.0; +PistolSapLoad = 0.0; +BowpistolSapLoad = 0.0; +RifleSapLoad = 0.0; +HarpoonSapLoad = 0.0; +// ammo +AutolaunchAmmoSapLoad = 0.0; +BowrifleAmmoSapLoad = 0.0; +GrenadeAmmoSapLoad = 0.0; +LauncherAmmoSapLoad = 0.0; +PistolAmmoSapLoad = 0.0; +BowpistolAmmoSapLoad = 0.0; +RifleAmmoSapLoad = 0.0; +HarpoonAmmoSapLoad = 0.0; +// armor and shield +ShieldSapLoad = 0.0; +BucklerSapLoad = 0.0; +LightBootsSapLoad = 0.0; +LightGlovesSapLoad = 0.0; +LightPantsSapLoad = 0.0; +LightSleevesSapLoad = 0.0; +LightVestSapLoad = 0.0; +MediumBootsSapLoad = 0.0; +MediumGlovesSapLoad = 0.0; +MediumPantsSapLoad = 0.0; +MediumSleevesSapLoad = 0.0; +MediumVestSapLoad = 0.0; +HeavyBootsSapLoad = 0.0; +HeavyGlovesSapLoad = 0.0; +HeavyPantsSapLoad = 0.0; +HeavySleevesSapLoad = 0.0; +HeavyVestSapLoad = 0.0; +HeavyHelmetSapLoad = 0.0; +// jewel +AnkletSapLoad = 0.0; +BraceletSapLoad = 0.0; +DiademSapLoad = 0.0; +EaringSapLoad = 0.0; +PendantSapLoad = 0.0; +RingSapLoad = 0.0; +// MAX +// melee weapons +DaggerSapLoadMax = 1000.0; +SwordSapLoadMax = 1000.0; +MaceSapLoadMax = 1000.0; +AxeSapLoadMax = 1000.0; +SpearSapLoadMax = 1000.0; +StaffSapLoadMax = 1000.0; +MagicianStaffSapLoadMax = 1000.0; +TwoHandSwordSapLoadMax = 1000.0; +TwoHandAxeSapLoadMax = 1000.0; +PikeSapLoadMax = 1000.0; +TwoHandMaceSapLoadMax = 1000.0; +// range weapon +AutolauchSapLoadMax = 1000.0; +BowrifleSapLoadMax = 1000.0; +LauncherSapLoadMax = 1000.0; +PistolSapLoadMax = 1000.0; +BowpistolSapLoadMax = 1000.0; +RifleSapLoadMax = 1000.0; +HarpoonSapLoadMax = 1000.0; +// ammo +AutolaunchAmmoSapLoadMax = 1000.0; +BowrifleAmmoSapLoadMax = 1000.0; +GrenadeAmmoSapLoadMax = 1000.0; +LauncherAmmoSapLoadMax = 1000.0; +PistolAmmoSapLoadMax = 1000.0; +BowpistolAmmoSapLoadMax = 1000.0; +RifleAmmoSapLoadMax = 1000.0; +HarpoonAmmoSapLoadMax = 1000.0; +// armor and shield +ShieldSapLoadMax = 1000.0; +BucklerSapLoadMax = 1000.0; +LightBootsSapLoadMax = 1000.0; +LightGlovesSapLoadMax = 1000.0; +LightPantsSapLoadMax = 1000.0; +LightSleevesSapLoadMax = 1000.0; +LightVestSapLoadMax = 1000.0; +MediumBootsSapLoadMax = 1000.0; +MediumGlovesSapLoadMax = 1000.0; +MediumPantsSapLoadMax = 1000.0; +MediumSleevesSapLoadMax = 1000.0; +MediumVestSapLoadMax = 1000.0; +HeavyBootsSapLoadMax = 1000.0; +HeavyGlovesSapLoadMax = 1000.0; +HeavyPantsSapLoadMax = 1000.0; +HeavySleevesSapLoadMax = 1000.0; +HeavyVestSapLoadMax = 1000.0; +HeavyHelmetSapLoadMax = 1000.0; +// jewel +AnkletSapLoadMax = 1000.0; +BraceletSapLoadMax = 1000.0; +DiademSapLoadMax = 1000.0; +EaringSapLoadMax = 1000.0; +PendantSapLoadMax = 1000.0; +RingSapLoadMax = 1000.0; +//////////// +// DAMAGE Min +// melee weapons +DaggerDmg = 1.0; // Dg Type (Pierce) +StaffDmg = 1.0; // 1H Type +SwordDmg = 1.0; // 1H Type +MaceDmg = 1.0; // 1H Type +AxeDmg = 1.0; // 1H Type +SpearDmg = 1.0; // 1H Type (pierce) +TwoHandSwordDmg = 1.0; // 2H Type +TwoHandAxeDmg = 1.0; // 2H Type +PikeDmg = 1.0; // 2H Type (pierce) +TwoHandMaceDmg = 1.0; // 2H Type +MagicianStaffDmg = 1.0; // 2H Type +// range weapon (modifier) +PistolDmg = 0.0; +BowpistolDmg = 0.0; +RifleDmg = 0.0; +BowrifleDmg = 0.0; +AutolauchDmg = 0.0; +LauncherDmg = 0.0; +HarpoonDmg = 0.0; +// ammo +PistolAmmoDmg = 1.0; +BowpistolAmmoDmg = 1.0; +RifleAmmoDmg = 1.0; +BowrifleAmmoDmg = 1.0; +AutolaunchAmmoDmg = 1.0; +LauncherAmmoDmg = 1.0; +HarpoonAmmoDmg = 1.0; +GrenadeAmmoDmg = 1.0; +// DAMAGE Max +// melee weapons +DaggerDmgMax = 1.0; // Dg Type (Pierce) +StaffDmgMax = 1.0; // 1H Type +SwordDmgMax = 1.0; // 1H Type +MaceDmgMax = 1.0; // 1H Type +AxeDmgMax = 1.0; // 1H Type +SpearDmgMax = 1.0; // 1H Type (pierce) +TwoHandSwordDmgMax = 1.0; // 2H Type +TwoHandAxeDmgMax = 1.0; // 2H Type +PikeDmgMax = 1.0; // 2H Type (pierce) +TwoHandMaceDmgMax = 1.0; // 2H Type +MagicianStaffDmgMax = 1.0; +// range weapon (modifier) +AutolauchDmgMax = 0.0; +BowrifleDmgMax = 0.0; +LauncherDmgMax = 0.0; +PistolDmgMax = 0.0; +BowpistolDmgMax = 0.0; +RifleDmgMax = 0.0; +HarpoonDmgMax = 0.0; +// ammo +PistolAmmoDmgMax = 1.0; +BowpistolAmmoDmgMax = 1.0; +RifleAmmoDmgMax = 1.0; +BowrifleAmmoDmgMax = 1.0; +AutolaunchAmmoDmgMax = 1.0; +LauncherAmmoDmgMax = 1.0; +HarpoonAmmoDmgMax = 1.0; +GrenadeAmmoDmgMax = 1.0; + +////////////// +// HIT RATE // Hits for 10 sec +// melee weapons +DaggerHitRate = 1.0; // Dg Type (Pierce) +StaffHitRate = 1.0; // 1H Type (blunt) +SwordHitRate = 1.0; // 1H Type +MaceHitRate = 1.0; // 1H Type +AxeHitRate = 1.0; // 1H Type +SpearHitRate = 1.0; // 1H Type (pierce) +TwoHandSwordHitRate = 1.0; // 2H Type +TwoHandAxeHitRate = 1.0; // 2H Type +PikeHitRate = 1.0; // 2H Type (pierce) +TwoHandMaceHitRate = 1.0; // 2H Type +MagicianStaffHitRate = 1.0; // +// range weapon +PistolHitRate = 1.0; +BowpistolHitRate = 1.0; +RifleHitRate = 1.0; +BowrifleHitRate = 1.0; +AutolauchHitRate = 1.0; +LauncherHitRate = 1.0; +HarpoonHitRate = 1.0; +// ammo (modifier) +AutolaunchAmmoHitRate = 0.0; +BowrifleAmmoHitRate = 0.0; +GrenadeAmmoHitRate = 0.0; +LauncherAmmoHitRate = 0.0; +PistolAmmoHitRate = 0.0; +BowpistolAmmoHitRate = 0.0; +RifleAmmoHitRate = 0.0; +HarpoonAmmoHitRate = 0.0; + +////////////// +// Maximum hit rate ( after crafted item parameters applications ) +// melee weapons +DaggerHitRateMax = 10.0; +StaffHitRateMax = 10.0; // 1H Type (blunt) +SwordHitRateMax = 10.0; +MaceHitRateMax = 10.0; +AxeHitRateMax = 10.0; +SpearHitRateMax = 10.0; +TwoHandSwordHitRateMax = 10.0; +TwoHandAxeHitRateMax = 10.0; +PikeHitRateMax = 10.0; +TwoHandMaceHitRateMax = 10.0; +MagicianStaffHitRateMax = 10.0; +// range weapon +PistolHitRateMax = 1.0; +BowpistolHitRateMax = 1.0; +RifleHitRateMax = 1.0; +BowrifleHitRateMax = 1.0; +AutolauchHitRateMax = 1.0; +LauncherHitRateMax = 1.0; +HarpoonHitRateMax = 1.0; +// ammo +AutolaunchAmmoHitRateMax = 0.0; +BowrifleAmmoHitRateMax = 0.0; +GrenadeAmmoHitRateMax = 0.0; +LauncherAmmoHitRateMax = 0.0; +PistolAmmoHitRateMax = 0.0; +BowpistolAmmoHitRateMax = 0.0; +RifleAmmoHitRateMax = 0.0; +HarpoonAmmoHitRateMax = 0.0; + + +/////////// +// Range // for ammo, range weapon (modifier) (max = *2) +// range weapon +AutolauchRange = 10000.0; // Gat +BowrifleRange = 10000.0; +LauncherRange = 10000.0; // Rocket Launcher +PistolRange = 10000.0; +BowpistolRange = 10000.0; +RifleRange = 10000.0; +HarpoonRange = 10000.0; +// ammo +AutolaunchAmmoRange = 0.0; +BowrifleAmmoRange = 0.0; +GrenadeAmmoRange = 0.0; +LauncherAmmoRange = 0.0; +PistolAmmoRange = 0.0; +BowpistolAmmoRange = 0.0; +RifleAmmoRange = 0.0; +HarpoonAmmoRange = 0.0; +//////////////////// +// DODGE MODIFIER // not for ammo and jewel, but for armor too +// melee weapons & armor +DaggerDodgeMinModifier = 0.0; +DaggerDodgeMaxModifier = 0.0; +SwordDodgeMinModifier = 0.0; +SwordDodgeMaxModifier = 0.0; +MaceDodgeMinModifier = 0.0; +MaceDodgeMaxModifier = 0.0; +AxeDodgeMinModifier = 0.0; +AxeDodgeMaxModifier = 0.0; +SpearDodgeMinModifier = 0.0; +SpearDodgeMaxModifier = 0.0; +StaffDodgeMinModifier = 0.0; +StaffDodgeMaxModifier = 0.0; +TwoHandSwordDodgeMinModifier = 0.0; +TwoHandSwordDodgeMaxModifier = 0.0; +TwoHandAxeDodgeMinModifier = 0.0; +TwoHandAxeDodgeMaxModifier = 0.0; +PikeDodgeMinModifier = 0.0; +PikeDodgeMaxModifier = 0.0; +TwoHandMaceDodgeMinModifier = 0.0; +TwoHandMaceDodgeMaxModifier = 0.0; +MagicianStaffDodgeMinModifier = 0.0; +MagicianStaffDodgeMaxModifier = 0.0; +// range weapon +AutolauchDodgeMinModifier = 0.0; +AutolauchDodgeMaxModifier = 0.0; +BowrifleDodgeMinModifier = 0.0; +BowrifleDodgeMaxModifier = 0.0; +LauncherDodgeMinModifier = 0.0; +LauncherDodgeMaxModifier = 0.0; +PistolDodgeMinModifier = 0.0; +PistolDodgeMaxModifier = 0.0; +BowpistolDodgeMinModifier = 0.0; +BowpistolDodgeMaxModifier = 0.0; +RifleDodgeMinModifier = 0.0; +RifleDodgeMaxModifier = 0.0; +HarpoonDodgeMinModifier = 0.0; +HarpoonDodgeMaxModifier = 0.0; +// armor and shield +ShieldDodgeMinModifier = 0.0; +ShieldDodgeMaxModifier = 0.0; +BucklerDodgeMinModifier = 0.0; +BucklerDodgeMaxModifier = 0.0; +LightBootsDodgeMinModifier = 0.0; +LightBootsDodgeMaxModifier = 0.0; +LightGlovesDodgeMinModifier = 0.0; +LightGlovesDodgeMaxModifier = 0.0; +LightPantsDodgeMinModifier = 0.0; +LightPantsDodgeMaxModifier = 0.0; +LightSleevesDodgeMinModifier = 0.0; +LightSleevesDodgeMaxModifier = 0.0; +LightVestDodgeMinModifier = 0.0; +LightVestDodgeMaxModifier = 0.0; +MediumBootsDodgeMinModifier = 0.0; +MediumBootsDodgeMaxModifier = 0.0; +MediumGlovesDodgeMinModifier = 0.0; +MediumGlovesDodgeMaxModifier = 0.0; +MediumPantsDodgeMinModifier = 0.0; +MediumPantsDodgeMaxModifier = 0.0; +MediumSleevesDodgeMinModifier = 0.0; +MediumSleevesDodgeMaxModifier = 0.0; +MediumVestDodgeMinModifier = 0.0; +MediumVestDodgeMaxModifier = 0.0; +HeavyBootsDodgeMinModifier = 0.0; +HeavyBootsDodgeMaxModifier = 0.0; +HeavyGlovesDodgeMinModifier = 0.0; +HeavyGlovesDodgeMaxModifier = 0.0; +HeavyPantsDodgeMinModifier = 0.0; +HeavyPantsDodgeMaxModifier = 0.0; +HeavySleevesDodgeMinModifier = 0.0; +HeavySleevesDodgeMaxModifier = 0.0; +HeavyVestDodgeMinModifier = 0.0; +HeavyVestDodgeMaxModifier = 0.0; +HeavyHelmetDodgeMinModifier = 0.0; +HeavyHelmetDodgeMaxModifier = 0.0; +//////////////////// +// PARRY MODIFIER // not for ammo and jewel, but for armor too +// melee weapons +DaggerParryMinModifier = 0.0; +DaggerParryMaxModifier = 0.0; +SwordParryMinModifier = 0.0; +SwordParryMaxModifier = 0.0; +MaceParryMinModifier = 0.0; +MaceParryMaxModifier = 0.0; +AxeParryMinModifier = 0.0; +AxeParryMaxModifier = 0.0; +SpearParryMinModifier = 0.0; +SpearParryMaxModifier = 0.0; +StaffParryMinModifier = 0.0; +StaffParryMaxModifier = 0.0; +TwoHandSwordParryMinModifier = 0.0; +TwoHandSwordParryMaxModifier = 0.0; +TwoHandAxeParryMinModifier = 0.0; +TwoHandAxeParryMaxModifier = 0.0; +PikeParryMinModifier = 0.0; +PikeParryMaxModifier = 0.0; +TwoHandMaceParryMinModifier = 0.0; +TwoHandMaceParryMaxModifier = 0.0; +MagicianStaffParryMinModifier = 0.0; +MagicianStaffParryMaxModifier = 0.0; +// range weapon +AutolauchParryMinModifier = 0.0; +AutolauchParryMaxModifier = 0.0; +BowrifleParryMinModifier = 0.0; +BowrifleParryMaxModifier = 0.0; +LauncherParryMinModifier = 0.0; +LauncherParryMaxModifier = 0.0; +PistolParryMinModifier = 0.0; +PistolParryMaxModifier = 0.0; +BowpistolParryMinModifier = 0.0; +BowpistolParryMaxModifier = 0.0; +RifleParryMinModifier = 0.0; +RifleParryMaxModifier = 0.0; +HarpoonParryMinModifier = 0.0; +HarpoonParryMaxModifier = 0.0; +// armor and shield +ShieldParryMinModifier = 0.0; +ShieldParryMaxModifier = 0.0; +BucklerParryMinModifier = 0.0; +BucklerParryMaxModifier = 0.0; +LightBootsParryMinModifier = 0.0; +LightBootsParryMaxModifier = 0.0; +LightGlovesParryMinModifier = 0.0; +LightGlovesParryMaxModifier = 0.0; +LightPantsParryMinModifier = 0.0; +LightPantsParryMaxModifier = 0.0; +LightSleevesParryMinModifier = 0.0; +LightSleevesParryMaxModifier = 0.0; +LightVestParryMinModifier = 0.0; +LightVestParryMaxModifier = 0.0; +MediumBootsParryMinModifier = 0.0; +MediumBootsParryMaxModifier = 0.0; +MediumGlovesParryMinModifier = 0.0; +MediumGlovesParryMaxModifier = 0.0; +MediumPantsParryMinModifier = 0.0; +MediumPantsParryMaxModifier = 0.0; +MediumSleevesParryMinModifier = 0.0; +MediumSleevesParryMaxModifier = 0.0; +MediumVestParryMinModifier = 0.0; +MediumVestParryMaxModifier = 0.0; +HeavyBootsParryMinModifier = 0.0; +HeavyBootsParryMaxModifier = 0.0; +HeavyGlovesParryMinModifier = 0.0; +HeavyGlovesParryMaxModifier = 0.0; +HeavyPantsParryMinModifier = 0.0; +HeavyPantsParryMaxModifier = 0.0; +HeavySleevesParryMinModifier = 0.0; +HeavySleevesParryMaxModifier = 0.0; +HeavyVestParryMinModifier = 0.0; +HeavyVestParryMaxModifier = 0.0; +HeavyHelmetParryMinModifier = 0.0; +HeavyHelmetParryMaxModifier = 0.0; +////////////////////////////// +// ADVERSARY DODGE MODIFIER // not for ammo, jewel and armor +// melee weapons +DaggerAdversaryDodgeMinModifier = 0.0; +DaggerAdversaryDodgeMaxModifier = 0.0; +SwordAdversaryDodgeMinModifier = 0.0; +SwordAdversaryDodgeMaxModifier = 0.0; +MaceAdversaryDodgeMinModifier = 0.0; +MaceAdversaryDodgeMaxModifier = 0.0; +AxeAdversaryDodgeMinModifier = 0.0; +AxeAdversaryDodgeMaxModifier = 0.0; +SpearAdversaryDodgeMinModifier = 0.0; +SpearAdversaryDodgeMaxModifier = 0.0; +StaffAdversaryDodgeMinModifier = 0.0; +StaffAdversaryDodgeMaxModifier = 0.0; +TwoHandSwordAdversaryDodgeMinModifier = 0.0; +TwoHandSwordAdversaryDodgeMaxModifier = 0.0; +TwoHandAxeAdversaryDodgeMinModifier = 0.0; +TwoHandAxeAdversaryDodgeMaxModifier = 0.0; +PikeAdversaryDodgeMinModifier = 0.0; +PikeAdversaryDodgeMaxModifier = 0.0; +TwoHandMaceAdversaryDodgeMinModifier = 0.0; +TwoHandMaceAdversaryDodgeMaxModifier = 0.0; +MagicianStaffAdversaryDodgeMinModifier = 0.0; +MagicianStaffAdversaryDodgeMaxModifier = 0.0; +// range weapon +AutolauchAdversaryDodgeMinModifier = 0.0; +AutolauchAdversaryDodgeMaxModifier = 0.0; +BowrifleAdversaryDodgeMinModifier = 0.0; +BowrifleAdversaryDodgeMaxModifier = 0.0; +LauncherAdversaryDodgeMinModifier = 0.0; +LauncherAdversaryDodgeMaxModifier = 0.0; +PistolAdversaryDodgeMinModifier = 0.0; +PistolAdversaryDodgeMaxModifier = 0.0; +BowpistolAdversaryDodgeMinModifier = 0.0; +BowpistolAdversaryDodgeMaxModifier = 0.0; +RifleAdversaryDodgeMinModifier = 0.0; +RifleAdversaryDodgeMaxModifier = 0.0; +HarpoonAdversaryDodgeMinModifier = 0.0; +HarpoonAdversaryDodgeMaxModifier = 0.0; +////////////////////////////// +// ADVERSARY PARRY MODIFIER // not for ammo, jewel and armor +// melee weapons +DaggerAdversaryParryMinModifier = 0.0; +DaggerAdversaryParryMaxModifier = 0.0; +SwordAdversaryParryMinModifier = 0.0; +SwordAdversaryParryMaxModifier = 0.0; +MaceAdversaryParryMinModifier = 0.0; +MaceAdversaryParryMaxModifier = 0.0; +AxeAdversaryParryMinModifier = 0.0; +AxeAdversaryParryMaxModifier = 0.0; +SpearAdversaryParryMinModifier = 0.0; +SpearAdversaryParryMaxModifier = 0.0; +StaffAdversaryParryMinModifier = 0.0; +StaffAdversaryParryMaxModifier = 0.0; +TwoHandSwordAdversaryParryMinModifier = 0.0; +TwoHandSwordAdversaryParryMaxModifier = 0.0; +TwoHandAxeAdversaryParryMinModifier = 0.0; +TwoHandAxeAdversaryParryMaxModifier = 0.0; +PikeAdversaryParryMinModifier = 0.0; +PikeAdversaryParryMaxModifier = 0.0; +TwoHandMaceAdversaryParryMinModifier = 0.0; +TwoHandMaceAdversaryParryMaxModifier = 0.0; +MagicianStaffAdversaryParryMinModifier = 0.0; +MagicianStaffAdversaryParryMaxModifier = 0.0; +// range weapon +AutolauchAdversaryParryMinModifier = 0.0; +AutolauchAdversaryParryMaxModifier = 0.0; +BowrifleAdversaryParryMinModifier = 0.0; +BowrifleAdversaryParryMaxModifier = 0.0; +LauncherAdversaryParryMinModifier = 0.0; +LauncherAdversaryParryMaxModifier = 0.0; +PistolAdversaryParryMinModifier = 0.0; +PistolAdversaryParryMaxModifier = 0.0; +BowpistolAdversaryParryMinModifier = 0.0; +BowpistolAdversaryParryMaxModifier = 0.0; +RifleAdversaryParryMinModifier = 0.0; +RifleAdversaryParryMaxModifier = 0.0; +HarpoonAdversaryParryMinModifier = 0.0; +HarpoonAdversaryParryMaxModifier = 0.0; + +////////////////////////////// +// Cast Modifiers // for melee weapons +//Elemental casting time factor (melee weapon only) +// Min +DaggerElementalCastingTimeFactor = 0.0; +SwordElementalCastingTimeFactor = 0.0; +AxeElementalCastingTimeFactor = 0.0; +MaceElementalCastingTimeFactor = 0.0; +SpearElementalCastingTimeFactor = 0.0; +StaffElementalCastingTimeFactor = 0.0; +MagicianStaffElementalCastingTimeFactor = 0.0; +TwoHandAxeElementalCastingTimeFactor = 0.0; +TwoHandSwordElementalCastingTimeFactor = 0.0; +PikeElementalCastingTimeFactor = 0.0; +TwoHandMaceElementalCastingTimeFactor = 0.0; +// max +DaggerElementalCastingTimeFactorMax = 1.0; +SwordElementalCastingTimeFactorMax = 1.0; +AxeElementalCastingTimeFactorMax = 1.0; +MaceElementalCastingTimeFactorMax = 1.0; +SpearElementalCastingTimeFactorMax = 1.0; +StaffElementalCastingTimeFactorMax = 1.0; +MagicianStaffElementalCastingTimeFactorMax = 1.0; +TwoHandAxeElementalCastingTimeFactorMax = 1.0; +TwoHandSwordElementalCastingTimeFactorMax = 1.0; +PikeElementalCastingTimeFactorMax = 1.0; +TwoHandMaceElementalCastingTimeFactorMax = 1.0; + +//Elemental power factor (melee weapon only) +// Min +DaggerElementalPowerFactor = 0.0; +SwordElementalPowerFactor = 0.0; +AxeElementalPowerFactor = 0.0; +MaceElementalPowerFactor = 0.0; +SpearElementalPowerFactor = 0.0; +StaffElementalPowerFactor = 0.0; +MagicianStaffElementalPowerFactor = 0.2; +TwoHandAxeElementalPowerFactor = 0.0; +TwoHandSwordElementalPowerFactor = 0.0; +PikeElementalPowerFactor = 0.0; +TwoHandMaceElementalPowerFactor = 0.0; +// Max +DaggerElementalPowerFactorMax = 1.0; +SwordElementalPowerFactorMax = 1.0; +AxeElementalPowerFactorMax = 1.0; +MaceElementalPowerFactorMax = 1.0; +SpearElementalPowerFactorMax = 1.0; +StaffElementalPowerFactorMax = 1.0; +MagicianStaffElementalPowerFactorMax = 1.0; +TwoHandAxeElementalPowerFactorMax = 1.0; +TwoHandSwordElementalPowerFactorMax = 1.0; +PikeElementalPowerFactorMax = 1.0; +TwoHandMaceElementalPowerFactorMax = 1.0; + +//OffensiveAffliction casting time factor (melee weapon only) +// Min +DaggerOffensiveAfflictionCastingTimeFactor = 0.0; +SwordOffensiveAfflictionCastingTimeFactor = 0.0; +AxeOffensiveAfflictionCastingTimeFactor = 0.0; +MaceOffensiveAfflictionCastingTimeFactor = 0.0; +SpearOffensiveAfflictionCastingTimeFactor = 0.0; +StaffOffensiveAfflictionCastingTimeFactor = 0.0; +MagicianStaffOffensiveAfflictionCastingTimeFactor = 0.2; +TwoHandAxeOffensiveAfflictionCastingTimeFactor = 0.0; +TwoHandSwordOffensiveAfflictionCastingTimeFactor = 0.0; +PikeOffensiveAfflictionCastingTimeFactor = 0.0; +TwoHandMaceOffensiveAfflictionCastingTimeFactor = 0.0; +// Max +DaggerOffensiveAfflictionCastingTimeFactorMax = 1.0; +SwordOffensiveAfflictionCastingTimeFactorMax = 1.0; +AxeOffensiveAfflictionCastingTimeFactorMax = 1.0; +MaceOffensiveAfflictionCastingTimeFactorMax = 1.0; +SpearOffensiveAfflictionCastingTimeFactorMax = 1.0; +StaffOffensiveAfflictionCastingTimeFactorMax = 1.0; +MagicianStaffOffensiveAfflictionCastingTimeFactorMax = 1.0; +TwoHandAxeOffensiveAfflictionCastingTimeFactorMax = 1.0; +TwoHandSwordOffensiveAfflictionCastingTimeFactorMax = 1.0; +PikeOffensiveAfflictionCastingTimeFactorMax = 1.0; +TwoHandMaceOffensiveAfflictionCastingTimeFactorMax = 1.0; + +//OffensiveAffliction power factor (melee weapon only) +// Min +DaggerOffensiveAfflictionPowerFactor = 0.0; +SwordOffensiveAfflictionPowerFactor = 0.0; +AxeOffensiveAfflictionPowerFactor = 0.0; +MaceOffensiveAfflictionPowerFactor = 0.0; +SpearOffensiveAfflictionPowerFactor = 0.0; +StaffOffensiveAfflictionPowerFactor = 0.0; +MagicianStaffOffensiveAfflictionPowerFactor = 0.0; +TwoHandAxeOffensiveAfflictionPowerFactor = 0.0; +TwoHandSwordOffensiveAfflictionPowerFactor = 0.0; +PikeOffensiveAfflictionPowerFactor = 0.0; +TwoHandMaceOffensiveAfflictionPowerFactor = 0.0; +// Max +DaggerOffensiveAfflictionPowerFactorMax = 1.0; +SwordOffensiveAfflictionPowerFactorMax = 1.0; +AxeOffensiveAfflictionPowerFactorMax = 1.0; +MaceOffensiveAfflictionPowerFactorMax = 1.0; +SpearOffensiveAfflictionPowerFactorMax = 1.0; +StaffOffensiveAfflictionPowerFactorMax = 1.0; +MagicianStaffOffensiveAfflictionPowerFactorMax = 1.0; +TwoHandAxeOffensiveAfflictionPowerFactorMax = 1.0; +TwoHandSwordOffensiveAfflictionPowerFactorMax = 1.0; +PikeOffensiveAfflictionPowerFactorMax = 1.0; +TwoHandMaceOffensiveAfflictionPowerFactorMax = 1.0; + +//Heal casting time factor (melee weapon only) +// Min +DaggerHealCastingTimeFactor = 0.0; +SwordHealCastingTimeFactor = 0.0; +AxeHealCastingTimeFactor = 0.0; +MaceHealCastingTimeFactor = 0.0; +SpearHealCastingTimeFactor = 0.0; +StaffHealCastingTimeFactor = 0.0; +MagicianStaffHealCastingTimeFactor = 0.0; +TwoHandAxeHealCastingTimeFactor = 0.0; +TwoHandSwordHealCastingTimeFactor = 0.0; +PikeHealCastingTimeFactor = 0.0; +TwoHandMaceHealCastingTimeFactor = 0.0; +// Max +DaggerHealCastingTimeFactorMax = 1.0; +SwordHealCastingTimeFactorMax = 1.0; +AxeHealCastingTimeFactorMax = 1.0; +MaceHealCastingTimeFactorMax = 1.0; +SpearHealCastingTimeFactorMax = 1.0; +StaffHealCastingTimeFactorMax = 1.0; +MagicianStaffHealCastingTimeFactorMax = 1.0; +TwoHandAxeHealCastingTimeFactorMax = 1.0; +TwoHandSwordHealCastingTimeFactorMax = 1.0; +PikeHealCastingTimeFactorMax = 1.0; +TwoHandMaceHealCastingTimeFactorMax = 1.0; + +//Heal power factor (melee weapon only) +// Min +DaggerHealPowerFactor = 0.0; +SwordHealPowerFactor = 0.0; +AxeHealPowerFactor = 0.0; +MaceHealPowerFactor = 0.0; +SpearHealPowerFactor = 0.0; +StaffHealPowerFactor = 0.0; +MagicianStaffHealPowerFactor = 0.0; +TwoHandAxeHealPowerFactor = 0.0; +TwoHandSwordHealPowerFactor = 0.0; +PikeHealPowerFactor = 0.0; +TwoHandMaceHealPowerFactor = 0.0; +// Max +DaggerHealPowerFactorMax = 1.0; +SwordHealPowerFactorMax = 1.0; +AxeHealPowerFactorMax = 1.0; +MaceHealPowerFactorMax = 1.0; +SpearHealPowerFactorMax = 1.0; +StaffHealPowerFactorMax = 1.0; +MagicianStaffHealPowerFactorMax = 1.0; +TwoHandAxeHealPowerFactorMax = 1.0; +TwoHandSwordHealPowerFactorMax = 1.0; +PikeHealPowerFactorMax = 1.0; +TwoHandMaceHealPowerFactorMax = 1.0; + +//DefensiveAffliction casting time factor (melee weapon only) +// Min +DaggerDefensiveAfflictionCastingTimeFactor = 0.0; +SwordDefensiveAfflictionCastingTimeFactor = 0.0; +AxeDefensiveAfflictionCastingTimeFactor = 0.0; +MaceDefensiveAfflictionCastingTimeFactor = 0.0; +SpearDefensiveAfflictionCastingTimeFactor = 0.0; +StaffDefensiveAfflictionCastingTimeFactor = 0.0; +MagicianStaffDefensiveAfflictionCastingTimeFactor = 0.0; +TwoHandAxeDefensiveAfflictionCastingTimeFactor = 0.0; +TwoHandSwordDefensiveAfflictionCastingTimeFactor = 0.0; +PikeDefensiveAfflictionCastingTimeFactor = 0.0; +TwoHandMaceDefensiveAfflictionCastingTimeFactor = 0.0; +// Max +DaggerDefensiveAfflictionCastingTimeFactorMax = 1.0; +SwordDefensiveAfflictionCastingTimeFactorMax = 1.0; +AxeDefensiveAfflictionCastingTimeFactorMax = 1.0; +MaceDefensiveAfflictionCastingTimeFactorMax = 1.0; +SpearDefensiveAfflictionCastingTimeFactorMax = 1.0; +StaffDefensiveAfflictionCastingTimeFactorMax = 1.0; +MagicianStaffDefensiveAfflictionCastingTimeFactorMax = 1.0; +TwoHandAxeDefensiveAfflictionCastingTimeFactorMax = 1.0; +TwoHandSwordDefensiveAfflictionCastingTimeFactorMax = 1.0; +PikeDefensiveAfflictionCastingTimeFactorMax = 1.0; +TwoHandMaceDefensiveAfflictionCastingTimeFactorMax = 1.0; + +//DefensiveAffliction power factor (melee weapon only) +// Min +DaggerDefensiveAfflictionPowerFactor = 0.0; +SwordDefensiveAfflictionPowerFactor = 0.0; +AxeDefensiveAfflictionPowerFactor = 0.0; +MaceDefensiveAfflictionPowerFactor = 0.0; +SpearDefensiveAfflictionPowerFactor = 0.0; +StaffDefensiveAfflictionPowerFactor = 0.0; +MagicianStaffDefensiveAfflictionPowerFactor = 0.0; +TwoHandAxeDefensiveAfflictionPowerFactor = 0.0; +TwoHandSwordDefensiveAfflictionPowerFactor = 0.0; +PikeDefensiveAfflictionPowerFactor = 0.0; +TwoHandMaceDefensiveAfflictionPowerFactor = 0.0; +// Max +DaggerDefensiveAfflictionPowerFactorMax = 1.0; +SwordDefensiveAfflictionPowerFactorMax = 1.0; +AxeDefensiveAfflictionPowerFactorMax = 1.0; +MaceDefensiveAfflictionPowerFactorMax = 1.0; +SpearDefensiveAfflictionPowerFactorMax = 1.0; +StaffDefensiveAfflictionPowerFactorMax = 1.0; +MagicianStaffDefensiveAfflictionPowerFactorMax = 1.0; +TwoHandAxeDefensiveAfflictionPowerFactorMax = 1.0; +TwoHandSwordDefensiveAfflictionPowerFactorMax = 1.0; +PikeDefensiveAfflictionPowerFactorMax = 1.0; +TwoHandMaceDefensiveAfflictionPowerFactorMax = 1.0; + + + +/////////////////////// +// PROTECTION FACTOR // +// armor and shield +// Min +BucklerProtectionFactor = 0.10; +ShieldProtectionFactor = 0.10; +LightBootsProtectionFactor = 0.10; +LightGlovesProtectionFactor = 0.10; +LightPantsProtectionFactor = 0.10; +LightSleevesProtectionFactor = 0.10; +LightVestProtectionFactor = 0.10; +MediumBootsProtectionFactor = 0.10; +MediumGlovesProtectionFactor = 0.10; +MediumPantsProtectionFactor = 0.10; +MediumSleevesProtectionFactor = 0.10; +MediumVestProtectionFactor = 0.10; +HeavyBootsProtectionFactor = 0.10; +HeavyGlovesProtectionFactor = 0.10; +HeavyPantsProtectionFactor = 0.10; +HeavySleevesProtectionFactor = 0.10; +HeavyVestProtectionFactor = 0.10; +HeavyHelmetProtectionFactor = 0.10; +// Max +BucklerProtectionFactorMax = 0.10; +ShieldProtectionFactorMax = 0.10; +LightBootsProtectionFactorMax = 0.10; +LightGlovesProtectionFactorMax = 0.10; +LightPantsProtectionFactorMax = 0.10; +LightSleevesProtectionFactorMax = 0.10; +LightVestProtectionFactorMax = 0.10; +MediumBootsProtectionFactorMax = 0.10; +MediumGlovesProtectionFactorMax = 0.10; +MediumPantsProtectionFactorMax = 0.10; +MediumSleevesProtectionFactorMax = 0.10; +MediumVestProtectionFactorMax = 0.10; +HeavyBootsProtectionFactorMax = 0.10; +HeavyGlovesProtectionFactorMax = 0.10; +HeavyPantsProtectionFactorMax = 0.10; +HeavySleevesProtectionFactorMax = 0.10; +HeavyVestProtectionFactorMax = 0.10; +HeavyHelmetProtectionFactorMax = 0.10; +///////////////////////////// +// MAX SLASHING PROTECTION // value to multiply with the item level. +// armor and shield +BucklerMaxSlashingProtection = 0.10; +ShieldMaxSlashingProtection = 0.10; +LightBootsMaxSlashingProtection = 0.10; +LightGlovesMaxSlashingProtection = 0.10; +LightPantsMaxSlashingProtection = 0.10; +LightSleevesMaxSlashingProtection = 0.10; +LightVestMaxSlashingProtection = 0.10; +MediumBootsMaxSlashingProtection = 0.10; +MediumGlovesMaxSlashingProtection = 0.10; +MediumPantsMaxSlashingProtection = 0.10; +MediumSleevesMaxSlashingProtection = 0.10; +MediumVestMaxSlashingProtection = 0.10; +HeavyBootsMaxSlashingProtection = 0.10; +HeavyGlovesMaxSlashingProtection = 0.10; +HeavyPantsMaxSlashingProtection = 0.10; +HeavySleevesMaxSlashingProtection = 0.10; +HeavyVestMaxSlashingProtection = 0.33; +HeavyHelmetMaxSlashingProtection = 0.33; +////////////////////////// +// MAX BLUNT PROTECTION // +// armor and shield +BucklerMaxBluntProtection = 0.10; +ShieldMaxBluntProtection = 0.10; +LightBootsMaxBluntProtection = 0.10; +LightGlovesMaxBluntProtection = 0.10; +LightPantsMaxBluntProtection = 0.10; +LightSleevesMaxBluntProtection = 0.10; +LightVestMaxBluntProtection = 0.10; +MediumBootsMaxBluntProtection = 0.10; +MediumGlovesMaxBluntProtection = 0.10; +MediumPantsMaxBluntProtection = 0.10; +MediumSleevesMaxBluntProtection = 0.10; +MediumVestMaxBluntProtection = 0.10; +HeavyBootsMaxBluntProtection = 0.10; +HeavyGlovesMaxBluntProtection = 0.10; +HeavyPantsMaxBluntProtection = 0.10; +HeavySleevesMaxBluntProtection = 0.10; +HeavyVestMaxBluntProtection = 0.10; +HeavyHelmetMaxBluntProtection = 0.10; +///////////////////////////// +// MAX PIERCING PROTECTION // +// armor and shield +BucklerMaxPiercingProtection = 0.10; +ShieldMaxPiercingProtection = 0.10; +LightBootsMaxPiercingProtection = 0.10; +LightGlovesMaxPiercingProtection = 0.10; +LightPantsMaxPiercingProtection = 0.10; +LightSleevesMaxPiercingProtection = 0.10; +LightVestMaxPiercingProtection = 0.10; +MediumBootsMaxPiercingProtection = 0.10; +MediumGlovesMaxPiercingProtection = 0.10; +MediumPantsMaxPiercingProtection = 0.10; +MediumSleevesMaxPiercingProtection = 0.10; +MediumVestMaxPiercingProtection = 0.10; +HeavyBootsMaxPiercingProtection = 0.10; +HeavyGlovesMaxPiercingProtection = 0.10; +HeavyPantsMaxPiercingProtection = 0.10; +HeavySleevesMaxPiercingProtection = 0.10; +HeavyVestMaxPiercingProtection = 0.10; +HeavyHelmetMaxPiercingProtection = 0.10; +////////////////////////////// +// JEWEL PROTECTION +AcidJewelProtection = 0.01001; // de 0 à 1.0 (1.0 = 100% de protection) +ColdJewelProtection = 0.01001; +FireJewelProtection = 0.01001; +RotJewelProtection = 0.01001; +ShockWaveJewelProtection = 0.01001; +PoisonJewelProtection = 0.01001; +ElectricityJewelProtection = 0.01001; + +MaxMagicProtection = 10; // Maximum protection can be gived by jewelry (clamp value), de 0 à 100 (pourcentage) +HominBaseProtection = 10; // Homin base protection in generic magic damage type +HominRacialProtection = 10; // Homin base protection in racial magic damage type +MaxAbsorptionFactor = 10; // Factor used for compute maximum absorption gived by all jewel (100 = 1.0 factor (100%)) (Max absorbtion = sum(equipped jewels recommandeds) * factor) +////////////////////////////// +// JEWEL RESISTANCE +DesertResistance = 1; // In skill points bonus +ForestResistance = 1; +LacustreResistance = 1; +JungleResistance = 1; +PrimaryRootResistance = 1; + +HominRacialResistance = 10;// Homin racial magic resistance to magic racial spell type +MaxMagicResistanceBonus = 10;// clamp value of resistance bonus resistance after all bonus/malus applied +EcosystemResistancePenalty = 10;// ecosystem resistance penalty value +//************************************************************************************************************* +// regen speed parameters +//************************************************************************************************************* +RegenDivisor = 1.0; +RegenReposFactor = 1.0; +RegenOffset = 1.0; + +//************************************************************************************************************* +// weapon damage table config +//************************************************************************************************************* +MinDamage = 10; +DamageStep = 1; +ExponentialPower = 1; +SmoothingFactor = 0; + +//************************************************************************************************************* +// hand to hand combat config +//************************************************************************************************************* +HandToHandDamageFactor = 0.10; +HandToHandLatency = 25; // 25 ticks = 2.5s + +//************************************************************************************************************* +// combat config +//************************************************************************************************************* +BotDamageFactor = 1; // factor applied on npc and creature damage +// special effects when hit to localisation +HitChestStaLossFactor = 0.1; +HitHeadStunDuration = 1; +HitArmsSlowDuration = 1; +HitArmsSlowFactor = 10; +HitLegsSlowDuration = 1; +HitLegsSlowFactor = -10; +HitHandsDebuffDuration = 1; +HitHandsDebuffValue = -10; +HitFeetDebuffDuration = 1; +HitFeetDebuffValue = -10; +NbOpponentsBeforeMalus = 1; +ModPerSupernumeraryOpponent = -1; +MinTwoWeaponsLatency = 10; + +ShieldingRadius = 1; +CombatFlagLifetime = 10; // (in ticks) used for openings + +DodgeFactorForMagicSkills = 1.0; +DodgeFactorForForageSkills = 1.0; + +MagicResistFactorForCombatSkills = 1.0; +MagicResistFactorForMagicSkills = 1.0; +MagicResistFactorForForageSkills = 1.0; +MagicResistSkillDelta = -10; + +//************************************************************************************************************* +// Price parameters ( price formula is ItemPriceCoeff2 * x2 + ItemPriceCoeff1 * x + ItemPriceCoeff0 ) +//************************************************************************************************************* +// polynom coeff of degree 0 in the price formula +ItemPriceCoeff0 = 100.0; +// polynom coeff of degree 1 in the price formula +ItemPriceCoeff1 = 0.1; +// polynom coeff of degree 2 in the price formula +ItemPriceCoeff2 = 0.01; +// factor to apply on non raw maetrial items to compute their price +ItemPriceFactor = 1.0; +// factor to apply on animal price to get the price a user can buy them +AnimalSellFactor = 0.1; +// factor to apply on teleport price to get the price a user can buy them +TeleportSellFactor = 0.1; +// this factor is applied to all faction point prices +GlobalFactionPointPriceFactor = 1.0; + +// this factor is applied to all faction point prices +GlobalFactionPointPriceFactor = 1.0; + +//************************************************************************************************************* +// Max quality of Raw Material Npc item selled by NPC +//************************************************************************************************************* +MaxNPCRawMaterialQualityInSell = 100; + +//************************************************************************************************************* +// Sell store parameters +//************************************************************************************************************* +// an item can stay 7 days in a sale store (total cumulated time in game cycle) +MaxGameCycleSaleStore = 6048000; + +NBMaxItemPlayerSellDisplay = 128; //NB max item can be displayed for player item list selled +NBMaxItemNpcSellDisplay = 128; //NB max item can be displayed for npc item list selled +NBMaxItemYoursSellDisplay = 128; //NB max item can be displayed for your item list selled, it's also the max items player can put in sale store + +//************************************************************************************************************* +// Factor for apply malus wear equipment to craft ( Recommended max = Recommended - (Recommanded * malus wear * WearMalusCraftFactor ) +//************************************************************************************************************* +WearMalusCraftFactor = 0.1; + +//************************************************************************************************************* +// Item wear config +//************************************************************************************************************* +//MeleeWeaponWearPerAction = 0.01; +//RangeWeaponWearPerAction = 0.01; + +// now we base wear factor for weapons on the ration (WeaponLatency / ReferenceWeaponLatencyForWear) +// MUST be > 0 +ReferenceWeaponLatencyForWear = 10; + +CraftingToolWearPerAction = 0.01; +ForageToolWearPerAction = 0.01; +ArmorWearPerAction = 0.01; +ShieldWearPerAction = 0.01; +JewelryWearPerAction = 0.01; + +// melee weapons +DaggerWearPerAction = 0.01; +SwordWearPerAction = 0.01; +MaceWearPerAction = 0.01; +AxeWearPerAction = 0.01; +SpearWearPerAction = 0.01; +StaffWearPerAction = 0.01; +MagicianStaffWearPerAction = 0.01; +TwoHandSwordWearPerAction = 0.01; +TwoHandAxeWearPerAction = 0.01; +PikeWearPerAction = 0.01; +TwoHandMaceWearPerAction = 0.01; +// range weapon +AutolauchWearPerAction = 0.01; +BowrifleWearPerAction = 0.01; +LauncherWearPerAction = 0.01; +PistolWearPerAction = 0.01; +BowpistolWearPerAction = 0.01; +RifleWearPerAction = 0.01; + +//************************************************************************************************************* +// Fame Variables +//************************************************************************************************************* +// Fame memory interpolation periode +FameMemoryInterpolation = 1220000; +// Fame trend reset delay +FameTrendResetDelay = 10000; +// Point of fame lost with the faction of a killed bot +FameByKill = -1000; +// Minimum Fame To Buy a Guild Building +MinFameToBuyGuildBuilding = 0; +// Minimum Fame To Buy a Player Building +MinFameToBuyPlayerBuilding = 0; +// maximum price variation ( in absolute value ) that can be due to fame +MaxFamePriceVariation = 0.1; +// Maximum fame value taken in account in trade +MaxFameToTrade = 600000; +// Minimum fame value taken in account in trade, under this value, the merchant refuse to sell +MinFameToTrade = -600000; + +//************************************************************************************************************* +// Guild Variables +//************************************************************************************************************* +//fame to buy a guild building +MinFameToBuyGuildBuilding = 0; +// cost of the guild building in money +MoneyToBuyGuildBuilding = 10; +// base bulk of the guild building +BaseGuildBulk = 10000000; +// cost in money to create a guild +GuildCreationCost = 100000; +// max number of charges a guild can apply for +MaxAppliedChargeCount = 3; + +//************************************************************************************************************* +// Animals +//************************************************************************************************************* +AnimalHungerFactor = 0.01; +AnimalStopFollowingDistance = 100; +AllowAnimalInventoryAccessFromAnyStable = 0; + +//************************************************************************************************************* +// PVP +//************************************************************************************************************* +DuelQueryDuration = 600; +ChallengeSpawnZones = +{ + "pvp_challenge_fyros_spawn_1", + "pvp_challenge_fyros_spawn_2", +}; + +PVPMeleeCombatDamageFactor = 1.0; +PVPRangeCombatDamageFactor = 1.0; +PVPMagicDamageFactor = 1.0; + +TimeForSetPVPFlag = 1000; +TimeForResetPVPFlag = 1000; +TimeForPVPFlagOff = 1000; +PVPActionTimer = 1000; + +TotemBuildTime = 1000; +TotemRebuildWait = 1000; + +ResPawnPVPInSameRegionForbiden = 1; // 1 is player character can't respawn in same region of there death in faction PvP. + +BuildSpireActive = 1; + + +// max distance from PvP combat to gain PvP points (faction and HoF points) from team PvP kills (in meters) +MaxDistanceForPVPPointsGain = 5.0; +// minimum delta level used to compute the faction points gain +MinPVPDeltaLevel = -5; +// maximum delta level used to compute the faction points gain +MaxPVPDeltaLevel = 5; +// for team PvP progression add this value to the faction points divisor for each team member above one +PVPTeamMemberDivisorValue = 1.0; +// it is the base used in faction point gain formula +PVPFactionPointBase = 5.0; +// it is the base used in HoF point gain formula +PVPHoFPointBase = 5.0; +// in faction PvP the killed players loses the faction points gained per killer multiplied by this factor +PVPFactionPointLossFactor = 0.5; +// in faction PvP the killed players loses the HoF points gained per killer multiplied by this factor +PVPHoFPointLossFactor = 0.5; +// players will not get any point for the same PvP kill for this time in seconds +TimeWithoutPointForSamePVPKill = 100; + +VerboseFactionPoint = 0; + +//************************************************************************************************************* +// Outpost +//************************************************************************************************************* +// Global flag to activate outpost challenge system +LoadOutposts = 1; +// Outpost saving period in tick (1 outpost saved at a time) +OutpostSavingPeriod = 10; +// Period in ticks between 2 updates of the same outpost +OutpostUpdatePeriod = 10; +// Set if the outpost drillers generate mps or not +EnableOutpostDrillerMPGeneration = 1; +// Production time of mp in the driller (in seconds) +OutpostDrillerTimeUnit = 10*60*24; // per day +// Delay in ticks used to check if 2 actions for editing an outpost are concurrent +OutpostEditingConcurrencyCheckDelay = 10; +// Period in seconds between 2 updates of outpost timers on clients +OutpostClientTimersUpdatePeriod = 10; +// Number of rounds in an outpost fight +OutpostFightRoundCount = 10; +// Time of a round in an outpost fight, in seconds +OutpostFightRoundTime = 1*60; +// Time to decrement an outpost level in seconds (in peace time) +OutpostLevelDecrementTime = 60*60*24*1; +// Delay in ticks used to check if 2 actions for editing an outpost are concurrent +OutpostEditingConcurrencyCheckDelay = 10; +// Time of each outpost state (challenge, beforeAttack, afterAttack, beforeDefense, afterDefense), in seconds. If 0 default computed value is used. +OutpostStateTimeOverride = 0; +// Max time the player has to answer the JoinPvp Window, in seconds +OutpostJoinPvpTimer = 10; +// Time range before next attack period in which a service reboot will cancel the challenge, in seconds +OutpostRangeForCancelOnReset = 60*60*1; +// Max number of outposts per guild (DO NOT exceed outpost count in database.xml) +GuildMaxOutpostCount = 10; +//************************************************************************************************************* + +MonoMissionTimout = 144000; +VerboseMissions = 0; +MissionLogFile = "egs_missions.log"; +MissionPrerequisitsEnabled = 1; +CheckCharacterVisitPlacePeriodGC = 64; + +// This icon will be used for missions with an invalid mission icon. If +// default icon is invalid too mission will not be displayed at all on client. +DefaultMissionIcon = "generic_rite"; + +// Mission states is read from file mission_validation.cfg. The EGS will load +// only the files which state is in ValidMissionStates list. If that list +// contains the keyword "All" all missions will be loaded. +ValidMissionStates = { + "All", +// "Disabled", +// "Test", +// "Valid", +}; + +StoreBotNames = 1; + +Tocking = 1; + +// unlimited death pact for internal testing +UnlimitedDeathPact = 1; + +//ignore race prerequisits for missions +IgnoreMissionRacePrerequisits = 1; + +// Max distance allowed for bot chat & dyn chat +MaxBotChatDistanceM = 5; + +//zone types that must be set as triggers +TriggerZoneTypes = { "place","region" }; + +// PeopleAutorized 1:fyros 2:matis 4:tryker 8:zorai + + +StartCommandsWhenMirrorReady = +{ + "PeopleAutorized 255", +}; + +// set the world instance activity verbosity +VerboseWorldInstance = 0; + +// set the shop category parser verbosity +VerboseShopParsing = 0; + +// Checking coherency between saved players and CEntityIdTranslator map, may be slow, so put to 0 if you want +CheckEntityIdTranslatorCoherency = 0; + +// Filename that contains the list of invalid entity names +InvalidEntityNamesFilename = "invalid_entity_names.txt"; + +ForageKamiAngerThreshold1 = 10000; +ForageKamiAngerThreshold2 = 10000; +ForageKamiAngerDecreasePerHour = 900.0; +ForageKamiAngerPunishDamage = 5000; + +ForageValidateSourcesSpawnPos = 1; +AutoSpawnForageSourcePeriodOverride = 0; +ForageKamiAngerOverride = 0; +ForageSiteStock = 100; +ForageSiteNbUpdatesToLive = 10; +ForageSiteRadius = 10.0; +ForageExtractionTimeMinGC = 230.0; +ForageExtractionTimeSlopeGC = 2.0; +ForageQuantityBaseRate = 0; +ForageQuantityBrick1 = 0.5; +ForageQuantityBrick2 = 0.5; +ForageQuantityBrick3 = 0.5; +ForageQuantityBrick4 = 0.5; +ForageQuantityBrick5 = 0.5; +ForageQuantityBrick6 = 0.5; +ForageQuantityBrick7 = 0.5; +ForageQuantityBrick8 = 0.5; +ForageQuantityBrick9 = 0.5; +ForageQuantityBrick10 = 0.5; +ForageQuantityBrick11 = 0.5; +ForageQuantityBrick12 = 0.5; +ForageQuantitySlowFactor = 0.5; +ForageQualitySlowFactor = 1.50; +ForageQualitySlowFactorQualityLevelRatio = 0.1; +ForageQualitySlowFactorDeltaLevelRatio = 0.1; +ForageQualitySlowFactorMatSpecRatio = 0.1; +ForageQualityCeilingFactor = 1.0; +ForageQualityCeilingClamp = 1; +ForageQuantityImpactFactor = 20.0; +ForageQualityImpactFactor = 1.5; +ForageExtractionAbsorptionMatSpecFactor = 5.0; +ForageExtractionAbsorptionMatSpecMax = 1.0; +ForageExtractionCareMatSpecFactor = 1.0; +ForageExtractionAbsorptionEcoSpecFactor = 5.0; +ForageExtractionAbsorptionEcoSpecMax = 1.0; +ForageExtractionCareEcoSpecFactor = 1.0; +ForageExtractionNaturalDDeltaPerTick = 0.1; +ForageExtractionNaturalEDeltaPerTick = 0.1; +ForageCareFactor = 5.0; +ForageCareBeginZone = 5.0; +ForageHPRatioPerSourceLifeImpact = 0.005; +ForageExplosionDamage = 5000.0; +ToxicCloudDamage = 500.0; +ForageCareSpeed = 0.05; +ForageKamiOfferingSpeed = 0.01; +ForageDebug = 0; +ForageSourceSpawnDelay = 50; +ForageFocusRatioOfLocateDeposit = 10; +ForageFocusAutoRegenRatio = 1.0; +ForageReduceDamageTimeWindow = 50; +ForageExtractionXPFactor = 10.0; +ForageQuantityXPDeltaLevelBonusRate = 1.0; +ForageProspectionXPBonusRatio = 0.1; +ForageExtractionNbParticipantsXPBonusRatio = 0.1; +ForageExtractionNastyEventXPMalusRatio = 0.1; + +QuarteringQuantityAverageForCraftHerbivore = 2.0; +QuarteringQuantityAverageForCraftCarnivore = 5.0; +QuarteringQuantityAverageForMissions = 1.0; +QuarteringQuantityAverageForBoss5 = 10; +QuarteringQuantityAverageForBoss7 = 50; +QuarteringQuantityForInvasion5 = 50; +QuarteringQuantityForInvasion7 = 100; + +LootMoneyAmountPerXPLevel = 10.0; + +VerboseQuartering = 0; + +// Shutdown handling + +// Time to shutdown server in minutes +ShutdownCounter = 5; + +// Time between to shutdown messages in seconds +BroadcastShutdownMessageRate = 30; + +// Time to shutdown to close access to welcome service, in seconds +CloseShardAccessAt = 300; + +// Persistent Logging + +DatabaseId = 0; + +// delay during character stay in game after disconnection +TimeBeforeDisconnection = 300; + +// File that contains the privileges for client commands +ClientCommandsPrivilegesFile = "client_commands_privileges.txt"; + +// File that contains the info on the current event on the server +GameEventFile = "game_event.txt"; + +// Privilege needed for banner +BannerPriv = ":G:SG:GM:SGM:"; +// Privilege that never aggro the bots +NeverAggroPriv = ":OBSERVER:G:SG:GM:SGM:EM:"; +// Privilege always invisible +AlwaysInvisiblePriv = ":OBSERVER:EM:"; +// Privilege to teleport with a mektoub +TeleportWithMektoubPriv = ":GM:SGM:DEV:"; +// Privilege that forbid action execution +NoActionAllowedPriv = ":OBSERVER"; +// Privilege that bypass value and score checking +NoValueCheckingPriv = ":GM:SGM:DEV:EM:EG:"; +// Privilege that prevent being disconnected in case of shard closing for technical problem +NoForceDisconnectPriv = ":GM:SGM:DEV:"; + +// File used to save position flags +PositionFlagsFile = "position_flags.xml"; + +// load PVP zones from primitives? +LoadPVPFreeZones = 1; +LoadPVPVersusZones = 1; +LoadPVPGuildZones = 1; + +// buffer time in ticks used when entering/leaving a PVP zone +PVPZoneEnterBufferTime = 300; +PVPZoneLeaveBufferTime = 1200; +PVPZoneWarningRepeatTime = 50; +PVPZoneWarningRepeatTimeL = 3000; + +// If 1, use the Death Penalty factor from the PVPZone primitive, else no death penalty +PVPZoneWithDeathPenalty = 1; + +// if 1, pvp duel/challenge will be disabled +DisablePVPDuel = 0; +DisablePVPChallenge = 1; + +// Fame Variables +// All values are multiplied by 6000 compared to values displayed on the client. +FameMinToDeclare = 600000; +FameWarningLevel = 60000; +FameMinToRemain = 0; +FameMinToTrade = -600000; +FameMinToKOS = -600000; +FameMaxDefault = 600000; +FameAbsoluteMin = -600000; +FameAbsoluteMax = 600000; + +FameStartFyrosvFyros = 600000; +FameStartFyrosvMatis = -600000; +FameStartFyrosvTryker = -60000; +FameStartFyrosvZorai = 60000; +FameStartMatisvFyros = -600000; +FameStartMatisvMatis = 600000; +FameStartMatisvTryker = 60000; +FameStartMatisvZorai = -60000; +FameStartTrykervFyros = -60000; +FameStartTrykervMatis = 60000; +FameStartTrykervTryker = 600000; +FameStartTrykervZorai = -600000; +FameStartZoraivFyros = 60000; +FameStartZoraivMatis = -60000; +FameStartZoraivTryker = -600000; +FameStartZoraivZorai = 600000; +FameStartFyrosvKami = 60000; +FameStartFyrosvKaravan = -60000; +FameStartMatisvKami = -600000; +FameStartMatisvKaravan = 600000; +FameStartTrykervKami = -60000; +FameStartTrykervKaravan = 60000; +FameStartZoraivKami = 600000; +FameStartZoraivKaravan = -600000; + +FameMaxNeutralvFyros = 600000; +FameMaxNeutralvMatis = 600000; +FameMaxNeutralvTryker = 600000; +FameMaxNeutralvZorai = 600000; +FameMaxFyrosvFyros = 600000; +FameMaxFyrosvMatis = 0; +FameMaxFyrosvTryker = 600000; +FameMaxFyrosvZorai = 600000; +FameMaxMatisvFyros = 0; +FameMaxMatisvMatis = 600000; +FameMaxMatisvTryker = 600000; +FameMaxMatisvZorai = 600000; +FameMaxTrykervFyros = 600000; +FameMaxTrykervMatis = 600000; +FameMaxTrykervTryker = 600000; +FameMaxTrykervZorai = 0; +FameMaxZoraivFyros = 600000; +FameMaxZoraivMatis = 600000; +FameMaxZoraivTryker = 0000; +FameMaxZoraivZorai = 600000; +FameMaxNeutralvKami = 600000; +FameMaxNeutralvKaravan = 600000; +FameMaxKamivKami = 600000; +FameMaxKamivKaravan = -600000; +FameMaxKaravanvKami = -600000; +FameMaxKaravanvKaravan = 600000; + +// Log switches, turns nlinfo on/off +NameManagerLogEnabled = 1; +GameItemLogEnabled = 1; +EntityCallbacksLogEnabled = 1; +EntityManagerLogEnabled = 1; +GuildManagerLogEnabled = 1; +ForageExtractionLogEnabled = 0; +PhraseManagerLogEnabled = 1; +CharacterLogEnabled = 1; +PlayerLogEnabled = 1; +ShoppingLogEnabled = 0; +PVPLogEnabled = 1; +PersistentPlayerDataLogEnabled = 0; + +DailyShutdownSequenceTime = ""; +DailyShutdownBroadcastMessage = "The shard will be shut down in 1 minute"; +DailyShutdownCounterMinutes = 1; +CheckShutdownPeriodGC = 50; + +PlayerChannelHistoricSize = 50; + +FlushSendingQueuesOnExit = 1; +NamesOfOnlyServiceToFlushSending = "BS"; + +// stat database save period in ticks +StatDBSavePeriod = 20; + +// New Newbieland +UseNewNewbieLandStartingPoint= 1; + +// The domain mainlands configuration +Mainlands = { + "302", "Open", "(Open Developer Community)", "en", +}; diff --git a/code/ryzom/server/frontend_service_default.cfg b/code/ryzom/server/frontend_service_default.cfg index cca2d9787..b87682906 100644 --- a/code/ryzom/server/frontend_service_default.cfg +++ b/code/ryzom/server/frontend_service_default.cfg @@ -1,104 +1,104 @@ -#include "common.cfg" - -// Configure module gateway for front end operation -StartCommands += -{ - // Add a security plugin (will add player info on player module proxy) - "gw.securityCreate FESecurity", - // create a front end service transport - "gw.transportAdd FEServer fes", - // set the transport option (need PeerInvisible and Firewalled) - "gw.transportOptions fes(PeerInvisible Firewalled)", - // open the transport - "gw.transportCmd fes(open)", -}; - - -// UDP port for client communication -//FrontendPort = 47851; - -ListenAddress = FSListenHost+":"+FSUDPPort; - -// Maximum size that can be read from a client message -DatagramLength = 10000; - -// Time-out before removing a client when it does not send any more data -ClientTimeOut = 600000; // 10 min - -// Time-out before removing a limbo client when it does not send any more data -LimboTimeOut = 60000; // 1 min - -// Maximum bytes per game cycle sent to all clients (currently not used/implemented) -TotalBandwidth = 536870911; // <512 MB : max value for 32 bit bitsize ! - -// Maximum bytes per game cycle sent to a client, including all headers -ClientBandwidth = 332 * BandwidthRatio; // 332 <=> 13 kbit/s at 5 Hz; 202 <=> 16 kbit/s at 10 Hz - -// Maximum bytes for impulsion channels per datagram sent to a client -ImpulsionByteSize0 = 20 * BandwidthRatio; -ImpulsionByteSize1 = 200 * BandwidthRatio; -ImpulsionByteSize2 = 200 * BandwidthRatio; -NbMinimalVisualBytes = 50; - -// Distance/delta ratio that triggers the sending of a position -DistanceDeltaRatioForPos = 100; - -// Number of game cycles per front-end cycle -GameCycleRatio = 1; -// Execution period of distance calculation -CalcDistanceExecutionPeriod = 8; -// Execution period of position prioritization -PositionPrioExecutionPeriod = 2; -// Execution period of orientation prioritization -OrientationPrioExecutionPeriod = 8; -// Execution period of discreet properties prioritization -DiscreetPrioExecutionPeriod = 2; - -SortPrioExecutionPeriod = 1; - -// Display or not the "FE" nlinfos -DisplayInfo = 1; - -// Prioritizer mode (currently the only mode is 1 for DistanceDelta) -PriorityMode = 1; - -// Strategy for selecting pairs to prioritize (Power2WithCeiling=0, Scoring=1) -SelectionStrategy = 1; - -// Minimum number of pairs to select for prioritization -MinNbPairsToSelect = 2000; - -// Index of client to monitor, or 0 for no monitoring -ClientMonitor = 0; - -// Allow or not beeping -AllowBeep = 1; - -Lag = 0; // The lag on the simulated network (used by simlag) -PacketLoss = 0; // percentage of lost packet (used by simlag) -PacketDuplication = 0; // percentage of duplicated packet (used by simlag) -PacketDisordering = 0; // percentage of disordered packet (used by simlag) (Lag must be >100 to use disordering) - -// ---------------------------------------- -// Frontend/Patch mode settings - -// If 1, the frontend server is used in Patch/Frontend mode (0 = only frontend mode, old behaviour) -UseWebPatchServer = 1; - -// If 0, the frontend service is in Patch mode at startup, and it won't accept clients unless WS tells it to do so. -AcceptClientsAtStartup = 1; - -// Patch URL footer. PatchURL will look like 'http://223.254.124.23:43435/patch' -PatchingURLFooter = ":43435/patch"; - -// System command to be executed when FS tries to start Web Patch server (ideally at FS startup) -StartWebServerSysCommand = ""; - -// System command to be executed when FS tries to stop Web Patch server (ideally when FS turns to frontend mode) -StopWebServerSysCommand = ""; - -// Use Thread for sending -UseSendThread = 1; - -// Unidirectional Mirror mode (FS part) -ExpediteTOCK = 1; +#include "common.cfg" + +// Configure module gateway for front end operation +StartCommands += +{ + // Add a security plugin (will add player info on player module proxy) + "gw.securityCreate FESecurity", + // create a front end service transport + "gw.transportAdd FEServer fes", + // set the transport option (need PeerInvisible and Firewalled) + "gw.transportOptions fes(PeerInvisible Firewalled)", + // open the transport + "gw.transportCmd fes(open)", +}; + + +// UDP port for client communication +//FrontendPort = 47851; + +ListenAddress = FSListenHost+":"+FSUDPPort; + +// Maximum size that can be read from a client message +DatagramLength = 10000; + +// Time-out before removing a client when it does not send any more data +ClientTimeOut = 600000; // 10 min + +// Time-out before removing a limbo client when it does not send any more data +LimboTimeOut = 60000; // 1 min + +// Maximum bytes per game cycle sent to all clients (currently not used/implemented) +TotalBandwidth = 536870911; // <512 MB : max value for 32 bit bitsize ! + +// Maximum bytes per game cycle sent to a client, including all headers +ClientBandwidth = 332 * BandwidthRatio; // 332 <=> 13 kbit/s at 5 Hz; 202 <=> 16 kbit/s at 10 Hz + +// Maximum bytes for impulsion channels per datagram sent to a client +ImpulsionByteSize0 = 20 * BandwidthRatio; +ImpulsionByteSize1 = 200 * BandwidthRatio; +ImpulsionByteSize2 = 200 * BandwidthRatio; +NbMinimalVisualBytes = 50; + +// Distance/delta ratio that triggers the sending of a position +DistanceDeltaRatioForPos = 100; + +// Number of game cycles per front-end cycle +GameCycleRatio = 1; +// Execution period of distance calculation +CalcDistanceExecutionPeriod = 8; +// Execution period of position prioritization +PositionPrioExecutionPeriod = 2; +// Execution period of orientation prioritization +OrientationPrioExecutionPeriod = 8; +// Execution period of discreet properties prioritization +DiscreetPrioExecutionPeriod = 2; + +SortPrioExecutionPeriod = 1; + +// Display or not the "FE" nlinfos +DisplayInfo = 1; + +// Prioritizer mode (currently the only mode is 1 for DistanceDelta) +PriorityMode = 1; + +// Strategy for selecting pairs to prioritize (Power2WithCeiling=0, Scoring=1) +SelectionStrategy = 1; + +// Minimum number of pairs to select for prioritization +MinNbPairsToSelect = 2000; + +// Index of client to monitor, or 0 for no monitoring +ClientMonitor = 0; + +// Allow or not beeping +AllowBeep = 1; + +Lag = 0; // The lag on the simulated network (used by simlag) +PacketLoss = 0; // percentage of lost packet (used by simlag) +PacketDuplication = 0; // percentage of duplicated packet (used by simlag) +PacketDisordering = 0; // percentage of disordered packet (used by simlag) (Lag must be >100 to use disordering) + +// ---------------------------------------- +// Frontend/Patch mode settings + +// If 1, the frontend server is used in Patch/Frontend mode (0 = only frontend mode, old behaviour) +UseWebPatchServer = 1; + +// If 0, the frontend service is in Patch mode at startup, and it won't accept clients unless WS tells it to do so. +AcceptClientsAtStartup = 1; + +// Patch URL footer. PatchURL will look like 'http://223.254.124.23:43435/patch' +PatchingURLFooter = ":43435/patch"; + +// System command to be executed when FS tries to start Web Patch server (ideally at FS startup) +StartWebServerSysCommand = ""; + +// System command to be executed when FS tries to stop Web Patch server (ideally when FS turns to frontend mode) +StopWebServerSysCommand = ""; + +// Use Thread for sending +UseSendThread = 1; + +// Unidirectional Mirror mode (FS part) +ExpediteTOCK = 1; diff --git a/code/ryzom/server/gpm_service_default.cfg b/code/ryzom/server/gpm_service_default.cfg index a6835c65c..ad6099f24 100644 --- a/code/ryzom/server/gpm_service_default.cfg +++ b/code/ryzom/server/gpm_service_default.cfg @@ -1,7 +1,7 @@ -#include "common.cfg" - -CheckPlayerSpeed = 0; -SecuritySpeedFactor = 1.5; - -LoadPacsPrims = 0; -LoadPacsCol = 1; +#include "common.cfg" + +CheckPlayerSpeed = 0; +SecuritySpeedFactor = 1.5; + +LoadPacsPrims = 0; +LoadPacsCol = 1; diff --git a/code/ryzom/server/input_output_service_default.cfg b/code/ryzom/server/input_output_service_default.cfg index 54aaaafe8..ee100d367 100644 --- a/code/ryzom/server/input_output_service_default.cfg +++ b/code/ryzom/server/input_output_service_default.cfg @@ -1,95 +1,95 @@ -#include "common.cfg" - -// ---- service NeL variables (used by ConfigFile class) - -StartCommands += -{ - // L5 connect to the shard unifier - "unifiedNetwork.addService ShardUnifier ( address="+SUAddress+" sendId external autoRetry )", - - // Create a gateway for global interconnection - // modules from different shard are visible to each other if they connect to - // this gateway. SU Local module have no interest to be plugged here. - "moduleManager.createModule StandardGateway glob_gw", - // add a layer 3 server transport - "glob_gw.transportAdd L3Client l3c", - // open the transport - "glob_gw.transportCmd l3c(connect addr="+SUHost+":"+SUGlobalPort+")", - - // Create a gateway for logger service connection - "moduleManager.createModule StandardGateway lgs_gw", - - // add a layer 3 server transport for master logger service - "lgs_gw.transportAdd L3Client masterL3c", - // open the transport - "lgs_gw.transportCmd masterL3c(connect addr="+MasterLGSHost+":"+L3MasterLGSPort+")", -}; - -#ifndef DONT_USE_LGS_SLAVE - -StartCommands += -{ - // add a layer 3 server transport for slave logger service - "lgs_gw.transportAdd L3Client slaveL3c", - // open the transport - "lgs_gw.transportCmd slaveL3c(connect addr="+SlaveLGSHost+":"+L3SlaveLGSPort+")", -}; - -#endif - -StartCommands += -{ - // Create a chat unifier client - "moduleManager.createModule ChatUnifierClient cuc", - - // and plug it on the gateway to reach the SU ChatUnifierServer - "cuc.plug glob_gw", - "cuc.plug gw", - - // Create the logger service client module - "moduleManager.createModule LoggerServiceClient lsc", - "lsc.plug lgs_gw", -}; - -#endif - -// ---- service NeL variables (used by CVariable class) - -// ---- service custom variables (used by ConfigFile class) - -// a list of system command that can be run with "sysCmd" service command. -SystemCmd = {}; - -// IOS don't use work directory by default -ReadTranslationWork = 0; -TranslationWorkPath = "translation/work"; - -// Global shard bot name translation file. You sould overide this -// in input_output_service.cfg to specialize the file -// depending on the shard main language. -BotNameTranslationFile = "bot_names.txt"; - -// Global shard event faction translation file. You sould override this -// in input_output_service.cfg to specialize the file -// depending on the shard main language. -EventFactionTranslationFile = "event_factions.txt"; - - -// ---- service custom variables (used by CVariable class) - -// Activate/deactivate debugging of missing paremeter replacement -DebugReplacementParameter = 1; - -// Default verbose debug flags: -//----------------------------- - -// Log bot name translation from 'BotNameTranslationFile' -VerboseNameTranslation = 1; -// Log chat management operation -VerboseChatManagement = 1; -// Log chat event -VerboseChat = 1; -// Log string manager message -VerboseStringManager = 1; -// Log the string manager parsing message -VerboseStringManagerParser = 0; +#include "common.cfg" + +// ---- service NeL variables (used by ConfigFile class) + +StartCommands += +{ + // L5 connect to the shard unifier + "unifiedNetwork.addService ShardUnifier ( address="+SUAddress+" sendId external autoRetry )", + + // Create a gateway for global interconnection + // modules from different shard are visible to each other if they connect to + // this gateway. SU Local module have no interest to be plugged here. + "moduleManager.createModule StandardGateway glob_gw", + // add a layer 3 server transport + "glob_gw.transportAdd L3Client l3c", + // open the transport + "glob_gw.transportCmd l3c(connect addr="+SUHost+":"+SUGlobalPort+")", + + // Create a gateway for logger service connection + "moduleManager.createModule StandardGateway lgs_gw", + + // add a layer 3 server transport for master logger service + "lgs_gw.transportAdd L3Client masterL3c", + // open the transport + "lgs_gw.transportCmd masterL3c(connect addr="+MasterLGSHost+":"+L3MasterLGSPort+")", +}; + +#ifndef DONT_USE_LGS_SLAVE + +StartCommands += +{ + // add a layer 3 server transport for slave logger service + "lgs_gw.transportAdd L3Client slaveL3c", + // open the transport + "lgs_gw.transportCmd slaveL3c(connect addr="+SlaveLGSHost+":"+L3SlaveLGSPort+")", +}; + +#endif + +StartCommands += +{ + // Create a chat unifier client + "moduleManager.createModule ChatUnifierClient cuc", + + // and plug it on the gateway to reach the SU ChatUnifierServer + "cuc.plug glob_gw", + "cuc.plug gw", + + // Create the logger service client module + "moduleManager.createModule LoggerServiceClient lsc", + "lsc.plug lgs_gw", +}; + +#endif + +// ---- service NeL variables (used by CVariable class) + +// ---- service custom variables (used by ConfigFile class) + +// a list of system command that can be run with "sysCmd" service command. +SystemCmd = {}; + +// IOS don't use work directory by default +ReadTranslationWork = 0; +TranslationWorkPath = "translation/work"; + +// Global shard bot name translation file. You sould overide this +// in input_output_service.cfg to specialize the file +// depending on the shard main language. +BotNameTranslationFile = "bot_names.txt"; + +// Global shard event faction translation file. You sould override this +// in input_output_service.cfg to specialize the file +// depending on the shard main language. +EventFactionTranslationFile = "event_factions.txt"; + + +// ---- service custom variables (used by CVariable class) + +// Activate/deactivate debugging of missing paremeter replacement +DebugReplacementParameter = 1; + +// Default verbose debug flags: +//----------------------------- + +// Log bot name translation from 'BotNameTranslationFile' +VerboseNameTranslation = 1; +// Log chat management operation +VerboseChatManagement = 1; +// Log chat event +VerboseChat = 1; +// Log string manager message +VerboseStringManager = 1; +// Log the string manager parsing message +VerboseStringManagerParser = 0; diff --git a/code/ryzom/server/mail_forum_service_default.cfg b/code/ryzom/server/mail_forum_service_default.cfg index cd986d964..ec2556ec6 100644 --- a/code/ryzom/server/mail_forum_service_default.cfg +++ b/code/ryzom/server/mail_forum_service_default.cfg @@ -1,29 +1,29 @@ -#include "common.cfg" - -// ---- service NeL variables (used by ConfigFile class) - -DontUseNS = 1; - -// ---- service NeL variables (used by CVariable class) - -// ---- service custom variables (used by ConfigFile class) - - -// ---- service custom variables (used by CVariable class) - -WebRootDirectory = "save_shard/www"; - -// Set if Hall of Fame generator is enabled -HoFEnableGenerator = 1; - -// Set if HoF generator is verbose -HoFVerbose = 0; - -// Directory where HDT files are -HoFHDTDirectory = "/local/www/hof/hdt"; - -// HoF generator maximum update period in milliseconds -HoFGeneratorUpdatePeriod = 200; - -// HoF generator directory update period in seconds -HoFGeneratorDirUpdatePeriod = 60; +#include "common.cfg" + +// ---- service NeL variables (used by ConfigFile class) + +DontUseNS = 1; + +// ---- service NeL variables (used by CVariable class) + +// ---- service custom variables (used by ConfigFile class) + + +// ---- service custom variables (used by CVariable class) + +WebRootDirectory = "save_shard/www"; + +// Set if Hall of Fame generator is enabled +HoFEnableGenerator = 1; + +// Set if HoF generator is verbose +HoFVerbose = 0; + +// Directory where HDT files are +HoFHDTDirectory = "/local/www/hof/hdt"; + +// HoF generator maximum update period in milliseconds +HoFGeneratorUpdatePeriod = 200; + +// HoF generator directory update period in seconds +HoFGeneratorDirUpdatePeriod = 60; diff --git a/code/ryzom/server/mirror_service_default.cfg b/code/ryzom/server/mirror_service_default.cfg index 159ee90d4..fc517bbb9 100644 --- a/code/ryzom/server/mirror_service_default.cfg +++ b/code/ryzom/server/mirror_service_default.cfg @@ -1,6 +1,6 @@ -#include "common.cfg" - -// ---- service custom variables (used by ConfigFile class) - -// Linux only -DestroyGhostSegments = 1; +#include "common.cfg" + +// ---- service custom variables (used by ConfigFile class) + +// Linux only +DestroyGhostSegments = 1; diff --git a/code/ryzom/server/naming_service_default.cfg b/code/ryzom/server/naming_service_default.cfg index bb1afcd16..354f2df3c 100644 --- a/code/ryzom/server/naming_service_default.cfg +++ b/code/ryzom/server/naming_service_default.cfg @@ -1,7 +1,7 @@ -#include "common.cfg" - -SId = 1; -DontUseNS = 1; - -UniqueOnShardServices = {}; // { "EGS", "GPMS", "IOS", "TICKS", "WS", "AIS", "DSS" }; -UniqueByMachineServices = {}; // { "MS" }; +#include "common.cfg" + +SId = 1; +DontUseNS = 1; + +UniqueOnShardServices = {}; // { "EGS", "GPMS", "IOS", "TICKS", "WS", "AIS", "DSS" }; +UniqueByMachineServices = {}; // { "MS" }; diff --git a/code/ryzom/server/session_browser_server.cfg b/code/ryzom/server/session_browser_server.cfg index 9dc54e077..05a05c6e2 100644 --- a/code/ryzom/server/session_browser_server.cfg +++ b/code/ryzom/server/session_browser_server.cfg @@ -37,7 +37,7 @@ DontUseSU = 0; HomeMainlandNames = { -"302", "Open", "open", + "302", "Open", "open", }; // The max number of ring points (aka ring access) for each ecosystem diff --git a/code/ryzom/server/session_browser_server_default.cfg b/code/ryzom/server/session_browser_server_default.cfg index e31baddc5..60d639fe1 100644 --- a/code/ryzom/server/session_browser_server_default.cfg +++ b/code/ryzom/server/session_browser_server_default.cfg @@ -1 +1 @@ -#include "common.cfg" +#include "common.cfg" diff --git a/code/ryzom/server/shard_unifier_service_default.cfg b/code/ryzom/server/shard_unifier_service_default.cfg index 7e35b61f9..a46bf0d95 100644 --- a/code/ryzom/server/shard_unifier_service_default.cfg +++ b/code/ryzom/server/shard_unifier_service_default.cfg @@ -1,33 +1,33 @@ -#include "common.cfg" - -DontUseNS = 1; - -StartCommands += -{ - // Create a gateway for global interconnection - // modules from different shard are visible to each other if they connect to - // this gateway. SU Local module have no interest to be plugged here. - "moduleManager.createModule StandardGateway glob_gw", - // add a layer 3 server transport - "glob_gw.transportAdd L3Server l3s", - // open the transport - "glob_gw.transportCmd l3s(open port="+SUGlobalPort+")", - // Create a session manager module - "moduleManager.createModule RingSessionManager rsm web(port=49999) ring_db(host="+DBHost+" user="+DBRingUser+" password="+DBRingPass+" base="+DBRingName+") nel_db(host="+DBHost+" user="+DBNelUser+" password="+DBNelPass+" base="+DBNelName+")", - "rsm.plug gw", - // Create a login service module - "moduleManager.createModule LoginService ls ring_db(host="+DBHost+" user="+DBRingUser+" password="+DBRingPass+" base="+DBRingName+") web(port=49998) nel_db(host="+DBHost+" user="+DBNelUser+" password="+DBNelPass+" base="+DBNelName+")", - "ls.plug gw", - // Create a character synchronization module - "moduleManager.createModule CharacterSynchronisation cs fake_edit_char ring_db(host="+DBHost+" user="+DBRingUser+" password="+DBRingPass+" base="+DBRingName+")", - "cs.plug gw", - // Create entity locator module - "moduleManager.createModule EntityLocator el ring_db(host="+DBHost+" user="+DBRingUser+" password="+DBRingPass+" base="+DBRingName+") nel_db(host="+DBHost+" user="+DBNelUser+" password="+DBNelPass+" base="+DBNelName+")", - "el.plug gw", - // Create a mail forum notifier forwarder - "moduleManager.createModule MailForumNotifierFwd mfnfwd ring_db(host="+DBHost+" user="+DBRingUser+" password="+DBRingPass+" base="+DBRingName+") web(port=49897)", - "mfnfwd.plug gw", - // Create a chat unifier server module - "moduleManager.createModule ChatUnifierServer cus ring_db(host="+DBHost+" user="+DBRingUser+" password="+DBRingPass+" base="+DBRingName+")", - "cus.plug gw", -}; +#include "common.cfg" + +DontUseNS = 1; + +StartCommands += +{ + // Create a gateway for global interconnection + // modules from different shard are visible to each other if they connect to + // this gateway. SU Local module have no interest to be plugged here. + "moduleManager.createModule StandardGateway glob_gw", + // add a layer 3 server transport + "glob_gw.transportAdd L3Server l3s", + // open the transport + "glob_gw.transportCmd l3s(open port="+SUGlobalPort+")", + // Create a session manager module + "moduleManager.createModule RingSessionManager rsm web(port=49999) ring_db(host="+DBHost+" user="+DBRingUser+" password="+DBRingPass+" base="+DBRingName+") nel_db(host="+DBHost+" user="+DBNelUser+" password="+DBNelPass+" base="+DBNelName+")", + "rsm.plug gw", + // Create a login service module + "moduleManager.createModule LoginService ls ring_db(host="+DBHost+" user="+DBRingUser+" password="+DBRingPass+" base="+DBRingName+") web(port=49998) nel_db(host="+DBHost+" user="+DBNelUser+" password="+DBNelPass+" base="+DBNelName+")", + "ls.plug gw", + // Create a character synchronization module + "moduleManager.createModule CharacterSynchronisation cs fake_edit_char ring_db(host="+DBHost+" user="+DBRingUser+" password="+DBRingPass+" base="+DBRingName+")", + "cs.plug gw", + // Create entity locator module + "moduleManager.createModule EntityLocator el ring_db(host="+DBHost+" user="+DBRingUser+" password="+DBRingPass+" base="+DBRingName+") nel_db(host="+DBHost+" user="+DBNelUser+" password="+DBNelPass+" base="+DBNelName+")", + "el.plug gw", + // Create a mail forum notifier forwarder + "moduleManager.createModule MailForumNotifierFwd mfnfwd ring_db(host="+DBHost+" user="+DBRingUser+" password="+DBRingPass+" base="+DBRingName+") web(port=49897)", + "mfnfwd.plug gw", + // Create a chat unifier server module + "moduleManager.createModule ChatUnifierServer cus ring_db(host="+DBHost+" user="+DBRingUser+" password="+DBRingPass+" base="+DBRingName+")", + "cus.plug gw", +}; diff --git a/code/ryzom/server/tick_service_default.cfg b/code/ryzom/server/tick_service_default.cfg index 07ed6f2fb..d4c8630ee 100644 --- a/code/ryzom/server/tick_service_default.cfg +++ b/code/ryzom/server/tick_service_default.cfg @@ -1,8 +1,8 @@ -#include "common.cfg" - -/// A list of vars to graph for TS -GraphVars += -{ - "TotalSpeedLoop", "60000", // low rez, every minutes - "TotalSpeedLoop", "0", // high rez, every tick -}; +#include "common.cfg" + +/// A list of vars to graph for TS +GraphVars += +{ + "TotalSpeedLoop", "60000", // low rez, every minutes + "TotalSpeedLoop", "0", // high rez, every tick +}; diff --git a/code/ryzom/server/welcome_service_default.cfg b/code/ryzom/server/welcome_service_default.cfg index ecce7710c..172a8ec34 100644 --- a/code/ryzom/server/welcome_service_default.cfg +++ b/code/ryzom/server/welcome_service_default.cfg @@ -1,38 +1,38 @@ -#include "common.cfg" - -// short name of the frontend service -FrontendServiceName = "FS"; - -// in ring architecture, we no more use the legacy LS -DontUseLS = 1; - -// if any of this services is not connected, the WS is closed. -ExpectedServices = { "FS", "MS", "EGS", "GPMS", "IOS", "TICKS" }; - -// Access level to shard -// 0: only dev -// 1: dev + privileged users (see also OpenGroups variable) -// 2: open for all -ShardOpen = 2; - -// File that contains the ShardOpen value (used to override ShardOpen value through AES' command createFile) -// For instance, ShardOpen default value is 0, then AES creates a file to set ShardOpen to 2. If WS crashes, -// ShardOpen is still set to 2 when it relaunches... -// ShardOpenStateFile = "/tmp/shard_open_state"; - -// Privileged Groups -OpenGroups = ":GM:SGM:G:SG:GUEST:"; - -UsePatchMode = 0; - -// create welcome service module -StartCommands += -{ - // create the service - "moduleManager.createModule WelcomeService ws", - // plug it in the gateway - "ws.plug gw", - - // add the SU service - "unifiedNetwork.addService ShardUnifier ( address="+SUAddress+" sendId external autoRetry )", -}; +#include "common.cfg" + +// short name of the frontend service +FrontendServiceName = "FS"; + +// in ring architecture, we no more use the legacy LS +DontUseLS = 1; + +// if any of this services is not connected, the WS is closed. +ExpectedServices = { "FS", "MS", "EGS", "GPMS", "IOS", "TICKS" }; + +// Access level to shard +// 0: only dev +// 1: dev + privileged users (see also OpenGroups variable) +// 2: open for all +ShardOpen = 2; + +// File that contains the ShardOpen value (used to override ShardOpen value through AES' command createFile) +// For instance, ShardOpen default value is 0, then AES creates a file to set ShardOpen to 2. If WS crashes, +// ShardOpen is still set to 2 when it relaunches... +// ShardOpenStateFile = "/tmp/shard_open_state"; + +// Privileged Groups +OpenGroups = ":GM:SGM:G:SG:GUEST:"; + +UsePatchMode = 0; + +// create welcome service module +StartCommands += +{ + // create the service + "moduleManager.createModule WelcomeService ws", + // plug it in the gateway + "ws.plug gw", + + // add the SU service + "unifiedNetwork.addService ShardUnifier ( address="+SUAddress+" sendId external autoRetry )", +};