fix ticks properly..."
This commit is contained in:
parent
0b6f609aad
commit
d8c5effb2d
@ -1429,6 +1429,9 @@ mod tests {
|
|||||||
let x_cryp = x_player.cryps[0].clone();
|
let x_cryp = x_player.cryps[0].clone();
|
||||||
let y_cryp = y_player.cryps[0].clone();
|
let y_cryp = y_player.cryps[0].clone();
|
||||||
|
|
||||||
|
// make the purify cryp super fast so it beats out decay
|
||||||
|
game.cryp_by_id(y_cryp.id).unwrap().speed.force(10000000);
|
||||||
|
|
||||||
game.cryp_by_id(x_cryp.id).unwrap().learn_mut(Skill::Decay);
|
game.cryp_by_id(x_cryp.id).unwrap().learn_mut(Skill::Decay);
|
||||||
while game.cryp_by_id(x_cryp.id).unwrap().skill_on_cd(Skill::Decay).is_some() {
|
while game.cryp_by_id(x_cryp.id).unwrap().skill_on_cd(Skill::Decay).is_some() {
|
||||||
game.cryp_by_id(x_cryp.id).unwrap().reduce_cooldowns();
|
game.cryp_by_id(x_cryp.id).unwrap().reduce_cooldowns();
|
||||||
@ -1467,7 +1470,8 @@ mod tests {
|
|||||||
|
|
||||||
while let Some(Resolution { source: _, target: _, event }) = game.resolved.pop() {
|
while let Some(Resolution { source: _, target: _, event }) = game.resolved.pop() {
|
||||||
match event {
|
match event {
|
||||||
Event::Damage { amount: _, skill: _, mitigation: _, colour: _ } => panic!("{:?} damage event", event),
|
Event::Damage { amount: _, skill: _, mitigation: _, colour: _ } =>
|
||||||
|
panic!("{:?} damage event", event),
|
||||||
_ => (),
|
_ => (),
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -1486,7 +1490,8 @@ mod tests {
|
|||||||
|
|
||||||
while let Some(Resolution { source: _, target: _, event }) = game.resolved.pop() {
|
while let Some(Resolution { source: _, target: _, event }) = game.resolved.pop() {
|
||||||
match event {
|
match event {
|
||||||
Event::Damage { amount: _, skill: _, mitigation: _, colour: _ } => panic!("{:?} damage event", event),
|
Event::Damage { amount: _, skill: _, mitigation: _, colour: _ } =>
|
||||||
|
panic!("{:#?} {:#?} damage event", game.resolved, event),
|
||||||
_ => (),
|
_ => (),
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@ -35,7 +35,7 @@ pub fn pre_resolve(cast: &Cast, game: &mut Game, mut resolutions: Resolutions) -
|
|||||||
if cast.is_tick && target.effects.iter().find(|ce| match ce.tick {
|
if cast.is_tick && target.effects.iter().find(|ce| match ce.tick {
|
||||||
Some(t) => t.id == cast.id,
|
Some(t) => t.id == cast.id,
|
||||||
None => false,
|
None => false,
|
||||||
}).is_some() {
|
}).is_none() {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1405,7 +1405,7 @@ fn purify(source: &mut Cryp, target: &mut Cryp, mut results: Resolutions, skill:
|
|||||||
let amount = source.green_damage().pct(skill.multiplier());
|
let amount = source.green_damage().pct(skill.multiplier());
|
||||||
while let Some(i) = target.effects
|
while let Some(i) = target.effects
|
||||||
.iter()
|
.iter()
|
||||||
.position(|ce| [Category::Debuff, Category::Debuff].contains(&ce.effect.category())) {
|
.position(|ce| Category::Debuff == ce.effect.category()) {
|
||||||
let ce = target.effects.remove(i);
|
let ce = target.effects.remove(i);
|
||||||
results.push(Resolution::new(source, target).event(Event::Removal { effect: ce.effect }));
|
results.push(Resolution::new(source, target).event(Event::Removal { effect: ce.effect }));
|
||||||
target.deal_green_damage(skill, amount)
|
target.deal_green_damage(skill, amount)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user