starting to work on enemy attacks and player health
This commit is contained in:
+11
-8
@@ -40,6 +40,7 @@ public partial class EnemyController : TurnController
|
||||
newEnemy.RightClicked += HandleEnemyRightClick;
|
||||
|
||||
newEnemy._speed = Globals._rng.Next(2,4+1);
|
||||
newEnemy._hitRange = Globals._rng.Next(1,2+1);
|
||||
newEnemy.Modulate = new Color(newEnemy._speed == 2 ? "#FF0000" : newEnemy._speed == 3 ? "#00FF00" : "#0000FF");
|
||||
newEnemy._enemyController = this;
|
||||
|
||||
@@ -50,14 +51,15 @@ public partial class EnemyController : TurnController
|
||||
|
||||
}
|
||||
|
||||
public void EnemyAttacks()
|
||||
public List<Enemy> EnemyAttacks()
|
||||
{
|
||||
List<Enemy> attackingEnemies = [.. _enemies.Where(e => e._address.Y <= e._hitRange)];
|
||||
for (int i = 0; i < attackingEnemies.Count; i++)
|
||||
{
|
||||
Enemy enemy = attackingEnemies[i];
|
||||
// enemy.Attack();
|
||||
enemy.Attack(_playerController);
|
||||
}
|
||||
return attackingEnemies;
|
||||
}
|
||||
|
||||
public void GetRemainingSpeed(Enemy ENEMY)
|
||||
@@ -93,12 +95,13 @@ public partial class EnemyController : TurnController
|
||||
AddEnemies(positions);
|
||||
}
|
||||
|
||||
public void MoveEnemies()
|
||||
public void MoveEnemies(List<Enemy> EXCLUDE_ENEMIES)
|
||||
{
|
||||
Map map = _playArea._map;
|
||||
for (int i = 0; i < _enemies.Count; i++)
|
||||
List<Enemy> movingEnmies = [.. _enemies.Where(e => !EXCLUDE_ENEMIES.Contains(e))];
|
||||
for (int i = 0; i < movingEnmies.Count; i++)
|
||||
{
|
||||
Enemy enemy = _enemies[i];
|
||||
Enemy enemy = movingEnmies[i];
|
||||
GetRemainingSpeed(enemy);
|
||||
|
||||
if (enemy._speedRemaining > 0)
|
||||
@@ -112,7 +115,7 @@ public partial class EnemyController : TurnController
|
||||
}
|
||||
}
|
||||
|
||||
List<Enemy> remainingEnemies = GetRemainingEnemies(_enemies);
|
||||
List<Enemy> remainingEnemies = GetRemainingEnemies(movingEnmies);
|
||||
_enemies.ForEach(e => e._path.Clear());
|
||||
if (remainingEnemies.Count == 0)
|
||||
{
|
||||
@@ -196,9 +199,9 @@ public partial class EnemyController : TurnController
|
||||
{
|
||||
AddEnemies(1);
|
||||
|
||||
MoveEnemies();
|
||||
List<Enemy> attackingEnemies = EnemyAttacks();
|
||||
|
||||
EnemyAttacks();
|
||||
MoveEnemies(attackingEnemies);
|
||||
}
|
||||
|
||||
public void SetEnemy(Enemy ENEMY, Vector2I CELL)
|
||||
|
||||
Reference in New Issue
Block a user