fix recharge show current red / blue life during combat, skip if 0 recharge and apply css
This commit is contained in:
parent
16d319c706
commit
962b72b85f
@ -10,8 +10,6 @@
|
||||
|
||||
* can't reset password without knowing password =\
|
||||
|
||||
* fix recharge combat display bug
|
||||
|
||||
## SOON (Before or After PAX)
|
||||
|
||||
* bot game grind
|
||||
|
||||
@ -177,7 +177,10 @@ function getText(resolution, sequence) {
|
||||
|
||||
if (type === 'Recharge') {
|
||||
const { red, blue } = event;
|
||||
return { text: [`+${red}R ${blue}B`, ''], css: '' };
|
||||
if (red > 0 && blue > 0) return { text: [`+${red}R +${blue}B`, ''], css: 'purple-damage' };
|
||||
if (red > 0) return { text: [`+${red}R`, ''], css: 'red-damage' };
|
||||
if (blue > 0) return { text: [`+${blue}B`, ''], css: 'blue-damage' };
|
||||
return nullText;
|
||||
}
|
||||
|
||||
if (type === 'Removal') {
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user