diff --git a/src/clans.rs b/src/clans.rs index 76ed35b..c10d6a7 100644 --- a/src/clans.rs +++ b/src/clans.rs @@ -18,6 +18,9 @@ pub enum Clan { // Elezen Duskwight, Wildwood, + // Hrothgar + Helion, + TheLost, // Hyur Highlander, Midlander, @@ -30,15 +33,20 @@ pub enum Clan { // Roegadyn Hellsguard, SeaWolf, + // Viera + Rava, + Veena, } impl Clan { #[cfg(feature = "all_const")] - pub const ALL: [Clan; 12] = [ + pub const ALL: [Clan; 16] = [ Clan::Raen, Clan::Xaela, Clan::Duskwight, Clan::Wildwood, + Clan::Helion, + Clan::TheLost, Clan::Highlander, Clan::Midlander, Clan::Dunesfolk, @@ -47,6 +55,8 @@ impl Clan { Clan::SeekerOfTheSun, Clan::Hellsguard, Clan::SeaWolf, + Clan::Rava, + Clan::Veena, ]; /// Returns the string variant of this world. @@ -56,6 +66,8 @@ impl Clan { Clan::Xaela => "Xaela", Clan::Duskwight => "Duskwight", Clan::Wildwood => "Wildwood", + Clan::Helion => "Helion", + Clan::TheLost => "TheLost", Clan::Highlander => "Highlander", Clan::Midlander => "Midlander", Clan::Dunesfolk => "Dunesfolk", @@ -64,6 +76,8 @@ impl Clan { Clan::SeekerOfTheSun => "SeekerOfTheSun", Clan::Hellsguard => "Hellsguard", Clan::SeaWolf => "SeaWolf", + Clan::Rava => "Rava", + Clan::Veena => "Veena", } } @@ -73,6 +87,8 @@ impl Clan { Clan::Xaela => "Xaela", Clan::Duskwight => "Duskwight", Clan::Wildwood => "Wildwood", + Clan::Helion => "Helion", + Clan::TheLost => "The Lost", Clan::Highlander => "Highlander", Clan::Midlander => "Midlander", Clan::Dunesfolk => "Dunesfolk", @@ -81,6 +97,8 @@ impl Clan { Clan::SeekerOfTheSun => "Seeker of the Sun", Clan::Hellsguard => "Hellsguard", Clan::SeaWolf => "Sea Wolf", + Clan::Rava => "Rava", + Clan::Veena => "Veena", } } @@ -89,10 +107,12 @@ impl Clan { match *self { Clan::Raen | Clan::Xaela => Race::AuRa, Clan::Duskwight | Clan::Wildwood => Race::Elezen, + Clan::Helion | Clan::TheLost => Race::Hrothgar, Clan::Highlander | Clan::Midlander => Race::Hyur, Clan::Dunesfolk | Clan::Plainsfolk => Race::Lalafell, Clan::KeeperOfTheMoon | Clan::SeekerOfTheSun => Race::Miqote, Clan::Hellsguard | Clan::SeaWolf => Race::Roegadyn, + Clan::Rava | Clan::Veena => Race::Viera, } } } @@ -109,6 +129,8 @@ impl FromStr for Clan { "xaela" => Clan::Xaela, "duskwight" => Clan::Duskwight, "wildwood" => Clan::Wildwood, + "helion" => Clan::Helion, + "thelost" | "the lost" => Clan::TheLost, "highlander" => Clan::Highlander, "midlander" => Clan::Midlander, "dunesfolk" => Clan::Dunesfolk, @@ -117,6 +139,8 @@ impl FromStr for Clan { "seekerofthesun" | "seeker of the sun" => Clan::SeekerOfTheSun, "hellsguard" => Clan::Hellsguard, "seawolf" | "sea wolf" => Clan::SeaWolf, + "rava" => Clan::Rava, + "veena" => Clan::Veena, _ => return Err(UnknownVariant("Clan", s.into())) }; diff --git a/src/races.rs b/src/races.rs index b3897ed..c95f98f 100644 --- a/src/races.rs +++ b/src/races.rs @@ -14,21 +14,25 @@ use std::str::FromStr; pub enum Race { AuRa, Elezen, + Hrothgar, Hyur, Lalafell, Miqote, Roegadyn, + Viera, } impl Race { #[cfg(feature = "all_const")] - pub const ALL: [Race; 6] = [ + pub const ALL: [Race; 8] = [ Race::AuRa, Race::Elezen, + Race::Hrothgar, Race::Hyur, Race::Lalafell, Race::Miqote, Race::Roegadyn, + Race::Viera, ]; /// Returns the string variant of this world. @@ -36,10 +40,12 @@ impl Race { match *self { Race::AuRa => "AuRa", Race::Elezen => "Elezen", + Race::Hrothgar => "Hrothgar", Race::Hyur => "Hyur", Race::Lalafell => "Lalafell", Race::Miqote => "Miqote", Race::Roegadyn => "Roegadyn", + Race::Viera => "Viera", } } @@ -47,10 +53,12 @@ impl Race { match *self { Race::AuRa => "Au Ra", Race::Elezen => "Elezen", + Race::Hrothgar => "Hrothgar", Race::Hyur => "Hyur", Race::Lalafell => "Lalafell", Race::Miqote => "Miqo'te", Race::Roegadyn => "Roegadyn", + Race::Viera => "Viera", } } @@ -59,10 +67,12 @@ impl Race { match *self { Race::AuRa => [Clan::Raen, Clan::Xaela], Race::Elezen => [Clan::Duskwight, Clan::Wildwood], + Race::Hrothgar => [Clan::Helion, Clan::TheLost], Race::Hyur => [Clan::Highlander, Clan::Midlander], Race::Lalafell => [Clan::Dunesfolk, Clan::Plainsfolk], Race::Miqote => [Clan::KeeperOfTheMoon, Clan::SeekerOfTheSun], Race::Roegadyn => [Clan::Hellsguard, Clan::SeaWolf], + Race::Viera => [Clan::Rava, Clan::Veena], } } } @@ -77,10 +87,12 @@ impl FromStr for Race { let world = match s.to_lowercase().as_str() { "aura" | "au ra" => Race::AuRa, "elezen" => Race::Elezen, + "hrothgar" => Race::Hrothgar, "hyur" => Race::Hyur, "lalafell" => Race::Lalafell, "miqote" | "miqo'te" => Race::Miqote, "roegadyn" => Race::Roegadyn, + "viera" => Race::Viera, _ => return Err(UnknownVariant("Race", s.into())) };