-- you do not need this lua script, though it will allow you to with mgba 0.10 to export your pokemon to the calc -- to use download this file on mgba select tools->scripting then file->open and open this file move = {"", "Pound", "Karate Chop", "Double Slap", "Comet Punch", "Mega Punch", "Pay Day", "Fire Punch", "Ice Punch", "Thunder Punch", "Scratch", "Vise Grip", "Guillotine", "Razor Wind", "Swords Dance", "Cut", "Gust", "Wing Attack", "Whirlwind", "Fly", "Bind", "Slam", "Vine Whip", "Stomp", "Double Kick", "Mega Kick", "Jump Kick", "Rolling Kick", "Sand Attack", "Headbutt", "Horn Attack", "Fury Attack", "Horn Drill", "Tackle", "Body Slam", "Wrap", "Take Down", "Thrash", "Double-Edge", "Tail Whip", "Poison Sting", "Twineedle", "Pin Missile", "Leer", "Bite", "Growl", "Roar", "Sing", "Supersonic", "Sonic Boom", "Disable", "Acid", "Ember", "Flamethrower", "Mist", "Water Gun", "Hydro Pump", "Surf", "Ice Beam", "Blizzard", "Psybeam", "Bubble Beam", "Aurora Beam", "Hyper Beam", "Peck", "Drill Peck", "Submission", "Low Kick", "Counter", "Seismic Toss", "Strength", "Absorb", "Mega Drain", "Leech Seed", "Growth", "Razor Leaf", "Solar Beam", "Poison Powder", "Stun Spore", "Sleep Powder", "Petal Dance", "String Shot", "Dragon Rage", "Fire Spin", "Thunder Shock", "Thunderbolt", "Thunder Wave", "Thunder", "Rock Throw", "Earthquake", "Fissure", "Dig", "Toxic", "Confusion", "Psychic", "Hypnosis", "Meditate", "Agility", "Quick Attack", "Rage", "Teleport", "Night Shade", "Mimic", "Screech", "Double Team", "Recover", "Harden", "Minimize", "Smokescreen", "Confuse Ray", "Withdraw", "Defense Curl", "Barrier", "Light Screen", "Haze", "Reflect", "Focus Energy", "Bide", "Metronome", "Mirror Move", "Self-Destruct", "Egg Bomb", "Lick", "Smog", "Sludge", "Bone Club", "Fire Blast", "Waterfall", "Clamp", "Swift", "Skull Bash", "Spike Cannon", "Constrict", "Amnesia", "Kinesis", "Soft Boiled", "High Jump Kick", "Glare", "Dream Eater", "Poison Gas", "Barrage", "Leech Life", "Lovely Kiss", "Sky Attack", "Transform", "Bubble", "Dizzy Punch", "Spore", "Flash", "Psywave", "Splash", "Acid Armor", "Crabhammer", "Explosion", "Fury Swipes", "Bonemerang", "Rest", "Rock Slide", "Hyper Fang", "Sharpen", "Conversion", "Tri Attack", "Super Fang", "Slash", "Substitute", "Struggle", "Sketch", "Triple Kick", "Thief", "Spider Web", "Mind Reader", "Nightmare", "Flame Wheel", "Snore", "Curse", "Flail", "Conversion 2", "Aeroblast", "Cotton Spore", "Reversal", "Spite", "Powder Snow", "Protect", "Mach Punch", "Scary Face", "Feint Attack", "Sweet Kiss", "Belly Drum", "Sludge Bomb", "Mud-Slap", "Octazooka", "Spikes", "Zap Cannon", "Foresight", "Destiny Bond", "Perish Song", "Icy Wind", "Detect", "Bone Rush", "Lock-On", "Outrage", "Sandstorm", "Giga Drain", "Endure", "Charm", "Rollout", "False Swipe", "Swagger", "Milk Drink", "Spark", "Fury Cutter", "Steel Wing", "Mean Look", "Attract", "Sleep Talk", "Heal Bell", "Return", "Present", "Frustration", "Safeguard", "Pain Split", "Sacred Fire", "Magnitude", "Dynamic Punch", "Megahorn", "Dragon Breath", "Baton Pass", "Encore", "Pursuit", "Rapid Spin", "Sweet Scent", "Iron Tail", "Metal Claw", "Vital Throw", "Morning Sun", "Synthesis", "Moonlight", "Hidden Power", "Cross Chop", "Twister", "Rain Dance", "Sunny Day", "Crunch", "Mirror Coat", "Psych Up", "Extreme Speed", "Ancient Power", "Shadow Ball", "Future Sight", "Rock Smash", "Whirlpool", "Beat Up", "Fake Out", "Uproar", "Stockpile", "Spit Up", "Swallow", "Heat Wave", "Hail", "Torment", "Flatter", "Will-O-Wisp", "Memento", "Facade", "Focus Punch", "Smelling Salts", "Follow Me", "Nature Power", "Charge", "Taunt", "Helping Hand", "Trick", "Role Play", "Wish", "Assist", "Ingrain", "Superpower", "Magic Coat", "Recycle", "Revenge", "Brick Break", "Yawn", "Knock Off", "Endeavor", "Eruption", "Skill Swap", "Imprison", "Refresh", "Grudge", "Snatch", "Secret Power", "Dive", "Arm Thrust", "Camouflage", "Tail Glow", "Luster Purge", "Mist Ball", "Feather Dance", "Teeter Dance", "Blaze Kick", "Mud Sport", "Ice Ball", "Needle Arm", "Slack Off", "Hyper Voice", "Poison Fang", "Crush Claw", "Blast Burn", "Hydro Cannon", "Meteor Mash", "Astonish", "Weather Ball", "Aromatherapy", "Fake Tears", "Air Cutter", "Overheat", "Odor Sleuth", "Rock Tomb", "Silver Wind", "Metal Sound", "Grass Whistle", "Tickle", "Cosmic Power", "Water Spout", "Signal Beam", "Shadow Punch", "Extrasensory", "Sky Uppercut", "Sand Tomb", "Sheer Cold", "Muddy Water", "Bullet Seed", "Aerial Ace", "Icicle Spear", "Iron Defense", "Block", "Howl", "Dragon Claw", "Frenzy Plant", "Bulk Up", "Bounce", "Mud Shot", "Poison Tail", "Covet", "Volt Tackle", "Magical Leaf", "Water Sport", "Calm Mind", "Leaf Blade", "Dragon Dance", "Rock Blast", "Shock Wave", "Water Pulse", "Doom Desire", "Psycho Boost", "Roost", "Gravity", "Miracle Eye", "Wake-Up Slap", "Hammer Arm", "Gyro Ball", "Healing Wish", "Brine", "Natural Gift", "Feint", "Pluck", "Tailwind", "Acupressure", "Metal Burst", "U-turn", "Close Combat", "Payback", "Assurance", "Embargo", "Fling", "Psycho Shift", "Trump Card", "Heal Block", "Wring Out", "Power Trick", "Gastro Acid", "Lucky Chant", "Me First", "Copycat", "Power Swap", "Guard Swap", "Punishment", "Last Resort", "Worry Seed", "Sucker Punch", "Toxic Spikes", "Heart Swap", "Aqua Ring", "Magnet Rise", "Flare Blitz", "Force Palm", "Aura Sphere", "Rock Polish", "Poison Jab", "Dark Pulse", "Night Slash", "Aqua Tail", "Seed Bomb", "Air Slash", "X-Scissor", "Bug Buzz", "Dragon Pulse", "Dragon Rush", "Power Gem", "Drain Punch", "Vacuum Wave", "Focus Blast", "Energy Ball", "Brave Bird", "Earth Power", "Switcheroo", "Giga Impact", "Nasty Plot", "Bullet Punch", "Avalanche", "Ice Shard", "Shadow Claw", "Thunder Fang", "Ice Fang", "Fire Fang", "Shadow Sneak", "Mud Bomb", "Psycho Cut", "Zen Headbutt", "Mirror Shot", "Flash Cannon", "Rock Climb", "Defog", "Trick Room", "Draco Meteor", "Discharge", "Lava Plume", "Leaf Storm", "Power Whip", "Rock Wrecker", "Cross Poison", "Gunk Shot", "Iron Head", "Magnet Bomb", "Stone Edge", "Captivate", "Stealth Rock", "Grass Knot", "Chatter", "Judgment", "Bug Bite", "Charge Beam", "Wood Hammer", "Aqua Jet", "Attack Order", "Defend Order", "Heal Order", "Head Smash", "Double Hit", "Roar of Time", "Spacial Rend", "Lunar Dance", "Crush Grip", "Magma Storm", "Dark Void", "Seed Flare", "Ominous Wind", "Shadow Force", "Hone Claws", "Wide Guard", "Guard Split", "Power Split", "Wonder Room", "Psyshock", "Venoshock", "Autotomize", "Rage Powder", "Telekinesis", "Magic Room", "Smack Down", "Storm Throw", "Flame Burst", "Sludge Wave", "Quiver Dance", "Heavy Slam", "Synchronoise", "Electro Ball", "Soak", "Flame Charge", "Coil", "Low Sweep", "Acid Spray", "Foul Play", "Simple Beam", "Entrainment", "After You", "Round", "Echoed Voice", "Chip Away", "Clear Smog", "Stored Power", "Quick Guard", "Ally Switch", "Scald", "Shell Smash", "Heal Pulse", "Hex", "Sky Drop", "Shift Gear", "Circle Throw", "Incinerate", "Quash", "Acrobatics", "Reflect Type", "Retaliate", "Final Gambit", "Bestow", "Inferno", "Water Pledge", "Fire Pledge", "Grass Pledge", "Volt Switch", "Struggle Bug", "Bulldoze", "Frost Breath", "Dragon Tail", "Work Up", "Electroweb", "Wild Charge", "Drill Run", "Dual Chop", "Heart Stamp", "Horn Leech", "Sacred Sword", "Razor Shell", "Heat Crash", "Leaf Tornado", "Steamroller", "Cotton Guard", "Night Daze", "Psystrike", "Tail Slap", "Hurricane", "Head Charge", "Gear Grind", "Searing Shot", "Techno Blast", "Relic Song", "Secret Sword", "Glaciate", "Bolt Strike", "Blue Flare", "Fiery Dance", "Freeze Shock", "Ice Burn", "Snarl", "Icicle Crash", "V-create", "Fusion Flare", "Fusion Bolt", "Flying Press", "Mat Block", "Belch", "Rototiller", "Sticky Web", "Fell Stinger", "Phantom Force", "Trick-or-Treat", "Noble Roar", "Ion Deluge", "Parabolic Charge", "Forest's Curse", "Petal Blizzard", "Freeze-Dry", "Disarming Voice", "Parting Shot", "Topsy-Turvy", "Draining Kiss", "Crafty Shield", "Flower Shield", "Grassy Terrain", "Misty Terrain", "Electrify", "Play Rough", "Fairy Wind", "Moonblast", "Boomburst", "Fairy Lock", "King's Shield", "Play Nice", "Confide", "Diamond Storm", "Steam Eruption", "Hyperspace Hole", "Water Shuriken", "Mystical Fire", "Spiky Shield", "Aromatic Mist", "Eerie Impulse", "Venom Drench", "Powder", "Geomancy", "Magnetic Flux", "Happy Hour", "Electric Terrain", "Dazzling Gleam", "Celebrate", "Hold Hands", "Baby-Doll Eyes", "Nuzzle", "Hold Back", "Infestation", "Power-Up Punch", "Oblivion Wing", "Thousand Arrows", "Thousand Waves", "Land's Wrath", "Light of Ruin", "Origin Pulse", "Precipice Blades", "Dragon Ascent", "Hyperspace Fury", "Shore Up", "First Impression", "Baneful Bunker", "Spirit Shackle", "Darkest Lariat", "Sparkling Aria", "Ice Hammer", "Floral Healing", "High Horsepower", "Strength Sap", "Solar Blade", "Leafage", "Spotlight", "Toxic Thread", "Laser Focus", "Gear Up", "Throat Chop", "Pollen Puff", "Anchor Shot", "Psychic Terrain", "Lunge", "Fire Lash", "Power Trip", "Burn Up", "Speed Swap", "Smart Strike", "Purify", "Revelation Dance", "Core Enforcer", "Trop Kick", "Instruct", "Beak Blast", "Clanging Scales", "Dragon Hammer", "Brutal Swing", "Aurora Veil", "Shell Trap", "Fleur Cannon", "Psychic Fangs", "Stomping Tantrum", "Shadow Bone", "Accelerock", "Liquidation", "Prismatic Laser", "Spectral Thief", "Sunsteel Strike", "Moongeist Beam", "Tearful Look", "Zing Zap", "Nature's Madness", "Multi-Attack", "Mind Blown", "Plasma Fists", "Photon Geyser", "Zippy Zap", "Splishy Splash", "Floaty Fall", "Pika Papow", "Bouncy Bubble", "Buzzy Buzz", "Sizzly Slide", "Glitzy Glow", "Baddy Bad", "Sappy Seed", "Freezy Frost", "Sparkly Swirl", "Veevee Volley", "Double Iron Bash", "Dynamax Cannon", "Snipe Shot", "Jaw Lock", "Stuff Cheeks", "No Retreat", "Tar Shot", "Magic Powder", "Dragon Darts", "Teatime", "Octolock", "Bolt Beak", "Fishious Rend", "Court Change", "Clangorous Soul", "Body Press", "Decorate", "Drum Beating", "Snap Trap", "Pyro Ball", "Behemoth Blade", "Behemoth Bash", "Aura Wheel", "Breaking Swipe", "Branch Poke", "Overdrive", "Apple Acid", "Grav Apple", "Spirit Break", "Strange Steam", "Life Dew", "Obstruct", "False Surrender", "Meteor Assault", "Eternabeam", "Steel Beam", "Expanding Force", "Steel Roller", "Scale Shot", "Meteor Beam", "Shell Side Arm", "Misty Explosion", "Grassy Glide", "Rising Voltage", "Terrain Pulse", "Skitter Smack", "Burning Jealousy", "Lash Out", "Poltergeist", "Corrosive Gas", "Coaching", "Flip Turn", "Triple Axel", "Dual Wingbeat", "Scorching Sands", "Jungle Healing", "Wicked Blow", "Surging Strikes", "Thunder Cage", "Dragon Energy", "Freezing Glare", "Fiery Wrath", "Thunderous Kick", "Glacial Lance", "Astral Barrage", "Eerie Spell", "Dire Claw", "Psyshield Bash", "Power Shift", "Stone Axe", "Springtide Storm", "Mystical Power", "Raging Fury", "Wave Crash", "Chloroblast", "Mountain Gale", "Victory Dance", "Headlong Rush", "Barb Barrage", "Esper Wing", "Bitter Malice", "Shelter", "Triple Arrows", "Infernal Parade", "Ceaseless Edge", "Bleakwind Storm", "Wildbolt Storm", "Sandsear Storm", "Lunar Blessing", "Take Heart", "Tera Blast", "Silk Trap", "Axe Kick", "Last Respects", "Lumina Crash", "Order Up", "Jet Punch", "Spicy Extract", "Spin Out", "Population Bomb", "Ice Spinner", "Glaive Rush", "Revival Blessing", "Salt Cure", "Triple Dive", "Mortal Spin", "Doodle", "Fillet Away", "Kowtow Cleave", "Flower Trick", "Torch Song", "Aqua Step", "Raging Bull", "Make It Rain", "Ruination", "Collision Course", "Electro Drift", "Shed Tail", "Chilly Reception", "Tidy Up", "Snowscape", "Pounce", "Trailblaze", "Chilling Water", "Hyper Drill", "Twin Beam", "Rage Fist", "Armor Cannon", "Bitter Blade", "Double Shock", "Gigaton Hammer", "Comeuppance", "Aqua Cutter", "Blazing Torque", "Wicked Torque", "Noxious Torque", "Combat Torque", "Magical Torque", "Psyblade", "Hydro Steam", "Blood Moon", "Matcha Gotcha", "Syrup Bomb", "Ivy Cudgel", "Electro Shot", "Tera Starstorm", "Fickle Beam", "Burning Bulwark", "Thunderclap", "Mighty Cleave", "Tachyon Cutter", "Hard Press", "Dragon Cheer", "Alluring Voice", "Temper Flare", "Supercell Slam", "Psychic Noise", "Upper Hand", "Malignant Chain" } mons = { "Bulbasaur", "Ivysaur", "Venusaur", "Charmander", "Charmeleon", "Charizard", "Squirtle", "Wartortle", "Blastoise", "Caterpie", "Metapod", "Butterfree", "Weedle", "Kakuna", "Beedrill", "Pidgey", "Pidgeotto", "Pidgeot", "Rattata", "Raticate", "Spearow", "Fearow", "Ekans", "Arbok", "Pikachu", "Raichu", "Sandshrew", "Sandslash", "Nidoran-F", "Nidorina", "Nidoqueen", "Nidoran-M", "Nidorino", "Nidoking", "Clefairy", "Clefable", "Vulpix", "Ninetales", "Jigglypuff", "Wigglytuff", "Zubat", "Golbat", "Oddish", "Gloom", "Vileplume", "Paras", "Parasect", "Venonat", "Venomoth", "Diglett", "Dugtrio", "Meowth", "Persian", "Psyduck", "Golduck", "Mankey", "Primeape", "Growlithe", "Arcanine", "Poliwag", "Poliwhirl", "Poliwrath", "Abra", "Kadabra", "Alakazam", "Machop", "Machoke", "Machamp", "Bellsprout", "Weepinbell", "Victreebel", "Tentacool", "Tentacruel", "Geodude", "Graveler", "Golem", "Ponyta", "Rapidash", "Slowpoke", "Slowbro", "Magnemite", "Magneton", "Farfetchd", "Doduo", "Dodrio", "Seel", "Dewgong", "Grimer", "Muk", "Shellder", "Cloyster", "Gastly", "Haunter", "Gengar", "Onix", "Drowzee", "Hypno", "Krabby", "Kingler", "Voltorb", "Electrode", "Exeggcute", "Exeggutor", "Cubone", "Marowak", "Hitmonlee", "Hitmonchan", "Lickitung", "Koffing", "Weezing", "Rhyhorn", "Rhydon", "Chansey", "Tangela", "Kangaskhan", "Horsea", "Seadra", "Goldeen", "Seaking", "Staryu", "Starmie", "Mr. Mime", "Scyther", "Jynx", "Electabuzz", "Magmar", "Pinsir", "Tauros", "Magikarp", "Gyarados", "Lapras", "Ditto", "Eevee", "Vaporeon", "Jolteon", "Flareon", "Porygon", "Omanyte", "Omastar", "Kabuto", "Kabutops", "Aerodactyl", "Snorlax", "Articuno", "Zapdos", "Moltres", "Dratini", "Dragonair", "Dragonite", "Mewtwo", "Mew", "Chikorita", "Bayleef", "Meganium", "Cyndaquil", "Quilava", "Typhlosion", "Totodile", "Croconaw", "Feraligatr", "Sentret", "Furret", "Hoothoot", "Noctowl", "Ledyba", "Ledian", "Spinarak", "Ariados", "Crobat", "Chinchou", "Lanturn", "Pichu", "Cleffa", "Igglybuff", "Togepi", "Togetic", "Natu", "Xatu", "Mareep", "Flaaffy", "Ampharos", "Bellossom", "Marill", "Azumarill", "Sudowoodo", "Politoed", "Hoppip", "Skiploom", "Jumpluff", "Aipom", "Sunkern", "Sunflora", "Yanma", "Wooper", "Quagsire", "Espeon", "Umbreon", "Murkrow", "Slowking", "Misdreavus", "Unown", "Wobbuffet", "Girafarig", "Pineco", "Forretress", "Dunsparce", "Gligar", "Steelix", "Snubbull", "Granbull", "Qwilfish", "Scizor", "Shuckle", "Heracross", "Sneasel", "Teddiursa", "Ursaring", "Slugma", "Magcargo", "Swinub", "Piloswine", "Corsola", "Remoraid", "Octillery", "Delibird", "Mantine", "Skarmory", "Houndour", "Houndoom", "Kingdra", "Phanpy", "Donphan", "Porygon2", "Stantler", "Smeargle", "Tyrogue", "Hitmontop", "Smoochum", "Elekid", "Magby", "Miltank", "Blissey", "Raikou", "Entei", "Suicune", "Larvitar", "Pupitar", "Tyranitar", "Lugia", "Ho-Oh", "Celebi", "Treecko", "Grovyle", "Sceptile", "Torchic", "Combusken", "Blaziken", "Mudkip", "Marshtomp", "Swampert", "Poochyena", "Mightyena", "Zigzagoon", "Linoone", "Wurmple", "Silcoon", "Beautifly", "Cascoon", "Dustox", "Lotad", "Lombre", "Ludicolo", "Seedot", "Nuzleaf", "Shiftry", "Taillow", "Swellow", "Wingull", "Pelipper", "Ralts", "Kirlia", "Gardevoir", "Surskit", "Masquerain", "Shroomish", "Breloom", "Slakoth", "Vigoroth", "Slaking", "Nincada", "Ninjask", "Shedinja", "Whismur", "Loudred", "Exploud", "Makuhita", "Hariyama", "Azurill", "Nosepass", "Skitty", "Delcatty", "Sableye", "Mawile", "Aron", "Lairon", "Aggron", "Meditite", "Medicham", "Electrike", "Manectric", "Plusle", "Minun", "Volbeat", "Illumise", "Roselia", "Gulpin", "Swalot", "Carvanha", "Sharpedo", "Wailmer", "Wailord", "Numel", "Camerupt", "Torkoal", "Spoink", "Grumpig", "Spinda", "Trapinch", "Vibrava", "Flygon", "Cacnea", "Cacturne", "Swablu", "Altaria", "Zangoose", "Seviper", "Lunatone", "Solrock", "Barboach", "Whiscash", "Corphish", "Crawdaunt", "Baltoy", "Claydol", "Lileep", "Cradily", "Anorith", "Armaldo", "Feebas", "Milotic", "Castform-Normal", "Kecleon", "Shuppet", "Banette", "Duskull", "Dusclops", "Tropius", "Chimecho", "Absol", "Wynaut", "Snorunt", "Glalie", "Spheal", "Sealeo", "Walrein", "Clamperl", "Huntail", "Gorebyss", "Relicanth", "Luvdisc", "Bagon", "Shelgon", "Salamence", "Beldum", "Metang", "Metagross", "Regirock", "Regice", "Registeel", "Latias", "Latios", "Kyogre", "Groudon", "Rayquaza", "Jirachi", "Deoxys-Normal", "Turtwig", "Grotle", "Torterra", "Chimchar", "Monferno", "Infernape", "Piplup", "Prinplup", "Empoleon", "Starly", "Staravia", "Staraptor", "Bidoof", "Bibarel", "Kricketot", "Kricketune", "Shinx", "Luxio", "Luxray", "Budew", "Roserade", "Cranidos", "Rampardos", "Shieldon", "Bastiodon", "Burmy-Plant-Cloak", "Wormadam-Plant-Cloak", "Mothim", "Combee", "Vespiquen", "Pachirisu", "Buizel", "Floatzel", "Cherubi", "Cherrim-Overcast", "Shellos", "Gastrodon", "Ambipom", "Drifloon", "Drifblim", "Buneary", "Lopunny", "Mismagius", "Honchkrow", "Glameow", "Purugly", "Chingling", "Stunky", "Skuntank", "Bronzor", "Bronzong", "Bonsly", "Mime Jr.", "Happiny", "Chatot", "Spiritomb", "Gible", "Gabite", "Garchomp", "Munchlax", "Riolu", "Lucario", "Hippopotas", "Hippowdon", "Skorupi", "Drapion", "Croagunk", "Toxicroak", "Carnivine", "Finneon", "Lumineon", "Mantyke", "Snover", "Abomasnow", "Weavile", "Magnezone", "Lickilicky", "Rhyperior", "Tangrowth", "Electivire", "Magmortar", "Togekiss", "Yanmega", "Leafeon", "Glaceon", "Gliscor", "Mamoswine", "Porygon-Z", "Gallade", "Probopass", "Dusknoir", "Froslass", "Rotom", "Uxie", "Mesprit", "Azelf", "Dialga", "Palkia", "Heatran", "Regigigas", "Giratina-Altered", "Cresselia", "Phione", "Manaphy", "Darkrai", "Shaymin-Land", "Arceus-Normal", "Victini", "Snivy", "Servine", "Serperior", "Tepig", "Pignite", "Emboar", "Oshawott", "Dewott", "Samurott", "Patrat", "Watchog", "Lillipup", "Herdier", "Stoutland", "Purrloin", "Liepard", "Pansage", "Simisage", "Pansear", "Simisear", "Panpour", "Simipour", "Munna", "Musharna", "Pidove", "Tranquill", "Unfezant", "Blitzle", "Zebstrika", "Roggenrola", "Boldore", "Gigalith", "Woobat", "Swoobat", "Drilbur", "Excadrill", "Audino", "Timburr", "Gurdurr", "Conkeldurr", "Tympole", "Palpitoad", "Seismitoad", "Throh", "Sawk", "Sewaddle", "Swadloon", "Leavanny", "Venipede", "Whirlipede", "Scolipede", "Cottonee", "Whimsicott", "Petilil", "Lilligant", "Basculin", "Sandile", "Krokorok", "Krookodile", "Darumaka", "Darmanitan-Standard-Mode", "Maractus", "Dwebble", "Crustle", "Scraggy", "Scrafty", "Sigilyph", "Yamask", "Cofagrigus", "Tirtouga", "Carracosta", "Archen", "Archeops", "Trubbish", "Garbodor", "Zorua", "Zoroark", "Minccino", "Cinccino", "Gothita", "Gothorita", "Gothitelle", "Solosis", "Duosion", "Reuniclus", "Ducklett", "Swanna", "Vanillite", "Vanillish", "Vanilluxe", "Deerling", "Sawsbuck", "Emolga", "Karrablast", "Escavalier", "Foongus", "Amoonguss", "Frillish", "Jellicent", "Alomomola", "Joltik", "Galvantula", "Ferroseed", "Ferrothorn", "Klink", "Klang", "Klinklang", "Tynamo", "Eelektrik", "Eelektross", "Elgyem", "Beheeyem", "Litwick", "Lampent", "Chandelure", "Axew", "Fraxure", "Haxorus", "Cubchoo", "Beartic", "Cryogonal", "Shelmet", "Accelgor", "Stunfisk", "Mienfoo", "Mienshao", "Druddigon", "Golett", "Golurk", "Pawniard", "Bisharp", "Bouffalant", "Rufflet", "Braviary", "Vullaby", "Mandibuzz", "Heatmor", "Durant", "Deino", "Zweilous", "Hydreigon", "Larvesta", "Volcarona", "Cobalion", "Terrakion", "Virizion", "Tornadus", "Thundurus", "Reshiram", "Zekrom", "Landorus", "Kyurem", "Keldeo-Ordinary", "Meloetta-Aria", "Genesect", "Chespin", "Quilladin", "Chesnaught", "Fennekin", "Braixen", "Delphox", "Froakie", "Frogadier", "Greninja", "Bunnelby", "Diggersby", "Fletchling", "Fletchinder", "Talonflame", "Scatterbug", "Spewpa", "Vivillon", "Litleo", "Pyroar", "Flabebe-Red-Flower", "Floette-Red-Flower", "Florges-Red-Flower", "Skiddo", "Gogoat", "Pancham", "Pangoro", "Furfrou-Natural", "Espurr", "Meowstic", "Honedge", "Doublade", "Aegislash-Shield", "Spritzee", "Aromatisse", "Swirlix", "Slurpuff", "Inkay", "Malamar", "Binacle", "Barbaracle", "Skrelp", "Dragalge", "Clauncher", "Clawitzer", "Helioptile", "Heliolisk", "Tyrunt", "Tyrantrum", "Amaura", "Aurorus", "Sylveon", "Hawlucha", "Dedenne", "Carbink", "Goomy", "Sliggoo", "Goodra", "Klefki", "Phantump", "Trevenant", "Pumpkaboo-Average", "Gourgeist-Average", "Bergmite", "Avalugg", "Noibat", "Noivern", "Xerneas-Neutral", "Yveltal", "Zygarde-50-Aura-Break", "Diancie", "Hoopa-Confined", "Volcanion", "Rowlet", "Dartrix", "Decidueye", "Litten", "Torracat", "Incineroar", "Popplio", "Brionne", "Primarina", "Pikipek", "Trumbeak", "Toucannon", "Yungoos", "Gumshoos", "Grubbin", "Charjabug", "Vikavolt", "Crabrawler", "Crabominable", "Oricorio-Baile", "Cutiefly", "Ribombee", "Rockruff", "Lycanroc", "Wishiwashi", "Mareanie", "Toxapex", "Mudbray", "Mudsdale", "Dewpider", "Araquanid", "Fomantis", "Lurantis", "Morelull", "Shiinotic", "Salandit", "Salazzle", "Stufful", "Bewear", "Bounsweet", "Steenee", "Tsareena", "Comfey", "Oranguru", "Passimian", "Wimpod", "Golisopod", "Sandygast", "Palossand", "Pyukumuku", "Type-Null", "Silvally-Normal", "Minior-Meteor-Red", "Komala", "Turtonator", "Togedemaru", "Mimikyu-Disguised", "Bruxish", "Drampa", "Dhelmise", "Jangmo-o", "Hakamo-o", "Kommo-o", "Tapu Koko", "Tapu Lele", "Tapu Bulu", "Tapu Fini", "Cosmog", "Cosmoem", "Solgaleo", "Lunala", "Nihilego", "Buzzwole", "Pheromosa", "Xurkitree", "Celesteela", "Kartana", "Guzzlord", "Necrozma", "Magearna", "Marshadow", "Poipole", "Naganadel", "Stakataka", "Blacephalon", "Zeraora", "Meltan", "Melmetal", "Grookey", "Thwackey", "Rillaboom", "Scorbunny", "Raboot", "Cinderace", "Sobble", "Drizzile", "Inteleon", "Skwovet", "Greedent", "Rookidee", "Corvisquire", "Corviknight", "Blipbug", "Dottler", "Orbeetle", "Nickit", "Thievul", "Gossifleur", "Eldegoss", "Wooloo", "Dubwool", "Chewtle", "Drednaw", "Yamper", "Boltund", "Rolycoly", "Carkol", "Coalossal", "Applin", "Flapple", "Appletun", "Silicobra", "Sandaconda", "Cramorant", "Arrokuda", "Barraskewda", "Toxel", "Toxtricity", "Sizzlipede", "Centiskorch", "Clobbopus", "Grapploct", "Sinistea-Phony", "Polteageist-Phony", "Hatenna", "Hattrem", "Hatterene", "Impidimp", "Morgrem", "Grimmsnarl", "Obstagoon", "Perrserker", "Cursola", "Sirfetch’d", "Mr. Rime", "Runerigus", "Milcery", "Alcremie-Strawberry-Vanilla-Cream", "Falinks", "Pincurchin", "Snom", "Frosmoth", "Stonjourner", "Eiscue-Ice-Face", "Indeedee-Male", "Morpeko-Full-Belly", "Cufant", "Copperajah", "Dracozolt", "Arctozolt", "Dracovish", "Arctovish", "Duraludon", "Dreepy", "Drakloak", "Dragapult", "Zacian-Hero-Of-Many-Battles", "Zamazenta-Hero-Of-Many-Battles", "Eternatus", "Kubfu", "Urshifu-Single-Strike-Style", "Zarude", "Regieleki", "Regidrago", "Glastrier", "Spectrier", "Calyrex", "Wyrdeer", "Kleavor", "Ursaluna", "Basculegion", "Sneasler", "Overqwil", "Enamorus", "Venusaur-Mega", "Charizard-Mega-X", "Charizard-Mega-Y", "Blastoise-Mega", "Beedrill-Mega", "Pidgeot-Mega", "Alakazam-Mega", "Slowbro-Mega", "Gengar-Mega", "Kangaskhan-Mega", "Pinsir-Mega", "Gyarados-Mega", "Aerodactyl-Mega", "Mewtwo-Mega-X", "Mewtwo-Mega-Y", "Ampharos-Mega", "Steelix-Mega", "Scizor-Mega", "Heracross-Mega", "Houndoom-Mega", "Tyranitar-Mega", "Sceptile-Mega", "Blaziken-Mega", "Swampert-Mega", "Gardevoir-Mega", "Sableye-Mega", "Mawile-Mega", "Aggron-Mega", "Medicham-Mega", "Manectric-Mega", "Sharpedo-Mega", "Camerupt-Mega", "Altaria-Mega", "Banette-Mega", "Absol-Mega", "Glalie-Mega", "Salamence-Mega", "Metagross-Mega", "Latias-Mega", "Latios-Mega", "Lopunny-Mega", "Garchomp-Mega", "Lucario-Mega", "Abomasnow-Mega", "Gallade-Mega", "Audino-Mega", "Diancie-Mega", "Rayquaza-Mega", "Kyogre-Primal", "Groudon-Primal", "Rattata-Alola", "Raticate-Alola", "Raichu-Alola", "Sandshrew-Alola", "Sandslash-Alola", "Vulpix-Alola", "Ninetales-Alola", "Diglett-Alola", "Dugtrio-Alola", "Meowth-Alola", "Persian-Alola", "Geodude-Alola", "Graveler-Alola", "Golem-Alola", "Grimer-Alola", "Muk-Alola", "Exeggutor-Alola", "Marowak-Alola", "Meowth-Galar", "Ponyta-Galar", "Rapidash-Galar", "Slowpoke-Galar", "Slowbro-Galar", "Farfetchd-Galar", "Weezing-Galar", "Mr. Mime-Galar", "Articuno-Galar", "Zapdos-Galar", "Moltres-Galar", "Slowking-Galar", "Corsola-Galar", "Zigzagoon-Galar", "Linoone-Galar", "Darumaka-Galar", "Darmanitan-Galar-Standard-Mode", "Yamask-Galar", "Stunfisk-Galar", "Growlithe-Hisui", "Arcanine-Hisui", "Voltorb-Hisui", "Electrode-Hisui", "Typhlosion-Hisui", "Qwilfish-Hisui", "Sneasel-Hisui", "Samurott-Hisui", "Lilligant-Hisui", "Zorua-Hisui", "Zoroark-Hisui", "Braviary-Hisui", "Sliggoo-Hisui", "Goodra-Hisui", "Avalugg-Hisui", "Decidueye-Hisui", "Pikachu-Cosplay", "Pikachu-Rock-Star", "Pikachu-Belle", "Pikachu-Pop-Star", "Pikachu-Ph-D", "Pikachu-Libre", "Pikachu-Original-Cap", "Pikachu-Hoenn-Cap", "Pikachu-Sinnoh-Cap", "Pikachu-Unova-Cap", "Pikachu-Kalos-Cap", "Pikachu-Alola-Cap", "Pikachu-Partner-Cap", "Pikachu-World-Cap", "Pichu-Spiky-Eared", "Unown-B", "Unown-C", "Unown-D", "Unown-E", "Unown-F", "Unown-G", "Unown-H", "Unown-I", "Unown-J", "Unown-K", "Unown-L", "Unown-M", "Unown-N", "Unown-O", "Unown-P", "Unown-Q", "Unown-R", "Unown-S", "Unown-T", "Unown-U", "Unown-V", "Unown-W", "Unown-X", "Unown-Y", "Unown-Z", "Unown-Emark", "Unown-Qmark", "Castform-Sunny", "Castform-Rainy", "Castform-Snowy", "Deoxys-Attack", "Deoxys-Defense", "Deoxys-Speed", "Burmy-Sandy-Cloak", "Burmy-Trash-Cloak", "Wormadam-Sandy-Cloak", "Wormadam-Trash-Cloak", "Cherrim-Sunshine", "Shellos", "Gastrodon", "Rotom-Heat", "Rotom-Wash", "Rotom-Frost", "Rotom-Fan", "Rotom-Mow", "Dialga-Origin", "Palkia-Origin", "Giratina-Origin", "Shaymin-Sky", "Arceus-Fighting", "Arceus-Flying", "Arceus-Poison", "Arceus-Ground", "Arceus-Rock", "Arceus-Bug", "Arceus-Ghost", "Arceus-Steel", "Arceus-Fire", "Arceus-Water", "Arceus-Grass", "Arceus-Electric", "Arceus-Psychic", "Arceus-Ice", "Arceus-Dragon", "Arceus-Dark", "Arceus-Fairy", "Basculin-Blue-Striped", "Basculin-White-Striped", "Darmanitan-Zen-Mode", "Darmanitan-Galar-Zen-Mode", "Deerling-Summer", "Deerling-Autumn", "Deerling-Winter", "Sawsbuck-Summer", "Sawsbuck-Autumn", "Sawsbuck-Winter", "Tornadus-Therian", "Thundurus-Therian", "Landorus-Therian", "Enamorus-Therian", "Kyurem-White", "Kyurem-Black", "Keldeo-Resolute", "Meloetta-Pirouette", "Genesect-Douse-Drive", "Genesect-Shock-Drive", "Genesect-Burn-Drive", "Genesect-Chill-Drive", "Greninja-Battle-Bond", "Greninja-Ash", "Vivillon", "Vivillon", "Vivillon", "Vivillon", "Vivillon", "Vivillon", "Vivillon", "Vivillon", "Vivillon", "Vivillon", "Vivillon", "Vivillon", "Vivillon", "Vivillon", "Vivillon", "Vivillon", "Vivillon", "Vivillon", "Vivillon", "Flabebe-Yellow-Flower", "Flabebe-Orange-Flower", "Flabebe-Blue-Flower", "Flabebe-White-Flower", "Floette-Yellow-Flower", "Floette-Orange-Flower", "Floette-Blue-Flower", "Floette-White-Flower", "Floette-Eternal-Flower", "Florges-Yellow-Flower", "Florges-Orange-Flower", "Florges-Blue-Flower", "Florges-White-Flower", "Furfrou-Heart-Trim", "Furfrou-Star-Trim", "Furfrou-Diamond-Trim", "Furfrou-Debutante-Trim", "Furfrou-Matron-Trim", "Furfrou-Dandy-Trim", "Furfrou-La-Reine-Trim", "Furfrou-Kabuki-Trim", "Furfrou-Pharaoh-Trim", "Meowstic-F", "Aegislash-Blade", "Pumpkaboo-Small", "Pumpkaboo-Large", "Pumpkaboo-Super", "Gourgeist-Small", "Gourgeist-Large", "Gourgeist-Super", "Xerneas-Active", "Zygarde-10-Aura-Break", "Zygarde-10-Power-Construct", "Zygarde-50-Power-Construct", "Zygarde-Complete", "Hoopa-Unbound", "Oricorio-Pom-Pom", "Oricorio-Pau", "Oricorio-Sensu", "Rockruff-Own-Tempo", "Lycanroc-Midnight", "Lycanroc-Dusk", "Wishiwashi-School", "Silvally-Fighting", "Silvally-Flying", "Silvally-Poison", "Silvally-Ground", "Silvally-Rock", "Silvally-Bug", "Silvally-Ghost", "Silvally-Steel", "Silvally-Fire", "Silvally-Water", "Silvally-Grass", "Silvally-Electric", "Silvally-Psychic", "Silvally-Ice", "Silvally-Dragon", "Silvally-Dark", "Silvally-Fairy", "Minior-Meteor-Orange", "Minior-Meteor-Yellow", "Minior-Meteor-Green", "Minior-Meteor-Blue", "Minior-Meteor-Indigo", "Minior-Meteor-Violet", "Minior-Core-Red", "Minior-Core-Orange", "Minior-Core-Yellow", "Minior-Core-Green", "Minior-Core-Blue", "Minior-Core-Indigo", "Minior-Core-Violet", "Mimikyu-Busted", "Necrozma-Dusk-Mane", "Necrozma-Dawn-Wings", "Necrozma-Ultra", "Magearna-Original-Color", "Cramorant-Gulping", "Cramorant-Gorging", "Toxtricity", "Sinistea-Antique", "Polteageist-Antique", "Alcremie-Strawberry-Ruby-Cream", "Alcremie-Strawberry-Matcha-Cream", "Alcremie-Strawberry-Mint-Cream", "Alcremie-Strawberry-Lemon-Cream", "Alcremie-Strawberry-Salted-Cream", "Alcremie-Strawberry-Ruby-Swirl", "Alcremie-Strawberry-Caramel-Swirl", "Alcremie-Strawberry-Rainbow-Swirl", "Eiscue-Noice-Face", "Indeedee-Female", "Morpeko-Hangry", "Zacian-Crowned-Sword", "Zamazenta-Crowned-Shield", "Eternatus-Eternamax", "Urshifu-Rapid-Strike-Style", "Zarude-Dada", "Calyrex-Ice-Rider", "Calyrex-Shadow-Rider", "Basculegion-F", "Alcremie-Berry-Vanilla-Cream", "Alcremie-Berry-Ruby-Cream", "Alcremie-Berry-Matcha-Cream", "Alcremie-Berry-Mint-Cream", "Alcremie-Berry-Lemon-Cream", "Alcremie-Berry-Salted-Cream", "Alcremie-Berry-Ruby-Swirl", "Alcremie-Berry-Caramel-Swirl", "Alcremie-Berry-Rainbow-Swirl", "Alcremie-Love-Vanilla-Cream", "Alcremie-Love-Ruby-Cream", "Alcremie-Love-Matcha-Cream", "Alcremie-Love-Mint-Cream", "Alcremie-Love-Lemon-Cream", "Alcremie-Love-Salted-Cream", "Alcremie-Love-Ruby-Swirl", "Alcremie-Love-Caramel-Swirl", "Alcremie-Love-Rainbow-Swirl", "Alcremie-Star-Vanilla-Cream", "Alcremie-Star-Ruby-Cream", "Alcremie-Star-Matcha-Cream", "Alcremie-Star-Mint-Cream", "Alcremie-Star-Lemon-Cream", "Alcremie-Star-Salted-Cream", "Alcremie-Star-Ruby-Swirl", "Alcremie-Star-Caramel-Swirl", "Alcremie-Star-Rainbow-Swirl", "Alcremie-Clover-Vanilla-Cream", "Alcremie-Clover-Ruby-Cream", "Alcremie-Clover-Matcha-Cream", "Alcremie-Clover-Mint-Cream", "Alcremie-Clover-Lemon-Cream", "Alcremie-Clover-Salted-Cream", "Alcremie-Clover-Ruby-Swirl", "Alcremie-Clover-Caramel-Swirl", "Alcremie-Clover-Rainbow-Swirl", "Alcremie-Flower-Vanilla-Cream", "Alcremie-Flower-Ruby-Cream", "Alcremie-Flower-Matcha-Cream", "Alcremie-Flower-Mint-Cream", "Alcremie-Flower-Lemon-Cream", "Alcremie-Flower-Salted-Cream", "Alcremie-Flower-Ruby-Swirl", "Alcremie-Flower-Caramel-Swirl", "Alcremie-Flower-Rainbow-Swirl", "Alcremie-Ribbon-Vanilla-Cream", "Alcremie-Ribbon-Ruby-Cream", "Alcremie-Ribbon-Matcha-Cream", "Alcremie-Ribbon-Mint-Cream", "Alcremie-Ribbon-Lemon-Cream", "Alcremie-Ribbon-Salted-Cream", "Alcremie-Ribbon-Ruby-Swirl", "Alcremie-Ribbon-Caramel-Swirl", "Alcremie-Ribbon-Rainbow-Swirl", "Sprigatito", "Floragato", "Meowscarada", "Fuecoco", "Crocalor", "Skeledirge", "Quaxly", "Quaxwell", "Quaquaval", "Lechonk", "Oinkologne", "Oinkologne-F", "Tarountula", "Spidops", "Nymble", "Lokix", "Pawmi", "Pawmo", "Pawmot", "Tandemaus", "Maushold-Family-Of-Three", "Maushold-Family-Of-Four", "Fidough", "Dachsbun", "Smoliv", "Dolliv", "Arboliva", "Squawkabilly-Green-Plumage", "Squawkabilly-Blue-Plumage", "Squawkabilly-Yellow-Plumage", "Squawkabilly-White-Plumage", "Nacli", "Naclstack", "Garganacl", "Charcadet", "Armarouge", "Ceruledge", "Tadbulb", "Bellibolt", "Wattrel", "Kilowattrel", "Maschiff", "Mabosstiff", "Shroodle", "Grafaiai", "Bramblin", "Brambleghast", "Toedscool", "Toedscruel", "Klawf", "Capsakid", "Scovillain", "Rellor", "Rabsca", "Flittle", "Espathra", "Tinkatink", "Tinkatuff", "Tinkaton", "Wiglett", "Wugtrio", "Bombirdier", "Finizen", "Palafin-Zero", "Palafin-Hero", "Varoom", "Revavroom", "Cyclizar", "Orthworm", "Glimmet", "Glimmora", "Greavard", "Houndstone", "Flamigo", "Cetoddle", "Cetitan", "Veluza", "Dondozo", "Tatsugiri", "Tatsugiri", "Tatsugiri", "Annihilape", "Clodsire", "Farigiraf", "Dudunsparce", "Dudunsparce", "Kingambit", "Great Tusk", "Scream Tail", "Brute Bonnet", "Flutter Mane", "Slither Wing", "Sandy Shocks", "Iron Treads", "Iron Bundle", "Iron Hands", "Iron Jugulis", "Iron Moth", "Iron Thorns", "Frigibax", "Arctibax", "Baxcalibur", "Gimmighoul-Chest", "Gimmighoul-Roaming", "Gholdengo", "Wo-Chien", "Chien-Pao", "Ting-Lu", "Chi-Yu", "Roaring Moon", "Iron Valiant", "Koraidon", "Miraidon", "Tauros-Paldea-Combat", "Tauros-Paldea-Blaze", "Tauros-Paldea-Aqua", "Wooper-Paldea", "Walking Wake", "Iron Leaves", "Dipplin", "Poltchageist", "Poltchageist", "Sinistcha", "Sinistcha", "Okidogi", "Munkidori", "Fezandipiti", "Ogerpon", "Ogerpon-Wellspring", "Ogerpon-Hearthflame", "Ogerpon-Cornerstone", "Ogerpon-Teal-Mask-Tera", "Ogerpon-Wellspring-Mask-Tera", "Ogerpon-Hearthflame-Mask-Tera", "Ogerpon-Cornerstone-Mask-Tera", "Ursaluna-Bloodmoon", "Archaludon", "Hydrapple", "Gouging Fire", "Raging Bolt", "Iron Boulder", "Iron Crown", "Terapagos-Normal", "Terapagos-Terastal", "Terapagos-Stellar", "Pecharunt" } abilities = { "Stench", "Drizzle", "Speed Boost", "Battle Armor", "Sturdy", "Damp", "Limber", "Sand Veil", "Static", "Volt Absorb", "Water Absorb", "Oblivious", "Cloud Nine", "Compound Eyes", "Insomnia", "Color Change", "Immunity", "Flash Fire", "Shield Dust", "Own Tempo", "Suction Cups", "Intimidate", "Shadow Tag", "Rough Skin", "Wonder Guard", "Levitate", "Effect Spore", "Synchronize", "Clear Body", "Natural Cure", "Lightning Rod", "Serene Grace", "Swift Swim", "Chlorophyll", "Illuminate", "Trace", "Huge Power", "Poison Point", "Inner Focus", "Magma Armor", "Water Veil", "Magnet Pull", "Soundproof", "Rain Dish", "Sand Stream", "Pressure", "Thick Fat", "Early Bird", "Flame Body", "Run Away", "Keen Eye", "Hyper Cutter", "Pickup", "Truant", "Hustle", "Cute Charm", "Plus", "Minus", "Forecast", "Sticky Hold", "Shed Skin", "Guts", "Marvel Scale", "Liquid Ooze", "Overgrow", "Blaze", "Torrent", "Swarm", "Rock Head", "Drought", "Arena Trap", "Vital Spirit", "White Smoke", "Pure Power", "Shell Armor", "Air Lock", "Tangled Feet", "Motor Drive", "Rivalry", "Steadfast", "Snow Cloak", "Gluttony", "Anger Point", "Unburden", "Heatproof", "Simple", "Dry Skin", "Download", "Iron Fist", "Poison Heal", "Adaptability", "Skill Link", "Hydration", "Solar Power", "Quick Feet", "Normalize", "Sniper", "Magic Guard", "No Guard", "Stall", "Technician", "Leaf Guard", "Klutz", "Mold Breaker", "Super Luck", "Aftermath", "Anticipation", "Forewarn", "Unaware", "Tinted Lens", "Filter", "Slow Start", "Scrappy", "Storm Drain", "Ice Body", "Solid Rock", "Snow Warning", "Honey Gather", "Frisk", "Reckless", "Multitype", "Flower Gift", "Bad Dreams", "Pickpocket", "Sheer Force", "Contrary", "Unnerve", "Defiant", "Defeatist", "Cursed Body", "Healer", "Friend Guard", "Weak Armor", "Heavy Metal", "Light Metal", "Multiscale", "Toxic Boost", "Flare Boost", "Harvest", "Telepathy", "Moody", "Overcoat", "Poison Touch", "Regenerator", "Big Pecks", "Sand Rush", "Wonder Skin", "Analytic", "Illusion", "Imposter", "Infiltrator", "Mummy", "Moxie", "Justified", "Rattled", "Magic Bounce", "Sap Sipper", "Prankster", "Sand Force", "Iron Barbs", "Zen Mode", "Victory Star", "Turboblaze", "Teravolt", "Aroma Veil", "Flower Veil", "Cheek Pouch", "Protean", "Fur Coat", "Magician", "Bulletproof", "Competitive", "Strong Jaw", "Refrigerate", "Sweet Veil", "Stance Change", "Gale Wings", "Mega Launcher", "Grass Pelt", "Symbiosis", "Tough Claws", "Pixilate", "Gooey", "Aerilate", "Parental Bond", "Dark Aura", "Fairy Aura", "Aura Break", "Primordial Sea", "Desolate Land", "Delta Stream", "Stamina", "Wimp Out", "Emergency Exit", "Water Compaction", "Merciless", "Shields Down", "Stakeout", "Water Bubble", "Steelworker", "Berserk", "Slush Rush", "Long Reach", "Liquid Voice", "Triage", "Galvanize", "Surge Surfer", "Schooling", "Disguise", "Battle Bond", "Power Construct", "Corrosion", "Comatose", "Queenly Majesty", "Innards Out", "Dancer", "Battery", "Fluffy", "Dazzling", "Soul Heart", "Tangling Hair", "Receiver", "Power Of Alchemy", "Beast Boost", "Rks System", "Electric Surge", "Psychic Surge", "Misty Surge", "Grassy Surge", "Full Metal Body", "Shadow Shield", "Prism Armor", "Neuroforce", "Intrepid Sword", "Dauntless Shield", "Libero", "Ball Fetch", "Cotton Down", "Propeller Tail", "Mirror Armor", "Gulp Missile", "Stalwart", "Steam Engine", "Punk Rock", "Sand Spit", "Ice Scales", "Ripen", "Ice Face", "Power Spot", "Mimicry", "Screen Cleaner", "Steely Spirit", "Perish Body", "Wandering Spirit", "Gorilla Tactics", "Neutralizing Gas", "Pastel Veil", "Hunger Switch", "Quick Draw", "Unseen Fist", "Curious Medicine", "Transistor", "Dragons Maw", "Chilling Neigh", "Grim Neigh", "As One (Glastrier)", "As One (Spectrier)", "Lingering Aroma", "Seed Sower", "Thermal Exchange", "Anger Shell", "Purifying Salt", "Well Baked Body", "Wind Rider", "Guard Dog", "Rocky Payload", "Wind Power", "Zero To Hero", "Commander", "Electromorphosis", "Protosynthesis", "Quark Drive", "Good As Gold", "Vessel Of Ruin", "Sword Of Ruin", "Tablets Of Ruin", "Beads Of Ruin", "Orichalcum Pulse", "Hadron Engine", "Opportunist", "Cud Chew", "Sharpness", "Supreme Overlord", "Costar", "Toxic Debris", "Armor Tail", "Earth Eater", "Mycelium Might", "Hospitality", "Mind's Eye", "Embody Aspect (Teal)", "Embody Aspect (Hearthflame)", "Embody Aspect (Wellspring)", "Embody Aspect (Cornerstone)", "Toxic Chain", "Supersweet Syrup", "Tera Shift", "Tera Shell", "Teraform Zero", "Poison Puppeteer", "Mystic Charm", "Leaf Rush", "Fiery Charge", "Ethereal Echo", "Striker", "Acid Coat", "Eclipsate", "Verdant Guard", "Chatting", "Lethal Venom", "Ultra Boost", "Hypnotic Lag", } nature = {"Hardy","Lonely","Brave","Adamant","Naughty", "Bold","Docile","Relaxed","Impish","Lax", "Timid","Hasty","Serious","Jolly","Naive", "Modest","Mild","Quiet","Bashful","Rash", "Calm","Gentle","Sassy","Careful","Quirky"} charmap = { [0]= " ", "À", "Á", "Â", "Ç", "È", "É", "Ê", "Ë", "ÃŒ", "こ", "ÃŽ", "Ï", "Ã’", "Ó", "Ô", "Å’", "Ù", "Ú", "Û", "Ñ", "ß", "à ", "á", "ね", "ç", "è", "é", "ê", "ë", "ì", "ま", "î", "ï", "ò", "ó", "ô", "Å“", "ù", "ú", "û", "ñ", "º", "ª", "�", "&", "+", "あ", "ぃ", "ぅ", "ぇ", "ぉ", "v", "=", "ょ", "が", "ぎ", "ぐ", "げ", "ご", "ざ", "じ", "ず", "ぜ", "ぞ", "だ", "ぢ", "づ", "で", "ど", "ば", "び", "ぶ", "べ", "ぼ", "ぱ", "ぴ", "ぷ", "ぺ", "ぽ", "っ", "¿", "¡", "P\u{200d}k", "M\u{200d}n", "P\u{200d}o", "K\u{200d}é", "�", "�", "�", "Í", "%", "(", ")", "ã‚»", "ソ", "ã‚¿", "チ", "ツ", "テ", "ト", "ナ", "ニ", "ヌ", "â", "ノ", "ハ", "ヒ", "フ", "ヘ", "ホ", "í", "ミ", "ム", "メ", "モ", "ヤ", "ユ", "ヨ", "ラ", "リ", "⬆", "⬇", "⬅", "âž¡", "ヲ", "ン", "ã‚¡", "ã‚£", "ã‚¥", "ã‚§", "ã‚©", "ャ", "ュ", "ョ", "ガ", "ã‚®", "ã‚°", "ゲ", "ã‚´", "ã‚¶", "ジ", "ズ", "ゼ", "ゾ", "ダ", "ヂ", "ヅ", "デ", "ド", "バ", "ビ", "ブ", "ベ", "ボ", "パ", "ピ", "プ", "ペ", "ポ", "ッ", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "!", "?", ".", "-", "・", "…", "“", "”", "‘", "’", "♂", "♀", "$", ",", "×", "/", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "â–¶", ":", "Ä", "Ö", "Ü", "ä", "ö", "ü", "⬆", "⬇", "⬅", "�", "�", "�", "�", "�", "" } levelCap = 0 -- Sets the level for all mons based on first party slot local terminator=0xFF local monNameLength=10 local playerNameLength=10 local boxMonSize=80 local partyMonSize=100 local speciesStructSize=256 local partyCount=0x0203611d -- gPlayerPartyCount local partyloc=0x02036120 -- gPlayerParty local speciesInfo=0x08da8d28 -- gSpeciesInfo local storageLoc=0x0201066c -- gPokemonStorage function getCurve(n) return emu:read8(speciesInfo+(speciesStructSize*n)+21) end function slowCurve(n) return math.floor((5*(n^3))/4) end function fastCurve(n) return math.floor((4*(n^3))/5) end function medfastCurve(n) return n^3 end function medslowCurve(n) return math.floor((6 * (n)^3) / 5) - (15 * (n)^2) + (100 * n) - 140 end function erraticCurve(n) if (n<=50) then return math.floor(((100 - n)*n^3)/50) end if (n<=68) then return math.floor(((150 - n)*n^3)/100) end if (n<=98) then return math.floor(math.floor((1911 - 10 * n) / 3) * n^3 / 500) end return math.floor((160 - n) * n^3 / 100) end function flutuatingCurve(n) if (n<15) then return math.floor((math.floor((n + 1) / 3) + 24) * n^3 / 50) end if (n<=36) then return math.floor((n + 14) * n^3 / 50) end return math.floor((math.floor(n / 2) + 32) * n^3 / 50) end function calcLevel(exp, species) level = 1 while (exp>=expRequired(species, level+1)) do level=level+1 end return level end function expRequired(species, level) expCurve = getCurve(species) if (expCurve == 0) then return medfastCurve(level) end if (expCurve == 1) then return erraticCurve(level) end if (expCurve == 2) then return flutuatingCurve(level) end if (expCurve == 3) then return medslowCurve(level) end if (expCurve == 4) then return fastCurve(level) end if (expCurve == 5) then return slowCurve(level) end end function getParty() local party = {} local monStart = partyloc for i = 1, emu:read8(partyCount) do party[i] = readPartyMon(monStart) monStart = monStart + partyMonSize end return party end function toString(rawstring) local string = "" for _, char in ipairs({rawstring:byte(1, #rawstring)}) do if char == terminator then break end string = string..charmap[char] end return string end function _read16BE(emu, address) return (emu:read8(address) << 8) | emu:read8(address + 1) end function readBoxMon(address) local mon = {} mon.personality = emu:read32(address + 0) mon.otId = emu:read32(address + 4) mon.nickname = toString(emu:readRange(address + 8, monNameLength)) mon.language = emu:read8(address + 18) local flags = emu:read8(address + 19) mon.isBadEgg = flags & 1 mon.hasSpecies = (flags >> 1) & 1 mon.isEgg = (flags >> 2) & 1 mon.otName = toString(emu:readRange(address + 20, playerNameLength)) mon.markings = emu:read8(address + 27) local key = mon.otId ~ mon.personality local substructSelector = { [ 0] = {0, 1, 2, 3}, [ 1] = {0, 1, 3, 2}, [ 2] = {0, 2, 1, 3}, [ 3] = {0, 3, 1, 2}, [ 4] = {0, 2, 3, 1}, [ 5] = {0, 3, 2, 1}, [ 6] = {1, 0, 2, 3}, [ 7] = {1, 0, 3, 2}, [ 8] = {2, 0, 1, 3}, [ 9] = {3, 0, 1, 2}, [10] = {2, 0, 3, 1}, [11] = {3, 0, 2, 1}, [12] = {1, 2, 0, 3}, [13] = {1, 3, 0, 2}, [14] = {2, 1, 0, 3}, [15] = {3, 1, 0, 2}, [16] = {2, 3, 0, 1}, [17] = {3, 2, 0, 1}, [18] = {1, 2, 3, 0}, [19] = {1, 3, 2, 0}, [20] = {2, 1, 3, 0}, [21] = {3, 1, 2, 0}, [22] = {2, 3, 1, 0}, [23] = {3, 2, 1, 0}, } local pSel = substructSelector[mon.personality % 24] local ss0 = {} local ss1 = {} local ss2 = {} local ss3 = {} for i = 0, 2 do ss0[i] = emu:read32(address + 32 + pSel[1] * 12 + i * 4) ~ key ss1[i] = emu:read32(address + 32 + pSel[2] * 12 + i * 4) ~ key ss2[i] = emu:read32(address + 32 + pSel[3] * 12 + i * 4) ~ key ss3[i] = emu:read32(address + 32 + pSel[4] * 12 + i * 4) ~ key end mon.species = ss0[0] & 0x7FF mon.heldItem = ss0[0] >> 16 mon.experience = ss0[1] & 0x1FFFFF mon.ppBonuses = ss0[2] & 0xFF mon.friendship = (ss0[2] >> 8) & 0xFF mon.moves = { ss1[0] & 0xFFFF, ss1[0] >> 16, ss1[1] & 0x7FF, ss1[1] >> 16 } mon.hiddenNature = (ss1[1] >> 11) & 0x1F -- console:log(string.format("%d", mon.hiddenNature)) mon.pp = { ss1[2] & 0xFF, (ss1[2] >> 8) & 0xFF, (ss1[2] >> 16) & 0xFF, ss1[2] >> 24 } mon.hpEV = ss2[0] & 0xFF mon.attackEV = (ss2[0] >> 8) & 0xFF mon.defenseEV = (ss2[0] >> 16) & 0xFF mon.speedEV = ss2[0] >> 24 mon.spAttackEV = ss2[1] & 0xFF mon.spDefenseEV = (ss2[1] >> 8) & 0xFF mon.cool = (ss2[1] >> 16) & 0xFF mon.beauty = ss2[1] >> 24 mon.cute = ss2[2] & 0xFF mon.smart = (ss2[2] >> 8) & 0xFF mon.tough = (ss2[2] >> 16) & 0xFF mon.sheen = ss2[2] >> 24 mon.pokerus = ss3[0] & 0xFF mon.metLocation = (ss3[0] >> 8) & 0xFF flags = ss3[0] >> 16 mon.metLevel = flags & 0x7F mon.metGame = (flags >> 7) & 0xF mon.pokeball = (flags >> 11) & 0xF mon.otGender = (flags >> 15) & 0x1 flags = ss3[1] mon.hpIV = (flags >> 0) & 0x1F mon.attackIV = (flags >> 5) & 0x1F mon.defenseIV = (flags >> 10) & 0x1F mon.speedIV = (flags >> 15) & 0x1F mon.spAttackIV = (flags >> 20) & 0x1F mon.spDefenseIV = (flags >> 25) & 0x1F -- Bit 30 is another "isEgg" bit flags = ss3[2] mon.coolRibbon = flags & 7 mon.beautyRibbon = (flags >> 3) & 7 mon.cuteRibbon = (flags >> 6) & 7 mon.smartRibbon = (flags >> 9) & 7 mon.toughRibbon = (flags >> 12) & 7 mon.championRibbon = (flags >> 15) & 1 mon.winningRibbon = (flags >> 16) & 1 mon.victoryRibbon = (flags >> 17) & 1 mon.artistRibbon = (flags >> 18) & 1 mon.effortRibbon = (flags >> 19) & 1 mon.marineRibbon = (flags >> 20) & 1 mon.landRibbon = (flags >> 21) & 1 mon.skyRibbon = (flags >> 22) & 1 mon.countryRibbon = (flags >> 23) & 1 mon.nationalRibbon = (flags >> 24) & 1 mon.earthRibbon = (flags >> 25) & 1 mon.worldRibbon = (flags >> 26) & 1 mon.altAbility = (flags >> 29) & 3 return mon end function readPartyMon(address) local mon = readBoxMon(address) mon.status = emu:read32(address + 80) mon.level = emu:read8(address + 84) -- if (levelCap == 0) then -- levelCap = mon.level -- end mon.mail = emu:read32(address + 85) mon.hp = emu:read16(address + 86) mon.maxHP = emu:read16(address + 88) mon.attack = emu:read16(address + 90) mon.defense = emu:read16(address + 92) mon.speed = emu:read16(address + 94) mon.spAttack = emu:read16(address + 96) mon.spDefense = emu:read16(address + 98) return mon end function getAbility(mon) current = abilities[emu:read16(speciesInfo+(speciesStructSize*mon.species)+24+(mon.altAbility*2))] if (mons[mon.species] == "Tapu Koko") then current = "Telepathy" elseif (mons[mon.species] == "Togedemaru") then current = "Iron Barbs" elseif (mons[mon.species] == "Vaporeon") then current = "Hydration" elseif (mons[mon.species] == "Flareon") then current = "Guts" elseif (mons[mon.species] == "Jolteon") then current = "Quick Feet" elseif (mons[mon.species] == "Espeon") then current = "Synchronize" elseif (mons[mon.species] == "Umbreon") then current = "Synchronize" elseif (mons[mon.species] == "Leafeon") then current = "Technician" elseif (mons[mon.species] == "Glaceon") then current = "Slush Rush" elseif (mons[mon.species] == "Sylveon") then current = "Pixilate" end return current end function getNature(mon) if (mon.hiddenNature == 0) then return nature[(mon.personality % 25)+1] end return nature[mon.hiddenNature+1] end function getPartyPrint(mon) str = "" str = str .. mons[mon.species] str = str .. string.format("\n") str = str .. "Ability: " .. string.format("%s", getAbility(mon)) .. string.format("\n") str = str .. string.format("Level: %d\n", mon.level) str = str .. string.format("%s", getNature(mon)) .. " Nature" .. string.format("\n") str = str .. string.format("IVs: %d HP / %d Atk / %d Def / %d SpA / %d SpD / %d Spe", mon.hpIV, mon.attackIV, mon.defenseIV, mon.spAttackIV, mon.spDefenseIV, mon.speedIV) .. string.format("\n") for i=1,4 do local mv = move[mon.moves[i] + 1] if(mv == "Hidden Power") then str = str .. string.format("- Hidden Power %s\n", getHP(mon)) else if(mv ~= "") then str = str .. string.format("- %s\n", mv) end end end str = str .. string.format("\n") return str end function getPCPrint(mon) str = "" str = str .. mons[mon.species] str = str .. string.format("\n") str = str .. "Ability: " .. string.format("%s", getAbility(mon)) .. string.format("\n") -- str = str .. string.format("Level: %d\n", levelCap) str = str .. string.format("Level: %d\n", calcLevel(mon.experience, mon.species)) str = str .. string.format("%s", getNature(mon)) .. " Nature" .. string.format("\n") str = str .. string.format("IVs: %d HP / %d Atk / %d Def / %d SpA / %d SpD / %d Spe", mon.hpIV, mon.attackIV, mon.defenseIV, mon.spAttackIV, mon.spDefenseIV, mon.speedIV) .. string.format("\n") for i=1,4 do local mv = move[mon.moves[i] + 1] if(mv == "Hidden Power") then str = str .. string.format("- Hidden Power %s\n", getHP(mon)) else if(mv ~= "") then str = str .. string.format("- %s\n", mv) end end end str = str .. string.format("\n") return str end function printPartyStatus(buffer) address = storageLoc + 4 i = 0 buffer:clear() for _, mon in ipairs(getParty()) do if (mon.species ~= 0) then buffer:print(getPartyPrint(mon)) end end while i<120 do if (emu:read32(address) ~=0) then buffer:print(getPCPrint(readBoxMon(address))) end i = i+1 address = address + 80 end end function startScript() console:log('To update your exports type "export()"') if not partyBuffer then partyBuffer = console:createBuffer("Showdown Export") partyBuffer:setSize(200,1000) export() end end function export() if not partyBuffer then console:log("error") return end printPartyStatus(partyBuffer) levelCap = 0 end callbacks:add("start", startScript) if emu then startScript() end