diff --git a/core/src/construct.rs b/core/src/construct.rs index 82b8f2e3..b3155f54 100644 --- a/core/src/construct.rs +++ b/core/src/construct.rs @@ -913,6 +913,8 @@ impl Construct { } pub fn damage_trigger_casts(&mut self, cast: &Cast, event: &Event) -> Vec { + if self.is_ko() { return vec![] } + match event { Event::Damage { construct, colour, amount, mitigation, display: _ } => { let mut casts = vec![]; diff --git a/core/src/game.rs b/core/src/game.rs index fb3606d8..7040b95b 100644 --- a/core/src/game.rs +++ b/core/src/game.rs @@ -549,6 +549,8 @@ impl Game { let casts = match event { Event::Damage { construct, colour, amount, mitigation, display: _ } => self.construct_by_id(*construct).unwrap().damage_trigger_casts(cast, event), + // Event::Ko {} => recalculate_stats() + // Event::Cast {} => set_cooldown() _ => vec![], }; @@ -573,10 +575,10 @@ impl Game { Value::Effects { construct, mult } => self.construct_by_id(*construct).unwrap().effects.len().pct(*mult), - Value::ColourSkills { construct, colour, mult } => unimplemented!(), - // self.construct_by_id(*construct).unwrap().skills.iter() - // .filter(|ce| ce.) - // .count(), + Value::ColourSkills { construct, colour, mult } => + self.construct_by_id(*construct).unwrap().skills.iter() + .filter(|cs| cs.) + .count(), Value::DamageTaken { construct, colour, mult } => events.iter().fold(0, |dmg, e| match e {