diff --git a/core/src/game.rs b/core/src/game.rs index 64e466e4..5561e50d 100644 --- a/core/src/game.rs +++ b/core/src/game.rs @@ -588,7 +588,10 @@ 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::Ko { construct } =>{ + self.construct_by_id(*construct).unwrap().effects.clear(); + vec![] + }, // Event::Cast {} => set_cooldown() _ => vec![], }; diff --git a/core/src/skill.rs b/core/src/skill.rs index a17f62e1..dd3eba6a 100644 --- a/core/src/skill.rs +++ b/core/src/skill.rs @@ -751,6 +751,10 @@ impl Cast { colour: Colour::Blue, values: vec![Value::Stat { construct: self.source, stat: Stat::BluePower, mult: self.skill.multiplier() }], }, + Action::Effect { + construct: self.target, + effect: ConstructEffect { effect: Effect::Siphoned, duration: 1, meta: None }, // immunity to additional ticks + }, Action::Heal { construct: self.source, colour: Colour::Green, @@ -768,6 +772,10 @@ impl Cast { colour: Colour::Blue, values: vec![Value::Stat { construct: self.source, stat: Stat::BluePower, mult: self.skill.multiplier() }], }, + Action::Effect { + construct: self.target, + effect: ConstructEffect { effect: Effect::Siphoned, duration: 1, meta: None }, // immunity to additional ticks + }, Action::Heal { construct: self.source, colour: Colour::Green, @@ -785,6 +793,10 @@ impl Cast { colour: Colour::Blue, values: vec![Value::Stat { construct: self.source, stat: Stat::BluePower, mult: self.skill.multiplier() }], }, + Action::Effect { + construct: self.target, + effect: ConstructEffect { effect: Effect::Siphoned, duration: 1, meta: None }, // immunity to additional ticks + }, Action::Heal { construct: self.source, colour: Colour::Green,