Riven/riven/src/consts/champion.rs

871 lines
38 KiB
Rust
Raw Normal View History

2021-06-30 23:34:34 +00:00
///////////////////////////////////////////////
2021-05-22 00:31:52 +00:00
// //
// ! //
// This file is automatically generated! //
// Do not directly edit! //
// //
2021-06-30 23:34:34 +00:00
///////////////////////////////////////////////
use serde::{ Serialize, Deserialize };
2021-07-01 01:50:08 +00:00
newtype_enum! {
/// A League of Legends champion.
///
/// This newtype acts as a C-like enum; each variant corresponds to an
/// integer value. Using a newtype allows _unknown_ variants to be
/// represented. This is important when Riot adds new champions.
///
/// Field | Name | Identifier | Id
/// ---|---|---|---
/// `AATROX` | "Aatrox" | "Aatrox" | 266
/// `AHRI` | "Ahri" | "Ahri" | 103
/// `AKALI` | "Akali" | "Akali" | 84
2021-07-23 22:31:02 +00:00
/// `AKSHAN` | "Akshan" | "Akshan" | 166
2021-07-01 01:50:08 +00:00
/// `ALISTAR` | "Alistar" | "Alistar" | 12
/// `AMUMU` | "Amumu" | "Amumu" | 32
/// `ANIVIA` | "Anivia" | "Anivia" | 34
/// `ANNIE` | "Annie" | "Annie" | 1
/// `APHELIOS` | "Aphelios" | "Aphelios" | 523
/// `ASHE` | "Ashe" | "Ashe" | 22
/// `AURELION_SOL` | "Aurelion Sol" | "AurelionSol" | 136
/// `AZIR` | "Azir" | "Azir" | 268
/// `BARD` | "Bard" | "Bard" | 432
/// `BLITZCRANK` | "Blitzcrank" | "Blitzcrank" | 53
/// `BRAND` | "Brand" | "Brand" | 63
/// `BRAUM` | "Braum" | "Braum" | 201
/// `CAITLYN` | "Caitlyn" | "Caitlyn" | 51
/// `CAMILLE` | "Camille" | "Camille" | 164
/// `CASSIOPEIA` | "Cassiopeia" | "Cassiopeia" | 69
/// `CHO_GATH` | "Cho'Gath" | "Chogath" | 31
/// `CORKI` | "Corki" | "Corki" | 42
/// `DARIUS` | "Darius" | "Darius" | 122
/// `DIANA` | "Diana" | "Diana" | 131
/// `DR_MUNDO` | "Dr. Mundo" | "DrMundo" | 36
/// `DRAVEN` | "Draven" | "Draven" | 119
/// `EKKO` | "Ekko" | "Ekko" | 245
/// `ELISE` | "Elise" | "Elise" | 60
/// `EVELYNN` | "Evelynn" | "Evelynn" | 28
/// `EZREAL` | "Ezreal" | "Ezreal" | 81
/// `FIDDLESTICKS` | "Fiddlesticks" | "FiddleSticks" | 9
/// `FIORA` | "Fiora" | "Fiora" | 114
/// `FIZZ` | "Fizz" | "Fizz" | 105
/// `GALIO` | "Galio" | "Galio" | 3
/// `GANGPLANK` | "Gangplank" | "Gangplank" | 41
/// `GAREN` | "Garen" | "Garen" | 86
/// `GNAR` | "Gnar" | "Gnar" | 150
/// `GRAGAS` | "Gragas" | "Gragas" | 79
/// `GRAVES` | "Graves" | "Graves" | 104
/// `GWEN` | "Gwen" | "Gwen" | 887
/// `HECARIM` | "Hecarim" | "Hecarim" | 120
/// `HEIMERDINGER` | "Heimerdinger" | "Heimerdinger" | 74
/// `ILLAOI` | "Illaoi" | "Illaoi" | 420
/// `IRELIA` | "Irelia" | "Irelia" | 39
/// `IVERN` | "Ivern" | "Ivern" | 427
/// `JANNA` | "Janna" | "Janna" | 40
/// `JARVAN_IV` | "Jarvan IV" | "JarvanIV" | 59
/// `JAX` | "Jax" | "Jax" | 24
/// `JAYCE` | "Jayce" | "Jayce" | 126
/// `JHIN` | "Jhin" | "Jhin" | 202
/// `JINX` | "Jinx" | "Jinx" | 222
/// `KAI_SA` | "Kai'Sa" | "Kaisa" | 145
/// `KALISTA` | "Kalista" | "Kalista" | 429
/// `KARMA` | "Karma" | "Karma" | 43
/// `KARTHUS` | "Karthus" | "Karthus" | 30
/// `KASSADIN` | "Kassadin" | "Kassadin" | 38
/// `KATARINA` | "Katarina" | "Katarina" | 55
/// `KAYLE` | "Kayle" | "Kayle" | 10
/// `KAYN` | "Kayn" | "Kayn" | 141
/// `KENNEN` | "Kennen" | "Kennen" | 85
/// `KHA_ZIX` | "Kha'Zix" | "Khazix" | 121
/// `KINDRED` | "Kindred" | "Kindred" | 203
/// `KLED` | "Kled" | "Kled" | 240
/// `KOG_MAW` | "Kog'Maw" | "KogMaw" | 96
/// `LE_BLANC` | "LeBlanc" | "Leblanc" | 7
/// `LEE_SIN` | "Lee Sin" | "LeeSin" | 64
/// `LEONA` | "Leona" | "Leona" | 89
/// `LILLIA` | "Lillia" | "Lillia" | 876
/// `LISSANDRA` | "Lissandra" | "Lissandra" | 127
/// `LUCIAN` | "Lucian" | "Lucian" | 236
/// `LULU` | "Lulu" | "Lulu" | 117
/// `LUX` | "Lux" | "Lux" | 99
/// `MALPHITE` | "Malphite" | "Malphite" | 54
/// `MALZAHAR` | "Malzahar" | "Malzahar" | 90
/// `MAOKAI` | "Maokai" | "Maokai" | 57
/// `MASTER_YI` | "Master Yi" | "MasterYi" | 11
/// `MISS_FORTUNE` | "Miss Fortune" | "MissFortune" | 21
/// `MORDEKAISER` | "Mordekaiser" | "Mordekaiser" | 82
/// `MORGANA` | "Morgana" | "Morgana" | 25
/// `NAMI` | "Nami" | "Nami" | 267
/// `NASUS` | "Nasus" | "Nasus" | 75
/// `NAUTILUS` | "Nautilus" | "Nautilus" | 111
/// `NEEKO` | "Neeko" | "Neeko" | 518
/// `NIDALEE` | "Nidalee" | "Nidalee" | 76
/// `NOCTURNE` | "Nocturne" | "Nocturne" | 56
/// `NUNU_WILLUMP` | "Nunu & Willump" | "Nunu" | 20
/// `OLAF` | "Olaf" | "Olaf" | 2
/// `ORIANNA` | "Orianna" | "Orianna" | 61
/// `ORNN` | "Ornn" | "Ornn" | 516
/// `PANTHEON` | "Pantheon" | "Pantheon" | 80
/// `POPPY` | "Poppy" | "Poppy" | 78
/// `PYKE` | "Pyke" | "Pyke" | 555
/// `QIYANA` | "Qiyana" | "Qiyana" | 246
/// `QUINN` | "Quinn" | "Quinn" | 133
/// `RAKAN` | "Rakan" | "Rakan" | 497
/// `RAMMUS` | "Rammus" | "Rammus" | 33
/// `REK_SAI` | "Rek'Sai" | "RekSai" | 421
/// `RELL` | "Rell" | "Rell" | 526
/// `RENEKTON` | "Renekton" | "Renekton" | 58
/// `RENGAR` | "Rengar" | "Rengar" | 107
/// `RIVEN` | "Riven" | "Riven" | 92
/// `RUMBLE` | "Rumble" | "Rumble" | 68
/// `RYZE` | "Ryze" | "Ryze" | 13
/// `SAMIRA` | "Samira" | "Samira" | 360
/// `SEJUANI` | "Sejuani" | "Sejuani" | 113
/// `SENNA` | "Senna" | "Senna" | 235
/// `SERAPHINE` | "Seraphine" | "Seraphine" | 147
/// `SETT` | "Sett" | "Sett" | 875
/// `SHACO` | "Shaco" | "Shaco" | 35
/// `SHEN` | "Shen" | "Shen" | 98
/// `SHYVANA` | "Shyvana" | "Shyvana" | 102
/// `SINGED` | "Singed" | "Singed" | 27
/// `SION` | "Sion" | "Sion" | 14
/// `SIVIR` | "Sivir" | "Sivir" | 15
/// `SKARNER` | "Skarner" | "Skarner" | 72
/// `SONA` | "Sona" | "Sona" | 37
/// `SORAKA` | "Soraka" | "Soraka" | 16
/// `SWAIN` | "Swain" | "Swain" | 50
/// `SYLAS` | "Sylas" | "Sylas" | 517
/// `SYNDRA` | "Syndra" | "Syndra" | 134
/// `TAHM_KENCH` | "Tahm Kench" | "TahmKench" | 223
/// `TALIYAH` | "Taliyah" | "Taliyah" | 163
/// `TALON` | "Talon" | "Talon" | 91
/// `TARIC` | "Taric" | "Taric" | 44
/// `TEEMO` | "Teemo" | "Teemo" | 17
/// `THRESH` | "Thresh" | "Thresh" | 412
/// `TRISTANA` | "Tristana" | "Tristana" | 18
/// `TRUNDLE` | "Trundle" | "Trundle" | 48
/// `TRYNDAMERE` | "Tryndamere" | "Tryndamere" | 23
/// `TWISTED_FATE` | "Twisted Fate" | "TwistedFate" | 4
/// `TWITCH` | "Twitch" | "Twitch" | 29
/// `UDYR` | "Udyr" | "Udyr" | 77
/// `URGOT` | "Urgot" | "Urgot" | 6
/// `VARUS` | "Varus" | "Varus" | 110
/// `VAYNE` | "Vayne" | "Vayne" | 67
/// `VEIGAR` | "Veigar" | "Veigar" | 45
/// `VEL_KOZ` | "Vel'Koz" | "Velkoz" | 161
/// `VEX` | "Vex" | "Vex" | 711
2021-07-01 01:50:08 +00:00
/// `VI` | "Vi" | "Vi" | 254
/// `VIEGO` | "Viego" | "Viego" | 234
/// `VIKTOR` | "Viktor" | "Viktor" | 112
/// `VLADIMIR` | "Vladimir" | "Vladimir" | 8
/// `VOLIBEAR` | "Volibear" | "Volibear" | 106
/// `WARWICK` | "Warwick" | "Warwick" | 19
/// `WUKONG` | "Wukong" | "MonkeyKing" | 62
/// `XAYAH` | "Xayah" | "Xayah" | 498
/// `XERATH` | "Xerath" | "Xerath" | 101
/// `XIN_ZHAO` | "Xin Zhao" | "XinZhao" | 5
/// `YASUO` | "Yasuo" | "Yasuo" | 157
/// `YONE` | "Yone" | "Yone" | 777
/// `YORICK` | "Yorick" | "Yorick" | 83
/// `YUUMI` | "Yuumi" | "Yuumi" | 350
/// `ZAC` | "Zac" | "Zac" | 154
/// `ZED` | "Zed" | "Zed" | 238
/// `ZIGGS` | "Ziggs" | "Ziggs" | 115
/// `ZILEAN` | "Zilean" | "Zilean" | 26
/// `ZOE` | "Zoe" | "Zoe" | 142
/// `ZYRA` | "Zyra" | "Zyra" | 143
#[derive(Serialize, Deserialize)]
#[serde(transparent)]
pub newtype_enum Champion(i16) {
AATROX = 266,
AHRI = 103,
AKALI = 84,
2021-07-23 22:31:02 +00:00
AKSHAN = 166,
2021-07-01 01:50:08 +00:00
ALISTAR = 12,
AMUMU = 32,
ANIVIA = 34,
ANNIE = 1,
APHELIOS = 523,
ASHE = 22,
AURELION_SOL = 136,
AZIR = 268,
BARD = 432,
BLITZCRANK = 53,
BRAND = 63,
BRAUM = 201,
CAITLYN = 51,
CAMILLE = 164,
CASSIOPEIA = 69,
CHO_GATH = 31,
CORKI = 42,
DARIUS = 122,
DIANA = 131,
DR_MUNDO = 36,
DRAVEN = 119,
EKKO = 245,
ELISE = 60,
EVELYNN = 28,
EZREAL = 81,
FIDDLESTICKS = 9,
FIORA = 114,
FIZZ = 105,
GALIO = 3,
GANGPLANK = 41,
GAREN = 86,
GNAR = 150,
GRAGAS = 79,
GRAVES = 104,
GWEN = 887,
HECARIM = 120,
HEIMERDINGER = 74,
ILLAOI = 420,
IRELIA = 39,
IVERN = 427,
JANNA = 40,
JARVAN_IV = 59,
JAX = 24,
JAYCE = 126,
JHIN = 202,
JINX = 222,
KAI_SA = 145,
KALISTA = 429,
KARMA = 43,
KARTHUS = 30,
KASSADIN = 38,
KATARINA = 55,
KAYLE = 10,
KAYN = 141,
KENNEN = 85,
KHA_ZIX = 121,
KINDRED = 203,
KLED = 240,
KOG_MAW = 96,
LE_BLANC = 7,
LEE_SIN = 64,
LEONA = 89,
LILLIA = 876,
LISSANDRA = 127,
LUCIAN = 236,
LULU = 117,
LUX = 99,
MALPHITE = 54,
MALZAHAR = 90,
MAOKAI = 57,
MASTER_YI = 11,
MISS_FORTUNE = 21,
MORDEKAISER = 82,
MORGANA = 25,
NAMI = 267,
NASUS = 75,
NAUTILUS = 111,
NEEKO = 518,
NIDALEE = 76,
NOCTURNE = 56,
NUNU_WILLUMP = 20,
OLAF = 2,
ORIANNA = 61,
ORNN = 516,
PANTHEON = 80,
POPPY = 78,
PYKE = 555,
QIYANA = 246,
QUINN = 133,
RAKAN = 497,
RAMMUS = 33,
REK_SAI = 421,
RELL = 526,
RENEKTON = 58,
RENGAR = 107,
RIVEN = 92,
RUMBLE = 68,
RYZE = 13,
SAMIRA = 360,
SEJUANI = 113,
SENNA = 235,
SERAPHINE = 147,
SETT = 875,
SHACO = 35,
SHEN = 98,
SHYVANA = 102,
SINGED = 27,
SION = 14,
SIVIR = 15,
SKARNER = 72,
SONA = 37,
SORAKA = 16,
SWAIN = 50,
SYLAS = 517,
SYNDRA = 134,
TAHM_KENCH = 223,
TALIYAH = 163,
TALON = 91,
TARIC = 44,
TEEMO = 17,
THRESH = 412,
TRISTANA = 18,
TRUNDLE = 48,
TRYNDAMERE = 23,
TWISTED_FATE = 4,
TWITCH = 29,
UDYR = 77,
URGOT = 6,
VARUS = 110,
VAYNE = 67,
VEIGAR = 45,
VEL_KOZ = 161,
VEX = 711,
2021-07-01 01:50:08 +00:00
VI = 254,
VIEGO = 234,
VIKTOR = 112,
VLADIMIR = 8,
VOLIBEAR = 106,
WARWICK = 19,
WUKONG = 62,
XAYAH = 498,
XERATH = 101,
XIN_ZHAO = 5,
YASUO = 157,
YONE = 777,
YORICK = 83,
YUUMI = 350,
ZAC = 154,
ZED = 238,
ZIGGS = 115,
ZILEAN = 26,
ZOE = 142,
ZYRA = 143,
}
2021-07-01 00:06:33 +00:00
}
impl Champion {
2021-06-30 23:34:34 +00:00
/// The champion's name (`en_US` localization).
pub const fn name(self) -> Option<&'static str> {
match self {
Self::AATROX => Some("Aatrox"),
Self::AHRI => Some("Ahri"),
Self::AKALI => Some("Akali"),
2021-07-23 22:31:02 +00:00
Self::AKSHAN => Some("Akshan"),
2021-06-30 23:34:34 +00:00
Self::ALISTAR => Some("Alistar"),
Self::AMUMU => Some("Amumu"),
Self::ANIVIA => Some("Anivia"),
Self::ANNIE => Some("Annie"),
Self::APHELIOS => Some("Aphelios"),
Self::ASHE => Some("Ashe"),
Self::AURELION_SOL => Some("Aurelion Sol"),
Self::AZIR => Some("Azir"),
Self::BARD => Some("Bard"),
Self::BLITZCRANK => Some("Blitzcrank"),
Self::BRAND => Some("Brand"),
Self::BRAUM => Some("Braum"),
Self::CAITLYN => Some("Caitlyn"),
Self::CAMILLE => Some("Camille"),
Self::CASSIOPEIA => Some("Cassiopeia"),
Self::CHO_GATH => Some("Cho'Gath"),
Self::CORKI => Some("Corki"),
Self::DARIUS => Some("Darius"),
Self::DIANA => Some("Diana"),
Self::DR_MUNDO => Some("Dr. Mundo"),
Self::DRAVEN => Some("Draven"),
Self::EKKO => Some("Ekko"),
Self::ELISE => Some("Elise"),
Self::EVELYNN => Some("Evelynn"),
Self::EZREAL => Some("Ezreal"),
Self::FIDDLESTICKS => Some("Fiddlesticks"),
Self::FIORA => Some("Fiora"),
Self::FIZZ => Some("Fizz"),
Self::GALIO => Some("Galio"),
Self::GANGPLANK => Some("Gangplank"),
Self::GAREN => Some("Garen"),
Self::GNAR => Some("Gnar"),
Self::GRAGAS => Some("Gragas"),
Self::GRAVES => Some("Graves"),
Self::GWEN => Some("Gwen"),
Self::HECARIM => Some("Hecarim"),
Self::HEIMERDINGER => Some("Heimerdinger"),
Self::ILLAOI => Some("Illaoi"),
Self::IRELIA => Some("Irelia"),
Self::IVERN => Some("Ivern"),
Self::JANNA => Some("Janna"),
Self::JARVAN_IV => Some("Jarvan IV"),
Self::JAX => Some("Jax"),
Self::JAYCE => Some("Jayce"),
Self::JHIN => Some("Jhin"),
Self::JINX => Some("Jinx"),
Self::KAI_SA => Some("Kai'Sa"),
Self::KALISTA => Some("Kalista"),
Self::KARMA => Some("Karma"),
Self::KARTHUS => Some("Karthus"),
Self::KASSADIN => Some("Kassadin"),
Self::KATARINA => Some("Katarina"),
Self::KAYLE => Some("Kayle"),
Self::KAYN => Some("Kayn"),
Self::KENNEN => Some("Kennen"),
Self::KHA_ZIX => Some("Kha'Zix"),
Self::KINDRED => Some("Kindred"),
Self::KLED => Some("Kled"),
Self::KOG_MAW => Some("Kog'Maw"),
Self::LE_BLANC => Some("LeBlanc"),
Self::LEE_SIN => Some("Lee Sin"),
Self::LEONA => Some("Leona"),
Self::LILLIA => Some("Lillia"),
Self::LISSANDRA => Some("Lissandra"),
Self::LUCIAN => Some("Lucian"),
Self::LULU => Some("Lulu"),
Self::LUX => Some("Lux"),
Self::MALPHITE => Some("Malphite"),
Self::MALZAHAR => Some("Malzahar"),
Self::MAOKAI => Some("Maokai"),
Self::MASTER_YI => Some("Master Yi"),
Self::MISS_FORTUNE => Some("Miss Fortune"),
Self::MORDEKAISER => Some("Mordekaiser"),
Self::MORGANA => Some("Morgana"),
Self::NAMI => Some("Nami"),
Self::NASUS => Some("Nasus"),
Self::NAUTILUS => Some("Nautilus"),
Self::NEEKO => Some("Neeko"),
Self::NIDALEE => Some("Nidalee"),
Self::NOCTURNE => Some("Nocturne"),
Self::NUNU_WILLUMP => Some("Nunu & Willump"),
Self::OLAF => Some("Olaf"),
Self::ORIANNA => Some("Orianna"),
Self::ORNN => Some("Ornn"),
Self::PANTHEON => Some("Pantheon"),
Self::POPPY => Some("Poppy"),
Self::PYKE => Some("Pyke"),
Self::QIYANA => Some("Qiyana"),
Self::QUINN => Some("Quinn"),
Self::RAKAN => Some("Rakan"),
Self::RAMMUS => Some("Rammus"),
Self::REK_SAI => Some("Rek'Sai"),
Self::RELL => Some("Rell"),
Self::RENEKTON => Some("Renekton"),
Self::RENGAR => Some("Rengar"),
Self::RIVEN => Some("Riven"),
Self::RUMBLE => Some("Rumble"),
Self::RYZE => Some("Ryze"),
Self::SAMIRA => Some("Samira"),
Self::SEJUANI => Some("Sejuani"),
Self::SENNA => Some("Senna"),
Self::SERAPHINE => Some("Seraphine"),
Self::SETT => Some("Sett"),
Self::SHACO => Some("Shaco"),
Self::SHEN => Some("Shen"),
Self::SHYVANA => Some("Shyvana"),
Self::SINGED => Some("Singed"),
Self::SION => Some("Sion"),
Self::SIVIR => Some("Sivir"),
Self::SKARNER => Some("Skarner"),
Self::SONA => Some("Sona"),
Self::SORAKA => Some("Soraka"),
Self::SWAIN => Some("Swain"),
Self::SYLAS => Some("Sylas"),
Self::SYNDRA => Some("Syndra"),
Self::TAHM_KENCH => Some("Tahm Kench"),
Self::TALIYAH => Some("Taliyah"),
Self::TALON => Some("Talon"),
Self::TARIC => Some("Taric"),
Self::TEEMO => Some("Teemo"),
Self::THRESH => Some("Thresh"),
Self::TRISTANA => Some("Tristana"),
Self::TRUNDLE => Some("Trundle"),
Self::TRYNDAMERE => Some("Tryndamere"),
Self::TWISTED_FATE => Some("Twisted Fate"),
Self::TWITCH => Some("Twitch"),
Self::UDYR => Some("Udyr"),
Self::URGOT => Some("Urgot"),
Self::VARUS => Some("Varus"),
Self::VAYNE => Some("Vayne"),
Self::VEIGAR => Some("Veigar"),
Self::VEL_KOZ => Some("Vel'Koz"),
Self::VEX => Some("Vex"),
2021-06-30 23:34:34 +00:00
Self::VI => Some("Vi"),
Self::VIEGO => Some("Viego"),
Self::VIKTOR => Some("Viktor"),
Self::VLADIMIR => Some("Vladimir"),
Self::VOLIBEAR => Some("Volibear"),
Self::WARWICK => Some("Warwick"),
Self::WUKONG => Some("Wukong"),
Self::XAYAH => Some("Xayah"),
Self::XERATH => Some("Xerath"),
Self::XIN_ZHAO => Some("Xin Zhao"),
Self::YASUO => Some("Yasuo"),
Self::YONE => Some("Yone"),
Self::YORICK => Some("Yorick"),
Self::YUUMI => Some("Yuumi"),
Self::ZAC => Some("Zac"),
Self::ZED => Some("Zed"),
Self::ZIGGS => Some("Ziggs"),
Self::ZILEAN => Some("Zilean"),
Self::ZOE => Some("Zoe"),
Self::ZYRA => Some("Zyra"),
_ => None,
}
}
/// The champion's identifier key. Somtimes called "key", "identifier", or "alias".
/// This is mainly used in DDragon paths.
///
/// This is generally the `en_US` name with spaces and punctuation removed,
/// capitalization preserved, however the follow are exceptions:
///
2021-07-01 01:50:08 +00:00
/// Field | Name | Identifier | Id
/// ---|---|---|---
/// `CHO_GATH` | "Cho'Gath" | "Chogath" | 31
/// `FIDDLESTICKS` | "Fiddlesticks" | "FiddleSticks" | 9
/// `KAI_SA` | "Kai'Sa" | "Kaisa" | 145
/// `KHA_ZIX` | "Kha'Zix" | "Khazix" | 121
/// `LE_BLANC` | "LeBlanc" | "Leblanc" | 7
/// `NUNU_WILLUMP` | "Nunu & Willump" | "Nunu" | 20
/// `VEL_KOZ` | "Vel'Koz" | "Velkoz" | 161
/// `WUKONG` | "Wukong" | "MonkeyKing" | 62
2021-06-30 23:34:34 +00:00
pub const fn identifier(self) -> Option<&'static str> {
match self {
Self::AATROX => Some("Aatrox"),
Self::AHRI => Some("Ahri"),
Self::AKALI => Some("Akali"),
2021-07-23 22:31:02 +00:00
Self::AKSHAN => Some("Akshan"),
2021-06-30 23:34:34 +00:00
Self::ALISTAR => Some("Alistar"),
Self::AMUMU => Some("Amumu"),
Self::ANIVIA => Some("Anivia"),
Self::ANNIE => Some("Annie"),
Self::APHELIOS => Some("Aphelios"),
Self::ASHE => Some("Ashe"),
Self::AURELION_SOL => Some("AurelionSol"),
Self::AZIR => Some("Azir"),
Self::BARD => Some("Bard"),
Self::BLITZCRANK => Some("Blitzcrank"),
Self::BRAND => Some("Brand"),
Self::BRAUM => Some("Braum"),
Self::CAITLYN => Some("Caitlyn"),
Self::CAMILLE => Some("Camille"),
Self::CASSIOPEIA => Some("Cassiopeia"),
Self::CHO_GATH => Some("Chogath"),
Self::CORKI => Some("Corki"),
Self::DARIUS => Some("Darius"),
Self::DIANA => Some("Diana"),
Self::DR_MUNDO => Some("DrMundo"),
Self::DRAVEN => Some("Draven"),
Self::EKKO => Some("Ekko"),
Self::ELISE => Some("Elise"),
Self::EVELYNN => Some("Evelynn"),
Self::EZREAL => Some("Ezreal"),
Self::FIDDLESTICKS => Some("FiddleSticks"),
Self::FIORA => Some("Fiora"),
Self::FIZZ => Some("Fizz"),
Self::GALIO => Some("Galio"),
Self::GANGPLANK => Some("Gangplank"),
Self::GAREN => Some("Garen"),
Self::GNAR => Some("Gnar"),
Self::GRAGAS => Some("Gragas"),
Self::GRAVES => Some("Graves"),
Self::GWEN => Some("Gwen"),
Self::HECARIM => Some("Hecarim"),
Self::HEIMERDINGER => Some("Heimerdinger"),
Self::ILLAOI => Some("Illaoi"),
Self::IRELIA => Some("Irelia"),
Self::IVERN => Some("Ivern"),
Self::JANNA => Some("Janna"),
Self::JARVAN_IV => Some("JarvanIV"),
Self::JAX => Some("Jax"),
Self::JAYCE => Some("Jayce"),
Self::JHIN => Some("Jhin"),
Self::JINX => Some("Jinx"),
Self::KAI_SA => Some("Kaisa"),
Self::KALISTA => Some("Kalista"),
Self::KARMA => Some("Karma"),
Self::KARTHUS => Some("Karthus"),
Self::KASSADIN => Some("Kassadin"),
Self::KATARINA => Some("Katarina"),
Self::KAYLE => Some("Kayle"),
Self::KAYN => Some("Kayn"),
Self::KENNEN => Some("Kennen"),
Self::KHA_ZIX => Some("Khazix"),
Self::KINDRED => Some("Kindred"),
Self::KLED => Some("Kled"),
Self::KOG_MAW => Some("KogMaw"),
Self::LE_BLANC => Some("Leblanc"),
Self::LEE_SIN => Some("LeeSin"),
Self::LEONA => Some("Leona"),
Self::LILLIA => Some("Lillia"),
Self::LISSANDRA => Some("Lissandra"),
Self::LUCIAN => Some("Lucian"),
Self::LULU => Some("Lulu"),
Self::LUX => Some("Lux"),
Self::MALPHITE => Some("Malphite"),
Self::MALZAHAR => Some("Malzahar"),
Self::MAOKAI => Some("Maokai"),
Self::MASTER_YI => Some("MasterYi"),
Self::MISS_FORTUNE => Some("MissFortune"),
Self::MORDEKAISER => Some("Mordekaiser"),
Self::MORGANA => Some("Morgana"),
Self::NAMI => Some("Nami"),
Self::NASUS => Some("Nasus"),
Self::NAUTILUS => Some("Nautilus"),
Self::NEEKO => Some("Neeko"),
Self::NIDALEE => Some("Nidalee"),
Self::NOCTURNE => Some("Nocturne"),
Self::NUNU_WILLUMP => Some("Nunu"),
Self::OLAF => Some("Olaf"),
Self::ORIANNA => Some("Orianna"),
Self::ORNN => Some("Ornn"),
Self::PANTHEON => Some("Pantheon"),
Self::POPPY => Some("Poppy"),
Self::PYKE => Some("Pyke"),
Self::QIYANA => Some("Qiyana"),
Self::QUINN => Some("Quinn"),
Self::RAKAN => Some("Rakan"),
Self::RAMMUS => Some("Rammus"),
Self::REK_SAI => Some("RekSai"),
Self::RELL => Some("Rell"),
Self::RENEKTON => Some("Renekton"),
Self::RENGAR => Some("Rengar"),
Self::RIVEN => Some("Riven"),
Self::RUMBLE => Some("Rumble"),
Self::RYZE => Some("Ryze"),
Self::SAMIRA => Some("Samira"),
Self::SEJUANI => Some("Sejuani"),
Self::SENNA => Some("Senna"),
Self::SERAPHINE => Some("Seraphine"),
Self::SETT => Some("Sett"),
Self::SHACO => Some("Shaco"),
Self::SHEN => Some("Shen"),
Self::SHYVANA => Some("Shyvana"),
Self::SINGED => Some("Singed"),
Self::SION => Some("Sion"),
Self::SIVIR => Some("Sivir"),
Self::SKARNER => Some("Skarner"),
Self::SONA => Some("Sona"),
Self::SORAKA => Some("Soraka"),
Self::SWAIN => Some("Swain"),
Self::SYLAS => Some("Sylas"),
Self::SYNDRA => Some("Syndra"),
Self::TAHM_KENCH => Some("TahmKench"),
Self::TALIYAH => Some("Taliyah"),
Self::TALON => Some("Talon"),
Self::TARIC => Some("Taric"),
Self::TEEMO => Some("Teemo"),
Self::THRESH => Some("Thresh"),
Self::TRISTANA => Some("Tristana"),
Self::TRUNDLE => Some("Trundle"),
Self::TRYNDAMERE => Some("Tryndamere"),
Self::TWISTED_FATE => Some("TwistedFate"),
Self::TWITCH => Some("Twitch"),
Self::UDYR => Some("Udyr"),
Self::URGOT => Some("Urgot"),
Self::VARUS => Some("Varus"),
Self::VAYNE => Some("Vayne"),
Self::VEIGAR => Some("Veigar"),
Self::VEL_KOZ => Some("Velkoz"),
Self::VEX => Some("Vex"),
2021-06-30 23:34:34 +00:00
Self::VI => Some("Vi"),
Self::VIEGO => Some("Viego"),
Self::VIKTOR => Some("Viktor"),
Self::VLADIMIR => Some("Vladimir"),
Self::VOLIBEAR => Some("Volibear"),
Self::WARWICK => Some("Warwick"),
Self::WUKONG => Some("MonkeyKing"),
Self::XAYAH => Some("Xayah"),
Self::XERATH => Some("Xerath"),
Self::XIN_ZHAO => Some("XinZhao"),
Self::YASUO => Some("Yasuo"),
Self::YONE => Some("Yone"),
Self::YORICK => Some("Yorick"),
Self::YUUMI => Some("Yuumi"),
Self::ZAC => Some("Zac"),
Self::ZED => Some("Zed"),
Self::ZIGGS => Some("Ziggs"),
Self::ZILEAN => Some("Zilean"),
Self::ZOE => Some("Zoe"),
Self::ZYRA => Some("Zyra"),
_ => None,
}
}
}
impl std::str::FromStr for Champion {
type Err = ();
fn from_str(s: &str) -> Result<Self, Self::Err> {
match s.chars()
.take(4)
.filter(|c| c.is_ascii_alphanumeric())
.fold(0_u32, |hash, next| hash * 256 + u32::from(next))
{
0x41415452 /* AATR */ => Ok(Champion::AATROX),
0x41485249 /* AHRI */ => Ok(Champion::AHRI),
0x414b414c /* AKAL */ => Ok(Champion::AKALI),
2021-07-23 22:31:02 +00:00
0x414b5348 /* AKSH */ => Ok(Champion::AKSHAN),
2021-06-30 23:34:34 +00:00
0x414c4953 /* ALIS */ => Ok(Champion::ALISTAR),
0x414d554d /* AMUM */ => Ok(Champion::AMUMU),
0x414e4956 /* ANIV */ => Ok(Champion::ANIVIA),
0x414e4e49 /* ANNI */ => Ok(Champion::ANNIE),
0x41504845 /* APHE */ => Ok(Champion::APHELIOS),
0x41534845 /* ASHE */ => Ok(Champion::ASHE),
0x41555245 /* AURE */ => Ok(Champion::AURELION_SOL),
0x415a4952 /* AZIR */ => Ok(Champion::AZIR),
0x42415244 /* BARD */ => Ok(Champion::BARD),
0x424c4954 /* BLIT */ => Ok(Champion::BLITZCRANK),
0x4252414e /* BRAN */ => Ok(Champion::BRAND),
0x42524155 /* BRAU */ => Ok(Champion::BRAUM),
0x43414954 /* CAIT */ => Ok(Champion::CAITLYN),
0x43414d49 /* CAMI */ => Ok(Champion::CAMILLE),
0x43415353 /* CASS */ => Ok(Champion::CASSIOPEIA),
0x43484f47 /* CHOG */ => Ok(Champion::CHO_GATH),
0x43484f /* CHO */ => Ok(Champion::CHO_GATH),
0x434f524b /* CORK */ => Ok(Champion::CORKI),
0x44415249 /* DARI */ => Ok(Champion::DARIUS),
0x4449414e /* DIAN */ => Ok(Champion::DIANA),
0x44524d55 /* DRMU */ => Ok(Champion::DR_MUNDO),
0x4452 /* DR */ => Ok(Champion::DR_MUNDO),
0x44524156 /* DRAV */ => Ok(Champion::DRAVEN),
0x454b4b4f /* EKKO */ => Ok(Champion::EKKO),
0x454c4953 /* ELIS */ => Ok(Champion::ELISE),
0x4556454c /* EVEL */ => Ok(Champion::EVELYNN),
0x455a5245 /* EZRE */ => Ok(Champion::EZREAL),
0x46494444 /* FIDD */ => Ok(Champion::FIDDLESTICKS),
0x46494f52 /* FIOR */ => Ok(Champion::FIORA),
0x46495a5a /* FIZZ */ => Ok(Champion::FIZZ),
0x47414c49 /* GALI */ => Ok(Champion::GALIO),
0x47414e47 /* GANG */ => Ok(Champion::GANGPLANK),
0x47415245 /* GARE */ => Ok(Champion::GAREN),
0x474e4152 /* GNAR */ => Ok(Champion::GNAR),
0x47524147 /* GRAG */ => Ok(Champion::GRAGAS),
0x47524156 /* GRAV */ => Ok(Champion::GRAVES),
0x4757454e /* GWEN */ => Ok(Champion::GWEN),
0x48454341 /* HECA */ => Ok(Champion::HECARIM),
0x4845494d /* HEIM */ => Ok(Champion::HEIMERDINGER),
0x494c4c41 /* ILLA */ => Ok(Champion::ILLAOI),
0x4952454c /* IREL */ => Ok(Champion::IRELIA),
0x49564552 /* IVER */ => Ok(Champion::IVERN),
0x4a414e4e /* JANN */ => Ok(Champion::JANNA),
0x4a415256 /* JARV */ => Ok(Champion::JARVAN_IV),
0x4a4158 /* JAX */ => Ok(Champion::JAX),
0x4a415943 /* JAYC */ => Ok(Champion::JAYCE),
0x4a48494e /* JHIN */ => Ok(Champion::JHIN),
0x4a494e58 /* JINX */ => Ok(Champion::JINX),
0x4b414953 /* KAIS */ => Ok(Champion::KAI_SA),
0x4b4149 /* KAI */ => Ok(Champion::KAI_SA),
0x4b414c49 /* KALI */ => Ok(Champion::KALISTA),
0x4b41524d /* KARM */ => Ok(Champion::KARMA),
0x4b415254 /* KART */ => Ok(Champion::KARTHUS),
0x4b415353 /* KASS */ => Ok(Champion::KASSADIN),
0x4b415441 /* KATA */ => Ok(Champion::KATARINA),
0x4b41594c /* KAYL */ => Ok(Champion::KAYLE),
0x4b41594e /* KAYN */ => Ok(Champion::KAYN),
0x4b454e4e /* KENN */ => Ok(Champion::KENNEN),
0x4b48415a /* KHAZ */ => Ok(Champion::KHA_ZIX),
0x4b4841 /* KHA */ => Ok(Champion::KHA_ZIX),
0x4b494e44 /* KIND */ => Ok(Champion::KINDRED),
0x4b4c4544 /* KLED */ => Ok(Champion::KLED),
0x4b4f474d /* KOGM */ => Ok(Champion::KOG_MAW),
0x4b4f47 /* KOG */ => Ok(Champion::KOG_MAW),
0x4c45424c /* LEBL */ => Ok(Champion::LE_BLANC),
0x4c454553 /* LEES */ => Ok(Champion::LEE_SIN),
0x4c4545 /* LEE */ => Ok(Champion::LEE_SIN),
0x4c454f4e /* LEON */ => Ok(Champion::LEONA),
0x4c494c4c /* LILL */ => Ok(Champion::LILLIA),
0x4c495353 /* LISS */ => Ok(Champion::LISSANDRA),
0x4c554349 /* LUCI */ => Ok(Champion::LUCIAN),
0x4c554c55 /* LULU */ => Ok(Champion::LULU),
0x4c5558 /* LUX */ => Ok(Champion::LUX),
0x4d414c50 /* MALP */ => Ok(Champion::MALPHITE),
0x4d414c5a /* MALZ */ => Ok(Champion::MALZAHAR),
0x4d414f4b /* MAOK */ => Ok(Champion::MAOKAI),
0x4d415354 /* MAST */ => Ok(Champion::MASTER_YI),
0x4d495353 /* MISS */ => Ok(Champion::MISS_FORTUNE),
0x4d4f5244 /* MORD */ => Ok(Champion::MORDEKAISER),
0x4d4f5247 /* MORG */ => Ok(Champion::MORGANA),
0x4e414d49 /* NAMI */ => Ok(Champion::NAMI),
0x4e415355 /* NASU */ => Ok(Champion::NASUS),
0x4e415554 /* NAUT */ => Ok(Champion::NAUTILUS),
0x4e45454b /* NEEK */ => Ok(Champion::NEEKO),
0x4e494441 /* NIDA */ => Ok(Champion::NIDALEE),
0x4e4f4354 /* NOCT */ => Ok(Champion::NOCTURNE),
0x4e554e55 /* NUNU */ => Ok(Champion::NUNU_WILLUMP),
0x4f4c4146 /* OLAF */ => Ok(Champion::OLAF),
0x4f524941 /* ORIA */ => Ok(Champion::ORIANNA),
0x4f524e4e /* ORNN */ => Ok(Champion::ORNN),
0x50414e54 /* PANT */ => Ok(Champion::PANTHEON),
0x504f5050 /* POPP */ => Ok(Champion::POPPY),
0x50594b45 /* PYKE */ => Ok(Champion::PYKE),
0x51495941 /* QIYA */ => Ok(Champion::QIYANA),
0x5155494e /* QUIN */ => Ok(Champion::QUINN),
0x52414b41 /* RAKA */ => Ok(Champion::RAKAN),
0x52414d4d /* RAMM */ => Ok(Champion::RAMMUS),
0x52454b53 /* REKS */ => Ok(Champion::REK_SAI),
0x52454b /* REK */ => Ok(Champion::REK_SAI),
0x52454c4c /* RELL */ => Ok(Champion::RELL),
0x52454e45 /* RENE */ => Ok(Champion::RENEKTON),
0x52454e47 /* RENG */ => Ok(Champion::RENGAR),
0x52495645 /* RIVE */ => Ok(Champion::RIVEN),
0x52554d42 /* RUMB */ => Ok(Champion::RUMBLE),
0x52595a45 /* RYZE */ => Ok(Champion::RYZE),
0x53414d49 /* SAMI */ => Ok(Champion::SAMIRA),
0x53454a55 /* SEJU */ => Ok(Champion::SEJUANI),
0x53454e4e /* SENN */ => Ok(Champion::SENNA),
0x53455241 /* SERA */ => Ok(Champion::SERAPHINE),
0x53455454 /* SETT */ => Ok(Champion::SETT),
0x53484143 /* SHAC */ => Ok(Champion::SHACO),
0x5348454e /* SHEN */ => Ok(Champion::SHEN),
0x53485956 /* SHYV */ => Ok(Champion::SHYVANA),
0x53494e47 /* SING */ => Ok(Champion::SINGED),
0x53494f4e /* SION */ => Ok(Champion::SION),
0x53495649 /* SIVI */ => Ok(Champion::SIVIR),
0x534b4152 /* SKAR */ => Ok(Champion::SKARNER),
0x534f4e41 /* SONA */ => Ok(Champion::SONA),
0x534f5241 /* SORA */ => Ok(Champion::SORAKA),
0x53574149 /* SWAI */ => Ok(Champion::SWAIN),
0x53594c41 /* SYLA */ => Ok(Champion::SYLAS),
0x53594e44 /* SYND */ => Ok(Champion::SYNDRA),
0x5441484d /* TAHM */ => Ok(Champion::TAHM_KENCH),
0x54414c49 /* TALI */ => Ok(Champion::TALIYAH),
0x54414c4f /* TALO */ => Ok(Champion::TALON),
0x54415249 /* TARI */ => Ok(Champion::TARIC),
0x5445454d /* TEEM */ => Ok(Champion::TEEMO),
0x54485245 /* THRE */ => Ok(Champion::THRESH),
0x54524953 /* TRIS */ => Ok(Champion::TRISTANA),
0x5452554e /* TRUN */ => Ok(Champion::TRUNDLE),
0x5452594e /* TRYN */ => Ok(Champion::TRYNDAMERE),
0x54574953 /* TWIS */ => Ok(Champion::TWISTED_FATE),
0x54574954 /* TWIT */ => Ok(Champion::TWITCH),
0x55445952 /* UDYR */ => Ok(Champion::UDYR),
0x5552474f /* URGO */ => Ok(Champion::URGOT),
0x56415255 /* VARU */ => Ok(Champion::VARUS),
0x5641594e /* VAYN */ => Ok(Champion::VAYNE),
0x56454947 /* VEIG */ => Ok(Champion::VEIGAR),
0x56454c4b /* VELK */ => Ok(Champion::VEL_KOZ),
0x56454c /* VEL */ => Ok(Champion::VEL_KOZ),
0x564558 /* VEX */ => Ok(Champion::VEX),
2021-06-30 23:34:34 +00:00
0x5649 /* VI */ => Ok(Champion::VI),
0x56494547 /* VIEG */ => Ok(Champion::VIEGO),
0x56494b54 /* VIKT */ => Ok(Champion::VIKTOR),
0x564c4144 /* VLAD */ => Ok(Champion::VLADIMIR),
0x564f4c49 /* VOLI */ => Ok(Champion::VOLIBEAR),
0x57415257 /* WARW */ => Ok(Champion::WARWICK),
0x57554b4f /* WUKO */ => Ok(Champion::WUKONG),
0x4d4f4e4b /* MONK */ => Ok(Champion::WUKONG),
0x58415941 /* XAYA */ => Ok(Champion::XAYAH),
0x58455241 /* XERA */ => Ok(Champion::XERATH),
0x58494e5a /* XINZ */ => Ok(Champion::XIN_ZHAO),
0x58494e /* XIN */ => Ok(Champion::XIN_ZHAO),
0x59415355 /* YASU */ => Ok(Champion::YASUO),
0x594f4e45 /* YONE */ => Ok(Champion::YONE),
0x594f5249 /* YORI */ => Ok(Champion::YORICK),
0x5955554d /* YUUM */ => Ok(Champion::YUUMI),
0x5a4143 /* ZAC */ => Ok(Champion::ZAC),
0x5a4544 /* ZED */ => Ok(Champion::ZED),
0x5a494747 /* ZIGG */ => Ok(Champion::ZIGGS),
0x5a494c45 /* ZILE */ => Ok(Champion::ZILEAN),
0x5a4f45 /* ZOE */ => Ok(Champion::ZOE),
0x5a595241 /* ZYRA */ => Ok(Champion::ZYRA),
_ => Err(()),
}
}
}
impl std::convert::TryFrom<&str> for Champion {
type Error = <Self as std::str::FromStr>::Err;
fn try_from(value: &str) -> Result<Self, Self::Error> {
<Self as std::str::FromStr>::from_str(value)
}
}