diff options
| author | Daniel Schadt <kingdread@gmx.de> | 2021-11-12 17:06:54 +0100 | 
|---|---|---|
| committer | Daniel Schadt <kingdread@gmx.de> | 2021-11-12 17:06:54 +0100 | 
| commit | 09285afdb729565a484fe93a7958b330681a4bc1 (patch) | |
| tree | 33ae3f665a33a81fd6963f332b4c880d3190681a | |
| parent | 79745f7ece2b6b7a9171d7de8c950396552552a8 (diff) | |
| download | evtclib-09285afdb729565a484fe93a7958b330681a4bc1.tar.gz evtclib-09285afdb729565a484fe93a7958b330681a4bc1.tar.bz2 evtclib-09285afdb729565a484fe93a7958b330681a4bc1.zip | |
Add kitty golem encounters from the training area
| -rw-r--r-- | CHANGELOG.md | 3 | ||||
| -rw-r--r-- | src/analyzers/mod.rs | 4 | ||||
| -rw-r--r-- | src/gamedata.rs | 35 | ||||
| -rw-r--r-- | tests/logs/large-golem-20211112.zevtc | bin | 0 -> 16717 bytes | |||
| -rw-r--r-- | tests/logs/medium-golem-20211112.zevtc | bin | 0 -> 16060 bytes | |||
| -rw-r--r-- | tests/logs/standard-golem-20211112.zevtc | bin | 0 -> 25757 bytes | |||
| -rw-r--r-- | tests/parsing.rs | 29 | 
7 files changed, 71 insertions, 0 deletions
| diff --git a/CHANGELOG.md b/CHANGELOG.md index e2048c4..512fa23 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,9 @@  All notable changes to this project will be documented in this file.  ## Unreleased +### Added +- Boss and encounter definitions for the training golems (`StandardKittyGolem`, +  `MediumKittyGolem`, `LargeKittyGolem`)  ## 0.5.0 - 2020-10-07  ### Added diff --git a/src/analyzers/mod.rs b/src/analyzers/mod.rs index e19e61a..9b482de 100644 --- a/src/analyzers/mod.rs +++ b/src/analyzers/mod.rs @@ -108,6 +108,10 @@ pub fn for_log<'l>(log: &'l Log) -> Option<Box<dyn Analyzer + 'l>> {          Encounter::CardinalSabir => Some(Box::new(raids::CardinalSabir::new(log))),          Encounter::QadimThePeerless => Some(Box::new(raids::QadimThePeerless::new(log))), +        Encounter::StandardKittyGolem +        | Encounter::MediumKittyGolem +        | Encounter::LargeKittyGolem => Some(Box::new(raids::GenericRaid::new(log))), +          Encounter::Ai => Some(Box::new(fractals::Ai::new(log))),          Encounter::Skorvald => Some(Box::new(fractals::Skorvald::new(log))),          Encounter::Artsariiv diff --git a/src/gamedata.rs b/src/gamedata.rs index ac8d46a..ca5a3ad 100644 --- a/src/gamedata.rs +++ b/src/gamedata.rs @@ -54,6 +54,11 @@ pub enum Encounter {      CardinalSabir = Boss::CardinalSabir as u16,      QadimThePeerless = Boss::QadimThePeerless as u16, +    // Training area +    StandardKittyGolem = Boss::StandardKittyGolem as u16, +    MediumKittyGolem = Boss::MediumKittyGolem as u16, +    LargeKittyGolem = Boss::LargeKittyGolem as u16, +      // 100 CM (Sunqua Peak)      Ai = Boss::Ai as u16, @@ -105,6 +110,9 @@ impl Encounter {              Encounter::CardinalAdina => &[Boss::CardinalAdina],              Encounter::CardinalSabir => &[Boss::CardinalSabir],              Encounter::QadimThePeerless => &[Boss::QadimThePeerless], +            Encounter::StandardKittyGolem => &[Boss::StandardKittyGolem], +            Encounter::MediumKittyGolem => &[Boss::MediumKittyGolem], +            Encounter::LargeKittyGolem => &[Boss::LargeKittyGolem],              Encounter::Ai => &[Boss::Ai],              Encounter::Skorvald => &[Boss::Skorvald],              Encounter::Artsariiv => &[Boss::Artsariiv], @@ -185,6 +193,9 @@ impl Display for Encounter {              Encounter::CardinalAdina => "Cardinal Adina",              Encounter::CardinalSabir => "Cardinal Sabir",              Encounter::QadimThePeerless => "Qadim the Peerless", +            Encounter::StandardKittyGolem => "Standard Kitty Golem", +            Encounter::MediumKittyGolem => "Medium Kitty Golem", +            Encounter::LargeKittyGolem => "Large Kitty Golem",              Encounter::Ai => "Ai Keeper of the Peak",              Encounter::Skorvald => "Skorvald the Shattered",              Encounter::Artsariiv => "Artsariiv", @@ -317,6 +328,20 @@ pub enum Boss {      /// [Guild Wars 2 Wiki](https://wiki.guildwars2.com/wiki/Qadim_the_Peerless)      QadimThePeerless = 0x55F0, +    // The training area +    /// The standard training golem, available in the Special Forces Training Area. +    /// +    /// [Guild Wars 2 Wiki](https://wiki.guildwars2.com/wiki/Standard_Kitty_Golem) +    StandardKittyGolem = 0x3F47, +    /// The medium training golem, available in the Special Forces Training Area. +    /// +    /// [Guild Wars 2 Wiki](https://wiki.guildwars2.com/wiki/Medium_Kitty_Golem) +    MediumKittyGolem = 0x4CBD, +    /// The large kitty golem available in the Special Forces Training Area. +    /// +    /// [Guild Wars 2 Wiki](https://wiki.guildwars2.com/wiki/Large_Kitty_Golem) +    LargeKittyGolem = 0x4CDC, +      // 100 CM (Sunqua Peak)      /// Ai, Keeper of the Peak, boss of the Sunqua Peak CM fractal.      /// @@ -407,6 +432,9 @@ impl Boss {              Boss::CardinalAdina => Encounter::CardinalAdina,              Boss::CardinalSabir => Encounter::CardinalSabir,              Boss::QadimThePeerless => Encounter::QadimThePeerless, +            Boss::StandardKittyGolem => Encounter::StandardKittyGolem, +            Boss::MediumKittyGolem => Encounter::MediumKittyGolem, +            Boss::LargeKittyGolem => Encounter::LargeKittyGolem,              Boss::Ai => Encounter::Ai,              Boss::Skorvald => Encounter::Skorvald,              Boss::Artsariiv => Encounter::Artsariiv, @@ -462,6 +490,10 @@ impl FromStr for Boss {              "sabir" | "cardinal sabir" => Ok(Boss::CardinalSabir),              "qadimp" | "peerless qadim" | "qadim the peerless" => Ok(Boss::QadimThePeerless), +            "standard golem" | "standard kitty golem" => Ok(Boss::StandardKittyGolem), +            "medium golem" | "medium kitty golem" => Ok(Boss::MediumKittyGolem), +            "large golem" | "large kitty golem" => Ok(Boss::LargeKittyGolem), +              "ai" | "ai keeper of the peak" => Ok(Boss::Ai),              "skorvald" => Ok(Boss::Skorvald), @@ -508,6 +540,9 @@ impl Display for Boss {              Boss::CardinalAdina => "Cardinal Adina",              Boss::CardinalSabir => "Cardinal Sabir",              Boss::QadimThePeerless => "Qadim the Peerless", +            Boss::StandardKittyGolem => "Standard Kitty Golem", +            Boss::MediumKittyGolem => "Medium Kitty Golem", +            Boss::LargeKittyGolem => "Large Kitty Golem",              Boss::Ai => "Ai Keeper of the Peak",              Boss::Skorvald => "Skorvald the Shattered",              Boss::Artsariiv => "Artsariiv", diff --git a/tests/logs/large-golem-20211112.zevtc b/tests/logs/large-golem-20211112.zevtcBinary files differ new file mode 100644 index 0000000..dc09b7b --- /dev/null +++ b/tests/logs/large-golem-20211112.zevtc diff --git a/tests/logs/medium-golem-20211112.zevtc b/tests/logs/medium-golem-20211112.zevtcBinary files differ new file mode 100644 index 0000000..2154991 --- /dev/null +++ b/tests/logs/medium-golem-20211112.zevtc diff --git a/tests/logs/standard-golem-20211112.zevtc b/tests/logs/standard-golem-20211112.zevtcBinary files differ new file mode 100644 index 0000000..199cf4f --- /dev/null +++ b/tests/logs/standard-golem-20211112.zevtc diff --git a/tests/parsing.rs b/tests/parsing.rs index 08922c9..3eb3a4b 100644 --- a/tests/parsing.rs +++ b/tests/parsing.rs @@ -393,6 +393,35 @@ test! {      ],  } +// Training area + +test! { +    name: parse_standard_kitty_golem, +    log: "logs/standard-golem-20211112.zevtc", +    boss: Encounter::StandardKittyGolem, +    players: &[ +        (1, ":Dunje.4863", "Ai Higashi", Guardian, Some(Dragonhunter)), +    ], +} + +test! { +    name: parse_medium_kitty_golem, +    log: "logs/medium-golem-20211112.zevtc", +    boss: Encounter::MediumKittyGolem, +    players: &[ +        (1, ":Dunje.4863", "Ai Higashi", Guardian, Some(Dragonhunter)), +    ], +} + +test! { +    name: parse_large_kitty_golem, +    log: "logs/large-golem-20211112.zevtc", +    boss: Encounter::LargeKittyGolem, +    players: &[ +        (1, ":Dunje.4863", "Ai Higashi", Guardian, Some(Dragonhunter)), +    ], +} +  // 100 CM tests  test! { | 
