reflection log

This commit is contained in:
ntr 2019-03-26 14:25:16 +11:00
parent dda728bfb8
commit d3e0fd2f3c
3 changed files with 7 additions and 1 deletions

View File

@ -22,7 +22,7 @@ ensure all skills impl
Skill::Slay -> red attack with bonus somethingorother for blue / maim no healing Skill::Slay -> red attack with bonus somethingorother for blue / maim no healing
Hatred -> damage received converted into bonus dmg Hatred -> damage received converted into bonus dmg
change inversion to several events siphon test
make parry semi-aggressive make parry semi-aggressive
constants constants

View File

@ -520,6 +520,10 @@ impl Game {
self.log.push(format!("[{:}] {:} {:?} {:} INVERTED", self.log.push(format!("[{:}] {:} {:?} {:} INVERTED",
speed, source.name, skill, target.name)), 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 } => Event::Effect { skill, effect, duration } =>
self.log.push(format!("[{:}] {:} {:?} {:} {:?} {:}T", self.log.push(format!("[{:}] {:} {:?} {:} {:?} {:}T",
speed, source.name, skill, target.name, effect, duration)), speed, source.name, skill, target.name, effect, duration)),

View File

@ -78,6 +78,7 @@ pub enum Event {
Healing { skill: Skill, amount: u64, overhealing: u64 }, Healing { skill: Skill, amount: u64, overhealing: u64 },
Recharge { skill: Skill, red: u64, blue: u64 }, Recharge { skill: Skill, red: u64, blue: u64 },
Inversion { skill: Skill }, Inversion { skill: Skill },
Reflection { skill: Skill },
Effect { skill: Skill, effect: Effect, duration: u8 }, Effect { skill: Skill, effect: Effect, duration: u8 },
Removal { effect: Effect }, Removal { effect: Effect },
Evasion { skill: Skill, evasion_rating: u64 }, Evasion { skill: Skill, evasion_rating: u64 },
@ -630,6 +631,7 @@ impl Skill {
if source.affected(Effect::Reflect) { if source.affected(Effect::Reflect) {
return results; return results;
} }
results.push(Resolution::new(source, target).event(Event::Reflection { skill: *self }));
return self.resolve(target, source); return self.resolve(target, source);
} }