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,12 +1560,17 @@ 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 {
Some(eff) => {
let ce = source.effects.remove(eff);
results.push(Resolution::new(source, source) results.push(Resolution::new(source, source)
.event(Event::Removal { effect: ce.effect, construct_effects: source.effects.clone() }) .event(Event::Removal { effect: ce.effect, construct_effects: source.effects.clone() })
.stages(EventStages::PostOnly)); .stages(EventStages::PostOnly));
} }
None => ()
}
}
let ConstructEffect { effect, duration, meta, tick: _ } = skill.effect()[0]; let ConstructEffect { effect, duration, meta, tick: _ } = skill.effect()[0];
let tick_skill = match meta { let tick_skill = match meta {