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; } } }
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); } }
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; } } }