survivor

graphical action game for the linux terminal
git clone https://git.ce9e.org/survivor.git

commit
75d2f3d58c7ca3abc0e0adf0ae3eca51e0750ec0
parent
b6d88b80c224108d28947b3c1dc30b1152c3f87b
Author
Viktor Bahr <viktorbahr@posteo.net>
Date
2023-03-26 16:13
feat: apply projectile damage

Diffstat

M src/game.rs 12 ++++++++++++

1 files changed, 12 insertions, 0 deletions


diff --git a/src/game.rs b/src/game.rs

@@ -206,6 +206,18 @@ impl Game {
  206   206             if dx2 + dy2 < self.player.damage_radius * self.player.damage_radius {
  207   207                 enemy.health -= self.player.power * dt;
  208   208             }
   -1   209             for projectile in self.projectiles.iter() {
   -1   210                 let projectile_dx = projectile.p.x - enemy.p.x;
   -1   211                 let projectile_dy = projectile.p.y - enemy.p.y;
   -1   212                 let projectile_size = enemy.t.size + projectile.t.size;
   -1   213                 let projectile_dx2 = projectile_dx * projectile_dx;
   -1   214                 let projectile_dy2 = projectile_dy * projectile_dy;
   -1   215                 let projectile_size2 = projectile_size * projectile_size;
   -1   216 
   -1   217                 if projectile_dx2 + projectile_dy2 < projectile_size2 {
   -1   218                     enemy.health -= projectile.t.power * dt;
   -1   219                 }
   -1   220             }
  209   221         }
  210   222 
  211   223         self.enemies = std::mem::take(&mut self.enemies)