add skill to removal event
This commit is contained in:
parent
ab7625def0
commit
d77dd00e01
@ -505,7 +505,7 @@ pub enum Event {
|
|||||||
AoeSkill { skill: Skill },
|
AoeSkill { skill: Skill },
|
||||||
Skill { skill: Skill },
|
Skill { skill: Skill },
|
||||||
Effect { skill: Skill, effect: Effect, duration: u8, construct_effects: Vec<ConstructEffect> },
|
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 },
|
TargetKo { skill: Skill },
|
||||||
// skill not necessary but makes it neater as all events are arrays in js
|
// skill not necessary but makes it neater as all events are arrays in js
|
||||||
Ko (),
|
Ko (),
|
||||||
@ -1630,7 +1630,7 @@ fn electrocute(source: &mut Construct, target: &mut Construct, mut results: Reso
|
|||||||
Some(eff) => {
|
Some(eff) => {
|
||||||
let ce = source.effects.remove(eff);
|
let ce = source.effects.remove(eff);
|
||||||
results.push(Resolution::new(source, source)
|
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));
|
.stages(EventStages::PostOnly));
|
||||||
}
|
}
|
||||||
None => ()
|
None => ()
|
||||||
@ -1701,7 +1701,7 @@ fn absorption(source: &mut Construct, target: &mut Construct, mut results: Resol
|
|||||||
let ce = target.effects.remove(absorb_index);
|
let ce = target.effects.remove(absorb_index);
|
||||||
|
|
||||||
results.push(Resolution::new(source, target)
|
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));
|
.stages(EventStages::PostOnly));
|
||||||
return results;;
|
return results;;
|
||||||
}
|
}
|
||||||
@ -1819,7 +1819,7 @@ fn purge(source: &mut Construct, target: &mut Construct, mut results: Resolution
|
|||||||
if target.effects.len() > 0 {
|
if target.effects.len() > 0 {
|
||||||
target.effects.clear();
|
target.effects.clear();
|
||||||
results.push(Resolution::new(source, target)
|
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));
|
.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));
|
let amount = source.green_power().pct(skill.multiplier().saturating_mul(target.effects.len() as u64));
|
||||||
target.effects.clear();
|
target.effects.clear();
|
||||||
results.push(Resolution::new(source, target)
|
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));
|
.stages(EventStages::PostOnly));
|
||||||
target.deal_green_damage(skill, amount)
|
target.deal_green_damage(skill, amount)
|
||||||
.into_iter()
|
.into_iter()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user