From 65bd385540db567751405df000f6b063226d8b8a Mon Sep 17 00:00:00 2001 From: Daniel Schadt Date: Tue, 29 Sep 2020 17:23:01 +0200 Subject: return Outcome::Success if a raid was rewarded If the reward has been given out, we can be 99.9% sure that the fight succeeded, in which case we don't need to do any other convuluted checking. This has the benefit of catching some false-negatives (edge cases in success detection), at the cost of making the detection a bit ... weirder, in the sense that a log's success might now depend on whether it was the first kill in the week or not. However, given that our sucess detection works pretty well overall, I'd say it's worth to catch a few more false-negatives and try to classify as many logs correctly as possible. At least, this does not introduce any false-positives. --- src/analyzers/helpers.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/analyzers/helpers.rs') diff --git a/src/analyzers/helpers.rs b/src/analyzers/helpers.rs index b5042aa..067f575 100644 --- a/src/analyzers/helpers.rs +++ b/src/analyzers/helpers.rs @@ -3,6 +3,16 @@ use std::collections::HashMap; use crate::{AgentKind, EventKind, Log}; +/// Check if the log was rewarded, and if yes, return `Outcome::Success` early. +macro_rules! check_reward { + ($log:expr) => { + let log: &Log = $log; + if log.was_rewarded() { + return Some(crate::analyzers::Outcome::Success); + } + }; +} + /// Returns the maximum health of the boss agent. /// /// If the health cannot be determined, this function returns `None`. -- cgit v1.2.3