diff --git a/server/src/game.rs b/server/src/game.rs index 0b68df23..8bd069d4 100755 --- a/server/src/game.rs +++ b/server/src/game.rs @@ -391,14 +391,15 @@ impl Game { } fn progress_durations(&mut self) -> &mut Game { - // FIXME - // need to get all the cryps - // and check if they cast anything - // do it once for every cryp - for mut cryp in self.stack.clone().iter() - .map(|s| self.cryp_by_id(s.source_cryp_id).unwrap().clone()) - .collect::>() { + // get all the cryps + let all_cryps = self.teams.clone() + .into_iter() + .flat_map( + |t| t.cryps + .into_iter()) + .collect::>(); + for mut cryp in all_cryps { println!("progressing durations for {:?}", cryp.name); // only reduce cooldowns if no cd was used @@ -420,7 +421,6 @@ impl Game { self } - fn is_finished(&self) -> bool { self.teams.iter().any(|t| t.cryps.iter().all(|c| c.is_ko())) }