From 1f2dcbe83f6f045850b54f8afded42bd23657ea2 Mon Sep 17 00:00:00 2001 From: Mashy Date: Fri, 31 Jan 2020 13:29:29 +1000 Subject: [PATCH] can_be_disabled skill fix (absorption) --- core/src/effect.rs | 8 +------- core/src/skill.rs | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 7 deletions(-) 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 {