diff --git a/src/components.rs b/src/components.rs index 22f3b9e..696eab4 100644 --- a/src/components.rs +++ b/src/components.rs @@ -243,6 +243,15 @@ pub enum BUC { Blessed, } +impl BUC { + pub fn noncursed(&self) -> bool { + match self { + BUC::Cursed => false, + _ => true, + } + } +} + #[derive(Component, Debug, Serialize, Deserialize, Eq, PartialEq, Hash, Clone)] pub struct Beatitude { pub buc: BUC, diff --git a/src/effects/triggers.rs b/src/effects/triggers.rs index ac38ccb..a82496c 100644 --- a/src/effects/triggers.rs +++ b/src/effects/triggers.rs @@ -1,4 +1,4 @@ -use super::{ add_effect, get_noncursed, particles, spatial, EffectType, Entity, Targets, World }; +use super::{ add_effect, particles, spatial, EffectType, Entity, Targets, World }; use crate::{ gamelog, gui::item_colour_ecs, @@ -205,7 +205,7 @@ fn handle_healing( healing_item.modifier; add_effect( event.source, - EffectType::Healing { amount: roll, increment_max: get_noncursed(&event.buc) }, + EffectType::Healing { amount: roll, increment_max: event.buc.noncursed() }, event.target.clone() ); for target in get_entity_targets(&event.target) {