// This file is automatically generated. // Do not directly edit. // Generated on 2019-10-20T06:19:43.696Z use std::fmt; use num_derive; #[derive(fmt::Debug, Copy, Clone)] #[derive(num_derive::FromPrimitive, num_derive::ToPrimitive)] pub enum Champion { Aatrox = 266, Ahri = 103, Akali = 84, Alistar = 12, Amumu = 32, Anivia = 34, Annie = 1, Ashe = 22, AurelionSol = 136, Azir = 268, Bard = 432, Blitzcrank = 53, Brand = 63, Braum = 201, Caitlyn = 51, Camille = 164, Cassiopeia = 69, ChoGath = 31, Corki = 42, Darius = 122, Diana = 131, DrMundo = 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, Hecarim = 120, Heimerdinger = 74, Illaoi = 420, Irelia = 39, Ivern = 427, Janna = 40, JarvanIV = 59, Jax = 24, Jayce = 126, Jhin = 202, Jinx = 222, KaiSa = 145, Kalista = 429, Karma = 43, Karthus = 30, Kassadin = 38, Katarina = 55, Kayle = 10, Kayn = 141, Kennen = 85, KhaZix = 121, Kindred = 203, Kled = 240, KogMaw = 96, LeBlanc = 7, LeeSin = 64, Leona = 89, Lissandra = 127, Lucian = 236, Lulu = 117, Lux = 99, Malphite = 54, Malzahar = 90, Maokai = 57, MasterYi = 11, MissFortune = 21, Mordekaiser = 82, Morgana = 25, Nami = 267, Nasus = 75, Nautilus = 111, Neeko = 518, Nidalee = 76, Nocturne = 56, NunuWillump = 20, Olaf = 2, Orianna = 61, Ornn = 516, Pantheon = 80, Poppy = 78, Pyke = 555, Qiyana = 246, Quinn = 133, Rakan = 497, Rammus = 33, RekSai = 421, Renekton = 58, Rengar = 107, Riven = 92, Rumble = 68, Ryze = 13, Sejuani = 113, Shaco = 35, Shen = 98, Shyvana = 102, Singed = 27, Sion = 14, Sivir = 15, Skarner = 72, Sona = 37, Soraka = 16, Swain = 50, Sylas = 517, Syndra = 134, TahmKench = 223, Taliyah = 163, Talon = 91, Taric = 44, Teemo = 17, Thresh = 412, Tristana = 18, Trundle = 48, Tryndamere = 23, TwistedFate = 4, Twitch = 29, Udyr = 77, Urgot = 6, Varus = 110, Vayne = 67, Veigar = 45, VelKoz = 161, Vi = 254, Viktor = 112, Vladimir = 8, Volibear = 106, Warwick = 19, Wukong = 62, Xayah = 498, Xerath = 101, XinZhao = 5, Yasuo = 157, Yorick = 83, Yuumi = 350, Zac = 154, Zed = 238, Ziggs = 115, Zilean = 26, Zoe = 142, Zyra = 143, } impl Champion { pub fn name(self) -> &'static str { match self { Self::Aatrox => "Aatrox", Self::Ahri => "Ahri", Self::Akali => "Akali", Self::Alistar => "Alistar", Self::Amumu => "Amumu", Self::Anivia => "Anivia", Self::Annie => "Annie", Self::Ashe => "Ashe", Self::AurelionSol => "Aurelion Sol", Self::Azir => "Azir", Self::Bard => "Bard", Self::Blitzcrank => "Blitzcrank", Self::Brand => "Brand", Self::Braum => "Braum", Self::Caitlyn => "Caitlyn", Self::Camille => "Camille", Self::Cassiopeia => "Cassiopeia", Self::ChoGath => "Cho'Gath", Self::Corki => "Corki", Self::Darius => "Darius", Self::Diana => "Diana", Self::DrMundo => "Dr. Mundo", Self::Draven => "Draven", Self::Ekko => "Ekko", Self::Elise => "Elise", Self::Evelynn => "Evelynn", Self::Ezreal => "Ezreal", Self::Fiddlesticks => "Fiddlesticks", Self::Fiora => "Fiora", Self::Fizz => "Fizz", Self::Galio => "Galio", Self::Gangplank => "Gangplank", Self::Garen => "Garen", Self::Gnar => "Gnar", Self::Gragas => "Gragas", Self::Graves => "Graves", Self::Hecarim => "Hecarim", Self::Heimerdinger => "Heimerdinger", Self::Illaoi => "Illaoi", Self::Irelia => "Irelia", Self::Ivern => "Ivern", Self::Janna => "Janna", Self::JarvanIV => "Jarvan IV", Self::Jax => "Jax", Self::Jayce => "Jayce", Self::Jhin => "Jhin", Self::Jinx => "Jinx", Self::KaiSa => "Kai'Sa", Self::Kalista => "Kalista", Self::Karma => "Karma", Self::Karthus => "Karthus", Self::Kassadin => "Kassadin", Self::Katarina => "Katarina", Self::Kayle => "Kayle", Self::Kayn => "Kayn", Self::Kennen => "Kennen", Self::KhaZix => "Kha'Zix", Self::Kindred => "Kindred", Self::Kled => "Kled", Self::KogMaw => "Kog'Maw", Self::LeBlanc => "LeBlanc", Self::LeeSin => "Lee Sin", Self::Leona => "Leona", Self::Lissandra => "Lissandra", Self::Lucian => "Lucian", Self::Lulu => "Lulu", Self::Lux => "Lux", Self::Malphite => "Malphite", Self::Malzahar => "Malzahar", Self::Maokai => "Maokai", Self::MasterYi => "Master Yi", Self::MissFortune => "Miss Fortune", Self::Mordekaiser => "Mordekaiser", Self::Morgana => "Morgana", Self::Nami => "Nami", Self::Nasus => "Nasus", Self::Nautilus => "Nautilus", Self::Neeko => "Neeko", Self::Nidalee => "Nidalee", Self::Nocturne => "Nocturne", Self::NunuWillump => "Nunu & Willump", Self::Olaf => "Olaf", Self::Orianna => "Orianna", Self::Ornn => "Ornn", Self::Pantheon => "Pantheon", Self::Poppy => "Poppy", Self::Pyke => "Pyke", Self::Qiyana => "Qiyana", Self::Quinn => "Quinn", Self::Rakan => "Rakan", Self::Rammus => "Rammus", Self::RekSai => "Rek'Sai", Self::Renekton => "Renekton", Self::Rengar => "Rengar", Self::Riven => "Riven", Self::Rumble => "Rumble", Self::Ryze => "Ryze", Self::Sejuani => "Sejuani", Self::Shaco => "Shaco", Self::Shen => "Shen", Self::Shyvana => "Shyvana", Self::Singed => "Singed", Self::Sion => "Sion", Self::Sivir => "Sivir", Self::Skarner => "Skarner", Self::Sona => "Sona", Self::Soraka => "Soraka", Self::Swain => "Swain", Self::Sylas => "Sylas", Self::Syndra => "Syndra", Self::TahmKench => "Tahm Kench", Self::Taliyah => "Taliyah", Self::Talon => "Talon", Self::Taric => "Taric", Self::Teemo => "Teemo", Self::Thresh => "Thresh", Self::Tristana => "Tristana", Self::Trundle => "Trundle", Self::Tryndamere => "Tryndamere", Self::TwistedFate => "Twisted Fate", Self::Twitch => "Twitch", Self::Udyr => "Udyr", Self::Urgot => "Urgot", Self::Varus => "Varus", Self::Vayne => "Vayne", Self::Veigar => "Veigar", Self::VelKoz => "Vel'Koz", Self::Vi => "Vi", Self::Viktor => "Viktor", Self::Vladimir => "Vladimir", Self::Volibear => "Volibear", Self::Warwick => "Warwick", Self::Wukong => "Wukong", Self::Xayah => "Xayah", Self::Xerath => "Xerath", Self::XinZhao => "Xin Zhao", Self::Yasuo => "Yasuo", Self::Yorick => "Yorick", Self::Yuumi => "Yuumi", Self::Zac => "Zac", Self::Zed => "Zed", Self::Ziggs => "Ziggs", Self::Zilean => "Zilean", Self::Zoe => "Zoe", Self::Zyra => "Zyra", } } pub fn identifier(self) -> &'static str { match self { Self::Aatrox => "Aatrox", Self::Ahri => "Ahri", Self::Akali => "Akali", Self::Alistar => "Alistar", Self::Amumu => "Amumu", Self::Anivia => "Anivia", Self::Annie => "Annie", Self::Ashe => "Ashe", Self::AurelionSol => "AurelionSol", Self::Azir => "Azir", Self::Bard => "Bard", Self::Blitzcrank => "Blitzcrank", Self::Brand => "Brand", Self::Braum => "Braum", Self::Caitlyn => "Caitlyn", Self::Camille => "Camille", Self::Cassiopeia => "Cassiopeia", Self::ChoGath => "Chogath", Self::Corki => "Corki", Self::Darius => "Darius", Self::Diana => "Diana", Self::DrMundo => "DrMundo", Self::Draven => "Draven", Self::Ekko => "Ekko", Self::Elise => "Elise", Self::Evelynn => "Evelynn", Self::Ezreal => "Ezreal", Self::Fiddlesticks => "FiddleSticks", Self::Fiora => "Fiora", Self::Fizz => "Fizz", Self::Galio => "Galio", Self::Gangplank => "Gangplank", Self::Garen => "Garen", Self::Gnar => "Gnar", Self::Gragas => "Gragas", Self::Graves => "Graves", Self::Hecarim => "Hecarim", Self::Heimerdinger => "Heimerdinger", Self::Illaoi => "Illaoi", Self::Irelia => "Irelia", Self::Ivern => "Ivern", Self::Janna => "Janna", Self::JarvanIV => "JarvanIV", Self::Jax => "Jax", Self::Jayce => "Jayce", Self::Jhin => "Jhin", Self::Jinx => "Jinx", Self::KaiSa => "Kaisa", Self::Kalista => "Kalista", Self::Karma => "Karma", Self::Karthus => "Karthus", Self::Kassadin => "Kassadin", Self::Katarina => "Katarina", Self::Kayle => "Kayle", Self::Kayn => "Kayn", Self::Kennen => "Kennen", Self::KhaZix => "Khazix", Self::Kindred => "Kindred", Self::Kled => "Kled", Self::KogMaw => "KogMaw", Self::LeBlanc => "Leblanc", Self::LeeSin => "LeeSin", Self::Leona => "Leona", Self::Lissandra => "Lissandra", Self::Lucian => "Lucian", Self::Lulu => "Lulu", Self::Lux => "Lux", Self::Malphite => "Malphite", Self::Malzahar => "Malzahar", Self::Maokai => "Maokai", Self::MasterYi => "MasterYi", Self::MissFortune => "MissFortune", Self::Mordekaiser => "Mordekaiser", Self::Morgana => "Morgana", Self::Nami => "Nami", Self::Nasus => "Nasus", Self::Nautilus => "Nautilus", Self::Neeko => "Neeko", Self::Nidalee => "Nidalee", Self::Nocturne => "Nocturne", Self::NunuWillump => "Nunu", Self::Olaf => "Olaf", Self::Orianna => "Orianna", Self::Ornn => "Ornn", Self::Pantheon => "Pantheon", Self::Poppy => "Poppy", Self::Pyke => "Pyke", Self::Qiyana => "Qiyana", Self::Quinn => "Quinn", Self::Rakan => "Rakan", Self::Rammus => "Rammus", Self::RekSai => "RekSai", Self::Renekton => "Renekton", Self::Rengar => "Rengar", Self::Riven => "Riven", Self::Rumble => "Rumble", Self::Ryze => "Ryze", Self::Sejuani => "Sejuani", Self::Shaco => "Shaco", Self::Shen => "Shen", Self::Shyvana => "Shyvana", Self::Singed => "Singed", Self::Sion => "Sion", Self::Sivir => "Sivir", Self::Skarner => "Skarner", Self::Sona => "Sona", Self::Soraka => "Soraka", Self::Swain => "Swain", Self::Sylas => "Sylas", Self::Syndra => "Syndra", Self::TahmKench => "TahmKench", Self::Taliyah => "Taliyah", Self::Talon => "Talon", Self::Taric => "Taric", Self::Teemo => "Teemo", Self::Thresh => "Thresh", Self::Tristana => "Tristana", Self::Trundle => "Trundle", Self::Tryndamere => "Tryndamere", Self::TwistedFate => "TwistedFate", Self::Twitch => "Twitch", Self::Udyr => "Udyr", Self::Urgot => "Urgot", Self::Varus => "Varus", Self::Vayne => "Vayne", Self::Veigar => "Veigar", Self::VelKoz => "Velkoz", Self::Vi => "Vi", Self::Viktor => "Viktor", Self::Vladimir => "Vladimir", Self::Volibear => "Volibear", Self::Warwick => "Warwick", Self::Wukong => "MonkeyKing", Self::Xayah => "Xayah", Self::Xerath => "Xerath", Self::XinZhao => "XinZhao", Self::Yasuo => "Yasuo", Self::Yorick => "Yorick", Self::Yuumi => "Yuumi", Self::Zac => "Zac", Self::Zed => "Zed", Self::Ziggs => "Ziggs", Self::Zilean => "Zilean", Self::Zoe => "Zoe", Self::Zyra => "Zyra", } } } impl std::str::FromStr for Champion { type Err = (); fn from_str(val: &str) -> Result { // 4 characters encoded as an int. match val.chars() .filter(|c| c.is_ascii_alphabetic()) .take(4) .map(|c| c.to_ascii_uppercase() as u32) .fold(0u32, |hash, next| hash * 256 + next) { 1094800466 /* AATR */ => Ok(Self::Aatrox), 1095258697 /* AHRI */ => Ok(Self::Ahri), 1095450956 /* AKAL */ => Ok(Self::Akali), 1095518547 /* ALIS */ => Ok(Self::Alistar), 1095587149 /* AMUM */ => Ok(Self::Amumu), 1095649622 /* ANIV */ => Ok(Self::Anivia), 1095650889 /* ANNI */ => Ok(Self::Annie), 1095977029 /* ASHE */ => Ok(Self::Ashe), 1096110661 /* AURE */ => Ok(Self::AurelionSol), 1096436050 /* AZIR */ => Ok(Self::Azir), 1111577156 /* BARD */ => Ok(Self::Bard), 1112295764 /* BLIT */ => Ok(Self::Blitzcrank), 1112686926 /* BRAN */ => Ok(Self::Brand), 1112686933 /* BRAU */ => Ok(Self::Braum), 1128352084 /* CAIT */ => Ok(Self::Caitlyn), 1128353097 /* CAMI */ => Ok(Self::Camille), 1128354643 /* CASS */ => Ok(Self::Cassiopeia), 1128812359 /* CHOG */ => Ok(Self::ChoGath), 4409423 /* CHO */ => Ok(Self::ChoGath), 1129271883 /* CORK */ => Ok(Self::Corki), 1145131593 /* DARI */ => Ok(Self::Darius), 1145651534 /* DIAN */ => Ok(Self::Diana), 1146244437 /* DRMU */ => Ok(Self::DrMundo), 17490 /* DR */ => Ok(Self::DrMundo), 1146241366 /* DRAV */ => Ok(Self::Draven), 1162562383 /* EKKO */ => Ok(Self::Ekko), 1162627411 /* ELIS */ => Ok(Self::Elise), 1163281740 /* EVEL */ => Ok(Self::Evelynn), 1163547205 /* EZRE */ => Ok(Self::Ezreal), 1179206724 /* FIDD */ => Ok(Self::Fiddlesticks), 1179209554 /* FIOR */ => Ok(Self::Fiora), 1179212378 /* FIZZ */ => Ok(Self::Fizz), 1195461705 /* GALI */ => Ok(Self::Galio), 1195462215 /* GANG */ => Ok(Self::Gangplank), 1195463237 /* GARE */ => Ok(Self::Garen), 1196310866 /* GNAR */ => Ok(Self::Gnar), 1196572999 /* GRAG */ => Ok(Self::Gragas), 1196573014 /* GRAV */ => Ok(Self::Graves), 1212498753 /* HECA */ => Ok(Self::Hecarim), 1212500301 /* HEIM */ => Ok(Self::Heimerdinger), 1229737025 /* ILLA */ => Ok(Self::Illaoi), 1230128460 /* IREL */ => Ok(Self::Irelia), 1230390610 /* IVER */ => Ok(Self::Ivern), 1245793870 /* JANN */ => Ok(Self::Janna), 1245794902 /* JARV */ => Ok(Self::JarvanIV), 4866392 /* JAX */ => Ok(Self::Jax), 1245796675 /* JAYC */ => Ok(Self::Jayce), 1246251342 /* JHIN */ => Ok(Self::Jhin), 1246318168 /* JINX */ => Ok(Self::Jinx), 1262569811 /* KAIS */ => Ok(Self::KaiSa), 4931913 /* KAI */ => Ok(Self::KaiSa), 1262570569 /* KALI */ => Ok(Self::Kalista), 1262572109 /* KARM */ => Ok(Self::Karma), 1262572116 /* KART */ => Ok(Self::Karthus), 1262572371 /* KASS */ => Ok(Self::Kassadin), 1262572609 /* KATA */ => Ok(Self::Katarina), 1262573900 /* KAYL */ => Ok(Self::Kayle), 1262573902 /* KAYN */ => Ok(Self::Kayn), 1262833230 /* KENN */ => Ok(Self::Kennen), 1263026522 /* KHAZ */ => Ok(Self::KhaZix), 4933697 /* KHA */ => Ok(Self::KhaZix), 1263095364 /* KIND */ => Ok(Self::Kindred), 1263289668 /* KLED */ => Ok(Self::Kled), 1263486797 /* KOGM */ => Ok(Self::KogMaw), 4935495 /* KOG */ => Ok(Self::KogMaw), 1279607372 /* LEBL */ => Ok(Self::LeBlanc), 1279608147 /* LEES */ => Ok(Self::LeeSin), 4998469 /* LEE */ => Ok(Self::LeeSin), 1279610702 /* LEON */ => Ok(Self::Leona), 1279873875 /* LISS */ => Ok(Self::Lissandra), 1280656201 /* LUCI */ => Ok(Self::Lucian), 1280658517 /* LULU */ => Ok(Self::Lulu), 5002584 /* LUX */ => Ok(Self::Lux), 1296125008 /* MALP */ => Ok(Self::Malphite), 1296125018 /* MALZ */ => Ok(Self::Malzahar), 1296125771 /* MAOK */ => Ok(Self::Maokai), 1296126804 /* MAST */ => Ok(Self::MasterYi), 1296651091 /* MISS */ => Ok(Self::MissFortune), 1297044036 /* MORD */ => Ok(Self::Mordekaiser), 1297044039 /* MORG */ => Ok(Self::Morgana), 1312902473 /* NAMI */ => Ok(Self::Nami), 1312904021 /* NASU */ => Ok(Self::Nasus), 1312904532 /* NAUT */ => Ok(Self::Nautilus), 1313162571 /* NEEK */ => Ok(Self::Neeko), 1313424449 /* NIDA */ => Ok(Self::Nidalee), 1313817428 /* NOCT */ => Ok(Self::Nocturne), 1314213461 /* NUNU */ => Ok(Self::NunuWillump), 1330397510 /* OLAF */ => Ok(Self::Olaf), 1330792769 /* ORIA */ => Ok(Self::Orianna), 1330794062 /* ORNN */ => Ok(Self::Ornn), 1346457172 /* PANT */ => Ok(Self::Pantheon), 1347375184 /* POPP */ => Ok(Self::Poppy), 1348029253 /* PYKE */ => Ok(Self::Pyke), 1363761473 /* QIYA */ => Ok(Self::Qiyana), 1364543822 /* QUIN */ => Ok(Self::Quinn), 1380010817 /* RAKA */ => Ok(Self::Rakan), 1380011341 /* RAMM */ => Ok(Self::Rammus), 1380272979 /* REKS */ => Ok(Self::RekSai), 5391691 /* REK */ => Ok(Self::RekSai), 1380273733 /* RENE */ => Ok(Self::Renekton), 1380273735 /* RENG */ => Ok(Self::Rengar), 1380537925 /* RIVE */ => Ok(Self::Riven), 1381322050 /* RUMB */ => Ok(Self::Rumble), 1381587525 /* RYZE */ => Ok(Self::Ryze), 1397049941 /* SEJU */ => Ok(Self::Sejuani), 1397244227 /* SHAC */ => Ok(Self::Shaco), 1397245262 /* SHEN */ => Ok(Self::Shen), 1397250390 /* SHYV */ => Ok(Self::Shyvana), 1397313095 /* SING */ => Ok(Self::Singed), 1397313358 /* SION */ => Ok(Self::Sion), 1397315145 /* SIVI */ => Ok(Self::Sivir), 1397440850 /* SKAR */ => Ok(Self::Skarner), 1397706305 /* SONA */ => Ok(Self::Sona), 1397707329 /* SORA */ => Ok(Self::Soraka), 1398227273 /* SWAI */ => Ok(Self::Swain), 1398361153 /* SYLA */ => Ok(Self::Sylas), 1398361668 /* SYND */ => Ok(Self::Syndra), 1413564493 /* TAHM */ => Ok(Self::TahmKench), 1413565513 /* TALI */ => Ok(Self::Taliyah), 1413565519 /* TALO */ => Ok(Self::Talon), 1413567049 /* TARI */ => Ok(Self::Taric), 1413825869 /* TEEM */ => Ok(Self::Teemo), 1414025797 /* THRE */ => Ok(Self::Thresh), 1414678867 /* TRIS */ => Ok(Self::Tristana), 1414681934 /* TRUN */ => Ok(Self::Trundle), 1414682958 /* TRYN */ => Ok(Self::Tryndamere), 1415006547 /* TWIS */ => Ok(Self::TwistedFate), 1415006548 /* TWIT */ => Ok(Self::Twitch), 1430542674 /* UDYR */ => Ok(Self::Udyr), 1431455567 /* URGO */ => Ok(Self::Urgot), 1447121493 /* VARU */ => Ok(Self::Varus), 1447123278 /* VAYN */ => Ok(Self::Vayne), 1447381319 /* VEIG */ => Ok(Self::Veigar), 1447382091 /* VELK */ => Ok(Self::VelKoz), 5653836 /* VEL */ => Ok(Self::VelKoz), 22089 /* VI */ => Ok(Self::Vi), 1447643988 /* VIKT */ => Ok(Self::Viktor), 1447838020 /* VLAD */ => Ok(Self::Vladimir), 1448037449 /* VOLI */ => Ok(Self::Volibear), 1463898711 /* WARW */ => Ok(Self::Warwick), 1465207631 /* WUKO */ => Ok(Self::Wukong), 1297043019 /* MONK */ => Ok(Self::Wukong), 1480677697 /* XAYA */ => Ok(Self::Xayah), 1480938049 /* XERA */ => Ok(Self::Xerath), 1481199194 /* XINZ */ => Ok(Self::XinZhao), 5785934 /* XIN */ => Ok(Self::XinZhao), 1497453397 /* YASU */ => Ok(Self::Yasuo), 1498370633 /* YORI */ => Ok(Self::Yorick), 1498764621 /* YUUM */ => Ok(Self::Yuumi), 5914947 /* ZAC */ => Ok(Self::Zac), 5915972 /* ZED */ => Ok(Self::Zed), 1514751815 /* ZIGG */ => Ok(Self::Ziggs), 1514753093 /* ZILE */ => Ok(Self::Zilean), 5918533 /* ZOE */ => Ok(Self::Zoe), 1515803201 /* ZYRA */ => Ok(Self::Zyra), _ => Err(()), } } } impl fmt::Display for Champion { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { write!(f, "{:?}", self) } }