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];