aboutsummaryrefslogtreecommitdiff
path: root/src/analyzers
diff options
context:
space:
mode:
authorDaniel Schadt <kingdread@gmx.de>2020-09-28 13:28:29 +0200
committerDaniel Schadt <kingdread@gmx.de>2020-09-28 13:28:29 +0200
commitba10db6e8120fe9315bf0dec99e9dee188b8332c (patch)
tree9d3a2d831aa0b9ecc20cc21010f2d782fba55d2e /src/analyzers
parent3b79ad8fa9b4a8c9c535b417129e3f70769074e0 (diff)
parent132bc6e276bf996b8a67990ad32042b8023d8786 (diff)
downloadevtclib-ba10db6e8120fe9315bf0dec99e9dee188b8332c.tar.gz
evtclib-ba10db6e8120fe9315bf0dec99e9dee188b8332c.tar.bz2
evtclib-ba10db6e8120fe9315bf0dec99e9dee188b8332c.zip
Merge branch 'boss-encounter-split' into master
Diffstat (limited to 'src/analyzers')
-rw-r--r--src/analyzers/mod.rs56
-rw-r--r--src/analyzers/raids/mod.rs2
-rw-r--r--src/analyzers/raids/w6.rs16
3 files changed, 38 insertions, 36 deletions
diff --git a/src/analyzers/mod.rs b/src/analyzers/mod.rs
index 28724a2..ff04728 100644
--- a/src/analyzers/mod.rs
+++ b/src/analyzers/mod.rs
@@ -24,7 +24,7 @@
//! [`Log::analyzer`][Log::analyzer] (or [`for_log`][for_log]) and the methods defined in
//! [`Analyzer`][Analyzer].
-use crate::{Boss, Log};
+use crate::{Encounter, Log};
pub mod fractals;
pub mod helpers;
@@ -82,41 +82,43 @@ pub fn for_log<'l>(log: &'l Log) -> Option<Box<dyn Analyzer + 'l>> {
let boss = log.encounter()?;
match boss {
- Boss::ValeGuardian | Boss::Gorseval | Boss::Sabetha => {
+ Encounter::ValeGuardian | Encounter::Gorseval | Encounter::Sabetha => {
Some(Box::new(raids::GenericRaid::new(log)))
}
- Boss::Slothasor | Boss::Matthias => Some(Box::new(raids::GenericRaid::new(log))),
+ Encounter::Slothasor | Encounter::Matthias => Some(Box::new(raids::GenericRaid::new(log))),
- Boss::KeepConstruct => Some(Box::new(raids::GenericRaid::new(log))),
- Boss::Xera => Some(Box::new(raids::Xera::new(log))),
+ Encounter::KeepConstruct => Some(Box::new(raids::GenericRaid::new(log))),
+ Encounter::Xera => Some(Box::new(raids::Xera::new(log))),
- Boss::Cairn => Some(Box::new(raids::Cairn::new(log))),
- Boss::MursaatOverseer => Some(Box::new(raids::MursaatOverseer::new(log))),
- Boss::Samarog => Some(Box::new(raids::Samarog::new(log))),
- Boss::Deimos => Some(Box::new(raids::Deimos::new(log))),
+ Encounter::Cairn => Some(Box::new(raids::Cairn::new(log))),
+ Encounter::MursaatOverseer => Some(Box::new(raids::MursaatOverseer::new(log))),
+ Encounter::Samarog => Some(Box::new(raids::Samarog::new(log))),
+ Encounter::Deimos => Some(Box::new(raids::Deimos::new(log))),
- Boss::SoullessHorror => Some(Box::new(raids::SoullessHorror::new(log))),
- Boss::Dhuum => Some(Box::new(raids::Dhuum::new(log))),
+ Encounter::SoullessHorror => Some(Box::new(raids::SoullessHorror::new(log))),
+ Encounter::VoiceInTheVoid => Some(Box::new(raids::Dhuum::new(log))),
- Boss::ConjuredAmalgamate => Some(Box::new(raids::ConjuredAmalgamate::new(log))),
- Boss::LargosTwins => Some(Box::new(raids::LargosTwins::new(log))),
- Boss::Qadim => Some(Box::new(raids::Qadim::new(log))),
+ Encounter::ConjuredAmalgamate => Some(Box::new(raids::ConjuredAmalgamate::new(log))),
+ Encounter::TwinLargos => Some(Box::new(raids::TwinLargos::new(log))),
+ Encounter::Qadim => Some(Box::new(raids::Qadim::new(log))),
- Boss::CardinalAdina => Some(Box::new(raids::CardinalAdina::new(log))),
- Boss::CardinalSabir => Some(Box::new(raids::CardinalSabir::new(log))),
- Boss::QadimThePeerless => Some(Box::new(raids::QadimThePeerless::new(log))),
+ Encounter::CardinalAdina => Some(Box::new(raids::CardinalAdina::new(log))),
+ Encounter::CardinalSabir => Some(Box::new(raids::CardinalSabir::new(log))),
+ Encounter::QadimThePeerless => Some(Box::new(raids::QadimThePeerless::new(log))),
- Boss::Ai => Some(Box::new(fractals::Ai::new(log))),
- Boss::Skorvald => Some(Box::new(fractals::Skorvald::new(log))),
- Boss::Artsariiv | Boss::Arkk | Boss::MAMA | Boss::Siax | Boss::Ensolyss => {
- Some(Box::new(fractals::GenericFractal::new(log)))
- }
+ Encounter::Ai => Some(Box::new(fractals::Ai::new(log))),
+ Encounter::Skorvald => Some(Box::new(fractals::Skorvald::new(log))),
+ Encounter::Artsariiv
+ | Encounter::Arkk
+ | Encounter::MAMA
+ | Encounter::Siax
+ | Encounter::Ensolyss => Some(Box::new(fractals::GenericFractal::new(log))),
- Boss::IcebroodConstruct
- | Boss::VoiceOfTheFallen
- | Boss::FraenirOfJormag
- | Boss::Boneskinner
- | Boss::WhisperOfJormag => Some(Box::new(strikes::GenericStrike::new(log))),
+ Encounter::IcebroodConstruct
+ | Encounter::SuperKodanBrothers
+ | Encounter::FraenirOfJormag
+ | Encounter::Boneskinner
+ | Encounter::WhisperOfJormag => Some(Box::new(strikes::GenericStrike::new(log))),
}
}
diff --git a/src/analyzers/raids/mod.rs b/src/analyzers/raids/mod.rs
index bb3824b..7b636a7 100644
--- a/src/analyzers/raids/mod.rs
+++ b/src/analyzers/raids/mod.rs
@@ -19,7 +19,7 @@ mod w5;
pub use w5::{Dhuum, SoullessHorror};
mod w6;
-pub use w6::{ConjuredAmalgamate, LargosTwins, Qadim};
+pub use w6::{ConjuredAmalgamate, Qadim, TwinLargos};
mod w7;
pub use w7::{CardinalAdina, CardinalSabir, QadimThePeerless};
diff --git a/src/analyzers/raids/w6.rs b/src/analyzers/raids/w6.rs
index 8701a63..97a2094 100644
--- a/src/analyzers/raids/w6.rs
+++ b/src/analyzers/raids/w6.rs
@@ -1,7 +1,7 @@
//! Boss fight analyzers for Wing 6 (Mythwright Gambit)
use crate::{
analyzers::{helpers, Analyzer, Outcome},
- gamedata::{KENUT_ID, NIKARE_ID},
+ gamedata::Boss,
EventKind, Log,
};
@@ -59,21 +59,21 @@ pub const LARGOS_CM_HEALTH: u64 = 19_200_000;
///
/// The CM is detected by the boss's health, which is higher in the challenge mote.
#[derive(Debug, Clone, Copy)]
-pub struct LargosTwins<'log> {
+pub struct TwinLargos<'log> {
log: &'log Log,
}
-impl<'log> LargosTwins<'log> {
- /// Create a new [`LargosTwins`] analyzer for the given log.
+impl<'log> TwinLargos<'log> {
+ /// Create a new [`TwinLargos`] 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 }
+ TwinLargos { log }
}
}
-impl<'log> Analyzer for LargosTwins<'log> {
+impl<'log> Analyzer for TwinLargos<'log> {
fn log(&self) -> &Log {
self.log
}
@@ -100,9 +100,9 @@ impl<'log> Analyzer for LargosTwins<'log> {
continue;
};
- if agent.id() == NIKARE_ID {
+ if agent.id() == Boss::Nikare as u16 {
nikare_dead = true;
- } else if agent.id() == KENUT_ID {
+ } else if agent.id() == Boss::Kenut as u16 {
kenut_dead = true;
}
}