fix recharge show current red / blue life during combat, skip if 0 recharge and apply css
This commit is contained in:
+41
-15
@@ -1358,22 +1358,36 @@ fn sleep(source: &mut Construct, target: &mut Construct, mut results: Resolution
|
||||
|
||||
fn sustain(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions {
|
||||
let red_amount = source.red_power().pct(skill.multiplier());
|
||||
results.push(Resolution::new(source, target)
|
||||
.event(target.recharge(skill, red_amount, 0)));
|
||||
results.push(Resolution::new(source, target).event(target.add_effect(skill, skill.effect()[0])));
|
||||
let e = target.recharge(skill, red_amount, 0);
|
||||
let stages = match e {
|
||||
Event::Recharge { red, blue, skill: _ } => {
|
||||
if red > 0 || blue > 0 { EventStages::PostOnly }
|
||||
else { EventStages::None }
|
||||
}
|
||||
_ => panic!("not recharge")
|
||||
};
|
||||
|
||||
results.push(Resolution::new(source, target)
|
||||
.event(target.add_effect(skill, skill.effect()[0]))
|
||||
.stages(EventStages::PostOnly));
|
||||
results.push(Resolution::new(source, target).event(e).stages(stages));
|
||||
|
||||
return results;
|
||||
}
|
||||
|
||||
fn intercept(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions {
|
||||
let red_amount = source.red_power().pct(skill.multiplier());
|
||||
results.push(Resolution::new(source, target).event(target.recharge(skill, red_amount, 0)));
|
||||
|
||||
let intercept = skill.effect()[0];
|
||||
results.push(Resolution::new(source, target).event(target.add_effect(skill, intercept)).stages(EventStages::PostOnly));
|
||||
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 {
|
||||
Event::Recharge { red, blue, skill: _ } => {
|
||||
if red > 0 || blue > 0 { EventStages::PostOnly }
|
||||
else { EventStages::None }
|
||||
}
|
||||
_ => panic!("not recharge")
|
||||
};
|
||||
results.push(Resolution::new(source, target).event(e).stages(stages));
|
||||
|
||||
return results;
|
||||
}
|
||||
|
||||
@@ -1656,18 +1670,30 @@ fn reflect(source: &mut Construct, target: &mut Construct, mut results: Resoluti
|
||||
results.push(Resolution::new(source, target).event(target.add_effect(skill, skill.effect()[0])));
|
||||
|
||||
let blue_amount = source.blue_power().pct(skill.multiplier());
|
||||
results.push(Resolution::new(source, target)
|
||||
.event(target.recharge(skill, 0, blue_amount))
|
||||
.stages(EventStages::PostOnly));
|
||||
|
||||
let e = target.recharge(skill, 0, blue_amount);
|
||||
let stages = match e {
|
||||
Event::Recharge { red, blue, skill: _ } => {
|
||||
if red > 0 || blue > 0 { EventStages::PostOnly }
|
||||
else { EventStages::None }
|
||||
}
|
||||
_ => panic!("not recharge")
|
||||
};
|
||||
results.push(Resolution::new(source, target).event(e).stages(stages));
|
||||
return results;;
|
||||
}
|
||||
|
||||
fn recharge(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions {
|
||||
let red_amount = source.red_power().pct(skill.multiplier());
|
||||
let blue_amount = source.blue_power().pct(skill.multiplier());
|
||||
|
||||
results.push(Resolution::new(source, target).event(target.recharge(skill, red_amount, blue_amount)));
|
||||
let e = target.recharge(skill, red_amount, blue_amount);
|
||||
let stages = match e {
|
||||
Event::Recharge { red, blue, skill: _ } => {
|
||||
if red > 0 || blue > 0 { EventStages::AllStages }
|
||||
else { EventStages::StartEnd }
|
||||
}
|
||||
_ => panic!("not recharge")
|
||||
};
|
||||
results.push(Resolution::new(source, target).event(e).stages(stages));
|
||||
return results;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user