From d77dd00e011d68be39ab81ee30037bed4f657f01 Mon Sep 17 00:00:00 2001 From: Mashy Date: Mon, 11 Nov 2019 12:07:15 +1000 Subject: [PATCH] add skill to removal event --- server/src/skill.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/server/src/skill.rs b/server/src/skill.rs index 6b621d5c..01de62c7 100644 --- a/server/src/skill.rs +++ b/server/src/skill.rs @@ -505,7 +505,7 @@ pub enum Event { AoeSkill { skill: Skill }, Skill { skill: Skill }, Effect { skill: Skill, effect: Effect, duration: u8, construct_effects: Vec }, - Removal { effect: Option, construct_effects: Vec }, + Removal { skill: Skill, effect: Option, construct_effects: Vec }, 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()