diff options
| author | Daniel Schadt <kingdread@gmx.de> | 2025-11-22 23:17:33 +0100 |
|---|---|---|
| committer | Daniel Schadt <kingdread@gmx.de> | 2025-11-22 23:17:33 +0100 |
| commit | 5898fe99937e7ba935aa09716838006293d272bb (patch) | |
| tree | 3cdaccf6e9887f65c82014b8be2742cdc004bfcd | |
| parent | e9b9301143ae35eccc2f1c1d115e70b47cbec64f (diff) | |
| download | evtclib-5898fe99937e7ba935aa09716838006293d272bb.tar.gz evtclib-5898fe99937e7ba935aa09716838006293d272bb.tar.bz2 evtclib-5898fe99937e7ba935aa09716838006293d272bb.zip | |
| -rw-r--r-- | CHANGELOG.md | 1 | ||||
| -rw-r--r-- | src/gamedata.rs | 48 |
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, } } } |
