From f880a2acd7836369e2874ad9925cc4752cf01df2 Mon Sep 17 00:00:00 2001 From: ntr Date: Sun, 8 Dec 2019 16:34:06 +1000 Subject: [PATCH] slay healing tbi --- core/src/game.rs | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/core/src/game.rs b/core/src/game.rs index b9e70d37..102aa552 100644 --- a/core/src/game.rs +++ b/core/src/game.rs @@ -510,7 +510,16 @@ impl Game { Value::ColourSkills { construct, colour, mult } => unimplemented!(), - Value::DamageTaken { construct, colour, mult } => unimplemented!(), + Value::DamageTaken { construct, colour, mult } => + resolutions.iter().fold(0, |dmg, res| match res.event { + Event::Damage { construct: event_construct, amount, mitigation:_, colour: event_colour, display: _ } => + match *construct == event_construct && *colour == event_colour { + true => dmg + amount, + false => dmg, + } + _ => dmg, + }), + // Skills { construct: Uuid, colour: Colour }, } }) @@ -1681,4 +1690,15 @@ mod tests { println!("{:?}", game.resolutions); } + + #[test] + fn slay_test() { + let mut game = create_2v2_test_game(); + let player_id = game.players[0].id; + let source = game.players[0].constructs[0].id; + let target = game.players[1].constructs[0].id; + + game.resolve(Cast::new(source, player_id, target, Skill::Slay)); + println!("{:#?}", game.resolutions); + } }