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, 'effect': 0},
    'Pound': {'id': 1, 'power': 40, 'type': 'Normal', 'accuracy': 100, 'pp': 35, 'effect': 0},
    'Karate Chop': {'id': 2, 'power': 50, 'type': 'Normal', 'accuracy': 100, 'pp': 25, 'effect': 0},
    'Doubleslap': {'id': 3, 'power': 15, 'type': 'Normal', 'accuracy': 85, 'pp': 10, 'effect': 29},
    'Comet Punch': {'id': 4, 'power': 18, 'type': 'Normal', 'accuracy': 85, 'pp': 15, 'effect': 29},
    'Mega Punch': {'id': 5, 'power': 80, 'type': 'Normal', 'accuracy': 85, 'pp': 20, 'effect': 0},
    'Pay Day': {'id': 6, 'power': 40, 'type': 'Normal', 'accuracy': 100, 'pp': 20, 'effect': 16},
    'Fire Punch': {'id': 7, 'power': 75, 'type': 'Fire', 'accuracy': 100, 'pp': 15, 'effect': 4},
    'Ice Punch': {'id': 8, 'power': 75, 'type': 'Ice', 'accuracy': 100, 'pp': 15, 'effect': 5},
    'Thunderpunch': {'id': 9, 'power': 75, 'type': 'Electric', 'accuracy': 100, 'pp': 15, 'effect': 6},
    'Scratch': {'id': 10, 'power': 40, 'type': 'Normal', 'accuracy': 100, 'pp': 35, 'effect': 0},
    'Vicegrip': {'id': 11, 'power': 55, 'type': 'Normal', 'accuracy': 100, 'pp': 30, 'effect': 0},
    'Guillotine': {'id': 12, 'power': 1, 'type': 'Normal', 'accuracy': 30, 'pp': 5, 'effect': 38},
    'Razor Wind': {'id': 13, 'power': 80, 'type': 'Normal', 'accuracy': 75, 'pp': 10, 'effect': 39},
    'Swords Dance': {'id': 14, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 30, 'effect': 50},
    'Cut': {'id': 15, 'power': 50, 'type': 'Normal', 'accuracy': 95, 'pp': 30, 'effect': 0},
    'Gust': {'id': 16, 'power': 40, 'type': 'Normal', 'accuracy': 100, 'pp': 35, 'effect': 0},
    'Wing Attack': {'id': 17, 'power': 35, 'type': 'Flying', 'accuracy': 100, 'pp': 35, 'effect': 0},
    'Whirlwind': {'id': 18, 'power': 0, 'type': 'Normal', 'accuracy': 85, 'pp': 20, 'effect': 28},
    'Fly': {'id': 19, 'power': 70, 'type': 'Flying', 'accuracy': 95, 'pp': 15, 'effect': 43},
    'Bind': {'id': 20, 'power': 15, 'type': 'Normal', 'accuracy': 75, 'pp': 20, 'effect': 42},
    'Slam': {'id': 21, 'power': 80, 'type': 'Normal', 'accuracy': 75, 'pp': 20, 'effect': 0},
    'Vine Whip': {'id': 22, 'power': 35, 'type': 'Grass', 'accuracy': 100, 'pp': 10, 'effect': 0},
    'Stomp': {'id': 23, 'power': 65, 'type': 'Normal', 'accuracy': 100, 'pp': 20, 'effect': 37},
    'Double Kick': {'id': 24, 'power': 30, 'type': 'Fighting', 'accuracy': 100, 'pp': 30, 'effect': 44},
    'Mega Kick': {'id': 25, 'power': 120, 'type': 'Normal', 'accuracy': 75, 'pp': 5, 'effect': 0},
    'Jump Kick': {'id': 26, 'power': 70, 'type': 'Fighting', 'accuracy': 95, 'pp': 25, 'effect': 45},
    'Rolling Kick': {'id': 27, 'power': 60, 'type': 'Fighting', 'accuracy': 85, 'pp': 15, 'effect': 37},
    'Sand Attack': {'id': 28, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 15, 'effect': 22},
    'Headbutt': {'id': 29, 'power': 70, 'type': 'Normal', 'accuracy': 100, 'pp': 15, 'effect': 37},
    'Horn Attack': {'id': 30, 'power': 65, 'type': 'Normal', 'accuracy': 100, 'pp': 25, 'effect': 0},
    'Fury Attack': {'id': 31, 'power': 15, 'type': 'Normal', 'accuracy': 85, 'pp': 20, 'effect': 29},
    'Horn Drill': {'id': 32, 'power': 1, 'type': 'Normal', 'accuracy': 30, 'pp': 5, 'effect': 38},
    'Tackle': {'id': 33, 'power': 35, 'type': 'Normal', 'accuracy': 95, 'pp': 35, 'effect': 0},
    'Body Slam': {'id': 34, 'power': 85, 'type': 'Normal', 'accuracy': 100, 'pp': 15, 'effect': 36},
    'Wrap': {'id': 35, 'power': 15, 'type': 'Normal', 'accuracy': 85, 'pp': 20, 'effect': 42},
    'Take Down': {'id': 36, 'power': 90, 'type': 'Normal', 'accuracy': 85, 'pp': 20, 'effect': 48},
    'Thrash': {'id': 37, 'power': 90, 'type': 'Normal', 'accuracy': 100, 'pp': 20, 'effect': 27},
    'Double Edge': {'id': 38, 'power': 100, 'type': 'Normal', 'accuracy': 100, 'pp': 15, 'effect': 48},
    'Tail Whip': {'id': 39, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 30, 'effect': 19},
    'Poison Sting': {'id': 40, 'power': 15, 'type': 'Poison', 'accuracy': 100, 'pp': 35, 'effect': 2},
    'Twineedle': {'id': 41, 'power': 25, 'type': 'Bug', 'accuracy': 100, 'pp': 20, 'effect': 77},
    'Pin Missile': {'id': 42, 'power': 14, 'type': 'Bug', 'accuracy': 85, 'pp': 20, 'effect': 29},
    'Leer': {'id': 43, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 30, 'effect': 19},
    'Bite': {'id': 44, 'power': 60, 'type': 'Normal', 'accuracy': 100, 'pp': 25, 'effect': 31},
    'Growl': {'id': 45, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 40, 'effect': 18},
    'Roar': {'id': 46, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 20, 'effect': 28},
    'Sing': {'id': 47, 'power': 0, 'type': 'Normal', 'accuracy': 55, 'pp': 15, 'effect': 32},
    'Supersonic': {'id': 48, 'power': 0, 'type': 'Normal', 'accuracy': 55, 'pp': 20, 'effect': 49},
    'Sonicboom': {'id': 49, 'power': 1, 'type': 'Normal', 'accuracy': 90, 'pp': 20, 'effect': 41},
    'Disable': {'id': 50, 'power': 0, 'type': 'Normal', 'accuracy': 55, 'pp': 20, 'effect': 86},
    'Acid': {'id': 51, 'power': 40, 'type': 'Poison', 'accuracy': 100, 'pp': 30, 'effect': 69},
    'Ember': {'id': 52, 'power': 40, 'type': 'Fire', 'accuracy': 100, 'pp': 25, 'effect': 4},
    'Flamethrower': {'id': 53, 'power': 95, 'type': 'Fire', 'accuracy': 100, 'pp': 15, 'effect': 4},
    'Mist': {'id': 54, 'power': 0, 'type': 'Ice', 'accuracy': 100, 'pp': 30, 'effect': 46},
    'Water Gun': {'id': 55, 'power': 40, 'type': 'Water', 'accuracy': 100, 'pp': 25, 'effect': 0},
    'Hydro Pump': {'id': 56, 'power': 120, 'type': 'Water', 'accuracy': 80, 'pp': 5, 'effect': 0},
    'Surf': {'id': 57, 'power': 95, 'type': 'Water', 'accuracy': 100, 'pp': 15, 'effect': 0},
    'Ice Beam': {'id': 58, 'power': 95, 'type': 'Ice', 'accuracy': 100, 'pp': 10, 'effect': 5},
    'Blizzard': {'id': 59, 'power': 120, 'type': 'Ice', 'accuracy': 90, 'pp': 5, 'effect': 5},
    'Psybeam': {'id': 60, 'power': 65, 'type': 'Psychic', 'accuracy': 100, 'pp': 20, 'effect': 76},
    'Bubblebeam': {'id': 61, 'power': 65, 'type': 'Water', 'accuracy': 100, 'pp': 20, 'effect': 70},
    'Aurora Beam': {'id': 62, 'power': 65, 'type': 'Ice', 'accuracy': 100, 'pp': 20, 'effect': 68},
    'Hyper Beam': {'id': 63, 'power': 150, 'type': 'Normal', 'accuracy': 90, 'pp': 5, 'effect': 80},
    'Peck': {'id': 64, 'power': 35, 'type': 'Flying', 'accuracy': 100, 'pp': 35, 'effect': 0},
    'Drill Peck': {'id': 65, 'power': 80, 'type': 'Flying', 'accuracy': 100, 'pp': 20, 'effect': 0},
    'Submission': {'id': 66, 'power': 80, 'type': 'Fighting', 'accuracy': 80, 'pp': 25, 'effect': 48},
    'Low Kick': {'id': 67, 'power': 50, 'type': 'Fighting', 'accuracy': 90, 'pp': 20, 'effect': 37},
    'Counter': {'id': 68, 'power': 1, 'type': 'Fighting', 'accuracy': 100, 'pp': 20, 'effect': 0},
    'Seismic Toss': {'id': 69, 'power': 1, 'type': 'Fighting', 'accuracy': 100, 'pp': 20, 'effect': 41},
    'Strength': {'id': 70, 'power': 80, 'type': 'Normal', 'accuracy': 100, 'pp': 15, 'effect': 0},
    'Absorb': {'id': 71, 'power': 20, 'type': 'Grass', 'accuracy': 100, 'pp': 20, 'effect': 3},
    'Mega Drain': {'id': 72, 'power': 40, 'type': 'Grass', 'accuracy': 100, 'pp': 10, 'effect': 3},
    'Leech Seed': {'id': 73, 'power': 0, 'type': 'Grass', 'accuracy': 90, 'pp': 10, 'effect': 84},
    'Growth': {'id': 74, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 40, 'effect': 13},
    'Razor Leaf': {'id': 75, 'power': 55, 'type': 'Grass', 'accuracy': 95, 'pp': 25, 'effect': 0},
    'Solarbeam': {'id': 76, 'power': 120, 'type': 'Grass', 'accuracy': 100, 'pp': 10, 'effect': 39},
    'Poisonpowder': {'id': 77, 'power': 0, 'type': 'Poison', 'accuracy': 75, 'pp': 35, 'effect': 66},
    'Stun Spore': {'id': 78, 'power': 0, 'type': 'Grass', 'accuracy': 75, 'pp': 30, 'effect': 67},
    'Sleep Powder': {'id': 79, 'power': 0, 'type': 'Grass', 'accuracy': 75, 'pp': 15, 'effect': 32},
    'Petal Dance': {'id': 80, 'power': 70, 'type': 'Grass', 'accuracy': 100, 'pp': 20, 'effect': 27},
    'String Shot': {'id': 81, 'power': 0, 'type': 'Bug', 'accuracy': 95, 'pp': 40, 'effect': 20},
    'Dragon Rage': {'id': 82, 'power': 1, 'type': 'Dragon', 'accuracy': 100, 'pp': 10, 'effect': 41},
    'Fire Spin': {'id': 83, 'power': 15, 'type': 'Fire', 'accuracy': 70, 'pp': 15, 'effect': 42},
    'Thundershock': {'id': 84, 'power': 40, 'type': 'Electric', 'accuracy': 100, 'pp': 30, 'effect': 6},
    'Thunderbolt': {'id': 85, 'power': 95, 'type': 'Electric', 'accuracy': 100, 'pp': 15, 'effect': 6},
    'Thunder Wave': {'id': 86, 'power': 0, 'type': 'Electric', 'accuracy': 100, 'pp': 20, 'effect': 67},
    'Thunder': {'id': 87, 'power': 120, 'type': 'Electric', 'accuracy': 70, 'pp': 10, 'effect': 6},
    'Rock Throw': {'id': 88, 'power': 50, 'type': 'Rock', 'accuracy': 65, 'pp': 15, 'effect': 0},
    'Earthquake': {'id': 89, 'power': 100, 'type': 'Ground', 'accuracy': 100, 'pp': 10, 'effect': 0},
    'Fissure': {'id': 90, 'power': 1, 'type': 'Ground', 'accuracy': 30, 'pp': 5, 'effect': 38},
    'Dig': {'id': 91, 'power': 100, 'type': 'Ground', 'accuracy': 100, 'pp': 10, 'effect': 39},
    'Toxic': {'id': 92, 'power': 0, 'type': 'Poison', 'accuracy': 85, 'pp': 10, 'effect': 66},
    'Confusion': {'id': 93, 'power': 50, 'type': 'Psychic', 'accuracy': 100, 'pp': 25, 'effect': 76},
    'Psychic': {'id': 94, 'power': 90, 'type': 'Psychic', 'accuracy': 100, 'pp': 10, 'effect': 71},
    'Hypnosis': {'id': 95, 'power': 0, 'type': 'Psychic', 'accuracy': 60, 'pp': 20, 'effect': 32},
    'Meditate': {'id': 96, 'power': 0, 'type': 'Psychic', 'accuracy': 100, 'pp': 40, 'effect': 10},
    'Agility': {'id': 97, 'power': 0, 'type': 'Psychic', 'accuracy': 100, 'pp': 30, 'effect': 52},
    'Quick Attack': {'id': 98, 'power': 40, 'type': 'Normal', 'accuracy': 100, 'pp': 30, 'effect': 0},
    'Rage': {'id': 99, 'power': 20, 'type': 'Normal', 'accuracy': 100, 'pp': 20, 'effect': 81},
    'Teleport': {'id': 100, 'power': 0, 'type': 'Psychic', 'accuracy': 100, 'pp': 20, 'effect': 28},
    'Night Shade': {'id': 101, 'power': 0, 'type': 'Ghost', 'accuracy': 100, 'pp': 15, 'effect': 41},
    'Mimic': {'id': 102, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 10, 'effect': 82},
    'Screech': {'id': 103, 'power': 0, 'type': 'Normal', 'accuracy': 85, 'pp': 40, 'effect': 59},
    'Double Team': {'id': 104, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 15, 'effect': 15},
    'Recover': {'id': 105, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 20, 'effect': 56},
    'Harden': {'id': 106, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 30, 'effect': 11},
    'Minimize': {'id': 107, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 20, 'effect': 15},
    'Smokescreen': {'id': 108, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 20, 'effect': 22},
    'Confuse Ray': {'id': 109, 'power': 0, 'type': 'Ghost', 'accuracy': 100, 'pp': 10, 'effect': 49},
    'Withdraw': {'id': 110, 'power': 0, 'type': 'Water', 'accuracy': 100, 'pp': 40, 'effect': 11},
    'Defense Curl': {'id': 111, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 40, 'effect': 11},
    'Barrier': {'id': 112, 'power': 0, 'type': 'Psychic', 'accuracy': 100, 'pp': 30, 'effect': 51},
    'Light Screen': {'id': 113, 'power': 0, 'type': 'Psychic', 'accuracy': 100, 'pp': 30, 'effect': 64},
    'Haze': {'id': 114, 'power': 0, 'type': 'Ice', 'accuracy': 100, 'pp': 30, 'effect': 25},
    'Reflect': {'id': 115, 'power': 0, 'type': 'Psychic', 'accuracy': 100, 'pp': 20, 'effect': 65},
    'Focus Energy': {'id': 116, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 30, 'effect': 47},
    'Bide': {'id': 117, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 10, 'effect': 26},
    'Metronome': {'id': 118, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 10, 'effect': 83},
    'Mirror Move': {'id': 119, 'power': 0, 'type': 'Flying', 'accuracy': 100, 'pp': 20, 'effect': 9},
    'Selfdestruct': {'id': 120, 'power': 130, 'type': 'Normal', 'accuracy': 100, 'pp': 5, 'effect': 7},
    'Egg Bomb': {'id': 121, 'power': 100, 'type': 'Normal', 'accuracy': 75, 'pp': 10, 'effect': 0},
    'Lick': {'id': 122, 'power': 20, 'type': 'Ghost', 'accuracy': 100, 'pp': 30, 'effect': 36},
    'Smog': {'id': 123, 'power': 20, 'type': 'Poison', 'accuracy': 70, 'pp': 20, 'effect': 33},
    'Sludge': {'id': 124, 'power': 65, 'type': 'Poison', 'accuracy': 100, 'pp': 20, 'effect': 33},
    'Bone Club': {'id': 125, 'power': 65, 'type': 'Ground', 'accuracy': 85, 'pp': 20, 'effect': 31},
    'Fire Blast': {'id': 126, 'power': 120, 'type': 'Fire', 'accuracy': 85, 'pp': 5, 'effect': 34},
    'Waterfall': {'id': 127, 'power': 80, 'type': 'Water', 'accuracy': 100, 'pp': 15, 'effect': 0},
    'Clamp': {'id': 128, 'power': 35, 'type': 'Water', 'accuracy': 75, 'pp': 10, 'effect': 42},
    'Swift': {'id': 129, 'power': 60, 'type': 'Normal', 'accuracy': 100, 'pp': 20, 'effect': 17},
    'Skull Bash': {'id': 130, 'power': 100, 'type': 'Normal', 'accuracy': 100, 'pp': 15, 'effect': 39},
    'Spike Cannon': {'id': 131, 'power': 20, 'type': 'Normal', 'accuracy': 100, 'pp': 15, 'effect': 29},
    'Constrict': {'id': 132, 'power': 10, 'type': 'Normal', 'accuracy': 100, 'pp': 35, 'effect': 70},
    'Amnesia': {'id': 133, 'power': 0, 'type': 'Psychic', 'accuracy': 100, 'pp': 20, 'effect': 53},
    'Kinesis': {'id': 134, 'power': 0, 'type': 'Psychic', 'accuracy': 80, 'pp': 15, 'effect': 22},
    'Softboiled': {'id': 135, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 10, 'effect': 56},
    'Hi Jump Kick': {'id': 136, 'power': 85, 'type': 'Fighting', 'accuracy': 90, 'pp': 20, 'effect': 45},
    'Glare': {'id': 137, 'power': 0, 'type': 'Normal', 'accuracy': 75, 'pp': 30, 'effect': 67},
    'Dream Eater': {'id': 138, 'power': 100, 'type': 'Psychic', 'accuracy': 100, 'pp': 15, 'effect': 8},
    'Poison Gas': {'id': 139, 'power': 0, 'type': 'Poison', 'accuracy': 55, 'pp': 40, 'effect': 66},
    'Barrage': {'id': 140, 'power': 15, 'type': 'Normal', 'accuracy': 85, 'pp': 20, 'effect': 29},
    'Leech Life': {'id': 141, 'power': 20, 'type': 'Bug', 'accuracy': 100, 'pp': 15, 'effect': 3},
    'Lovely Kiss': {'id': 142, 'power': 0, 'type': 'Normal', 'accuracy': 75, 'pp': 10, 'effect': 32},
    'Sky Attack': {'id': 143, 'power': 140, 'type': 'Flying', 'accuracy': 90, 'pp': 5, 'effect': 39},
    'Transform': {'id': 144, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 10, 'effect': 57},
    'Bubble': {'id': 145, 'power': 20, 'type': 'Water', 'accuracy': 100, 'pp': 30, 'effect': 70},
    'Dizzy Punch': {'id': 146, 'power': 70, 'type': 'Normal', 'accuracy': 100, 'pp': 10, 'effect': 0},
    'Spore': {'id': 147, 'power': 0, 'type': 'Grass', 'accuracy': 100, 'pp': 15, 'effect': 32},
    'Flash': {'id': 148, 'power': 0, 'type': 'Normal', 'accuracy': 70, 'pp': 20, 'effect': 22},
    'Psywave': {'id': 149, 'power': 1, 'type': 'Psychic', 'accuracy': 80, 'pp': 15, 'effect': 41},
    'Splash': {'id': 150, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 40, 'effect': 85},
    'Acid Armor': {'id': 151, 'power': 0, 'type': 'Poison', 'accuracy': 100, 'pp': 40, 'effect': 51},
    'Crabhammer': {'id': 152, 'power': 90, 'type': 'Water', 'accuracy': 85, 'pp': 10, 'effect': 0},
    'Explosion': {'id': 153, 'power': 170, 'type': 'Normal', 'accuracy': 100, 'pp': 5, 'effect': 7},
    'Fury Swipes': {'id': 154, 'power': 18, 'type': 'Normal', 'accuracy': 80, 'pp': 15, 'effect': 29},
    'Bonemerang': {'id': 155, 'power': 50, 'type': 'Ground', 'accuracy': 90, 'pp': 10, 'effect': 44},
    'Rest': {'id': 156, 'power': 0, 'type': 'Psychic', 'accuracy': 100, 'pp': 10, 'effect': 56},
    'Rock Slide': {'id': 157, 'power': 75, 'type': 'Rock', 'accuracy': 90, 'pp': 10, 'effect': 0},
    'Hyper Fang': {'id': 158, 'power': 80, 'type': 'Normal', 'accuracy': 90, 'pp': 15, 'effect': 31},
    'Sharpen': {'id': 159, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 30, 'effect': 10},
    'Conversion': {'id': 160, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 30, 'effect': 24},
    'Tri Attack': {'id': 161, 'power': 80, 'type': 'Normal', 'accuracy': 100, 'pp': 10, 'effect': 0},
    'Super Fang': {'id': 162, 'power': 1, 'type': 'Normal', 'accuracy': 90, 'pp': 10, 'effect': 40},
    'Slash': {'id': 163, 'power': 70, 'type': 'Normal', 'accuracy': 100, 'pp': 20, 'effect': 0},
    'Substitute': {'id': 164, 'power': 0, 'type': 'Normal', 'accuracy': 100, 'pp': 10, 'effect': 79}
     #'Struggle': {'id': 165, 'power': 50, 'type': 'Struggle_Type', 'accuracy': 100, 'pp': 10, 'effect': 48}
}

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'
]

evolution_levels = {
    'Bulbasaur': 16, 'Ivysaur': 32, 'Charmander': 16, 'Charmeleon': 36, 'Squirtle': 16, 'Wartortle': 36, 'Caterpie': 7,
    'Metapod': 10, 'Weedle': 7, 'Kakuna': 10, 'Pidgey': 18, 'Pidgeotto': 36, 'Rattata': 20, 'Spearow': 20, 'Ekans': 22,
    'Sandshrew': 22, 'Nidoran F': 16, 'Nidoran M': 16, 'Zubat': 22, 'Oddish': 21, 'Paras': 24, 'Venonat': 31,
    'Diglett': 26, 'Meowth': 28, 'Psyduck': 33, 'Mankey': 28, 'Poliwag': 25, 'Abra': 16, 'Kadabra': 35, 'Machop': 28,
    'Machoke': 35, 'Bellsprout': 21, 'Tentacool': 30, 'Geodude': 25, 'Graveler': 35, 'Ponyta': 40, 'Slowpoke': 37,
    'Magnemite': 30, 'Doduo': 31, 'Seel': 34, 'Grimer': 38, 'Gastly': 25, 'Haunter': 35, 'Drowzee': 26, 'Krabby': 28,
    'Voltorb': 30, 'Cubone': 28, 'Koffing': 35, 'Rhyhorn': 42, 'Horsea': 32, 'Goldeen': 33, 'Magikarp': 33,
    'Omanyte': 40, 'Kabuto': 40, 'Dratini': 30, 'Dragonair': 55
}


first_stage_pokemon = [pokemon for pokemon in pokemon_data.keys() if pokemon not in evolves_from]
legendary_pokemon = ["Articuno", "Zapdos", "Moltres", "Mewtwo", "Mew"]

