From 93deb557338d9ae22e4b0db3440b16f4975f50d3 Mon Sep 17 00:00:00 2001 From: ntr Date: Sun, 9 Jun 2019 16:43:50 +1000 Subject: [PATCH] change reflect to only affect blue --- server/src/skill.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/server/src/skill.rs b/server/src/skill.rs index 87e9058b..18d1abb2 100644 --- a/server/src/skill.rs +++ b/server/src/skill.rs @@ -65,13 +65,13 @@ pub fn resolve(skill: Skill, source: &mut Construct, target: &mut Construct, mut return resolutions; } - if target.affected(Effect::Reflect) { + if target.affected(Effect::Reflect) && skill.colours().contains(&Colour::Blue) { // guard against overflow if source.affected(Effect::Reflect) { return resolutions; } 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) { @@ -1840,13 +1840,13 @@ mod tests { assert!(y.affected(Effect::Reflect)); 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); let Resolution { source: _, target: _, event, stages: _ } = results.remove(0); match event { - Event::Reflection { skill } => assert_eq!(skill, Skill::Attack), + Event::Reflection { skill } => assert_eq!(skill, Skill::BlastI), _ => panic!("not reflection"), };