private void InitializeGameConfiguration() { this.gameConfiguration.MaximumLevel = 400; this.gameConfiguration.InfoRange = 12; this.gameConfiguration.AreaSkillHitsPlayer = false; this.gameConfiguration.MaximumInventoryMoney = int.MaxValue; this.gameConfiguration.RecoveryInterval = 3000; this.gameConfiguration.MaximumLetters = 50; this.gameConfiguration.MaximumCharactersPerAccount = 5; this.gameConfiguration.CharacterNameRegex = "^[a-zA-Z0-9]{3,10}$"; this.gameConfiguration.MaximumPasswordLength = 20; this.gameConfiguration.MaximumPartySize = 5; this.gameConfiguration.ExperienceTable = Enumerable.Range(0, this.gameConfiguration.MaximumLevel + 2) .Select(level => this.CalculateNeededExperience(level)) .ToArray(); this.gameConfiguration.MasterExperienceTable = Enumerable.Range(0, 201).Select(level => this.CalcNeededMasterExp(level)).ToArray(); var moneyDropItemGroup = this.context.CreateNew <DropItemGroup>(); moneyDropItemGroup.Chance = 0.5; moneyDropItemGroup.ItemType = SpecialItemType.Money; this.gameConfiguration.BaseDropItemGroups.Add(moneyDropItemGroup); this.CreateStatAttributes(); this.CreateItemSlotTypes(); this.CreateItemOptionTypes(); this.gameConfiguration.ItemOptions.Add(this.CreateLuckOptionDefinition()); this.gameConfiguration.ItemOptions.Add(this.CreateOptionDefinition(Stats.DefenseBase)); this.gameConfiguration.ItemOptions.Add(this.CreateOptionDefinition(Stats.MaximumPhysBaseDmg)); this.gameConfiguration.ItemOptions.Add(this.CreateOptionDefinition(Stats.MaximumWizBaseDmg)); new CharacterClassInitialization(this.context, this.gameConfiguration).CreateCharacterClasses(); new Skills(this.context, this.gameConfiguration).Initialize(); new Orbs(this.context, this.gameConfiguration).Initialize(); new Scrolls(this.context, this.gameConfiguration).Initialize(); new Wings(this.context, this.gameConfiguration).Initialize(); new ExcellentOptions(this.context, this.gameConfiguration).Initialize(); new Armors(this.context, this.gameConfiguration).Initialize(); var weaponHelper = new WeaponItemHelper(this.context, this.gameConfiguration); weaponHelper.InitializeWeapons(); new Potions(this.context, this.gameConfiguration).Initialize(); new Jewels(this.context, this.gameConfiguration).Initialize(); this.CreateNpcs(); this.CreateGameMapDefinitions(); this.AssignCharacterClassHomeMaps(); new Gates().Initialize(this.context, this.gameConfiguration); //// TODO: ItemSetGroups //// TODO: MagicEffects //// TODO: MasterSkillRoots }
private void InitializeGameConfiguration() { this.gameConfiguration.MaximumLevel = 400; this.gameConfiguration.InfoRange = 12; this.gameConfiguration.AreaSkillHitsPlayer = false; this.gameConfiguration.MaximumInventoryMoney = int.MaxValue; this.gameConfiguration.RecoveryInterval = 3000; this.gameConfiguration.MaximumLetters = 50; this.gameConfiguration.MaximumCharactersPerAccount = 5; this.gameConfiguration.CharacterNameRegex = "^[a-zA-Z0-9]{3,10}$"; this.gameConfiguration.MaximumPasswordLength = 20; this.gameConfiguration.MaximumPartySize = 5; var moneyDropItemGroup = this.repositoryManager.CreateNew <DropItemGroup>(); moneyDropItemGroup.Chance = 0.5; moneyDropItemGroup.ItemType = SpecialItemType.Money; this.gameConfiguration.BaseDropItemGroups.Add(moneyDropItemGroup); this.CreateStatAttributes(); this.CreateItemSlotTypes(); this.CreateItemOptionTypes(); this.gameConfiguration.ItemOptions.Add(this.CreateLuckOptionDefinition()); this.gameConfiguration.ItemOptions.Add(this.CreateOptionDefinition(Stats.DefenseBase)); this.gameConfiguration.ItemOptions.Add(this.CreateOptionDefinition(Stats.MaximumPhysBaseDmg)); this.gameConfiguration.ItemOptions.Add(this.CreateOptionDefinition(Stats.MaximumWizBaseDmg)); new CharacterClassInitialization(this.repositoryManager, this.gameConfiguration).CreateCharacterClasses(); var setHelper = new SetItemHelper(this.repositoryManager, this.gameConfiguration); setHelper.CreateSets(); var weaponHelper = new WeaponItemHelper(this.repositoryManager, this.gameConfiguration); weaponHelper.InitializeWeapons(); new Potions(this.repositoryManager, this.gameConfiguration).Initialize(); new Jewels(this.repositoryManager, this.gameConfiguration).Initialize(); this.CreateNpcs(); this.CreateGameMapDefinitions(); this.AssignCharacterClassHomeMaps(); new Gates().Initialize(this.repositoryManager, this.gameConfiguration); //// TODO: ItemSetGroups //// TODO: MagicEffects //// TODO: MasterSkillRoots }