
local pokemonData = {
  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"
	},
  ability = {
		"None", "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", "Dragon's Maw", "Chilling Neigh",
    "Grim Neigh", "As One", "As One", "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", "Embody Aspect", "Embody Aspect", "Embody Aspect",
    "Toxic Chain", "Supersweet Syrup", "Tera Shift", "Tera Shell", "Teraform Zero", "Poison Puppeteer"
	},
	type = {
		"Normal", "Fighting", "Flying", "Poison", "Ground", "Rock",
		"Bug", "Ghost", "Steel", "???", "Fire", "Water",
		"Grass", "Electric", "Psychic", "Ice", "Dragon", "Dark",
		[23] = "Fairy" -- Romhacks may use this index for Fairy
	},
	hiddenPowerType = {
		"Fighting", "Flying", "Poison", "Ground", "Rock", "Bug",
		"Ghost", "Steel", "Fire", "Water", "Grass", "Electric",
		"Psychic", "Ice", "Dragon", "Dark"
	},
	species = { -- Fallback in case we don't have species table.
		"???", -- Index 1 placeholder
		-- Gen 1 (1-151)
		"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♀", "Nidorina",
		"Nidoqueen", "Nidoran♂", "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", "Farfetch'd", "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",
		-- Gen 2 (152-251)
		"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",
		-- Gen 3 (252-386)
		"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",
		"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"
	},
	moves = {
		"???", -- Index 1 placeholder
		"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"
	},
	itemsGen1 = {
		"Master Ball", "Ultra Ball", "Great Ball", "Poké Ball", "Town Map",
		"Bicycle", "?????", "Safari Ball", "Pokédex", "Moon Stone",
		"Antidote", "Burn Heal", "Ice Heal", "Awakening", "Paralyze Heal",
		"Full Restore", "Max Potion", "Hyper Potion", "Super Potion", "Potion",
		"BoulderBadge", "CascadeBadge", "ThunderBadge", "RainbowBadge", "SoulBadge",
		"MarshBadge", "VolcanoBadge", "EarthBadge", "Escape Rope", "Repel",
		"Old Amber", "Fire Stone", "Thunderstone", "Water Stone", "HP Up",
		"Protein", "Iron", "Carbos", "Calcium", "Rare Candy",
		"Dome Fossil", "Helix Fossil", "Secret Key", "?????", "Bike Voucher",
		"X Accuracy", "Leaf Stone", "Card Key", "Nugget", "PP Up*",
		"Poké Doll", "Full Heal", "Revive", "Max Revive", "Guard Spec.",
		"Super Repel", "Max Repel", "Dire Hit", "Coin", "Fresh Water",
		"Soda Pop", "Lemonade", "S.S. Ticket", "Gold Teeth", "X Attack",
		"X Defend", "X Speed", "X Special", "Coin Case", "Oak's Parcel",
		"Itemfinder", "Silph Scope", "Poké Flute", "Lift Key", "Exp. All",
		"Old Rod", "Good Rod", "Super Rod", "PP Up", "Ether",
		"Max Ether", "Elixer", "Max Elixer",
		-- Items 84-195 are empty/unused in Gen 1
		[196-83] = "HM01", [197-83] = "HM02", [198-83] = "HM03", [199-83] = "HM04", [200-83] = "HM05",
		[201-83] = "TM01", [202-83] = "TM02", [203-83] = "TM03", [204-83] = "TM04", [205-83] = "TM05",
		[206-83] = "TM06", [207-83] = "TM07", [208-83] = "TM08", [209-83] = "TM09", [210-83] = "TM10",
		[211-83] = "TM11", [212-83] = "TM12", [213-83] = "TM13", [214-83] = "TM14", [215-83] = "TM15",
		[216-83] = "TM16", [217-83] = "TM17", [218-83] = "TM18", [219-83] = "TM19", [220-83] = "TM20",
		[221-83] = "TM21", [222-83] = "TM22", [223-83] = "TM23", [224-83] = "TM24", [225-83] = "TM25",
		[226-83] = "TM26", [227-83] = "TM27", [228-83] = "TM28", [229-83] = "TM29", [230-83] = "TM30",
		[231-83] = "TM31", [232-83] = "TM32", [233-83] = "TM33", [234-83] = "TM34", [235-83] = "TM35",
		[236-83] = "TM36", [237-83] = "TM37", [238-83] = "TM38", [239-83] = "TM39", [240-83] = "TM40",
		[241-83] = "TM41", [242-83] = "TM42", [243-83] = "TM43", [244-83] = "TM44", [245-83] = "TM45",
		[246-83] = "TM46", [247-83] = "TM47", [248-83] = "TM48", [249-83] = "TM49", [250-83] = "TM50",
		[251-83] = "TM51", [252-83] = "TM52", [253-83] = "TM53", [254-83] = "TM54", [255-83] = "TM55"
	},
	itemsGen2 = {
		"?", "Master Ball", "Ultra Ball", "BrightPowder", "Great Ball",
		"Poké Ball", "Teru-sama", "Bicycle", "Moon Stone", "Antidote",
		"Burn Heal", "Ice Heal", "Awakening", "Paralyze Heal", "Full Restore",
		"Max Potion", "Hyper Potion", "Super Potion", "Potion", "Escape Rope",
		"Repel", "Max Elixer", "Fire Stone", "Thunderstone", "Water Stone",
		"Teru-sama", "HP Up", "Protein", "Iron", "Carbos",
		"Lucky Punch", "Calcium", "Rare Candy", "X Accuracy", "Leaf Stone",
		"Metal Powder", "Nugget", "Poké Doll", "Full Heal", "Revive",
		"Max Revive", "Guard Spec.", "Super Repel", "Max Repel", "Dire Hit",
		"Teru-sama", "Fresh Water", "Soda Pop", "Lemonade", "X Attack",
		"Teru-sama", "X Defend", "X Speed", "X Special", "Coin Case",
		"Itemfinder", "Teru-sama", "Exp.Share", "Old Rod", "Good Rod",
		"Silver Leaf", "Super Rod", "PP Up", "Ether", "Max Ether",
		"Elixer", "Red Scale", "SecretPotion", "S.S. Ticket", "Mystery Egg",
		"Clear Bell*", "Silver Wing", "Moomoo Milk", "Quick Claw", "PSNCureBerry",
		"Gold Leaf", "Soft Sand", "Sharp Beak", "PRZCureBerry", "Burnt Berry",
		"Ice Berry", "Poison Barb", "King's Rock", "Bitter Berry", "Mint Berry",
		"Red Apricorn", "TinyMushroom", "Big Mushroom", "SilverPowder", "Blu Apricorn",
		"Teru-sama", "Amulet Coin", "Ylw Apricorn", "Grn Apricorn", "Cleanse Tag",
		"Mystic Water", "TwistedSpoon", "Wht Apricorn", "Blackbelt", "Blk Apricorn",
		"Teru-sama", "Pnk Apricorn", "BlackGlasses", "SlowpokeTail", "Pink Bow",
		"Stick", "Smoke Ball", "NeverMeltIce", "Magnet", "MiracleBerry",
		"Pearl", "Big Pearl", "Everstone", "Spell Tag", "RageCandyBar",
		"GS Ball*", "Blue Card*", "Miracle Seed", "Thick Club", "Focus Band",
		"Teru-sama", "EnergyPowder", "Energy Root", "Heal Powder", "Revival Herb",
		"Hard Stone", "Lucky Egg", "Card Key", "Machine Part", "Egg Ticket*",
		"Lost Item", "Stardust", "Star Piece", "Basement Key", "Pass",
		"Teru-sama", "Teru-sama", "Teru-sama", "Charcoal", "Berry Juice",
		"Scope Lens", "Teru-sama", "Teru-sama", "Metal Coat", "Dragon Fang",
		"Teru-sama", "Leftovers", "Teru-sama", "Teru-sama", "Teru-sama",
		"MysteryBerry", "Dragon Scale", "Berserk Gene", "Teru-sama", "Teru-sama",
		"Teru-sama", "Sacred Ash", "Heavy Ball", "Flower Mail", "Level Ball",
		"Lure Ball", "Fast Ball", "Teru-sama", "Light Ball", "Friend Ball",
		"Moon Ball", "Love Ball", "Normal Box", "Gorgeous Box", "Sun Stone",
		"Polkadot Bow", "Teru-sama", "Up-Grade", "Berry", "Gold Berry",
		"SquirtBottle", "Teru-sama", "Park Ball", "Rainbow Wing", "Teru-sama",
		"Brick Piece", "Surf Mail", "Litebluemail", "Portraitmail", "Lovely Mail",
		"Eon Mail", "Morph Mail", "Bluesky Mail", "Music Mail", "Mirage Mail",
		"Teru-sama", "TM01", "TM02", "TM03", "TM04",
		"TM04", "TM05", "TM06", "TM07", "TM08",
		"TM09", "TM10", "TM11", "TM12", "TM13",
		"TM14", "TM15", "TM16", "TM17", "TM18",
		"TM19", "TM20", "TM21", "TM22", "TM23",
		"TM24", "TM25", "TM26", "TM27", "TM28",
		"TM28", "TM29", "TM30", "TM31", "TM32",
		"TM33", "TM34", "TM35", "TM36", "TM37",
		"TM38", "TM39", "TM40", "TM41", "TM42",
		"TM43", "TM44", "TM45", "TM46", "TM47",
		"TM48", "TM49", "TM50", "HM01", "HM02",
		"HM03", "HM04", "HM05", "HM06", "HM07",
		"HM08", "HM09", "HM10", "HM11", "HM12",
		"Cancel"
	},
	itemsGen3 = {
		"Nothing", "Master Ball", "Ultra Ball", "Great Ball", "Poké Ball",
		"Safari Ball", "Net Ball", "Dive Ball", "Nest Ball", "Repeat Ball",
		"Timer Ball", "Luxury Ball", "Premier Ball", "Potion", "Antidote",
		"Burn Heal", "Ice Heal", "Awakening", "Paralyze Heal", "Full Restore",
		"Max Potion", "Hyper Potion", "Super Potion", "Full Heal", "Revive",
		"Max Revive", "Fresh Water", "Soda Pop", "Lemonade", "Moomoo Milk",
		"EnergyPowder", "Energy Root", "Heal Powder", "Revival Herb", "Ether",
		"Max Ether", "Elixir", "Max Elixir", "Lava Cookie", "Blue Flute",
		"Yellow Flute", "Red Flute", "Black Flute", "White Flute", "Berry Juice",
		"Sacred Ash", "Shoal Salt", "Shoal Shell", "Red Shard", "Blue Shard",
		"Yellow Shard", "Green Shard",
		-- Unknown items 52-62
		"unknown", "unknown", "unknown", "unknown", "unknown", "unknown", "unknown", "unknown", "unknown", "unknown", "unknown",
		"HP Up", "Protein", "Iron", "Carbos", "Calcium",
		"Rare Candy", "PP Up", "Zinc", "PP Max",
		-- Unknown item 72
		"unknown",
		"Guard Spec.", "Dire Hit", "X Attack", "X Defend", "X Speed",
		"X Accuracy", "X Special", "Poké Doll", "Fluffy Tail",
		-- Unknown item 82
		"unknown",
		"Super Repel", "Max Repel", "Escape Rope", "Repel",
		-- Unknown items 87-92
		"unknown", "unknown", "unknown", "unknown", "unknown", "unknown",
		"Sun Stone", "Moon Stone", "Fire Stone", "Thunderstone", "Water Stone",
		"Leaf Stone",
		-- Unknown items 99-102
		"unknown", "unknown", "unknown", "unknown",
		"TinyMushroom", "Big Mushroom",
		-- Unknown item 105
		"unknown",
		"Pearl", "Big Pearl", "Stardust", "Star Piece", "Nugget",
		"Heart Scale",
		-- Unknown items 112-120
		"unknown", "unknown", "unknown", "unknown", "unknown", "unknown", "unknown", "unknown", "unknown",
		"Orange Mail", "Harbor Mail", "Glitter Mail", "Mech Mail", "Wood Mail",
		"Wave Mail", "Bead Mail", "Shadow Mail", "Tropic Mail", "Dream Mail",
		"Fab Mail", "Retro Mail", "Cheri Berry", "Chesto Berry", "Pecha Berry",
		"Rawst Berry", "Aspear Berry", "Leppa Berry", "Oran Berry", "Persim Berry",
		"Lum Berry", "Sitrus Berry", "Figy Berry", "Wiki Berry", "Mago Berry",
		"Aguav Berry", "Iapapa Berry", "Razz Berry", "Bluk Berry", "Nanab Berry",
		"Wepear Berry", "Pinap Berry", "Pomeg Berry", "Kelpsy Berry", "Qualot Berry",
		"Hondew Berry", "Grepa Berry", "Tamato Berry", "Cornn Berry", "Magost Berry",
		"Rabuta Berry", "Nomel Berry", "Spelon Berry", "Pamtre Berry", "Watmel Berry",
		"Durin Berry", "Belue Berry", "Liechi Berry", "Ganlon Berry", "Salac Berry",
		"Petaya Berry", "Apicot Berry", "Lansat Berry", "Starf Berry", "Enigma Berry",
		-- Unknown items 176-178
		"unknown", "unknown", "unknown",
		"BrightPowder", "White Herb", "Macho Brace", "Exp. Share", "Quick Claw",
		"Soothe Bell", "Mental Herb", "Choice Band", "King's Rock", "SilverPowder",
		"Amulet Coin", "Cleanse Tag", "Soul Dew", "DeepSeaTooth", "DeepSeaScale",
		"Smoke Ball", "Everstone", "Focus Band", "Lucky Egg", "Scope Lens",
		"Metal Coat", "Leftovers", "Dragon Scale", "Light Ball", "Soft Sand",
		"Hard Stone", "Miracle Seed", "BlackGlasses", "Black Belt", "Magnet",
		"Mystic Water", "Sharp Beak", "Poison Barb", "NeverMeltIce", "Spell Tag",
		"TwistedSpoon", "Charcoal", "Dragon Fang", "Silk Scarf", "Up-Grade",
		"Shell Bell", "Sea Incense", "Lax Incense", "Lucky Punch", "Metal Powder",
		"Thick Club", "Stick",
		-- Unknown items 226-253
		"unknown", "unknown", "unknown", "unknown", "unknown", "unknown", "unknown", "unknown", "unknown", "unknown", "unknown", "unknown", "unknown", "unknown", "unknown", "unknown", "unknown", "unknown", "unknown", "unknown", "unknown", "unknown", "unknown", "unknown", "unknown", "unknown", "unknown", "unknown",
		"Red Scarf", "Blue Scarf", "Pink Scarf", "Green Scarf", "Yellow Scarf",
		"Mach Bike", "Coin Case", "Itemfinder", "Old Rod", "Good Rod",
		"Super Rod", "S.S. Ticket", "Contest Pass",
		-- Unknown item 267
		"unknown",
		"Wailmer Pail", "Devon Goods", "Soot Sack", "Basement Key", "Acro Bike",
		"Pokéblock Case", "Letter", "Eon Ticket", "Red Orb", "Blue Orb",
		"Scanner", "Go-Goggles", "Meteorite", "Rm. 1 Key", "Rm. 2 Key",
		"Rm. 4 Key", "Rm. 6 Key", "Storage Key", "Root Fossil", "Claw Fossil",
		"Devon Scope", "TM01", "TM02", "TM03", "TM04",
		"TM05", "TM06", "TM07", "TM08", "TM09",
		"TM10", "TM11", "TM12", "TM13", "TM14",
		"TM15", "TM16", "TM17", "TM18", "TM19",
		"TM20", "TM21", "TM22", "TM23", "TM24",
		"TM25", "TM26", "TM27", "TM28", "TM29",
		"TM30", "TM31", "TM32", "TM33", "TM34",
		"TM35", "TM36", "TM37", "TM38", "TM39",
		"TM40", "TM41", "TM42", "TM43", "TM44",
		"TM45", "TM46", "TM47", "TM48", "TM49",
		"TM50", "HM01", "HM02", "HM03", "HM04",
		"HM05", "HM06", "HM07", "HM08",
		-- Unknown items 347-348
		"unknown", "unknown",
		"Oak's Parcel*", "Poké Flute*", "Secret Key*", "Bike Voucher*", "Gold Teeth*",
		"Old Amber*", "Card Key*", "Lift Key*", "Helix Fossil*", "Dome Fossil*",
		"Silph Scope*", "Bicycle*", "Town Map*", "VS Seeker*", "Fame Checker*",
		"TM Case*", "Berry Pouch*", "Teachy TV*", "Tri-Pass*", "Rainbow Pass*",
		"Tea*", "MysticTicket*", "AuroraTicket*", "Powder Jar*", "Ruby*",
		"Sapphire*", "Magma Emblem*", "Old Sea Map*"
	}
}

local function getItemName(itemId, generation)
	if itemId == 0 then
		return "None"
	end
	
	local itemTable
	if generation == 1 then
		itemTable = pokemonData.itemsGen1
		-- Gen1 uses direct indexing, item ID matches array index
		return itemTable[itemId] or "Unknown"
	elseif generation == 2 then
		itemTable = pokemonData.itemsGen2
		-- Gen2: item ID 0 -> index 1, item ID 1 -> index 2, etc.
		return itemTable[itemId + 1] or "Unknown"
	elseif generation == 3 then
		itemTable = pokemonData.itemsGen3
		-- Gen3: item ID 0 -> index 1, item ID 1 -> index 2, etc.
		return itemTable[itemId + 1] or "Unknown"
	else
		return "Unknown"
	end
end

return {
	pokemonData = pokemonData,
	getItemName = getItemName,
}