feat: add shadowbringers races and clans
This commit is contained in:
parent
1e635376f7
commit
ac720a1bf7
26
src/clans.rs
26
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()))
|
||||
};
|
||||
|
||||
|
|
14
src/races.rs
14
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()))
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue