Riven/riven/src/consts/champion.rs

1127 lines
47 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
///////////////////////////////////////////////
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
/// ---|---|---|---
/// `NONE` | None (no ban) | | -1
2021-07-01 01:50:08 +00:00
/// `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
/// `BEL_VETH` | "Bel'Veth" | "Belveth" | 200
2021-07-01 01:50:08 +00:00
/// `BLITZCRANK` | "Blitzcrank" | "Blitzcrank" | 53
/// `BRAND` | "Brand" | "Brand" | 63
/// `BRAUM` | "Braum" | "Braum" | 201
/// `BRIAR` | "Briar" | "Briar" | 233
2021-07-01 01:50:08 +00:00
/// `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
/// `HWEI` | "Hwei" | "Hwei" | 910
2021-07-01 01:50:08 +00:00
/// `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
2023-01-08 01:56:47 +00:00
/// `K_SANTE` | "K'Sante" | "KSante" | 897
2021-07-01 01:50:08 +00:00
/// `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
/// `MILIO` | "Milio" | "Milio" | 902
2021-07-01 01:50:08 +00:00
/// `MISS_FORTUNE` | "Miss Fortune" | "MissFortune" | 21
/// `MORDEKAISER` | "Mordekaiser" | "Mordekaiser" | 82
/// `MORGANA` | "Morgana" | "Morgana" | 25
/// `NAAFIRI` | "Naafiri" | "Naafiri" | 950
2021-07-01 01:50:08 +00:00
/// `NAMI` | "Nami" | "Nami" | 267
/// `NASUS` | "Nasus" | "Nasus" | 75
/// `NAUTILUS` | "Nautilus" | "Nautilus" | 111
/// `NEEKO` | "Neeko" | "Neeko" | 518
/// `NIDALEE` | "Nidalee" | "Nidalee" | 76
2022-08-12 14:08:45 +00:00
/// `NILAH` | "Nilah" | "Nilah" | 895
2021-07-01 01:50:08 +00:00
/// `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
/// `RENATA_GLASC` | "Renata Glasc" | "Renata" | 888
2021-07-01 01:50:08 +00:00
/// `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
/// `ZERI` | "Zeri" | "Zeri" | 221
2021-07-01 01:50:08 +00:00
/// `ZIGGS` | "Ziggs" | "Ziggs" | 115
/// `ZILEAN` | "Zilean" | "Zilean" | 26
/// `ZOE` | "Zoe" | "Zoe" | 142
/// `ZYRA` | "Zyra" | "Zyra" | 143
pub newtype_enum Champion(i16) {
/// `-1`, none. Appears when a champion ban is not used in champ select.
NONE = -1,
/// `266`.
2021-07-01 01:50:08 +00:00
AATROX = 266,
/// `103`.
2021-07-01 01:50:08 +00:00
AHRI = 103,
/// `84`.
2021-07-01 01:50:08 +00:00
AKALI = 84,
/// `166`.
2021-07-23 22:31:02 +00:00
AKSHAN = 166,
/// `12`.
2021-07-01 01:50:08 +00:00
ALISTAR = 12,
/// `32`.
2021-07-01 01:50:08 +00:00
AMUMU = 32,
/// `34`.
2021-07-01 01:50:08 +00:00
ANIVIA = 34,
/// `1`.
2021-07-01 01:50:08 +00:00
ANNIE = 1,
/// `523`.
2021-07-01 01:50:08 +00:00
APHELIOS = 523,
/// `22`.
2021-07-01 01:50:08 +00:00
ASHE = 22,
/// `136`.
2021-07-01 01:50:08 +00:00
AURELION_SOL = 136,
/// `268`.
2021-07-01 01:50:08 +00:00
AZIR = 268,
/// `432`.
2021-07-01 01:50:08 +00:00
BARD = 432,
/// `200`.
BEL_VETH = 200,
/// `53`.
2021-07-01 01:50:08 +00:00
BLITZCRANK = 53,
/// `63`.
2021-07-01 01:50:08 +00:00
BRAND = 63,
/// `201`.
2021-07-01 01:50:08 +00:00
BRAUM = 201,
/// `233`.
BRIAR = 233,
/// `51`.
2021-07-01 01:50:08 +00:00
CAITLYN = 51,
/// `164`.
2021-07-01 01:50:08 +00:00
CAMILLE = 164,
/// `69`.
2021-07-01 01:50:08 +00:00
CASSIOPEIA = 69,
/// `31`.
2021-07-01 01:50:08 +00:00
CHO_GATH = 31,
/// `42`.
2021-07-01 01:50:08 +00:00
CORKI = 42,
/// `122`.
2021-07-01 01:50:08 +00:00
DARIUS = 122,
/// `131`.
2021-07-01 01:50:08 +00:00
DIANA = 131,
/// `36`.
2021-07-01 01:50:08 +00:00
DR_MUNDO = 36,
/// `119`.
2021-07-01 01:50:08 +00:00
DRAVEN = 119,
/// `245`.
2021-07-01 01:50:08 +00:00
EKKO = 245,
/// `60`.
2021-07-01 01:50:08 +00:00
ELISE = 60,
/// `28`.
2021-07-01 01:50:08 +00:00
EVELYNN = 28,
/// `81`.
2021-07-01 01:50:08 +00:00
EZREAL = 81,
/// `9`.
2021-07-01 01:50:08 +00:00
FIDDLESTICKS = 9,
/// `114`.
2021-07-01 01:50:08 +00:00
FIORA = 114,
/// `105`.
2021-07-01 01:50:08 +00:00
FIZZ = 105,
/// `3`.
2021-07-01 01:50:08 +00:00
GALIO = 3,
/// `41`.
2021-07-01 01:50:08 +00:00
GANGPLANK = 41,
/// `86`.
2021-07-01 01:50:08 +00:00
GAREN = 86,
/// `150`.
2021-07-01 01:50:08 +00:00
GNAR = 150,
/// `79`.
2021-07-01 01:50:08 +00:00
GRAGAS = 79,
/// `104`.
2021-07-01 01:50:08 +00:00
GRAVES = 104,
/// `887`.
2021-07-01 01:50:08 +00:00
GWEN = 887,
/// `120`.
2021-07-01 01:50:08 +00:00
HECARIM = 120,
/// `74`.
2021-07-01 01:50:08 +00:00
HEIMERDINGER = 74,
/// `910`.
HWEI = 910,
/// `420`.
2021-07-01 01:50:08 +00:00
ILLAOI = 420,
/// `39`.
2021-07-01 01:50:08 +00:00
IRELIA = 39,
/// `427`.
2021-07-01 01:50:08 +00:00
IVERN = 427,
/// `40`.
2021-07-01 01:50:08 +00:00
JANNA = 40,
/// `59`.
2021-07-01 01:50:08 +00:00
JARVAN_IV = 59,
/// `24`.
2021-07-01 01:50:08 +00:00
JAX = 24,
/// `126`.
2021-07-01 01:50:08 +00:00
JAYCE = 126,
/// `202`.
2021-07-01 01:50:08 +00:00
JHIN = 202,
/// `222`.
2021-07-01 01:50:08 +00:00
JINX = 222,
2023-01-08 01:56:47 +00:00
/// `897`.
K_SANTE = 897,
/// `145`.
2021-07-01 01:50:08 +00:00
KAI_SA = 145,
/// `429`.
2021-07-01 01:50:08 +00:00
KALISTA = 429,
/// `43`.
2021-07-01 01:50:08 +00:00
KARMA = 43,
/// `30`.
2021-07-01 01:50:08 +00:00
KARTHUS = 30,
/// `38`.
2021-07-01 01:50:08 +00:00
KASSADIN = 38,
/// `55`.
2021-07-01 01:50:08 +00:00
KATARINA = 55,
/// `10`.
2021-07-01 01:50:08 +00:00
KAYLE = 10,
/// `141`.
2021-07-01 01:50:08 +00:00
KAYN = 141,
/// `85`.
2021-07-01 01:50:08 +00:00
KENNEN = 85,
/// `121`.
2021-07-01 01:50:08 +00:00
KHA_ZIX = 121,
/// `203`.
2021-07-01 01:50:08 +00:00
KINDRED = 203,
/// `240`.
2021-07-01 01:50:08 +00:00
KLED = 240,
/// `96`.
2021-07-01 01:50:08 +00:00
KOG_MAW = 96,
/// `7`.
2021-07-01 01:50:08 +00:00
LE_BLANC = 7,
/// `64`.
2021-07-01 01:50:08 +00:00
LEE_SIN = 64,
/// `89`.
2021-07-01 01:50:08 +00:00
LEONA = 89,
/// `876`.
2021-07-01 01:50:08 +00:00
LILLIA = 876,
/// `127`.
2021-07-01 01:50:08 +00:00
LISSANDRA = 127,
/// `236`.
2021-07-01 01:50:08 +00:00
LUCIAN = 236,
/// `117`.
2021-07-01 01:50:08 +00:00
LULU = 117,
/// `99`.
2021-07-01 01:50:08 +00:00
LUX = 99,
/// `54`.
2021-07-01 01:50:08 +00:00
MALPHITE = 54,
/// `90`.
2021-07-01 01:50:08 +00:00
MALZAHAR = 90,
/// `57`.
2021-07-01 01:50:08 +00:00
MAOKAI = 57,
/// `11`.
2021-07-01 01:50:08 +00:00
MASTER_YI = 11,
/// `902`.
MILIO = 902,
/// `21`.
2021-07-01 01:50:08 +00:00
MISS_FORTUNE = 21,
/// `82`.
2021-07-01 01:50:08 +00:00
MORDEKAISER = 82,
/// `25`.
2021-07-01 01:50:08 +00:00
MORGANA = 25,
/// `950`.
NAAFIRI = 950,
/// `267`.
2021-07-01 01:50:08 +00:00
NAMI = 267,
/// `75`.
2021-07-01 01:50:08 +00:00
NASUS = 75,
/// `111`.
2021-07-01 01:50:08 +00:00
NAUTILUS = 111,
/// `518`.
2021-07-01 01:50:08 +00:00
NEEKO = 518,
/// `76`.
2021-07-01 01:50:08 +00:00
NIDALEE = 76,
2022-08-12 14:08:45 +00:00
/// `895`.
NILAH = 895,
/// `56`.
2021-07-01 01:50:08 +00:00
NOCTURNE = 56,
/// `20`.
2021-07-01 01:50:08 +00:00
NUNU_WILLUMP = 20,
/// `2`.
2021-07-01 01:50:08 +00:00
OLAF = 2,
/// `61`.
2021-07-01 01:50:08 +00:00
ORIANNA = 61,
/// `516`.
2021-07-01 01:50:08 +00:00
ORNN = 516,
/// `80`.
2021-07-01 01:50:08 +00:00
PANTHEON = 80,
/// `78`.
2021-07-01 01:50:08 +00:00
POPPY = 78,
/// `555`.
2021-07-01 01:50:08 +00:00
PYKE = 555,
/// `246`.
2021-07-01 01:50:08 +00:00
QIYANA = 246,
/// `133`.
2021-07-01 01:50:08 +00:00
QUINN = 133,
/// `497`.
2021-07-01 01:50:08 +00:00
RAKAN = 497,
/// `33`.
2021-07-01 01:50:08 +00:00
RAMMUS = 33,
/// `421`.
2021-07-01 01:50:08 +00:00
REK_SAI = 421,
/// `526`.
2021-07-01 01:50:08 +00:00
RELL = 526,
/// `888`.
RENATA_GLASC = 888,
/// `58`.
2021-07-01 01:50:08 +00:00
RENEKTON = 58,
/// `107`.
2021-07-01 01:50:08 +00:00
RENGAR = 107,
/// `92`.
2021-07-01 01:50:08 +00:00
RIVEN = 92,
/// `68`.
2021-07-01 01:50:08 +00:00
RUMBLE = 68,
/// `13`.
2021-07-01 01:50:08 +00:00
RYZE = 13,
/// `360`.
2021-07-01 01:50:08 +00:00
SAMIRA = 360,
/// `113`.
2021-07-01 01:50:08 +00:00
SEJUANI = 113,
/// `235`.
2021-07-01 01:50:08 +00:00
SENNA = 235,
/// `147`.
2021-07-01 01:50:08 +00:00
SERAPHINE = 147,
/// `875`.
2021-07-01 01:50:08 +00:00
SETT = 875,
/// `35`.
2021-07-01 01:50:08 +00:00
SHACO = 35,
/// `98`.
2021-07-01 01:50:08 +00:00
SHEN = 98,
/// `102`.
2021-07-01 01:50:08 +00:00
SHYVANA = 102,
/// `27`.
2021-07-01 01:50:08 +00:00
SINGED = 27,
/// `14`.
2021-07-01 01:50:08 +00:00
SION = 14,
/// `15`.
2021-07-01 01:50:08 +00:00
SIVIR = 15,
/// `72`.
2021-07-01 01:50:08 +00:00
SKARNER = 72,
/// `37`.
2021-07-01 01:50:08 +00:00
SONA = 37,
/// `16`.
2021-07-01 01:50:08 +00:00
SORAKA = 16,
/// `50`.
2021-07-01 01:50:08 +00:00
SWAIN = 50,
/// `517`.
2021-07-01 01:50:08 +00:00
SYLAS = 517,
/// `134`.
2021-07-01 01:50:08 +00:00
SYNDRA = 134,
/// `223`.
2021-07-01 01:50:08 +00:00
TAHM_KENCH = 223,
/// `163`.
2021-07-01 01:50:08 +00:00
TALIYAH = 163,
/// `91`.
2021-07-01 01:50:08 +00:00
TALON = 91,
/// `44`.
2021-07-01 01:50:08 +00:00
TARIC = 44,
/// `17`.
2021-07-01 01:50:08 +00:00
TEEMO = 17,
/// `412`.
2021-07-01 01:50:08 +00:00
THRESH = 412,
/// `18`.
2021-07-01 01:50:08 +00:00
TRISTANA = 18,
/// `48`.
2021-07-01 01:50:08 +00:00
TRUNDLE = 48,
/// `23`.
2021-07-01 01:50:08 +00:00
TRYNDAMERE = 23,
/// `4`.
2021-07-01 01:50:08 +00:00
TWISTED_FATE = 4,
/// `29`.
2021-07-01 01:50:08 +00:00
TWITCH = 29,
/// `77`.
2021-07-01 01:50:08 +00:00
UDYR = 77,
/// `6`.
2021-07-01 01:50:08 +00:00
URGOT = 6,
/// `110`.
2021-07-01 01:50:08 +00:00
VARUS = 110,
/// `67`.
2021-07-01 01:50:08 +00:00
VAYNE = 67,
/// `45`.
2021-07-01 01:50:08 +00:00
VEIGAR = 45,
/// `161`.
2021-07-01 01:50:08 +00:00
VEL_KOZ = 161,
/// `711`.
VEX = 711,
/// `254`.
2021-07-01 01:50:08 +00:00
VI = 254,
/// `234`.
2021-07-01 01:50:08 +00:00
VIEGO = 234,
/// `112`.
2021-07-01 01:50:08 +00:00
VIKTOR = 112,
/// `8`.
2021-07-01 01:50:08 +00:00
VLADIMIR = 8,
/// `106`.
2021-07-01 01:50:08 +00:00
VOLIBEAR = 106,
/// `19`.
2021-07-01 01:50:08 +00:00
WARWICK = 19,
/// `62`.
2021-07-01 01:50:08 +00:00
WUKONG = 62,
/// `498`.
2021-07-01 01:50:08 +00:00
XAYAH = 498,
/// `101`.
2021-07-01 01:50:08 +00:00
XERATH = 101,
/// `5`.
2021-07-01 01:50:08 +00:00
XIN_ZHAO = 5,
/// `157`.
2021-07-01 01:50:08 +00:00
YASUO = 157,
/// `777`.
2021-07-01 01:50:08 +00:00
YONE = 777,
/// `83`.
2021-07-01 01:50:08 +00:00
YORICK = 83,
/// `350`.
2021-07-01 01:50:08 +00:00
YUUMI = 350,
/// `154`.
2021-07-01 01:50:08 +00:00
ZAC = 154,
/// `238`.
2021-07-01 01:50:08 +00:00
ZED = 238,
/// `221`.
ZERI = 221,
/// `115`.
2021-07-01 01:50:08 +00:00
ZIGGS = 115,
/// `26`.
2021-07-01 01:50:08 +00:00
ZILEAN = 26,
/// `142`.
2021-07-01 01:50:08 +00:00
ZOE = 142,
/// `143`.
2021-07-01 01:50:08 +00:00
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::BEL_VETH => Some("Bel'Veth"),
2021-06-30 23:34:34 +00:00
Self::BLITZCRANK => Some("Blitzcrank"),
Self::BRAND => Some("Brand"),
Self::BRAUM => Some("Braum"),
Self::BRIAR => Some("Briar"),
2021-06-30 23:34:34 +00:00
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::HWEI => Some("Hwei"),
2021-06-30 23:34:34 +00:00
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"),
2023-01-08 01:56:47 +00:00
Self::K_SANTE => Some("K'Sante"),
2021-06-30 23:34:34 +00:00
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::MILIO => Some("Milio"),
2021-06-30 23:34:34 +00:00
Self::MISS_FORTUNE => Some("Miss Fortune"),
Self::MORDEKAISER => Some("Mordekaiser"),
Self::MORGANA => Some("Morgana"),
Self::NAAFIRI => Some("Naafiri"),
2021-06-30 23:34:34 +00:00
Self::NAMI => Some("Nami"),
Self::NASUS => Some("Nasus"),
Self::NAUTILUS => Some("Nautilus"),
Self::NEEKO => Some("Neeko"),
Self::NIDALEE => Some("Nidalee"),
2022-08-12 14:08:45 +00:00
Self::NILAH => Some("Nilah"),
2021-06-30 23:34:34 +00:00
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::RENATA_GLASC => Some("Renata Glasc"),
2021-06-30 23:34:34 +00:00
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::ZERI => Some("Zeri"),
2021-06-30 23:34:34 +00:00
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
/// ---|---|---|---
/// `BEL_VETH` | "Bel'Veth" | "Belveth" | 200
2021-07-01 01:50:08 +00:00
/// `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
/// `RENATA_GLASC` | "Renata Glasc" | "Renata" | 888
2021-07-01 01:50:08 +00:00
/// `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::BEL_VETH => Some("Belveth"),
2021-06-30 23:34:34 +00:00
Self::BLITZCRANK => Some("Blitzcrank"),
Self::BRAND => Some("Brand"),
Self::BRAUM => Some("Braum"),
Self::BRIAR => Some("Briar"),
2021-06-30 23:34:34 +00:00
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::HWEI => Some("Hwei"),
2021-06-30 23:34:34 +00:00
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"),
2023-01-08 01:56:47 +00:00
Self::K_SANTE => Some("KSante"),
2021-06-30 23:34:34 +00:00
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::MILIO => Some("Milio"),
2021-06-30 23:34:34 +00:00
Self::MISS_FORTUNE => Some("MissFortune"),
Self::MORDEKAISER => Some("Mordekaiser"),
Self::MORGANA => Some("Morgana"),
Self::NAAFIRI => Some("Naafiri"),
2021-06-30 23:34:34 +00:00
Self::NAMI => Some("Nami"),
Self::NASUS => Some("Nasus"),
Self::NAUTILUS => Some("Nautilus"),
Self::NEEKO => Some("Neeko"),
Self::NIDALEE => Some("Nidalee"),
2022-08-12 14:08:45 +00:00
Self::NILAH => Some("Nilah"),
2021-06-30 23:34:34 +00:00
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::RENATA_GLASC => Some("Renata"),
2021-06-30 23:34:34 +00:00
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::ZERI => Some("Zeri"),
2021-06-30 23:34:34 +00:00
Self::ZIGGS => Some("Ziggs"),
Self::ZILEAN => Some("Zilean"),
Self::ZOE => Some("Zoe"),
Self::ZYRA => Some("Zyra"),
_ => None,
}
}
/// https://github.com/MingweiSamuel/Riven/issues/36
pub(crate) fn serialize_result<S>(
val: &Result<Self, std::num::TryFromIntError>,
serializer: S,
) -> Result<S::Ok, S::Error>
where
S: serde::ser::Serializer,
{
use serde::ser::Serialize;
val.unwrap_or(Champion(-1)).serialize(serializer)
}
/// https://github.com/MingweiSamuel/Riven/issues/36
pub(crate) fn deserialize_result<'de, D>(
deserializer: D,
) -> Result<Result<Self, std::num::TryFromIntError>, D::Error>
where
D: serde::de::Deserializer<'de>,
{
use std::convert::TryInto;
<i64 as serde::de::Deserialize>::deserialize(deserializer).map(|id| id.try_into().map(Self))
}
2021-06-30 23:34:34 +00:00
}
/// The error used for failures in [`Champion`]'s
/// [`FromStr`](std::str::FromStr) implementation.
///
/// Currently only internally stores the four characters used to parse the
/// champion, but may change in the future.
#[derive(Debug)]
pub struct ParseChampionError([char; 4]);
impl std::fmt::Display for ParseChampionError {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
let s: String = self.0.iter().copied().take_while(|&c| '\0' != c).collect();
write!(f, "Failed to parse unknown champion prefix: {:?}", s)
}
}
impl std::error::Error for ParseChampionError {}
2021-06-30 23:34:34 +00:00
impl std::str::FromStr for Champion {
type Err = ParseChampionError;
2021-06-30 23:34:34 +00:00
fn from_str(s: &str) -> Result<Self, Self::Err> {
let mut chars = ['\0'; 4];
s.chars()
2021-06-30 23:34:34 +00:00
.take(4)
.filter(|c| c.is_ascii_alphanumeric())
.map(|c| c.to_ascii_uppercase())
.enumerate()
.for_each(|(i, c)| chars[i] = c);
match chars {
/* AATR */ [ 'A', 'A', 'T', 'R'] => Ok(Champion::AATROX),
/* AHRI */ [ 'A', 'H', 'R', 'I'] => Ok(Champion::AHRI),
/* AKAL */ [ 'A', 'K', 'A', 'L'] => Ok(Champion::AKALI),
/* AKSH */ [ 'A', 'K', 'S', 'H'] => Ok(Champion::AKSHAN),
/* ALIS */ [ 'A', 'L', 'I', 'S'] => Ok(Champion::ALISTAR),
/* AMUM */ [ 'A', 'M', 'U', 'M'] => Ok(Champion::AMUMU),
/* ANIV */ [ 'A', 'N', 'I', 'V'] => Ok(Champion::ANIVIA),
/* ANNI */ [ 'A', 'N', 'N', 'I'] => Ok(Champion::ANNIE),
/* APHE */ [ 'A', 'P', 'H', 'E'] => Ok(Champion::APHELIOS),
/* ASHE */ [ 'A', 'S', 'H', 'E'] => Ok(Champion::ASHE),
/* AURE */ [ 'A', 'U', 'R', 'E'] => Ok(Champion::AURELION_SOL),
/* AZIR */ [ 'A', 'Z', 'I', 'R'] => Ok(Champion::AZIR),
/* BARD */ [ 'B', 'A', 'R', 'D'] => Ok(Champion::BARD),
/* BELV */ [ 'B', 'E', 'L', 'V'] => Ok(Champion::BEL_VETH),
/* BEL */ [ 'B', 'E', 'L', '\0'] => Ok(Champion::BEL_VETH),
/* BLIT */ [ 'B', 'L', 'I', 'T'] => Ok(Champion::BLITZCRANK),
/* BRAN */ [ 'B', 'R', 'A', 'N'] => Ok(Champion::BRAND),
/* BRAU */ [ 'B', 'R', 'A', 'U'] => Ok(Champion::BRAUM),
/* BRIA */ [ 'B', 'R', 'I', 'A'] => Ok(Champion::BRIAR),
/* CAIT */ [ 'C', 'A', 'I', 'T'] => Ok(Champion::CAITLYN),
/* CAMI */ [ 'C', 'A', 'M', 'I'] => Ok(Champion::CAMILLE),
/* CASS */ [ 'C', 'A', 'S', 'S'] => Ok(Champion::CASSIOPEIA),
/* CHOG */ [ 'C', 'H', 'O', 'G'] => Ok(Champion::CHO_GATH),
/* CHO */ [ 'C', 'H', 'O', '\0'] => Ok(Champion::CHO_GATH),
/* CORK */ [ 'C', 'O', 'R', 'K'] => Ok(Champion::CORKI),
/* DARI */ [ 'D', 'A', 'R', 'I'] => Ok(Champion::DARIUS),
/* DIAN */ [ 'D', 'I', 'A', 'N'] => Ok(Champion::DIANA),
/* DRMU */ [ 'D', 'R', 'M', 'U'] => Ok(Champion::DR_MUNDO),
/* DR */ [ 'D', 'R', '\0', '\0'] => Ok(Champion::DR_MUNDO),
/* DRAV */ [ 'D', 'R', 'A', 'V'] => Ok(Champion::DRAVEN),
/* EKKO */ [ 'E', 'K', 'K', 'O'] => Ok(Champion::EKKO),
/* ELIS */ [ 'E', 'L', 'I', 'S'] => Ok(Champion::ELISE),
/* EVEL */ [ 'E', 'V', 'E', 'L'] => Ok(Champion::EVELYNN),
/* EZRE */ [ 'E', 'Z', 'R', 'E'] => Ok(Champion::EZREAL),
/* FIDD */ [ 'F', 'I', 'D', 'D'] => Ok(Champion::FIDDLESTICKS),
/* FIOR */ [ 'F', 'I', 'O', 'R'] => Ok(Champion::FIORA),
/* FIZZ */ [ 'F', 'I', 'Z', 'Z'] => Ok(Champion::FIZZ),
/* GALI */ [ 'G', 'A', 'L', 'I'] => Ok(Champion::GALIO),
/* GANG */ [ 'G', 'A', 'N', 'G'] => Ok(Champion::GANGPLANK),
/* GARE */ [ 'G', 'A', 'R', 'E'] => Ok(Champion::GAREN),
/* GNAR */ [ 'G', 'N', 'A', 'R'] => Ok(Champion::GNAR),
/* GRAG */ [ 'G', 'R', 'A', 'G'] => Ok(Champion::GRAGAS),
/* GRAV */ [ 'G', 'R', 'A', 'V'] => Ok(Champion::GRAVES),
/* GWEN */ [ 'G', 'W', 'E', 'N'] => Ok(Champion::GWEN),
/* HECA */ [ 'H', 'E', 'C', 'A'] => Ok(Champion::HECARIM),
/* HEIM */ [ 'H', 'E', 'I', 'M'] => Ok(Champion::HEIMERDINGER),
/* HWEI */ [ 'H', 'W', 'E', 'I'] => Ok(Champion::HWEI),
/* ILLA */ [ 'I', 'L', 'L', 'A'] => Ok(Champion::ILLAOI),
/* IREL */ [ 'I', 'R', 'E', 'L'] => Ok(Champion::IRELIA),
/* IVER */ [ 'I', 'V', 'E', 'R'] => Ok(Champion::IVERN),
/* JANN */ [ 'J', 'A', 'N', 'N'] => Ok(Champion::JANNA),
/* JARV */ [ 'J', 'A', 'R', 'V'] => Ok(Champion::JARVAN_IV),
/* JAX */ [ 'J', 'A', 'X', '\0'] => Ok(Champion::JAX),
/* JAYC */ [ 'J', 'A', 'Y', 'C'] => Ok(Champion::JAYCE),
/* JHIN */ [ 'J', 'H', 'I', 'N'] => Ok(Champion::JHIN),
/* JINX */ [ 'J', 'I', 'N', 'X'] => Ok(Champion::JINX),
2023-01-08 01:56:47 +00:00
/* KSAN */ [ 'K', 'S', 'A', 'N'] => Ok(Champion::K_SANTE),
/* K */ [ 'K', '\0', '\0', '\0'] => Ok(Champion::K_SANTE),
/* KAIS */ [ 'K', 'A', 'I', 'S'] => Ok(Champion::KAI_SA),
/* KAI */ [ 'K', 'A', 'I', '\0'] => Ok(Champion::KAI_SA),
/* KALI */ [ 'K', 'A', 'L', 'I'] => Ok(Champion::KALISTA),
/* KARM */ [ 'K', 'A', 'R', 'M'] => Ok(Champion::KARMA),
/* KART */ [ 'K', 'A', 'R', 'T'] => Ok(Champion::KARTHUS),
/* KASS */ [ 'K', 'A', 'S', 'S'] => Ok(Champion::KASSADIN),
/* KATA */ [ 'K', 'A', 'T', 'A'] => Ok(Champion::KATARINA),
/* KAYL */ [ 'K', 'A', 'Y', 'L'] => Ok(Champion::KAYLE),
/* KAYN */ [ 'K', 'A', 'Y', 'N'] => Ok(Champion::KAYN),
/* KENN */ [ 'K', 'E', 'N', 'N'] => Ok(Champion::KENNEN),
/* KHAZ */ [ 'K', 'H', 'A', 'Z'] => Ok(Champion::KHA_ZIX),
/* KHA */ [ 'K', 'H', 'A', '\0'] => Ok(Champion::KHA_ZIX),
/* KIND */ [ 'K', 'I', 'N', 'D'] => Ok(Champion::KINDRED),
/* KLED */ [ 'K', 'L', 'E', 'D'] => Ok(Champion::KLED),
/* KOGM */ [ 'K', 'O', 'G', 'M'] => Ok(Champion::KOG_MAW),
/* KOG */ [ 'K', 'O', 'G', '\0'] => Ok(Champion::KOG_MAW),
/* LEBL */ [ 'L', 'E', 'B', 'L'] => Ok(Champion::LE_BLANC),
/* LEES */ [ 'L', 'E', 'E', 'S'] => Ok(Champion::LEE_SIN),
/* LEE */ [ 'L', 'E', 'E', '\0'] => Ok(Champion::LEE_SIN),
/* LEON */ [ 'L', 'E', 'O', 'N'] => Ok(Champion::LEONA),
/* LILL */ [ 'L', 'I', 'L', 'L'] => Ok(Champion::LILLIA),
/* LISS */ [ 'L', 'I', 'S', 'S'] => Ok(Champion::LISSANDRA),
/* LUCI */ [ 'L', 'U', 'C', 'I'] => Ok(Champion::LUCIAN),
/* LULU */ [ 'L', 'U', 'L', 'U'] => Ok(Champion::LULU),
/* LUX */ [ 'L', 'U', 'X', '\0'] => Ok(Champion::LUX),
/* MALP */ [ 'M', 'A', 'L', 'P'] => Ok(Champion::MALPHITE),
/* MALZ */ [ 'M', 'A', 'L', 'Z'] => Ok(Champion::MALZAHAR),
/* MAOK */ [ 'M', 'A', 'O', 'K'] => Ok(Champion::MAOKAI),
/* MAST */ [ 'M', 'A', 'S', 'T'] => Ok(Champion::MASTER_YI),
/* MILI */ [ 'M', 'I', 'L', 'I'] => Ok(Champion::MILIO),
/* MISS */ [ 'M', 'I', 'S', 'S'] => Ok(Champion::MISS_FORTUNE),
/* MORD */ [ 'M', 'O', 'R', 'D'] => Ok(Champion::MORDEKAISER),
/* MORG */ [ 'M', 'O', 'R', 'G'] => Ok(Champion::MORGANA),
/* NAAF */ [ 'N', 'A', 'A', 'F'] => Ok(Champion::NAAFIRI),
/* NAMI */ [ 'N', 'A', 'M', 'I'] => Ok(Champion::NAMI),
/* NASU */ [ 'N', 'A', 'S', 'U'] => Ok(Champion::NASUS),
/* NAUT */ [ 'N', 'A', 'U', 'T'] => Ok(Champion::NAUTILUS),
/* NEEK */ [ 'N', 'E', 'E', 'K'] => Ok(Champion::NEEKO),
/* NIDA */ [ 'N', 'I', 'D', 'A'] => Ok(Champion::NIDALEE),
2022-08-12 14:08:45 +00:00
/* NILA */ [ 'N', 'I', 'L', 'A'] => Ok(Champion::NILAH),
/* NOCT */ [ 'N', 'O', 'C', 'T'] => Ok(Champion::NOCTURNE),
/* NUNU */ [ 'N', 'U', 'N', 'U'] => Ok(Champion::NUNU_WILLUMP),
/* OLAF */ [ 'O', 'L', 'A', 'F'] => Ok(Champion::OLAF),
/* ORIA */ [ 'O', 'R', 'I', 'A'] => Ok(Champion::ORIANNA),
/* ORNN */ [ 'O', 'R', 'N', 'N'] => Ok(Champion::ORNN),
/* PANT */ [ 'P', 'A', 'N', 'T'] => Ok(Champion::PANTHEON),
/* POPP */ [ 'P', 'O', 'P', 'P'] => Ok(Champion::POPPY),
/* PYKE */ [ 'P', 'Y', 'K', 'E'] => Ok(Champion::PYKE),
/* QIYA */ [ 'Q', 'I', 'Y', 'A'] => Ok(Champion::QIYANA),
/* QUIN */ [ 'Q', 'U', 'I', 'N'] => Ok(Champion::QUINN),
/* RAKA */ [ 'R', 'A', 'K', 'A'] => Ok(Champion::RAKAN),
/* RAMM */ [ 'R', 'A', 'M', 'M'] => Ok(Champion::RAMMUS),
/* REKS */ [ 'R', 'E', 'K', 'S'] => Ok(Champion::REK_SAI),
/* REK */ [ 'R', 'E', 'K', '\0'] => Ok(Champion::REK_SAI),
/* RELL */ [ 'R', 'E', 'L', 'L'] => Ok(Champion::RELL),
/* RENA */ [ 'R', 'E', 'N', 'A'] => Ok(Champion::RENATA_GLASC),
/* RENE */ [ 'R', 'E', 'N', 'E'] => Ok(Champion::RENEKTON),
/* RENG */ [ 'R', 'E', 'N', 'G'] => Ok(Champion::RENGAR),
/* RIVE */ [ 'R', 'I', 'V', 'E'] => Ok(Champion::RIVEN),
/* RUMB */ [ 'R', 'U', 'M', 'B'] => Ok(Champion::RUMBLE),
/* RYZE */ [ 'R', 'Y', 'Z', 'E'] => Ok(Champion::RYZE),
/* SAMI */ [ 'S', 'A', 'M', 'I'] => Ok(Champion::SAMIRA),
/* SEJU */ [ 'S', 'E', 'J', 'U'] => Ok(Champion::SEJUANI),
/* SENN */ [ 'S', 'E', 'N', 'N'] => Ok(Champion::SENNA),
/* SERA */ [ 'S', 'E', 'R', 'A'] => Ok(Champion::SERAPHINE),
/* SETT */ [ 'S', 'E', 'T', 'T'] => Ok(Champion::SETT),
/* SHAC */ [ 'S', 'H', 'A', 'C'] => Ok(Champion::SHACO),
/* SHEN */ [ 'S', 'H', 'E', 'N'] => Ok(Champion::SHEN),
/* SHYV */ [ 'S', 'H', 'Y', 'V'] => Ok(Champion::SHYVANA),
/* SING */ [ 'S', 'I', 'N', 'G'] => Ok(Champion::SINGED),
/* SION */ [ 'S', 'I', 'O', 'N'] => Ok(Champion::SION),
/* SIVI */ [ 'S', 'I', 'V', 'I'] => Ok(Champion::SIVIR),
/* SKAR */ [ 'S', 'K', 'A', 'R'] => Ok(Champion::SKARNER),
/* SONA */ [ 'S', 'O', 'N', 'A'] => Ok(Champion::SONA),
/* SORA */ [ 'S', 'O', 'R', 'A'] => Ok(Champion::SORAKA),
/* SWAI */ [ 'S', 'W', 'A', 'I'] => Ok(Champion::SWAIN),
/* SYLA */ [ 'S', 'Y', 'L', 'A'] => Ok(Champion::SYLAS),
/* SYND */ [ 'S', 'Y', 'N', 'D'] => Ok(Champion::SYNDRA),
/* TAHM */ [ 'T', 'A', 'H', 'M'] => Ok(Champion::TAHM_KENCH),
/* TALI */ [ 'T', 'A', 'L', 'I'] => Ok(Champion::TALIYAH),
/* TALO */ [ 'T', 'A', 'L', 'O'] => Ok(Champion::TALON),
/* TARI */ [ 'T', 'A', 'R', 'I'] => Ok(Champion::TARIC),
/* TEEM */ [ 'T', 'E', 'E', 'M'] => Ok(Champion::TEEMO),
/* THRE */ [ 'T', 'H', 'R', 'E'] => Ok(Champion::THRESH),
/* TRIS */ [ 'T', 'R', 'I', 'S'] => Ok(Champion::TRISTANA),
/* TRUN */ [ 'T', 'R', 'U', 'N'] => Ok(Champion::TRUNDLE),
/* TRYN */ [ 'T', 'R', 'Y', 'N'] => Ok(Champion::TRYNDAMERE),
/* TWIS */ [ 'T', 'W', 'I', 'S'] => Ok(Champion::TWISTED_FATE),
/* TWIT */ [ 'T', 'W', 'I', 'T'] => Ok(Champion::TWITCH),
/* UDYR */ [ 'U', 'D', 'Y', 'R'] => Ok(Champion::UDYR),
/* URGO */ [ 'U', 'R', 'G', 'O'] => Ok(Champion::URGOT),
/* VARU */ [ 'V', 'A', 'R', 'U'] => Ok(Champion::VARUS),
/* VAYN */ [ 'V', 'A', 'Y', 'N'] => Ok(Champion::VAYNE),
/* VEIG */ [ 'V', 'E', 'I', 'G'] => Ok(Champion::VEIGAR),
/* VELK */ [ 'V', 'E', 'L', 'K'] => Ok(Champion::VEL_KOZ),
/* VEL */ [ 'V', 'E', 'L', '\0'] => Ok(Champion::VEL_KOZ),
/* VEX */ [ 'V', 'E', 'X', '\0'] => Ok(Champion::VEX),
/* VI */ [ 'V', 'I', '\0', '\0'] => Ok(Champion::VI),
/* VIEG */ [ 'V', 'I', 'E', 'G'] => Ok(Champion::VIEGO),
/* VIKT */ [ 'V', 'I', 'K', 'T'] => Ok(Champion::VIKTOR),
/* VLAD */ [ 'V', 'L', 'A', 'D'] => Ok(Champion::VLADIMIR),
/* VOLI */ [ 'V', 'O', 'L', 'I'] => Ok(Champion::VOLIBEAR),
/* WARW */ [ 'W', 'A', 'R', 'W'] => Ok(Champion::WARWICK),
/* WUKO */ [ 'W', 'U', 'K', 'O'] => Ok(Champion::WUKONG),
/* MONK */ [ 'M', 'O', 'N', 'K'] => Ok(Champion::WUKONG),
/* XAYA */ [ 'X', 'A', 'Y', 'A'] => Ok(Champion::XAYAH),
/* XERA */ [ 'X', 'E', 'R', 'A'] => Ok(Champion::XERATH),
/* XINZ */ [ 'X', 'I', 'N', 'Z'] => Ok(Champion::XIN_ZHAO),
/* XIN */ [ 'X', 'I', 'N', '\0'] => Ok(Champion::XIN_ZHAO),
/* YASU */ [ 'Y', 'A', 'S', 'U'] => Ok(Champion::YASUO),
/* YONE */ [ 'Y', 'O', 'N', 'E'] => Ok(Champion::YONE),
/* YORI */ [ 'Y', 'O', 'R', 'I'] => Ok(Champion::YORICK),
/* YUUM */ [ 'Y', 'U', 'U', 'M'] => Ok(Champion::YUUMI),
/* ZAC */ [ 'Z', 'A', 'C', '\0'] => Ok(Champion::ZAC),
/* ZED */ [ 'Z', 'E', 'D', '\0'] => Ok(Champion::ZED),
/* ZERI */ [ 'Z', 'E', 'R', 'I'] => Ok(Champion::ZERI),
/* ZIGG */ [ 'Z', 'I', 'G', 'G'] => Ok(Champion::ZIGGS),
/* ZILE */ [ 'Z', 'I', 'L', 'E'] => Ok(Champion::ZILEAN),
/* ZOE */ [ 'Z', 'O', 'E', '\0'] => Ok(Champion::ZOE),
/* ZYRA */ [ 'Z', 'Y', 'R', 'A'] => Ok(Champion::ZYRA),
unknown => Err(ParseChampionError(unknown)),
2021-06-30 23:34:34 +00:00
}
}
}
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)
}
}