示例#1
0
        LivingObject CreateDwarf(int i)
        {
            var builder = new LivingObjectBuilder(LivingID.Dwarf)
            {
                Color  = (GameColor)Helpers.GetRandomInt(GameColorRGB.NUMCOLORS - 1) + 1,
                Gender = LivingGender.Male,
            };

            switch (i)
            {
            case 0:
                builder.Name = "Doc";
                builder.SetSkillLevel(SkillID.Mining, 80);
                builder.SetSkillLevel(SkillID.Fighting, 40);
                break;

            case 1:
                builder.Name = "Grumpy";
                builder.SetSkillLevel(SkillID.Carpentry, 80);
                builder.SetSkillLevel(SkillID.Fighting, 40);
                break;

            case 2:
                builder.Name = "Happy";
                builder.SetSkillLevel(SkillID.WoodCutting, 80);
                builder.SetSkillLevel(SkillID.Fighting, 40);
                break;

            case 3:
                builder.Name = "Sleepy";
                builder.SetSkillLevel(SkillID.Masonry, 80);
                builder.SetSkillLevel(SkillID.Fighting, 40);
                break;

            case 4:
                builder.Name = "Bashful";
                builder.SetSkillLevel(SkillID.BlackSmithing, 80);
                builder.SetSkillLevel(SkillID.Fighting, 40);
                break;

            case 5:
                builder.Name = "Sneezy";
                builder.SetSkillLevel(SkillID.GemCutting, 80);
                builder.SetSkillLevel(SkillID.Fighting, 40);
                break;

            case 6:
                builder.Name = "Dopey";
                builder.SetSkillLevel(SkillID.Smelting, 80);
                builder.SetSkillLevel(SkillID.Fighting, 40);
                break;
            }

            var dwarf = builder.Create(this.World);

            Helpers.AddGem(dwarf);
            Helpers.AddBattleGear(dwarf);

            return(dwarf);
        }
示例#2
0
        public void InitializeWorld(World world)
        {
            var envBuilder = new EnvironmentObjectBuilder(new IntSize3(64, 64, 4), VisibilityMode.AllVisible);

            TileData td;

            int surfaceLevel = 2;

            td = new TileData()
            {
                TerrainID = TerrainID.NaturalWall, TerrainMaterialID = MaterialID.Granite, InteriorID = InteriorID.Empty
            };
            FillVolume(envBuilder, new IntBox(envBuilder.Bounds.Plane, 0), td);
            FillVolume(envBuilder, new IntBox(envBuilder.Bounds.Plane, 1), td);

            td = new TileData()
            {
                TerrainID = TerrainID.NaturalFloor, TerrainMaterialID = MaterialID.Granite, InteriorID = InteriorID.Empty
            };
            FillVolume(envBuilder, new IntBox(envBuilder.Bounds.Plane, 2), td);

            td = new TileData()
            {
                TerrainID = TerrainID.Empty, InteriorID = InteriorID.Empty
            };
            FillVolume(envBuilder, new IntBox(envBuilder.Bounds.Plane, 3), td);

            td = new TileData()
            {
                TerrainID = TerrainID.NaturalWall, TerrainMaterialID = MaterialID.Granite, InteriorID = InteriorID.Empty
            };
            DrawRect(envBuilder, new IntRectZ(envBuilder.Bounds.Plane, 2), td);

            var env = envBuilder.Create(world);

            env.HomeLocation = new IntPoint3(envBuilder.Width / 2, 4, surfaceLevel);


            /* Add Monsters */

            CreateSheep(env, surfaceLevel);

            {
                var builder = new LivingObjectBuilder(LivingID.Wolf);
                var wolf    = builder.Create(env.World);
                var ai      = new Dwarrowdelf.AI.CarnivoreAI(wolf);
                wolf.SetAI(ai);

                wolf.MoveTo(env, GetRandomSurfaceLocation(env, surfaceLevel));
            }

            {
                var builder = new LivingObjectBuilder(LivingID.Dragon);
                var dragon  = builder.Create(env.World);
                var ai      = new Dwarrowdelf.AI.MonsterAI(dragon);
                dragon.SetAI(ai);

                dragon.MoveTo(env, GetRandomSurfaceLocation(env, surfaceLevel));
            }
        }
示例#3
0
        LivingObject CreateRandomLiving(int z)
        {
            var li = m_livingInfos[Helpers.GetRandomInt(m_livingInfos.Length)];

            var livingBuilder = new LivingObjectBuilder(li.ID);
            var living        = livingBuilder.Create(m_world);

            living.SetAI(new Dwarrowdelf.AI.MonsterAI(living, m_world.PlayerID));

            Helpers.AddBattleGear(living);

            return(living);
        }
示例#4
0
        static void AddMonsters(EnvironmentObject env)
        {
            var world = env.World;

            for (int i = 0; i < NUM_ORCS; ++i)
            {
                var livingBuilder = new LivingObjectBuilder(LivingID.Orc)
                {
                    Color = GetRandomColor(),
                };

                var living = livingBuilder.Create(world);
                living.SetAI(new Dwarrowdelf.AI.MonsterAI(living, world.PlayerID));

                Helpers.AddGem(living);
                Helpers.AddBattleGear(living);

                living.MoveToMustSucceed(env, env.GetRandomEnterableSurfaceLocation());
            }
        }
示例#5
0
        void CreateSheep(Environment env, int surfaceLevel)
        {
            var group = new Group();

            for (int i = 0; i < NUM_SHEEP; ++i)
            {
                var sheepBuilder = new LivingObjectBuilder(LivingID.Sheep)
                {
                    Color = this.GetRandomColor(),
                };
                var sheep = sheepBuilder.Create(env.World);
                var ai    = new HerbivoreAI(sheep);
                ai.Group = group;
                sheep.SetAI(ai);

                CreateItems(sheep, i);

                sheep.MoveTo(env, GetRandomSurfaceLocation(env, surfaceLevel));
            }
        }
示例#6
0
        LivingObject CreateDwarf(int i)
        {
            var builder = new LivingObjectBuilder(LivingID.Dwarf)
            {
                Color = (GameColor)m_random.Next(GameColorRGB.NUMCOLORS - 1) + 1,
            };

            switch (i)
            {
            case 0:
                builder.Name = "Doc";
                builder.SetSkillLevel(SkillID.Fighting, 100);
                break;

            case 1:
                builder.Name = "Grumpy";
                builder.SetSkillLevel(SkillID.Fighting, 100);
                break;

            case 2:
                builder.Name = "Happy";
                builder.SetSkillLevel(SkillID.Fighting, 100);
                break;

            case 3:
                builder.Name = "Sleepy";
                builder.SetSkillLevel(SkillID.Fighting, 100);
                break;

            case 4:
                builder.Name = "Bashful";
                builder.SetSkillLevel(SkillID.Fighting, 100);
                break;

            case 5:
                builder.Name = "Sneezy";
                builder.SetSkillLevel(SkillID.Fighting, 100);
                break;

            case 6:
                builder.Name = "Dopey";
                builder.SetSkillLevel(SkillID.Fighting, 100);
                break;
            }

            var dwarf = builder.Create(this.World);

            dwarf.SetAI(new DwarfAI(dwarf));


            var gemMaterials = Materials.GetMaterials(MaterialCategory.Gem).ToArray();
            var material     = gemMaterials[m_random.Next(gemMaterials.Length)].ID;

            var itemBuilder = new ItemObjectBuilder(ItemID.Gem, material);
            var item        = itemBuilder.Create(this.World);

            item.MoveTo(dwarf);


            return(dwarf);
        }
        LivingObject CreateRandomLiving(int z)
        {
            var li = m_livingInfos[Helpers.GetRandomInt(m_livingInfos.Length)];

            var livingBuilder = new LivingObjectBuilder(li.ID);
            var living = livingBuilder.Create(m_world);
            living.SetAI(new Dwarrowdelf.AI.MonsterAI(living, 0));

            Helpers.AddBattleGear(living);

            return living;
        }