From b1a7c75f9d563a3f913f44e0a5bb93269487de1f Mon Sep 17 00:00:00 2001 From: Justin Worthe Date: Mon, 4 Jun 2018 23:21:02 +0200 Subject: Moved to replays that have missile position fix --- src/engine/mod.rs | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) (limited to 'src') diff --git a/src/engine/mod.rs b/src/engine/mod.rs index 361744b..a4334f5 100644 --- a/src/engine/mod.rs +++ b/src/engine/mod.rs @@ -196,18 +196,16 @@ impl GameState { where F: FnMut(&mut Point) { let mut missiles_len = missiles.len(); 'missile_loop: for m in (0..missiles.len()).rev() { - let mut missile_hit = false; 'speed_loop: for _ in 0..missiles[m].speed { wrapping_move_fn(&mut missiles[m].pos); if missiles[m].pos.x >= settings.size.x { let damage = cmp::min(missiles[m].damage, opponent.health); opponent.health -= damage; - missile_hit = true; - //missiles_len -= 1; - //missiles.swap(m, missiles_len); + missiles_len -= 1; + missiles.swap(m, missiles_len); - continue 'speed_loop; + continue 'missile_loop; } else { for b in 0..opponent_buildings.len() { @@ -215,9 +213,8 @@ impl GameState { let damage = cmp::min(missiles[m].damage, opponent_buildings[b].health); opponent_buildings[b].health -= damage; - missile_hit = true; - //missiles_len -= 1; - //missiles.swap(m, missiles_len); + missiles_len -= 1; + missiles.swap(m, missiles_len); if opponent_buildings[b].health == 0 { unoccupied_cells.push(opponent_buildings[b].pos); @@ -225,15 +222,11 @@ impl GameState { opponent_buildings.swap_remove(b); } //after game engine bug fix, this should go back to missile_loop - continue 'speed_loop; + continue 'missile_loop; } } } } - if missile_hit { - missiles_len -= 1; - missiles.swap(m, missiles_len); - } } missiles.truncate(missiles_len); } -- cgit v1.2.3