コード例 #1
0
        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
        }
コード例 #2
0
        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
        }