From 6153418435e1c1626bbf890302bd5058b5f1f503 Mon Sep 17 00:00:00 2001 From: ntr Date: Wed, 17 Apr 2019 12:44:03 +1000 Subject: [PATCH] fix siphon resolution --- server/src/skill.rs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/server/src/skill.rs b/server/src/skill.rs index d30ecf52..d7c23f8b 100644 --- a/server/src/skill.rs +++ b/server/src/skill.rs @@ -1059,9 +1059,9 @@ fn siphon_tick(source: &mut Cryp, target: &mut Cryp, mut results: Resolutions) - for e in siphon_events { match e { Event::Damage { amount, mitigation: _, colour: _, skill: _ } => { - let dmg = source.deal_green_damage(Skill::Siphon, amount); - for e in dmg { - results.push(Resolution::new(source, target).event(e)); + let heal = source.deal_green_damage(Skill::Siphon, amount); + for e in heal { + results.push(Resolution::new(source, source).event(e)); }; }, _ => (), @@ -1299,9 +1299,12 @@ mod tests { _ => panic!("not siphon"), }; - let Resolution { source: _, target: _, event } = results.remove(0); + let Resolution { source: _, target, event } = results.remove(0); match event { - Event::Healing { amount, skill: _, overhealing: _ } => assert_eq!(amount, 256), + Event::Healing { amount, skill: _, overhealing: _ } => { + assert_eq!(amount, 256); + assert_eq!(target.id, x.id); + }, _ => panic!("not healing"), };