diff options
author | Daniel Schadt <kingdread@gmx.de> | 2018-06-14 17:26:23 +0200 |
---|---|---|
committer | Daniel Schadt <kingdread@gmx.de> | 2018-06-14 17:26:23 +0200 |
commit | 9f6f3db682ab927fef4f1399d13c4cfc91313f82 (patch) | |
tree | bef44f963e1822b837049fe87642609948243578 /src/statistics/gamedata.rs | |
parent | aac51cfaf15659e9447a79032dea5c05e0441709 (diff) | |
download | evtclib-9f6f3db682ab927fef4f1399d13c4cfc91313f82.tar.gz evtclib-9f6f3db682ab927fef4f1399d13c4cfc91313f82.tar.bz2 evtclib-9f6f3db682ab927fef4f1399d13c4cfc91313f82.zip |
deal with multiple boss agents
Exemplary done with Xera.
Diffstat (limited to 'src/statistics/gamedata.rs')
-rw-r--r-- | src/statistics/gamedata.rs | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/src/statistics/gamedata.rs b/src/statistics/gamedata.rs index ea1be39..1b5fec6 100644 --- a/src/statistics/gamedata.rs +++ b/src/statistics/gamedata.rs @@ -5,9 +5,24 @@ use super::boon::{BoonQueue, BoonType}; /// Enum containing all bosses with their IDs. #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum Boss { - ValeGuardian = 15483, + ValeGuardian = 0x3C4E, + + /// Xera ID for phase 1. + /// + /// This is only half of Xera's ID, as there will be a second agent for the + /// second phase. This agent will have another ID, see + /// [`XERA_PHASE2_ID`](constant.XERA_PHASE2_ID.html). + Xera = 0x3F76, } +/// ID for Xera in the second phase. +/// +/// The original Xera will despawn, and after the tower phase, a separate spawn +/// will take over. This new Xera will have this ID. Care needs to be taken when +/// calculating boss damage on this encounter, as both Xeras have to be taken +/// into account. +pub const XERA_PHASE2_ID: u16 = 0x3F9E; + /// Contains a boon. /// /// Fields: @@ -103,11 +118,9 @@ macro_rules! mechanics { } /// A slice of all mechanics that we know about. -pub static MECHANICS: &[Mechanic] = &[ - mechanics! { Boss::ValeGuardian => [ - "Unstable Magic Spike" => Trigger::SkillOnPlayer(31860), - ]}, -]; +pub static MECHANICS: &[Mechanic] = &[mechanics! { Boss::ValeGuardian => [ + "Unstable Magic Spike" => Trigger::SkillOnPlayer(31860), +]}]; /// Get all mechanics that belong to the given boss. pub fn get_mechanics(boss_id: u16) -> Vec<&'static Mechanic> { |