From f6717fc45188870341e9b6185ef5f3102f5a96ae Mon Sep 17 00:00:00 2001 From: Daniel Schadt Date: Fri, 24 Jul 2020 14:09:51 +0200 Subject: more documentation --- src/analyzers/fractals.rs | 15 +++++++++++++++ src/analyzers/raids/mod.rs | 4 ++++ src/analyzers/raids/w3.rs | 4 ++++ src/analyzers/raids/w4.rs | 16 ++++++++++++++++ src/analyzers/raids/w5.rs | 8 ++++++++ src/analyzers/raids/w6.rs | 12 ++++++++++++ src/analyzers/raids/w7.rs | 12 ++++++++++++ src/analyzers/strikes.rs | 8 ++++++++ 8 files changed, 79 insertions(+) diff --git a/src/analyzers/fractals.rs b/src/analyzers/fractals.rs index e3ebfc5..910b182 100644 --- a/src/analyzers/fractals.rs +++ b/src/analyzers/fractals.rs @@ -4,6 +4,7 @@ use crate::{ Log, }; +/// Health threshold for Skorvald to be detected as Challenge Mote. pub const SKORVALD_CM_HEALTH: u64 = 5_551_340; /// Analyzer for the first boss of 100 CM, Skorvald. @@ -15,6 +16,10 @@ pub struct Skorvald<'log> { } impl<'log> Skorvald<'log> { + /// Create a new [`Skorvald`] analyzer for the given log. + /// + /// **Do not** use this method unless you know what you are doing. Instead, rely on + /// [`Log::analyzer`]! pub fn new(log: &'log Log) -> Self { Skorvald { log } } @@ -36,12 +41,19 @@ impl<'log> Analyzer for Skorvald<'log> { } } +/// Analyzer for fractals that don't require special logic. +/// +/// This is used for Artsariiv, Arkk, MAMA, Siax and Ensolyss. #[derive(Debug, Clone, Copy)] pub struct GenericFractal<'log> { log: &'log Log, } impl<'log> GenericFractal<'log> { + /// Create a new [`GenericFractal`] analyzer for the given log. + /// + /// **Do not** use this method unless you know what you are doing. Instead, rely on + /// [`Log::analyzer`]! pub fn new(log: &'log Log) -> Self { GenericFractal { log } } @@ -53,6 +65,9 @@ impl<'log> Analyzer for GenericFractal<'log> { } fn is_cm(&self) -> bool { + // Besides Skorvald normal mode, we only get logs for the challenge mote encounters (at + // least, only for those we'll use this analyzer). So we can safely return true here in any + // case. true } diff --git a/src/analyzers/raids/mod.rs b/src/analyzers/raids/mod.rs index 39fb823..bb3824b 100644 --- a/src/analyzers/raids/mod.rs +++ b/src/analyzers/raids/mod.rs @@ -36,6 +36,10 @@ pub struct GenericRaid<'log> { } impl<'log> GenericRaid<'log> { + /// Create a new [`GenericRaid`] analyzer for the given log. + /// + /// **Do not** use this method unless you know what you are doing. Instead, rely on + /// [`Log::analyzer`]! pub fn new(log: &'log Log) -> Self { GenericRaid { log } } diff --git a/src/analyzers/raids/w3.rs b/src/analyzers/raids/w3.rs index 82c007d..1b80b8d 100644 --- a/src/analyzers/raids/w3.rs +++ b/src/analyzers/raids/w3.rs @@ -10,6 +10,10 @@ pub struct Xera<'log> { } impl<'log> Xera<'log> { + /// Create a new [`Xera`] analyzer for the given log. + /// + /// **Do not** use this method unless you know what you are doing. Instead, rely on + /// [`Log::analyzer`]! pub fn new(log: &'log Log) -> Self { Xera { log } } diff --git a/src/analyzers/raids/w4.rs b/src/analyzers/raids/w4.rs index e753e49..310b26f 100644 --- a/src/analyzers/raids/w4.rs +++ b/src/analyzers/raids/w4.rs @@ -16,6 +16,10 @@ pub struct Cairn<'log> { } impl<'log> Cairn<'log> { + /// Create a new [`Cairn`] analyzer for the given log. + /// + /// **Do not** use this method unless you know what you are doing. Instead, rely on + /// [`Log::analyzer`]! pub fn new(log: &'log Log) -> Self { Cairn { log } } @@ -46,6 +50,10 @@ pub struct MursaatOverseer<'log> { } impl<'log> MursaatOverseer<'log> { + /// Create a new [`MursaatOverseer`] analyzer for the given log. + /// + /// **Do not** use this method unless you know what you are doing. Instead, rely on + /// [`Log::analyzer`]! pub fn new(log: &'log Log) -> Self { MursaatOverseer { log } } @@ -78,6 +86,10 @@ pub struct Samarog<'log> { } impl<'log> Samarog<'log> { + /// Create a new [`Samarog`] analyzer for the given log. + /// + /// **Do not** use this method unless you know what you are doing. Instead, rely on + /// [`Log::analyzer`]! pub fn new(log: &'log Log) -> Self { Samarog { log } } @@ -110,6 +122,10 @@ pub struct Deimos<'log> { } impl<'log> Deimos<'log> { + /// Create a new [`Deimos`] analyzer for the given log. + /// + /// **Do not** use this method unless you know what you are doing. Instead, rely on + /// [`Log::analyzer`]! pub fn new(log: &'log Log) -> Self { Deimos { log } } diff --git a/src/analyzers/raids/w5.rs b/src/analyzers/raids/w5.rs index b9668b7..578cea8 100644 --- a/src/analyzers/raids/w5.rs +++ b/src/analyzers/raids/w5.rs @@ -18,6 +18,10 @@ pub struct SoullessHorror<'log> { } impl<'log> SoullessHorror<'log> { + /// Create a new [`SoullessHorror`] analyzer for the given log. + /// + /// **Do not** use this method unless you know what you are doing. Instead, rely on + /// [`Log::analyzer`]! pub fn new(log: &'log Log) -> Self { SoullessHorror { log } } @@ -60,6 +64,10 @@ pub struct Dhuum<'log> { } impl<'log> Dhuum<'log> { + /// Create a new [`Dhuum`] analyzer for the given log. + /// + /// **Do not** use this method unless you know what you are doing. Instead, rely on + /// [`Log::analyzer`]! pub fn new(log: &'log Log) -> Self { Dhuum { log } } diff --git a/src/analyzers/raids/w6.rs b/src/analyzers/raids/w6.rs index cc39403..8701a63 100644 --- a/src/analyzers/raids/w6.rs +++ b/src/analyzers/raids/w6.rs @@ -17,6 +17,10 @@ pub struct ConjuredAmalgamate<'log> { } impl<'log> ConjuredAmalgamate<'log> { + /// Create a new [`ConjuredAmalgamate`] analyzer for the given log. + /// + /// **Do not** use this method unless you know what you are doing. Instead, rely on + /// [`Log::analyzer`]! pub fn new(log: &'log Log) -> Self { ConjuredAmalgamate { log } } @@ -60,6 +64,10 @@ pub struct LargosTwins<'log> { } impl<'log> LargosTwins<'log> { + /// Create a new [`LargosTwins`] analyzer for the given log. + /// + /// **Do not** use this method unless you know what you are doing. Instead, rely on + /// [`Log::analyzer`]! pub fn new(log: &'log Log) -> Self { LargosTwins { log } } @@ -115,6 +123,10 @@ pub struct Qadim<'log> { } impl<'log> Qadim<'log> { + /// Create a new [`Qadim`] analyzer for the given log. + /// + /// **Do not** use this method unless you know what you are doing. Instead, rely on + /// [`Log::analyzer`]! pub fn new(log: &'log Log) -> Self { Qadim { log } } diff --git a/src/analyzers/raids/w7.rs b/src/analyzers/raids/w7.rs index 480c303..bdfadd6 100644 --- a/src/analyzers/raids/w7.rs +++ b/src/analyzers/raids/w7.rs @@ -15,6 +15,10 @@ pub struct CardinalAdina<'log> { } impl<'log> CardinalAdina<'log> { + /// Create a new [`CardinalAdina`] analyzer for the given log. + /// + /// **Do not** use this method unless you know what you are doing. Instead, rely on + /// [`Log::analyzer`]! pub fn new(log: &'log Log) -> Self { CardinalAdina { log } } @@ -47,6 +51,10 @@ pub struct CardinalSabir<'log> { } impl<'log> CardinalSabir<'log> { + /// Create a new [`CardinalSabir`] analyzer for the given log. + /// + /// **Do not** use this method unless you know what you are doing. Instead, rely on + /// [`Log::analyzer`]! pub fn new(log: &'log Log) -> Self { CardinalSabir { log } } @@ -77,6 +85,10 @@ pub struct QadimThePeerless<'log> { } impl<'log> QadimThePeerless<'log> { + /// Create a new [`QadimThePeerless`] analyzer for the given log. + /// + /// **Do not** use this method unless you know what you are doing. Instead, rely on + /// [`Log::analyzer`]! pub fn new(log: &'log Log) -> Self { QadimThePeerless { log } } diff --git a/src/analyzers/strikes.rs b/src/analyzers/strikes.rs index 82fcd79..8c22c49 100644 --- a/src/analyzers/strikes.rs +++ b/src/analyzers/strikes.rs @@ -4,12 +4,20 @@ use crate::{ Log, }; +/// Analyzer for strikes. +/// +/// Since there are currently no strikes requiring special logic, this analyzer is used for all +/// strike missions. #[derive(Debug, Clone, Copy)] pub struct GenericStrike<'log> { log: &'log Log, } impl<'log> GenericStrike<'log> { + /// Create a new [`GenericStrike`] analyzer for the given log. + /// + /// **Do not** use this method unless you know what you are doing. Instead, rely on + /// [`Log::analyzer`]! pub fn new(log: &'log Log) -> Self { GenericStrike { log } } -- cgit v1.2.3