private IEnumerable <Unit> SetupPlayerTeam()
        {
            yield return(UnitBuilder.Create()
                         .WithId(UnitIdPool.AllocateInstance())
                         .WithName("Gooch")
                         .WithFaction(FactionTypes.Player)
                         .WithClass(ClassLookups.Fighter)
                         .WithInitiative(6)
                         .WithPosition(3, 2)
                         .Build());

            yield return(UnitBuilder.Create()
                         .WithId(UnitIdPool.AllocateInstance())
                         .WithName("Kate")
                         .WithFaction(FactionTypes.Player)
                         .WithClass(ClassLookups.Priest)
                         .WithInitiative(6)
                         .WithPosition(1, 1)
                         .Build());

            yield return(UnitBuilder.Create()
                         .WithId(UnitIdPool.AllocateInstance())
                         .WithName("Le Grandé Tudge")
                         .WithFaction(FactionTypes.Player)
                         .WithClass(ClassLookups.Rogue)
                         .WithInitiative(6)
                         .WithWeapon(ItemTemplateLookups.DeadlySosig)
                         .WithPosition(1, 4)
                         .Build());
        }
Beispiel #2
0
        private IEnumerable <Unit> SetupEnemies(int levelId)
        {
            var minEnemies = levelId / 2;

            if (minEnemies == 0)
            {
                minEnemies = 1;
            }
            var maxEnemies = levelId;

            var enemies       = new List <EnemyUnit>();
            var actualEnemies = Randomizer.Random(minEnemies, maxEnemies);

            for (var i = 0; i < actualEnemies; i++)
            {
                var randomInitiative = Randomizer.Random(1, 6);
                var randomClass      = Randomizer.Random(ClassLookups.Fighter, ClassLookups.Rogue - 1);
                var randomRace       = Randomizer.Random(RaceLookups.Human, RaceLookups.Dwarf - 1);
                var loot             = GlobalLootTable;

                var enemyId   = UnitIdPool.AllocateInstance();
                var enemyUnit = UnitBuilder.Create()
                                .WithId(enemyId)
                                .WithName($"Enemy Person {enemyId}")
                                .WithInitiative(randomInitiative)
                                .WithFaction(FactionTypes.Enemy)
                                .WithRace(randomRace)
                                .WithClass(randomClass)
                                .Build() as EnemyUnit;

                enemyUnit.LootTable = loot;
                enemyUnit.Stats.SetExperience(50);

                enemies.Add(enemyUnit);
            }

            return(enemies);
        }