private void InintializePrincessAndDragon(bool reset) { if (!reset) { princess = new Drawable(); princess.texture = 'P'; princess.color = ConsoleColor.Magenta; princess.tag = "Princess"; onUpdate.Add(princess.Update); dragon = new Drawable(); dragon.color = ConsoleColor.Red; dragon.texture = 'D'; dragon.tag = "Enemy"; dragon.active = true; var enemyAI = new cEnemyAI(player, pcStats, new Point(-1, -1), "Dragon", 215 + (pcStats.level * 5), 35 + (pcStats.level * 2), 10, 8 + (pcStats.level / 10), 1.5, 0.25); dragon.AddComponent(enemyAI); onUpdate.Add(dragon.Update); } int flr = Math.Abs(this.floor); if (flr % 10 == 0 && flr != 0) { Point p = Point.GetRandomPointInWorld(); princess.pos.xPos = p.X; princess.pos.yPos = p.Y; p = Point.GetRandomPointInWorld(); dragon.GetComponent <cEnemyAI>().StartingPosition = p; dragon.pos.xPos = p.X; dragon.pos.yPos = p.Y; dragon.active = true; } else { princess.pos.xPos = -1; princess.pos.yPos = -1; dragon.pos.xPos = -1; dragon.pos.yPos = -1; dragon.active = false; } princess.active = true; }
private void InitializeEnemies(bool reset) { if (reset) { for (int i = 0; i < enemyCount - 1; i++) { if (onUpdate.Contains(enemy[i].Update)) { onUpdate.Remove(enemy[i].Update); } } } enemy = new Drawable[enemyCount]; enemyAI = new cEnemyAI[enemyCount]; for (int i = 0; i < enemyCount; i++) { enemy[i] = new Drawable(); enemy[i].color = ConsoleColor.Red; Utils.Point enemyPos = Utils.Point.GetRandomPointInWorldAwayFromPlayer(); enemy[i].pos.xPos = enemyPos.X; enemy[i].pos.yPos = enemyPos.Y; var r = rng.NextDouble(); if (r < 0.25) { r = rng.NextDouble(); if (r < 0.6 - Math.Max(-0.6, pcStats.level * -0.01)) { enemy[i].texture = 'e'; enemy[i].tag = "Enemy"; enemy[i].active = true; enemyAI[i] = new cEnemyAI(player, pcStats, enemyPos, "Rats", 40 + (pcStats.level * 2), 10 + pcStats.level, 5, 6 + (pcStats.level / 10), 1.5, 0.10); enemy[i].AddComponent(enemyAI[i]); onUpdate.Add(enemy[i].Update); } else { enemy[i].texture = 'E'; enemy[i].tag = "Enemy"; enemy[i].active = true; enemyAI[i] = new cEnemyAI(player, pcStats, enemyPos, "Skeleton", 75 + (pcStats.level * 5), 20 + (pcStats.level * 2), 10, 4 + (pcStats.level / 10), 1.5, 0.25); enemy[i].AddComponent(enemyAI[i]); onUpdate.Add(enemy[i].Update); } } else { r = rng.NextDouble(); if (r < 0.6 - Math.Max(-0.6, pcStats.level * -0.01)) { enemy[i].texture = 's'; enemy[i].tag = "Enemy"; enemy[i].active = true; enemyAI[i] = new cEnemyAI(player, pcStats, enemyPos, "Hornet", 20 + (pcStats.level * 1), 4 + pcStats.level, 1, 6 + (pcStats.level / 10), 3, 0.10); enemy[i].AddComponent(enemyAI[i]); onUpdate.Add(enemy[i].Update); } else { enemy[i].texture = 'S'; enemy[i].tag = "Enemy"; enemy[i].active = true; enemyAI[i] = new cEnemyAI(player, pcStats, enemyPos, "Archer", 40 + (pcStats.level * 5), 8 + (pcStats.level * 2), 1, 4 + (pcStats.level / 10), 4.5, 0.25); enemy[i].AddComponent(enemyAI[i]); onUpdate.Add(enemy[i].Update); } } } }