aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md1
-rw-r--r--src/gamedata.rs48
2 files changed, 40 insertions, 9 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index bf833c2..3605fef 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -23,6 +23,7 @@ All notable changes to this project will be documented in this file.
- `EventKind::Stunbreak`
- A `PartialOrd` implementation for `gamemode::Encounter`.
- `{Boss, Encounter}::Kanaxai`
+- Visions of Eternity elite specializations
### Changed
- `FromRawEventError::UnexpectedReplInfo` is now `UnexpectedInternalEvent`.
diff --git a/src/gamedata.rs b/src/gamedata.rs
index d50be5a..ed45a57 100644
--- a/src/gamedata.rs
+++ b/src/gamedata.rs
@@ -952,6 +952,17 @@ pub enum EliteSpec {
Virtuoso = 66,
Harbinger = 64,
Vindicator = 69,
+
+ // Visions of Eternity elites:
+ Luminary = 81,
+ Paragon = 74,
+ Amalgam = 75,
+ Galeshot = 78,
+ Antiquary = 77,
+ Evoker = 80,
+ Troubadour = 73,
+ Ritualist = 76,
+ Conduit = 79,
}
impl FromStr for EliteSpec {
@@ -989,6 +1000,16 @@ impl FromStr for EliteSpec {
"harbinger" => Ok(EliteSpec::Harbinger),
"vindicator" => Ok(EliteSpec::Vindicator),
+ "luminary" => Ok(EliteSpec::Luminary),
+ "paragon" => Ok(EliteSpec::Paragon),
+ "amalgam" => Ok(EliteSpec::Amalgam),
+ "galeshot" => Ok(EliteSpec::Galeshot),
+ "antiquary" => Ok(EliteSpec::Antiquary),
+ "evoker" => Ok(EliteSpec::Evoker),
+ "troubadour" => Ok(EliteSpec::Troubadour),
+ "ritualist" => Ok(EliteSpec::Ritualist),
+ "conduit" => Ok(EliteSpec::Conduit),
+
_ => Err(ParseEliteSpecError(s.to_owned())),
}
}
@@ -1024,6 +1045,15 @@ impl Display for EliteSpec {
EliteSpec::Virtuoso => "Virtuoso",
EliteSpec::Harbinger => "Harbinger",
EliteSpec::Vindicator => "Vindicator",
+ EliteSpec::Luminary => "Luminary",
+ EliteSpec::Paragon => "Paragon",
+ EliteSpec::Amalgam => "Amalgam",
+ EliteSpec::Galeshot => "Galeshot",
+ EliteSpec::Antiquary => "Antiquary",
+ EliteSpec::Evoker => "Evoker",
+ EliteSpec::Troubadour => "Troubadour",
+ EliteSpec::Ritualist => "Ritualist",
+ EliteSpec::Conduit => "Conduit",
};
write!(f, "{}", name)
}
@@ -1037,15 +1067,15 @@ impl EliteSpec {
pub fn profession(self) -> Profession {
use EliteSpec::*;
match self {
- Dragonhunter | Firebrand | Willbender => Profession::Guardian,
- Berserker | Spellbreaker | Bladesworn => Profession::Warrior,
- Scrapper | Holosmith | Mechanist => Profession::Engineer,
- Druid | Soulbeast | Untamed => Profession::Ranger,
- Daredevil | Deadeye | Specter => Profession::Thief,
- Tempest | Weaver | Catalyst => Profession::Elementalist,
- Chronomancer | Mirage | Virtuoso => Profession::Mesmer,
- Reaper | Scourge | Harbinger => Profession::Necromancer,
- Herald | Renegade | Vindicator => Profession::Revenant,
+ Dragonhunter | Firebrand | Willbender | Luminary => Profession::Guardian,
+ Berserker | Spellbreaker | Bladesworn | Paragon => Profession::Warrior,
+ Scrapper | Holosmith | Mechanist | Amalgam => Profession::Engineer,
+ Druid | Soulbeast | Untamed | Galeshot => Profession::Ranger,
+ Daredevil | Deadeye | Specter | Antiquary => Profession::Thief,
+ Tempest | Weaver | Catalyst | Evoker => Profession::Elementalist,
+ Chronomancer | Mirage | Virtuoso | Troubadour => Profession::Mesmer,
+ Reaper | Scourge | Harbinger | Ritualist => Profession::Necromancer,
+ Herald | Renegade | Vindicator | Conduit => Profession::Revenant,
}
}
}