CVariable<bool>GuildSystemEnabled("egs","GuildSystemEnabled","bool enabling /disabling the GuildSystem",true,0,true);
CVariable<bool>MissionSystemEnabled("egs","MissionSystemEnabled","bool enabling /disabling the MissionSystem",true,0,true);
CVariable<bool>PackAnimalSystemEnabled("egs","PackAnimalSystemEnabled","bool enabling /disabling the PackAnimalSystem",true,0,true);
CVariable<bool>EnchantSystemEnabled("egs","EnchantSystemEnabled","bool enabling /disabling the EnchantSystem",true,0,true);
CVariable<bool>ForageSystemEnabled("egs","ForageSystemEnabled","bool enabling /disabling the ForageSystem",true,0,true);
CVariable<bool>CraftSystemEnabled("egs","CraftSystemEnabled","bool enabling /disabling the CraftSystem",true,0,true);
CVariable<bool>HarvestSystemEnabled("egs","HarvestSystemEnabled","bool enabling /disabling the HarvestSystem",true,0,true);
CVariable<uint32>DelayBeforeItemTP("egs","DelayBeforeItemTP","delay between item use and teleportation",150,0,true);
// XP/Progression config
CVariable<float>MaxDistanceForXpGain("egs","MaxDistanceForXpGain","max distance from combat to gain Xp at creature death (in meters)",50.0f,0,true);
CVariable<float>XPTeamMemberDivisorValue("egs","XPTeamMemberDivisorValue","for team XP progression, add this value to the xp divisor for each team member above one",0.9f,0,true);
CVariable<float>MaxXPGainPerPlayer("egs","MaxXPGainPerPlayer","Max XP gain by any one player on any creature (each team member can gain up to this value)",30.0f,0,true);
CVariable<uint32>NbTickForRegenCreature("egs","NbTickForRegenCreature","nb tick needed for regenerate scores of all creature (total creature / number regenerated per tick)",64,0,true);
// variable create Character Start skills value
CVariable<std::string>CreateCharacterStartSkillsValue("egs","CreateCharacterStartSkillsValue","create Character Start skills value",std::string(""),0,true);
// variable for death penalty duration
CVariable<double>DeathXPFactor("egs","DeathXPFactor","XP to gain after a death is DeathXPFactor * max skill /(1 + death index )",10,0,true);
// variable for death penalty resorption
CVariable<double>DeathXPResorptionTime("egs","DeathXPResorptionTime","XP resorbs totally after DeathXPResorptionTime / NbDeath",3,0,true);
// variable for min best skill value to get death penalty
CVariable<sint32>DeathPenaltyMinLevel("egs","DeathPenaltyMinLevel","No death penalty if best skill value is lesser than DeathPenaltyMinLevel",10,0,true);
// comma duration before character are dead (it's time allowed for resurect player buy a healing spell)
CVariable<uint32>CommaDelayBeforeDeath("egs","CommaDelayBeforeDeath","Comma time in server tick before a character dead",3000,0,true);
// variable define Max skill value can be reached, this not decrease skill value if this limit are reduce and player character have higher skills
CVariable<sint32>SkillFightValueLimiter("egs","SkillFightValueLimiter","Skill value limit",250,0,true);
CVariable<sint32>SkillMagicValueLimiter("egs","SkillMagicValueLimiter","Skill value limit",250,0,true);
CVariable<sint32>SkillCraftValueLimiter("egs","SkillCraftValueLimiter","Skill value limit",250,0,true);
CVariable<sint32>SkillHarvestValueLimiter("egs","SkillHarvestValueLimiter","Skill value limit",250,0,true);
// magic skill boost for low level chars
CVariable<uint32>MagicSkillStartValue("egs","MagicSkillStartValue","Minimum magic skill used for break cast and resist tests",20,0,true);
// variable define if areas effects are on or off
CVariable<bool>FightAreaEffectOn("egs","FightAreaEffectOn","Are effect for fight are active if variable = true",true,0,true);
CVariable<bool>MagicAreaEffectOn("egs","MagicAreaEffectOn","Are effect for magic are active if variable = true",true,0,true);
CVariable<bool>HarvestAreaEffectOn("egs","HarvestAreaEffectOn","Are effect for harvest (toxic cloud) are active if variable = true",true,0,true);
CVariable<uint32>MaxAreaTargetCount("egs","MaxAreaTargetCount","maximum number of target in an area effect spell/missile",6,0,true);
CVariable<bool>CorrectInvalidPlayerPositions("egs","CorrectInvalidPlayerPositions","If true, invalid player positions will be corrected if when a player logs in",true,0,true);
CVariable<uint32>MountDuration("egs","MountDuration","delay in ticks between mount order and player really mounted on creature",50,0,true);
CVariable<uint32>UnmountDuration("egs","UnmountDuration","delay in ticks between unmount order and player really unmounted from creature",30,0,true);
/// tod guild : put that to false when ben has debugged the system
CVariable<bool>DataPersistsAsText("egs","DataPersistsAsText","If true Persistant data will be stored as text",false,0,true);
CVariable<uint32>GuildSavingPeriod("egs","GuildSavingPeriod","guild saving period in ticks",10,0,true);
CVariable<uint32>StoreSavePeriod("egs","StoreSavePeriod","sell store save period in ticks",10,0,true);
// values used by the weapon table
CVariable<float>MinDamage("egs","MinDamage","Min damage (when skill 0), used by weapon damage table",25.0f,0,true);
CVariable<float>DamageStep("egs","DamageStep","Damage step, used by weapon damage table",1.0f,0,true);
CVariable<float>ExponentialPower("egs","ExponentialPower","ExponentialPower used by weapon damage table",2.0f,0,true);
CVariable<float>SmoothingFactor("egs","SmoothingFactor","SmoothingFactor used by weapon damage table",0.8f,0,true);
// combat config vars
CVariable<float>HandToHandDamage("egs","HandToHandDamage","damage factor when fighting without weapons",0.35f,0,true);
CVariable<uint16>HandToHandLatency("egs","HandToHandLatency","attacks latency *in ticks* when fighting without a weapon",30,0,true);
CVariable<uint16>HandToHandReachValue("egs","HandToHandReachValue","reach value (~allonge) when fighting without a weapon",0,0,true);
CVariable<uint16>MinTwoWeaponsLatency("egs","MinTwoWeaponsLatency","Min attack latency (in ticks) when using 2 weapons",15,0,true);
CVariable<float>MaxAngleForRangeCombat("egs","MaxAngleForRangeCombat","Max angle in Radians between player heading and target position to validate range combat",(float)NLMISC::Pi,0,true);
CVariable<uint32>AreaEffectClipDistance("egs","AreaEffectClipDistance","above this value (in mm) we clip vertical range to 'AreaEffectClipVerticalRange' millimeters",5000,0,true);
CVariable<uint32>AreaEffectClipVerticalRange("egs","AreaEffectClipVerticalRange","vertical range of area effects when area effect range is below 4-5meters (see 'AreaEffectClipDistance')",2000,0,true);
// fame interpolation time (for player fame comming from guild)
CVariable<uint32>FameMemoryInterpolation("egs","FameMemoryInterpolation","Guild fame interpolation time in ticks",4320000,0,true);
// fame trend reset delay.
CVariable<uint32>FameTrendResetDelay("egs","FameTrendResetDelay","Guild fame trend reset delay in ticks",18000,0,true);
CVariable<bool>EntitiesNoResist("egs","EntitiesNoResist","change or just display the NoResist flag - true means no target resist",false,0,true);
CVariable<bool>EntitiesNoActionFailure("egs","EntitiesNoActionFailure","hange or just display the NoActionFailure flag - true means no failure",false,0,true);
CVariable<bool>EntitiesNoCastBreak("egs","EntitiesNoCastBreak","change or just display the NoCastBreak flag - true means no cast break when hit",false,0,true);
// ITEM DECAY vars
CVariable<uint16>ReferenceWeaponLatencyForWear("egs","ReferenceLatencyForWear","latency used as reference for weapon wear, a weapon with this latency will have a wear factor of 1.0",20,0,true);;
CVariable<float>DaggerWearPerAction("egs","DaggerWearPerAction","define the 'wear per action' for Dagger (1.0 = -1 HP for each action)",0.01f,0,true);
CVariable<float>SwordWearPerAction("egs","SwordWearPerAction","define the 'wear per action' for Sword (1.0 = -1 HP for each action)",0.01f,0,true);
CVariable<float>MaceWearPerAction("egs","MaceWearPerAction","define the 'wear per action' for Mace (1.0 = -1 HP for each action)",0.01f,0,true);
CVariable<float>AxeWearPerAction("egs","AxeWearPerAction","define the 'wear per action' for Axe (1.0 = -1 HP for each action)",0.01f,0,true);
CVariable<float>SpearWearPerAction("egs","SpearWearPerAction","define the 'wear per action' for Spear (1.0 = -1 HP for each action)",0.01f,0,true);
CVariable<float>StaffWearPerAction("egs","StaffWearPerAction","define the 'wear per action' for Staff (1.0 = -1 HP for each action)",0.01f,0,true);
CVariable<float>MagicianStaffWearPerAction("egs","MagicianStaffWearPerAction","define the 'wear per action' for MagicianStaff (1.0 = -1 HP for each action)",0.01f,0,true);
CVariable<float>TwoHandSwordWearPerAction("egs","TwoHandSwordWearPerAction","define the 'wear per action' for TwoHandSword (1.0 = -1 HP for each action)",0.01f,0,true);
CVariable<float>TwoHandAxeWearPerAction("egs","TwoHandAxeWearPerAction","define the 'wear per action' for TwoHandAxe (1.0 = -1 HP for each action)",0.01f,0,true);
CVariable<float>PikeWearPerAction("egs","PikeWearPerAction","define the 'wear per action' for Pike (1.0 = -1 HP for each action)",0.01f,0,true);
CVariable<float>TwoHandMaceWearPerAction("egs","TwoHandMaceWearPerAction","define the 'wear per action' for TwoHandMace (1.0 = -1 HP for each action)",0.01f,0,true);
CVariable<float>AutolauchWearPerAction("egs","AutolauchWearPerAction","define the 'wear per action' for Autolauch (1.0 = -1 HP for each action)",0.01f,0,true);
CVariable<float>BowrifleWearPerAction("egs","BowrifleWearPerAction","define the 'wear per action' for Bowrifle (1.0 = -1 HP for each action)",0.01f,0,true);
CVariable<float>LauncherWearPerAction("egs","LauncherWearPerAction","define the 'wear per action' for Launcher (1.0 = -1 HP for each action)",0.01f,0,true);
CVariable<float>PistolWearPerAction("egs","PistolWearPerAction","define the 'wear per action' for Pistol (1.0 = -1 HP for each action)",0.01f,0,true);
CVariable<float>BowpistolWearPerAction("egs","BowpistolWearPerAction","define the 'wear per action' for Bowpistol (1.0 = -1 HP for each action)",0.01f,0,true);
CVariable<float>RifleWearPerAction("egs","RifleWearPerAction","define the 'wear per action' for Rifle (1.0 = -1 HP for each action)",0.01f,0,true);
CVariable<float>CraftingToolWearPerAction("egs","CraftingToolWearPerAction","define the 'wear per action' for CraftingTool (1.0 = -1 HP for each action)",0.01f,0,true);
CVariable<float>ForageToolWearPerAction("egs","ForageToolWearPerAction","define the 'wear per action' for ForageTool (1.0 = -1 HP for each action)",0.01f,0,true);
CVariable<float>ArmorWearPerAction("egs","ArmorWearPerAction","define the 'wear per action' for Armor (1.0 = -1 HP for each action)",0.01f,0,true);
CVariable<float>JewelryWearPerAction("egs","JewelryWearPerAction","define the 'wear per action' for Jewels (1.0 = -1 HP for each action)",0.01f,0,true);
CVariable<float>ShieldWearPerAction("egs","ShieldWearPerAction","define the 'wear per action' for Shield (1.0 = -1 HP for each action)",0.01f,0,true);
CVariable<float>WornState1("egs","WornState1","define the 'WornState1' for items (0.2 = 20% of hp)",0.25f,0,true);
CVariable<float>WornState2("egs","WornState2","define the 'WornState2' for items (0.2 = 20% of hp)",0.10f,0,true);
CVariable<float>WornState3("egs","WornState3","define the 'WornState3' for items (0.2 = 20% of hp)",0.05f,0,true);
CVariable<float>WornState4("egs","WornState4","define the 'WornState4' for items (0.2 = 20% of hp)",0.01f,0,true);
// MAGIC config
// add some time to dead links
CVariable<uint32>NoLinkSurvivalAddTime("egs","NoLinkSurvivalAddTime","add some time to dead links",0,0,true);
CVariable<uint32>NoLinkTimeFear("egs","NoLinkTimeFear","add some time to dead Fear links",0,0,true);
CVariable<uint32>NoLinkTimeSleep("egs","NoLinkTimeSleep","add some time to dead Sleep links",0,0,true);
CVariable<uint32>NoLinkTimeStun("egs","NoLinkTimeStun","add some time to dead Stun links",0,0,true);
CVariable<uint32>NoLinkTimeRoot("egs","NoLinkTimeRoot","add some time to dead Root links",0,0,true);
CVariable<uint32>NoLinkTimeSnare("egs","NoLinkTimeSnare","add some time to dead Snare links",0,0,true);
CVariable<uint32>NoLinkTimeSlow("egs","NoLinkTimeSlow","add some time to dead Slow links",0,0,true);
CVariable<uint32>NoLinkTimeBlind("egs","NoLinkTimeBlind","add some time to dead Blind links",0,0,true);
CVariable<uint32>NoLinkTimeMadness("egs","NoLinkTimeMadness","add some time to dead Madness links",0,0,true);
CVariable<uint32>NoLinkTimeDot("egs","NoLinkTimeDot","add some time to dead Dot links",0,0,true);
CVariable<uint32>UpdatePeriodFear("egs","UpdatePeriodFear","update period of Fear link spells",40,0,true);
CVariable<uint32>UpdatePeriodSleep("egs","UpdatePeriodSleep","update period of Sleep link spells",40,0,true);
CVariable<uint32>UpdatePeriodStun("egs","UpdatePeriodStun","update period of Stun link spells",40,0,true);
CVariable<uint32>UpdatePeriodRoot("egs","UpdatePeriodRoot","update period of Root link spells",40,0,true);
CVariable<uint32>UpdatePeriodSnare("egs","UpdatePeriodSnare","update period of Snare link spells",40,0,true);
CVariable<uint32>UpdatePeriodSlow("egs","UpdatePeriodSlow","update period of Slow link spells",40,0,true);
CVariable<uint32>UpdatePeriodBlind("egs","UpdatePeriodBlind","update period of Blind link spells",40,0,true);
CVariable<uint32>UpdatePeriodMadness("egs","UpdatePeriodMadness","update period of Madness link spells",40,0,true);
CVariable<uint32>UpdatePeriodDot("egs","UpdatePeriodDot","update period of Dot link spells",40,0,true);
CVariable<uint32>DefaultUpdatePeriod("egs","DefaultUpdatePeriod","default update period of link spells",40,0,true);
// add some post cast time to magic (latency)
CVariable<uint32>PostCastLatency("egs","PostCastLatency","add some post cast time to magic (latency in ticks)",5,0,true);
// value added to resist value each time a spell is cast on an entity
CVariable<uint16>ResistIncreaseFear("egs","ResistIncreaseFear","value added to Fear resist each time a Fear spell is cast on an entity",5,0,true);
CVariable<uint16>ResistIncreaseSleep("egs","ResistIncreaseSleep","value added to Sleep resist each time a Sleep spell is cast on an entity",5,0,true);
CVariable<uint16>ResistIncreaseStun("egs","ResistIncreaseStun","value added to Stun resist each time a Stun spell is cast on an entity",5,0,true);
CVariable<uint16>ResistIncreaseRoot("egs","ResistIncreaseRoot","value added to Root resist each time a Root spell is cast on an entity",5,0,true);
CVariable<uint16>ResistIncreaseSnare("egs","ResistIncreaseSnare","value added to Snare resist each time a Snare spell is cast on an entity",5,0,true);
CVariable<uint16>ResistIncreaseSlow("egs","ResistIncreaseSlow","value added to Slow resist each time a Slow spell is cast on an entity",5,0,true);
CVariable<uint16>ResistIncreaseBlind("egs","ResistIncreaseBlind","value added to Blind resist each time a Blind spell is cast on an entity",5,0,true);
CVariable<uint16>ResistIncreaseMadness("egs","ResistIncreaseMadness","value added to Madness resist each time a Madness spell is cast on an entity",5,0,true);
CVariable<uint16>ResistIncreaseAcid("egs","ResistIncreaseAcid","value added to Acid resist each time a Acid spell is cast on an entity",3,0,true);
CVariable<uint16>ResistIncreaseCold("egs","ResistIncreaseCold","value added to Cold resist each time a Cold spell is cast on an entity",3,0,true);
CVariable<uint16>ResistIncreaseElectricity("egs","ResistIncreaseElectricity","value added to Electricity resist each time a Electricity spell is cast on an entity",5,0,true);
CVariable<uint16>ResistIncreaseFire("egs","ResistIncreaseFire","value added to Fire resist each time a Fire spell is cast on an entity",3,0,true);
CVariable<uint16>ResistIncreasePoison("egs","ResistIncreasePoison","value added to Poison resist each time a Poison spell is cast on an entity",3,0,true);
CVariable<uint16>ResistIncreaseRot("egs","ResistIncreaseRot","value added to Rot resist each time a Rot spell is cast on an entity",3,0,true);
CVariable<uint16>ResistIncreaseShockwave("egs","ResistIncreaseShockwave","value added to Shockwave resist each time a Shockwave spell is cast on an entity",3,0,true);
// values used to determine player magic resist level
CVariable<float>MagicResistFactorForCombatSkills("egs","MagicResistFactorForCombatSkills","factor on combat skill level to get equivalent magic resist level",1.0f,0,true);
CVariable<float>MagicResistFactorForMagicSkills("egs","MagicResistFactorForMagicSkills","factor on magic skill level to get equivalent magic resist level",1.0f,0,true);
CVariable<float>MagicResistFactorForForageSkills("egs","MagicResistFactorForForageSkills","factor on forage skill level to get equivalent magic resist level",0.5f,0,true);
CVariable<sint32>MagicResistSkillDelta("egs","MagicResistSkillDelta","value always added to player base magic resist",-25,0,true);
CVariable<uint32>MaxMagicProtection("egs","MaxMagicProtection","Maximum protection a character can have against a magic damage",80,0,true);
CVariable<uint32>MaxAbsorptionFactor("egs","MaxAbsorptionFactor","Maximum magic damage absorption factor, 100 = factor 1.0f, base absorption is sum of jewel level",100,0,true);
CVariable<uint32>HominBaseProtection("egs","HominBaseProtection","Homin base protection against magic common damage (cold, acid, rot)",10,0,true);
CVariable<uint32>HominRacialProtection("egs","HominRacialProtection","Homin base protection against magic racial damage (Fire, Poison, Shockwave, Electricity)",20,0,true);
CVariable<uint32>HominRacialResistance("egs","HominRacialResistance","Homin base resistance against magic racial spell type",10,0,true);
CVariable<uint32>MaxMagicResistanceBonus("egs","MaxMagicResistanceBonus","Max bonus resistance against magic spell type",50,0,true);
CVariable<uint32>EcosystemResistancePenalty("egs","EcosystemResistancePenalty","Resistance Penalty gived by each ecosystem",10,0,true);
// intangible time after a teleport or a respawn
CVariable<uint16>IntangibleTimeAfterTP("egs","IntangibleTimeAfterTP","intangible time after a teleport or a respawn (in ticks)",30,0,true);
// update frequency of the compass target position (in ticks)
CVariable<uint32>CompassTargetUpdateFrequency("egs","CompassTargetUpdateFrequency"," update frequency of the compass target position (in ticks)",20,0,true);
// update period of toxic cloud damaging (in ticks)
CVariable<uint32>ToxicCloudUpdateFrequency("egs","ToxicCloudUpdateFrequency","update frequency of toxic cloud damaging (in ticks)",20,0,true);
// update period of deposits (in ticks) (should not be frequent; 0 is forbidden)
CVariable<uint32>DepositUpdateFrequency("egs","DepositUpdateFrequency","update frequency of deposits (in ticks)",300,0,true,cbChangeDepositUpdateFrequency);// default: 30 s
// update period of auras effects (to determine chich entities are affected for instance) (in ticks)
CVariable<uint32>AurasUpdateFrequency("egs","AurasUpdateFrequency","update frequency of auras effects (to determine which entities are affected for instance) (in ticks)",20,0,true);
// update frequency of locate deposit effect
CVariable<uint32>ForageLocateDepositUpdateFrequency("egs","ForageLocateDepositUpdateFrequency","update frequency of locate deposit effect",25,0,true);
// characteristic brick progression step
CVariable<uint32>CharacteristicBrickStep("egs","CharacteristicBrickStep","characteristic brick progression step(brick xxxx05 match a charac value of characteristic 5*CharacteristicBrickStep)",5,0,true);
// Variable regen divisor & factor
CVariable<float>RegenDivisor("egs","RegenDivisor","Divisor used for compute regenerate per seconde in repos (divide characteristics per divisor)",16.0f,0,true,CPlayerService::updateRegen);
CVariable<float>RegenReposFactor("egs","RegenReposFactor","Divisor used for compute regenerate per seconde in action (regen repos / factor)",2.0f,0,true,CPlayerService::updateRegen);
CVariable<uint16>MaxCharacteristicValue("egs","MaxCharacteristicValue","Max value for player's characteristics",250,0,true);
// COMBAT config
// factor on creature and npc damage
CVariable<float>BotDamageFactor("egs","BotDamageFactor","Factor applied on all Bots (creature and npcs) damage",1.0f,0,true);
CVariable<float>HitChestStaLossFactor("egs","HitChestStaLossFactor","factor of damage also lost in sta when hit to chest",0.5f,0,true);
CVariable<float>HitHeadStunDuration("egs","HitHeadStunDuration","duration (in seconds) of a stun when hit to head",2.5f,0,true);
CVariable<float>HitArmsSlowDuration("egs","HitArmsSlowDuration","duration (in seconds) of a slow attack when hit to arms",5.0f,0,true);
CVariable<sint16>HitArmsSlowFactor("egs","HitArmsSlowFactor","slowing factor when hit to arms (+20 = +20% to attack latency)",50,0,true);
CVariable<float>HitLegsSlowDuration("egs","HitLegsSlowDuration","duration (in seconds) of a slow move when hit to legs",5.0f,0,true);
CVariable<sint16>HitLegsSlowFactor("egs","HitLegsSlowFactor","slowing factor when hit to legs (-20 = -20% to move speed)",-20,0,true);
CVariable<float>HitHandsDebuffDuration("egs","HitHandsDebuffDuration","duration in seconds of skills debuff when hit to hands",5.0f,0,true);
CVariable<sint32>HitHandsDebuffValue("egs","HitHandsDebuffValue","value of skills debuff when hit to hands ",-20,0,true);
CVariable<float>HitFeetDebuffDuration("egs","HitFeetDebuffDuration","duration in seconds of dodge debuff when hit to feet",5.0f,0,true);
CVariable<sint32>HitFeetDebuffValue("egs","HitFeetDebuffValue","value of skills dodge when hit to hands ",-20,0,true);
CVariable<uint32>NbOpponentsBeforeMalus("egs","NbOpponentsBeforeMalus","number of opponent one can handle without defense malus",1,0,true);
CVariable<sint32>ModPerSupernumeraryOpponent("egs","ModPerSupernumeraryOpponent","modifier on defense (parry/dodge) per opponent after 'n'",-5,0,true);
CVariable<float>ShieldingRadius("egs","ShieldingRadius","effective radius of the 'shielding' power",5.0f,0,true);
CVariable<uint32>CombatFlagLifetime("egs","CombatFlagLifetime","time *in ticks* during which a combat flag is kept 'active'",50,0,true);
CVariable<uint16>CriticalHitChances("egs","CriticalHitChances","chances (in%) to make a critical hit during a combat action (5 means 5%)",5,0,true);
CVariable<float>DodgeFactorForMagicSkills("egs","DodgeFactorForMagicSkills","Factor aplied on magic skill values to determine the equivalent for dodge",1.0f,0,true);
CVariable<float>DodgeFactorForForageSkills("egs","DodgeFactorForForageSkills","Factor aplied on forage skill values to determine the equivalent for dodge",0.5f,0,true);
CVariable<float>ForageExtractionTimeMinGC("egs","ForageExtractionTimeMinGC","Minimum time of extraction in ticks",230.0f,0,true);
CVariable<float>ForageExtractionTimeSlopeGC("egs","ForageExtractionTimeSlopeGC","Slope of base extraction time curve",2.0f,0,true);
CVariable<float>ForageQuantityBaseRate("egs","ForageQuantityBaseRate","Base of extraction rate",0.23f,0,true);// 0.23 doubles the previous minimum setting
// ForageQuantitySlowFactor=0.5 => Results: 100% of rate at extraction #4
CVariable<float>ForageExtractionNaturalDDeltaPerTick("egs","ForageExtractionNaturalDDeltaPerTick","D increase per tick",0.1f,0,true);
CVariable<float>ForageExtractionNaturalEDeltaPerTick("egs","ForageExtractionNaturalEDeltaPerTick","E increase per tick",0.1f,0,true);
CVariable<float>ForageHPRatioPerSourceLifeImpact("egs","HPRatioPerSourceLifeImpact","Ratio of HP damaged per source life (D) impact value",0.003937f,0,true);// 1/127 / 2
CVariable<float>ForageCareFactor("egs","ForageCareFactor","Factor for care delta",4.0f,0,true);
NLMISC::CVariable<NLMISC::TGameCycle>DuelQueryDuration("egs","DuelQueryDuration","duration in ticks of a duel requests",600,0,true);
NLMISC::CVariable<NLMISC::TGameCycle>PVPZoneEnterBufferTime("egs","PVPZoneEnterBufferTime","duration in ticks of the time buffer triggered when someone enters a PVP zone",300,0,true);
NLMISC::CVariable<NLMISC::TGameCycle>PVPZoneLeaveBufferTime("egs","PVPZoneLeaveBufferTime","duration in ticks of the time buffer triggered when someone leaves a PVP zone",9000,0,true);
NLMISC::CVariable<NLMISC::TGameCycle>PVPZoneWarningRepeatTime("egs","PVPZoneWarningRepeatTime","duration in ticks used to repeat warnings of PVP zones",50,0,true);
NLMISC::CVariable<NLMISC::TGameCycle>PVPZoneWarningRepeatTimeL("egs","PVPZoneWarningRepeatTimeL","duration in ticks used to repeat warnings of PVP zones for time left is more than one minute",50,0,true);
NLMISC::CVariable<bool>PVPZoneWithDeathPenalty("egs","PVPZoneWithDeathPenalty","if true a player killed by another player in a PVP zone will have a death penalty",false,0,true);
NLMISC::CVariable<float>PVPMeleeCombatDamageFactor("egs","PVPMeleeCombatDamageFactor","Factor applied on Melee Damage in PVP",0.8f,0,true);
NLMISC::CVariable<float>PVPRangeCombatDamageFactor("egs","PVPRangeCombatDamageFactor","Factor applied on Range Damage in PVP",0.8f,0,true);
NLMISC::CVariable<float>PVPMagicDamageFactor("egs","PVPMagicDamageFactor","Factor applied on Magic Damage in PVP",0.8f,0,true);
//NLMISC::CVariable<float> PVPMagicHealFactor("egs","PVPMagicHealFactor", "Factor applied on heals in PVP", 0.8f, 0, true );
NLMISC::CVariable<NLMISC::TGameCycle>TimeForSetPVPFlag("egs","TimeForSetPVPFlag","time before set pvp flag become effective (in game cycle)",1200,0,true);
NLMISC::CVariable<NLMISC::TGameCycle>TimeForResetPVPFlag("egs","TimeForResetPVPFlag","minimal time before reset pvp flag (in game cycle)",18000,0,true);
NLMISC::CVariable<NLMISC::TGameCycle>TimeForPVPFlagOff("egs","TimeForPVPFlagOff","time before pvp flag return to off become effective (in game cycle)",300,0,true);
NLMISC::CVariable<NLMISC::TGameCycle>PVPActionTimer("egs","PVPActionTimer","time duration of pvp action flag, each time a character made a pvp action, corresponding flag is true during this timer",6000,0,true);
NLMISC::CVariable<float>KillAttribMinFactor("egs","KillAttribMinFactor","min fraction of the total damage done on a creature that a group/player must do to be attributed a kill",0.3f,0,true);
CVariable<sint32>BaseGuildBulk("egs","BaseGuildBulk","base bulk for a new guild building",2000000,0,true);
CVariable<sint16>MinFameToBuyGuildBuilding("egs","MinFameToBuyGuildBuilding","Minimum Fame To Buy a Guild Building",0,0,true);
CVariable<sint16>MinFameToBuyPlayerBuilding("egs","MinFameToBuyPlayerBuilding","Minimum Fame To Buy a Player Building",0,0,true);
CVariable<TGameCycle>MonoMissionTimout("egs","MonoMissionTimout","default timout of mono mission",144000,0,true);
CVariable<bool>VerboseMissions("egs","VerboseMissions","Logging of mission parsing/event (0/1)",false,0,true);
CVariable<bool>MissionPrerequisitsEnabled("egs","MissionPrerequisitsEnabled","Activate the checking of pre requisits for mission",true,0,true);
CVariable<uint32>TickFrequencyCompassUpdate("egs","TickFrequencyCompassUpdate","Min time in tick between 2 updates of mission compass of a character",32,0,true);
CVariable<float>WearMalusCraftFactor("egs","WearMalusCraftFactor","Factor for apply wear penalty to craft",0.1f,0,true);
"Speed of offering action in action/tick",0.02f,// 5 s
0,true);
CVariable<uint32>ForageReduceDamageTimeWindow("egs","ForageReduceDamageTimeWindow","Time in tick before a blowing up when Reduce Damage actions are taken into account",30,0,true);// 3 s
CVariable<uint32>ForageDebug("egs","ForageDebug",
"Debug mode for forage phrases (0=normal 2=focusOnly 5=focus+skill 7=prospectionWithVariables 10=fullCheat)",0,
CVariable<float>ForageQuantityXPDeltaLevelBonusRate("egs","ForageQuantityXPDeltaLevelBonusRate","Delta level increase per qtty unit (except 1st one)",2.0f,0,true);
CVariable<float>QuarteringQuantityAverageForCraftHerbivore("egs","QuarteringQuantityAverageForCraftHerbivore","Control the global quantity in quartering for craft RMs of herbivores (H/B/P)",1.0f,0,true);
CVariable<float>QuarteringQuantityAverageForCraftCarnivore("egs","QuarteringQuantityAverageForCraftCarnivore","Control the global quantity in quartering for craft RMs of carnivores",5.0f,0,true);
CVariable<float>QuarteringQuantityAverageForMissions("egs","QuarteringQuantityAverageForMissions","Control the global quantity in quartering for mission RMs",5.0f,0,true);
CVariable<float>QuarteringQuantityAverageForBoss5("egs","QuarteringQuantityAverageForBoss5","Control the quantity of quartered material of normal creatures '5' and '8'",10,0,true);
CVariable<float>QuarteringQuantityAverageForBoss7("egs","QuarteringQuantityAverageForBoss7","Control the quantity of quartered material of normal creatures '7'",40,0,true);
CVariable<float>QuarteringQuantityForInvasion5("egs","QuarteringQuantityForInvasion5","Control the quantity of quartered invasion material of creatures '5'",40,0,true);
CVariable<float>QuarteringQuantityForInvasion7("egs","QuarteringQuantityForInvasion7","Control the quantity of quartered invasion material of creatures '7'",80,0,true);
CVariable<float>LootMoneyAmountPerXPLevel("egs","LootMoneyAmountPerXPLevel","Amount of money to earn when looting, per XPLevel of the looted NPC",10.0f,0,true);
CVariable<uint32>MaxAppliedChargeCount("egs","AppliedChargeMaxCount","max number of charge a guild can apply for",1,0,true);
CVariable<float>OupostPowerRadius("egs","OupostPowerRadius","Radius of an outpost power in meters",100,0,true);
CVariable<uint32>OutpostPowerDuration("egs","OutpostPowerDuration","duration of outpost powers in ticks",54000,0,true);
CVariable<bool>DumpRangeAnalysis("egs","DumpRangeAnalysis","debug dump for range combat",false,0,true);
CVariable<float>RechargeMoneyFactor("egs","RechargeMoneyFactor","factor to apply on a recharge spell sabrina cost to get the cost in money",2.0f,0,true);
CVariable<float>CristalMoneyFactor("egs","CristalMoneyFactor","factor to apply on a cristallisation spell sabrina cost to get the cost in money",2.0f,0,true);
NLMISC::CVariable<uint32>BasePlayerRoomBulk("egs","BasePlayerRoomBulk","Maximum bulk a player can have in his room",500000,0,true);
NLMISC::CVariable<uint32>MaxPlayerBulk("egs","MaxPlayerBulk","Maximum bulk a player can have on him",100000,0,true);
NLMISC::CVariable<uint32>BaseMaxCarriedWeight("egs","BaseMaxCarriedWeight","max weight in grammes a player can have on him if his strength is 0",100000,0,true);
NLMISC::CVariable<std::string>MessageOfTheDay("egs","MessageOfTheDay","Message of the day sended at new connected player",string(""),0,true,broadcastMessageOfTheDay);
NLMISC::CVariable<float>MaxDistanceGooDamage("egs","MaxDistanceGooDamage","the maximum distance when character take damage from goo path",100.0f,0,true);
NLMISC::CVariable<float>DeathGooDistance("egs","DeathGooDistance","the distance when character take 100% damage from goo path",1.0f,0,true);
NLMISC::CVariable<float>MaxGooDamageRatio("egs","MaxGooDamageRatio","the factor applied goo damage for calculate effective goo damage (distance = 0 - 100% * ratio * base hp = damages)",0.5f,0,true);
NLMISC::CVariable<uint32>NBTickForGooDamageRate("egs","NBTickForGooDamageRate","nb tick needed for apply goo damage again",5,0,true);
NLMISC::CVariable<uint32>NBTickForNewbieGooDamageRate("egs","NBTickForNewbieGooDamageRate","nb tick needed for apply goo damage again in newbieland",10,0,true);
NLMISC::CVariable<float>NewbieGooDamageFactor("egs","NewbieGooDamageFactor","percentage of life lost at maximum from goo in newbieland",.2f,0,true);
NLMISC::CVariable<uint32>TickFrequencyPCSave("loadSave","TickFrequencyPCSave","A PC is saved in each nb tick for prevent overrun backup system",100,0,true);
NLMISC::CVariable<uint32>MinPlayerSavePeriod("loadSave","MinPlayerSavePeriod","The same PC cant be saved more than once during MinPlayerSavePeriod ticks",600,0,true);
NLMISC::CVariable<bool>XMLSave("loadSave","XMLSave","boolean : if true players are saved in XML format",true,0,true);
NLMISC::CVariable<bool>PDRSave("loadSave","PDRSave","boolean : if true players are saved in PDR format",true,0,true);
NLMISC::CVariable<bool>PDRLoad("loadSave","PDRLoad","boolean : if true players are loaded from PDR format",false,0,true);
NLMISC::CVariable<bool>SerialSave("loadSave","SerialSave","boolean : if true players are saved in serial format",false,0,true);
CVariable<float>ItemPriceCoeff0("egs","ItemPriceCoeff0","polynom coeff of degree 0 in the price formula",1.0f,0,true);
CVariable<float>ItemPriceCoeff1("egs","ItemPriceCoeff1","polynom coeff of degree 1 in the price formula",1.0f,0,true);
CVariable<float>ItemPriceCoeff2("egs","ItemPriceCoeff2","polynom coeff of degree 2 in the price formula",1.0f,0,true);
CVariable<float>ItemPriceFactor("egs","ItemPriceFactor","factor to apply on non raw material items to compute their price",1.0f,0,true);
CVariable<float>AnimalSellFactor("egs","AnimalSellFactor","factor to apply on animal price to get the price a user can buy them",1.0f,0,true);
CVariable<float>TeleportSellFactor("egs","TeleportSellFactor","factor to apply on teleport price to get the price a user can buy them",1.0f,0,true);
CVariable<float>MaxFamePriceVariation("egs","MaxFamePriceVariation","maximum price variation ( in absolute value ) that can be due to fame",0.3f,0,true);
CVariable<sint32>MaxFameToTrade("egs","MaxFameToTrade","maximum fame value taken in account in trade",600000,0,true);
CVariable<sint32>MinFameToTrade("egs","MinFameToTrade","minimum fame value taken in account in trade",-200000,0,true);
CVariable<NLMISC::TGameCycle>MaxGameCycleSaleStore("egs","MaxGameCycleSaleStore","maximum time game cycle an item stay in sale store before been destroyed",7*24*60*60*10,0,true);
CVariable<sint32>MaxLevelNpcItemInStore("egs","MaxLevelNpcItemInStore","Maximum level for item solded by NPC",250,0,true);
CVariable<bool>VerboseShopParsing("egs","VerboseShopParsing","activate verbose mode for shop category parsing",false,0,true);
CVariable<uint32>NBMaxItemPlayerSellDisplay("egs","NBMaxItemPlayerSellDisplay","NB max item can be displayed for player item list selled",128,0,true);
CVariable<uint32>NBMaxItemNpcSellDisplay("egs","NBMaxItemNpcSellDisplay","NB max item can be displayed for npc item list selled",128,0,true);
CVariable<uint32>NBMaxItemYoursSellDisplay("egs","NBMaxItemYoursSellDisplay","NB max item can be displayed for your item list selled",128,0,true);
/// disconnection delay
CVariable<uint32>TimeBeforeDisconnection("egs","TimeBeforeDisconnection","delai during character stay in game after a disconnection for prevent logoff exploit",300,0,true);
// Privilege needed for banner
CVariable<string>BannerPriv("privilege","BannerPriv","Privilege needed for banner",string(":G:SG:VG:GM:SGM:"),0,true);
// Privilege that never aggro the bots
CVariable<string>NeverAggroPriv("privilege","NeverAggroPriv","Privilege that never aggro the bots",string(":OBSERVER:G:SG:VG:GM:SGM:"),0,true);
CVariable<string>TeleportWithMektoubPriv("privilege","TeleportWithMektoubPriv","Privilege to teleport with a mektoub",string(":GM:SGM:DEV:"),0,true);
// Privilege that forbid action execution
CVariable<string>NoActionAllowedPriv("privilege","NoActionAllowedPriv","Privilege that forbid action execution",string(":OBSERVER:"),0,true);
// Privilege that bypass value and score checking
CVariable<string>NoValueCheckingPriv("privilege","NoValueCheckingPriv","Privilege that bypass value and score checking",string(":GM:SGM:DEV:"),0,true);
// Privilege that prevent being disconnected in case of shard closing for technical problem
CVariable<string>NoForceDisconnectPriv("privilege","NoForceDisconnectPriv","Privilege that prevent being disconnected in case of shard closing for technical problem",string(":GM:SGM:DEV:"),0,true);
"When a follower mektoub get further than this distance (in m) from his target, he stops",100.0f,0,true);
// events
CVariable<uint32>EventChannelHistoricSize("egs","EventChannelHistoricSize","Historic size of event channel",512,0,true);
// outposts
CVariable<NLMISC::TGameCycle>OutpostSavingPeriod("egs","OutpostSavingPeriod","Save period of outposts in ticks (1 outpost saved at a time)",10,0,true);
CVariable<NLMISC::TGameCycle>OutpostUpdatePeriod("egs","OutpostUpdatePeriod","Period in ticks between 2 updates of the same outpost",10,0,true);
CVariable<NLMISC::TGameCycle>OutpostLeavePeriod("egs","OutpostLeavePeriod","time duration before a user who has left outpost zone looses his pvp flag",60*10,0,true);// 10 min as seconds
CVariable<bool>VerboseFactionPoint("egs","VerboseFactionPoint","set if faction point system is verbose or not",false,0,true);
CVariable<bool>UseNewNewbieLandStartingPoint("egs","UseNewNewbieLandStartingPoint","set if create new character start at new noobland or old",false,0,true);
// Fame
// - Limits
CVariable<sint32>FameMinToDeclare("egs","FameMinToDeclare","Minimum level of fame needed to declare membership to a clan",30*kFameMultipler,0,true);
CVariable<sint32>FameWarningLevel("egs","FameWarningLevel","Level at which a player is notified that their fame is getting too low",5*kFameMultipler,0,true);
CVariable<sint32>FameMinToRemain("egs","FameMinToRemain","Minimum fame needed to remain as a member of a clan",0*kFameMultipler,0,true);
CVariable<sint32>FameMinToTrade("egs","FameMinToTrade","Minimum fame needed to trade with a clan",-30*kFameMultipler,0,true,CFameManager::thresholdChanged);
CVariable<sint32>FameMinToKOS("egs","FameMinToKOS","Minimum fame needed to not be KOS to a clan",-50*kFameMultipler,0,true,CFameManager::thresholdChanged);
CVariable<sint32>FameMaxDefault("egs","FameMaxDefault","Default maximum amount of fame (same as neutral max)",50*kFameMultipler,0,true);
CVariable<sint32>FameAbsoluteMin("egs","FameAbsoluteMin","Absolute fame minimum a player can have",-100*kFameMultipler,0,true);
CVariable<sint32>FameAbsoluteMax("egs","FameAbsoluteMax","Absolute fame maximum a player can have",100*kFameMultipler,0,true);
CVariable<sint32>FameStartFyrosvFyros("egs","FameStartFyrosvFyros","Starting fame of a Fyros to their own civ",20*kFameMultipler,0,true);
CVariable<sint32>FameStartFyrosvMatis("egs","FameStartFyrosvMatis","Starting fame of a Fyros to the Matis civ",-20*kFameMultipler,0,true);
CVariable<sint32>FameStartFyrosvTryker("egs","FameStartFyrosvTryker","Starting fame of a Fyros to the Tryker civ",-10*kFameMultipler,0,true);
CVariable<sint32>FameStartFyrosvZorai("egs","FameStartFyrosvZorai","Starting fame of a Fyros to the Zorai civ",10*kFameMultipler,0,true);
CVariable<sint32>FameStartMatisvFyros("egs","FameStartMatisvFyros","Starting fame of a Matis to the Fyros civ",-20*kFameMultipler,0,true);
CVariable<sint32>FameStartMatisvMatis("egs","FameStartMatisvMatis","Starting fame of a Matis to their own civ",20*kFameMultipler,0,true);
CVariable<sint32>FameStartMatisvTryker("egs","FameStartMatisvTryker","Starting fame of a Matis to the Tryker civ",10*kFameMultipler,0,true);
CVariable<sint32>FameStartMatisvZorai("egs","FameStartMatisvZorai","Starting fame of a Matis to the Zorai civ",-10*kFameMultipler,0,true);
CVariable<sint32>FameStartTrykervFyros("egs","FameStartTrykervFyros","Starting fame of a Tryker to the Fyros civ",-10*kFameMultipler,0,true);
CVariable<sint32>FameStartTrykervMatis("egs","FameStartTrykervMatis","Starting fame of a Tryker to the Matis civ",10*kFameMultipler,0,true);
CVariable<sint32>FameStartTrykervTryker("egs","FameStartTrykervTryker","Starting fame of a Tryker to their own civ",20*kFameMultipler,0,true);
CVariable<sint32>FameStartTrykervZorai("egs","FameStartTrykervZorai","Starting fame of a Tryker to the Zorai civ",-20*kFameMultipler,0,true);
CVariable<sint32>FameStartZoraivFyros("egs","FameStartZoraivFyros","Starting fame of a Zorai to the Fyros civ",10*kFameMultipler,0,true);
CVariable<sint32>FameStartZoraivMatis("egs","FameStartZoraivMatis","Starting fame of a Zorai to the Matis civ",-10*kFameMultipler,0,true);
CVariable<sint32>FameStartZoraivTryker("egs","FameStartZoraivTryker","Starting fame of a Zorai to the Tryker civ",-20*kFameMultipler,0,true);
CVariable<sint32>FameStartZoraivZorai("egs","FameStartZoraivZorai","Starting fame of a Zorai to their own civ",20*kFameMultipler,0,true);
// - Start values, Cults
CVariable<sint32>FameStartFyrosvKami("egs","FameStartFyrosvKami","Starting fame of a Fyros to the Kami cult",10*kFameMultipler,0,true);
CVariable<sint32>FameStartFyrosvKaravan("egs","FameStartFyrosvKaravan","Starting fame of a Fyros to the Karavan cult",-10*kFameMultipler,0,true);
CVariable<sint32>FameStartMatisvKami("egs","FameStartMatisvKami","Starting fame of a Matis to the Kami cult",-20*kFameMultipler,0,true);
CVariable<sint32>FameStartMatisvKaravan("egs","FameStartMatisvKaravan","Starting fame of a Matis to the Karavan cult",20*kFameMultipler,0,true);
CVariable<sint32>FameStartTrykervKami("egs","FameStartTrykervKami","Starting fame of a Tryker to the Kami cult",-10*kFameMultipler,0,true);
CVariable<sint32>FameStartTrykervKaravan("egs","FameStartTrykervKaravan","Starting fame of a Tryker to the Karavan cult",10*kFameMultipler,0,true);
CVariable<sint32>FameStartZoraivKami("egs","FameStartZoraivKami","Starting fame of a Zorai to the Kami cult",20*kFameMultipler,0,true);
CVariable<sint32>FameStartZoraivKaravan("egs","FameStartZoraivKaravan","Starting fame of a Zorai to the Karavan cult",-20*kFameMultipler,0,true);
// - Max Values when declared, Civilizations
CVariable<sint32>FameMaxNeutralvFyros("egs","FameMaxNeutralvFyros","Maximum Fame for a neutral to the Fyros civ",50*kFameMultipler,0,true);
CVariable<sint32>FameMaxNeutralvMatis("egs","FameMaxNeutralvMatis","Maximum Fame for a neutral to the Matis civ",50*kFameMultipler,0,true);
CVariable<sint32>FameMaxNeutralvTryker("egs","FameMaxNeutralvTryker","Maximum Fame for a neutral to the Tryker civ",50*kFameMultipler,0,true);
CVariable<sint32>FameMaxNeutralvZorai("egs","FameMaxNeutralvZorai","Maximum Fame for a neutral to the Zorai civ",50*kFameMultipler,0,true);
CVariable<sint32>FameMaxFyrosvFyros("egs","FameMaxFyrosvFyros","Maximum Fame for a Fyros to their own civ",100*kFameMultipler,0,true);
CVariable<sint32>FameMaxFyrosvMatis("egs","FameMaxFyrosvMatis","Maximum Fame for a Fyros to the Matis civ",0*kFameMultipler,0,true);
CVariable<sint32>FameMaxFyrosvTryker("egs","FameMaxFyrosvTryker","Maximum Fame for a Fyros to the Tryker civ",25*kFameMultipler,0,true);
CVariable<sint32>FameMaxFyrosvZorai("egs","FameMaxFyrosvZorai","Maximum Fame for a Fyros to the Zorai civ",75*kFameMultipler,0,true);
CVariable<sint32>FameMaxMatisvFyros("egs","FameMaxMatisvFyros","Maximum Fame for a Matis to the Fyros civ",0*kFameMultipler,0,true);
CVariable<sint32>FameMaxMatisvMatis("egs","FameMaxMatisvMatis","Maximum Fame for a Matis to their own civ",100*kFameMultipler,0,true);
CVariable<sint32>FameMaxMatisvTryker("egs","FameMaxMatisvTryker","Maximum Fame for a Matis to the Tryker civ",75*kFameMultipler,0,true);
CVariable<sint32>FameMaxMatisvZorai("egs","FameMaxMatisvZorai","Maximum Fame for a Matis to the Zorai civ",25*kFameMultipler,0,true);
CVariable<sint32>FameMaxTrykervFyros("egs","FameMaxTrykervFyros","Maximum Fame for a Tryker to the Fyros civ",25*kFameMultipler,0,true);
CVariable<sint32>FameMaxTrykervMatis("egs","FameMaxTrykervMatis","Maximum Fame for a Tryker to the Matis civ",75*kFameMultipler,0,true);
CVariable<sint32>FameMaxTrykervTryker("egs","FameMaxTrykervTryker","Maximum Fame for a Tryker to their own civ",100*kFameMultipler,0,true);
CVariable<sint32>FameMaxTrykervZorai("egs","FameMaxTrykervZorai","Maximum Fame for a Tryker to the Zorai civ",0*kFameMultipler,0,true);
CVariable<sint32>FameMaxZoraivFyros("egs","FameMaxZoraivFyros","Maximum Fame for a Zorai to the Fyros civ",75*kFameMultipler,0,true);
CVariable<sint32>FameMaxZoraivMatis("egs","FameMaxZoraivMatis","Maximum Fame for a Zorai to the Matis civ",25*kFameMultipler,0,true);
CVariable<sint32>FameMaxZoraivTryker("egs","FameMaxZoraivTryker","Maximum Fame for a Zorai to the Tryker civ",0*kFameMultipler,0,true);
CVariable<sint32>FameMaxZoraivZorai("egs","FameMaxZoraivZorai","Maximum Fame for a Zorai to their own civ",100*kFameMultipler,0,true);
// - Max Values when declared, Civilizations
CVariable<sint32>FameMaxNeutralvKami("egs","FameMaxNeutralvKami","Max fame for a neutral to the Kami cult",50*kFameMultipler,0,true);
CVariable<sint32>FameMaxNeutralvKaravan("egs","FameMaxNeutralvKaravan","Max fame for a neutral to the Karavan cult",50*kFameMultipler,0,true);
CVariable<sint32>FameMaxKamivKami("egs","FameMaxKamivKami","Max fame for a Kami to the Kami cult",100*kFameMultipler,0,true);
CVariable<sint32>FameMaxKamivKaravan("egs","FameMaxKamivKaravan","Max fame for a Kami to the Karavan cult",-50*kFameMultipler,0,true);
CVariable<sint32>FameMaxKaravanvKami("egs","FameMaxKaravanvKami","Max fame for a Karavan to the Kami cult",-50*kFameMultipler,0,true);
CVariable<sint32>FameMaxKaravanvKaravan("egs","FameMaxKaravanvKaravan","Max fame for a Karavan to the Karavan cult",100*kFameMultipler,0,true);
// female titles
CVariable<bool>UseFemaleTitles("egs","UseFemaleTitles","Use female titles when character is a female character",true,0,true);
// - NPC Icons
CVariable<uint32>ClientNPCIconRefreshTimerDelay("egs","ClientNPCIconRefreshTimerDelay","Max number of gamecycles between 2 refreshes of a single mission giver NPC",60*10,0,true,CPlayerManager::onNPCIconTimerChanged);
// - Ring
CVariable<uint32>TickFrequencyNpcControlUpdate("egs","TickFrequencyNpcControlUpdate","Min time in tick between 2 updates of udate of npc control",6,0,true);
// Scores
CVariable<sint32>PhysicalCharacteristicsBaseValue("egs","PhysicalCharacteristicsBaseValue","Physical characteristic base value used to compute base score value",10,0,true);
CVariable<sint32>PhysicalCharacteristicsFactor("egs","PhysicalCharacteristicsFactor","Factor used to compute base score value from characteristic value",10,0,true);