Пример #1
0
    public void SummonBoss()
    {
        List <UnitStat.Units> enemyList = new List <UnitStat.Units>();
        UnitStat unitStat = new UnitStat();

        switch (Level.level)
        {
        case 1:
            enemyList = unitStat.GetUnitLevels(3, false);
            break;

        case 2:
            enemyList = unitStat.GetUnitLevels(3, false);
            break;

        case 3:
            enemyList = unitStat.GetUnitLevels(3, false);
            break;

        case 4:
            enemyList = unitStat.GetUnitLevels(3, true);
            break;

        case 5:
            enemyList = unitStat.GetUnitLevels(3, true);
            break;

        case 6:
            enemyList = unitStat.GetUnitLevels(3, true);
            break;

        case 7:
            enemyList = unitStat.GetUnitLevels(4, false);
            break;

        case 8:
            enemyList = unitStat.GetUnitLevels(4, false);
            break;

        case 9:
            enemyList = unitStat.GetUnitLevels(4, false);
            break;

        case 10:
            enemyList = unitStat.GetUnitLevels(4, true);
            break;

        case 11:
            enemyList = unitStat.GetUnitLevels(4, true);
            break;

        case 12:
            enemyList = unitStat.GetUnitLevels(4, true);
            break;
        }

        for (int i = 0; i < Tile.SIZE; i++)
        {
            if (Tile.type[i] == Tile.Type.End)
            {
                SummonEnemy(i, enemyList[rng.Range(0, enemyList.Count)]);
                enemies[i].boss = true;
                break;
            }
        }
    }
Пример #2
0
    public void SummonTreasureEnemies(int amount, List <int> tiles)
    {
        artifactKeepers = 0;
        List <UnitStat.Units> enemyList = new List <UnitStat.Units>();
        UnitStat unitStat = new UnitStat();

        switch (Level.level)
        {
        case 1:
            enemyList = unitStat.GetUnitLevels(2, false);
            break;

        case 2:
            enemyList = unitStat.GetUnitLevels(2, false);
            break;

        case 3:
            enemyList = unitStat.GetUnitLevels(2, false);
            break;

        case 4:
            enemyList = unitStat.GetUnitLevels(2, true);
            break;

        case 5:
            enemyList = unitStat.GetUnitLevels(2, true);
            break;

        case 6:
            enemyList = unitStat.GetUnitLevels(2, true);
            break;

        case 7:
            enemyList = unitStat.GetUnitLevels(3, false);
            break;

        case 8:
            enemyList = unitStat.GetUnitLevels(3, false);
            break;

        case 9:
            enemyList = unitStat.GetUnitLevels(3, false);
            break;

        case 10:
            enemyList = unitStat.GetUnitLevels(3, true);
            break;

        case 11:
            enemyList = unitStat.GetUnitLevels(3, true);
            break;

        case 12:
            enemyList = unitStat.GetUnitLevels(3, true);
            break;
        }

        for (int i = 0; i < amount; i++)
        {
            int rnd = rng.Range(0, tiles.Count);
            SummonEnemy(tiles[rnd], enemyList[rng.Range(0, enemyList.Count)]);
            enemies[tiles[rnd]].artifactKeeper = true;
            artifactKeepers++;

            tiles.RemoveAt(rnd);
        }
    }
Пример #3
0
    public void SummonNormalEnemies(int amount)
    {
        List <UnitStat.Units> enemyList = new List <UnitStat.Units>();
        UnitStat unitStat = new UnitStat();

        switch (Level.level)
        {
        case 1:
            enemyList = unitStat.GetUnitLevels(1, false);
            break;

        case 2:
            enemyList = unitStat.GetUnitLevels(1, false);
            break;

        case 3:
            enemyList = unitStat.GetUnitLevels(1, false);
            break;

        case 4:
            enemyList = unitStat.GetUnitLevels(1, true);
            break;

        case 5:
            enemyList = unitStat.GetUnitLevels(1, true);
            break;

        case 6:
            enemyList = unitStat.GetUnitLevels(1, true);
            break;

        case 7:
            enemyList = unitStat.GetUnitLevels(2, false);
            break;

        case 8:
            enemyList = unitStat.GetUnitLevels(2, false);
            break;

        case 9:
            enemyList = unitStat.GetUnitLevels(2, false);
            break;

        case 10:
            enemyList = unitStat.GetUnitLevels(2, true);
            break;

        case 11:
            enemyList = unitStat.GetUnitLevels(2, true);
            break;

        case 12:
            enemyList = unitStat.GetUnitLevels(2, true);
            break;
        }

        int keyKeeper = rng.Range(0, amount);

        for (int i = 0; i < amount; i++)
        {
            int rnd;
            do
            {
                rnd = rng.Range(0, 1600);
            }while (Tile.type[rnd] != Tile.Type.DungeonFloor || !Tile.passable[rnd]);

            SummonEnemy(rnd, enemyList[rng.Range(0, enemyList.Count)]);
            if (i == keyKeeper)
            {
                enemies[rnd].keyKeeper = true;
            }
        }
    }