diff --git a/server/src/game.rs b/server/src/game.rs index 70501192..92c58575 100644 --- a/server/src/game.rs +++ b/server/src/game.rs @@ -349,7 +349,7 @@ impl Game { let active_cryps = active_cryps as u32 as f64; let max_targets = (incoming / active_cryps).ceil(); - println!("targets {:} / {:} = {:}", incoming, active_cryps, max_targets); + // println!("targets {:} / {:} = {:}", incoming, active_cryps, max_targets); let targeted = self.stack.iter() .filter(|s| s.target_cryp_id.is_some()) @@ -406,7 +406,7 @@ impl Game { self.resolve_skills() } - fn log_resolution(&mut self, source: &Cryp, target: &Cryp, cast: &Cast) -> &mut Game { + fn log_resolution(&mut self, source: &mut Cryp, target: &mut Cryp, cast: &Cast) -> &mut Game { match cast.resolution.disable.disabled { true => { self.log.push(format!("{:} {:?} {:} disabled {:?}", source.name, cast.skill, target.name, cast.resolution.disable.effects)); @@ -432,6 +432,16 @@ impl Game { } } + if target.is_ko() { + self.log.push(format!("{:} KO", target.name)); + target.effects.clear(); + } + + if source.is_ko() { + self.log.push(format!("{:} KO", source.name)); + source.effects.clear(); + } + self } @@ -464,18 +474,10 @@ impl Game { skill.set_resolution(&mut source, &mut target); - self.log_resolution(&source, &target, skill); + self.log_resolution(&mut source, &mut target, skill); self.resolved.push(skill.clone()); - vec![&mut source, &mut target].iter_mut() - .for_each(|c| { - if c.is_ko() { - self.log.push(format!("{:} KO", c.name)); - c.effects.clear(); - } - }); - self.update_cryp(&mut source); self.update_cryp(&mut target); @@ -623,7 +625,7 @@ pub fn game_new(game: &Game, tx: &mut Transaction) -> Result<(), Error> { result.iter().next().ok_or(format_err!("no game written"))?; - println!("{:} wrote game", game.id); + // println!("{:} wrote game", game.id); return Ok(()); }