fix few bugs
This commit is contained in:
+6
-6
@@ -415,7 +415,7 @@ pub enum EventStages {
|
||||
EndPost, // Skip Anim Anim
|
||||
EndOnly, // Skip Anim Skip
|
||||
PostOnly, // Skip Skip Anim
|
||||
NoStages, // Skip Skip Skip
|
||||
NoStages, // Skip Skip Skip
|
||||
}
|
||||
|
||||
#[derive(Debug,Clone,PartialEq,Serialize,Deserialize)]
|
||||
@@ -1395,7 +1395,7 @@ fn sustain(source: &mut Construct, target: &mut Construct, mut results: Resoluti
|
||||
fn intercept(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions {
|
||||
let intercept = skill.effect()[0];
|
||||
results.push(Resolution::new(source, target).event(target.add_effect(skill, intercept)));
|
||||
|
||||
|
||||
let red_amount = source.red_power().pct(skill.multiplier());
|
||||
let e = target.recharge(skill, red_amount, 0);
|
||||
let stages = match e {
|
||||
@@ -1614,7 +1614,7 @@ fn electrocute(source: &mut Construct, target: &mut Construct, mut results: Reso
|
||||
None => ()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
let ConstructEffect { effect, duration, meta, tick: _ } = skill.effect()[0];
|
||||
let tick_skill = match meta {
|
||||
Some(EffectMeta::Skill(s)) => s,
|
||||
@@ -1660,10 +1660,10 @@ fn absorption(source: &mut Construct, target: &mut Construct, mut results: Resol
|
||||
results.push(Resolution::new(source, target)
|
||||
.event(target.add_effect(reflect_skill, absorb))
|
||||
.stages(EventStages::PostOnly));
|
||||
|
||||
|
||||
let absorb_index = target.effects.iter().position(|e| e.effect == Effect::Absorb).expect("No absorb");
|
||||
let ce = target.effects.remove(absorb_index);
|
||||
|
||||
|
||||
results.push(Resolution::new(source, target)
|
||||
.event(Event::Removal { effect: ce.effect, construct_effects: target.effects.clone() })
|
||||
.stages(EventStages::PostOnly));
|
||||
@@ -1717,7 +1717,7 @@ fn recharge(source: &mut Construct, target: &mut Construct, mut results: Resolut
|
||||
}
|
||||
|
||||
fn siphon(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions {
|
||||
|
||||
|
||||
let skip_tick = target.effects.iter().any(|e| e.effect == Effect::Siphon);
|
||||
let ConstructEffect { effect, duration, meta, tick: _ } = skill.effect()[0];
|
||||
let tick_skill = match meta {
|
||||
|
||||
Reference in New Issue
Block a user