change reflect to only affect blue
This commit is contained in:
parent
240d05206a
commit
93deb55733
@ -65,13 +65,13 @@ pub fn resolve(skill: Skill, source: &mut Construct, target: &mut Construct, mut
|
|||||||
return resolutions;
|
return resolutions;
|
||||||
}
|
}
|
||||||
|
|
||||||
if target.affected(Effect::Reflect) {
|
if target.affected(Effect::Reflect) && skill.colours().contains(&Colour::Blue) {
|
||||||
// guard against overflow
|
// guard against overflow
|
||||||
if source.affected(Effect::Reflect) {
|
if source.affected(Effect::Reflect) {
|
||||||
return resolutions;
|
return resolutions;
|
||||||
}
|
}
|
||||||
resolutions.push(Resolution::new(source, target).event(Event::Reflection { skill }));
|
resolutions.push(Resolution::new(source, target).event(Event::Reflection { skill }));
|
||||||
return resolve(skill, target, source, resolutions);
|
return resolve(skill, &mut source.clone(), source, resolutions);
|
||||||
}
|
}
|
||||||
|
|
||||||
if source.affected(Effect::Haste) {
|
if source.affected(Effect::Haste) {
|
||||||
@ -1840,13 +1840,13 @@ mod tests {
|
|||||||
assert!(y.affected(Effect::Reflect));
|
assert!(y.affected(Effect::Reflect));
|
||||||
|
|
||||||
let mut results = vec![];
|
let mut results = vec![];
|
||||||
results = resolve(Skill::Attack, &mut x, &mut y, results);
|
results = resolve(Skill::BlastI, &mut x, &mut y, results);
|
||||||
|
|
||||||
assert!(x.green_life() < 1024);
|
assert!(x.green_life() < 1024);
|
||||||
|
|
||||||
let Resolution { source: _, target: _, event, stages: _ } = results.remove(0);
|
let Resolution { source: _, target: _, event, stages: _ } = results.remove(0);
|
||||||
match event {
|
match event {
|
||||||
Event::Reflection { skill } => assert_eq!(skill, Skill::Attack),
|
Event::Reflection { skill } => assert_eq!(skill, Skill::BlastI),
|
||||||
_ => panic!("not reflection"),
|
_ => panic!("not reflection"),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user