match electric buff check

This commit is contained in:
Mashy 2019-10-01 17:16:18 +10:00
parent d44acdffd5
commit 86b73fc71a

View File

@ -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 { 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 // Remove electric buff, no need to display if construct is dead
if !source.is_ko() { if !source.is_ko() {
let electric = source.effects.iter().position(|e| e.effect == Effect::Electric).expect("No electrify"); let electric = source.effects.iter().position(|e| e.effect == Effect::Electric);
let ce = source.effects.remove(electric); match electric {
results.push(Resolution::new(source, source) Some(eff) => {
.event(Event::Removal { effect: ce.effect, construct_effects: source.effects.clone() }) let ce = source.effects.remove(eff);
.stages(EventStages::PostOnly)); 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]; let ConstructEffect { effect, duration, meta, tick: _ } = skill.effect()[0];