From 86b73fc71a9f08a1b1f360d7c7bdd6f7fa2de1d7 Mon Sep 17 00:00:00 2001 From: Mashy Date: Tue, 1 Oct 2019 17:16:18 +1000 Subject: [PATCH] match electric buff check --- server/src/skill.rs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/server/src/skill.rs b/server/src/skill.rs index 949cbec5..966771c0 100644 --- a/server/src/skill.rs +++ b/server/src/skill.rs @@ -1560,11 +1560,16 @@ fn electrify(source: &mut Construct, target: &mut Construct, mut results: Resolu fn electrocute(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions { // Remove electric buff, no need to display if construct is dead if !source.is_ko() { - let electric = source.effects.iter().position(|e| e.effect == Effect::Electric).expect("No electrify"); - let ce = source.effects.remove(electric); - results.push(Resolution::new(source, source) - .event(Event::Removal { effect: ce.effect, construct_effects: source.effects.clone() }) - .stages(EventStages::PostOnly)); + let electric = source.effects.iter().position(|e| e.effect == Effect::Electric); + match electric { + Some(eff) => { + let ce = source.effects.remove(eff); + results.push(Resolution::new(source, source) + .event(Event::Removal { effect: ce.effect, construct_effects: source.effects.clone() }) + .stages(EventStages::PostOnly)); + } + None => () + } } let ConstructEffect { effect, duration, meta, tick: _ } = skill.effect()[0];