1211 lines
		
	
	
		
			95 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			1211 lines
		
	
	
		
			95 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | id_to_mon = {1: 'Rhydon', 2: 'Kangaskhan', 3: 'Nidoran M', 4: 'Clefairy', 5: 'Spearow', 6: 'Voltorb', 7: 'Nidoking', | ||
|  |              8: 'Slowbro', 9: 'Ivysaur', 10: 'Exeggutor', 11: 'Lickitung', 12: 'Exeggcute', 13: 'Grimer', 14: 'Gengar', | ||
|  |              15: 'Nidoran F', 16: 'Nidoqueen', 17: 'Cubone', 18: 'Rhyhorn', 19: 'Lapras', 20: 'Arcanine', 21: 'Mew', | ||
|  |              22: 'Gyarados', 23: 'Shellder', 24: 'Tentacool', 25: 'Gastly', 26: 'Scyther', 27: 'Staryu', | ||
|  |              28: 'Blastoise', 29: 'Pinsir', 30: 'Tangela', 33: 'Growlithe', 34: 'Onix', 35: 'Fearow', 36: 'Pidgey', | ||
|  |              37: 'Slowpoke', 38: 'Kadabra', 39: 'Graveler', 40: 'Chansey', 41: 'Machoke', 42: 'Mr Mime', | ||
|  |              43: 'Hitmonlee', 44: 'Hitmonchan', 45: 'Arbok', 46: 'Parasect', 47: 'Psyduck', 48: 'Drowzee', 49: 'Golem', | ||
|  |              51: 'Magmar', 53: 'Electabuzz', 54: 'Magneton', 55: 'Koffing', 57: 'Mankey', 58: 'Seel', 59: 'Diglett', | ||
|  |              60: 'Tauros', 64: 'Farfetchd', 65: 'Venonat', 66: 'Dragonite', 70: 'Doduo', 71: 'Poliwag', 72: 'Jynx', | ||
|  |              73: 'Moltres', 74: 'Articuno', 75: 'Zapdos', 76: 'Ditto', 77: 'Meowth', 78: 'Krabby', 82: 'Vulpix', | ||
|  |              83: 'Ninetales', 84: 'Pikachu', 85: 'Raichu', 88: 'Dratini', 89: 'Dragonair', 90: 'Kabuto', 91: 'Kabutops', | ||
|  |              92: 'Horsea', 93: 'Seadra', 96: 'Sandshrew', 97: 'Sandslash', 98: 'Omanyte', 99: 'Omastar', | ||
|  |              100: 'Jigglypuff', 101: 'Wigglytuff', 102: 'Eevee', 103: 'Flareon', 104: 'Jolteon', 105: 'Vaporeon', | ||
|  |              106: 'Machop', 107: 'Zubat', 108: 'Ekans', 109: 'Paras', 110: 'Poliwhirl', 111: 'Poliwrath', 112: 'Weedle', | ||
|  |              113: 'Kakuna', 114: 'Beedrill', 116: 'Dodrio', 117: 'Primeape', 118: 'Dugtrio', 119: 'Venomoth', | ||
|  |              120: 'Dewgong', 123: 'Caterpie', 124: 'Metapod', 125: 'Butterfree', 126: 'Machamp', 128: 'Golduck', | ||
|  |              129: 'Hypno', 130: 'Golbat', 131: 'Mewtwo', 132: 'Snorlax', 133: 'Magikarp', 136: 'Muk', 138: 'Kingler', | ||
|  |              139: 'Cloyster', 141: 'Electrode', 142: 'Clefable', 143: 'Weezing', 144: 'Persian', 145: 'Marowak', | ||
|  |              147: 'Haunter', 148: 'Abra', 149: 'Alakazam', 150: 'Pidgeotto', 151: 'Pidgeot', 152: 'Starmie', | ||
|  |              153: 'Bulbasaur', 154: 'Venusaur', 155: 'Tentacruel', 157: 'Goldeen', 158: 'Seaking', 163: 'Ponyta', | ||
|  |              164: 'Rapidash', 165: 'Rattata', 166: 'Raticate', 167: 'Nidorino', 168: 'Nidorina', 169: 'Geodude', | ||
|  |              170: 'Porygon', 171: 'Aerodactyl', 173: 'Magnemite', 176: 'Charmander', 177: 'Squirtle', 178: 'Charmeleon', | ||
|  |              179: 'Wartortle', 180: 'Charizard', 185: 'Oddish', 186: 'Gloom', 187: 'Vileplume', 188: 'Bellsprout', | ||
|  |              189: 'Weepinbell', 190: 'Victreebel'} | ||
|  | 
 | ||
|  | 
 | ||
|  | pokemon_dex = { | ||
|  |     'Bulbasaur': 1, 'Ivysaur': 2, 'Venusaur': 3, 'Charmander': 4, 'Charmeleon': 5, 'Charizard': 6, 'Squirtle': 7, | ||
|  |     'Wartortle': 8, 'Blastoise': 9, 'Caterpie': 10, 'Metapod': 11, 'Butterfree': 12, 'Weedle': 13, 'Kakuna': 14, | ||
|  |     'Beedrill': 15, 'Pidgey': 16, 'Pidgeotto': 17, 'Pidgeot': 18, 'Rattata': 19, 'Raticate': 20, 'Spearow': 21, | ||
|  |     'Fearow': 22, 'Ekans': 23, 'Arbok': 24, 'Pikachu': 25, 'Raichu': 26, 'Sandshrew': 27, 'Sandslash': 28, | ||
|  |     'Nidoran F': 29, 'Nidorina': 30, 'Nidoqueen': 31, 'Nidoran M': 32, 'Nidorino': 33, 'Nidoking': 34, 'Clefairy': 35, | ||
|  |     'Clefable': 36, 'Vulpix': 37, 'Ninetales': 38, 'Jigglypuff': 39, 'Wigglytuff': 40, 'Zubat': 41, 'Golbat': 42, | ||
|  |     'Oddish': 43, 'Gloom': 44, 'Vileplume': 45, 'Paras': 46, 'Parasect': 47, 'Venonat': 48, 'Venomoth': 49, | ||
|  |     'Diglett': 50, 'Dugtrio': 51, 'Meowth': 52, 'Persian': 53, 'Psyduck': 54, 'Golduck': 55, 'Mankey': 56, | ||
|  |     'Primeape': 57, 'Growlithe': 58, 'Arcanine': 59, 'Poliwag': 60, 'Poliwhirl': 61, 'Poliwrath': 62, 'Abra': 63, | ||
|  |     'Kadabra': 64, 'Alakazam': 65, 'Machop': 66, 'Machoke': 67, 'Machamp': 68, 'Bellsprout': 69, 'Weepinbell': 70, | ||
|  |     'Victreebel': 71, 'Tentacool': 72, 'Tentacruel': 73, 'Geodude': 74, 'Graveler': 75, 'Golem': 76, 'Ponyta': 77, | ||
|  |     'Rapidash': 78, 'Slowpoke': 79, 'Slowbro': 80, 'Magnemite': 81, 'Magneton': 82, 'Farfetchd': 83, 'Doduo': 84, | ||
|  |     'Dodrio': 85, 'Seel': 86, 'Dewgong': 87, 'Grimer': 88, 'Muk': 89, 'Shellder': 90, 'Cloyster': 91, 'Gastly': 92, | ||
|  |     'Haunter': 93, 'Gengar': 94, 'Onix': 95, 'Drowzee': 96, 'Hypno': 97, 'Krabby': 98, 'Kingler': 99, 'Voltorb': 100, | ||
|  |     'Electrode': 101, 'Exeggcute': 102, 'Exeggutor': 103, 'Cubone': 104, 'Marowak': 105, 'Hitmonlee': 106, | ||
|  |     'Hitmonchan': 107, 'Lickitung': 108, 'Koffing': 109, 'Weezing': 110, 'Rhyhorn': 111, 'Rhydon': 112, 'Chansey': 113, | ||
|  |     'Tangela': 114, 'Kangaskhan': 115, 'Horsea': 116, 'Seadra': 117, 'Goldeen': 118, 'Seaking': 119, 'Staryu': 120, | ||
|  |     'Starmie': 121, 'Mr Mime': 122, 'Scyther': 123, 'Jynx': 124, 'Electabuzz': 125, 'Magmar': 126, 'Pinsir': 127, | ||
|  |     'Tauros': 128, 'Magikarp': 129, 'Gyarados': 130, 'Lapras': 131, 'Ditto': 132, 'Eevee': 133, 'Vaporeon': 134, | ||
|  |     'Jolteon': 135, 'Flareon': 136, 'Porygon': 137, 'Omanyte': 138, 'Omastar': 139, 'Kabuto': 140, 'Kabutops': 141, | ||
|  |     'Aerodactyl': 142, 'Snorlax': 143, 'Articuno': 144, 'Zapdos': 145, 'Moltres': 146, 'Dratini': 147, 'Dragonair': 148, | ||
|  |     'Dragonite': 149, 'Mewtwo': 150, 'Mew': 151 | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | type_ids = { | ||
|  |     "Normal": 0x0, | ||
|  |     "Fighting": 0x1, | ||
|  |     "Flying": 0x2, | ||
|  |     "Poison": 0x3, | ||
|  |     "Ground": 0x4, | ||
|  |     "Rock": 0x5, | ||
|  |     "Bug": 0x7, | ||
|  |     "Ghost": 0x8, | ||
|  |     "Fire": 0x14, | ||
|  |     "Water": 0x15, | ||
|  |     "Grass": 0x16, | ||
|  |     "Electric": 0x17, | ||
|  |     "Psychic": 0x18, | ||
|  |     "Ice": 0x19, | ||
|  |     "Dragon": 0x1A | ||
|  | } | ||
|  | type_names = { | ||
|  |     0x0: "Normal", | ||
|  |     0x1: "Fighting", | ||
|  |     0x2: "Flying", | ||
|  |     0x3: "Poison", | ||
|  |     0x4: "Ground", | ||
|  |     0x5: "Rock", | ||
|  |     0x7: "Bug", | ||
|  |     0x8: "Ghost", | ||
|  |     0x14: "Fire", | ||
|  |     0x15: "Water", | ||
|  |     0x16: "Grass", | ||
|  |     0x17: "Electric", | ||
|  |     0x18: "Psychic", | ||
|  |     0x19: "Ice", | ||
|  |     0x1a: "Dragon" | ||
|  | } | ||
|  | 
 | ||
|  | type_chart = [ | ||
|  |     ["Water", "Fire", 20], | ||
|  |     ["Fire", "Grass", 20], | ||
|  |     ["Fire", "Ice", 20], | ||
|  |     ["Grass", "Water", 20], | ||
|  |     ["Electric", "Water", 20], | ||
|  |     ["Water", "Rock", 20], | ||
|  |     ["Ground", "Flying", 0], | ||
|  |     ["Water", "Water", 5], | ||
|  |     ["Fire", "Fire", 5], | ||
|  |     ["Electric", "Electric", 5], | ||
|  |     ["Ice", "Ice", 5], | ||
|  |     ["Grass", "Grass", 5], | ||
|  |     ["Psychic", "Psychic", 5], | ||
|  |     ["Fire", "Water", 5], | ||
|  |     ["Grass", "Fire", 5], | ||
|  |     ["Water", "Grass", 5], | ||
|  |     ["Electric", "Grass", 5], | ||
|  |     ["Normal", "Rock", 5], | ||
|  |     ["Normal", "Ghost", 0], | ||
|  |     ["Ghost", "Ghost", 20], | ||
|  |     ["Fire", "Bug", 20], | ||
|  |     ["Fire", "Rock", 5], | ||
|  |     ["Water", "Ground", 20], | ||
|  |     ["Electric", "Ground", 0], | ||
|  |     ["Electric", "Flying", 20], | ||
|  |     ["Grass", "Ground", 20], | ||
|  |     ["Grass", "Bug", 5], | ||
|  |     ["Grass", "Poison", 5], | ||
|  |     ["Grass", "Rock", 20], | ||
|  |     ["Grass", "Flying", 5], | ||
|  |     ["Ice", "Water", 5], | ||
|  |     ["Ice", "Grass", 20], | ||
|  |     ["Ice", "Ground", 20], | ||
|  |     ["Ice", "Flying", 20], | ||
|  |     ["Fighting", "Normal", 20], | ||
|  |     ["Fighting", "Poison", 5], | ||
|  |     ["Fighting", "Flying", 5], | ||
|  |     ["Fighting", "Psychic", 5], | ||
|  |     ["Fighting", "Bug", 5], | ||
|  |     ["Fighting", "Rock", 20], | ||
|  |     ["Fighting", "Ice", 20], | ||
|  |     ["Fighting", "Ghost", 0], | ||
|  |     ["Poison", "Grass", 20], | ||
|  |     ["Poison", "Poison", 5], | ||
|  |     ["Poison", "Ground", 5], | ||
|  |     ["Poison", "Bug", 20], | ||
|  |     ["Poison", "Rock", 5], | ||
|  |     ["Poison", "Ghost", 5], | ||
|  |     ["Ground", "Fire", 20], | ||
|  |     ["Ground", "Electric", 20], | ||
|  |     ["Ground", "Grass", 5], | ||
|  |     ["Ground", "Bug", 5], | ||
|  |     ["Ground", "Rock", 20], | ||
|  |     ["Ground", "Poison", 20], | ||
|  |     ["Flying", "Electric", 5], | ||
|  |     ["Flying", "Fighting", 20], | ||
|  |     ["Flying", "Bug", 20], | ||
|  |     ["Flying", "Grass", 20], | ||
|  |     ["Flying", "Rock", 5], | ||
|  |     ["Psychic", "Fighting", 20], | ||
|  |     ["Psychic", "Poison", 20], | ||
|  |     ["Bug", "Fire", 5], | ||
|  |     ["Bug", "Grass", 20], | ||
|  |     ["Bug", "Fighting", 5], | ||
|  |     ["Bug", "Flying", 5], | ||
|  |     ["Bug", "Psychic", 20], | ||
|  |     ["Bug", "Ghost", 5], | ||
|  |     ["Bug", "Poison", 20], | ||
|  |     ["Rock", "Fire", 20], | ||
|  |     ["Rock", "Fighting", 5], | ||
|  |     ["Rock", "Ground", 5], | ||
|  |     ["Rock", "Flying", 20], | ||
|  |     ["Rock", "Bug", 20], | ||
|  |     ["Rock", "Ice", 20], | ||
|  |     ["Ghost", "Normal", 0], | ||
|  |     ["Ghost", "Psychic", 0], | ||
|  |     ["Fire", "Dragon", 5], | ||
|  |     ["Water", "Dragon", 5], | ||
|  |     ["Electric", "Dragon", 5], | ||
|  |     ["Grass", "Dragon", 5], | ||
|  |     ["Ice", "Dragon", 20], | ||
|  |     ["Dragon", "Dragon", 20] | ||
|  | ] | ||
|  | 
 | ||
|  | pokemon_data = { | ||
|  |     'Bulbasaur': {'id': 153, 'dex': 1, 'hp': 45, 'atk': 49, 'def': 49, 'spd': 45, 'spc': 65, 'type1': 'Grass', | ||
|  |                   'type2': 'Poison', 'catch rate': 45, 'base exp': 64, 'start move 1': 'Tackle', | ||
|  |                   'start move 2': 'Growl', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 3, | ||
|  |                   'tms': bytearray(b'\xa4\x038\xc0\x03\x08\x06')}, | ||
|  |     'Ivysaur': {'id': 9, 'dex': 2, 'hp': 60, 'atk': 62, 'def': 63, 'spd': 60, 'spc': 80, 'type1': 'Grass', | ||
|  |                 'type2': 'Poison', 'catch rate': 45, 'base exp': 141, 'start move 1': 'Tackle', 'start move 2': 'Growl', | ||
|  |                 'start move 3': 'Leech Seed', 'start move 4': 'No Move', 'growth rate': 3, | ||
|  |                 'tms': bytearray(b'\xa4\x038\xc0\x03\x08\x06')}, | ||
|  |     'Venusaur': {'id': 154, 'dex': 3, 'hp': 80, 'atk': 82, 'def': 83, 'spd': 80, 'spc': 100, 'type1': 'Grass', | ||
|  |                  'type2': 'Poison', 'catch rate': 45, 'base exp': 208, 'start move 1': 'Tackle', | ||
|  |                  'start move 2': 'Growl', 'start move 3': 'Leech Seed', 'start move 4': 'Vine Whip', 'growth rate': 3, | ||
|  |                  'tms': bytearray(b'\xa4C8\xc0\x03\x08\x06')}, | ||
|  |     'Charmander': {'id': 176, 'dex': 4, 'hp': 39, 'atk': 52, 'def': 43, 'spd': 65, 'spc': 50, 'type1': 'Fire', | ||
|  |                    'type2': 'Fire', 'catch rate': 45, 'base exp': 65, 'start move 1': 'Scratch', | ||
|  |                    'start move 2': 'Growl', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 3, | ||
|  |                    'tms': bytearray(b'\xb5\x03O\xc8\xe3\x08&')}, | ||
|  |     'Charmeleon': {'id': 178, 'dex': 5, 'hp': 58, 'atk': 64, 'def': 58, 'spd': 80, 'spc': 65, 'type1': 'Fire', | ||
|  |                    'type2': 'Fire', 'catch rate': 45, 'base exp': 142, 'start move 1': 'Scratch', | ||
|  |                    'start move 2': 'Growl', 'start move 3': 'Ember', 'start move 4': 'No Move', 'growth rate': 3, | ||
|  |                    'tms': bytearray(b'\xb5\x03O\xc8\xe3\x08&')}, | ||
|  |     'Charizard': {'id': 180, 'dex': 6, 'hp': 78, 'atk': 84, 'def': 78, 'spd': 100, 'spc': 85, 'type1': 'Fire', | ||
|  |                   'type2': 'Flying', 'catch rate': 45, 'base exp': 209, 'start move 1': 'Scratch', | ||
|  |                   'start move 2': 'Growl', 'start move 3': 'Ember', 'start move 4': 'Leer', 'growth rate': 3, | ||
|  |                   'tms': bytearray(b'\xb5CO\xce\xe3\x08&')}, | ||
|  |     'Squirtle': {'id': 177, 'dex': 7, 'hp': 44, 'atk': 48, 'def': 65, 'spd': 43, 'spc': 50, 'type1': 'Water', | ||
|  |                  'type2': 'Water', 'catch rate': 45, 'base exp': 66, 'start move 1': 'Tackle', | ||
|  |                  'start move 2': 'Tail Whip', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 3, | ||
|  |                  'tms': bytearray(b'\xb1?\x0f\xc8\x83\x082')}, | ||
|  |     'Wartortle': {'id': 179, 'dex': 8, 'hp': 59, 'atk': 63, 'def': 80, 'spd': 58, 'spc': 65, 'type1': 'Water', | ||
|  |                   'type2': 'Water', 'catch rate': 45, 'base exp': 143, 'start move 1': 'Tackle', | ||
|  |                   'start move 2': 'Tail Whip', 'start move 3': 'Bubble', 'start move 4': 'No Move', 'growth rate': 3, | ||
|  |                   'tms': bytearray(b'\xb1?\x0f\xc8\x83\x082')}, | ||
|  |     'Blastoise': {'id': 28, 'dex': 9, 'hp': 79, 'atk': 83, 'def': 100, 'spd': 78, 'spc': 85, 'type1': 'Water', | ||
|  |                   'type2': 'Water', 'catch rate': 45, 'base exp': 210, 'start move 1': 'Tackle', | ||
|  |                   'start move 2': 'Tail Whip', 'start move 3': 'Bubble', 'start move 4': 'Water Gun', 'growth rate': 3, | ||
|  |                   'tms': bytearray(b'\xb1\x7f\x0f\xce\x83\x082')}, | ||
|  |     'Caterpie': {'id': 123, 'dex': 10, 'hp': 45, 'atk': 30, 'def': 35, 'spd': 45, 'spc': 20, 'type1': 'Bug', | ||
|  |                  'type2': 'Bug', 'catch rate': 255, 'base exp': 53, 'start move 1': 'Tackle', | ||
|  |                  'start move 2': 'String Shot', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                  'tms': bytearray(b'\x00\x00\x00\x00\x00\x00\x00')}, | ||
|  |     'Metapod': {'id': 124, 'dex': 11, 'hp': 50, 'atk': 20, 'def': 55, 'spd': 30, 'spc': 25, 'type1': 'Bug', | ||
|  |                 'type2': 'Bug', 'catch rate': 120, 'base exp': 72, 'start move 1': 'Harden', 'start move 2': 'No Move', | ||
|  |                 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                 'tms': bytearray(b'\x00\x00\x00\x00\x00\x00\x00')}, | ||
|  |     'Butterfree': {'id': 125, 'dex': 12, 'hp': 60, 'atk': 45, 'def': 50, 'spd': 70, 'spc': 80, 'type1': 'Bug', | ||
|  |                    'type2': 'Flying', 'catch rate': 45, 'base exp': 160, 'start move 1': 'Confusion', | ||
|  |                    'start move 2': 'No Move', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                    'tms': bytearray(b'*C8\xf0C(\x02')}, | ||
|  |     'Weedle': {'id': 112, 'dex': 13, 'hp': 40, 'atk': 35, 'def': 30, 'spd': 50, 'spc': 20, 'type1': 'Bug', | ||
|  |                'type2': 'Poison', 'catch rate': 255, 'base exp': 52, 'start move 1': 'Poison Sting', | ||
|  |                'start move 2': 'String Shot', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                'tms': bytearray(b'\x00\x00\x00\x00\x00\x00\x00')}, | ||
|  |     'Kakuna': {'id': 113, 'dex': 14, 'hp': 45, 'atk': 25, 'def': 50, 'spd': 35, 'spc': 25, 'type1': 'Bug', | ||
|  |                'type2': 'Poison', 'catch rate': 120, 'base exp': 71, 'start move 1': 'Harden', | ||
|  |                'start move 2': 'No Move', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                'tms': bytearray(b'\x00\x00\x00\x00\x00\x00\x00')}, | ||
|  |     'Beedrill': {'id': 114, 'dex': 15, 'hp': 65, 'atk': 80, 'def': 40, 'spd': 75, 'spc': 45, 'type1': 'Bug', | ||
|  |                  'type2': 'Poison', 'catch rate': 45, 'base exp': 159, 'start move 1': 'Fury Attack', | ||
|  |                  'start move 2': 'No Move', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                  'tms': bytearray(b'$C\x18\xc0\xc3\x08\x06')}, | ||
|  |     'Pidgey': {'id': 36, 'dex': 16, 'hp': 40, 'atk': 45, 'def': 40, 'spd': 56, 'spc': 35, 'type1': 'Normal', | ||
|  |                'type2': 'Flying', 'catch rate': 255, 'base exp': 55, 'start move 1': 'Gust', 'start move 2': 'No Move', | ||
|  |                'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 3, | ||
|  |                'tms': bytearray(b'*\x03\x08\xc0C\x0c\n')}, | ||
|  |     'Pidgeotto': {'id': 150, 'dex': 17, 'hp': 63, 'atk': 60, 'def': 55, 'spd': 71, 'spc': 50, 'type1': 'Normal', | ||
|  |                   'type2': 'Flying', 'catch rate': 120, 'base exp': 113, 'start move 1': 'Gust', | ||
|  |                   'start move 2': 'Sand Attack', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 3, | ||
|  |                   'tms': bytearray(b'*\x03\x08\xc0C\x0c\n')}, | ||
|  |     'Pidgeot': {'id': 151, 'dex': 18, 'hp': 83, 'atk': 80, 'def': 75, 'spd': 91, 'spc': 70, 'type1': 'Normal', | ||
|  |                 'type2': 'Flying', 'catch rate': 45, 'base exp': 172, 'start move 1': 'Gust', | ||
|  |                 'start move 2': 'Sand Attack', 'start move 3': 'Quick Attack', 'start move 4': 'No Move', | ||
|  |                 'growth rate': 3, 'tms': bytearray(b'*C\x08\xc0C\x0c\n')}, | ||
|  |     'Rattata': {'id': 165, 'dex': 19, 'hp': 30, 'atk': 56, 'def': 35, 'spd': 72, 'spc': 25, 'type1': 'Normal', | ||
|  |                 'type2': 'Normal', 'catch rate': 255, 'base exp': 57, 'start move 1': 'Tackle', | ||
|  |                 'start move 2': 'Tail Whip', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                 'tms': bytearray(b'\xa0/\x88\xc9\xc2\x08\x02')}, | ||
|  |     'Raticate': {'id': 166, 'dex': 20, 'hp': 55, 'atk': 81, 'def': 60, 'spd': 97, 'spc': 50, 'type1': 'Normal', | ||
|  |                  'type2': 'Normal', 'catch rate': 90, 'base exp': 116, 'start move 1': 'Tackle', | ||
|  |                  'start move 2': 'Tail Whip', 'start move 3': 'Quick Attack', 'start move 4': 'No Move', | ||
|  |                  'growth rate': 0, 'tms': bytearray(b'\xa0\x7f\x88\xc9\xc2\x08\x02')}, | ||
|  |     'Spearow': {'id': 5, 'dex': 21, 'hp': 40, 'atk': 60, 'def': 30, 'spd': 70, 'spc': 31, 'type1': 'Normal', | ||
|  |                 'type2': 'Flying', 'catch rate': 255, 'base exp': 58, 'start move 1': 'Peck', 'start move 2': 'Growl', | ||
|  |                 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                 'tms': bytearray(b'*\x03\x08\xc0B\x0c\n')}, | ||
|  |     'Fearow': {'id': 35, 'dex': 22, 'hp': 65, 'atk': 90, 'def': 65, 'spd': 100, 'spc': 61, 'type1': 'Normal', | ||
|  |                'type2': 'Flying', 'catch rate': 90, 'base exp': 162, 'start move 1': 'Peck', 'start move 2': 'Growl', | ||
|  |                'start move 3': 'Leer', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                'tms': bytearray(b'*C\x08\xc0B\x0c\n')}, | ||
|  |     'Ekans': {'id': 108, 'dex': 23, 'hp': 35, 'atk': 60, 'def': 44, 'spd': 55, 'spc': 40, 'type1': 'Poison', | ||
|  |               'type2': 'Poison', 'catch rate': 255, 'base exp': 62, 'start move 1': 'Wrap', 'start move 2': 'Leer', | ||
|  |               'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |               'tms': bytearray(b'\xa0\x03\x18\xce\x82\x88"')}, | ||
|  |     'Arbok': {'id': 45, 'dex': 24, 'hp': 60, 'atk': 85, 'def': 69, 'spd': 80, 'spc': 65, 'type1': 'Poison', | ||
|  |               'type2': 'Poison', 'catch rate': 90, 'base exp': 147, 'start move 1': 'Wrap', 'start move 2': 'Leer', | ||
|  |               'start move 3': 'Poison Sting', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |               'tms': bytearray(b'\xa0C\x18\xce\x82\x88"')}, | ||
|  |     'Pikachu': {'id': 84, 'dex': 25, 'hp': 35, 'atk': 55, 'def': 30, 'spd': 90, 'spc': 50, 'type1': 'Electric', | ||
|  |                 'type2': 'Electric', 'catch rate': 190, 'base exp': 82, 'start move 1': 'Thundershock', | ||
|  |                 'start move 2': 'Growl', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                 'tms': bytearray(b'\xb1\x83\x8d\xc1\xc3\x18B')}, | ||
|  |     'Raichu': {'id': 85, 'dex': 26, 'hp': 60, 'atk': 90, 'def': 55, 'spd': 100, 'spc': 90, 'type1': 'Electric', | ||
|  |                'type2': 'Electric', 'catch rate': 75, 'base exp': 122, 'start move 1': 'Thundershock', | ||
|  |                'start move 2': 'Growl', 'start move 3': 'Thunder Wave', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                'tms': bytearray(b'\xb1\xc3\x8d\xc1\xc3\x18B')}, | ||
|  |     'Sandshrew': {'id': 96, 'dex': 27, 'hp': 50, 'atk': 75, 'def': 85, 'spd': 40, 'spc': 30, 'type1': 'Ground', | ||
|  |                   'type2': 'Ground', 'catch rate': 255, 'base exp': 93, 'start move 1': 'Scratch', | ||
|  |                   'start move 2': 'No Move', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                   'tms': bytearray(b'\xa4\x03\r\xce\xc2\x88&')}, | ||
|  |     'Sandslash': {'id': 97, 'dex': 28, 'hp': 75, 'atk': 100, 'def': 110, 'spd': 65, 'spc': 55, 'type1': 'Ground', | ||
|  |                   'type2': 'Ground', 'catch rate': 90, 'base exp': 163, 'start move 1': 'Scratch', | ||
|  |                   'start move 2': 'Sand Attack', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                   'tms': bytearray(b'\xa4C\r\xce\xc2\x88&')}, | ||
|  |     'Nidoran F': {'id': 15, 'dex': 29, 'hp': 55, 'atk': 47, 'def': 52, 'spd': 41, 'spc': 40, 'type1': 'Poison', | ||
|  |                   'type2': 'Poison', 'catch rate': 235, 'base exp': 59, 'start move 1': 'Growl', | ||
|  |                   'start move 2': 'Tackle', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 3, | ||
|  |                   'tms': bytearray(b'\xa0#\x88\xc1\x83\x08\x02')}, | ||
|  |     'Nidorina': {'id': 168, 'dex': 30, 'hp': 70, 'atk': 62, 'def': 67, 'spd': 56, 'spc': 55, 'type1': 'Poison', | ||
|  |                  'type2': 'Poison', 'catch rate': 120, 'base exp': 117, 'start move 1': 'Growl', | ||
|  |                  'start move 2': 'Tackle', 'start move 3': 'Scratch', 'start move 4': 'No Move', 'growth rate': 3, | ||
|  |                  'tms': bytearray(b'\xe0?\x88\xc1\x83\x08\x02')}, | ||
|  |     'Nidoqueen': {'id': 16, 'dex': 31, 'hp': 90, 'atk': 82, 'def': 87, 'spd': 76, 'spc': 75, 'type1': 'Poison', | ||
|  |                   'type2': 'Ground', 'catch rate': 45, 'base exp': 194, 'start move 1': 'Tackle', | ||
|  |                   'start move 2': 'Scratch', 'start move 3': 'Tail Whip', 'start move 4': 'Body Slam', 'growth rate': 3, | ||
|  |                   'tms': bytearray(b'\xf1\xff\x8f\xc7\xa3\x882')}, | ||
|  |     'Nidoran M': {'id': 3, 'dex': 32, 'hp': 46, 'atk': 57, 'def': 40, 'spd': 50, 'spc': 40, 'type1': 'Poison', | ||
|  |                   'type2': 'Poison', 'catch rate': 235, 'base exp': 60, 'start move 1': 'Leer', | ||
|  |                   'start move 2': 'Tackle', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 3, | ||
|  |                   'tms': bytearray(b'\xe0#\x88\xc1\x83\x08\x02')}, | ||
|  |     'Nidorino': {'id': 167, 'dex': 33, 'hp': 61, 'atk': 72, 'def': 57, 'spd': 65, 'spc': 55, 'type1': 'Poison', | ||
|  |                  'type2': 'Poison', 'catch rate': 120, 'base exp': 118, 'start move 1': 'Leer', | ||
|  |                  'start move 2': 'Tackle', 'start move 3': 'Horn Attack', 'start move 4': 'No Move', 'growth rate': 3, | ||
|  |                  'tms': bytearray(b'\xe0?\x88\xc1\x83\x08\x02')}, | ||
|  |     'Nidoking': {'id': 7, 'dex': 34, 'hp': 81, 'atk': 92, 'def': 77, 'spd': 85, 'spc': 75, 'type1': 'Poison', | ||
|  |                  'type2': 'Ground', 'catch rate': 45, 'base exp': 195, 'start move 1': 'Tackle', | ||
|  |                  'start move 2': 'Horn Attack', 'start move 3': 'Poison Sting', 'start move 4': 'Thrash', | ||
|  |                  'growth rate': 3, 'tms': bytearray(b'\xf1\xff\x8f\xc7\xa3\x882')}, | ||
|  |     'Clefairy': {'id': 4, 'dex': 35, 'hp': 70, 'atk': 45, 'def': 48, 'spd': 35, 'spc': 60, 'type1': 'Normal', | ||
|  |                  'type2': 'Normal', 'catch rate': 150, 'base exp': 68, 'start move 1': 'Pound', 'start move 2': 'Growl', | ||
|  |                  'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 4, | ||
|  |                  'tms': bytearray(b'\xb1?\xaf\xf1\xa78c')}, | ||
|  |     'Clefable': {'id': 142, 'dex': 36, 'hp': 95, 'atk': 70, 'def': 73, 'spd': 60, 'spc': 85, 'type1': 'Normal', | ||
|  |                  'type2': 'Normal', 'catch rate': 25, 'base exp': 129, 'start move 1': 'Sing', | ||
|  |                  'start move 2': 'Doubleslap', 'start move 3': 'Minimize', 'start move 4': 'Metronome', | ||
|  |                  'growth rate': 4, 'tms': bytearray(b'\xb1\x7f\xaf\xf1\xa78c')}, | ||
|  |     'Vulpix': {'id': 82, 'dex': 37, 'hp': 38, 'atk': 41, 'def': 40, 'spd': 65, 'spc': 65, 'type1': 'Fire', | ||
|  |                'type2': 'Fire', 'catch rate': 190, 'base exp': 63, 'start move 1': 'Ember', 'start move 2': 'Tail Whip', | ||
|  |                'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                'tms': bytearray(b'\xa0\x03\x08\xc8\xe3\x08\x02')}, | ||
|  |     'Ninetales': {'id': 83, 'dex': 38, 'hp': 73, 'atk': 76, 'def': 75, 'spd': 100, 'spc': 100, 'type1': 'Fire', | ||
|  |                   'type2': 'Fire', 'catch rate': 75, 'base exp': 178, 'start move 1': 'Ember', | ||
|  |                   'start move 2': 'Tail Whip', 'start move 3': 'Quick Attack', 'start move 4': 'Roar', 'growth rate': 0, | ||
|  |                   'tms': bytearray(b'\xa0C\x08\xc8\xe3\x08\x02')}, | ||
|  |     'Jigglypuff': {'id': 100, 'dex': 39, 'hp': 115, 'atk': 45, 'def': 20, 'spd': 20, 'spc': 25, 'type1': 'Normal', | ||
|  |                    'type2': 'Normal', 'catch rate': 170, 'base exp': 76, 'start move 1': 'Sing', | ||
|  |                    'start move 2': 'No Move', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 4, | ||
|  |                    'tms': bytearray(b'\xb1?\xaf\xf1\xa38c')}, | ||
|  |     'Wigglytuff': {'id': 101, 'dex': 40, 'hp': 140, 'atk': 70, 'def': 45, 'spd': 45, 'spc': 50, 'type1': 'Normal', | ||
|  |                    'type2': 'Normal', 'catch rate': 50, 'base exp': 109, 'start move 1': 'Sing', | ||
|  |                    'start move 2': 'Disable', 'start move 3': 'Defense Curl', 'start move 4': 'Doubleslap', | ||
|  |                    'growth rate': 4, 'tms': bytearray(b'\xb1\x7f\xaf\xf1\xa38c')}, | ||
|  |     'Zubat': {'id': 107, 'dex': 41, 'hp': 40, 'atk': 45, 'def': 35, 'spd': 55, 'spc': 40, 'type1': 'Poison', | ||
|  |               'type2': 'Flying', 'catch rate': 255, 'base exp': 54, 'start move 1': 'Leech Life', | ||
|  |               'start move 2': 'No Move', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |               'tms': bytearray(b'*\x03\x18\xc0B\x08\x02')}, | ||
|  |     'Golbat': {'id': 130, 'dex': 42, 'hp': 75, 'atk': 80, 'def': 70, 'spd': 90, 'spc': 75, 'type1': 'Poison', | ||
|  |                'type2': 'Flying', 'catch rate': 90, 'base exp': 171, 'start move 1': 'Leech Life', | ||
|  |                'start move 2': 'Screech', 'start move 3': 'Bite', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                'tms': bytearray(b'*C\x18\xc0B\x08\x02')}, | ||
|  |     'Oddish': {'id': 185, 'dex': 43, 'hp': 45, 'atk': 50, 'def': 55, 'spd': 30, 'spc': 75, 'type1': 'Grass', | ||
|  |                'type2': 'Poison', 'catch rate': 255, 'base exp': 78, 'start move 1': 'Absorb', | ||
|  |                'start move 2': 'No Move', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 3, | ||
|  |                'tms': bytearray(b'$\x038\xc0\x03\x08\x06')}, | ||
|  |     'Gloom': {'id': 186, 'dex': 44, 'hp': 60, 'atk': 65, 'def': 70, 'spd': 40, 'spc': 85, 'type1': 'Grass', | ||
|  |               'type2': 'Poison', 'catch rate': 120, 'base exp': 132, 'start move 1': 'Absorb', | ||
|  |               'start move 2': 'Poisonpowder', 'start move 3': 'Stun Spore', 'start move 4': 'No Move', 'growth rate': 3, | ||
|  |               'tms': bytearray(b'$\x038\xc0\x03\x08\x06')}, | ||
|  |     'Vileplume': {'id': 187, 'dex': 45, 'hp': 75, 'atk': 80, 'def': 85, 'spd': 50, 'spc': 100, 'type1': 'Grass', | ||
|  |                   'type2': 'Poison', 'catch rate': 45, 'base exp': 184, 'start move 1': 'Stun Spore', | ||
|  |                   'start move 2': 'Sleep Powder', 'start move 3': 'Acid', 'start move 4': 'Petal Dance', | ||
|  |                   'growth rate': 3, 'tms': bytearray(b'\xa4C8\xc0\x03\x08\x06')}, | ||
|  |     'Paras': {'id': 109, 'dex': 46, 'hp': 35, 'atk': 70, 'def': 55, 'spd': 25, 'spc': 55, 'type1': 'Bug', | ||
|  |               'type2': 'Grass', 'catch rate': 190, 'base exp': 70, 'start move 1': 'Scratch', 'start move 2': 'No Move', | ||
|  |               'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |               'tms': bytearray(b'\xa4\x038\xc8\x83\x08\x06')}, | ||
|  |     'Parasect': {'id': 46, 'dex': 47, 'hp': 60, 'atk': 95, 'def': 80, 'spd': 30, 'spc': 80, 'type1': 'Bug', | ||
|  |                  'type2': 'Grass', 'catch rate': 75, 'base exp': 128, 'start move 1': 'Scratch', | ||
|  |                  'start move 2': 'Stun Spore', 'start move 3': 'Leech Life', 'start move 4': 'No Move', | ||
|  |                  'growth rate': 0, 'tms': bytearray(b'\xa4C8\xc8\x83\x08\x06')}, | ||
|  |     'Venonat': {'id': 65, 'dex': 48, 'hp': 60, 'atk': 55, 'def': 50, 'spd': 45, 'spc': 40, 'type1': 'Bug', | ||
|  |                 'type2': 'Poison', 'catch rate': 190, 'base exp': 75, 'start move 1': 'Tackle', | ||
|  |                 'start move 2': 'Disable', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                 'tms': bytearray(b' \x038\xd0\x03(\x02')}, | ||
|  |     'Venomoth': {'id': 119, 'dex': 49, 'hp': 70, 'atk': 65, 'def': 60, 'spd': 90, 'spc': 90, 'type1': 'Bug', | ||
|  |                  'type2': 'Poison', 'catch rate': 75, 'base exp': 138, 'start move 1': 'Tackle', | ||
|  |                  'start move 2': 'Disable', 'start move 3': 'Poisonpowder', 'start move 4': 'Leech Life', | ||
|  |                  'growth rate': 0, 'tms': bytearray(b'*C8\xf0C(\x02')}, | ||
|  |     'Diglett': {'id': 59, 'dex': 50, 'hp': 10, 'atk': 55, 'def': 25, 'spd': 95, 'spc': 45, 'type1': 'Ground', | ||
|  |                 'type2': 'Ground', 'catch rate': 255, 'base exp': 81, 'start move 1': 'Scratch', | ||
|  |                 'start move 2': 'No Move', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                 'tms': bytearray(b'\xa0\x03\x08\xce\x02\x88\x02')}, | ||
|  |     'Dugtrio': {'id': 118, 'dex': 51, 'hp': 35, 'atk': 80, 'def': 50, 'spd': 120, 'spc': 70, 'type1': 'Ground', | ||
|  |                 'type2': 'Ground', 'catch rate': 50, 'base exp': 153, 'start move 1': 'Scratch', | ||
|  |                 'start move 2': 'Growl', 'start move 3': 'Dig', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                 'tms': bytearray(b'\xa0C\x08\xce\x02\x88\x02')}, | ||
|  |     'Meowth': {'id': 77, 'dex': 52, 'hp': 40, 'atk': 45, 'def': 35, 'spd': 90, 'spc': 40, 'type1': 'Normal', | ||
|  |                'type2': 'Normal', 'catch rate': 255, 'base exp': 69, 'start move 1': 'Scratch', 'start move 2': 'Growl', | ||
|  |                'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                'tms': bytearray(b'\xa0\x8f\x88\xc1\xc2\x08\x02')}, | ||
|  |     'Persian': {'id': 144, 'dex': 53, 'hp': 65, 'atk': 70, 'def': 60, 'spd': 115, 'spc': 65, 'type1': 'Normal', | ||
|  |                 'type2': 'Normal', 'catch rate': 90, 'base exp': 148, 'start move 1': 'Scratch', | ||
|  |                 'start move 2': 'Growl', 'start move 3': 'Bite', 'start move 4': 'Screech', 'growth rate': 0, | ||
|  |                 'tms': bytearray(b'\xa0\xcf\x88\xc1\xc2\x08\x02')}, | ||
|  |     'Psyduck': {'id': 47, 'dex': 54, 'hp': 50, 'atk': 52, 'def': 48, 'spd': 55, 'spc': 50, 'type1': 'Water', | ||
|  |                 'type2': 'Water', 'catch rate': 190, 'base exp': 80, 'start move 1': 'Scratch', | ||
|  |                 'start move 2': 'No Move', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                 'tms': bytearray(b'\xb1\xbf\x0f\xc8\xc2\x082')}, | ||
|  |     'Golduck': {'id': 128, 'dex': 55, 'hp': 80, 'atk': 82, 'def': 78, 'spd': 85, 'spc': 80, 'type1': 'Water', | ||
|  |                 'type2': 'Water', 'catch rate': 75, 'base exp': 174, 'start move 1': 'Scratch', | ||
|  |                 'start move 2': 'Tail Whip', 'start move 3': 'Disable', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                 'tms': bytearray(b'\xb1\xff\x0f\xc8\xc2\x082')}, | ||
|  |     'Mankey': {'id': 57, 'dex': 56, 'hp': 40, 'atk': 80, 'def': 35, 'spd': 70, 'spc': 35, 'type1': 'Fighting', | ||
|  |                'type2': 'Fighting', 'catch rate': 190, 'base exp': 74, 'start move 1': 'Scratch', | ||
|  |                'start move 2': 'Leer', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                'tms': bytearray(b'\xb1\x83\x8f\xc9\xc6\x88"')}, | ||
|  |     'Primeape': {'id': 117, 'dex': 57, 'hp': 65, 'atk': 105, 'def': 60, 'spd': 95, 'spc': 60, 'type1': 'Fighting', | ||
|  |                  'type2': 'Fighting', 'catch rate': 75, 'base exp': 149, 'start move 1': 'Scratch', | ||
|  |                  'start move 2': 'Leer', 'start move 3': 'Karate Chop', 'start move 4': 'Fury Swipes', 'growth rate': 0, | ||
|  |                  'tms': bytearray(b'\xb1\xc3\x8f\xc9\xc6\x88"')}, | ||
|  |     'Growlithe': {'id': 33, 'dex': 58, 'hp': 55, 'atk': 70, 'def': 45, 'spd': 60, 'spc': 50, 'type1': 'Fire', | ||
|  |                   'type2': 'Fire', 'catch rate': 190, 'base exp': 91, 'start move 1': 'Bite', 'start move 2': 'Roar', | ||
|  |                   'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 5, | ||
|  |                   'tms': bytearray(b'\xa0\x03H\xc8\xe3\x08\x02')}, | ||
|  |     'Arcanine': {'id': 20, 'dex': 59, 'hp': 90, 'atk': 110, 'def': 80, 'spd': 95, 'spc': 80, 'type1': 'Fire', | ||
|  |                  'type2': 'Fire', 'catch rate': 75, 'base exp': 213, 'start move 1': 'Roar', 'start move 2': 'Ember', | ||
|  |                  'start move 3': 'Leer', 'start move 4': 'Take Down', 'growth rate': 5, | ||
|  |                  'tms': bytearray(b'\xa0CH\xe8\xe3\x08\x02')}, | ||
|  |     'Poliwag': {'id': 71, 'dex': 60, 'hp': 40, 'atk': 50, 'def': 40, 'spd': 90, 'spc': 40, 'type1': 'Water', | ||
|  |                 'type2': 'Water', 'catch rate': 255, 'base exp': 77, 'start move 1': 'Bubble', | ||
|  |                 'start move 2': 'No Move', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 3, | ||
|  |                 'tms': bytearray(b'\xa0?\x08\xd0\x82(\x12')}, | ||
|  |     'Poliwhirl': {'id': 110, 'dex': 61, 'hp': 65, 'atk': 65, 'def': 65, 'spd': 90, 'spc': 50, 'type1': 'Water', | ||
|  |                   'type2': 'Water', 'catch rate': 120, 'base exp': 131, 'start move 1': 'Bubble', | ||
|  |                   'start move 2': 'Hypnosis', 'start move 3': 'Water Gun', 'start move 4': 'No Move', 'growth rate': 3, | ||
|  |                   'tms': bytearray(b'\xb1?\x0f\xd6\x86(2')}, | ||
|  |     'Poliwrath': {'id': 111, 'dex': 62, 'hp': 90, 'atk': 85, 'def': 95, 'spd': 70, 'spc': 70, 'type1': 'Water', | ||
|  |                   'type2': 'Fighting', 'catch rate': 45, 'base exp': 185, 'start move 1': 'Hypnosis', | ||
|  |                   'start move 2': 'Water Gun', 'start move 3': 'Doubleslap', 'start move 4': 'Body Slam', | ||
|  |                   'growth rate': 3, 'tms': bytearray(b'\xb1\x7f\x0f\xd6\x86(2')}, | ||
|  |     'Abra': {'id': 148, 'dex': 63, 'hp': 25, 'atk': 20, 'def': 15, 'spd': 90, 'spc': 105, 'type1': 'Psychic', | ||
|  |              'type2': 'Psychic', 'catch rate': 200, 'base exp': 73, 'start move 1': 'Teleport', | ||
|  |              'start move 2': 'No Move', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 3, | ||
|  |              'tms': bytearray(b'\xb1\x03\x0f\xf0\x878C')}, | ||
|  |     'Kadabra': {'id': 38, 'dex': 64, 'hp': 40, 'atk': 35, 'def': 30, 'spd': 105, 'spc': 120, 'type1': 'Psychic', | ||
|  |                 'type2': 'Psychic', 'catch rate': 100, 'base exp': 145, 'start move 1': 'Teleport', | ||
|  |                 'start move 2': 'Confusion', 'start move 3': 'Disable', 'start move 4': 'No Move', 'growth rate': 3, | ||
|  |                 'tms': bytearray(b'\xb1\x03\x0f\xf8\x878C')}, | ||
|  |     'Alakazam': {'id': 149, 'dex': 65, 'hp': 55, 'atk': 50, 'def': 45, 'spd': 120, 'spc': 135, 'type1': 'Psychic', | ||
|  |                  'type2': 'Psychic', 'catch rate': 50, 'base exp': 186, 'start move 1': 'Teleport', | ||
|  |                  'start move 2': 'Confusion', 'start move 3': 'Disable', 'start move 4': 'No Move', 'growth rate': 3, | ||
|  |                  'tms': bytearray(b'\xb1C\x0f\xf8\x878C')}, | ||
|  |     'Machop': {'id': 106, 'dex': 66, 'hp': 70, 'atk': 80, 'def': 50, 'spd': 35, 'spc': 35, 'type1': 'Fighting', | ||
|  |                'type2': 'Fighting', 'catch rate': 180, 'base exp': 88, 'start move 1': 'Karate Chop', | ||
|  |                'start move 2': 'No Move', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 3, | ||
|  |                'tms': bytearray(b'\xb1\x03\x0f\xce\xa6\x88"')}, | ||
|  |     'Machoke': {'id': 41, 'dex': 67, 'hp': 80, 'atk': 100, 'def': 70, 'spd': 45, 'spc': 50, 'type1': 'Fighting', | ||
|  |                 'type2': 'Fighting', 'catch rate': 90, 'base exp': 146, 'start move 1': 'Karate Chop', | ||
|  |                 'start move 2': 'Low Kick', 'start move 3': 'Leer', 'start move 4': 'No Move', 'growth rate': 3, | ||
|  |                 'tms': bytearray(b'\xb1\x03\x0f\xce\xa6\x88"')}, | ||
|  |     'Machamp': {'id': 126, 'dex': 68, 'hp': 90, 'atk': 130, 'def': 80, 'spd': 55, 'spc': 65, 'type1': 'Fighting', | ||
|  |                 'type2': 'Fighting', 'catch rate': 45, 'base exp': 193, 'start move 1': 'Karate Chop', | ||
|  |                 'start move 2': 'Low Kick', 'start move 3': 'Leer', 'start move 4': 'No Move', 'growth rate': 3, | ||
|  |                 'tms': bytearray(b'\xb1C\x0f\xce\xa6\x88"')}, | ||
|  |     'Bellsprout': {'id': 188, 'dex': 69, 'hp': 50, 'atk': 75, 'def': 35, 'spd': 40, 'spc': 70, 'type1': 'Grass', | ||
|  |                    'type2': 'Poison', 'catch rate': 255, 'base exp': 84, 'start move 1': 'Vine Whip', | ||
|  |                    'start move 2': 'Growth', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 3, | ||
|  |                    'tms': bytearray(b'$\x038\xc0\x03\x08\x06')}, | ||
|  |     'Weepinbell': {'id': 189, 'dex': 70, 'hp': 65, 'atk': 90, 'def': 50, 'spd': 55, 'spc': 85, 'type1': 'Grass', | ||
|  |                    'type2': 'Poison', 'catch rate': 120, 'base exp': 151, 'start move 1': 'Vine Whip', | ||
|  |                    'start move 2': 'Growth', 'start move 3': 'Wrap', 'start move 4': 'No Move', 'growth rate': 3, | ||
|  |                    'tms': bytearray(b'$\x038\xc0\x03\x08\x06')}, | ||
|  |     'Victreebel': {'id': 190, 'dex': 71, 'hp': 80, 'atk': 105, 'def': 65, 'spd': 70, 'spc': 100, 'type1': 'Grass', | ||
|  |                    'type2': 'Poison', 'catch rate': 45, 'base exp': 191, 'start move 1': 'Sleep Powder', | ||
|  |                    'start move 2': 'Stun Spore', 'start move 3': 'Acid', 'start move 4': 'Razor Leaf', 'growth rate': 3, | ||
|  |                    'tms': bytearray(b'\xa4C8\xc0\x03\x08\x06')}, | ||
|  |     'Tentacool': {'id': 24, 'dex': 72, 'hp': 40, 'atk': 40, 'def': 35, 'spd': 70, 'spc': 100, 'type1': 'Water', | ||
|  |                   'type2': 'Poison', 'catch rate': 190, 'base exp': 105, 'start move 1': 'Acid', | ||
|  |                   'start move 2': 'No Move', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 5, | ||
|  |                   'tms': bytearray(b'$?\x18\xc0\x83\x08\x16')}, | ||
|  |     'Tentacruel': {'id': 155, 'dex': 73, 'hp': 80, 'atk': 70, 'def': 65, 'spd': 100, 'spc': 120, 'type1': 'Water', | ||
|  |                    'type2': 'Poison', 'catch rate': 60, 'base exp': 205, 'start move 1': 'Acid', | ||
|  |                    'start move 2': 'Supersonic', 'start move 3': 'Wrap', 'start move 4': 'No Move', 'growth rate': 5, | ||
|  |                    'tms': bytearray(b'$\x7f\x18\xc0\x83\x08\x16')}, | ||
|  |     'Geodude': {'id': 169, 'dex': 74, 'hp': 40, 'atk': 80, 'def': 100, 'spd': 20, 'spc': 30, 'type1': 'Rock', | ||
|  |                 'type2': 'Ground', 'catch rate': 255, 'base exp': 86, 'start move 1': 'Tackle', | ||
|  |                 'start move 2': 'No Move', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 3, | ||
|  |                 'tms': bytearray(b'\xa1\x03\x0f\xce.\xc8"')}, | ||
|  |     'Graveler': {'id': 39, 'dex': 75, 'hp': 55, 'atk': 95, 'def': 115, 'spd': 35, 'spc': 45, 'type1': 'Rock', | ||
|  |                  'type2': 'Ground', 'catch rate': 120, 'base exp': 134, 'start move 1': 'Tackle', | ||
|  |                  'start move 2': 'Defense Curl', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 3, | ||
|  |                  'tms': bytearray(b'\xa1\x03\x0f\xce.\xc8"')}, | ||
|  |     'Golem': {'id': 49, 'dex': 76, 'hp': 80, 'atk': 110, 'def': 130, 'spd': 45, 'spc': 55, 'type1': 'Rock', | ||
|  |               'type2': 'Ground', 'catch rate': 45, 'base exp': 177, 'start move 1': 'Tackle', | ||
|  |               'start move 2': 'Defense Curl', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 3, | ||
|  |               'tms': bytearray(b'\xb1C\x0f\xce.\xc8"')}, | ||
|  |     'Ponyta': {'id': 163, 'dex': 77, 'hp': 50, 'atk': 85, 'def': 55, 'spd': 90, 'spc': 65, 'type1': 'Fire', | ||
|  |                'type2': 'Fire', 'catch rate': 190, 'base exp': 152, 'start move 1': 'Ember', 'start move 2': 'No Move', | ||
|  |                'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                'tms': bytearray(b'\xe0\x03\x08\xc0\xe3\x08\x02')}, | ||
|  |     'Rapidash': {'id': 164, 'dex': 78, 'hp': 65, 'atk': 100, 'def': 70, 'spd': 105, 'spc': 80, 'type1': 'Fire', | ||
|  |                  'type2': 'Fire', 'catch rate': 60, 'base exp': 192, 'start move 1': 'Ember', | ||
|  |                  'start move 2': 'Tail Whip', 'start move 3': 'Stomp', 'start move 4': 'Growl', 'growth rate': 0, | ||
|  |                  'tms': bytearray(b'\xe0C\x08\xc0\xe3\x08\x02')}, | ||
|  |     'Slowpoke': {'id': 37, 'dex': 79, 'hp': 90, 'atk': 65, 'def': 65, 'spd': 15, 'spc': 40, 'type1': 'Water', | ||
|  |                  'type2': 'Psychic', 'catch rate': 190, 'base exp': 99, 'start move 1': 'Confusion', | ||
|  |                  'start move 2': 'No Move', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                  'tms': bytearray(b'\xa0\xbf\x08\xfe\xe38s')}, | ||
|  |     'Slowbro': {'id': 8, 'dex': 80, 'hp': 95, 'atk': 75, 'def': 110, 'spd': 30, 'spc': 80, 'type1': 'Water', | ||
|  |                 'type2': 'Psychic', 'catch rate': 75, 'base exp': 164, 'start move 1': 'Confusion', | ||
|  |                 'start move 2': 'Disable', 'start move 3': 'Headbutt', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                 'tms': bytearray(b'\xb1\xff\x0f\xfe\xe38s')}, | ||
|  |     'Magnemite': {'id': 173, 'dex': 81, 'hp': 25, 'atk': 35, 'def': 70, 'spd': 45, 'spc': 95, 'type1': 'Electric', | ||
|  |                   'type2': 'Electric', 'catch rate': 190, 'base exp': 89, 'start move 1': 'Tackle', | ||
|  |                   'start move 2': 'No Move', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                   'tms': bytearray(b' \x03\x88\xe1C\x18B')}, | ||
|  |     'Magneton': {'id': 54, 'dex': 82, 'hp': 50, 'atk': 60, 'def': 95, 'spd': 70, 'spc': 120, 'type1': 'Electric', | ||
|  |                  'type2': 'Electric', 'catch rate': 60, 'base exp': 161, 'start move 1': 'Tackle', | ||
|  |                  'start move 2': 'Sonicboom', 'start move 3': 'Thundershock', 'start move 4': 'No Move', | ||
|  |                  'growth rate': 0, 'tms': bytearray(b' C\x88\xe1C\x18B')}, | ||
|  |     'Farfetchd': {'id': 64, 'dex': 83, 'hp': 52, 'atk': 65, 'def': 55, 'spd': 60, 'spc': 58, 'type1': 'Normal', | ||
|  |                   'type2': 'Flying', 'catch rate': 45, 'base exp': 94, 'start move 1': 'Peck', | ||
|  |                   'start move 2': 'Sand Attack', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                   'tms': bytearray(b'\xae\x03\x08\xc0\xc3\x08\x0e')}, | ||
|  |     'Doduo': {'id': 70, 'dex': 84, 'hp': 35, 'atk': 85, 'def': 45, 'spd': 75, 'spc': 35, 'type1': 'Normal', | ||
|  |               'type2': 'Flying', 'catch rate': 190, 'base exp': 96, 'start move 1': 'Peck', 'start move 2': 'No Move', | ||
|  |               'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |               'tms': bytearray(b'\xa8\x03\x08\xc0\x83\x0c\x0b')}, | ||
|  |     'Dodrio': {'id': 116, 'dex': 85, 'hp': 60, 'atk': 110, 'def': 70, 'spd': 100, 'spc': 60, 'type1': 'Normal', | ||
|  |                'type2': 'Flying', 'catch rate': 45, 'base exp': 158, 'start move 1': 'Peck', 'start move 2': 'Growl', | ||
|  |                'start move 3': 'Fury Attack', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                'tms': bytearray(b'\xa8C\x08\xc0\x83\x0c\x0b')}, | ||
|  |     'Seel': {'id': 58, 'dex': 86, 'hp': 65, 'atk': 45, 'def': 55, 'spd': 45, 'spc': 70, 'type1': 'Water', | ||
|  |              'type2': 'Water', 'catch rate': 190, 'base exp': 100, 'start move 1': 'Headbutt', | ||
|  |              'start move 2': 'No Move', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |              'tms': bytearray(b'\xe0\xbf\x08\xc0\x82\x082')}, | ||
|  |     'Dewgong': {'id': 120, 'dex': 87, 'hp': 90, 'atk': 70, 'def': 80, 'spd': 70, 'spc': 95, 'type1': 'Water', | ||
|  |                 'type2': 'Ice', 'catch rate': 75, 'base exp': 176, 'start move 1': 'Headbutt', 'start move 2': 'Growl', | ||
|  |                 'start move 3': 'Aurora Beam', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                 'tms': bytearray(b'\xe0\xff\x08\xc0\x82\x082')}, | ||
|  |     'Grimer': {'id': 13, 'dex': 88, 'hp': 80, 'atk': 80, 'def': 50, 'spd': 25, 'spc': 40, 'type1': 'Poison', | ||
|  |                'type2': 'Poison', 'catch rate': 190, 'base exp': 90, 'start move 1': 'Pound', 'start move 2': 'Disable', | ||
|  |                'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                'tms': bytearray(b'\xa0\x00\x98\xc1*H\x02')}, | ||
|  |     'Muk': {'id': 136, 'dex': 89, 'hp': 105, 'atk': 105, 'def': 75, 'spd': 50, 'spc': 65, 'type1': 'Poison', | ||
|  |             'type2': 'Poison', 'catch rate': 75, 'base exp': 157, 'start move 1': 'Pound', 'start move 2': 'Disable', | ||
|  |             'start move 3': 'Poison Gas', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |             'tms': bytearray(b'\xa0@\x98\xc1*H\x02')}, | ||
|  |     'Shellder': {'id': 23, 'dex': 90, 'hp': 30, 'atk': 65, 'def': 100, 'spd': 40, 'spc': 45, 'type1': 'Water', | ||
|  |                  'type2': 'Water', 'catch rate': 190, 'base exp': 97, 'start move 1': 'Tackle', | ||
|  |                  'start move 2': 'Withdraw', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 5, | ||
|  |                  'tms': bytearray(b' ?\x08\xe0KH\x13')}, | ||
|  |     'Cloyster': {'id': 139, 'dex': 91, 'hp': 50, 'atk': 95, 'def': 180, 'spd': 70, 'spc': 85, 'type1': 'Water', | ||
|  |                  'type2': 'Ice', 'catch rate': 60, 'base exp': 203, 'start move 1': 'Withdraw', | ||
|  |                  'start move 2': 'Supersonic', 'start move 3': 'Clamp', 'start move 4': 'Aurora Beam', 'growth rate': 5, | ||
|  |                  'tms': bytearray(b' \x7f\x08\xe0KH\x13')}, | ||
|  |     'Gastly': {'id': 25, 'dex': 92, 'hp': 30, 'atk': 35, 'def': 30, 'spd': 80, 'spc': 100, 'type1': 'Ghost', | ||
|  |                'type2': 'Poison', 'catch rate': 190, 'base exp': 95, 'start move 1': 'Lick', | ||
|  |                'start move 2': 'Confuse Ray', 'start move 3': 'Night Shade', 'start move 4': 'No Move', | ||
|  |                'growth rate': 3, 'tms': bytearray(b' \x00\x98\xd1\nj\x02')}, | ||
|  |     'Haunter': {'id': 147, 'dex': 93, 'hp': 45, 'atk': 50, 'def': 45, 'spd': 95, 'spc': 115, 'type1': 'Ghost', | ||
|  |                 'type2': 'Poison', 'catch rate': 90, 'base exp': 126, 'start move 1': 'Lick', | ||
|  |                 'start move 2': 'Confuse Ray', 'start move 3': 'Night Shade', 'start move 4': 'No Move', | ||
|  |                 'growth rate': 3, 'tms': bytearray(b' \x00\x98\xd1\nj\x02')}, | ||
|  |     'Gengar': {'id': 14, 'dex': 94, 'hp': 60, 'atk': 65, 'def': 60, 'spd': 110, 'spc': 130, 'type1': 'Ghost', | ||
|  |                'type2': 'Poison', 'catch rate': 45, 'base exp': 190, 'start move 1': 'Lick', | ||
|  |                'start move 2': 'Confuse Ray', 'start move 3': 'Night Shade', 'start move 4': 'No Move', | ||
|  |                'growth rate': 3, 'tms': bytearray(b'\xb1C\x9f\xd1\x8ej"')}, | ||
|  |     'Onix': {'id': 34, 'dex': 95, 'hp': 35, 'atk': 45, 'def': 160, 'spd': 70, 'spc': 30, 'type1': 'Rock', | ||
|  |              'type2': 'Ground', 'catch rate': 45, 'base exp': 108, 'start move 1': 'Tackle', 'start move 2': 'Screech', | ||
|  |              'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |              'tms': bytearray(b'\xa0\x03\x08\xce\x8a\xc8"')}, | ||
|  |     'Drowzee': {'id': 48, 'dex': 96, 'hp': 60, 'atk': 48, 'def': 45, 'spd': 42, 'spc': 90, 'type1': 'Psychic', | ||
|  |                 'type2': 'Psychic', 'catch rate': 190, 'base exp': 102, 'start move 1': 'Pound', | ||
|  |                 'start move 2': 'Hypnosis', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                 'tms': bytearray(b'\xb1\x03\x0f\xf0\x87:C')}, | ||
|  |     'Hypno': {'id': 129, 'dex': 97, 'hp': 85, 'atk': 73, 'def': 70, 'spd': 67, 'spc': 115, 'type1': 'Psychic', | ||
|  |               'type2': 'Psychic', 'catch rate': 75, 'base exp': 165, 'start move 1': 'Pound', | ||
|  |               'start move 2': 'Hypnosis', 'start move 3': 'Disable', 'start move 4': 'Confusion', 'growth rate': 0, | ||
|  |               'tms': bytearray(b'\xb1C\x0f\xf0\x87:C')}, | ||
|  |     'Krabby': {'id': 78, 'dex': 98, 'hp': 30, 'atk': 105, 'def': 90, 'spd': 50, 'spc': 25, 'type1': 'Water', | ||
|  |                'type2': 'Water', 'catch rate': 225, 'base exp': 115, 'start move 1': 'Bubble', 'start move 2': 'Leer', | ||
|  |                'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                'tms': bytearray(b'\xa4?\x08\xc0\x02\x086')}, | ||
|  |     'Kingler': {'id': 138, 'dex': 99, 'hp': 55, 'atk': 130, 'def': 115, 'spd': 75, 'spc': 50, 'type1': 'Water', | ||
|  |                 'type2': 'Water', 'catch rate': 60, 'base exp': 206, 'start move 1': 'Bubble', 'start move 2': 'Leer', | ||
|  |                 'start move 3': 'Vicegrip', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                 'tms': bytearray(b'\xa4\x7f\x08\xc0\x02\x086')}, | ||
|  |     'Voltorb': {'id': 6, 'dex': 100, 'hp': 40, 'atk': 30, 'def': 50, 'spd': 100, 'spc': 55, 'type1': 'Electric', | ||
|  |                 'type2': 'Electric', 'catch rate': 190, 'base exp': 103, 'start move 1': 'Tackle', | ||
|  |                 'start move 2': 'Screech', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                 'tms': bytearray(b' \x01\x88\xe1KXB')}, | ||
|  |     'Electrode': {'id': 141, 'dex': 101, 'hp': 60, 'atk': 50, 'def': 70, 'spd': 140, 'spc': 80, 'type1': 'Electric', | ||
|  |                   'type2': 'Electric', 'catch rate': 60, 'base exp': 150, 'start move 1': 'Tackle', | ||
|  |                   'start move 2': 'Screech', 'start move 3': 'Sonicboom', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                   'tms': bytearray(b' A\x88\xe1\xcbXB')}, | ||
|  |     'Exeggcute': {'id': 12, 'dex': 102, 'hp': 60, 'atk': 40, 'def': 80, 'spd': 40, 'spc': 60, 'type1': 'Grass', | ||
|  |                   'type2': 'Psychic', 'catch rate': 90, 'base exp': 98, 'start move 1': 'Barrage', | ||
|  |                   'start move 2': 'Hypnosis', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 5, | ||
|  |                   'tms': bytearray(b' \x03\x08\xf0\x1bh\x02')}, | ||
|  |     'Exeggutor': {'id': 10, 'dex': 103, 'hp': 95, 'atk': 95, 'def': 85, 'spd': 55, 'spc': 125, 'type1': 'Grass', | ||
|  |                   'type2': 'Psychic', 'catch rate': 45, 'base exp': 212, 'start move 1': 'Barrage', | ||
|  |                   'start move 2': 'Hypnosis', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 5, | ||
|  |                   'tms': bytearray(b' C8\xf0\x1bh"')}, | ||
|  |     'Cubone': {'id': 17, 'dex': 104, 'hp': 50, 'atk': 50, 'def': 95, 'spd': 35, 'spc': 40, 'type1': 'Ground', | ||
|  |                'type2': 'Ground', 'catch rate': 190, 'base exp': 87, 'start move 1': 'Bone Club', | ||
|  |                'start move 2': 'Growl', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                'tms': bytearray(b'\xb1?\x0f\xce\xa2\x08"')}, | ||
|  |     'Marowak': {'id': 145, 'dex': 105, 'hp': 60, 'atk': 80, 'def': 110, 'spd': 45, 'spc': 50, 'type1': 'Ground', | ||
|  |                 'type2': 'Ground', 'catch rate': 75, 'base exp': 124, 'start move 1': 'Bone Club', | ||
|  |                 'start move 2': 'Growl', 'start move 3': 'Leer', 'start move 4': 'Focus Energy', 'growth rate': 0, | ||
|  |                 'tms': bytearray(b'\xb1\x7f\x0f\xce\xa2\x08"')}, | ||
|  |     'Hitmonlee': {'id': 43, 'dex': 106, 'hp': 50, 'atk': 120, 'def': 53, 'spd': 87, 'spc': 35, 'type1': 'Fighting', | ||
|  |                   'type2': 'Fighting', 'catch rate': 45, 'base exp': 139, 'start move 1': 'Double Kick', | ||
|  |                   'start move 2': 'Meditate', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                   'tms': bytearray(b'\xb1\x03\x0f\xc0\xc6\x08"')}, | ||
|  |     'Hitmonchan': {'id': 44, 'dex': 107, 'hp': 50, 'atk': 105, 'def': 79, 'spd': 76, 'spc': 35, 'type1': 'Fighting', | ||
|  |                    'type2': 'Fighting', 'catch rate': 45, 'base exp': 140, 'start move 1': 'Comet Punch', | ||
|  |                    'start move 2': 'Agility', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                    'tms': bytearray(b'\xb1\x03\x0f\xc0\xc6\x08"')}, | ||
|  |     'Lickitung': {'id': 11, 'dex': 108, 'hp': 90, 'atk': 55, 'def': 75, 'spd': 30, 'spc': 60, 'type1': 'Normal', | ||
|  |                   'type2': 'Normal', 'catch rate': 45, 'base exp': 127, 'start move 1': 'Wrap', | ||
|  |                   'start move 2': 'Supersonic', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                   'tms': bytearray(b'\xb5\x7f\x8f\xc7\xa2\x086')}, | ||
|  |     'Koffing': {'id': 55, 'dex': 109, 'hp': 40, 'atk': 65, 'def': 95, 'spd': 35, 'spc': 60, 'type1': 'Poison', | ||
|  |                 'type2': 'Poison', 'catch rate': 190, 'base exp': 114, 'start move 1': 'Tackle', 'start move 2': 'Smog', | ||
|  |                 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                 'tms': bytearray(b' \x00\x88\xc1*H\x02')}, | ||
|  |     'Weezing': {'id': 143, 'dex': 110, 'hp': 65, 'atk': 90, 'def': 120, 'spd': 60, 'spc': 85, 'type1': 'Poison', | ||
|  |                 'type2': 'Poison', 'catch rate': 60, 'base exp': 173, 'start move 1': 'Tackle', 'start move 2': 'Smog', | ||
|  |                 'start move 3': 'Sludge', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                 'tms': bytearray(b' @\x88\xc1*H\x02')}, | ||
|  |     'Rhyhorn': {'id': 18, 'dex': 111, 'hp': 80, 'atk': 85, 'def': 95, 'spd': 25, 'spc': 30, 'type1': 'Ground', | ||
|  |                 'type2': 'Rock', 'catch rate': 120, 'base exp': 135, 'start move 1': 'Horn Attack', | ||
|  |                 'start move 2': 'No Move', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 5, | ||
|  |                 'tms': bytearray(b'\xe0\x03\x88\xcf\xa2\x88"')}, | ||
|  |     'Rhydon': {'id': 1, 'dex': 112, 'hp': 105, 'atk': 130, 'def': 120, 'spd': 40, 'spc': 45, 'type1': 'Ground', | ||
|  |                'type2': 'Rock', 'catch rate': 60, 'base exp': 204, 'start move 1': 'Horn Attack', | ||
|  |                'start move 2': 'Stomp', 'start move 3': 'Tail Whip', 'start move 4': 'Fury Attack', 'growth rate': 5, | ||
|  |                'tms': bytearray(b'\xf1\xff\x8f\xcf\xa2\x882')}, | ||
|  |     'Chansey': {'id': 40, 'dex': 113, 'hp': 250, 'atk': 5, 'def': 5, 'spd': 50, 'spc': 105, 'type1': 'Normal', | ||
|  |                 'type2': 'Normal', 'catch rate': 30, 'base exp': 255, 'start move 1': 'Pound', | ||
|  |                 'start move 2': 'Doubleslap', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 4, | ||
|  |                 'tms': bytearray(b'\xb1\x7f\xaf\xf1\xb79c')}, | ||
|  |     'Tangela': {'id': 30, 'dex': 114, 'hp': 65, 'atk': 55, 'def': 115, 'spd': 60, 'spc': 100, 'type1': 'Grass', | ||
|  |                 'type2': 'Grass', 'catch rate': 45, 'base exp': 166, 'start move 1': 'Constrict', | ||
|  |                 'start move 2': 'Bind', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                 'tms': bytearray(b'\xa4C8\xc0\x82\x08\x06')}, | ||
|  |     'Kangaskhan': {'id': 2, 'dex': 115, 'hp': 105, 'atk': 95, 'def': 80, 'spd': 90, 'spc': 40, 'type1': 'Normal', | ||
|  |                    'type2': 'Normal', 'catch rate': 45, 'base exp': 175, 'start move 1': 'Comet Punch', | ||
|  |                    'start move 2': 'Rage', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                    'tms': bytearray(b'\xb1\x7f\x8f\xc7\xa2\x882')}, | ||
|  |     'Horsea': {'id': 92, 'dex': 116, 'hp': 30, 'atk': 40, 'def': 70, 'spd': 60, 'spc': 70, 'type1': 'Water', | ||
|  |                'type2': 'Water', 'catch rate': 225, 'base exp': 83, 'start move 1': 'Bubble', 'start move 2': 'No Move', | ||
|  |                'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                'tms': bytearray(b' ?\x08\xc0\xc2\x08\x12')}, | ||
|  |     'Seadra': {'id': 93, 'dex': 117, 'hp': 55, 'atk': 65, 'def': 95, 'spd': 85, 'spc': 95, 'type1': 'Water', | ||
|  |                'type2': 'Water', 'catch rate': 75, 'base exp': 155, 'start move 1': 'Bubble', | ||
|  |                'start move 2': 'Smokescreen', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                'tms': bytearray(b' \x7f\x08\xc0\xc2\x08\x12')}, | ||
|  |     'Goldeen': {'id': 157, 'dex': 118, 'hp': 45, 'atk': 67, 'def': 60, 'spd': 63, 'spc': 50, 'type1': 'Water', | ||
|  |                 'type2': 'Water', 'catch rate': 225, 'base exp': 111, 'start move 1': 'Peck', | ||
|  |                 'start move 2': 'Tail Whip', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                 'tms': bytearray(b'`?\x08\xc0\xc2\x08\x12')}, | ||
|  |     'Seaking': {'id': 158, 'dex': 119, 'hp': 80, 'atk': 92, 'def': 65, 'spd': 68, 'spc': 80, 'type1': 'Water', | ||
|  |                 'type2': 'Water', 'catch rate': 60, 'base exp': 170, 'start move 1': 'Peck', | ||
|  |                 'start move 2': 'Tail Whip', 'start move 3': 'Supersonic', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                 'tms': bytearray(b'`\x7f\x08\xc0\xc2\x08\x12')}, | ||
|  |     'Staryu': {'id': 27, 'dex': 120, 'hp': 30, 'atk': 45, 'def': 55, 'spd': 85, 'spc': 70, 'type1': 'Water', | ||
|  |                'type2': 'Water', 'catch rate': 225, 'base exp': 106, 'start move 1': 'Tackle', | ||
|  |                'start move 2': 'No Move', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 5, | ||
|  |                'tms': bytearray(b' ?\x88\xf1\xc38S')}, | ||
|  |     'Starmie': {'id': 152, 'dex': 121, 'hp': 60, 'atk': 75, 'def': 85, 'spd': 115, 'spc': 100, 'type1': 'Water', | ||
|  |                 'type2': 'Psychic', 'catch rate': 60, 'base exp': 207, 'start move 1': 'Tackle', | ||
|  |                 'start move 2': 'Water Gun', 'start move 3': 'Harden', 'start move 4': 'No Move', 'growth rate': 5, | ||
|  |                 'tms': bytearray(b' \x7f\x88\xf1\xc38S')}, | ||
|  |     'Mr Mime': {'id': 42, 'dex': 122, 'hp': 40, 'atk': 45, 'def': 65, 'spd': 90, 'spc': 100, 'type1': 'Psychic', | ||
|  |                 'type2': 'Psychic', 'catch rate': 45, 'base exp': 136, 'start move 1': 'Confusion', | ||
|  |                 'start move 2': 'Barrier', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                 'tms': bytearray(b'\xb1C\xaf\xf1\x878B')}, | ||
|  |     'Scyther': {'id': 26, 'dex': 123, 'hp': 70, 'atk': 110, 'def': 80, 'spd': 105, 'spc': 55, 'type1': 'Bug', | ||
|  |                 'type2': 'Flying', 'catch rate': 45, 'base exp': 187, 'start move 1': 'Quick Attack', | ||
|  |                 'start move 2': 'No Move', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                 'tms': bytearray(b'$C\x08\xc0\xc2\x08\x06')}, | ||
|  |     'Jynx': {'id': 72, 'dex': 124, 'hp': 65, 'atk': 50, 'def': 35, 'spd': 95, 'spc': 95, 'type1': 'Ice', | ||
|  |              'type2': 'Psychic', 'catch rate': 45, 'base exp': 137, 'start move 1': 'Pound', | ||
|  |              'start move 2': 'Lovely Kiss', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |              'tms': bytearray(b'\xb1\x7f\x0f\xf0\x87(\x02')}, | ||
|  |     'Electabuzz': {'id': 53, 'dex': 125, 'hp': 65, 'atk': 83, 'def': 57, 'spd': 105, 'spc': 85, 'type1': 'Electric', | ||
|  |                    'type2': 'Electric', 'catch rate': 45, 'base exp': 156, 'start move 1': 'Quick Attack', | ||
|  |                    'start move 2': 'Leer', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                    'tms': bytearray(b'\xb1C\x8f\xf1\xc78b')}, | ||
|  |     'Magmar': {'id': 51, 'dex': 126, 'hp': 65, 'atk': 95, 'def': 57, 'spd': 93, 'spc': 85, 'type1': 'Fire', | ||
|  |                'type2': 'Fire', 'catch rate': 45, 'base exp': 167, 'start move 1': 'Ember', 'start move 2': 'No Move', | ||
|  |                'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                'tms': bytearray(b'\xb1C\x0f\xf0\xa6("')}, | ||
|  |     'Pinsir': {'id': 29, 'dex': 127, 'hp': 65, 'atk': 125, 'def': 100, 'spd': 85, 'spc': 55, 'type1': 'Bug', | ||
|  |                'type2': 'Bug', 'catch rate': 45, 'base exp': 200, 'start move 1': 'Vicegrip', 'start move 2': 'No Move', | ||
|  |                'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 5, | ||
|  |                'tms': bytearray(b'\xa4C\r\xc0\x02\x08&')}, | ||
|  |     'Tauros': {'id': 60, 'dex': 128, 'hp': 75, 'atk': 100, 'def': 95, 'spd': 110, 'spc': 70, 'type1': 'Normal', | ||
|  |                'type2': 'Normal', 'catch rate': 45, 'base exp': 211, 'start move 1': 'Tackle', | ||
|  |                'start move 2': 'No Move', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 5, | ||
|  |                'tms': bytearray(b'\xe0s\x88\xc7\xa2\x08"')}, | ||
|  |     'Magikarp': {'id': 133, 'dex': 129, 'hp': 20, 'atk': 10, 'def': 55, 'spd': 80, 'spc': 20, 'type1': 'Water', | ||
|  |                  'type2': 'Water', 'catch rate': 255, 'base exp': 20, 'start move 1': 'Splash', | ||
|  |                  'start move 2': 'No Move', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 5, | ||
|  |                  'tms': bytearray(b'\x00\x00\x00\x00\x00\x00\x00')}, | ||
|  |     'Gyarados': {'id': 22, 'dex': 130, 'hp': 95, 'atk': 125, 'def': 79, 'spd': 81, 'spc': 100, 'type1': 'Water', | ||
|  |                  'type2': 'Flying', 'catch rate': 45, 'base exp': 214, 'start move 1': 'Bite', | ||
|  |                  'start move 2': 'Dragon Rage', 'start move 3': 'Leer', 'start move 4': 'Hydro Pump', 'growth rate': 5, | ||
|  |                  'tms': bytearray(b'\xa0\x7f\xc8\xc1\xa3\x082')}, | ||
|  |     'Lapras': {'id': 19, 'dex': 131, 'hp': 130, 'atk': 85, 'def': 80, 'spd': 60, 'spc': 95, 'type1': 'Water', | ||
|  |                'type2': 'Ice', 'catch rate': 45, 'base exp': 219, 'start move 1': 'Water Gun', 'start move 2': 'Growl', | ||
|  |                'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 5, | ||
|  |                'tms': bytearray(b'\xe0\x7f\xe8\xd1\x83(2')}, | ||
|  |     'Ditto': {'id': 76, 'dex': 132, 'hp': 48, 'atk': 48, 'def': 48, 'spd': 48, 'spc': 48, 'type1': 'Normal', | ||
|  |               'type2': 'Normal', 'catch rate': 35, 'base exp': 61, 'start move 1': 'Transform', | ||
|  |               'start move 2': 'No Move', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |               'tms': bytearray(b'\x00\x00\x00\x00\x00\x00\x00')}, | ||
|  |     'Eevee': {'id': 102, 'dex': 133, 'hp': 55, 'atk': 55, 'def': 50, 'spd': 55, 'spc': 65, 'type1': 'Normal', | ||
|  |               'type2': 'Normal', 'catch rate': 45, 'base exp': 92, 'start move 1': 'Tackle', | ||
|  |               'start move 2': 'Sand Attack', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |               'tms': bytearray(b'\xa0\x03\x08\xc0\xc3\x08\x02')}, | ||
|  |     'Vaporeon': {'id': 105, 'dex': 134, 'hp': 130, 'atk': 65, 'def': 60, 'spd': 65, 'spc': 110, 'type1': 'Water', | ||
|  |                  'type2': 'Water', 'catch rate': 45, 'base exp': 196, 'start move 1': 'Tackle', | ||
|  |                  'start move 2': 'Sand Attack', 'start move 3': 'Quick Attack', 'start move 4': 'Water Gun', | ||
|  |                  'growth rate': 0, 'tms': bytearray(b'\xa0\x7f\x08\xc0\xc3\x08\x12')}, | ||
|  |     'Jolteon': {'id': 104, 'dex': 135, 'hp': 65, 'atk': 65, 'def': 60, 'spd': 130, 'spc': 110, 'type1': 'Electric', | ||
|  |                 'type2': 'Electric', 'catch rate': 45, 'base exp': 197, 'start move 1': 'Tackle', | ||
|  |                 'start move 2': 'Sand Attack', 'start move 3': 'Quick Attack', 'start move 4': 'Thundershock', | ||
|  |                 'growth rate': 0, 'tms': bytearray(b'\xa0C\x88\xc1\xc3\x18B')}, | ||
|  |     'Flareon': {'id': 103, 'dex': 136, 'hp': 65, 'atk': 130, 'def': 60, 'spd': 65, 'spc': 110, 'type1': 'Fire', | ||
|  |                 'type2': 'Fire', 'catch rate': 45, 'base exp': 198, 'start move 1': 'Tackle', | ||
|  |                 'start move 2': 'Sand Attack', 'start move 3': 'Quick Attack', 'start move 4': 'Ember', | ||
|  |                 'growth rate': 0, 'tms': bytearray(b'\xa0C\x08\xc0\xe3\x08\x02')}, | ||
|  |     'Porygon': {'id': 170, 'dex': 137, 'hp': 65, 'atk': 60, 'def': 70, 'spd': 40, 'spc': 75, 'type1': 'Normal', | ||
|  |                 'type2': 'Normal', 'catch rate': 45, 'base exp': 130, 'start move 1': 'Tackle', | ||
|  |                 'start move 2': 'Sharpen', 'start move 3': 'Conversion', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                 'tms': bytearray(b' s\x88\xf1\xc38C')}, | ||
|  |     'Omanyte': {'id': 98, 'dex': 138, 'hp': 35, 'atk': 40, 'def': 100, 'spd': 35, 'spc': 90, 'type1': 'Rock', | ||
|  |                 'type2': 'Water', 'catch rate': 45, 'base exp': 120, 'start move 1': 'Water Gun', | ||
|  |                 'start move 2': 'Withdraw', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                 'tms': bytearray(b'\xa0?\x08\xc0\x03\x08\x12')}, | ||
|  |     'Omastar': {'id': 99, 'dex': 139, 'hp': 70, 'atk': 60, 'def': 125, 'spd': 55, 'spc': 115, 'type1': 'Rock', | ||
|  |                 'type2': 'Water', 'catch rate': 45, 'base exp': 199, 'start move 1': 'Water Gun', | ||
|  |                 'start move 2': 'Withdraw', 'start move 3': 'Horn Attack', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                 'tms': bytearray(b'\xe0\x7f\r\xc0\x83\x08\x12')}, | ||
|  |     'Kabuto': {'id': 90, 'dex': 140, 'hp': 30, 'atk': 80, 'def': 90, 'spd': 55, 'spc': 45, 'type1': 'Rock', | ||
|  |                'type2': 'Water', 'catch rate': 45, 'base exp': 119, 'start move 1': 'Scratch', 'start move 2': 'Harden', | ||
|  |                'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                'tms': bytearray(b'\xa0?\x08\xc0\x03\x08\x12')}, | ||
|  |     'Kabutops': {'id': 91, 'dex': 141, 'hp': 60, 'atk': 115, 'def': 105, 'spd': 80, 'spc': 70, 'type1': 'Rock', | ||
|  |                  'type2': 'Water', 'catch rate': 45, 'base exp': 201, 'start move 1': 'Scratch', | ||
|  |                  'start move 2': 'Harden', 'start move 3': 'Absorb', 'start move 4': 'No Move', 'growth rate': 0, | ||
|  |                  'tms': bytearray(b'\xb6\x7f\r\xc0\x83\x08\x12')}, | ||
|  |     'Aerodactyl': {'id': 171, 'dex': 142, 'hp': 80, 'atk': 105, 'def': 65, 'spd': 130, 'spc': 60, 'type1': 'Rock', | ||
|  |                    'type2': 'Flying', 'catch rate': 45, 'base exp': 202, 'start move 1': 'Wing Attack', | ||
|  |                    'start move 2': 'Agility', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 5, | ||
|  |                    'tms': bytearray(b'*CH\xc0c\x0c\n')}, | ||
|  |     'Snorlax': {'id': 132, 'dex': 143, 'hp': 160, 'atk': 110, 'def': 65, 'spd': 30, 'spc': 65, 'type1': 'Normal', | ||
|  |                 'type2': 'Normal', 'catch rate': 25, 'base exp': 154, 'start move 1': 'Headbutt', | ||
|  |                 'start move 2': 'Amnesia', 'start move 3': 'Rest', 'start move 4': 'No Move', 'growth rate': 5, | ||
|  |                 'tms': bytearray(b'\xb1\xff\xaf\xd7\xaf\xa82')}, | ||
|  |     'Articuno': {'id': 74, 'dex': 144, 'hp': 90, 'atk': 85, 'def': 100, 'spd': 85, 'spc': 125, 'type1': 'Ice', | ||
|  |                  'type2': 'Flying', 'catch rate': 3, 'base exp': 215, 'start move 1': 'Peck', | ||
|  |                  'start move 2': 'Ice Beam', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 5, | ||
|  |                  'tms': bytearray(b'*\x7f\x08\xc0C\x0c\n')}, | ||
|  |     'Zapdos': {'id': 75, 'dex': 145, 'hp': 90, 'atk': 90, 'def': 85, 'spd': 100, 'spc': 125, 'type1': 'Electric', | ||
|  |                'type2': 'Flying', 'catch rate': 3, 'base exp': 216, 'start move 1': 'Thundershock', | ||
|  |                'start move 2': 'Drill Peck', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 5, | ||
|  |                'tms': bytearray(b'*C\x88\xc1C\x1cJ')}, | ||
|  |     'Moltres': {'id': 73, 'dex': 146, 'hp': 90, 'atk': 100, 'def': 90, 'spd': 90, 'spc': 125, 'type1': 'Fire', | ||
|  |                 'type2': 'Flying', 'catch rate': 3, 'base exp': 217, 'start move 1': 'Peck', | ||
|  |                 'start move 2': 'Fire Spin', 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 5, | ||
|  |                 'tms': bytearray(b'*C\x08\xc0c\x0c\n')}, | ||
|  |     'Dratini': {'id': 88, 'dex': 147, 'hp': 41, 'atk': 64, 'def': 45, 'spd': 50, 'spc': 50, 'type1': 'Dragon', | ||
|  |                 'type2': 'Dragon', 'catch rate': 45, 'base exp': 67, 'start move 1': 'Wrap', 'start move 2': 'Leer', | ||
|  |                 'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 5, | ||
|  |                 'tms': bytearray(b'\xa0?\xc8\xc1\xe3\x18\x12')}, | ||
|  |     'Dragonair': {'id': 89, 'dex': 148, 'hp': 61, 'atk': 84, 'def': 65, 'spd': 70, 'spc': 70, 'type1': 'Dragon', | ||
|  |                   'type2': 'Dragon', 'catch rate': 45, 'base exp': 144, 'start move 1': 'Wrap', 'start move 2': 'Leer', | ||
|  |                   'start move 3': 'Thunder Wave', 'start move 4': 'No Move', 'growth rate': 5, | ||
|  |                   'tms': bytearray(b'\xe0?\xc8\xc1\xe3\x18\x12')}, | ||
|  |     'Dragonite': {'id': 66, 'dex': 149, 'hp': 91, 'atk': 134, 'def': 95, 'spd': 80, 'spc': 100, 'type1': 'Dragon', | ||
|  |                   'type2': 'Flying', 'catch rate': 45, 'base exp': 218, 'start move 1': 'Wrap', 'start move 2': 'Leer', | ||
|  |                   'start move 3': 'Thunder Wave', 'start move 4': 'Agility', 'growth rate': 5, | ||
|  |                   'tms': bytearray(b'\xe2\x7f\xc8\xc1\xe3\x182')}, | ||
|  |     'Mewtwo': {'id': 131, 'dex': 150, 'hp': 106, 'atk': 110, 'def': 90, 'spd': 130, 'spc': 154, 'type1': 'Psychic', | ||
|  |                'type2': 'Psychic', 'catch rate': 3, 'base exp': 220, 'start move 1': 'Confusion', | ||
|  |                'start move 2': 'Disable', 'start move 3': 'Swift', 'start move 4': 'Psychic', 'growth rate': 5, | ||
|  |                'tms': bytearray(b'\xb1\xff\xaf\xf1\xaf8c')}, | ||
|  |     'Mew': {'id': 21, 'dex': 151, 'hp': 100, 'atk': 100, 'def': 100, 'spd': 100, 'spc': 100, 'type1': 'Psychic', | ||
|  |             'type2': 'Psychic', 'catch rate': 45, 'base exp': 64, 'start move 1': 'Pound', 'start move 2': 'No Move', | ||
|  |             'start move 3': 'No Move', 'start move 4': 'No Move', 'growth rate': 3, | ||
|  |             'tms': bytearray(b'\xff\xff\xff\xff\xff\xff\xff')}} | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | evolves_from = { | ||
|  |     "Ivysaur": "Bulbasaur", | ||
|  |     "Venusaur": "Ivysaur", | ||
|  |     "Charmeleon": "Charmander", | ||
|  |     "Charizard": "Charmeleon", | ||
|  |     "Wartortle": "Squirtle", | ||
|  |     "Blastoise": "Wartortle", | ||
|  |     "Metapod": "Caterpie", | ||
|  |     "Butterfree": "Metapod", | ||
|  |     "Kakuna": "Weedle", | ||
|  |     "Beedrill": "Kakuna", | ||
|  |     "Pidgeotto": "Pidgey", | ||
|  |     "Pidgeot": "Pidgeotto", | ||
|  |     "Raticate": "Rattata", | ||
|  |     "Fearow": "Spearow", | ||
|  |     "Arbok": "Ekans", | ||
|  |     "Raichu": "Pikachu", | ||
|  |     "Sandslash": "Sandshrew", | ||
|  |     "Nidorina": "Nidoran F", | ||
|  |     "Nidoqueen": "Nidorina", | ||
|  |     "Nidorino": "Nidoran M", | ||
|  |     "Nidoking": "Nidorino", | ||
|  |     "Clefable": "Clefairy", | ||
|  |     "Ninetales": "Vulpix", | ||
|  |     "Wigglytuff": "Jigglypuff", | ||
|  |     "Golbat": "Zubat", | ||
|  |     "Gloom": "Oddish", | ||
|  |     "Vileplume": "Gloom", | ||
|  |     "Parasect": "Paras", | ||
|  |     "Venomoth": "Venonat", | ||
|  |     "Dugtrio": "Diglett", | ||
|  |     "Persian": "Meowth", | ||
|  |     "Golduck": "Psyduck", | ||
|  |     "Primeape": "Mankey", | ||
|  |     "Arcanine": "Growlithe", | ||
|  |     "Poliwhirl": "Poliwag", | ||
|  |     "Poliwrath": "Poliwhirl", | ||
|  |     "Kadabra": "Abra", | ||
|  |     "Alakazam": "Kadabra", | ||
|  |     "Machoke": "Machop", | ||
|  |     "Machamp": "Machoke", | ||
|  |     "Weepinbell": "Bellsprout", | ||
|  |     "Victreebel": "Weepinbell", | ||
|  |     "Tentacruel": "Tentacool", | ||
|  |     "Graveler": "Geodude", | ||
|  |     "Golem": "Graveler", | ||
|  |     "Rapidash": "Ponyta", | ||
|  |     "Slowbro": "Slowpoke", | ||
|  |     "Magneton": "Magnemite", | ||
|  |     "Dodrio": "Doduo", | ||
|  |     "Dewgong": "Seel", | ||
|  |     "Muk": "Grimer", | ||
|  |     "Cloyster": "Shellder", | ||
|  |     "Haunter": "Gastly", | ||
|  |     "Gengar": "Haunter", | ||
|  |     "Hypno": "Drowzee", | ||
|  |     "Kingler": "Krabby", | ||
|  |     "Electrode": "Voltorb", | ||
|  |     "Exeggutor": "Exeggcute", | ||
|  |     "Marowak": "Cubone", | ||
|  |     "Weezing": "Koffing", | ||
|  |     "Rhydon": "Rhyhorn", | ||
|  |     "Seadra": "Horsea", | ||
|  |     "Seaking": "Goldeen", | ||
|  |     "Starmie": "Staryu", | ||
|  |     "Gyarados": "Magikarp", | ||
|  |     "Vaporeon": "Eevee", | ||
|  |     "Jolteon": "Eevee", | ||
|  |     "Flareon": "Eevee", | ||
|  |     "Omastar": "Omanyte", | ||
|  |     "Kabutops": "Kabuto", | ||
|  |     "Dragonair": "Dratini", | ||
|  |     "Dragonite": "Dragonair" | ||
|  | } | ||
|  | 
 | ||
|  | evolves_to = {} | ||
|  | for from_mon, to_mon in zip(evolves_from.values(), evolves_from.keys()): | ||
|  |     if from_mon != "Eevee": | ||
|  |         evolves_to[from_mon] = to_mon | ||
|  | 
 | ||
|  | # basic_three_stage_pokemon = [] | ||
|  | # for mon in evolves_to.keys(): | ||
|  | #     if evolves_to[mon] in evolves_to.keys(): | ||
|  | #         basic_three_stage_pokemon.append(mon) | ||
|  | # print(basic_three_stage_pokemon) | ||
|  | 
 | ||
|  | learnsets = { | ||
|  |     'Rhydon': ['Stomp', 'Tail Whip', 'Fury Attack', 'Horn Drill', 'Leer', 'Take Down'], | ||
|  |     'Kangaskhan': ['Bite', 'Tail Whip', 'Mega Punch', 'Leer', 'Dizzy Punch'], | ||
|  |     'Nidoran M': ['Horn Attack', 'Poison Sting', 'Focus Energy', 'Fury Attack', 'Horn Drill', 'Double Kick'], | ||
|  |     'Clefairy': ['Sing', 'Doubleslap', 'Minimize', 'Metronome', 'Defense Curl', 'Light Screen'], | ||
|  |     'Spearow': ['Leer', 'Fury Attack', 'Mirror Move', 'Drill Peck', 'Agility'], | ||
|  |     'Voltorb': ['Sonicboom', 'Selfdestruct', 'Light Screen', 'Swift', 'Explosion'], | ||
|  |     'Nidoking': ['Horn Attack', 'Poison Sting', 'Thrash'], | ||
|  |     'Slowbro': ['Disable', 'Headbutt', 'Growl', 'Water Gun', 'Withdraw', 'Amnesia', 'Psychic'], | ||
|  |     'Ivysaur': ['Leech Seed', 'Vine Whip', 'Poisonpowder', 'Razor Leaf', 'Growth', 'Sleep Powder', 'Solarbeam'], | ||
|  |     'Exeggutor': ['Stomp'], 'Lickitung': ['Stomp', 'Disable', 'Defense Curl', 'Slam', 'Screech'], | ||
|  |     'Exeggcute': ['Reflect', 'Leech Seed', 'Stun Spore', 'Poisonpowder', 'Solarbeam', 'Sleep Powder'], | ||
|  |     'Grimer': ['Poison Gas', 'Minimize', 'Sludge', 'Harden', 'Screech', 'Acid Armor'], | ||
|  |     'Gengar': ['Hypnosis', 'Dream Eater'], | ||
|  |     'Nidoran F': ['Scratch', 'Poison Sting', 'Tail Whip', 'Bite', 'Fury Swipes', 'Double Kick'], | ||
|  |     'Nidoqueen': ['Scratch', 'Poison Sting', 'Body Slam'], | ||
|  |     'Cubone': ['Leer', 'Focus Energy', 'Thrash', 'Bonemerang', 'Rage'], | ||
|  |     'Rhyhorn': ['Stomp', 'Tail Whip', 'Fury Attack', 'Horn Drill', 'Leer', 'Take Down'], | ||
|  |     'Lapras': ['Sing', 'Mist', 'Body Slam', 'Confuse Ray', 'Ice Beam', 'Hydro Pump'], | ||
|  |     'Mew': ['Transform', 'Mega Punch', 'Metronome', 'Psychic'], | ||
|  |     'Gyarados': ['Bite', 'Dragon Rage', 'Leer', 'Hydro Pump', 'Hyper Beam'], | ||
|  |     'Shellder': ['Supersonic', 'Clamp', 'Aurora Beam', 'Leer', 'Ice Beam'], | ||
|  |     'Tentacool': ['Supersonic', 'Wrap', 'Poison Sting', 'Water Gun', 'Constrict', 'Barrier', 'Screech', 'Hydro Pump'], | ||
|  |     'Gastly': ['Hypnosis', 'Dream Eater'], | ||
|  |     'Scyther': ['Leer', 'Focus Energy', 'Double Team', 'Slash', 'Swords Dance', 'Agility'], | ||
|  |     'Staryu': ['Water Gun', 'Harden', 'Recover', 'Swift', 'Minimize', 'Light Screen', 'Hydro Pump'], | ||
|  |     'Blastoise': ['Bubble', 'Water Gun', 'Bite', 'Withdraw', 'Skull Bash', 'Hydro Pump'], | ||
|  |     'Pinsir': ['Seismic Toss', 'Guillotine', 'Focus Energy', 'Harden', 'Slash', 'Swords Dance'], | ||
|  |     'Tangela': ['Absorb', 'Poisonpowder', 'Stun Spore', 'Sleep Powder', 'Slam', 'Growth'], | ||
|  |     'Growlithe': ['Ember', 'Leer', 'Take Down', 'Agility', 'Flamethrower'], | ||
|  |     'Onix': ['Bind', 'Rock Throw', 'Rage', 'Slam', 'Harden'], | ||
|  |     'Fearow': ['Leer', 'Fury Attack', 'Mirror Move', 'Drill Peck', 'Agility'], | ||
|  |     'Pidgey': ['Sand Attack', 'Quick Attack', 'Whirlwind', 'Wing Attack', 'Agility', 'Mirror Move'], | ||
|  |     'Slowpoke': ['Disable', 'Headbutt', 'Growl', 'Water Gun', 'Amnesia', 'Psychic'], | ||
|  |     'Kadabra': ['Confusion', 'Disable', 'Psybeam', 'Recover', 'Psychic', 'Reflect'], | ||
|  |     'Graveler': ['Defense Curl', 'Rock Throw', 'Selfdestruct', 'Harden', 'Earthquake', 'Explosion'], | ||
|  |     'Chansey': ['Sing', 'Growl', 'Minimize', 'Defense Curl', 'Light Screen', 'Double Edge'], | ||
|  |     'Machoke': ['Low Kick', 'Leer', 'Focus Energy', 'Seismic Toss', 'Submission'], | ||
|  |     'Mr Mime': ['Confusion', 'Light Screen', 'Doubleslap', 'Meditate', 'Substitute'], | ||
|  |     'Hitmonlee': ['Rolling Kick', 'Jump Kick', 'Focus Energy', 'Hi Jump Kick', 'Mega Kick'], | ||
|  |     'Hitmonchan': ['Fire Punch', 'Ice Punch', 'Thunderpunch', 'Mega Punch', 'Counter'], | ||
|  |     'Arbok': ['Poison Sting', 'Bite', 'Glare', 'Screech', 'Acid'], | ||
|  |     'Parasect': ['Stun Spore', 'Leech Life', 'Spore', 'Slash', 'Growth'], | ||
|  |     'Psyduck': ['Tail Whip', 'Disable', 'Confusion', 'Fury Swipes', 'Hydro Pump'], | ||
|  |     'Drowzee': ['Disable', 'Confusion', 'Headbutt', 'Poison Gas', 'Psychic', 'Meditate'], | ||
|  |     'Golem': ['Defense Curl', 'Rock Throw', 'Selfdestruct', 'Harden', 'Earthquake', 'Explosion'], | ||
|  |     'Magmar': ['Leer', 'Confuse Ray', 'Fire Punch', 'Smokescreen', 'Smog', 'Flamethrower'], | ||
|  |     'Electabuzz': ['Thundershock', 'Screech', 'Thunderpunch', 'Light Screen', 'Thunder'], | ||
|  |     'Magneton': ['Sonicboom', 'Thundershock', 'Supersonic', 'Thunder Wave', 'Swift', 'Screech'], | ||
|  |     'Koffing': ['Sludge', 'Smokescreen', 'Selfdestruct', 'Haze', 'Explosion'], | ||
|  |     'Mankey': ['Karate Chop', 'Fury Swipes', 'Focus Energy', 'Seismic Toss', 'Thrash'], | ||
|  |     'Seel': ['Growl', 'Aurora Beam', 'Rest', 'Take Down', 'Ice Beam'], | ||
|  |     'Diglett': ['Growl', 'Dig', 'Sand Attack', 'Slash', 'Earthquake'], | ||
|  |     'Tauros': ['Stomp', 'Tail Whip', 'Leer', 'Rage', 'Take Down'], | ||
|  |     'Farfetchd': ['Leer', 'Fury Attack', 'Swords Dance', 'Agility', 'Slash'], | ||
|  |     'Venonat': ['Poisonpowder', 'Leech Life', 'Stun Spore', 'Psybeam', 'Sleep Powder', 'Psychic'], | ||
|  |     'Dragonite': ['Thunder Wave', 'Agility', 'Slam', 'Dragon Rage', 'Hyper Beam'], | ||
|  |     'Doduo': ['Growl', 'Fury Attack', 'Drill Peck', 'Rage', 'Tri Attack', 'Agility'], | ||
|  |     'Poliwag': ['Hypnosis', 'Water Gun', 'Doubleslap', 'Body Slam', 'Amnesia', 'Hydro Pump'], | ||
|  |     'Jynx': ['Lick', 'Doubleslap', 'Ice Punch', 'Body Slam', 'Thrash', 'Blizzard'], | ||
|  |     'Moltres': ['Leer', 'Agility', 'Sky Attack'], | ||
|  |     'Articuno': ['Blizzard', 'Agility', 'Mist'], | ||
|  |     'Zapdos': ['Thunder', 'Agility', 'Light Screen'], | ||
|  |     'Meowth': ['Bite', 'Pay Day', 'Screech', 'Fury Swipes', 'Slash'], | ||
|  |     'Krabby': ['Vicegrip', 'Guillotine', 'Stomp', 'Crabhammer', 'Harden'], | ||
|  |     'Vulpix': ['Quick Attack', 'Roar', 'Confuse Ray', 'Flamethrower', 'Fire Spin'], | ||
|  |     'Pikachu': ['Thunder Wave', 'Quick Attack', 'Swift', 'Agility', 'Thunder'], | ||
|  |     'Dratini': ['Thunder Wave', 'Agility', 'Slam', 'Dragon Rage', 'Hyper Beam'], | ||
|  |     'Dragonair': ['Thunder Wave', 'Agility', 'Slam', 'Dragon Rage', 'Hyper Beam'], | ||
|  |     'Kabuto': ['Absorb', 'Slash', 'Leer', 'Hydro Pump'], | ||
|  |     'Kabutops': ['Absorb', 'Slash', 'Leer', 'Hydro Pump'], | ||
|  |     'Horsea': ['Smokescreen', 'Leer', 'Water Gun', 'Agility', 'Hydro Pump'], | ||
|  |     'Seadra': ['Smokescreen', 'Leer', 'Water Gun', 'Agility', 'Hydro Pump'], | ||
|  |     'Sandshrew': ['Sand Attack', 'Slash', 'Poison Sting', 'Swift', 'Fury Swipes'], | ||
|  |     'Sandslash': ['Sand Attack', 'Slash', 'Poison Sting', 'Swift', 'Fury Swipes'], | ||
|  |     'Omanyte': ['Horn Attack', 'Leer', 'Spike Cannon', 'Hydro Pump'], | ||
|  |     'Omastar': ['Horn Attack', 'Leer', 'Spike Cannon', 'Hydro Pump'], | ||
|  |     'Jigglypuff': ['Pound', 'Disable', 'Defense Curl', 'Doubleslap', 'Rest', 'Body Slam', 'Double Edge'], | ||
|  |     'Eevee': ['Quick Attack', 'Tail Whip', 'Bite', 'Take Down'], | ||
|  |     'Flareon': ['Quick Attack', 'Ember', 'Tail Whip', 'Bite', 'Leer', 'Fire Spin', 'Rage', 'Flamethrower'], | ||
|  |     'Jolteon': ['Quick Attack', 'Thundershock', 'Tail Whip', 'Thunder Wave', 'Double Kick', 'Agility', 'Pin Missile', 'Thunder'], | ||
|  |     'Vaporeon': ['Quick Attack', 'Water Gun', 'Tail Whip', 'Bite', 'Acid Armor', 'Haze', 'Mist', 'Hydro Pump'], | ||
|  |     'Machop': ['Low Kick', 'Leer', 'Focus Energy', 'Seismic Toss', 'Submission'], | ||
|  |     'Zubat': ['Supersonic', 'Bite', 'Confuse Ray', 'Wing Attack', 'Haze'], | ||
|  |     'Ekans': ['Poison Sting', 'Bite', 'Glare', 'Screech', 'Acid'], | ||
|  |     'Paras': ['Stun Spore', 'Leech Life', 'Spore', 'Slash', 'Growth'], | ||
|  |     'Poliwhirl': ['Hypnosis', 'Water Gun', 'Doubleslap', 'Body Slam', 'Amnesia', 'Hydro Pump'], | ||
|  |     'Poliwrath': ['Hypnosis', 'Water Gun'], | ||
|  |     'Beedrill': ['Fury Attack', 'Focus Energy', 'Twineedle', 'Rage', 'Pin Missile', 'Agility'], | ||
|  |     'Dodrio': ['Growl', 'Fury Attack', 'Drill Peck', 'Rage', 'Tri Attack', 'Agility'], | ||
|  |     'Primeape': ['Karate Chop', 'Fury Swipes', 'Focus Energy', 'Seismic Toss', 'Thrash'], | ||
|  |     'Dugtrio': ['Growl', 'Dig', 'Sand Attack', 'Slash', 'Earthquake'], | ||
|  |     'Venomoth': ['Poisonpowder', 'Leech Life', 'Stun Spore', 'Psybeam', 'Sleep Powder', 'Psychic'], | ||
|  |     'Dewgong': ['Growl', 'Aurora Beam', 'Rest', 'Take Down', 'Ice Beam'], | ||
|  |     'Butterfree': ['Confusion', 'Poisonpowder', 'Stun Spore', 'Sleep Powder', 'Supersonic', 'Whirlwind', 'Psybeam'], | ||
|  |     'Machamp': ['Low Kick', 'Leer', 'Focus Energy', 'Seismic Toss', 'Submission'], | ||
|  |     'Golduck': ['Tail Whip', 'Disable', 'Confusion', 'Fury Swipes', 'Hydro Pump'], | ||
|  |     'Hypno': ['Disable', 'Confusion', 'Headbutt', 'Poison Gas', 'Psychic', 'Meditate'], | ||
|  |     'Golbat': ['Supersonic', 'Bite', 'Confuse Ray', 'Wing Attack', 'Haze'], | ||
|  |     'Mewtwo': ['Barrier', 'Psychic', 'Recover', 'Mist', 'Amnesia'], | ||
|  |     'Snorlax': ['Body Slam', 'Harden', 'Double Edge', 'Hyper Beam'], | ||
|  |     'Magikarp': ['Tackle'], | ||
|  |     'Muk': ['Poison Gas', 'Minimize', 'Sludge', 'Harden', 'Screech', 'Acid Armor'], | ||
|  |     'Kingler': ['Vicegrip', 'Guillotine', 'Stomp', 'Crabhammer', 'Harden'], | ||
|  |     'Cloyster': ['Spike Cannon'], | ||
|  |     'Electrode': ['Sonicboom', 'Selfdestruct', 'Light Screen', 'Swift', 'Explosion'], | ||
|  |     'Weezing': ['Sludge', 'Smokescreen', 'Selfdestruct', 'Haze', 'Explosion'], | ||
|  |     'Persian': ['Bite', 'Pay Day', 'Screech', 'Fury Swipes', 'Slash'], | ||
|  |     'Marowak': ['Leer', 'Focus Energy', 'Thrash', 'Bonemerang', 'Rage'], | ||
|  |     'Haunter': ['Hypnosis', 'Dream Eater'], | ||
|  |     'Alakazam': ['Confusion', 'Disable', 'Psybeam', 'Recover', 'Psychic', 'Reflect'], | ||
|  |     'Pidgeotto': ['Sand Attack', 'Quick Attack', 'Whirlwind', 'Wing Attack', 'Agility', 'Mirror Move'], | ||
|  |     'Pidgeot': ['Sand Attack', 'Quick Attack', 'Whirlwind', 'Wing Attack', 'Agility', 'Mirror Move'], | ||
|  |     'Bulbasaur': ['Leech Seed', 'Vine Whip', 'Poisonpowder', 'Razor Leaf', 'Growth', 'Sleep Powder', 'Solarbeam'], | ||
|  |     'Venusaur': ['Leech Seed', 'Vine Whip', 'Poisonpowder', 'Razor Leaf', 'Growth', 'Sleep Powder', 'Solarbeam'], | ||
|  |     'Tentacruel': ['Supersonic', 'Wrap', 'Poison Sting', 'Water Gun', 'Constrict', 'Barrier', 'Screech', 'Hydro Pump'], | ||
|  |     'Goldeen': ['Supersonic', 'Horn Attack', 'Fury Attack', 'Waterfall', 'Horn Drill', 'Agility'], | ||
|  |     'Seaking': ['Supersonic', 'Horn Attack', 'Fury Attack', 'Waterfall', 'Horn Drill', 'Agility'], | ||
|  |     'Ponyta': ['Tail Whip', 'Stomp', 'Growl', 'Fire Spin', 'Take Down', 'Agility'], | ||
|  |     'Rapidash': ['Tail Whip', 'Stomp', 'Growl', 'Fire Spin', 'Take Down', 'Agility'], | ||
|  |     'Rattata': ['Quick Attack', 'Hyper Fang', 'Focus Energy', 'Super Fang'], | ||
|  |     'Raticate': ['Quick Attack', 'Hyper Fang', 'Focus Energy', 'Super Fang'], | ||
|  |     'Nidorino': ['Horn Attack', 'Poison Sting', 'Focus Energy', 'Fury Attack', 'Horn Drill', 'Double Kick'], | ||
|  |     'Nidorina': ['Scratch', 'Poison Sting', 'Tail Whip', 'Bite', 'Fury Swipes', 'Double Kick'], | ||
|  |     'Geodude': ['Defense Curl', 'Rock Throw', 'Selfdestruct', 'Harden', 'Earthquake', 'Explosion'], | ||
|  |     'Porygon': ['Psybeam', 'Recover', 'Agility', 'Tri Attack'], | ||
|  |     'Aerodactyl': ['Supersonic', 'Bite', 'Take Down', 'Hyper Beam'], | ||
|  |     'Magnemite': ['Sonicboom', 'Thundershock', 'Supersonic', 'Thunder Wave', 'Swift', 'Screech'], | ||
|  |     'Charmander': ['Ember', 'Leer', 'Rage', 'Slash', 'Flamethrower', 'Fire Spin'], | ||
|  |     'Squirtle': ['Bubble', 'Water Gun', 'Bite', 'Withdraw', 'Skull Bash', 'Hydro Pump'], | ||
|  |     'Charmeleon': ['Ember', 'Leer', 'Rage', 'Slash', 'Flamethrower', 'Fire Spin'], | ||
|  |     'Wartortle': ['Bubble', 'Water Gun', 'Bite', 'Withdraw', 'Skull Bash', 'Hydro Pump'], | ||
|  |     'Charizard': ['Ember', 'Leer', 'Rage', 'Slash', 'Flamethrower', 'Fire Spin'], | ||
|  |     'Oddish': ['Poisonpowder', 'Stun Spore', 'Sleep Powder', 'Acid', 'Petal Dance', 'Solarbeam'], | ||
|  |     'Gloom': ['Poisonpowder', 'Stun Spore', 'Sleep Powder', 'Acid', 'Petal Dance', 'Solarbeam'], | ||
|  |     'Vileplume': ['Poisonpowder', 'Stun Spore', 'Sleep Powder'], | ||
|  |     'Bellsprout': ['Wrap', 'Poisonpowder', 'Sleep Powder', 'Stun Spore', 'Acid', 'Razor Leaf', 'Slam'], | ||
|  |     'Weepinbell': ['Wrap', 'Poisonpowder', 'Sleep Powder', 'Stun Spore', 'Acid', 'Razor Leaf', 'Slam'], | ||
|  |     'Victreebel': ['Wrap', 'Poisonpowder', 'Sleep Powder'] | ||
|  | } | ||
|  | 
 | ||
|  | moves = { | ||
|  |      'No Move': {'id': 0, 'power': 0, 'type': 'Typeless', 'accuracy': 0, 'pp': 0}, | ||
|  |      'Pound': {'id': 1, 'power': 40, 'type': 'Normal', 'accuracy': 100, 'pp': 35}, | ||
|  |      'Karate Chop': {'id': 2, 'power': 50, 'type': 'Normal', 'accuracy': 100, 'pp': 25}, | ||
|  |      'Doubleslap': {'id': 3, 'power': 15, 'type': 'Normal', 'accuracy': 85, 'pp': 10}, | ||
|  |      'Comet Punch': {'id': 4, 'power': 18, 'type': 'Normal', 'accuracy': 85, 'pp': 15}, | ||
|  |      'Mega Punch': {'id': 5, 'power': 80, 'type': 'Normal', 'accuracy': 85, 'pp': 20}, | ||
|  |      'Pay Day': {'id': 6, 'power': 40, 'type': 'Normal', 'accuracy': 100, 'pp': 20}, | ||
|  |      'Fire Punch': {'id': 7, 'power': 75, 'type': 'Fire', 'accuracy': 100, 'pp': 15}, | ||
|  |      'Ice Punch': {'id': 8, 'power': 75, 'type': 'Ice', 'accuracy': 100, 'pp': 15}, | ||
|  |      'Thunderpunch': {'id': 9, 'power': 75, 'type': 'Electric', 'accuracy': 100, 'pp': 15}, | ||
|  |      'Scratch': {'id': 10, 'power': 40, 'type': 'Normal', 'accuracy': 100, 'pp': 35}, | ||
|  |      'Vicegrip': {'id': 11, 'power': 55, 'type': 'Normal', 'accuracy': 100, 'pp': 30}, | ||
|  |      'Guillotine': {'id': 12, 'power': 1, 'type': 'Normal', 'accuracy': 30, 'pp': 5}, | ||
|  |      'Razor Wind': {'id': 13, 'power': 80, 'type': 'Normal', 'accuracy': 75, 'pp': 10}, | ||
|  |      'Swords Dance': {'id': 14, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 30}, | ||
|  |      'Cut': {'id': 15, 'power': 50, 'type': 'Normal', 'accuracy': 95, 'pp': 30}, | ||
|  |      'Gust': {'id': 16, 'power': 40, 'type': 'Normal', 'accuracy': 100, 'pp': 35}, | ||
|  |      'Wing Attack': {'id': 17, 'power': 35, 'type': 'Flying', 'accuracy': 100, 'pp': 35}, | ||
|  |      'Whirlwind': {'id': 18, 'power': 0, 'type': 'Normal', 'accuracy': 85, 'pp': 20}, | ||
|  |      'Fly': {'id': 19, 'power': 70, 'type': 'Flying', 'accuracy': 95, 'pp': 15}, | ||
|  |      'Bind': {'id': 20, 'power': 15, 'type': 'Normal', 'accuracy': 75, 'pp': 20}, | ||
|  |      'Slam': {'id': 21, 'power': 80, 'type': 'Normal', 'accuracy': 75, 'pp': 20}, | ||
|  |      'Vine Whip': {'id': 22, 'power': 35, 'type': 'Grass', 'accuracy': 100, 'pp': 10}, | ||
|  |      'Stomp': {'id': 23, 'power': 65, 'type': 'Normal', 'accuracy': 100, 'pp': 20}, | ||
|  |      'Double Kick': {'id': 24, 'power': 30, 'type': 'Fighting', 'accuracy': 100, 'pp': 30}, | ||
|  |      'Mega Kick': {'id': 25, 'power': 120, 'type': 'Normal', 'accuracy': 75, 'pp': 5}, | ||
|  |      'Jump Kick': {'id': 26, 'power': 70, 'type': 'Fighting', 'accuracy': 95, 'pp': 25}, | ||
|  |      'Rolling Kick': {'id': 27, 'power': 60, 'type': 'Fighting', 'accuracy': 85, 'pp': 15}, | ||
|  |      'Sand Attack': {'id': 28, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 15}, | ||
|  |      'Headbutt': {'id': 29, 'power': 70, 'type': 'Normal', 'accuracy': 100, 'pp': 15}, | ||
|  |      'Horn Attack': {'id': 30, 'power': 65, 'type': 'Normal', 'accuracy': 100, 'pp': 25}, | ||
|  |      'Fury Attack': {'id': 31, 'power': 15, 'type': 'Normal', 'accuracy': 85, 'pp': 20}, | ||
|  |      'Horn Drill': {'id': 32, 'power': 1, 'type': 'Normal', 'accuracy': 30, 'pp': 5}, | ||
|  |      'Tackle': {'id': 33, 'power': 35, 'type': 'Normal', 'accuracy': 95, 'pp': 35}, | ||
|  |      'Body Slam': {'id': 34, 'power': 85, 'type': 'Normal', 'accuracy': 100, 'pp': 15}, | ||
|  |      'Wrap': {'id': 35, 'power': 15, 'type': 'Normal', 'accuracy': 85, 'pp': 20}, | ||
|  |      'Take Down': {'id': 36, 'power': 90, 'type': 'Normal', 'accuracy': 85, 'pp': 20}, | ||
|  |      'Thrash': {'id': 37, 'power': 90, 'type': 'Normal', 'accuracy': 100, 'pp': 20}, | ||
|  |      'Double Edge': {'id': 38, 'power': 100, 'type': 'Normal', 'accuracy': 100, 'pp': 15}, | ||
|  |      'Tail Whip': {'id': 39, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 30}, | ||
|  |      'Poison Sting': {'id': 40, 'power': 15, 'type': 'Poison', 'accuracy': 100, 'pp': 35}, | ||
|  |      'Twineedle': {'id': 41, 'power': 25, 'type': 'Bug', 'accuracy': 100, 'pp': 20}, | ||
|  |      'Pin Missile': {'id': 42, 'power': 14, 'type': 'Bug', 'accuracy': 85, 'pp': 20}, | ||
|  |      'Leer': {'id': 43, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 30}, | ||
|  |      'Bite': {'id': 44, 'power': 60, 'type': 'Normal', 'accuracy': 100, 'pp': 25}, | ||
|  |      'Growl': {'id': 45, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 40}, | ||
|  |      'Roar': {'id': 46, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 20}, | ||
|  |      'Sing': {'id': 47, 'power': 0, 'type': 'Normal', 'accuracy': 55, 'pp': 15}, | ||
|  |      'Supersonic': {'id': 48, 'power': 0, 'type': 'Normal', 'accuracy': 55, 'pp': 20}, | ||
|  |      'Sonicboom': {'id': 49, 'power': 1, 'type': 'Normal', 'accuracy': 90, 'pp': 20}, | ||
|  |      'Disable': {'id': 50, 'power': 0, 'type': 'Normal', 'accuracy': 55, 'pp': 20}, | ||
|  |      'Acid': {'id': 51, 'power': 40, 'type': 'Poison', 'accuracy': 100, 'pp': 30}, | ||
|  |      'Ember': {'id': 52, 'power': 40, 'type': 'Fire', 'accuracy': 100, 'pp': 25}, | ||
|  |      'Flamethrower': {'id': 53, 'power': 95, 'type': 'Fire', 'accuracy': 100, 'pp': 15}, | ||
|  |      'Mist': {'id': 54, 'power': 0, 'type': 'Ice', 'accuracy': 100, 'pp': 30}, | ||
|  |      'Water Gun': {'id': 55, 'power': 40, 'type': 'Water', 'accuracy': 100, 'pp': 25}, | ||
|  |      'Hydro Pump': {'id': 56, 'power': 120, 'type': 'Water', 'accuracy': 80, 'pp': 5}, | ||
|  |      'Surf': {'id': 57, 'power': 95, 'type': 'Water', 'accuracy': 100, 'pp': 15}, | ||
|  |      'Ice Beam': {'id': 58, 'power': 95, 'type': 'Ice', 'accuracy': 100, 'pp': 10}, | ||
|  |      'Blizzard': {'id': 59, 'power': 120, 'type': 'Ice', 'accuracy': 90, 'pp': 5}, | ||
|  |      'Psybeam': {'id': 60, 'power': 65, 'type': 'Psychic', 'accuracy': 100, 'pp': 20}, | ||
|  |      'Bubblebeam': {'id': 61, 'power': 65, 'type': 'Water', 'accuracy': 100, 'pp': 20}, | ||
|  |      'Aurora Beam': {'id': 62, 'power': 65, 'type': 'Ice', 'accuracy': 100, 'pp': 20}, | ||
|  |      'Hyper Beam': {'id': 63, 'power': 150, 'type': 'Normal', 'accuracy': 90, 'pp': 5}, | ||
|  |      'Peck': {'id': 64, 'power': 35, 'type': 'Flying', 'accuracy': 100, 'pp': 35}, | ||
|  |      'Drill Peck': {'id': 65, 'power': 80, 'type': 'Flying', 'accuracy': 100, 'pp': 20}, | ||
|  |      'Submission': {'id': 66, 'power': 80, 'type': 'Fighting', 'accuracy': 80, 'pp': 25}, | ||
|  |      'Low Kick': {'id': 67, 'power': 50, 'type': 'Fighting', 'accuracy': 90, 'pp': 20}, | ||
|  |      'Counter': {'id': 68, 'power': 1, 'type': 'Fighting', 'accuracy': 100, 'pp': 20}, | ||
|  |      'Seismic Toss': {'id': 69, 'power': 1, 'type': 'Fighting', 'accuracy': 100, 'pp': 20}, | ||
|  |      'Strength': {'id': 70, 'power': 80, 'type': 'Normal', 'accuracy': 100, 'pp': 15}, | ||
|  |      'Absorb': {'id': 71, 'power': 20, 'type': 'Grass', 'accuracy': 100, 'pp': 20}, | ||
|  |      'Mega Drain': {'id': 72, 'power': 40, 'type': 'Grass', 'accuracy': 100, 'pp': 10}, | ||
|  |      'Leech Seed': {'id': 73, 'power': 0, 'type': 'Grass', 'accuracy': 90, 'pp': 10}, | ||
|  |      'Growth': {'id': 74, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 40}, | ||
|  |      'Razor Leaf': {'id': 75, 'power': 55, 'type': 'Grass', 'accuracy': 95, 'pp': 25}, | ||
|  |      'Solarbeam': {'id': 76, 'power': 120, 'type': 'Grass', 'accuracy': 100, 'pp': 10}, | ||
|  |      'Poisonpowder': {'id': 77, 'power': 0, 'type': 'Poison', 'accuracy': 75, 'pp': 35}, | ||
|  |      'Stun Spore': {'id': 78, 'power': 0, 'type': 'Grass', 'accuracy': 75, 'pp': 30}, | ||
|  |      'Sleep Powder': {'id': 79, 'power': 0, 'type': 'Grass', 'accuracy': 75, 'pp': 15}, | ||
|  |      'Petal Dance': {'id': 80, 'power': 70, 'type': 'Grass', 'accuracy': 100, 'pp': 20}, | ||
|  |      'String Shot': {'id': 81, 'power': 0, 'type': 'Bug', 'accuracy': 95, 'pp': 40}, | ||
|  |      'Dragon Rage': {'id': 82, 'power': 1, 'type': 'Dragon', 'accuracy': 100, 'pp': 10}, | ||
|  |      'Fire Spin': {'id': 83, 'power': 15, 'type': 'Fire', 'accuracy': 70, 'pp': 15}, | ||
|  |      'Thundershock': {'id': 84, 'power': 40, 'type': 'Electric', 'accuracy': 100, 'pp': 30}, | ||
|  |      'Thunderbolt': {'id': 85, 'power': 95, 'type': 'Electric', 'accuracy': 100, 'pp': 15}, | ||
|  |      'Thunder Wave': {'id': 86, 'power': 0, 'type': 'Electric', 'accuracy': 100, 'pp': 20}, | ||
|  |      'Thunder': {'id': 87, 'power': 120, 'type': 'Electric', 'accuracy': 70, 'pp': 10}, | ||
|  |      'Rock Throw': {'id': 88, 'power': 50, 'type': 'Rock', 'accuracy': 65, 'pp': 15}, | ||
|  |      'Earthquake': {'id': 89, 'power': 100, 'type': 'Ground', 'accuracy': 100, 'pp': 10}, | ||
|  |      'Fissure': {'id': 90, 'power': 1, 'type': 'Ground', 'accuracy': 30, 'pp': 5}, | ||
|  |      'Dig': {'id': 91, 'power': 100, 'type': 'Ground', 'accuracy': 100, 'pp': 10}, | ||
|  |      'Toxic': {'id': 92, 'power': 0, 'type': 'Poison', 'accuracy': 85, 'pp': 10}, | ||
|  |      'Confusion': {'id': 93, 'power': 50, 'type': 'Psychic', 'accuracy': 100, 'pp': 25}, | ||
|  |      'Psychic': {'id': 94, 'power': 90, 'type': 'Psychic', 'accuracy': 100, 'pp': 10}, | ||
|  |      'Hypnosis': {'id': 95, 'power': 0, 'type': 'Psychic', 'accuracy': 60, 'pp': 20}, | ||
|  |      'Meditate': {'id': 96, 'power': 0, 'type': 'Psychic', 'accuracy': 100, 'pp': 40}, | ||
|  |      'Agility': {'id': 97, 'power': 0, 'type': 'Psychic', 'accuracy': 100, 'pp': 30}, | ||
|  |      'Quick Attack': {'id': 98, 'power': 40, 'type': 'Normal', 'accuracy': 100, 'pp': 30}, | ||
|  |      'Rage': {'id': 99, 'power': 20, 'type': 'Normal', 'accuracy': 100, 'pp': 20}, | ||
|  |      'Teleport': {'id': 100, 'power': 0, 'type': 'Psychic', 'accuracy': 100, 'pp': 20}, | ||
|  |      'Night Shade': {'id': 101, 'power': 0, 'type': 'Ghost', 'accuracy': 100, 'pp': 15}, | ||
|  |      'Mimic': {'id': 102, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 10}, | ||
|  |      'Screech': {'id': 103, 'power': 0, 'type': 'Normal', 'accuracy': 85, 'pp': 40}, | ||
|  |      'Double Team': {'id': 104, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 15}, | ||
|  |      'Recover': {'id': 105, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 20}, | ||
|  |      'Harden': {'id': 106, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 30}, | ||
|  |      'Minimize': {'id': 107, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 20}, | ||
|  |      'Smokescreen': {'id': 108, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 20}, | ||
|  |      'Confuse Ray': {'id': 109, 'power': 0, 'type': 'Ghost', 'accuracy': 100, 'pp': 10}, | ||
|  |      'Withdraw': {'id': 110, 'power': 0, 'type': 'Water', 'accuracy': 100, 'pp': 40}, | ||
|  |      'Defense Curl': {'id': 111, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 40}, | ||
|  |      'Barrier': {'id': 112, 'power': 0, 'type': 'Psychic', 'accuracy': 100, 'pp': 30}, | ||
|  |      'Light Screen': {'id': 113, 'power': 0, 'type': 'Psychic', 'accuracy': 100, 'pp': 30}, | ||
|  |      'Haze': {'id': 114, 'power': 0, 'type': 'Ice', 'accuracy': 100, 'pp': 30}, | ||
|  |      'Reflect': {'id': 115, 'power': 0, 'type': 'Psychic', 'accuracy': 100, 'pp': 20}, | ||
|  |      'Focus Energy': {'id': 116, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 30}, | ||
|  |      'Bide': {'id': 117, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 10}, | ||
|  |      'Metronome': {'id': 118, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 10}, | ||
|  |      'Mirror Move': {'id': 119, 'power': 0, 'type': 'Flying', 'accuracy': 100, 'pp': 20}, | ||
|  |      'Selfdestruct': {'id': 120, 'power': 130, 'type': 'Normal', 'accuracy': 100, 'pp': 5}, | ||
|  |      'Egg Bomb': {'id': 121, 'power': 100, 'type': 'Normal', 'accuracy': 75, 'pp': 10}, | ||
|  |      'Lick': {'id': 122, 'power': 20, 'type': 'Ghost', 'accuracy': 100, 'pp': 30}, | ||
|  |      'Smog': {'id': 123, 'power': 20, 'type': 'Poison', 'accuracy': 70, 'pp': 20}, | ||
|  |      'Sludge': {'id': 124, 'power': 65, 'type': 'Poison', 'accuracy': 100, 'pp': 20}, | ||
|  |      'Bone Club': {'id': 125, 'power': 65, 'type': 'Ground', 'accuracy': 85, 'pp': 20}, | ||
|  |      'Fire Blast': {'id': 126, 'power': 120, 'type': 'Fire', 'accuracy': 85, 'pp': 5}, | ||
|  |      'Waterfall': {'id': 127, 'power': 80, 'type': 'Water', 'accuracy': 100, 'pp': 15}, | ||
|  |      'Clamp': {'id': 128, 'power': 35, 'type': 'Water', 'accuracy': 75, 'pp': 10}, | ||
|  |      'Swift': {'id': 129, 'power': 60, 'type': 'Normal', 'accuracy': 100, 'pp': 20}, | ||
|  |      'Skull Bash': {'id': 130, 'power': 100, 'type': 'Normal', 'accuracy': 100, 'pp': 15}, | ||
|  |      'Spike Cannon': {'id': 131, 'power': 20, 'type': 'Normal', 'accuracy': 100, 'pp': 15}, | ||
|  |      'Constrict': {'id': 132, 'power': 10, 'type': 'Normal', 'accuracy': 100, 'pp': 35}, | ||
|  |      'Amnesia': {'id': 133, 'power': 0, 'type': 'Psychic', 'accuracy': 100, 'pp': 20}, | ||
|  |      'Kinesis': {'id': 134, 'power': 0, 'type': 'Psychic', 'accuracy': 80, 'pp': 15}, | ||
|  |      'Softboiled': {'id': 135, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 10}, | ||
|  |      'Hi Jump Kick': {'id': 136, 'power': 85, 'type': 'Fighting', 'accuracy': 90, 'pp': 20}, | ||
|  |      'Glare': {'id': 137, 'power': 0, 'type': 'Normal', 'accuracy': 75, 'pp': 30}, | ||
|  |      'Dream Eater': {'id': 138, 'power': 100, 'type': 'Psychic', 'accuracy': 100, 'pp': 15}, | ||
|  |      'Poison Gas': {'id': 139, 'power': 0, 'type': 'Poison', 'accuracy': 55, 'pp': 40}, | ||
|  |      'Barrage': {'id': 140, 'power': 15, 'type': 'Normal', 'accuracy': 85, 'pp': 20}, | ||
|  |      'Leech Life': {'id': 141, 'power': 20, 'type': 'Bug', 'accuracy': 100, 'pp': 15}, | ||
|  |      'Lovely Kiss': {'id': 142, 'power': 0, 'type': 'Normal', 'accuracy': 75, 'pp': 10}, | ||
|  |      'Sky Attack': {'id': 143, 'power': 140, 'type': 'Flying', 'accuracy': 90, 'pp': 5}, | ||
|  |      'Transform': {'id': 144, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 10}, | ||
|  |      'Bubble': {'id': 145, 'power': 20, 'type': 'Water', 'accuracy': 100, 'pp': 30}, | ||
|  |      'Dizzy Punch': {'id': 146, 'power': 70, 'type': 'Normal', 'accuracy': 100, 'pp': 10}, | ||
|  |      'Spore': {'id': 147, 'power': 0, 'type': 'Grass', 'accuracy': 100, 'pp': 15}, | ||
|  |      'Flash': {'id': 148, 'power': 0, 'type': 'Normal', 'accuracy': 70, 'pp': 20}, | ||
|  |      'Psywave': {'id': 149, 'power': 1, 'type': 'Psychic', 'accuracy': 80, 'pp': 15}, | ||
|  |      'Splash': {'id': 150, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 40}, | ||
|  |      'Acid Armor': {'id': 151, 'power': 0, 'type': 'Poison', 'accuracy': 100, 'pp': 40}, | ||
|  |      'Crabhammer': {'id': 152, 'power': 90, 'type': 'Water', 'accuracy': 85, 'pp': 10}, | ||
|  |      'Explosion': {'id': 153, 'power': 170, 'type': 'Normal', 'accuracy': 100, 'pp': 5}, | ||
|  |      'Fury Swipes': {'id': 154, 'power': 18, 'type': 'Normal', 'accuracy': 80, 'pp': 15}, | ||
|  |      'Bonemerang': {'id': 155, 'power': 50, 'type': 'Ground', 'accuracy': 90, 'pp': 10}, | ||
|  |      'Rest': {'id': 156, 'power': 0, 'type': 'Psychic', 'accuracy': 100, 'pp': 10}, | ||
|  |      'Rock Slide': {'id': 157, 'power': 75, 'type': 'Rock', 'accuracy': 90, 'pp': 10}, | ||
|  |      'Hyper Fang': {'id': 158, 'power': 80, 'type': 'Normal', 'accuracy': 90, 'pp': 15}, | ||
|  |      'Sharpen': {'id': 159, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 30}, | ||
|  |      'Conversion': {'id': 160, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 30}, | ||
|  |      'Tri Attack': {'id': 161, 'power': 80, 'type': 'Normal', 'accuracy': 100, 'pp': 10}, | ||
|  |      'Super Fang': {'id': 162, 'power': 1, 'type': 'Normal', 'accuracy': 90, 'pp': 10}, | ||
|  |      'Slash': {'id': 163, 'power': 70, 'type': 'Normal', 'accuracy': 100, 'pp': 20}, | ||
|  |      'Substitute': {'id': 164, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 10}, | ||
|  |      #'Struggle': {'id': 165, 'power': 50, 'type': 'Struggle_Type', 'accuracy': 100, 'pp': 10} | ||
|  | } | ||
|  | 
 | ||
|  | encounter_tables = {'Wild_Super_Rod_A': 2, 'Wild_Super_Rod_B': 2, 'Wild_Super_Rod_C': 3, 'Wild_Super_Rod_D': 2, | ||
|  |                     'Wild_Super_Rod_E': 2, 'Wild_Super_Rod_F': 4, 'Wild_Super_Rod_G': 4, 'Wild_Super_Rod_H': 4, | ||
|  |                     'Wild_Super_Rod_I': 4, 'Wild_Super_Rod_J': 4, 'Wild_Route1': 10, 'Wild_Route2': 10, | ||
|  |                     'Wild_Route22': 10, 'Wild_ViridianForest': 10, 'Wild_Route3': 10, 'Wild_MtMoon1F': 10, | ||
|  |                     'Wild_MtMoonB1F': 10, 'Wild_MtMoonB2F': 10, 'Wild_Route4': 10, 'Wild_Route24': 10, | ||
|  |                     'Wild_Route25': 10, 'Wild_Route9': 10, 'Wild_Route5': 10, 'Wild_Route6': 10, | ||
|  |                     'Wild_Route11': 10, 'Wild_RockTunnel1F': 10, 'Wild_RockTunnelB1F': 10, 'Wild_Route10': 10, | ||
|  |                     'Wild_Route12': 10, 'Wild_Route8': 10, 'Wild_Route7': 10, 'Wild_PokemonTower3F': 10, | ||
|  |                     'Wild_PokemonTower4F': 10, 'Wild_PokemonTower5F': 10, 'Wild_PokemonTower6F': 10, | ||
|  |                     'Wild_PokemonTower7F': 10, 'Wild_Route13': 10, 'Wild_Route14': 10, 'Wild_Route15': 10, | ||
|  |                     'Wild_Route16': 10, 'Wild_Route17': 10, 'Wild_Route18': 10, 'Wild_SafariZoneCenter': 10, | ||
|  |                     'Wild_SafariZoneEast': 10, 'Wild_SafariZoneNorth': 10, 'Wild_SafariZoneWest': 10, | ||
|  |                     'Wild_SeaRoutes': 10, 'Wild_SeafoamIslands1F': 10, 'Wild_SeafoamIslandsB1F': 10, | ||
|  |                     'Wild_SeafoamIslandsB2F': 10, 'Wild_SeafoamIslandsB3F': 10, 'Wild_SeafoamIslandsB4F': 10, | ||
|  |                     'Wild_PokemonMansion1F': 10, 'Wild_PokemonMansion2F': 10, 'Wild_PokemonMansion3F': 10, | ||
|  |                     'Wild_PokemonMansionB1F': 10, 'Wild_Route21': 10, 'Wild_CeruleanCave1F': 10, | ||
|  |                     'Wild_CeruleanCave2F': 10, 'Wild_CeruleanCaveB1F': 10, 'Wild_PowerPlant': 10, | ||
|  |                     'Wild_Route23': 10, 'Wild_VictoryRoad2F': 10, 'Wild_VictoryRoad3F': 10, | ||
|  |                     'Wild_VictoryRoad1F': 10, 'Wild_DiglettsCave': 10, 'Wild_Good_Rod': 2} | ||
|  | 
 | ||
|  | hm_moves = ["Cut", "Fly", "Surf", "Strength", "Flash"] | ||
|  | 
 | ||
|  | tm_moves = [ | ||
|  |     'Mega Punch', 'Razor Wind', 'Swords Dance', 'Whirlwind', 'Mega Kick', 'Toxic', 'Horn Drill', 'Body Slam', | ||
|  |     'Take Down', 'Double Edge', 'Bubblebeam', 'Water Gun', 'Ice Beam', 'Blizzard', 'Hyper Beam', 'Pay Day', | ||
|  |     'Submission', 'Counter', 'Seismic Toss', 'Rage', 'Mega Drain', 'Solarbeam', 'Dragon Rage', 'Thunderbolt', 'Thunder', | ||
|  |     'Earthquake', 'Fissure', 'Dig', 'Psychic', 'Teleport', 'Mimic', 'Double Team', 'Reflect', 'Bide', 'Metronome', | ||
|  |     'Selfdestruct', 'Egg Bomb', 'Fire Blast', 'Swift', 'Skull Bash', 'Softboiled', 'Dream Eater', 'Sky Attack', 'Rest', | ||
|  |     'Thunder Wave', 'Psywave', 'Explosion', 'Rock Slide', 'Tri Attack', 'Substitute' | ||
|  | ] | ||
|  | 
 | ||
|  | first_stage_pokemon = [pokemon for pokemon in pokemon_data.keys() if pokemon not in evolves_from] | ||
|  | legendary_pokemon = ["Articuno", "Zapdos", "Moltres", "Mewtwo", "Mew"] | ||
|  | 
 |