add skill to removal event

This commit is contained in:
Mashy 2019-11-11 12:07:15 +10:00
parent ab7625def0
commit d77dd00e01

View File

@ -505,7 +505,7 @@ pub enum Event {
AoeSkill { skill: Skill },
Skill { skill: Skill },
Effect { skill: Skill, effect: Effect, duration: u8, construct_effects: Vec<ConstructEffect> },
Removal { effect: Option<Effect>, construct_effects: Vec<ConstructEffect> },
Removal { skill: Skill, effect: Option<Effect>, construct_effects: Vec<ConstructEffect> },
TargetKo { skill: Skill },
// skill not necessary but makes it neater as all events are arrays in js
Ko (),
@ -1630,7 +1630,7 @@ fn electrocute(source: &mut Construct, target: &mut Construct, mut results: Reso
Some(eff) => {
let ce = source.effects.remove(eff);
results.push(Resolution::new(source, source)
.event(Event::Removal { effect: Some(ce.effect), construct_effects: source.effects.clone() })
.event(Event::Removal { skill, effect: Some(ce.effect), construct_effects: source.effects.clone() })
.stages(EventStages::PostOnly));
}
None => ()
@ -1701,7 +1701,7 @@ fn absorption(source: &mut Construct, target: &mut Construct, mut results: Resol
let ce = target.effects.remove(absorb_index);
results.push(Resolution::new(source, target)
.event(Event::Removal { effect: Some(ce.effect), construct_effects: target.effects.clone() })
.event(Event::Removal { skill, effect: Some(ce.effect), construct_effects: target.effects.clone() })
.stages(EventStages::PostOnly));
return results;;
}
@ -1819,7 +1819,7 @@ fn purge(source: &mut Construct, target: &mut Construct, mut results: Resolution
if target.effects.len() > 0 {
target.effects.clear();
results.push(Resolution::new(source, target)
.event(Event::Removal { effect: None, construct_effects: target.effects.clone() })
.event(Event::Removal { skill, effect: None, construct_effects: target.effects.clone() })
.stages(EventStages::PostOnly));
}
@ -1835,7 +1835,7 @@ fn purify(source: &mut Construct, target: &mut Construct, mut results: Resolutio
let amount = source.green_power().pct(skill.multiplier().saturating_mul(target.effects.len() as u64));
target.effects.clear();
results.push(Resolution::new(source, target)
.event(Event::Removal { effect: None, construct_effects: target.effects.clone() })
.event(Event::Removal { skill, effect: None, construct_effects: target.effects.clone() })
.stages(EventStages::PostOnly));
target.deal_green_damage(skill, amount)
.into_iter()