diff --git a/core/src/effect.rs b/core/src/effect.rs index 549bb4aa..601a77d8 100644 --- a/core/src/effect.rs +++ b/core/src/effect.rs @@ -121,13 +121,7 @@ impl Effect { } pub fn disables_skill(&self, skill: Skill) -> bool { - if skill.is_tick() { - return false; - } - - // electrocute always goes off baybee - // even if you are stunned particularly - if [Skill::Electrocute, Skill::ElectrocutePlus, Skill::ElectrocutePlusPlus].contains(&skill) { + if !skill.can_be_disabled() { return false; } diff --git a/core/src/skill.rs b/core/src/skill.rs index 0c7f2338..9c03baed 100644 --- a/core/src/skill.rs +++ b/core/src/skill.rs @@ -834,6 +834,22 @@ impl Skill { } } + pub fn can_be_disabled(self) -> bool { + match self { + Skill::ElectrocuteTick | + Skill::DecayTick | + Skill::SiphonTick | + Skill::TriageTick | + Skill::Electrocute | + Skill::ElectrocutePlus | + Skill::ElectrocutePlusPlus | + Skill::Absorption | + Skill::AbsorptionPlus | + Skill::AbsorptionPlusPlus => false, + _ => true, + } + } + pub fn additional_skill(&self, effect: Effect) -> Option { match effect { Effect::Haste => match self {