diff --git a/core/fixme.md b/core/fixme.md index b428dc28..8264dee4 100644 --- a/core/fixme.md +++ b/core/fixme.md @@ -1,5 +1,3 @@ # FIXME game ready not auto starting resolve phase - -slay animation still looks a bit weird triaged / decayed / siphoned / electrocute effect removal with purify / purge diff --git a/core/src/construct.rs b/core/src/construct.rs index 1533c618..70cf308c 100644 --- a/core/src/construct.rs +++ b/core/src/construct.rs @@ -950,7 +950,10 @@ impl Construct { if self.is_ko() { return vec![Event::TargetKo { construct: self.id }] } if let Some(p) = self.effects.iter().position(|ce| ce.effect == effect) { - self.effects.remove(p); + let ce = self.effects.remove(p); + + if ce.effect.hidden() { return vec![] } + return vec![Event::Removal { construct: self.id, effect: effect, @@ -986,11 +989,13 @@ impl Construct { if self.is_ko() { return vec![Event::TargetKo { construct: self.id }] } while let Some(ce) = self.effects.pop() { - removals.push(Event::Removal { - construct: self.id, - effect: ce.effect, - display: EventConstruct::new(self), - }); + if !ce.effect.hidden() { + removals.push(Event::Removal { + construct: self.id, + effect: ce.effect, + display: EventConstruct::new(self), + }); + } } return removals;