move ko check into log

This commit is contained in:
ntr 2018-12-11 21:37:12 +11:00
parent 431b028859
commit f49e00f0da

View File

@ -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(());
}