From d3e0fd2f3c7b1f538b20ca8510af02b015962a6d Mon Sep 17 00:00:00 2001 From: ntr Date: Tue, 26 Mar 2019 14:25:16 +1100 Subject: [PATCH] reflection log --- server/WORKLOG.md | 2 +- server/src/game.rs | 4 ++++ server/src/skill.rs | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/server/WORKLOG.md b/server/WORKLOG.md index ad812a5f..9653f987 100644 --- a/server/WORKLOG.md +++ b/server/WORKLOG.md @@ -22,7 +22,7 @@ ensure all skills impl Skill::Slay -> red attack with bonus somethingorother for blue / maim no healing Hatred -> damage received converted into bonus dmg -change inversion to several events +siphon test make parry semi-aggressive constants diff --git a/server/src/game.rs b/server/src/game.rs index 3c7475b1..27784734 100644 --- a/server/src/game.rs +++ b/server/src/game.rs @@ -520,6 +520,10 @@ impl Game { self.log.push(format!("[{:}] {:} {:?} {:} INVERTED", speed, source.name, skill, target.name)), + Event::Reflection { skill } => + self.log.push(format!("[{:}] {:} {:?} {:} REFLECTED", + speed, source.name, skill, target.name)), + Event::Effect { skill, effect, duration } => self.log.push(format!("[{:}] {:} {:?} {:} {:?} {:}T", speed, source.name, skill, target.name, effect, duration)), diff --git a/server/src/skill.rs b/server/src/skill.rs index bc4977c8..eef09f13 100644 --- a/server/src/skill.rs +++ b/server/src/skill.rs @@ -78,6 +78,7 @@ pub enum Event { Healing { skill: Skill, amount: u64, overhealing: u64 }, Recharge { skill: Skill, red: u64, blue: u64 }, Inversion { skill: Skill }, + Reflection { skill: Skill }, Effect { skill: Skill, effect: Effect, duration: u8 }, Removal { effect: Effect }, Evasion { skill: Skill, evasion_rating: u64 }, @@ -630,6 +631,7 @@ impl Skill { if source.affected(Effect::Reflect) { return results; } + results.push(Resolution::new(source, target).event(Event::Reflection { skill: *self })); return self.resolve(target, source); }