use std::convert::{TryFrom, Into}; use serde::{Serialize, Deserialize}; #[derive(Debug, Copy, Clone, PartialEq, Eq, Ord, PartialOrd)] pub enum Attribute { Native, ABeast, Machine, Dark, Hit } #[derive(Debug, Copy, Clone, PartialEq)] pub struct WeaponAttribute { pub attr: Attribute, pub value: i8, } #[derive(Debug, Copy, Clone, PartialEq)] pub enum WeaponSpecial { Draw, Drain, Fill, Gush, Heart, Mind, Soul, Geist, Masters, Lords, Kings, Charge, Spirit, Berserk, Ice, Frost, Freeze, Blizzard, Bind, Hold, Seize, Arrest, Heat, Fire, Flame, Burning, Shock, Thunder, Storm, Tempest, Dim, Shadow, Dark, Hell, Panic, Riot, Havoc, Chaos, Devils, Demons, } pub enum WeaponTypeError { UnknownWeapon(String) } #[derive(Debug, Copy, Clone, PartialEq, Serialize, Deserialize)] pub enum WeaponType { Saber, Brand, Buster, Pallasch, Gladius, DbsSaber, Kaladbolg, Durandal, Galatine, Sword, Gigush, Breaker, Claymore, Calibur, FlowensSword, LastSurvivor, DragonSlayer, Dagger, Knife, Blade, Edge, Ripper, BladeDance, BloodyArt, CrossScar, ZeroDivide, TwoKamui, Partisan, Halbert, Glaive, Berdys, Gungnir, Brionac, Vjaya, GaeBolg, AsteronBelt, Slicer, Spinner, Cutter, Sawcer, Diska, SlicerOfAssassin, DiskaOfLiberator, DiskaOfBraveman, Izmaela, Handgun, Autogun, Lockgun, Railgun, Raygun, Varista, CustomRayveroo, Bravace, TensionBlaster, Rifle, Sniper, Blaster, Beam, Laser, Visk235w, Walsmk2, Justy23st, Rianov303snr, Rianov303snr1, Rianov303snr2, Rianov303snr3, Rianov303snr4, Rianov303snr5, Mechgun, Assault, Repeater, Gatling, Vulcan, MA60Vise, HS25Justice, LK14Combat, Shot, Spread, Cannon, Launcher, Arms, CrushBullet, MeteorSmash, FinalImpact, Cane, Stick, Mace, Club, ClubOfLaconium, MaceOfAdaman, ClubOfZumiuran, Lollipop, Rod, Pole, Pillar, Striker, BattleVerge, BraveHammer, AliveAqhu, Valkyrie, Wand, Staff, Baton, Scepter, FireScepteragni, IceStaffdagon, StormWandindra, EarthWandBrownie, PhotonClaw, SilenceClaw, NeisClaw, PhoenixClaw, DoubleSaber, StagCutlery, TwinBrand, BraveKnuckle, AngryFist, GodHand, SonicKnuckle, Login, Orotiagito, Agito1975, Agito1983, Agito2001, Agito1991, Agito1977, Agito1980, Raikiri, SoulEater, SoulBanish, SpreadNeedle, HolyRay, InfernoBazooka, RamblingMay, LK38Combat, FlameVisit, BurningVisit, AkikosFryingPan, SorcerersCane, SBeatsBlade, PArmssBlade, DelsabersBuster, BringersRifle, EggBlaster, PsychoWand, HeavenPunisher, LavisCannon, VictorAxe, LaconiumAxe, ChainSawd, Caduceus, MercuriusRod, StingTip, MagicalPiece, TechnicalCrozier, SuppressedGun, AncientSaber, HarisenBattleFan, Yamigarasu, AkikosWok, ToyHammer, Elysion, RedSaber, MeteorCudgel, MonkeyKingBar, BlackKingBar, DoubleCannon, Girasole, HugeBattleFan, TsumikiriJSword, SealedJSword, RedSword, CrazyTune, TwinChakram, WokOfAkikosShop, LavisBlade, RedDagger, MadamsParasol, MadamsUmbrella, ImperialPick, Berdysh, RedPartisan, FlightCutter, FlightFan, RedSlicer, Handgunguld, MasterRaven, Handgunmilla, LastSwan, RedHandgun, FrozenShooter, SnowQueen, AntiAndroidRifle, RocketPunch, SambaMaracas, TwinPsychogun, DrillLauncher, GuldMilla, DualBird, RedMechgun, BelraCannon, PanzerFaust, IronFaust, SummitMoon, Windmill, EvilCurst, FlowerCane, HildebearsCane, HildebluesCane, RabbitWand, PlantainLeaf, Fatsia, DemonicFork, StrikerOfChao, Broom, ProphetsOfMotav, TheSighOfAGod, TwinkleStar, PlantainFan, TwinBlaze, MarinasBag, DragonsClaw, PanthersClaw, SRedsBlade, PlantainHugeFan, ChameleonScythe, Yasminkov3000r, AnoRifle, BaranzLauncher, BranchOfPakupaku, HeartOfPoumn, Yasminkov2000h, Yasminkov7000v, Yasminkov9000m, MaserBeam, PowerMaser, GameMagazne, Login2, FlowerBouquet, Musashi, Yamato, Asuka, SangeYasha, Sange, Yasha, Kamui, PhotonLauncher, GuiltyLight, RedScorpio, PhononMaser, Talis, Mahu, Hitogata, DancingHitogata, Kunai, Nug2000bazooka, SBerillsHands0, SBerillsHands1, FlowensSword3060, FlowensSword3064, FlowensSword3067, FlowensSword3073, FlowensSword3077, FlowensSword3082, FlowensSword3083, FlowensSword3084, FlowensSword3079, DbsSaber3062, DbsSaber3067, DbsSaber3069Chris, DbsSaber3064, DbsSaber3069Torato, DbsSaber3073, DbsSaber3070, DbsSaber3075, DbsSaber3077, GiGueBazooka, Guardianna, ViridiaCard, GreenillCard, SkylyCard, BluefullCard, PurplenumCard, PinkalCard, RedriaCard, OranCard, YellowbozeCard, WhitillCard, MorningGlory, PartisanofLightning, GalWind, Zanba, RikasClaw, AngelHarp, DemolitionComet, NeisClaw2, RainbowBaton, DarkFlow, DarkMeteor, DarkBridge, GAssassinsSabers, RappysFan, BoomasClaw, GoboomasClaw, GigoboomasClaw, RubyBullet, AmoreRose, SlicerOfFanatic, LameDArgent, Excalibur, RageDeFeu, RageDeFeu2, RageDeFeu3, RageDeFeu4, DaisyChain, OphelieSeize, MilleMarteaux, LeCogneur, CommanderBlade, Vivienne, Kusanagi, SacredDuster, Guren, Shouren, Jizai, Flamberge, Yunchang, SnakeSpire, FlapjackFlapper, Getsugasan, Maguwa, HeavenStriker, CannonRouge, MeteorRouge, Solferino, Clio, SirenGlassHammer, GlideDivine, Shichishito, Murasame, DaylightScar, Decalog, FifthAnnivBlade, TyrellsParasol, AkikosCleaver, Tanegashima, TreeClippers, NiceShot, Unknown3, Unknown4, AnoBazooka, Synthesizer, BambooSpear, KaneiTsuho, Jitte, ButterflyNet, Syringe, Battledore, Racket, Hammer, GreatBouquet, TypesaSaber, TypeslSaber, TypeslSlicer, TypeslClaw, TypeslKatana, TypejsSaber, TypejsSlicer, TypejsJSword, TypeswSword, TypeswSlicer, TypeswJSword, TyperoSword, TyperoHalbert, TyperoRod, TypeblBlade, TypeknBlade, TypeknClaw, TypehaHalbert, TypehaRod, TypedsDSaber, TypedsRod, Typeds, TypeclClaw, TypessSw, TypeguHand, TypeguMechgun, TyperiRifle, TypemeMechgun, TypeshShot, TypewaWand, } impl WeaponType { pub fn value(&self) -> [u8; 3] { match self { WeaponType::Saber => [0x00, 0x01, 0x00], WeaponType::Brand => [0x00, 0x01, 0x01], WeaponType::Buster => [0x00, 0x01, 0x02], WeaponType::Pallasch => [0x00, 0x01, 0x03], WeaponType::Gladius => [0x00, 0x01, 0x04], WeaponType::DbsSaber => [0x00, 0x01, 0x05], WeaponType::Kaladbolg => [0x00, 0x01, 0x06], WeaponType::Durandal => [0x00, 0x01, 0x07], WeaponType::Galatine => [0x00, 0x01, 0x08], WeaponType::Sword => [0x00, 0x02, 0x00], WeaponType::Gigush => [0x00, 0x02, 0x01], WeaponType::Breaker => [0x00, 0x02, 0x02], WeaponType::Claymore => [0x00, 0x02, 0x03], WeaponType::Calibur => [0x00, 0x02, 0x04], WeaponType::FlowensSword => [0x00, 0x02, 0x05], WeaponType::LastSurvivor => [0x00, 0x02, 0x06], WeaponType::DragonSlayer => [0x00, 0x02, 0x07], WeaponType::Dagger => [0x00, 0x03, 0x00], WeaponType::Knife => [0x00, 0x03, 0x01], WeaponType::Blade => [0x00, 0x03, 0x02], WeaponType::Edge => [0x00, 0x03, 0x03], WeaponType::Ripper => [0x00, 0x03, 0x04], WeaponType::BladeDance => [0x00, 0x03, 0x05], WeaponType::BloodyArt => [0x00, 0x03, 0x06], WeaponType::CrossScar => [0x00, 0x03, 0x07], WeaponType::ZeroDivide => [0x00, 0x03, 0x08], WeaponType::TwoKamui => [0x00, 0x03, 0x09], WeaponType::Partisan => [0x00, 0x04, 0x00], WeaponType::Halbert => [0x00, 0x04, 0x01], WeaponType::Glaive => [0x00, 0x04, 0x02], WeaponType::Berdys => [0x00, 0x04, 0x03], WeaponType::Gungnir => [0x00, 0x04, 0x04], WeaponType::Brionac => [0x00, 0x04, 0x05], WeaponType::Vjaya => [0x00, 0x04, 0x06], WeaponType::GaeBolg => [0x00, 0x04, 0x07], WeaponType::AsteronBelt => [0x00, 0x04, 0x08], WeaponType::Slicer => [0x00, 0x05, 0x00], WeaponType::Spinner => [0x00, 0x05, 0x01], WeaponType::Cutter => [0x00, 0x05, 0x02], WeaponType::Sawcer => [0x00, 0x05, 0x03], WeaponType::Diska => [0x00, 0x05, 0x04], WeaponType::SlicerOfAssassin => [0x00, 0x05, 0x05], WeaponType::DiskaOfLiberator => [0x00, 0x05, 0x06], WeaponType::DiskaOfBraveman => [0x00, 0x05, 0x07], WeaponType::Izmaela => [0x00, 0x05, 0x08], WeaponType::Handgun => [0x00, 0x06, 0x00], WeaponType::Autogun => [0x00, 0x06, 0x01], WeaponType::Lockgun => [0x00, 0x06, 0x02], WeaponType::Railgun => [0x00, 0x06, 0x03], WeaponType::Raygun => [0x00, 0x06, 0x04], WeaponType::Varista => [0x00, 0x06, 0x05], WeaponType::CustomRayveroo => [0x00, 0x06, 0x06], WeaponType::Bravace => [0x00, 0x06, 0x07], WeaponType::TensionBlaster => [0x00, 0x06, 0x08], WeaponType::Rifle => [0x00, 0x07, 0x00], WeaponType::Sniper => [0x00, 0x07, 0x01], WeaponType::Blaster => [0x00, 0x07, 0x02], WeaponType::Beam => [0x00, 0x07, 0x03], WeaponType::Laser => [0x00, 0x07, 0x04], WeaponType::Visk235w => [0x00, 0x07, 0x05], WeaponType::Walsmk2 => [0x00, 0x07, 0x06], WeaponType::Justy23st => [0x00, 0x07, 0x07], WeaponType::Rianov303snr => [0x00, 0x07, 0x08], WeaponType::Rianov303snr1 => [0x00, 0x07, 0x09], WeaponType::Rianov303snr2 => [0x00, 0x07, 0x0A], WeaponType::Rianov303snr3 => [0x00, 0x07, 0x0B], WeaponType::Rianov303snr4 => [0x00, 0x07, 0x0C], WeaponType::Rianov303snr5 => [0x00, 0x07, 0x0D], WeaponType::Mechgun => [0x00, 0x08, 0x00], WeaponType::Assault => [0x00, 0x08, 0x01], WeaponType::Repeater => [0x00, 0x08, 0x02], WeaponType::Gatling => [0x00, 0x08, 0x03], WeaponType::Vulcan => [0x00, 0x08, 0x04], WeaponType::MA60Vise => [0x00, 0x08, 0x05], WeaponType::HS25Justice => [0x00, 0x08, 0x06], WeaponType::LK14Combat => [0x00, 0x08, 0x07], WeaponType::Shot => [0x00, 0x09, 0x00], WeaponType::Spread => [0x00, 0x09, 0x01], WeaponType::Cannon => [0x00, 0x09, 0x02], WeaponType::Launcher => [0x00, 0x09, 0x03], WeaponType::Arms => [0x00, 0x09, 0x04], WeaponType::CrushBullet => [0x00, 0x09, 0x05], WeaponType::MeteorSmash => [0x00, 0x09, 0x06], WeaponType::FinalImpact => [0x00, 0x09, 0x07], WeaponType::Cane => [0x00, 0x0A, 0x00], WeaponType::Stick => [0x00, 0x0A, 0x01], WeaponType::Mace => [0x00, 0x0A, 0x02], WeaponType::Club => [0x00, 0x0A, 0x03], WeaponType::ClubOfLaconium => [0x00, 0x0A, 0x04], WeaponType::MaceOfAdaman => [0x00, 0x0A, 0x05], WeaponType::ClubOfZumiuran => [0x00, 0x0A, 0x06], WeaponType::Lollipop => [0x00, 0x0A, 0x07], WeaponType::Rod => [0x00, 0x0B, 0x00], WeaponType::Pole => [0x00, 0x0B, 0x01], WeaponType::Pillar => [0x00, 0x0B, 0x02], WeaponType::Striker => [0x00, 0x0B, 0x03], WeaponType::BattleVerge => [0x00, 0x0B, 0x04], WeaponType::BraveHammer => [0x00, 0x0B, 0x05], WeaponType::AliveAqhu => [0x00, 0x0B, 0x06], WeaponType::Valkyrie => [0x00, 0x0B, 0x07], WeaponType::Wand => [0x00, 0x0C, 0x00], WeaponType::Staff => [0x00, 0x0C, 0x01], WeaponType::Baton => [0x00, 0x0C, 0x02], WeaponType::Scepter => [0x00, 0x0C, 0x03], WeaponType::FireScepteragni => [0x00, 0x0C, 0x04], WeaponType::IceStaffdagon => [0x00, 0x0C, 0x05], WeaponType::StormWandindra => [0x00, 0x0C, 0x06], WeaponType::EarthWandBrownie => [0x00, 0x0C, 0x07], WeaponType::PhotonClaw => [0x00, 0x0D, 0x00], WeaponType::SilenceClaw => [0x00, 0x0D, 0x01], WeaponType::NeisClaw => [0x00, 0x0D, 0x02], WeaponType::PhoenixClaw => [0x00, 0x0D, 0x03], WeaponType::DoubleSaber => [0x00, 0x0E, 0x00], WeaponType::StagCutlery => [0x00, 0x0E, 0x01], WeaponType::TwinBrand => [0x00, 0x0E, 0x02], WeaponType::BraveKnuckle => [0x00, 0x0F, 0x00], WeaponType::AngryFist => [0x00, 0x0F, 0x01], WeaponType::GodHand => [0x00, 0x0F, 0x02], WeaponType::SonicKnuckle => [0x00, 0x0F, 0x03], WeaponType::Login => [0x00, 0x0F, 0x04], WeaponType::Orotiagito => [0x00, 0x10, 0x00], WeaponType::Agito1975 => [0x00, 0x10, 0x01], WeaponType::Agito1983 => [0x00, 0x10, 0x02], WeaponType::Agito2001 => [0x00, 0x10, 0x03], WeaponType::Agito1991 => [0x00, 0x10, 0x04], WeaponType::Agito1977 => [0x00, 0x10, 0x05], WeaponType::Agito1980 => [0x00, 0x10, 0x06], WeaponType::Raikiri => [0x00, 0x10, 0x07], WeaponType::SoulEater => [0x00, 0x11, 0x00], WeaponType::SoulBanish => [0x00, 0x11, 0x01], WeaponType::SpreadNeedle => [0x00, 0x12, 0x00], WeaponType::HolyRay => [0x00, 0x13, 0x00], WeaponType::InfernoBazooka => [0x00, 0x14, 0x00], WeaponType::RamblingMay => [0x00, 0x14, 0x01], WeaponType::LK38Combat => [0x00, 0x14, 0x02], WeaponType::FlameVisit => [0x00, 0x15, 0x00], WeaponType::BurningVisit => [0x00, 0x15, 0x01], WeaponType::AkikosFryingPan => [0x00, 0x16, 0x00], WeaponType::SorcerersCane => [0x00, 0x17, 0x00], WeaponType::SBeatsBlade => [0x00, 0x18, 0x00], WeaponType::PArmssBlade => [0x00, 0x19, 0x00], WeaponType::DelsabersBuster => [0x00, 0x1A, 0x00], WeaponType::BringersRifle => [0x00, 0x1B, 0x00], WeaponType::EggBlaster => [0x00, 0x1C, 0x00], WeaponType::PsychoWand => [0x00, 0x1D, 0x00], WeaponType::HeavenPunisher => [0x00, 0x1E, 0x00], WeaponType::LavisCannon => [0x00, 0x1F, 0x00], WeaponType::VictorAxe => [0x00, 0x20, 0x00], WeaponType::LaconiumAxe => [0x00, 0x20, 0x01], WeaponType::ChainSawd => [0x00, 0x21, 0x00], WeaponType::Caduceus => [0x00, 0x22, 0x00], WeaponType::MercuriusRod => [0x00, 0x22, 0x01], WeaponType::StingTip => [0x00, 0x23, 0x00], WeaponType::MagicalPiece => [0x00, 0x24, 0x00], WeaponType::TechnicalCrozier => [0x00, 0x25, 0x00], WeaponType::SuppressedGun => [0x00, 0x26, 0x00], WeaponType::AncientSaber => [0x00, 0x27, 0x00], WeaponType::HarisenBattleFan => [0x00, 0x28, 0x00], WeaponType::Yamigarasu => [0x00, 0x29, 0x00], WeaponType::AkikosWok => [0x00, 0x2A, 0x00], WeaponType::ToyHammer => [0x00, 0x2B, 0x00], WeaponType::Elysion => [0x00, 0x2C, 0x00], WeaponType::RedSaber => [0x00, 0x2D, 0x00], WeaponType::MeteorCudgel => [0x00, 0x2E, 0x00], WeaponType::MonkeyKingBar => [0x00, 0x2F, 0x00], WeaponType::BlackKingBar => [0x00, 0x2F, 0x01], WeaponType::DoubleCannon => [0x00, 0x30, 0x00], WeaponType::Girasole => [0x00, 0x30, 0x01], WeaponType::HugeBattleFan => [0x00, 0x31, 0x00], WeaponType::TsumikiriJSword => [0x00, 0x32, 0x00], WeaponType::SealedJSword => [0x00, 0x33, 0x00], WeaponType::RedSword => [0x00, 0x34, 0x00], WeaponType::CrazyTune => [0x00, 0x35, 0x00], WeaponType::TwinChakram => [0x00, 0x36, 0x00], WeaponType::WokOfAkikosShop => [0x00, 0x37, 0x00], WeaponType::LavisBlade => [0x00, 0x38, 0x00], WeaponType::RedDagger => [0x00, 0x39, 0x00], WeaponType::MadamsParasol => [0x00, 0x3A, 0x00], WeaponType::MadamsUmbrella => [0x00, 0x3B, 0x00], WeaponType::ImperialPick => [0x00, 0x3C, 0x00], WeaponType::Berdysh => [0x00, 0x3D, 0x00], WeaponType::RedPartisan => [0x00, 0x3E, 0x00], WeaponType::FlightCutter => [0x00, 0x3F, 0x00], WeaponType::FlightFan => [0x00, 0x40, 0x00], WeaponType::RedSlicer => [0x00, 0x41, 0x00], WeaponType::Handgunguld => [0x00, 0x42, 0x00], WeaponType::MasterRaven => [0x00, 0x42, 0x01], WeaponType::Handgunmilla => [0x00, 0x43, 0x00], WeaponType::LastSwan => [0x00, 0x43, 0x01], WeaponType::RedHandgun => [0x00, 0x44, 0x00], WeaponType::FrozenShooter => [0x00, 0x45, 0x00], WeaponType::SnowQueen => [0x00, 0x45, 0x01], WeaponType::AntiAndroidRifle => [0x00, 0x46, 0x00], WeaponType::RocketPunch => [0x00, 0x47, 0x00], WeaponType::SambaMaracas => [0x00, 0x48, 0x00], WeaponType::TwinPsychogun => [0x00, 0x49, 0x00], WeaponType::DrillLauncher => [0x00, 0x4A, 0x00], WeaponType::GuldMilla => [0x00, 0x4B, 0x00], WeaponType::DualBird => [0x00, 0x4B, 0x01], WeaponType::RedMechgun => [0x00, 0x4C, 0x00], WeaponType::BelraCannon => [0x00, 0x4D, 0x00], WeaponType::PanzerFaust => [0x00, 0x4E, 0x00], WeaponType::IronFaust => [0x00, 0x4E, 0x01], WeaponType::SummitMoon => [0x00, 0x4F, 0x00], WeaponType::Windmill => [0x00, 0x50, 0x00], WeaponType::EvilCurst => [0x00, 0x51, 0x00], WeaponType::FlowerCane => [0x00, 0x52, 0x00], WeaponType::HildebearsCane => [0x00, 0x53, 0x00], WeaponType::HildebluesCane => [0x00, 0x54, 0x00], WeaponType::RabbitWand => [0x00, 0x55, 0x00], WeaponType::PlantainLeaf => [0x00, 0x56, 0x00], WeaponType::Fatsia => [0x00, 0x56, 0x01], WeaponType::DemonicFork => [0x00, 0x57, 0x00], WeaponType::StrikerOfChao => [0x00, 0x58, 0x00], WeaponType::Broom => [0x00, 0x59, 0x00], WeaponType::ProphetsOfMotav => [0x00, 0x5A, 0x00], WeaponType::TheSighOfAGod => [0x00, 0x5B, 0x00], WeaponType::TwinkleStar => [0x00, 0x5C, 0x00], WeaponType::PlantainFan => [0x00, 0x5D, 0x00], WeaponType::TwinBlaze => [0x00, 0x5E, 0x00], WeaponType::MarinasBag => [0x00, 0x5F, 0x00], WeaponType::DragonsClaw => [0x00, 0x60, 0x00], WeaponType::PanthersClaw => [0x00, 0x61, 0x00], WeaponType::SRedsBlade => [0x00, 0x62, 0x00], WeaponType::PlantainHugeFan => [0x00, 0x63, 0x00], WeaponType::ChameleonScythe => [0x00, 0x64, 0x00], WeaponType::Yasminkov3000r => [0x00, 0x65, 0x00], WeaponType::AnoRifle => [0x00, 0x66, 0x00], WeaponType::BaranzLauncher => [0x00, 0x67, 0x00], WeaponType::BranchOfPakupaku => [0x00, 0x68, 0x00], WeaponType::HeartOfPoumn => [0x00, 0x69, 0x00], WeaponType::Yasminkov2000h => [0x00, 0x6A, 0x00], WeaponType::Yasminkov7000v => [0x00, 0x6B, 0x00], WeaponType::Yasminkov9000m => [0x00, 0x6C, 0x00], WeaponType::MaserBeam => [0x00, 0x6D, 0x00], WeaponType::PowerMaser => [0x00, 0x6D, 0x01], WeaponType::GameMagazne => [0x00, 0x6E, 0x00], WeaponType::Login2 => [0x00, 0x6E, 0x01], WeaponType::FlowerBouquet => [0x00, 0x6F, 0x00], WeaponType::Musashi => [0x00, 0x89, 0x00], WeaponType::Yamato => [0x00, 0x89, 0x01], WeaponType::Asuka => [0x00, 0x89, 0x02], WeaponType::SangeYasha => [0x00, 0x89, 0x03], WeaponType::Sange => [0x00, 0x8A, 0x00], WeaponType::Yasha => [0x00, 0x8A, 0x01], WeaponType::Kamui => [0x00, 0x8A, 0x02], WeaponType::PhotonLauncher => [0x00, 0x8B, 0x00], WeaponType::GuiltyLight => [0x00, 0x8B, 0x01], WeaponType::RedScorpio => [0x00, 0x8B, 0x02], WeaponType::PhononMaser => [0x00, 0x8B, 0x03], WeaponType::Talis => [0x00, 0x8C, 0x00], WeaponType::Mahu => [0x00, 0x8C, 0x01], WeaponType::Hitogata => [0x00, 0x8C, 0x02], WeaponType::DancingHitogata => [0x00, 0x8C, 0x03], WeaponType::Kunai => [0x00, 0x8C, 0x04], WeaponType::Nug2000bazooka => [0x00, 0x8D, 0x00], WeaponType::SBerillsHands0 => [0x00, 0x8E, 0x00], WeaponType::SBerillsHands1 => [0x00, 0x8E, 0x01], WeaponType::FlowensSword3060 => [0x00, 0x8F, 0x00], WeaponType::FlowensSword3064 => [0x00, 0x8F, 0x01], WeaponType::FlowensSword3067 => [0x00, 0x8F, 0x02], WeaponType::FlowensSword3073 => [0x00, 0x8F, 0x03], WeaponType::FlowensSword3077 => [0x00, 0x8F, 0x04], WeaponType::FlowensSword3082 => [0x00, 0x8F, 0x05], WeaponType::FlowensSword3083 => [0x00, 0x8F, 0x06], WeaponType::FlowensSword3084 => [0x00, 0x8F, 0x07], WeaponType::FlowensSword3079 => [0x00, 0x8F, 0x08], WeaponType::DbsSaber3062 => [0x00, 0x90, 0x00], WeaponType::DbsSaber3067 => [0x00, 0x90, 0x01], WeaponType::DbsSaber3069Chris => [0x00, 0x90, 0x02], WeaponType::DbsSaber3064 => [0x00, 0x90, 0x03], WeaponType::DbsSaber3069Torato => [0x00, 0x90, 0x04], WeaponType::DbsSaber3073 => [0x00, 0x90, 0x05], WeaponType::DbsSaber3070 => [0x00, 0x90, 0x06], WeaponType::DbsSaber3075 => [0x00, 0x90, 0x07], WeaponType::DbsSaber3077 => [0x00, 0x90, 0x08], WeaponType::GiGueBazooka => [0x00, 0x91, 0x00], WeaponType::Guardianna => [0x00, 0x92, 0x00], WeaponType::ViridiaCard => [0x00, 0x93, 0x00], WeaponType::GreenillCard => [0x00, 0x93, 0x01], WeaponType::SkylyCard => [0x00, 0x93, 0x02], WeaponType::BluefullCard => [0x00, 0x93, 0x03], WeaponType::PurplenumCard => [0x00, 0x93, 0x04], WeaponType::PinkalCard => [0x00, 0x93, 0x05], WeaponType::RedriaCard => [0x00, 0x93, 0x06], WeaponType::OranCard => [0x00, 0x93, 0x07], WeaponType::YellowbozeCard => [0x00, 0x93, 0x08], WeaponType::WhitillCard => [0x00, 0x93, 0x09], WeaponType::MorningGlory => [0x00, 0x94, 0x00], WeaponType::PartisanofLightning => [0x00, 0x95, 0x00], WeaponType::GalWind => [0x00, 0x96, 0x00], WeaponType::Zanba => [0x00, 0x97, 0x00], WeaponType::RikasClaw => [0x00, 0x98, 0x00], WeaponType::AngelHarp => [0x00, 0x99, 0x00], WeaponType::DemolitionComet => [0x00, 0x9A, 0x00], WeaponType::NeisClaw2 => [0x00, 0x9B, 0x00], WeaponType::RainbowBaton => [0x00, 0x9C, 0x00], WeaponType::DarkFlow => [0x00, 0x9D, 0x00], WeaponType::DarkMeteor => [0x00, 0x9E, 0x00], WeaponType::DarkBridge => [0x00, 0x9F, 0x00], WeaponType::GAssassinsSabers => [0x00, 0xA0, 0x00], WeaponType::RappysFan => [0x00, 0xA1, 0x00], WeaponType::BoomasClaw => [0x00, 0xA2, 0x00], WeaponType::GoboomasClaw => [0x00, 0xA2, 0x01], WeaponType::GigoboomasClaw => [0x00, 0xA2, 0x02], WeaponType::RubyBullet => [0x00, 0xA3, 0x00], WeaponType::AmoreRose => [0x00, 0xA4, 0x00], WeaponType::SlicerOfFanatic => [0x00, 0xAA, 0x00], WeaponType::LameDArgent => [0x00, 0xAB, 0x00], WeaponType::Excalibur => [0x00, 0xAC, 0x00], WeaponType::RageDeFeu => [0x00, 0xAD, 0x00], WeaponType::RageDeFeu2 => [0x00, 0xAD, 0x01], WeaponType::RageDeFeu3 => [0x00, 0xAD, 0x02], WeaponType::RageDeFeu4 => [0x00, 0xAD, 0x03], WeaponType::DaisyChain => [0x00, 0xAE, 0x00], WeaponType::OphelieSeize => [0x00, 0xAF, 0x00], WeaponType::MilleMarteaux => [0x00, 0xB0, 0x00], WeaponType::LeCogneur => [0x00, 0xB1, 0x00], WeaponType::CommanderBlade => [0x00, 0xB2, 0x00], WeaponType::Vivienne => [0x00, 0xB3, 0x00], WeaponType::Kusanagi => [0x00, 0xB4, 0x00], WeaponType::SacredDuster => [0x00, 0xB5, 0x00], WeaponType::Guren => [0x00, 0xB6, 0x00], WeaponType::Shouren => [0x00, 0xB7, 0x00], WeaponType::Jizai => [0x00, 0xB8, 0x00], WeaponType::Flamberge => [0x00, 0xB9, 0x00], WeaponType::Yunchang => [0x00, 0xBA, 0x00], WeaponType::SnakeSpire => [0x00, 0xBB, 0x00], WeaponType::FlapjackFlapper => [0x00, 0xBC, 0x00], WeaponType::Getsugasan => [0x00, 0xBD, 0x00], WeaponType::Maguwa => [0x00, 0xBE, 0x00], WeaponType::HeavenStriker => [0x00, 0xBF, 0x00], WeaponType::CannonRouge => [0x00, 0xC0, 0x00], WeaponType::MeteorRouge => [0x00, 0xC1, 0x00], WeaponType::Solferino => [0x00, 0xC2, 0x00], WeaponType::Clio => [0x00, 0xC3, 0x00], WeaponType::SirenGlassHammer => [0x00, 0xC4, 0x00], WeaponType::GlideDivine => [0x00, 0xC5, 0x00], WeaponType::Shichishito => [0x00, 0xC6, 0x00], WeaponType::Murasame => [0x00, 0xC7, 0x00], WeaponType::DaylightScar => [0x00, 0xC8, 0x00], WeaponType::Decalog => [0x00, 0xC9, 0x00], WeaponType::FifthAnnivBlade => [0x00, 0xCA, 0x00], WeaponType::TyrellsParasol => [0x00, 0xCB, 0x00], WeaponType::AkikosCleaver => [0x00, 0xCC, 0x00], WeaponType::Tanegashima => [0x00, 0xCD, 0x00], WeaponType::TreeClippers => [0x00, 0xCE, 0x00], WeaponType::NiceShot => [0x00, 0xCF, 0x00], WeaponType::Unknown3 => [0x00, 0xD0, 0x00], WeaponType::Unknown4 => [0x00, 0xD1, 0x00], WeaponType::AnoBazooka => [0x00, 0xD2, 0x00], WeaponType::Synthesizer => [0x00, 0xD3, 0x00], WeaponType::BambooSpear => [0x00, 0xD4, 0x00], WeaponType::KaneiTsuho => [0x00, 0xD5, 0x00], WeaponType::Jitte => [0x00, 0xD6, 0x00], WeaponType::ButterflyNet => [0x00, 0xD7, 0x00], WeaponType::Syringe => [0x00, 0xD8, 0x00], WeaponType::Battledore => [0x00, 0xD9, 0x00], WeaponType::Racket => [0x00, 0xDA, 0x00], WeaponType::Hammer => [0x00, 0xDB, 0x00], WeaponType::GreatBouquet => [0x00, 0xDC, 0x00], WeaponType::TypesaSaber => [0x00, 0xDD, 0x00], WeaponType::TypeslSaber => [0x00, 0xDE, 0x00], WeaponType::TypeslSlicer => [0x00, 0xDE, 0x01], WeaponType::TypeslClaw => [0x00, 0xDE, 0x02], WeaponType::TypeslKatana => [0x00, 0xDE, 0x03], WeaponType::TypejsSaber => [0x00, 0xDF, 0x00], WeaponType::TypejsSlicer => [0x00, 0xDF, 0x01], WeaponType::TypejsJSword => [0x00, 0xDF, 0x02], WeaponType::TypeswSword => [0x00, 0xE0, 0x00], WeaponType::TypeswSlicer => [0x00, 0xE0, 0x01], WeaponType::TypeswJSword => [0x00, 0xE0, 0x02], WeaponType::TyperoSword => [0x00, 0xE1, 0x00], WeaponType::TyperoHalbert => [0x00, 0xE1, 0x01], WeaponType::TyperoRod => [0x00, 0xE1, 0x02], WeaponType::TypeblBlade => [0x00, 0xE2, 0x00], WeaponType::TypeknBlade => [0x00, 0xE3, 0x00], WeaponType::TypeknClaw => [0x00, 0xE3, 0x01], WeaponType::TypehaHalbert => [0x00, 0xE4, 0x00], WeaponType::TypehaRod => [0x00, 0xE4, 0x01], WeaponType::TypedsDSaber => [0x00, 0xE5, 0x00], WeaponType::TypedsRod => [0x00, 0xE5, 0x01], WeaponType::Typeds => [0x00, 0xE5, 0x02], WeaponType::TypeclClaw => [0x00, 0xE6, 0x00], WeaponType::TypessSw => [0x00, 0xE7, 0x00], WeaponType::TypeguHand => [0x00, 0xE8, 0x00], WeaponType::TypeguMechgun => [0x00, 0xE8, 0x01], WeaponType::TyperiRifle => [0x00, 0xE9, 0x00], WeaponType::TypemeMechgun => [0x00, 0xEA, 0x00], WeaponType::TypeshShot => [0x00, 0xEB, 0x00], WeaponType::TypewaWand => [0x00, 0xEC, 0x00], } } } impl TryFrom<&str> for WeaponType { type Error = WeaponTypeError; fn try_from(value: &str) -> Result { match value { "Saber" => Ok(WeaponType::Saber), "Brand" => Ok(WeaponType::Brand), "Buster" => Ok(WeaponType::Buster), "Pallasch" => Ok(WeaponType::Pallasch), "Gladius" => Ok(WeaponType::Gladius), "DbsSaber" => Ok(WeaponType::DbsSaber), "Kaladbolg" => Ok(WeaponType::Kaladbolg), "Durandal" => Ok(WeaponType::Durandal), "Galatine" => Ok(WeaponType::Galatine), "Sword" => Ok(WeaponType::Sword), "Gigush" => Ok(WeaponType::Gigush), "Breaker" => Ok(WeaponType::Breaker), "Claymore" => Ok(WeaponType::Claymore), "Calibur" => Ok(WeaponType::Calibur), "FlowensSword" => Ok(WeaponType::FlowensSword), "LastSurvivor" => Ok(WeaponType::LastSurvivor), "DragonSlayer" => Ok(WeaponType::DragonSlayer), "Dagger" => Ok(WeaponType::Dagger), "Knife" => Ok(WeaponType::Knife), "Blade" => Ok(WeaponType::Blade), "Edge" => Ok(WeaponType::Edge), "Ripper" => Ok(WeaponType::Ripper), "BladeDance" => Ok(WeaponType::BladeDance), "BloodyArt" => Ok(WeaponType::BloodyArt), "CrossScar" => Ok(WeaponType::CrossScar), "ZeroDivide" => Ok(WeaponType::ZeroDivide), "TwoKamui" => Ok(WeaponType::TwoKamui), "Partisan" => Ok(WeaponType::Partisan), "Halbert" => Ok(WeaponType::Halbert), "Glaive" => Ok(WeaponType::Glaive), "Berdys" => Ok(WeaponType::Berdys), "Gungnir" => Ok(WeaponType::Gungnir), "Brionac" => Ok(WeaponType::Brionac), "Vjaya" => Ok(WeaponType::Vjaya), "GaeBolg" => Ok(WeaponType::GaeBolg), "AsteronBelt" => Ok(WeaponType::AsteronBelt), "Slicer" => Ok(WeaponType::Slicer), "Spinner" => Ok(WeaponType::Spinner), "Cutter" => Ok(WeaponType::Cutter), "Sawcer" => Ok(WeaponType::Sawcer), "Diska" => Ok(WeaponType::Diska), "SlicerOfAssassin" => Ok(WeaponType::SlicerOfAssassin), "DiskaOfLiberator" => Ok(WeaponType::DiskaOfLiberator), "DiskaOfBraveman" => Ok(WeaponType::DiskaOfBraveman), "Izmaela" => Ok(WeaponType::Izmaela), "Handgun" => Ok(WeaponType::Handgun), "Autogun" => Ok(WeaponType::Autogun), "Lockgun" => Ok(WeaponType::Lockgun), "Railgun" => Ok(WeaponType::Railgun), "Raygun" => Ok(WeaponType::Raygun), "Varista" => Ok(WeaponType::Varista), "CustomRayveroo" => Ok(WeaponType::CustomRayveroo), "Bravace" => Ok(WeaponType::Bravace), "TensionBlaster" => Ok(WeaponType::TensionBlaster), "Rifle" => Ok(WeaponType::Rifle), "Sniper" => Ok(WeaponType::Sniper), "Blaster" => Ok(WeaponType::Blaster), "Beam" => Ok(WeaponType::Beam), "Laser" => Ok(WeaponType::Laser), "Visk235w" => Ok(WeaponType::Visk235w), "Walsmk2" => Ok(WeaponType::Walsmk2), "Justy23st" => Ok(WeaponType::Justy23st), "Rianov303snr" => Ok(WeaponType::Rianov303snr), "Rianov303snr1" => Ok(WeaponType::Rianov303snr1), "Rianov303snr2" => Ok(WeaponType::Rianov303snr2), "Rianov303snr3" => Ok(WeaponType::Rianov303snr3), "Rianov303snr4" => Ok(WeaponType::Rianov303snr4), "Rianov303snr5" => Ok(WeaponType::Rianov303snr5), "Mechgun" => Ok(WeaponType::Mechgun), "Assault" => Ok(WeaponType::Assault), "Repeater" => Ok(WeaponType::Repeater), "Gatling" => Ok(WeaponType::Gatling), "Vulcan" => Ok(WeaponType::Vulcan), "MA60Vise" => Ok(WeaponType::MA60Vise), "HS25Justice" => Ok(WeaponType::HS25Justice), "LK14Combat" => Ok(WeaponType::LK14Combat), "Shot" => Ok(WeaponType::Shot), "Spread" => Ok(WeaponType::Spread), "Cannon" => Ok(WeaponType::Cannon), "Launcher" => Ok(WeaponType::Launcher), "Arms" => Ok(WeaponType::Arms), "CrushBullet" => Ok(WeaponType::CrushBullet), "MeteorSmash" => Ok(WeaponType::MeteorSmash), "FinalImpact" => Ok(WeaponType::FinalImpact), "Cane" => Ok(WeaponType::Cane), "Stick" => Ok(WeaponType::Stick), "Mace" => Ok(WeaponType::Mace), "Club" => Ok(WeaponType::Club), "ClubOfLaconium" => Ok(WeaponType::ClubOfLaconium), "MaceOfAdaman" => Ok(WeaponType::MaceOfAdaman), "ClubOfZumiuran" => Ok(WeaponType::ClubOfZumiuran), "Lollipop" => Ok(WeaponType::Lollipop), "Rod" => Ok(WeaponType::Rod), "Pole" => Ok(WeaponType::Pole), "Pillar" => Ok(WeaponType::Pillar), "Striker" => Ok(WeaponType::Striker), "BattleVerge" => Ok(WeaponType::BattleVerge), "BraveHammer" => Ok(WeaponType::BraveHammer), "AliveAqhu" => Ok(WeaponType::AliveAqhu), "Valkyrie" => Ok(WeaponType::Valkyrie), "Wand" => Ok(WeaponType::Wand), "Staff" => Ok(WeaponType::Staff), "Baton" => Ok(WeaponType::Baton), "Scepter" => Ok(WeaponType::Scepter), "FireScepteragni" => Ok(WeaponType::FireScepteragni), "IceStaffdagon" => Ok(WeaponType::IceStaffdagon), "StormWandindra" => Ok(WeaponType::StormWandindra), "EarthWandBrownie" => Ok(WeaponType::EarthWandBrownie), "PhotonClaw" => Ok(WeaponType::PhotonClaw), "SilenceClaw" => Ok(WeaponType::SilenceClaw), "NeisClaw" => Ok(WeaponType::NeisClaw), "PhoenixClaw" => Ok(WeaponType::PhoenixClaw), "DoubleSaber" => Ok(WeaponType::DoubleSaber), "StagCutlery" => Ok(WeaponType::StagCutlery), "TwinBrand" => Ok(WeaponType::TwinBrand), "BraveKnuckle" => Ok(WeaponType::BraveKnuckle), "AngryFist" => Ok(WeaponType::AngryFist), "GodHand" => Ok(WeaponType::GodHand), "SonicKnuckle" => Ok(WeaponType::SonicKnuckle), "Login" => Ok(WeaponType::Login), "Orotiagito" => Ok(WeaponType::Orotiagito), "Agito1975" => Ok(WeaponType::Agito1975), "Agito1983" => Ok(WeaponType::Agito1983), "Agito2001" => Ok(WeaponType::Agito2001), "Agito1991" => Ok(WeaponType::Agito1991), "Agito1977" => Ok(WeaponType::Agito1977), "Agito1980" => Ok(WeaponType::Agito1980), "Raikiri" => Ok(WeaponType::Raikiri), "SoulEater" => Ok(WeaponType::SoulEater), "SoulBanish" => Ok(WeaponType::SoulBanish), "SpreadNeedle" => Ok(WeaponType::SpreadNeedle), "HolyRay" => Ok(WeaponType::HolyRay), "InfernoBazooka" => Ok(WeaponType::InfernoBazooka), "RamblingMay" => Ok(WeaponType::RamblingMay), "LK38Combat" => Ok(WeaponType::LK38Combat), "FlameVisit" => Ok(WeaponType::FlameVisit), "BurningVisit" => Ok(WeaponType::BurningVisit), "AkikosFryingPan" => Ok(WeaponType::AkikosFryingPan), "SorcerersCane" => Ok(WeaponType::SorcerersCane), "SBeatsBlade" => Ok(WeaponType::SBeatsBlade), "PArmssBlade" => Ok(WeaponType::PArmssBlade), "DelsabersBuster" => Ok(WeaponType::DelsabersBuster), "BringersRifle" => Ok(WeaponType::BringersRifle), "EggBlaster" => Ok(WeaponType::EggBlaster), "PsychoWand" => Ok(WeaponType::PsychoWand), "HeavenPunisher" => Ok(WeaponType::HeavenPunisher), "LavisCannon" => Ok(WeaponType::LavisCannon), "VictorAxe" => Ok(WeaponType::VictorAxe), "LaconiumAxe" => Ok(WeaponType::LaconiumAxe), "ChainSawd" => Ok(WeaponType::ChainSawd), "Caduceus" => Ok(WeaponType::Caduceus), "MercuriusRod" => Ok(WeaponType::MercuriusRod), "StingTip" => Ok(WeaponType::StingTip), "MagicalPiece" => Ok(WeaponType::MagicalPiece), "TechnicalCrozier" => Ok(WeaponType::TechnicalCrozier), "SuppressedGun" => Ok(WeaponType::SuppressedGun), "AncientSaber" => Ok(WeaponType::AncientSaber), "HarisenBattleFan" => Ok(WeaponType::HarisenBattleFan), "Yamigarasu" => Ok(WeaponType::Yamigarasu), "AkikosWok" => Ok(WeaponType::AkikosWok), "ToyHammer" => Ok(WeaponType::ToyHammer), "Elysion" => Ok(WeaponType::Elysion), "RedSaber" => Ok(WeaponType::RedSaber), "MeteorCudgel" => Ok(WeaponType::MeteorCudgel), "MonkeyKingBar" => Ok(WeaponType::MonkeyKingBar), "BlackKingBar" => Ok(WeaponType::BlackKingBar), "DoubleCannon" => Ok(WeaponType::DoubleCannon), "Girasole" => Ok(WeaponType::Girasole), "HugeBattleFan" => Ok(WeaponType::HugeBattleFan), "TsumikiriJSword" => Ok(WeaponType::TsumikiriJSword), "SealedJSword" => Ok(WeaponType::SealedJSword), "RedSword" => Ok(WeaponType::RedSword), "CrazyTune" => Ok(WeaponType::CrazyTune), "TwinChakram" => Ok(WeaponType::TwinChakram), "WokOfAkikosShop" => Ok(WeaponType::WokOfAkikosShop), "LavisBlade" => Ok(WeaponType::LavisBlade), "RedDagger" => Ok(WeaponType::RedDagger), "MadamsParasol" => Ok(WeaponType::MadamsParasol), "MadamsUmbrella" => Ok(WeaponType::MadamsUmbrella), "ImperialPick" => Ok(WeaponType::ImperialPick), "Berdysh" => Ok(WeaponType::Berdysh), "RedPartisan" => Ok(WeaponType::RedPartisan), "FlightCutter" => Ok(WeaponType::FlightCutter), "FlightFan" => Ok(WeaponType::FlightFan), "RedSlicer" => Ok(WeaponType::RedSlicer), "Handgunguld" => Ok(WeaponType::Handgunguld), "MasterRaven" => Ok(WeaponType::MasterRaven), "Handgunmilla" => Ok(WeaponType::Handgunmilla), "LastSwan" => Ok(WeaponType::LastSwan), "RedHandgun" => Ok(WeaponType::RedHandgun), "FrozenShooter" => Ok(WeaponType::FrozenShooter), "SnowQueen" => Ok(WeaponType::SnowQueen), "AntiAndroidRifle" => Ok(WeaponType::AntiAndroidRifle), "RocketPunch" => Ok(WeaponType::RocketPunch), "SambaMaracas" => Ok(WeaponType::SambaMaracas), "TwinPsychogun" => Ok(WeaponType::TwinPsychogun), "DrillLauncher" => Ok(WeaponType::DrillLauncher), "GuldMilla" => Ok(WeaponType::GuldMilla), "DualBird" => Ok(WeaponType::DualBird), "RedMechgun" => Ok(WeaponType::RedMechgun), "BelraCannon" => Ok(WeaponType::BelraCannon), "PanzerFaust" => Ok(WeaponType::PanzerFaust), "IronFaust" => Ok(WeaponType::IronFaust), "SummitMoon" => Ok(WeaponType::SummitMoon), "Windmill" => Ok(WeaponType::Windmill), "EvilCurst" => Ok(WeaponType::EvilCurst), "FlowerCane" => Ok(WeaponType::FlowerCane), "HildebearsCane" => Ok(WeaponType::HildebearsCane), "HildebluesCane" => Ok(WeaponType::HildebluesCane), "RabbitWand" => Ok(WeaponType::RabbitWand), "PlantainLeaf" => Ok(WeaponType::PlantainLeaf), "Fatsia" => Ok(WeaponType::Fatsia), "DemonicFork" => Ok(WeaponType::DemonicFork), "StrikerOfChao" => Ok(WeaponType::StrikerOfChao), "Broom" => Ok(WeaponType::Broom), "ProphetsOfMotav" => Ok(WeaponType::ProphetsOfMotav), "TheSighOfAGod" => Ok(WeaponType::TheSighOfAGod), "TwinkleStar" => Ok(WeaponType::TwinkleStar), "PlantainFan" => Ok(WeaponType::PlantainFan), "TwinBlaze" => Ok(WeaponType::TwinBlaze), "MarinasBag" => Ok(WeaponType::MarinasBag), "DragonsClaw" => Ok(WeaponType::DragonsClaw), "PanthersClaw" => Ok(WeaponType::PanthersClaw), "SRedsBlade" => Ok(WeaponType::SRedsBlade), "PlantainHugeFan" => Ok(WeaponType::PlantainHugeFan), "ChameleonScythe" => Ok(WeaponType::ChameleonScythe), "Yasminkov3000r" => Ok(WeaponType::Yasminkov3000r), "AnoRifle" => Ok(WeaponType::AnoRifle), "BaranzLauncher" => Ok(WeaponType::BaranzLauncher), "BranchOfPakupaku" => Ok(WeaponType::BranchOfPakupaku), "HeartOfPoumn" => Ok(WeaponType::HeartOfPoumn), "Yasminkov2000h" => Ok(WeaponType::Yasminkov2000h), "Yasminkov7000v" => Ok(WeaponType::Yasminkov7000v), "Yasminkov9000m" => Ok(WeaponType::Yasminkov9000m), "MaserBeam" => Ok(WeaponType::MaserBeam), "PowerMaser" => Ok(WeaponType::PowerMaser), "GameMagazne" => Ok(WeaponType::GameMagazne), "Login2" => Ok(WeaponType::Login2), "FlowerBouquet" => Ok(WeaponType::FlowerBouquet), "Musashi" => Ok(WeaponType::Musashi), "Yamato" => Ok(WeaponType::Yamato), "Asuka" => Ok(WeaponType::Asuka), "SangeYasha" => Ok(WeaponType::SangeYasha), "Sange" => Ok(WeaponType::Sange), "Yasha" => Ok(WeaponType::Yasha), "Kamui" => Ok(WeaponType::Kamui), "PhotonLauncher" => Ok(WeaponType::PhotonLauncher), "GuiltyLight" => Ok(WeaponType::GuiltyLight), "RedScorpio" => Ok(WeaponType::RedScorpio), "PhononMaser" => Ok(WeaponType::PhononMaser), "Talis" => Ok(WeaponType::Talis), "Mahu" => Ok(WeaponType::Mahu), "Hitogata" => Ok(WeaponType::Hitogata), "DancingHitogata" => Ok(WeaponType::DancingHitogata), "Kunai" => Ok(WeaponType::Kunai), "Nug2000bazooka" => Ok(WeaponType::Nug2000bazooka), "SBerillsHands0" => Ok(WeaponType::SBerillsHands0), "SBerillsHands1" => Ok(WeaponType::SBerillsHands1), "FlowensSword3060" => Ok(WeaponType::FlowensSword3060), "FlowensSword3064" => Ok(WeaponType::FlowensSword3064), "FlowensSword3067" => Ok(WeaponType::FlowensSword3067), "FlowensSword3073" => Ok(WeaponType::FlowensSword3073), "FlowensSword3077" => Ok(WeaponType::FlowensSword3077), "FlowensSword3082" => Ok(WeaponType::FlowensSword3082), "FlowensSword3083" => Ok(WeaponType::FlowensSword3083), "FlowensSword3084" => Ok(WeaponType::FlowensSword3084), "FlowensSword3079" => Ok(WeaponType::FlowensSword3079), "DbsSaber3062" => Ok(WeaponType::DbsSaber3062), "DbsSaber3067" => Ok(WeaponType::DbsSaber3067), "DbsSaber3069Chris" => Ok(WeaponType::DbsSaber3069Chris), "DbsSaber3064" => Ok(WeaponType::DbsSaber3064), "DbsSaber3069Torato" => Ok(WeaponType::DbsSaber3069Torato), "DbsSaber3073" => Ok(WeaponType::DbsSaber3073), "DbsSaber3070" => Ok(WeaponType::DbsSaber3070), "DbsSaber3075" => Ok(WeaponType::DbsSaber3075), "DbsSaber3077" => Ok(WeaponType::DbsSaber3077), "GiGueBazooka" => Ok(WeaponType::GiGueBazooka), "Guardianna" => Ok(WeaponType::Guardianna), "ViridiaCard" => Ok(WeaponType::ViridiaCard), "GreenillCard" => Ok(WeaponType::GreenillCard), "SkylyCard" => Ok(WeaponType::SkylyCard), "BluefullCard" => Ok(WeaponType::BluefullCard), "PurplenumCard" => Ok(WeaponType::PurplenumCard), "PinkalCard" => Ok(WeaponType::PinkalCard), "RedriaCard" => Ok(WeaponType::RedriaCard), "OranCard" => Ok(WeaponType::OranCard), "YellowbozeCard" => Ok(WeaponType::YellowbozeCard), "WhitillCard" => Ok(WeaponType::WhitillCard), "MorningGlory" => Ok(WeaponType::MorningGlory), "PartisanofLightning" => Ok(WeaponType::PartisanofLightning), "GalWind" => Ok(WeaponType::GalWind), "Zanba" => Ok(WeaponType::Zanba), "RikasClaw" => Ok(WeaponType::RikasClaw), "AngelHarp" => Ok(WeaponType::AngelHarp), "DemolitionComet" => Ok(WeaponType::DemolitionComet), "NeisClaw2" => Ok(WeaponType::NeisClaw2), "RainbowBaton" => Ok(WeaponType::RainbowBaton), "DarkFlow" => Ok(WeaponType::DarkFlow), "DarkMeteor" => Ok(WeaponType::DarkMeteor), "DarkBridge" => Ok(WeaponType::DarkBridge), "GAssassinsSabers" => Ok(WeaponType::GAssassinsSabers), "RappysFan" => Ok(WeaponType::RappysFan), "BoomasClaw" => Ok(WeaponType::BoomasClaw), "GoboomasClaw" => Ok(WeaponType::GoboomasClaw), "GigoboomasClaw" => Ok(WeaponType::GigoboomasClaw), "RubyBullet" => Ok(WeaponType::RubyBullet), "AmoreRose" => Ok(WeaponType::AmoreRose), "SlicerOfFanatic" => Ok(WeaponType::SlicerOfFanatic), "LameDArgent" => Ok(WeaponType::LameDArgent), "Excalibur" => Ok(WeaponType::Excalibur), "RageDeFeu" => Ok(WeaponType::RageDeFeu), "RageDeFeu2" => Ok(WeaponType::RageDeFeu2), "RageDeFeu3" => Ok(WeaponType::RageDeFeu3), "RageDeFeu4" => Ok(WeaponType::RageDeFeu4), "DaisyChain" => Ok(WeaponType::DaisyChain), "OphelieSeize" => Ok(WeaponType::OphelieSeize), "MilleMarteaux" => Ok(WeaponType::MilleMarteaux), "LeCogneur" => Ok(WeaponType::LeCogneur), "CommanderBlade" => Ok(WeaponType::CommanderBlade), "Vivienne" => Ok(WeaponType::Vivienne), "Kusanagi" => Ok(WeaponType::Kusanagi), "SacredDuster" => Ok(WeaponType::SacredDuster), "Guren" => Ok(WeaponType::Guren), "Shouren" => Ok(WeaponType::Shouren), "Jizai" => Ok(WeaponType::Jizai), "Flamberge" => Ok(WeaponType::Flamberge), "Yunchang" => Ok(WeaponType::Yunchang), "SnakeSpire" => Ok(WeaponType::SnakeSpire), "FlapjackFlapper" => Ok(WeaponType::FlapjackFlapper), "Getsugasan" => Ok(WeaponType::Getsugasan), "Maguwa" => Ok(WeaponType::Maguwa), "HeavenStriker" => Ok(WeaponType::HeavenStriker), "CannonRouge" => Ok(WeaponType::CannonRouge), "MeteorRouge" => Ok(WeaponType::MeteorRouge), "Solferino" => Ok(WeaponType::Solferino), "Clio" => Ok(WeaponType::Clio), "SirenGlassHammer" => Ok(WeaponType::SirenGlassHammer), "GlideDivine" => Ok(WeaponType::GlideDivine), "Shichishito" => Ok(WeaponType::Shichishito), "Murasame" => Ok(WeaponType::Murasame), "DaylightScar" => Ok(WeaponType::DaylightScar), "Decalog" => Ok(WeaponType::Decalog), "FifthAnnivBlade" => Ok(WeaponType::FifthAnnivBlade), "TyrellsParasol" => Ok(WeaponType::TyrellsParasol), "AkikosCleaver" => Ok(WeaponType::AkikosCleaver), "Tanegashima" => Ok(WeaponType::Tanegashima), "TreeClippers" => Ok(WeaponType::TreeClippers), "NiceShot" => Ok(WeaponType::NiceShot), "Unknown3" => Ok(WeaponType::Unknown3), "Unknown4" => Ok(WeaponType::Unknown4), "AnoBazooka" => Ok(WeaponType::AnoBazooka), "Synthesizer" => Ok(WeaponType::Synthesizer), "BambooSpear" => Ok(WeaponType::BambooSpear), "KaneiTsuho" => Ok(WeaponType::KaneiTsuho), "Jitte" => Ok(WeaponType::Jitte), "ButterflyNet" => Ok(WeaponType::ButterflyNet), "Syringe" => Ok(WeaponType::Syringe), "Battledore" => Ok(WeaponType::Battledore), "Racket" => Ok(WeaponType::Racket), "Hammer" => Ok(WeaponType::Hammer), "GreatBouquet" => Ok(WeaponType::GreatBouquet), "TypesaSaber" => Ok(WeaponType::TypesaSaber), "TypeslSaber" => Ok(WeaponType::TypeslSaber), "TypeslSlicer" => Ok(WeaponType::TypeslSlicer), "TypeslClaw" => Ok(WeaponType::TypeslClaw), "TypeslKatana" => Ok(WeaponType::TypeslKatana), "TypejsSaber" => Ok(WeaponType::TypejsSaber), "TypejsSlicer" => Ok(WeaponType::TypejsSlicer), "TypejsJSword" => Ok(WeaponType::TypejsJSword), "TypeswSword" => Ok(WeaponType::TypeswSword), "TypeswSlicer" => Ok(WeaponType::TypeswSlicer), "TypeswJSword" => Ok(WeaponType::TypeswJSword), "TyperoSword" => Ok(WeaponType::TyperoSword), "TyperoHalbert" => Ok(WeaponType::TyperoHalbert), "TyperoRod" => Ok(WeaponType::TyperoRod), "TypeblBlade" => Ok(WeaponType::TypeblBlade), "TypeknBlade" => Ok(WeaponType::TypeknBlade), "TypeknClaw" => Ok(WeaponType::TypeknClaw), "TypehaHalbert" => Ok(WeaponType::TypehaHalbert), "TypehaRod" => Ok(WeaponType::TypehaRod), "TypedsDSaber" => Ok(WeaponType::TypedsDSaber), "TypedsRod" => Ok(WeaponType::TypedsRod), "Typeds" => Ok(WeaponType::Typeds), "TypeclClaw" => Ok(WeaponType::TypeclClaw), "TypessSw" => Ok(WeaponType::TypessSw), "TypeguHand" => Ok(WeaponType::TypeguHand), "TypeguMechgun" => Ok(WeaponType::TypeguMechgun), "TyperiRifle" => Ok(WeaponType::TyperiRifle), "TypemeMechgun" => Ok(WeaponType::TypemeMechgun), "TypeshShot" => Ok(WeaponType::TypeshShot), "TypewaWand" => Ok(WeaponType::TypewaWand), _ => Err(WeaponTypeError::UnknownWeapon(value.to_string())) } } } impl Into for WeaponType { fn into(self) -> String { match self { WeaponType::Saber => "Saber", WeaponType::Brand => "Brand", WeaponType::Buster => "Buster", WeaponType::Pallasch => "Pallasch", WeaponType::Gladius => "Gladius", WeaponType::DbsSaber => "DbsSaber", WeaponType::Kaladbolg => "Kaladbolg", WeaponType::Durandal => "Durandal", WeaponType::Galatine => "Galatine", WeaponType::Sword => "Sword", WeaponType::Gigush => "Gigush", WeaponType::Breaker => "Breaker", WeaponType::Claymore => "Claymore", WeaponType::Calibur => "Calibur", WeaponType::FlowensSword => "FlowensSword", WeaponType::LastSurvivor => "LastSurvivor", WeaponType::DragonSlayer => "DragonSlayer", WeaponType::Dagger => "Dagger", WeaponType::Knife => "Knife", WeaponType::Blade => "Blade", WeaponType::Edge => "Edge", WeaponType::Ripper => "Ripper", WeaponType::BladeDance => "BladeDance", WeaponType::BloodyArt => "BloodyArt", WeaponType::CrossScar => "CrossScar", WeaponType::ZeroDivide => "ZeroDivide", WeaponType::TwoKamui => "TwoKamui", WeaponType::Partisan => "Partisan", WeaponType::Halbert => "Halbert", WeaponType::Glaive => "Glaive", WeaponType::Berdys => "Berdys", WeaponType::Gungnir => "Gungnir", WeaponType::Brionac => "Brionac", WeaponType::Vjaya => "Vjaya", WeaponType::GaeBolg => "GaeBolg", WeaponType::AsteronBelt => "AsteronBelt", WeaponType::Slicer => "Slicer", WeaponType::Spinner => "Spinner", WeaponType::Cutter => "Cutter", WeaponType::Sawcer => "Sawcer", WeaponType::Diska => "Diska", WeaponType::SlicerOfAssassin => "SlicerOfAssassin", WeaponType::DiskaOfLiberator => "DiskaOfLiberator", WeaponType::DiskaOfBraveman => "DiskaOfBraveman", WeaponType::Izmaela => "Izmaela", WeaponType::Handgun => "Handgun", WeaponType::Autogun => "Autogun", WeaponType::Lockgun => "Lockgun", WeaponType::Railgun => "Railgun", WeaponType::Raygun => "Raygun", WeaponType::Varista => "Varista", WeaponType::CustomRayveroo => "CustomRayveroo", WeaponType::Bravace => "Bravace", WeaponType::TensionBlaster => "TensionBlaster", WeaponType::Rifle => "Rifle", WeaponType::Sniper => "Sniper", WeaponType::Blaster => "Blaster", WeaponType::Beam => "Beam", WeaponType::Laser => "Laser", WeaponType::Visk235w => "Visk235w", WeaponType::Walsmk2 => "Walsmk2", WeaponType::Justy23st => "Justy23st", WeaponType::Rianov303snr => "Rianov303snr", WeaponType::Rianov303snr1 => "Rianov303snr1", WeaponType::Rianov303snr2 => "Rianov303snr2", WeaponType::Rianov303snr3 => "Rianov303snr3", WeaponType::Rianov303snr4 => "Rianov303snr4", WeaponType::Rianov303snr5 => "Rianov303snr5", WeaponType::Mechgun => "Mechgun", WeaponType::Assault => "Assault", WeaponType::Repeater => "Repeater", WeaponType::Gatling => "Gatling", WeaponType::Vulcan => "Vulcan", WeaponType::MA60Vise => "MA60Vise", WeaponType::HS25Justice => "HS25Justice", WeaponType::LK14Combat => "LK14Combat", WeaponType::Shot => "Shot", WeaponType::Spread => "Spread", WeaponType::Cannon => "Cannon", WeaponType::Launcher => "Launcher", WeaponType::Arms => "Arms", WeaponType::CrushBullet => "CrushBullet", WeaponType::MeteorSmash => "MeteorSmash", WeaponType::FinalImpact => "FinalImpact", WeaponType::Cane => "Cane", WeaponType::Stick => "Stick", WeaponType::Mace => "Mace", WeaponType::Club => "Club", WeaponType::ClubOfLaconium => "ClubOfLaconium", WeaponType::MaceOfAdaman => "MaceOfAdaman", WeaponType::ClubOfZumiuran => "ClubOfZumiuran", WeaponType::Lollipop => "Lollipop", WeaponType::Rod => "Rod", WeaponType::Pole => "Pole", WeaponType::Pillar => "Pillar", WeaponType::Striker => "Striker", WeaponType::BattleVerge => "BattleVerge", WeaponType::BraveHammer => "BraveHammer", WeaponType::AliveAqhu => "AliveAqhu", WeaponType::Valkyrie => "Valkyrie", WeaponType::Wand => "Wand", WeaponType::Staff => "Staff", WeaponType::Baton => "Baton", WeaponType::Scepter => "Scepter", WeaponType::FireScepteragni => "FireScepteragni", WeaponType::IceStaffdagon => "IceStaffdagon", WeaponType::StormWandindra => "StormWandindra", WeaponType::EarthWandBrownie => "EarthWandBrownie", WeaponType::PhotonClaw => "PhotonClaw", WeaponType::SilenceClaw => "SilenceClaw", WeaponType::NeisClaw => "NeisClaw", WeaponType::PhoenixClaw => "PhoenixClaw", WeaponType::DoubleSaber => "DoubleSaber", WeaponType::StagCutlery => "StagCutlery", WeaponType::TwinBrand => "TwinBrand", WeaponType::BraveKnuckle => "BraveKnuckle", WeaponType::AngryFist => "AngryFist", WeaponType::GodHand => "GodHand", WeaponType::SonicKnuckle => "SonicKnuckle", WeaponType::Login => "Login", WeaponType::Orotiagito => "Orotiagito", WeaponType::Agito1975 => "Agito1975", WeaponType::Agito1983 => "Agito1983", WeaponType::Agito2001 => "Agito2001", WeaponType::Agito1991 => "Agito1991", WeaponType::Agito1977 => "Agito1977", WeaponType::Agito1980 => "Agito1980", WeaponType::Raikiri => "Raikiri", WeaponType::SoulEater => "SoulEater", WeaponType::SoulBanish => "SoulBanish", WeaponType::SpreadNeedle => "SpreadNeedle", WeaponType::HolyRay => "HolyRay", WeaponType::InfernoBazooka => "InfernoBazooka", WeaponType::RamblingMay => "RamblingMay", WeaponType::LK38Combat => "LK38Combat", WeaponType::FlameVisit => "FlameVisit", WeaponType::BurningVisit => "BurningVisit", WeaponType::AkikosFryingPan => "AkikosFryingPan", WeaponType::SorcerersCane => "SorcerersCane", WeaponType::SBeatsBlade => "SBeatsBlade", WeaponType::PArmssBlade => "PArmssBlade", WeaponType::DelsabersBuster => "DelsabersBuster", WeaponType::BringersRifle => "BringersRifle", WeaponType::EggBlaster => "EggBlaster", WeaponType::PsychoWand => "PsychoWand", WeaponType::HeavenPunisher => "HeavenPunisher", WeaponType::LavisCannon => "LavisCannon", WeaponType::VictorAxe => "VictorAxe", WeaponType::LaconiumAxe => "LaconiumAxe", WeaponType::ChainSawd => "ChainSawd", WeaponType::Caduceus => "Caduceus", WeaponType::MercuriusRod => "MercuriusRod", WeaponType::StingTip => "StingTip", WeaponType::MagicalPiece => "MagicalPiece", WeaponType::TechnicalCrozier => "TechnicalCrozier", WeaponType::SuppressedGun => "SuppressedGun", WeaponType::AncientSaber => "AncientSaber", WeaponType::HarisenBattleFan => "HarisenBattleFan", WeaponType::Yamigarasu => "Yamigarasu", WeaponType::AkikosWok => "AkikosWok", WeaponType::ToyHammer => "ToyHammer", WeaponType::Elysion => "Elysion", WeaponType::RedSaber => "RedSaber", WeaponType::MeteorCudgel => "MeteorCudgel", WeaponType::MonkeyKingBar => "MonkeyKingBar", WeaponType::BlackKingBar => "BlackKingBar", WeaponType::DoubleCannon => "DoubleCannon", WeaponType::Girasole => "Girasole", WeaponType::HugeBattleFan => "HugeBattleFan", WeaponType::TsumikiriJSword => "TsumikiriJSword", WeaponType::SealedJSword => "SealedJSword", WeaponType::RedSword => "RedSword", WeaponType::CrazyTune => "CrazyTune", WeaponType::TwinChakram => "TwinChakram", WeaponType::WokOfAkikosShop => "WokOfAkikosShop", WeaponType::LavisBlade => "LavisBlade", WeaponType::RedDagger => "RedDagger", WeaponType::MadamsParasol => "MadamsParasol", WeaponType::MadamsUmbrella => "MadamsUmbrella", WeaponType::ImperialPick => "ImperialPick", WeaponType::Berdysh => "Berdysh", WeaponType::RedPartisan => "RedPartisan", WeaponType::FlightCutter => "FlightCutter", WeaponType::FlightFan => "FlightFan", WeaponType::RedSlicer => "RedSlicer", WeaponType::Handgunguld => "Handgunguld", WeaponType::MasterRaven => "MasterRaven", WeaponType::Handgunmilla => "Handgunmilla", WeaponType::LastSwan => "LastSwan", WeaponType::RedHandgun => "RedHandgun", WeaponType::FrozenShooter => "FrozenShooter", WeaponType::SnowQueen => "SnowQueen", WeaponType::AntiAndroidRifle => "AntiAndroidRifle", WeaponType::RocketPunch => "RocketPunch", WeaponType::SambaMaracas => "SambaMaracas", WeaponType::TwinPsychogun => "TwinPsychogun", WeaponType::DrillLauncher => "DrillLauncher", WeaponType::GuldMilla => "GuldMilla", WeaponType::DualBird => "DualBird", WeaponType::RedMechgun => "RedMechgun", WeaponType::BelraCannon => "BelraCannon", WeaponType::PanzerFaust => "PanzerFaust", WeaponType::IronFaust => "IronFaust", WeaponType::SummitMoon => "SummitMoon", WeaponType::Windmill => "Windmill", WeaponType::EvilCurst => "EvilCurst", WeaponType::FlowerCane => "FlowerCane", WeaponType::HildebearsCane => "HildebearsCane", WeaponType::HildebluesCane => "HildebluesCane", WeaponType::RabbitWand => "RabbitWand", WeaponType::PlantainLeaf => "PlantainLeaf", WeaponType::Fatsia => "Fatsia", WeaponType::DemonicFork => "DemonicFork", WeaponType::StrikerOfChao => "StrikerOfChao", WeaponType::Broom => "Broom", WeaponType::ProphetsOfMotav => "ProphetsOfMotav", WeaponType::TheSighOfAGod => "TheSighOfAGod", WeaponType::TwinkleStar => "TwinkleStar", WeaponType::PlantainFan => "PlantainFan", WeaponType::TwinBlaze => "TwinBlaze", WeaponType::MarinasBag => "MarinasBag", WeaponType::DragonsClaw => "DragonsClaw", WeaponType::PanthersClaw => "PanthersClaw", WeaponType::SRedsBlade => "SRedsBlade", WeaponType::PlantainHugeFan => "PlantainHugeFan", WeaponType::ChameleonScythe => "ChameleonScythe", WeaponType::Yasminkov3000r => "Yasminkov3000r", WeaponType::AnoRifle => "AnoRifle", WeaponType::BaranzLauncher => "BaranzLauncher", WeaponType::BranchOfPakupaku => "BranchOfPakupaku", WeaponType::HeartOfPoumn => "HeartOfPoumn", WeaponType::Yasminkov2000h => "Yasminkov2000h", WeaponType::Yasminkov7000v => "Yasminkov7000v", WeaponType::Yasminkov9000m => "Yasminkov9000m", WeaponType::MaserBeam => "MaserBeam", WeaponType::PowerMaser => "PowerMaser", WeaponType::GameMagazne => "GameMagazne", WeaponType::Login2 => "Login2", WeaponType::FlowerBouquet => "FlowerBouquet", WeaponType::Musashi => "Musashi", WeaponType::Yamato => "Yamato", WeaponType::Asuka => "Asuka", WeaponType::SangeYasha => "SangeYasha", WeaponType::Sange => "Sange", WeaponType::Yasha => "Yasha", WeaponType::Kamui => "Kamui", WeaponType::PhotonLauncher => "PhotonLauncher", WeaponType::GuiltyLight => "GuiltyLight", WeaponType::RedScorpio => "RedScorpio", WeaponType::PhononMaser => "PhononMaser", WeaponType::Talis => "Talis", WeaponType::Mahu => "Mahu", WeaponType::Hitogata => "Hitogata", WeaponType::DancingHitogata => "DancingHitogata", WeaponType::Kunai => "Kunai", WeaponType::Nug2000bazooka => "Nug2000bazooka", WeaponType::SBerillsHands0 => "SBerillsHands0", WeaponType::SBerillsHands1 => "SBerillsHands1", WeaponType::FlowensSword3060 => "FlowensSword3060", WeaponType::FlowensSword3064 => "FlowensSword3064", WeaponType::FlowensSword3067 => "FlowensSword3067", WeaponType::FlowensSword3073 => "FlowensSword3073", WeaponType::FlowensSword3077 => "FlowensSword3077", WeaponType::FlowensSword3082 => "FlowensSword3082", WeaponType::FlowensSword3083 => "FlowensSword3083", WeaponType::FlowensSword3084 => "FlowensSword3084", WeaponType::FlowensSword3079 => "FlowensSword3079", WeaponType::DbsSaber3062 => "DbsSaber3062", WeaponType::DbsSaber3067 => "DbsSaber3067", WeaponType::DbsSaber3069Chris => "DbsSaber3069Chris", WeaponType::DbsSaber3064 => "DbsSaber3064", WeaponType::DbsSaber3069Torato => "DbsSaber3069Torato", WeaponType::DbsSaber3073 => "DbsSaber3073", WeaponType::DbsSaber3070 => "DbsSaber3070", WeaponType::DbsSaber3075 => "DbsSaber3075", WeaponType::DbsSaber3077 => "DbsSaber3077", WeaponType::GiGueBazooka => "GiGueBazooka", WeaponType::Guardianna => "Guardianna", WeaponType::ViridiaCard => "ViridiaCard", WeaponType::GreenillCard => "GreenillCard", WeaponType::SkylyCard => "SkylyCard", WeaponType::BluefullCard => "BluefullCard", WeaponType::PurplenumCard => "PurplenumCard", WeaponType::PinkalCard => "PinkalCard", WeaponType::RedriaCard => "RedriaCard", WeaponType::OranCard => "OranCard", WeaponType::YellowbozeCard => "YellowbozeCard", WeaponType::WhitillCard => "WhitillCard", WeaponType::MorningGlory => "MorningGlory", WeaponType::PartisanofLightning => "PartisanofLightning", WeaponType::GalWind => "GalWind", WeaponType::Zanba => "Zanba", WeaponType::RikasClaw => "RikasClaw", WeaponType::AngelHarp => "AngelHarp", WeaponType::DemolitionComet => "DemolitionComet", WeaponType::NeisClaw2 => "NeisClaw2", WeaponType::RainbowBaton => "RainbowBaton", WeaponType::DarkFlow => "DarkFlow", WeaponType::DarkMeteor => "DarkMeteor", WeaponType::DarkBridge => "DarkBridge", WeaponType::GAssassinsSabers => "GAssassinsSabers", WeaponType::RappysFan => "RappysFan", WeaponType::BoomasClaw => "BoomasClaw", WeaponType::GoboomasClaw => "GoboomasClaw", WeaponType::GigoboomasClaw => "GigoboomasClaw", WeaponType::RubyBullet => "RubyBullet", WeaponType::AmoreRose => "AmoreRose", WeaponType::SlicerOfFanatic => "SlicerOfFanatic", WeaponType::LameDArgent => "LameDArgent", WeaponType::Excalibur => "Excalibur", WeaponType::RageDeFeu => "RageDeFeu", WeaponType::RageDeFeu2 => "RageDeFeu2", WeaponType::RageDeFeu3 => "RageDeFeu3", WeaponType::RageDeFeu4 => "RageDeFeu4", WeaponType::DaisyChain => "DaisyChain", WeaponType::OphelieSeize => "OphelieSeize", WeaponType::MilleMarteaux => "MilleMarteaux", WeaponType::LeCogneur => "LeCogneur", WeaponType::CommanderBlade => "CommanderBlade", WeaponType::Vivienne => "Vivienne", WeaponType::Kusanagi => "Kusanagi", WeaponType::SacredDuster => "SacredDuster", WeaponType::Guren => "Guren", WeaponType::Shouren => "Shouren", WeaponType::Jizai => "Jizai", WeaponType::Flamberge => "Flamberge", WeaponType::Yunchang => "Yunchang", WeaponType::SnakeSpire => "SnakeSpire", WeaponType::FlapjackFlapper => "FlapjackFlapper", WeaponType::Getsugasan => "Getsugasan", WeaponType::Maguwa => "Maguwa", WeaponType::HeavenStriker => "HeavenStriker", WeaponType::CannonRouge => "CannonRouge", WeaponType::MeteorRouge => "MeteorRouge", WeaponType::Solferino => "Solferino", WeaponType::Clio => "Clio", WeaponType::SirenGlassHammer => "SirenGlassHammer", WeaponType::GlideDivine => "GlideDivine", WeaponType::Shichishito => "Shichishito", WeaponType::Murasame => "Murasame", WeaponType::DaylightScar => "DaylightScar", WeaponType::Decalog => "Decalog", WeaponType::FifthAnnivBlade => "FifthAnnivBlade", WeaponType::TyrellsParasol => "TyrellsParasol", WeaponType::AkikosCleaver => "AkikosCleaver", WeaponType::Tanegashima => "Tanegashima", WeaponType::TreeClippers => "TreeClippers", WeaponType::NiceShot => "NiceShot", WeaponType::Unknown3 => "Unknown3", WeaponType::Unknown4 => "Unknown4", WeaponType::AnoBazooka => "AnoBazooka", WeaponType::Synthesizer => "Synthesizer", WeaponType::BambooSpear => "BambooSpear", WeaponType::KaneiTsuho => "KaneiTsuho", WeaponType::Jitte => "Jitte", WeaponType::ButterflyNet => "ButterflyNet", WeaponType::Syringe => "Syringe", WeaponType::Battledore => "Battledore", WeaponType::Racket => "Racket", WeaponType::Hammer => "Hammer", WeaponType::GreatBouquet => "GreatBouquet", WeaponType::TypesaSaber => "TypesaSaber", WeaponType::TypeslSaber => "TypeslSaber", WeaponType::TypeslSlicer => "TypeslSlicer", WeaponType::TypeslClaw => "TypeslClaw", WeaponType::TypeslKatana => "TypeslKatana", WeaponType::TypejsSaber => "TypejsSaber", WeaponType::TypejsSlicer => "TypejsSlicer", WeaponType::TypejsJSword => "TypejsJSword", WeaponType::TypeswSword => "TypeswSword", WeaponType::TypeswSlicer => "TypeswSlicer", WeaponType::TypeswJSword => "TypeswJSword", WeaponType::TyperoSword => "TyperoSword", WeaponType::TyperoHalbert => "TyperoHalbert", WeaponType::TyperoRod => "TyperoRod", WeaponType::TypeblBlade => "TypeblBlade", WeaponType::TypeknBlade => "TypeknBlade", WeaponType::TypeknClaw => "TypeknClaw", WeaponType::TypehaHalbert => "TypehaHalbert", WeaponType::TypehaRod => "TypehaRod", WeaponType::TypedsDSaber => "TypedsDSaber", WeaponType::TypedsRod => "TypedsRod", WeaponType::Typeds => "Typeds", WeaponType::TypeclClaw => "TypeclClaw", WeaponType::TypessSw => "TypessSw", WeaponType::TypeguHand => "TypeguHand", WeaponType::TypeguMechgun => "TypeguMechgun", WeaponType::TyperiRifle => "TyperiRifle", WeaponType::TypemeMechgun => "TypemeMechgun", WeaponType::TypeshShot => "TypeshShot", WeaponType::TypewaWand => "TypewaWand", }.to_string() } } #[derive(Debug, Copy, Clone, PartialEq)] pub struct Weapon { pub weapon: WeaponType, pub special: Option, pub grind: u8, pub attrs: [Option; 3], } impl Weapon { pub fn new(wep: WeaponType) -> Weapon { Weapon { weapon: wep, special: None, grind: 0, attrs: [None; 3] } } pub fn as_bytes(&self) -> [u8; 16] { let mut result = [0u8; 16]; result[0..3].copy_from_slice(&self.weapon.value()); result[3] = self.grind; // TODO: percents result } }