From b36b9553d06f739d30e2609feb13a663ae621fee Mon Sep 17 00:00:00 2001 From: ntr Date: Fri, 20 Dec 2019 13:15:40 +1000 Subject: [PATCH] cannot clear skills while ready --- core/src/game.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/core/src/game.rs b/core/src/game.rs index a729d4d0..de968301 100644 --- a/core/src/game.rs +++ b/core/src/game.rs @@ -336,7 +336,11 @@ impl Game { pub fn clear_skill(&mut self, player_id: Uuid) -> Result<&mut Game, Error> { - self.player_by_id(player_id)?; + let player = self.player_by_id(player_id)?; + if player.ready { + return Err(err_msg("cannot clear skills while ready")); + } + if self.phase != Phase::Skill { return Err(err_msg("game not in skill phase")); } @@ -2058,7 +2062,7 @@ mod tests { let resolutions = &game.resolutions[last]; assert!(resolutions.iter().any(|r| match r.event { - Event::Damage { construct, colour, amount, mitigation: _, display: _ } => + Event::Damage { construct, colour, amount, mitigation: _, display: _ } => construct == target && amount == 320.pct(50) && colour == Colour::Blue, _ => false, }));