#[derive(Copy, Clone, Default, PartialEq)]
#[repr(u8)]
pub enum MoveType {
#[default]
None = 0x00,
Pound = 0x01,
KarateChop = 0x02,
Doubleslap = 0x03,
CometPunch = 0x04,
MegaPunch = 0x05,
PayDay = 0x06,
FirePunch = 0x07,
IcePunch = 0x08,
Thunderpunch = 0x09,
Scratch = 0x0A,
Vicegrip = 0x0B,
Guillotine = 0x0C,
RazorWind = 0x0D,
SwordsDance = 0x0E,
Cut = 0x0F,
Gust = 0x10,
WingAttack = 0x11,
Whirlwind = 0x12,
Fly = 0x13,
Bind = 0x14,
Slam = 0x15,
VineWhip = 0x16,
Stomp = 0x17,
DoubleKick = 0x18,
MegaKick = 0x19,
JumpKick = 0x1A,
RollingKick = 0x1B,
SandAttack = 0x1C,
Headbutt = 0x1D,
HornAttack = 0x1E,
FuryAttack = 0x1F,
HornDrill = 0x20,
Tackle = 0x21,
BodySlam = 0x22,
Wrap = 0x23,
TakeDown = 0x24,
Thrash = 0x25,
DoubleEdge = 0x26,
TailWhip = 0x27,
PoisonSting = 0x28,
Twineedle = 0x29,
PinMissile = 0x2A,
Leer = 0x2B,
Bite = 0x2C,
Growl = 0x2D,
Roar = 0x2E,
Sing = 0x2F,
Supersonic = 0x30,
Sonicboom = 0x31,
Disable = 0x32,
Acid = 0x33,
Ember = 0x34,
Flamethrower = 0x35,
Mist = 0x36,
WaterGun = 0x37,
HydroPump = 0x38,
Surf = 0x39,
IceBeam = 0x3A,
Blizzard = 0x3B,
Psybeam = 0x3C,
Bubblebeam = 0x3D,
AuroraBeam = 0x3E,
HyperBeam = 0x3F,
Peck = 0x40,
DrillPeck = 0x41,
Submission = 0x42,
LowKick = 0x43,
Counter = 0x44,
SeismicToss = 0x45,
Strength = 0x46,
Absorb = 0x47,
MegaDrain = 0x48,
LeechSeed = 0x49,
Growth = 0x4A,
RazorLeaf = 0x4B,
Solarbeam = 0x4C,
Poisonpowder = 0x4D,
StunSpore = 0x4E,
SleepPowder = 0x4F,
PetalDance = 0x50,
StringShot = 0x51,
DragonRage = 0x52,
FireSpin = 0x53,
Thundershock = 0x54,
Thunderbolt = 0x55,
ThunderWave = 0x56,
Thunder = 0x57,
RockThrow = 0x58,
Earthquake = 0x59,
Fissure = 0x5A,
Dig = 0x5B,
Toxic = 0x5C,
Confusion = 0x5D,
Psychic = 0x5E,
Hypnosis = 0x5F,
Meditate = 0x60,
Agility = 0x61,
QuickAttack = 0x62,
Rage = 0x63,
Teleport = 0x64,
NightShade = 0x65,
Mimic = 0x66,
Screech = 0x67,
DoubleTeam = 0x68,
Recover = 0x69,
Harden = 0x6A,
Minimize = 0x6B,
Smokescreen = 0x6C,
ConfuseRay = 0x6D,
Withdraw = 0x6E,
DefenseCurl = 0x6F,
Barrier = 0x70,
LightScreen = 0x71,
Haze = 0x72,
Reflect = 0x73,
FocusEnergy = 0x74,
Bide = 0x75,
Metronome = 0x76,
MirrorMove = 0x77,
Selfdestruct = 0x78,
EggBomb = 0x79,
Lick = 0x7A,
Smog = 0x7B,
Sludge = 0x7C,
BoneClub = 0x7D,
FireBlast = 0x7E,
Waterfall = 0x7F,
Clamp = 0x80,
Swift = 0x81,
SkullBash = 0x82,
SpikeCannon = 0x83,
Constrict = 0x84,
Amnesia = 0x85,
Kinesis = 0x86,
Softboiled = 0x87,
HiJumpKick = 0x88,
Glare = 0x89,
DreamEater = 0x8A,
PoisonGas = 0x8B,
Barrage = 0x8C,
LeechLife = 0x8D,
LovelyKiss = 0x8E,
SkyAttack = 0x8F,
Transform = 0x90,
Bubble = 0x91,
DizzyPunch = 0x92,
Spore = 0x93,
Flash = 0x94,
Psywave = 0x95,
Splash = 0x96,
AcidArmor = 0x97,
Crabhammer = 0x98,
Explosion = 0x99,
FurySwipes = 0x9A,
Bonemerang = 0x9B,
Rest = 0x9C,
RockSlide = 0x9D,
HyperFang = 0x9E,
Sharpen = 0x9F,
Conversion = 0xA0,
TriAttack = 0xA1,
SuperFang = 0xA2,
Slash = 0xA3,
Substitute = 0xA4,
Struggle = 0xA5,
Sketch = 0xA6,
TripleKick = 0xA7,
Thief = 0xA8,
SpiderWeb = 0xA9,
MindReader = 0xAA,
Nightmare = 0xAB,
FlameWheel = 0xAC,
Snore = 0xAD,
Curse = 0xAE,
Flail = 0xAF,
Conversion2 = 0xB0,
Aeroblast = 0xB1,
CottonSpore = 0xB2,
Reversal = 0xB3,
Spite = 0xB4,
PowderSnow = 0xB5,
Protect = 0xB6,
MachPunch = 0xB7,
ScaryFace = 0xB8,
FaintAttack = 0xB9,
SweetKiss = 0xBA,
BellyDrum = 0xBB,
SludgeBomb = 0xBC,
MudSlap = 0xBD,
Octazooka = 0xBE,
Spikes = 0xBF,
ZapCannon = 0xC0,
Foresight = 0xC1,
DestinyBond = 0xC2,
PerishSong = 0xC3,
IcyWind = 0xC4,
Detect = 0xC5,
BoneRush = 0xC6,
LockOn = 0xC7,
Outrage = 0xC8,
Sandstorm = 0xC9,
GigaDrain = 0xCA,
Endure = 0xCB,
Charm = 0xCC,
Rollout = 0xCD,
FalseSwipe = 0xCE,
Swagger = 0xCF,
MilkDrink = 0xD0,
Spark = 0xD1,
FuryCutter = 0xD2,
SteelWing = 0xD3,
MeanLook = 0xD4,
Attract = 0xD5,
SleepTalk = 0xD6,
HealBell = 0xD7,
Return = 0xD8,
Present = 0xD9,
Frustration = 0xDA,
Safeguard = 0xDB,
PainSplit = 0xDC,
SacredFire = 0xDD,
Magnitude = 0xDE,
Dynamicpunch = 0xDF,
Megahorn = 0xE0,
Dragonbreath = 0xE1,
BatonPass = 0xE2,
Encore = 0xE3,
Pursuit = 0xE4,
RapidSpin = 0xE5,
SweetScent = 0xE6,
IronTail = 0xE7,
MetalClaw = 0xE8,
VitalThrow = 0xE9,
MorningSun = 0xEA,
Synthesis = 0xEB,
Moonlight = 0xEC,
HiddenPower = 0xED,
CrossChop = 0xEE,
Twister = 0xEF,
RainDance = 0xF0,
SunnyDay = 0xF1,
Crunch = 0xF2,
MirrorCoat = 0xF3,
PsychUp = 0xF4,
Extremespeed = 0xF5,
Ancientpower = 0xF6,
ShadowBall = 0xF7,
FutureSight = 0xF8,
RockSmash = 0xF9,
Whirlpool = 0xFA,
BeatUp = 0xFB,
}
impl MoveType {
pub const fn from_u8(value: u8) -> Option<Self> {
let move_type = match value {
0x00 => Self::None,
0x01 => Self::Pound,
0x02 => Self::KarateChop,
0x03 => Self::Doubleslap,
0x04 => Self::CometPunch,
0x05 => Self::MegaPunch,
0x06 => Self::PayDay,
0x07 => Self::FirePunch,
0x08 => Self::IcePunch,
0x09 => Self::Thunderpunch,
0x0A => Self::Scratch,
0x0B => Self::Vicegrip,
0x0C => Self::Guillotine,
0x0D => Self::RazorWind,
0x0E => Self::SwordsDance,
0x0F => Self::Cut,
0x10 => Self::Gust,
0x11 => Self::WingAttack,
0x12 => Self::Whirlwind,
0x13 => Self::Fly,
0x14 => Self::Bind,
0x15 => Self::Slam,
0x16 => Self::VineWhip,
0x17 => Self::Stomp,
0x18 => Self::DoubleKick,
0x19 => Self::MegaKick,
0x1A => Self::JumpKick,
0x1B => Self::RollingKick,
0x1C => Self::SandAttack,
0x1D => Self::Headbutt,
0x1E => Self::HornAttack,
0x1F => Self::FuryAttack,
0x20 => Self::HornDrill,
0x21 => Self::Tackle,
0x22 => Self::BodySlam,
0x23 => Self::Wrap,
0x24 => Self::TakeDown,
0x25 => Self::Thrash,
0x26 => Self::DoubleEdge,
0x27 => Self::TailWhip,
0x28 => Self::PoisonSting,
0x29 => Self::Twineedle,
0x2A => Self::PinMissile,
0x2B => Self::Leer,
0x2C => Self::Bite,
0x2D => Self::Growl,
0x2E => Self::Roar,
0x2F => Self::Sing,
0x30 => Self::Supersonic,
0x31 => Self::Sonicboom,
0x32 => Self::Disable,
0x33 => Self::Acid,
0x34 => Self::Ember,
0x35 => Self::Flamethrower,
0x36 => Self::Mist,
0x37 => Self::WaterGun,
0x38 => Self::HydroPump,
0x39 => Self::Surf,
0x3A => Self::IceBeam,
0x3B => Self::Blizzard,
0x3C => Self::Psybeam,
0x3D => Self::Bubblebeam,
0x3E => Self::AuroraBeam,
0x3F => Self::HyperBeam,
0x40 => Self::Peck,
0x41 => Self::DrillPeck,
0x42 => Self::Submission,
0x43 => Self::LowKick,
0x44 => Self::Counter,
0x45 => Self::SeismicToss,
0x46 => Self::Strength,
0x47 => Self::Absorb,
0x48 => Self::MegaDrain,
0x49 => Self::LeechSeed,
0x4A => Self::Growth,
0x4B => Self::RazorLeaf,
0x4C => Self::Solarbeam,
0x4D => Self::Poisonpowder,
0x4E => Self::StunSpore,
0x4F => Self::SleepPowder,
0x50 => Self::PetalDance,
0x51 => Self::StringShot,
0x52 => Self::DragonRage,
0x53 => Self::FireSpin,
0x54 => Self::Thundershock,
0x55 => Self::Thunderbolt,
0x56 => Self::ThunderWave,
0x57 => Self::Thunder,
0x58 => Self::RockThrow,
0x59 => Self::Earthquake,
0x5A => Self::Fissure,
0x5B => Self::Dig,
0x5C => Self::Toxic,
0x5D => Self::Confusion,
0x5E => Self::Psychic,
0x5F => Self::Hypnosis,
0x60 => Self::Meditate,
0x61 => Self::Agility,
0x62 => Self::QuickAttack,
0x63 => Self::Rage,
0x64 => Self::Teleport,
0x65 => Self::NightShade,
0x66 => Self::Mimic,
0x67 => Self::Screech,
0x68 => Self::DoubleTeam,
0x69 => Self::Recover,
0x6A => Self::Harden,
0x6B => Self::Minimize,
0x6C => Self::Smokescreen,
0x6D => Self::ConfuseRay,
0x6E => Self::Withdraw,
0x6F => Self::DefenseCurl,
0x70 => Self::Barrier,
0x71 => Self::LightScreen,
0x72 => Self::Haze,
0x73 => Self::Reflect,
0x74 => Self::FocusEnergy,
0x75 => Self::Bide,
0x76 => Self::Metronome,
0x77 => Self::MirrorMove,
0x78 => Self::Selfdestruct,
0x79 => Self::EggBomb,
0x7A => Self::Lick,
0x7B => Self::Smog,
0x7C => Self::Sludge,
0x7D => Self::BoneClub,
0x7E => Self::FireBlast,
0x7F => Self::Waterfall,
0x80 => Self::Clamp,
0x81 => Self::Swift,
0x82 => Self::SkullBash,
0x83 => Self::SpikeCannon,
0x84 => Self::Constrict,
0x85 => Self::Amnesia,
0x86 => Self::Kinesis,
0x87 => Self::Softboiled,
0x88 => Self::HiJumpKick,
0x89 => Self::Glare,
0x8A => Self::DreamEater,
0x8B => Self::PoisonGas,
0x8C => Self::Barrage,
0x8D => Self::LeechLife,
0x8E => Self::LovelyKiss,
0x8F => Self::SkyAttack,
0x90 => Self::Transform,
0x91 => Self::Bubble,
0x92 => Self::DizzyPunch,
0x93 => Self::Spore,
0x94 => Self::Flash,
0x95 => Self::Psywave,
0x96 => Self::Splash,
0x97 => Self::AcidArmor,
0x98 => Self::Crabhammer,
0x99 => Self::Explosion,
0x9A => Self::FurySwipes,
0x9B => Self::Bonemerang,
0x9C => Self::Rest,
0x9D => Self::RockSlide,
0x9E => Self::HyperFang,
0x9F => Self::Sharpen,
0xA0 => Self::Conversion,
0xA1 => Self::TriAttack,
0xA2 => Self::SuperFang,
0xA3 => Self::Slash,
0xA4 => Self::Substitute,
0xA5 => Self::Struggle,
0xA6 => Self::Sketch,
0xA7 => Self::TripleKick,
0xA8 => Self::Thief,
0xA9 => Self::SpiderWeb,
0xAA => Self::MindReader,
0xAB => Self::Nightmare,
0xAC => Self::FlameWheel,
0xAD => Self::Snore,
0xAE => Self::Curse,
0xAF => Self::Flail,
0xB0 => Self::Conversion2,
0xB1 => Self::Aeroblast,
0xB2 => Self::CottonSpore,
0xB3 => Self::Reversal,
0xB4 => Self::Spite,
0xB5 => Self::PowderSnow,
0xB6 => Self::Protect,
0xB7 => Self::MachPunch,
0xB8 => Self::ScaryFace,
0xB9 => Self::FaintAttack,
0xBA => Self::SweetKiss,
0xBB => Self::BellyDrum,
0xBC => Self::SludgeBomb,
0xBD => Self::MudSlap,
0xBE => Self::Octazooka,
0xBF => Self::Spikes,
0xC0 => Self::ZapCannon,
0xC1 => Self::Foresight,
0xC2 => Self::DestinyBond,
0xC3 => Self::PerishSong,
0xC4 => Self::IcyWind,
0xC5 => Self::Detect,
0xC6 => Self::BoneRush,
0xC7 => Self::LockOn,
0xC8 => Self::Outrage,
0xC9 => Self::Sandstorm,
0xCA => Self::GigaDrain,
0xCB => Self::Endure,
0xCC => Self::Charm,
0xCD => Self::Rollout,
0xCE => Self::FalseSwipe,
0xCF => Self::Swagger,
0xD0 => Self::MilkDrink,
0xD1 => Self::Spark,
0xD2 => Self::FuryCutter,
0xD3 => Self::SteelWing,
0xD4 => Self::MeanLook,
0xD5 => Self::Attract,
0xD6 => Self::SleepTalk,
0xD7 => Self::HealBell,
0xD8 => Self::Return,
0xD9 => Self::Present,
0xDA => Self::Frustration,
0xDB => Self::Safeguard,
0xDC => Self::PainSplit,
0xDD => Self::SacredFire,
0xDE => Self::Magnitude,
0xDF => Self::Dynamicpunch,
0xE0 => Self::Megahorn,
0xE1 => Self::Dragonbreath,
0xE2 => Self::BatonPass,
0xE3 => Self::Encore,
0xE4 => Self::Pursuit,
0xE5 => Self::RapidSpin,
0xE6 => Self::SweetScent,
0xE7 => Self::IronTail,
0xE8 => Self::MetalClaw,
0xE9 => Self::VitalThrow,
0xEA => Self::MorningSun,
0xEB => Self::Synthesis,
0xEC => Self::Moonlight,
0xED => Self::HiddenPower,
0xEE => Self::CrossChop,
0xEF => Self::Twister,
0xF0 => Self::RainDance,
0xF1 => Self::SunnyDay,
0xF2 => Self::Crunch,
0xF3 => Self::MirrorCoat,
0xF4 => Self::PsychUp,
0xF5 => Self::Extremespeed,
0xF6 => Self::Ancientpower,
0xF7 => Self::ShadowBall,
0xF8 => Self::FutureSight,
0xF9 => Self::RockSmash,
0xFA => Self::Whirlpool,
0xFB => Self::BeatUp,
_ => return None
};
Some(move_type)
}
pub const fn name(self) -> &'static str {
match self {
Self::None => "--",
Self::Pound => "POUND",
Self::KarateChop => "KARATE CHOP",
Self::Doubleslap => "DOUBLESLAP",
Self::CometPunch => "COMET PUNCH",
Self::MegaPunch => "MEGA PUNCH",
Self::PayDay => "PAY DAY",
Self::FirePunch => "FIRE PUNCH",
Self::IcePunch => "ICE PUNCH",
Self::Thunderpunch => "THUNDERPUNCH",
Self::Scratch => "SCRATCH",
Self::Vicegrip => "VICEGRIP",
Self::Guillotine => "GUILLOTINE",
Self::RazorWind => "RAZOR WIND",
Self::SwordsDance => "SWORDS DANCE",
Self::Cut => "CUT",
Self::Gust => "GUST",
Self::WingAttack => "WING ATTACK",
Self::Whirlwind => "WHIRLWIND",
Self::Fly => "FLY",
Self::Bind => "BIND",
Self::Slam => "SLAM",
Self::VineWhip => "VINE WHIP",
Self::Stomp => "STOMP",
Self::DoubleKick => "DOUBLE KICK",
Self::MegaKick => "MEGA KICK",
Self::JumpKick => "JUMP KICK",
Self::RollingKick => "ROLLING KICK",
Self::SandAttack => "SAND-ATTACK",
Self::Headbutt => "HEADBUTT",
Self::HornAttack => "HORN ATTACK",
Self::FuryAttack => "FURY ATTACK",
Self::HornDrill => "HORN DRILL",
Self::Tackle => "TACKLE",
Self::BodySlam => "BODY SLAM",
Self::Wrap => "WRAP",
Self::TakeDown => "TAKE DOWN",
Self::Thrash => "THRASH",
Self::DoubleEdge => "DOUBLE-EDGE",
Self::TailWhip => "TAIL WHIP",
Self::PoisonSting => "POISON STING",
Self::Twineedle => "TWINEEDLE",
Self::PinMissile => "PIN MISSILE",
Self::Leer => "LEER",
Self::Bite => "BITE",
Self::Growl => "GROWL",
Self::Roar => "ROAR",
Self::Sing => "SING",
Self::Supersonic => "SUPERSONIC",
Self::Sonicboom => "SONICBOOM",
Self::Disable => "DISABLE",
Self::Acid => "ACID",
Self::Ember => "EMBER",
Self::Flamethrower => "FLAMETHROWER",
Self::Mist => "MIST",
Self::WaterGun => "WATER GUN",
Self::HydroPump => "HYDRO PUMP",
Self::Surf => "SURF",
Self::IceBeam => "ICE BEAM",
Self::Blizzard => "BLIZZARD",
Self::Psybeam => "PSYBEAM",
Self::Bubblebeam => "BUBBLEBEAM",
Self::AuroraBeam => "AURORA BEAM",
Self::HyperBeam => "HYPER BEAM",
Self::Peck => "PECK",
Self::DrillPeck => "DRILL PECK",
Self::Submission => "SUBMISSION",
Self::LowKick => "LOW KICK",
Self::Counter => "COUNTER",
Self::SeismicToss => "SEISMIC TOSS",
Self::Strength => "STRENGTH",
Self::Absorb => "ABSORB",
Self::MegaDrain => "MEGA DRAIN",
Self::LeechSeed => "LEECH SEED",
Self::Growth => "GROWTH",
Self::RazorLeaf => "RAZOR LEAF",
Self::Solarbeam => "SOLARBEAM",
Self::Poisonpowder => "POISONPOWDER",
Self::StunSpore => "STUN SPORE",
Self::SleepPowder => "SLEEP POWDER",
Self::PetalDance => "PETAL DANCE",
Self::StringShot => "STRING SHOT",
Self::DragonRage => "DRAGON RAGE",
Self::FireSpin => "FIRE SPIN",
Self::Thundershock => "THUNDERSHOCK",
Self::Thunderbolt => "THUNDERBOLT",
Self::ThunderWave => "THUNDER WAVE",
Self::Thunder => "THUNDER",
Self::RockThrow => "ROCK THROW",
Self::Earthquake => "EARTHQUAKE",
Self::Fissure => "FISSURE",
Self::Dig => "DIG",
Self::Toxic => "TOXIC",
Self::Confusion => "CONFUSION",
Self::Psychic => "PSYCHIC",
Self::Hypnosis => "HYPNOSIS",
Self::Meditate => "MEDITATE",
Self::Agility => "AGILITY",
Self::QuickAttack => "QUICK ATTACK",
Self::Rage => "RAGE",
Self::Teleport => "TELEPORT",
Self::NightShade => "NIGHT SHADE",
Self::Mimic => "MIMIC",
Self::Screech => "SCREECH",
Self::DoubleTeam => "DOUBLE TEAM",
Self::Recover => "RECOVER",
Self::Harden => "HARDEN",
Self::Minimize => "MINIMIZE",
Self::Smokescreen => "SMOKESCREEN",
Self::ConfuseRay => "CONFUSE RAY",
Self::Withdraw => "WITHDRAW",
Self::DefenseCurl => "DEFENSE CURL",
Self::Barrier => "BARRIER",
Self::LightScreen => "LIGHT SCREEN",
Self::Haze => "HAZE",
Self::Reflect => "REFLECT",
Self::FocusEnergy => "FOCUS ENERGY",
Self::Bide => "BIDE",
Self::Metronome => "METRONOME",
Self::MirrorMove => "MIRROR MOVE",
Self::Selfdestruct => "SELFDESTRUCT",
Self::EggBomb => "EGG BOMB",
Self::Lick => "LICK",
Self::Smog => "SMOG",
Self::Sludge => "SLUDGE",
Self::BoneClub => "BONE CLUB",
Self::FireBlast => "FIRE BLAST",
Self::Waterfall => "WATERFALL",
Self::Clamp => "CLAMP",
Self::Swift => "SWIFT",
Self::SkullBash => "SKULL BASH",
Self::SpikeCannon => "SPIKE CANNON",
Self::Constrict => "CONSTRICT",
Self::Amnesia => "AMNESIA",
Self::Kinesis => "KINESIS",
Self::Softboiled => "SOFTBOILED",
Self::HiJumpKick => "HI JUMP KICK",
Self::Glare => "GLARE",
Self::DreamEater => "DREAM EATER",
Self::PoisonGas => "POISON GAS",
Self::Barrage => "BARRAGE",
Self::LeechLife => "LEECH LIFE",
Self::LovelyKiss => "LOVELY KISS",
Self::SkyAttack => "SKY ATTACK",
Self::Transform => "TRANSFORM",
Self::Bubble => "BUBBLE",
Self::DizzyPunch => "DIZZY PUNCH",
Self::Spore => "SPORE",
Self::Flash => "FLASH",
Self::Psywave => "PSYWAVE",
Self::Splash => "SPLASH",
Self::AcidArmor => "ACID ARMOR",
Self::Crabhammer => "CRABHAMMER",
Self::Explosion => "EXPLOSION",
Self::FurySwipes => "FURY SWIPES",
Self::Bonemerang => "BONEMERANG",
Self::Rest => "REST",
Self::RockSlide => "ROCK SLIDE",
Self::HyperFang => "HYPER FANG",
Self::Sharpen => "SHARPEN",
Self::Conversion => "CONVERSION",
Self::TriAttack => "TRI ATTACK",
Self::SuperFang => "SUPER FANG",
Self::Slash => "SLASH",
Self::Substitute => "SUBSTITUTE",
Self::Struggle => "STRUGGLE",
Self::Sketch => "SKETCH",
Self::TripleKick => "TRIPLE KICK",
Self::Thief => "THIEF",
Self::SpiderWeb => "SPIDER WEB",
Self::MindReader => "MIND READER",
Self::Nightmare => "NIGHTMARE",
Self::FlameWheel => "FLAME WHEEL",
Self::Snore => "SNORE",
Self::Curse => "CURSE",
Self::Flail => "FLAIL",
Self::Conversion2 => "CONVERSION2",
Self::Aeroblast => "AEROBLAST",
Self::CottonSpore => "COTTON SPORE",
Self::Reversal => "REVERSAL",
Self::Spite => "SPITE",
Self::PowderSnow => "POWDER SNOW",
Self::Protect => "PROTECT",
Self::MachPunch => "MACH PUNCH",
Self::ScaryFace => "SCARY FACE",
Self::FaintAttack => "FAINT ATTACK",
Self::SweetKiss => "SWEET KISS",
Self::BellyDrum => "BELLY DRUM",
Self::SludgeBomb => "SLUDGE BOMB",
Self::MudSlap => "MUD-SLAP",
Self::Octazooka => "OCTAZOOKA",
Self::Spikes => "SPIKES",
Self::ZapCannon => "ZAP CANNON",
Self::Foresight => "FORESIGHT",
Self::DestinyBond => "DESTINY BOND",
Self::PerishSong => "PERISH SONG",
Self::IcyWind => "ICY WIND",
Self::Detect => "DETECT",
Self::BoneRush => "BONE RUSH",
Self::LockOn => "LOCK-ON",
Self::Outrage => "OUTRAGE",
Self::Sandstorm => "SANDSTORM",
Self::GigaDrain => "GIGA DRAIN",
Self::Endure => "ENDURE",
Self::Charm => "CHARM",
Self::Rollout => "ROLLOUT",
Self::FalseSwipe => "FALSE SWIPE",
Self::Swagger => "SWAGGER",
Self::MilkDrink => "MILK DRINK",
Self::Spark => "SPARK",
Self::FuryCutter => "FURY CUTTER",
Self::SteelWing => "STEEL WING",
Self::MeanLook => "MEAN LOOK",
Self::Attract => "ATTRACT",
Self::SleepTalk => "SLEEP TALK",
Self::HealBell => "HEAL BELL",
Self::Return => "RETURN",
Self::Present => "PRESENT",
Self::Frustration => "FRUSTRATION",
Self::Safeguard => "SAFEGUARD",
Self::PainSplit => "PAIN SPLIT",
Self::SacredFire => "SACRED FIRE",
Self::Magnitude => "MAGNITUDE",
Self::Dynamicpunch => "DYNAMICPUNCH",
Self::Megahorn => "MEGAHORN",
Self::Dragonbreath => "DRAGONBREATH",
Self::BatonPass => "BATON PASS",
Self::Encore => "ENCORE",
Self::Pursuit => "PURSUIT",
Self::RapidSpin => "RAPID SPIN",
Self::SweetScent => "SWEET SCENT",
Self::IronTail => "IRON TAIL",
Self::MetalClaw => "METAL CLAW",
Self::VitalThrow => "VITAL THROW",
Self::MorningSun => "MORNING SUN",
Self::Synthesis => "SYNTHESIS",
Self::Moonlight => "MOONLIGHT",
Self::HiddenPower => "HIDDEN POWER",
Self::CrossChop => "CROSS CHOP",
Self::Twister => "TWISTER",
Self::RainDance => "RAIN DANCE",
Self::SunnyDay => "SUNNY DAY",
Self::Crunch => "CRUNCH",
Self::MirrorCoat => "MIRROR COAT",
Self::PsychUp => "PSYCH UP",
Self::Extremespeed => "EXTREMESPEED",
Self::Ancientpower => "ANCIENTPOWER",
Self::ShadowBall => "SHADOW BALL",
Self::FutureSight => "FUTURE SIGHT",
Self::RockSmash => "ROCK SMASH",
Self::Whirlpool => "WHIRLPOOL",
Self::BeatUp => "BEAT UP",
}
}
}