SHARE
TWEET

Untitled

a guest Apr 20th, 2019 109 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import os
  2. import random
  3.  
  4. #pokemon class
  5. class pokemon():
  6.     def __init__(self, objn, name, item, nature, ev_spread, ability, move1, move2, move3, move4, tier):
  7.         self.objn = objn
  8.         self.name = name
  9.         self.item = item
  10.         self.nature = nature
  11.         self.ev_spread = ev_spread
  12.         self.ability = ability
  13.         self.move1 = move1
  14.         self.move2 = move2
  15.         self.move3 = move3
  16.         self.move4 = move4
  17.         self.tier = tier
  18.  
  19. #all gyarados stuff
  20. gyarados_mega = pokemon("gyarados_mega", "Gyarados-Mega", "Gyaradosite", "Adamant", "248 HP / 44 Atk / 40 Def / 32 SpD / 144 Spe", "Intimidate", "Waterfall", "Dragon Dance", "Outrage", "Earthquake", "s")
  21. gyarados_mega_2 = pokemon("gyarados_mega_2", "Gyarados-Mega", "Gyaradosite", "Adamant", "4 HP / 252 Atk / 252 Spe", "Intimidate", "Waterfall", "Dragon Dance", "Outrage", "Earthquake", "s")
  22. gyarados_mega_3 = pokemon("gyarados_mega_3", "Gyarados-Mega", "Gyaradosite", "Jolly", "88 HP / 248 Atk / 172 Spe", "Intimidate", "Ice Fang", "Dragon Dance", "Taunt", "Earthquake", "s")
  23. gyarados_mega_4 = pokemon("gyarados_mega_4", "Gyarados-Mega", "Gyaradosite", "Adamant", "248 HP / 12 Def / 32 SpD / 216 Spe", "Intimidate", "Taunt", "Waterfall", "Dragon Dance", "Outrage", "s")
  24. gyarados_mega_5 = pokemon("gyarados_mega_5", "Gyarados-Mega", "Gyaradosite", "Adamant", "40 HP / 252 Atk / 216 Spe", "Intimidate", "Dragon Dance", "Crunch", "Outrage", "Waterfall", "s")
  25. #all charizardx stuff
  26. charizard_mega_x = pokemon("charizard_mega_x", "Charizard-Mega-X", "Charizardite X", "Jolly", "252 Atk / 4 SpD / 252 Spe", "Tough Claws", "Outrage", "Flare Blitz", "Dragon Dance", "Flame Charge", "s")
  27. charizard_mega_x_2 = pokemon("charizard_mega_x_2", "Charizard-Mega-X", "Charizardite X", "Jolly", "232 HP / 232 SpD / 44 Spe", "Tough Claws", "Flame Charge", "Flare Blitz", "Outrage", "Will-O-Wisp", "s")
  28. charizard_mega_x_3 = pokemon("charizard_mega_x_3", "Charizard-Mega-X", "Charizardite X", "Jolly", "64 HP / 228 Atk / 56 Def / 160 Spe", "Blaze", "Belly Drum", "Flare Blitz", "Outrage", "Flame Charge", "s")
  29. #all charizardy stuff
  30. charizard_mega_y = pokemon("charizard_mega_y", "Charizard-Mega-Y", "Charizardite Y", "Timid", "252 SpA / 4 SpD / 252 Spe", "Drought", "Blast Burn", "Air Slash", "Solar Beam", "Flame Charge", "s")
  31. charizard_mega_y_2 = pokemon("charizard_mega_y_2", "Charizard-Mega-Y", "Charizardite Y", "Timid", "152 Def / 148 SpA / 208 Spe", "Drought", "Blast Burn", "Hidden Power Electric", "Solar Beam", "Flame Charge", "s")
  32. #all dnite stuff
  33. dragonite_1 = pokemon("dragonite_1", "Dragonite", "Flyinium Z", "Adamant", "252 HP / 252 Atk / 4 SpD", "Multiscale", "Fly", "Earthquake", "Extreme Speed", "Dragon Dance", "s")
  34. dragonite_2 = pokemon("dragonite_2", "Dragonite", "Flyinium Z", "Quiet", "240 HP / 252 SpA / 16 SpD", "Multiscale", "Hurricane", "Draco Meteor", "Fire Blast", "Extreme Speed", "s")
  35. dragonite_3 = pokemon("dragonite_3", "Dragonite", "Dragonium Z", "Adamant", "192 HP / 120 Atk / 28 Def / 168 Spe", "Multiscale", "Outrage", "Dragon Dance", "Substitute", "Bulldoze", "s")
  36. dragonite_4 = pokemon("dragonite_4", "Dragonite", "Dragonium Z", "Quiet", "240 HP / 252 SpA / 16 SpD", "Multiscale", "Draco Meteor", "Extreme Speed", "Earthquake", "Flamethrower", "s")
  37. #all magearna stuff
  38. magearna_1 = pokemon("magearna_1", "Magearna", "Fairium Z", "Bold", "248 HP / 20 SpA / 24 SpD / 216 Spe", "Soul Heart", "Fleur Cannon", "Calm Mind", "Iron Defense", "Pain Split", "s")
  39. magearna_2 = pokemon("magearna_2", "Magearna", "Choice Specs", "Modest", "248 HP / 28 Def / 200 SpA / 32 SpD", "Soul Heart", "Fleur Cannon", "Flash Cannon", "Thunderbolt", "Hidden Power Fire", "s")
  40. #all megagross stuff
  41. metagross_mega_1 = pokemon("metagross_mega_1", "Metagross-Mega", "Metagrossite", "Impish", "252 HP / 152 Atk / 32 Def / 72 Spe", "Clear Body", "Thunder Punch", "Meteor Mash", "Earthquake", "Bullet Punch", "a")
  42. metagross_mega_2 = pokemon("metagross_mega_2", "Metagross-Mega", "Metagrossite", "Adamant", "252 HP / 84 Atk / 172 SpD", "Clear Body", "Meteor Mash", "Earthquake", "Zen Headbutt", "Bullet Punch", "a")
  43. #all pz stuff
  44. porygonz_1 = pokemon("porygonz_1", "Porygon-Z", "Normalium Z", "Timid", "4 Def / 252 SpA / 252 Spe", "Adaptability", "Shadow Ball", "Hyper Beam", "Conversion", "Recover", "a+")
  45. porygonz_2 = pokemon("porygonz_2", "Porygon-Z", "Choice Scarf", "Modest", "32 HP / 4 Def / 252 SpA / 220 Spe", "Adaptability", "Uproar", "Hyper Beam", "Ice Beam", "Shadow Ball", "a+")
  46. porygonz_3 = pokemon("porygonz_3", "Porygon-Z", "Normalium Z", "Timid", "36 HP / 184 Def / 72 SpA / 216 Spe", "Adaptability", "Shadow Ball", "Conversion", "Hyper Beam", "Recover", "a+")
  47. #all tapu lele stuff1
  48. tapu_lele_1 = pokemon("tapu_lele_1", "Tapu Lele", "Psychium Z", "Modest", "248 HP / 88 Def / 28 SpD / 144 Spe", "Psychic Surge", "Moonblast", "Psyshock", "Reflect", "Calm Mind", "a+")
  49. #all mega slowbro stuff
  50. slowbro_mega_1 = pokemon("slowbro_mega_1", "Slowbro-Mega", "Slowbronite", "Calm", "252 HP / 4 Def / 252 SpD", "Oblivious", "Scald", "Calm Mind", "Iron Defense", "Slack Off", "a")
  51. slowbro_mega_2 = pokemon("slowbro_mega_2", "Slowbro-Mega", "Slowbronite", "Calm", "252 HP/ 4 Def / 252 SpD", "Oblivious", "Scald", "Amnesia", "Iron Defense", "Slack Off", "a")
  52. #all zygod stuff
  53. zygarde_complete_1 = pokemon("zygarde_complete_1", "Zygarde-Complete", "Groundium Z", "Impish", "248 HP / 128 Atk / 132 Def", "Power Construct", "Thousand Arrows", "Coil", "Rest", "Extreme Speed", "a")
  54. #all greninja stuff
  55. greninja_1 = pokemon("greninja_1", "Greninja", "Choice Specs", "Timid", "4 Def / 252 SpA / 252 Spe", "Protean", "Hydro Cannon", "Dark Pulse", "Grass Knot", "Ice Beam", "a")
  56. greninja_2 = pokemon("greninja_2", "Greninja", "Petaya Berry", "Timid", "12 HP / 156 Def / 166 SpA / 176 Spe", "Torrent", "Substitute", "Hydro Cannon", "Work Up", "Taunt", "a")
  57. greninja_3 = pokemon("greninja_3", "Greninja", "Waterium Z", "Timid", "4 Def / 252 SpA / 252 Spe", "Protean", "Hydro Cannon", "Dark Pulse", "Blizzard", "Hidden Power Steel", "a")
  58. greninja_4 = pokemon("greninja_4", "Greninja", "Choice Specs", "Timid", "4 Def / 252 SpA / 252 Spe", "Protean", "Hydro Cannon", "Dark Pulse", "Hidden Power Fire", "Ice Beam", "a")
  59. #all jumpluff stuff
  60. jumpluff_1 = pokemon("jumpluff_1", "Jumpluff", "Grassium Z", "Timid", "252 Def / 4 SpD / 252 Spe", "Infiltrator", "Sleep Powder", "Substitute", "Infestation", "Leech Seed", "a-")
  61. #all lando t stuff
  62. landorus_therian_1 = pokemon("landorus_therian_1", "Landorus-Therian", "Groundium Z", "Adamant", "248 HP / 80 Def / 112 SpD / 68 Spe", "Intimidate", "Earthquake", "Rock Tomb", "Bulk Up", "Smack Down", "a-")
  63. landorus_therian_2 = pokemon("landorus_therian_2", "Landorus-Therian", "Choice Scarf", "Jolly", "252 Atk / 8 Def / 248 Spe", "Intimidate", "Earthquake", "Superpower", "Rock Slide", "Fly", "a-")
  64. #all mega lop stuff
  65. lopunny_mega_1 = pokemon("lopunny_mega_1", "Lopunny-Mega", "Lopunnite", "Jolly", "252 Atk / 4 SpD / 252 Spe", "Scrappy", "Fake Out", "Giga Impact", "High Jump Kick", "Ice Punch", "b+")
  66. #all mew stuff
  67. mew_1 = pokemon("mew_1", "Mew", "Mewnium Z", "Calm", "240 HP / 252 SpA / 16 SpD", "Synchronize", "Fake Out", "Nasty Plot", "Psychic", "Overheat", "a")
  68. mew_2 = pokemon("mew_2", "Mew", "Kee Berry", "Timid", "184 HP / 72 SpD / 252 Spe", "Synchronize", "Taunt", "Amnesia", "Will-O-Wisp", "Soft-Boiled", "a")
  69. #all meloetta stuff
  70. meloetta_1 = pokemon("meloetta_1", "Meloetta", "Normalium Z", "Modest", "204 HP / 252 Def / 52 SpD", "Serene Grace", "Hyper Beam", "Calm Mind", "Psyshock", "Laser Focus", "a")
  71. meloetta_2 = pokemon("meloetta_2", "Meloetta", "Normalium Z", "Modest", "248 HP / 208 Def / 20 SpA / 16 SpD / 16 Spe", "Serene Grace", "Celebrate", "Hyper Beam", "Uproar", "Laser Focus", "a")
  72. #all magnezone stuff
  73. magnezone_1 = pokemon("magnezone_1", "Magnezone", "Electrium Z", "Timid", "4 HP / 252 SpA / 252 Spe", "Sturdy", "Electroweb", "Zap Cannon", "Metal Sound", "Flash Cannon", "a")
  74. magnezone_2 = pokemon("magnezone_2", "Magnezone", "Electrium Z", "Modest", "80 HP / 252 SpA / 176 Spe", "Sturdy", "Metal Sound", "Zap Cannon", "Electroweb", "Protect", "a")
  75. #all togekiss sets
  76. togekiss_1 = pokemon("togekiss_1", "Togekiss", "Electrium Z", "Calm", "156 HP / 148 SpD / 204 Spe", "Serene Grace", "Thunder Wave", "Air Slash", "Roost", "Charm", "a-")
  77. togekiss_2 = pokemon("togekiss_2", "Togekiss", "Fairium Z", "Bold", "248 HP / 176 Def / 24 SpA / 60 SpD", "Serene Grace", "Charm", "roost", "Dazzling Gleam", "Nasty Plot", "a-")
  78. #all aegislash stuff
  79. aegislash_1 = pokemon("aegislash_1", "Aegislash", "Ghostium Z", "Quiet", "252 HP / 4 Def / 252 SpA", "Stance Change", "Shadow Ball", "King's Shield", "Shadow Sneak", "Metal Sound", "a-")
  80. #all altaria mega stuff
  81. altaria_mega_1 = pokemon("altaria_mega_1", "Altaria-Mega", "Altarianite", "Bold", "248 HP / 252 Def / 8 Spe", "Cloud Nine", "Cotton Guard", "Roost", "Hyper Voice", "Fire Blast", "b+")
  82. altaria_mega_2 = pokemon("altaria_mega_2", "Altaria-Mega", "Altarianite", "Calm", "232 HP / 120 Def / 156 SpD", "Cloud Nine", "Cotton Guard", "Hyper Voice", "Roost", "Fire Blast", "b+")
  83. #all donphan stuff
  84. donphan_1 = pokemon("donphan_1", "Donphan", "Groundium Z", "Adamant", "248 HP / 252 Atk / 8 SpD", "Sturdy", "Earthquake", "Head Smash", "Ice Shard", "Counter", "b+")
  85. donphan_2 = pokemon("donphan_2", "Donphan", "Choice Band", "Adamant", "252 Atk / 144 Def / 112 Spe", "Sturdy", "Earthquake", "Ice Shard", "Gunk Shot", "Fire Fang", "b+")
  86. #all mega gardevoir stuff
  87. gardevoir_mega_1 = pokemon("gardevoir_mega_1", "Gardevoir-Mega", "Gardevoirite", "Timid", "224 HP / 96 Def / 12 SpA / 176 Spe", "Trace", "Hyper Beam", "Calm Mind", "Will-O-Wisp", "Psyshock", "a-")
  88. #all genesect stuff
  89. genesect_1 = pokemon("genesect_1", "Genesect", "Choice Specs", "Bold", "236 HP / 240 Def / 32 SpA", "Download", "Bug Buzz", "Flash Cannon", "Ice Beam", "Thunderbolt", "b+")
  90. genesect_2 = pokemon("genesect_2", "Genesect", "Choice Scarf", "Modest", "20 HP / 224 SpA / 36 SpD / 228 Spe", "Download", "Thunderbolt", "Flamethrower", "Ice Beam", "Bug Buzz", "b+")
  91. #all kommo-o stuff
  92. kommoo_1 = pokemon("kommoo_1", "Kommo-o", "Kommonium Z", "Sassy", "240 HP / 28 SpA / 84 SpD / 156 Spe", "Soundproof", "Clanging Scales", "Close Combat", "Flamethrower", "Taunt", "a-")
  93. #all naganadel stuff
  94. naganadel_1 = pokemon("naganadel_1", "Naganadel", "Choice Specs", "Timid", "252 SpA / 4 SpD / 252 Spe", "Beast Boost", "Draco Meteor", "Sludge Wave", "Fire Blast", "Air Slash", "b")
  95. #all primarina stuff
  96. primarina_1 = pokemon("primarina_1", "Primarina", "Primarium Z", "Relaxed", "200 HP / 252 Def / 56 SpA", "Torrent", "Moonblast", "Sparkling Aria", "Aqua Jet", "Encore", "b+")
  97. #all tapu fini stuff
  98. tapu_fini_1 = pokemon("tapu_fini_1", "Tapu Fini", "Tapunium Z", "Bold", "228 HP / 96 Def / 68 SpA / 116 Spe", "Misty Surge", "Nature's Madness", "Taunt", "Brine", "Moonblast", "b+")
  99. tapu_fini_2 = pokemon("tapu_fini_2", "Tapu Fini", "Waterium Z", "Bold", "248 HP / 128 Def / 52 SpA / 24 SpD / 56 Spe ", "Misty Surge", "Hydro Pump", "Rain Dance", "Calm Mind", "Moonblast", "b+")
  100. #all mega ttar stuff
  101. tyranitar_mega_1 = pokemon("tyranitar_mega_1", "Tyranitar-Mega", "Tyranitarite", "Adamant", "248 HP / 104 Atk / 72 Def / 64 SpD / 20 Spe", "Sand Stream", "Earthquake", "Rock Tomb", "Stone Edge", "Taunt", "b+")
  102. #all mega venusaur stuff
  103. venusaur_mega_1 = pokemon("venusaur_mega_1", "Venusaur-Mega", "Venusaurite", "Modest", "216 HP / 92 SpA / 44 SpD / 156 Spe", "Thick Fat", "Sleep Powder", "Sludge Bomb", "Synthesis", "Giga Drain", "b+")
  104. venusaur_mega_2 = pokemon("venusaur_mega_2", "Venusaur-Mega", "Venusaurite", "Bold", "248 HP / 108 Def / 80 SpA / 72 SpD", "Thick Fat", "Leech Seed", "Sludge Bomb", "Charm", "Synthesis", "b+")
  105. #all aggron/mega stuff
  106. aggron_mega_1 = pokemon("aggron_mega_1", "Aggron-Mega", "Aggronite", "Brave", "252 HP / 252 Atk / 4 Def", "Sturdy", "Heavy Slam", "Head Smash", "Metal Burst", "Earthquake", "b")
  107. #all celesteela stuff
  108. celesteela_1 = pokemon("celesteela_1", "Celesteela", "Leftovers", "Relaxed", "248 HP / 252 Def / 8 SpD", "Beast Boost", "Heavy Slam", "Flamethrower", "Protect", "Leech Seed", "b+")
  109. celesteela_2 = pokemon("celesteela_2", "Celesteela", "Steelium Z", "Bold", "216 HP / 248 Def / 44 SpA", "Beast Boost", "Metal Sound", "Flamethrower", "Giga Drain", "Flash Cannon", "b+")
  110. #all chansey stuff
  111. chansey_1 = pokemon("chansey_1", "Chansey", "Eviolite", "Bold", "248 HP / 252 Def / 8 SpD", "Serene Grace", "Charm", "Soft Boiled", "Charge Beam", "Toxic", "c+")
  112. #all ferrothorn stuff
  113. ferrothorn_1 = pokemon("ferrothorn_1", "Ferrothorn", "Leftovers", "Relaxed", "248 HP / 252 Def / 8 SpD", "Iron Barbs", "Leech Seed", "Protect", "Gyro Ball", "Power Whip", "b")
  114. #all garchomp stuff
  115. garchomp_1 = pokemon("garchomp_1", "Garchomp", "Groundium Z", "Jolly", "4 HP / 252 Atk / 252 Spe", "Rough Skin", "Earthquake", "Substitute", "Swords Dance", "Rock Tomb", "b+")
  116. garchomp_2 = pokemon("garchomp_2", "Garchomp", "Choice Scarf", "Jolly", "252 Atk / 4 SpD / 252 Spe", "Rough Skin", "Earthquake", "Outrage", "Stone Edge", "Poison Jab", "b+")
  117. #all heatran stuff
  118. heatran_1 = pokemon("heatran_1", "Heatran", "Air Balloon", "Modest", "96 HP / 248 SpA / 36 SpD / 128 Spe", "Flash Fire", "Overheat", "Flash Cannon", "Rock Tomb", "Earth Power", "b+")
  119. heatran_2 = pokemon("heatran_2", "Heatran", "Grassium Z", "Modest", "72 HP / 252 SpA / 184 Spe", "Flash Fire", "Overheat", "Solar Beam", "Rock Tomb", "Earth Power", "b+")
  120. #all kartana stuff
  121. kartana_1 = pokemon("kartana_1", "Kartana", "Grassium Z", "Jolly", "252 Atk / 4 Def / 252 Spe", "Beast Boost", "Leaf Blade", "Swords Dance", "Sacred Sword", "Smart Strike", "b")
  122. kartana_2 = pokemon("kartana_2", "Kartana", "Choice Band", "Jolly", "4 HP / 252 Atk / 252 Spe", "Beast Boost", "Giga Impact", "Leaf Blade", "Sacred Sword", "Smart Strike", "b")
  123. #all mawile stuff
  124. mawile_mega_1 = pokemon("mawile_mega_1", "Mawile-Mega", "Mawilite", "Adamant", "248 HP / 252 Atk / 8 SpD", "Intimidate", "Play Rough", "Swords Dance", "Sucker Punch", "Iron Head", "b")
  125. #all necrozma stuff
  126. necrozma_1 = pokemon("necrozma_1", "Necrozma", "Choice Specs", "Modest", "252 HP / 16 Def / 228 SpA / 12 SpD", "Prism Armor", "Photon Geyser", "Prismatic Laser", "Heat Wave", "Signal Beam", "b")
  127. necrozma_2 = pokemon("necrozma_2", "Necrozma", "Iapapa Berry", "Calm", "248 HP / 20 Def / 240 SpD", "Prism Armor", "Iron Defense", "Calm Mind", "Moonlight", "Stored Power", "b")
  128. #all pinsir mega stuff
  129. pinser_mega_1 = pokemon("pinser_mega_1", "Pinsir-Mega", "Pinsirite", "Jolly", "56 HP / 212 Atk / 240 Spe", "Hyper Cutter", "Swords Dance", "Giga Impact", "Earthquake", "Substitute", "b")
  130. #all sableye mega stuff
  131. sableye_mega_1 = pokemon("sableye_mega_1", "Sableye-Mega", "Sablenite", "Bold", "248 HP / 48 Def / 212 SpD", "Prankster", "Snarl", "Will-O-Wisp", "Foul Play", "Recover", "b+")
  132. #all victini stuff
  133. victini_1 = pokemon("victini_1", "Victini", "Choice Band", "Adamant", "108 HP / 212 Atk / 88 SpD / 100 Spe", "Victory Star", "V-create", "Zen Headbutt", "Flame Charge", "Bolt Strike", "b")
  134. victini_2 = pokemon("victini_2", "Victini", "Psychium Z", "Bold", "96 HP / 212 Def / 200 SpA", "Victory Star", "Psychic", "Glaciate", "Blue Flare", "Will-O-Wisp", "b")
  135. #all volcarona stuff
  136. volcarona_1 = pokemon("volcarona_1", "Volcarona", "Buginium Z", "Timid", "52 Def / 224 SpA / 232 Spe", "Swarm", "Bug Buzz", "Overheat", "Substitute", "Quiver Dance", "b")
  137. volcarona_2 = pokemon("volcarona_2", "Volcarona", "Buginium Z", "Calm", "240 HP / 32 Def / 216 SpD / 20 Spe", "Swarm", "Quiver Dance", "Roost", "Bug Buzz", "Flamethrower", "b")
  138. #all zeraora stuff
  139. zeraora_1 = pokemon("zeraora_1", "Zeraora", "Electrium Z", "Jolly", "184 Atk / 132 Def / 192 Spe", "Volt Absorb", "Plasma Fists", "Bulk Up", "Charge", "Taunt", "b+")
  140. zeraora_2 = pokemon("zeraora_2", "Zeraora", "Electrium Z", "Jolly", "48 HP / 252 Atk / 120 Def / 88 Spe", "Volt Absorb", "Plasma Fists", "Outrage", "Fake Out", "Charge", "b+")
  141. #all archeops stuff
  142. archeops_1 = pokemon("archeops_1", "Archeops", "Choice Band", "Jolly", "252 Atk / 4 SpD / 252 Spe", "Defeatist", "Head Smash", "Outrage", "Earthquake", "Fly", "b-")
  143. #all blastoise mega stuff
  144. blastoise_mega_1 = pokemon("blastoise_mega_1", "Blastoise-Mega", "Blastoisinite", "Modest", "128 HP / 248 SpA / 20 SpD / 112 Spe", "Mega Launcher", "Fake Out", "Hydro Cannon", "Dark Pulse", "Ice Beam", "b-")
  145. #all blaziken/mega stuff
  146. blaziken_mega_1 = pokemon("blaziken_mega_1", "Blaziken-Mega", "Blazikenite", "Adamant", "4 HP / 252 Atk / 252 Spe", "Speed Boost", "Protect", "Flare Blitz", "High Jump Kick", "Stone Edge", "b-")
  147. #all crustle stuff
  148. crustle_1 = pokemon("crustle_1", "Crustle", "Rockium Z", "Adamant", "160 HP / 144 Atk / 204 Spe", "Sturdy", "Rock Wrecker", "Rock Blast", "Counter", "Shell Smash", "b")
  149. #all deoxys S stuff
  150. deoxys_s_1 = pokemon("deoxys_s_1", "Deoxys-Speed", "Choice Specs", "Modest", "252 SpA / 4 SpD / 252 Spe", "Pressure", "Psycho Boost", "Ice Beam", "Thunderbolt", "Focus Blast", "b-")
  151. deoxys_s_2 = pokemon("deoxys_s_2", "Deoxys-Speed", "Psychium Z", "Timid", "100 HP / 164 SpA / 4 SpD / 240 Spe", "Pressure", "Recover", "Reflect", "Light Screen", "Psycho Boost", "b-")
  152. #all mega diancie stuff
  153. diancie_mega_1 = pokemon("diancie_mega_1", "Diancie-Mega", "Diancite", "Hasty", "4 Atk / 252 SpA / 252 Spe", "Clear body", "Diamond Storm", "Moonblast", "Earth Power", "Magnet Rise", "b-")
  154. #all durant stuff
  155. durant_1 = pokemon("durant_1", "Durant", "Choice Band", "Jolly", "24 HP / 232 Atk / 252 Spe", "Hustle", "Iron Head", "X-Scissor", "Stone Edge", "Superpower", "b-")
  156. #all golem stuff
  157. golem_1 = pokemon("golem_1", "Golem", "Rockium Z", "Adamant", "252 Atk / 4 Def / 252 Spe", "Sturdy", "Stone Edge", "Earthquake", "Counter", "Sucker Punch", "b-")
  158. #all haxorus stuff
  159. haxorus_1 = pokemon("haxorus_1", "Haxorus", "Choice Scarf", "Jolly", "252 Atk / 4 SpD / 252 Spe", "Mold Breaker", "Iron Tail", "Outrage", "Earthquake", "Rock slide", "b-")
  160. haxorus_2 = pokemon("haxorus_2", "Haxorus", "Choice Band", "Jolly", "8 HP / 252 Atk / 8 Def / 240 Spe", "Mold Breaker", "Earthquake", "Iron Tail", "Superpower", "Outrage", "b-")
  161. #all heracross mega stuff
  162. heracross_mega_1 = pokemon("heracross_mega_1", "Heracross-Mega", "Heracronite", "Adamant", "252 HP / 252 Atk / 4 SpD", "Guts", "Pin Missile", "Rock Blast", "Bullet Seed", "Close Combat", "c+")
  163. #all hoopau stuff
  164. hoopau_1 = pokemon("hoopau_1", "Hoopa-Unbound", "Darkinium Z", "Quiet", "252 HP / 236 Def / 20 SpA", "Magician", "Dark Pulse", "Hyperspace Fury", "Hyperspace Hole", "Thunderbolt", "b-")
  165. hoopau_2 = pokemon("hoopau_2", "Hoopa-Unbound", "Choice Band", "Adamant", "88 HP / 148 Atk / 92 Def / 180 Spe", "Magician", "Gunk Shot", "Hyperspace Fury", "Zen Headbutt", "Fire Punch", "b-")
  166. #all incineroar stuff
  167. incineroar_1 = pokemon("incineroar_1", "Incineroar", "Incinium Z", "Adamant", "168 HP / 112 Atk / 228 SpD", "Intimidate", "Darkest Lariat", "Flare Blitz", "Fake Out", "Bulk Up", "b")
  168. #ll krookodile stuff
  169. krookodile_1 = pokemon("krookodile_1", "Krookodile", "Groundium Z", "Adamant", "152 HP / 56 Atk / 244 Def / 56 Spe", "Intimidate", "Earthquake", "Rock Tomb", "Taunt", "Bulk Up", "b-")
  170. #all kyurem stuff
  171. kyurem_1 = pokemon("kyurem_1", "Kyurem", "Groundium Z", "Bold", "224 HP / 136 Def / 148 SpD", "Pressure", "Noble Roar", "Roost", "Ice Beam", "Earth Power", "b-")
  172. #all clefable stuff
  173. clefable_1 = pokemon("clefable_1", "Clefable", "Psychium Z", "Bold", "248 HP / 236 Def / 24 SpD", "Unaware", "Magic Coat", "Moonblast", "Reflect", "Moonlight", "b+")
  174. #Stunfisk xoxo
  175. stunfisk_1 = pokemon("stunfisk_1", "Stunfisk", "Petaya Berry", "Modest", "252 HP / 4 Def / 252 SpA", "Sand Veil", "Yawn", "Endure", "Earth Power", "Thunder", "u")
  176. #all manaphy stuff
  177. manaphy_1 = pokemon("manaphy_1", "Manaphy", "Waterium Z", "Modest", "68 HP / 252 SpA / 4 SpD / 184 Spe", "Hydration", "Surf", "Tail Glow", "Calm Mind", "Rain Dance", "b-")
  178. #all medicham mega stuff
  179. medicham_mega_1 = pokemon("medicham_mega_1", "Medicham-Mega", "Medichamite", "Jolly", "252 Atk / 4 SpD / 252 Spe", "Pure Power", "Fake Out", "High Jump Kick", "Zen Headbutt", "Ice Punch", "b-")
  180. #all sawk sets
  181. sawk_1 = pokemon("sawk_1", "Sawk", "Choice Scarf", "Adamant", "252 Atk / 4 SpD / 252 Spe", "Sturdy", "Close Combat", "Poison Jab", "Ice Punch", "Stone Edge", "b-")
  182. #all blacephalon sets
  183. blacephalon_1 = pokemon("blacephalon_1", "Blacephalon", "Ghostium Z", "Timid","16 HP / 252 SpA / 240 Spe", "Beast Boost", "Shadow Ball", "Calm Mind", "Mind Blown", "Taunt", "c+")
  184. #illumise <3
  185. illumise_1 = pokemon("illumise_1", "Illumise", "Fairium Z", "Bold", "252 HP / 252 Def / 4 SpD", "Prankster", "Charm", "Infestation", "Encore", "Roost", "c-")
  186. #all xurkitree sets
  187. xurkitree_1 = pokemon("xurkitree_1", "Xurkitree", "Electrium Z", "Modest", "232 HP / 148 Def / 128 Spe", "Beast Boost", "Thunder", "Electroweb", "Tail Glow", "Charge", "c+")
  188. #all cresselia sets
  189. cresselia_1 = pokemon("cresselia_1", "Cresselia", "Psychium Z", "Bold", "248 HP / 72 Def / 140 SpA / 48 SpD", "Levitate", "Future Sight", "Ice Beam", "Calm Mind", "Moonlight", "u")
  190. #all cresselia sets
  191. vivillon_1 = pokemon("vivillon_1", "Vivillon", "Leftovers", "Timid", "4 Def / 252 SpA / 252 Spe", "Compound Eyes", "Substitute", "Sleep Powder", "Quiver Dance", "Hurricane", "b-")
  192. #all smeargle sets
  193. smeargle_1 = pokemon("smeargle_1", "Smeargle", "Normalium Z", "Timid", "252 HP / 4 Def / 252 Spe", "Own Tempo", "Substitute", "Spore", "Imprison", "Transform", "c")
  194. #all aron sets
  195. aron_1 = pokemon("aron_1", "Aron", "Shell Bell", "Brave", "4 HP", "Sturdy", "Endeavor", "Toxic", "Sandstorm", "Metal Burst", "d")
  196. #all riolu sets
  197. riolu_1 = pokemon("riolu_1", "Riolu", "Custap Berry", "Brave", "252 HP / 252 Atk / 4 Def", "Prankster", "Endure", "Copycat", "Substitute", "Dig", "d")
  198. #all shedinja sets
  199. shedinja_1 = pokemon("shedinja_1", "Shedinja", "Ghostium Z", "Adamant", "4 HP / 252 Atk / 252 Spe", "Wonder Guard", "Phantom Force", "Will-O-Wisp", "X-Scissor", "Swords Dance", "u")
  200. #all raikou sets
  201. raikou_1 = pokemon("raikou_1", "Raikou", "Electrium Z", "Timid", "4 HP / 252 SpA / 252 Spe", "Inner Focus", "Zap Cannon", "Hidden Power Fire", "Laser Focus", "Calm Mind", "b-")
  202. #all maudino sets
  203. audino_mega_1 = pokemon("audino_mega_1", "Audino-Mega", "Audinite", "Calm", "252 HP / 88 Def / 168 SpD", "Klutz", "Amnesia", "Baby Doll Eyes", "Lucky Chant", "Rest", "b-")
  204. #all latias mega sets
  205. latias_mega_1 = pokemon("latias_mega_1", "Latias-Mega", "Latiasite", "Timid", "80 HP / 80 Def / 156 SpA / 192 Spe", "Levitate", "Charm", "Draco Meteor", "Recover", "Reflect Type", "b-")
  206. #all salazzle sets
  207. salazzle_1 = pokemon("salazzle_1", "Salazzle (F)", "Poisonium Z", "Timid", "252 SpA / 4 SpD / 252 Spe", "Oblivious", "Sludge Wave", "Overheat", "Fake Out", "Taunt", "c-")
  208. #all darmanitan sets
  209. darmanitan_1 = pokemon("darmanitan_1", "Darmanitan", "Choice Scarf", "Jolly", "252 Atk / 4 SpD / 252 Spe", "Sheer Force", "Flare Blitz", "Earthquake", "Rock Slide", "Superpower", "c-")
  210. #all whimsicott sets
  211. whimsicott_1 = pokemon("whimsicott_1", "Whimsicott", "Babiri Berry", "Calm", "88 HP / 228 Def / 192 SpD", "Prankster", "Taunt", "Protect", "Leech Seed", "Substitute", "b-")
  212. #all excadrill sets
  213. excadrill_1 = pokemon("excadrill_1", "Excadrill", "Groundium Z", "Jolly", "252 Atk / 4 SpD / 252 Spe", "Mold Breaker", "Earthquake", "Swords Dance", "Substitute", "Magnet Rise", "c")
  214. #all terrakion sets
  215. terrakion_1 = pokemon("terrakion_1", "Terrakion", "Rockium Z", "Jolly", "252 Atk / 4 SpD / 252 Spe", "Justified", "Stone Edge", "Close Combat", "Taunt", "Swords Dance", "c+")
  216. #all mienshao sets
  217. mienshao_1 = pokemon("mienshao_1", "Mienshao", "Rockium Z", "Jolly", "248 Atk / 16 SpD / 244 Spe", "Reckless", "Fake Out", "High Jump Kick", "Stone Edge", "Taunt", "u")
  218. #all umbreon sets
  219. umbreon_1 = pokemon("umbreon_1", "Umbreon", "Fairium Z", "Calm", "248 HP / 100 Def / 160 SpD", "Synchronize", "Charm", "Moonlight", "Foul Play", "Snarl", "c+")
  220. #all vigoroth sets
  221. vigoroth_1 = pokemon("vigoroth_1", "Vigoroth", "Eviolite", "Impish", "252 HP / 180 Def / 20 SpD / 56 Spe", "Vital Spirit", "Slack Off", "Taunt", "Counter", "Rock Tomb", "u")
  222. #all rampardos sets
  223. rampardos_1 = pokemon("rampardos_1", "Rampardos", "Choice Scarf", "Naive", "12 Atk / 252 SpA / 244 Spe", "Sheer Force", "Head Smash", "Blizzard", "Fire Blast", "Superpower", "d")
  224. rampardos_2 = pokemon("rampardos_2", "Rampardos", "Choice Scarf", "Jolly", "252 Atk / 4 SpD / 252 Spe", "Mold Breaker", "Head Smash", "Superpower", "Earthquake", "Fire Punch", "d")
  225. #all pheromosa sets
  226. pheromosa_1 = pokemon("pheromosa_1", "Pheromosa", "Fightinium Z", "Bold", "200 HP / 252 Def / 4 SpA / 52 Spe", "Beast Boost", "Focus Blast", "Electroweb", "Lunge", "Ice Beam", "c+")
  227. pheromosa_2 = pokemon("pheromosa_2", "Pheromosa", "Choice Band", "Naive", "252 Atk / 4 SpA / 252 Spe", "Beast Boost", "High Jump Kick", "Double Kick", "Giga Impact", "Ice Beam", "c+")
  228. pheromosa_3 = pokemon("pheromosa_3", "Pheromosa", "Choice Specs", "Timid", "252 SpA / 4 SpD / 252 Spe", "Beast Boost", "Hidden Power Rock", "Focus Blast", "Bug Buzz", "Ice Beam", "c+")
  229. #all rotom sets
  230. rotom_wash_1 = pokemon("rotom_wash_1", "Rotom-Wash", "Electrium Z", "Modest", "248 HP / 8 Def / 80 SpA / 124 SpD / 48 Spe", "Levitate", "Thunder", "Hydro Pump", "Will-O-Wisp", "Charge", "u")
  231. #all zapdos sets
  232. zapdos_1 = pokemon("zapdos_1", "Zapdos", "Electrium Z", "Bold", "248 HP / 244 Def / 16 SpA", "Pressure", "Reflect", "Roost", "Thunder", "Metal Sound", "b-")
  233. #all porygon2 sets
  234. porygon2_1 = pokemon("porygon2_1", "Porygon2", "Eviolite", "Calm", "248 HP / 176 Def / 84 SpD", "Analytic", "Recover", "Ice Beam", "Foul Play", "Thunderbolt", "b")
  235. #all pyukumuku sets
  236. pyukumuku_1 = pokemon("pyukumuku_1", "Pyukumuku", "Psychium Z", "Calm", "248 HP / 124 Def / 136 SpD", "Unaware", "Light Screen", "Recover", "Toxic", "Soak", "c")
  237. #all araquanid sets
  238. araquanid_1 = pokemon("araquanid_1", "Araquanid", "Waterium Z", "Adamant", "192 HP / 248 Atk / 68 SpD", "Water Bubble", "Liquidation", "Mirror Coat", "Laser Focus", "Toxic", "d")
  239. #all salamence sets
  240. salamence_1 = pokemon("salamence_1", "Salamence", "Dragonium Z", "Impish", "36 HP / 28 Atk / 236 Def / 208 Spe", "Intimidate", "Iron Defense", "Roost", "Dragon Dance", "Outrage", "c+")
  241. #all swampert sets
  242. swampert_mega_1 = pokemon("swampert_mega_1", "Swampert-Mega", "Swampertite", "Brave", "168 HP / 252 Atk / 36 SpA / 52 SpD", "Torrent", "Yawn", "Protect", "Earthquake", "Ice Beam", "b-")
  243. #all avalugg sets
  244. avalugg_1 = pokemon("avalugg_1", "Avalugg", "Groundium Z", "Lax", "252 HP / 84 Atk / 172 Def", "Sturdy", "Curse", "Earthquake", "Avalanche", "Mirror Coat", "c+")
  245. #all carracosta sets
  246. carracosta_1 = pokemon("carracosta_1", "Carracosta", "Waterium Z", "Naive", "16 Atk / 252 SpA / 240 Spe", "Sturdy", "Stone Edge", "Shell Smash", "Hydro Pump", "Aqua Jet", "b-")
  247. #all gallade sets
  248. gallade_mega_1 = pokemon("gallade_mega_1", "Gallade-Mega", "Galladite", "Jolly", "16 HP / 192 Atk / 108 Def / 192 Spe", "Justified", "Bulk Up", "Close Combat", "Rock Tomb", "Will-O-Wisp", "c+")
  249. #all scizor sets
  250. scizor_mega_1 = pokemon("scizor_mega_1", "Scizor-Mega", "Scizorite", "Impish", "248 HP / 136 Def / 124 SpD", "Technician", "Curse", "Roost", "Laser Focus", "Iron Head", "c+")
  251. #all weavile sets
  252. weavile_1 = pokemon("weavile_1", "Weavile", "Darkinium Z", "Adamant", "16 HP / 196 Atk / 60 Def / 236 Spe", "Pressure", "Foul Play", "Fake Out", "Icicle Crash", "Taunt", "u")
  253. weavile_2 = pokemon("weavile_2", "Weavile", "Life Orb", "Jolly", "252 Atk / 24 Def / 232 Spe", "Pressure", "Fake Out", "Icicle Crash", "Low Kick", "Throat Chop", "u")
  254. #all infernape sets
  255. infernape_1 = pokemon("infernape_1", "Infernape", "Petaya Berry", "Hasty", "4 Atk / 252 SpA / 252 Spe", "Blaze", "Fake Out", "Substitute", "Blast Burn", "Focus Blast", "c")
  256. #all type null sets
  257. type_null_1 = pokemon("type_null_1", "Type: Null", "Eviolite", "Impish", "248 HP / 196 Def / 64 SpD", "Battle Armor", "Iron Defense", "Confide", "Rest", "Flame Charge", "c+")
  258.  
  259. #list of pokemon
  260. pokemon_list = [gyarados_mega, gyarados_mega_2, gyarados_mega_3, gyarados_mega_4, gyarados_mega_5, kyurem_1, naganadel_1, metagross_mega_1, metagross_mega_2, magearna_1, magearna_2, dragonite_1, dragonite_2, dragonite_3, dragonite_4, charizard_mega_y, charizard_mega_y_2, charizard_mega_x, charizard_mega_x_2, charizard_mega_x_3, manaphy_1, kommoo_1, genesect_1, genesect_2, landorus_therian_1, landorus_therian_2, jumpluff_1, greninja_1, greninja_2, greninja_3, greninja_4, medicham_mega_1, zygarde_complete_1, slowbro_mega_1, slowbro_mega_2, tapu_lele_1, porygonz_1, porygonz_2, porygonz_3, gardevoir_mega_1, donphan_1, donphan_2, audino_mega_1, altaria_mega_1, altaria_mega_2, aegislash_1, magnezone_1, magearna_2, meloetta_1, meloetta_2, aron_1, mew_1, mew_2, lopunny_mega_1, heatran_1, heatran_2, garchomp_1, garchomp_2, ferrothorn_1, chansey_1, celesteela_1, celesteela_2, aggron_mega_1, venusaur_mega_1, venusaur_mega_2, smeargle_1, tyranitar_mega_1, latias_mega_1, tapu_fini_1, tapu_fini_2, primarina_1, blastoise_mega_1, archeops_1, zeraora_1, zeraora_2, volcarona_1, volcarona_2, riolu_1, victini_1, victini_2, sableye_mega_1, pinser_mega_1, necrozma_1, necrozma_2, blacephalon_1, mawile_mega_1, raikou_1, kartana_1, kartana_2, krookodile_1, incineroar_1, hoopau_1, hoopau_2, heracross_mega_1, haxorus_1, haxorus_2, golem_1, durant_1, diancie_mega_1, deoxys_s_1, deoxys_s_2, sawk_1, crustle_1, xurkitree_1, cresselia_1, blaziken_mega_1, clefable_1, stunfisk_1, illumise_1, vivillon_1, shedinja_1, salazzle_1, darmanitan_1, whimsicott_1, excadrill_1, terrakion_1, mienshao_1, umbreon_1, vigoroth_1, rampardos_1, rampardos_2, pheromosa_1, pheromosa_2, pheromosa_3, rotom_wash_1, zapdos_1, porygon2_1, pyukumuku_1, araquanid_1, salamence_1, swampert_mega_1, avalugg_1, carracosta_1, gallade_mega_1, scizor_mega_1, togekiss_1, togekiss_2, weavile_1, weavile_2, infernape_1, type_null_1]
  261. #list of teams for finding teams
  262. team_list = []
  263. #list of chosen mons
  264. got_mons = []
  265. got_mons_2 = []
  266. got_mons_3 = []
  267. #pass list
  268. pass_list = []
  269.  
  270. #matchup lists
  271. #for all Gyarados-Mega sets
  272. gyarados_mega.lmatchups = [togekiss_2, togekiss_1, celesteela_2, scizor_mega_1, gyarados_mega_5, venusaur_mega_2, gallade_mega_1, avalugg_1, salamence_1, pyukumuku_1, porygon2_1, zapdos_1, rotom_wash_1, pheromosa_1, vigoroth_1, umbreon_1, magearna_2, latias_mega_1, audino_mega_1, slowbro_mega_2, raikou_1, mew_2, altaria_mega_2, smeargle_1, kartana_2, xurkitree_1, tapu_fini_2, heracross_mega_1, deoxys_s_1, zeraora_1, sableye_mega_1, pinser_mega_1, kartana_1, ferrothorn_1, chansey_1, celesteela_1, venusaur_mega_1, tapu_fini_1, primarina_1, kommoo_1, genesect_1, gardevoir_mega_1, charizard_mega_y, charizard_mega_y_2, magearna_1, jumpluff_1, slowbro_mega_1, metagross_mega_1, greninja_1, tapu_lele_1, magnezone_1, altaria_mega_1, clefable_1, porygonz_2, stunfisk_1, vivillon_1, zygarde_complete_1, porygonz_3, zeraora_2, type_null_1, meloetta_2]
  273. gyarados_mega_2.lmatchups = [togekiss_2, togekiss_1, celesteela_2, scizor_mega_1, venusaur_mega_2, gallade_mega_1, avalugg_1, salamence_1, pyukumuku_1, porygon2_1, zapdos_1, rotom_wash_1, pheromosa_1, vigoroth_1, umbreon_1, latias_mega_1, audino_mega_1, slowbro_mega_2, raikou_1, mew_2, altaria_mega_2, genesect_2, smeargle_1, kartana_2, xurkitree_1, tapu_fini_2, heracross_mega_1, zeraora_1, sableye_mega_1, pinser_mega_1, kartana_1, ferrothorn_1, chansey_1, celesteela_1, venusaur_mega_1, tapu_fini_1, primarina_1, kommoo_1, genesect_1, gardevoir_mega_1, charizard_mega_y_2, magearna_1, jumpluff_1, slowbro_mega_1, metagross_mega_1, greninja_1, tapu_lele_1, altaria_mega_1, clefable_1, porygonz_2, stunfisk_1, vivillon_1, zygarde_complete_1, porygonz_3, zeraora_2, type_null_1, meloetta_2]
  274. gyarados_mega_3.lmatchups = [togekiss_2, togekiss_1, celesteela_2, gyarados_mega_5, venusaur_mega_2, gallade_mega_1, salamence_1, araquanid_1, porygon2_1, zapdos_1, rotom_wash_1, pheromosa_1, vigoroth_1, umbreon_1, slowbro_mega_2, raikou_1, mew_2, altaria_mega_2, genesect_2, smeargle_1, kartana_2, xurkitree_1, tapu_fini_2, hoopau_1, heracross_mega_1, deoxys_s_1, crustle_1, zeraora_1, sableye_mega_1, pinser_mega_1, kartana_1, ferrothorn_1, venusaur_mega_1, tapu_fini_1, primarina_1, kommoo_1, genesect_1, gardevoir_mega_1, charizard_mega_y, charizard_mega_y_2, gyarados_mega, gyarados_mega_2, magearna_1, slowbro_mega_1, metagross_mega_1, porygonz_1, tapu_lele_1, meloetta_1, altaria_mega_1, clefable_1, porygonz_2, gyarados_mega_4, porygonz_3, zeraora_2, meloetta_2]
  275. gyarados_mega_4.lmatchups = [togekiss_2, togekiss_1, celesteela_2, venusaur_mega_2, gallade_mega_1, salamence_1, porygon2_1, zapdos_1, rotom_wash_1, pheromosa_1, vigoroth_1, umbreon_1, magearna_2, raikou_1, mew_2, altaria_mega_2, metagross_mega_1, magearna_1, charizard_mega_y_2, kommoo_1, genesect_1, slowbro_mega_1, slowbro_mega_2, tapu_lele_1, gardevoir_mega_1, altaria_mega_1, magnezone_1, ferrothorn_1, venusaur_mega_1, tapu_fini_1, tapu_fini_2, primarina_1, zeraora_1, pinser_mega_1, mawile_mega_1, kartana_1, kartana_2, heracross_mega_1, clefable_1, xurkitree_1, smeargle_1, porygonz_3, zeraora_2, magnezone_2]
  276. gyarados_mega_5.lmatchups = [togekiss_2, togekiss_1, celesteela_2, scizor_mega_1, gyarados_mega_4, metagross_mega_1, magearna_1, charizard_mega_y_2, kommoo_1, genesect_1, jumpluff_1, zygarde_complete_1, tapu_lele_1, gardevoir_mega_1, altaria_mega_2, altaria_mega_1, magnezone_1, ferrothorn_1, chansey_1, celesteela_1, venusaur_mega_1, smeargle_1, latias_mega_1, tapu_fini_1, tapu_fini_2, primarina_1, zeraora_1, sableye_mega_1, pinser_mega_1, mawile_mega_1, raikou_1, kartana_1, kartana_2, xurkitree_1, clefable_1, stunfisk_1, vivillon_1, magearna_2, umbreon_1, vigoroth_1, pheromosa_1, rotom_wash_1, zapdos_1, porygon2_1, salamence_1, avalugg_1, gallade_mega_1, venusaur_mega_2, porygonz_3, zeraora_2, type_null_1, magnezone_2]
  277. #for all Kyurem sets
  278. kyurem_1.lmatchups = [celesteela_2, gyarados_mega_5, dragonite_3, carracosta_1, deoxys_s_2, salamence_1, hoopau_2, haxorus_2, araquanid_1, pyukumuku_1, pheromosa_3, pheromosa_2, rampardos_2, rampardos_1, mienshao_1, terrakion_1, gyarados_mega_4, audino_mega_1, mew_2, shedinja_1, genesect_2, smeargle_1, kartana_2, tapu_fini_2, illumise_1, sawk_1, medicham_mega_1, manaphy_1, heracross_mega_1, durant_1, blaziken_mega_1, crustle_1, jumpluff_1, archeops_1, celesteela_1, mawile_mega_1, sableye_mega_1, pinser_mega_1, chansey_1, tyranitar_mega_1, metagross_mega_1, metagross_mega_2, gyarados_mega, kommoo_1, naganadel_1, gyarados_mega_2, lopunny_mega_1, mew_1, meloetta_1, magnezone_1, gardevoir_mega_1, genesect_1, aegislash_1, slowbro_mega_1, magnezone_1, gyarados_mega_3, porygonz_1, tapu_lele_1, charizard_mega_x, charizard_mega_x_2, charizard_mega_y, charizard_mega_y_2, vivillon_1, charizard_mega_x_3, type_null_1]
  279. #for all Naganadel sets
  280. naganadel_1.lmatchups = [landorus_therian_2, gyarados_mega_5, greninja_4, dragonite_4, dragonite_3, avalugg_1, swampert_mega_1, deoxys_s_2, donphan_2, volcarona_2, hoopau_2, araquanid_1, pyukumuku_1, porygon2_1, pheromosa_3, pheromosa_2, umbreon_1, garchomp_2, magearna_2, darmanitan_1, gyarados_mega_4, audino_mega_1, slowbro_mega_2, riolu_1, aron_1, cresselia_1, heatran_2, victini_2, greninja_3, dragonite_2, sawk_1, incineroar_1, hoopau_1, haxorus_1, golem_1, diancie_mega_1, deoxys_s_1, crustle_1, blastoise_mega_1, zeraora_1, victini_1, sableye_mega_1, necrozma_1, heatran_1, chansey_1, aggron_mega_1, tyranitar_mega_1, donphan_1, aegislash_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, charizard_mega_x_2, dragonite_1, magearna_1, metagross_mega_2, slowbro_mega_1, greninja_1, lopunny_mega_1, mew_1, meloetta_1, porygonz_2, stunfisk_1, weavile_2, zeraora_2, necrozma_2, type_null_1, meloetta_2]
  281. #for all Metagross-Mega sets
  282. metagross_mega_1.lmatchups = [celesteela_2, scizor_mega_1, landorus_therian_2, gallade_mega_1, swampert_mega_1, volcarona_2, salamence_1, hoopau_2, pyukumuku_1, zapdos_1, pheromosa_1, vigoroth_1, umbreon_1, garchomp_2, excadrill_1, darmanitan_1, salazzle_1, slowbro_mega_2, mew_2, shedinja_1, altaria_mega_2, genesect_2, aron_1, blacephalon_1, xurkitree_1, greninja_2, dragonite_2, medicham_mega_1, manaphy_1, krookodile_1, incineroar_1, hoopau_1, blaziken_mega_1, victini_1, sableye_mega_1, heatran_1, garchomp_1, ferrothorn_1, chansey_1, celesteela_1, aggron_mega_1, kommoo_1, genesect_1, aegislash_1, charizard_mega_x, charizard_mega_x_2, charizard_mega_y, charizard_mega_y_2, magearna_1, slowbro_mega_1, zygarde_complete_1, jumpluff_1, porygonz_1, landorus_therian_1, donphan_1, volcarona_1, stunfisk_1, vivillon_1, weavile_1, porygonz_3, charizard_mega_x_3, infernape_1, zeraora_2, necrozma_2, type_null_1]
  283. metagross_mega_2.lmatchups = [celesteela_2, scizor_mega_1, landorus_therian_2, gyarados_mega_5, gallade_mega_1, avalugg_1, swampert_mega_1, donphan_2, volcarona_2, salamence_1, hoopau_2, pyukumuku_1, zapdos_1, vigoroth_1, umbreon_1, garchomp_2, excadrill_1, darmanitan_1, gyarados_mega_4, slowbro_mega_2, mew_2, shedinja_1, altaria_mega_2, genesect_2, aron_1, blacephalon_1, xurkitree_1, victini_2, greninja_3, greninja_2, manaphy_1, krookodile_1, incineroar_1, hoopau_1, blaziken_mega_1, blastoise_mega_1, victini_1, sableye_mega_1, metagross_mega_1, heatran_1, garchomp_1, ferrothorn_1, chansey_1, celesteela_1, aggron_mega_1, primarina_1, genesect_1, aegislash_1, charizard_mega_x, charizard_mega_x_2, charizard_mega_y, charizard_mega_y_2, magearna_1, slowbro_mega_1, zygarde_complete_1, jumpluff_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, metagross_mega_1, porygonz_1, landorus_therian_1, donphan_1, volcarona_1, stunfisk_1, vivillon_1, weavile_1, porygonz_3, charizard_mega_x_3, infernape_1, necrozma_2, type_null_1]
  284. #for all Magearna sets
  285. magearna_1.lmatchups = [celesteela_2, scizor_mega_1, greninja_4, carracosta_1, volcarona_2, pyukumuku_1, zapdos_1, excadrill_1, whimsicott_1, darmanitan_1, salazzle_1, audino_mega_1, raikou_1, mew_2, shedinja_1, riolu_1, genesect_2, smeargle_1, blacephalon_1, xurkitree_1, heatran_2, victini_2, greninja_2, manaphy_1, kyurem_1, krookodile_1, blaziken_mega_1, victini_1, heatran_1, garchomp_1, aegislash_1, charizard_mega_x, charizard_mega_x_2, charizard_mega_y, charizard_mega_y_2, jumpluff_1, zygarde_complete_1, landorus_therian_1, magnezone_1, volcarona_1, vivillon_1, charizard_mega_x_3, infernape_1, necrozma_2, type_null_1, magnezone_2]
  286. magearna_2.lmatchups = [greninja_4, audino_mega_1, venusaur_mega_2, carracosta_1, avalugg_1, swampert_mega_1, deoxys_s_2, donphan_2, volcarona_2, araquanid_1, porygon2_1, rotom_wash_1, greninja_2, metagross_mega_1, metagross_mega_2, magearna_1, dragonite_1, dragonite_2, charizard_mega_x, charizard_mega_x_2, charizard_mega_y, charizard_mega_y_2, landorus_therian_1, jumpluff_1, zygarde_complete_1, donphan_1, magnezone_1, meloetta_1, mew_1, mew_2, heatran_1, heatran_2, chansey_1, aggron_mega_1, smeargle_1, tapu_fini_1, zeraora_1, volcarona_1, riolu_1, victini_1, victini_2, blacephalon_1, raikou_1, krookodile_1, incineroar_1, hoopau_1, golem_1, sawk_1, xurkitree_1, cresselia_1, blaziken_mega_1, stunfisk_1, vivillon_1, salazzle_1, darmanitan_1, whimsicott_1, excadrill_1, charizard_mega_x_3, infernape_1, zeraora_2, necrozma_2, type_null_1, magnezone_2]
  287. #for all Dragonite sets
  288. dragonite_1.lmatchups = [togekiss_1, togekiss_2, celesteela_2, scizor_mega_1, gyarados_mega_5, dragonite_3, avalugg_1, swampert_mega_1, salamence_1, haxorus_2, pyukumuku_1, porygon2_1, zapdos_1, rampardos_2, vigoroth_1, umbreon_1, mienshao_1, gyarados_mega_4, latias_mega_1, audino_mega_1, slowbro_mega_2, mew_2, altaria_mega_2, aron_1, smeargle_1, cresselia_1, victini_2, greninja_3, dragonite_2, illumise_1, medicham_mega_1, kyurem_1, incineroar_1, haxorus_1, blastoise_mega_1, archeops_1, sableye_mega_1, mawile_mega_1, ferrothorn_1, chansey_1, celesteela_1, aggron_mega_1, tyranitar_mega_1, genesect_1, gardevoir_mega_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, charizard_mega_x_2, magearna_1, jumpluff_1, lopunny_mega_1, slowbro_mega_1, zygarde_complete_1, landorus_therian_1, metagross_mega_1, tapu_lele_1, altaria_mega_1, donphan_1, clefable_1, weavile_1, weavile_2, necrozma_2, type_null_1]
  289. dragonite_2.lmatchups = [togekiss_2, togekiss_1, gyarados_mega_5, dragonite_4, dragonite_3, avalugg_1, swampert_mega_1, deoxys_s_2, haxorus_2, pyukumuku_1, porygon2_1, zapdos_1, rampardos_2, umbreon_1, mienshao_1, gyarados_mega_4, audino_mega_1, slowbro_mega_2, mew_2, altaria_mega_2, aron_1, smeargle_1, cresselia_1, tapu_fini_2, greninja_3, gyarados_mega, gyarados_mega_2, gyarados_mega_3, kyurem_1, magearna_1, jumpluff_1, greninja_1, medicham_mega_1, slowbro_mega_1, tapu_lele_1, porygonz_1, gardevoir_mega_1, altaria_mega_1, magnezone_1, meloetta_1, mew_1, lopunny_mega_1, heatran_1, chansey_1, celesteela_1, tyranitar_mega_1, tapu_fini_1, primarina_1, blastoise_mega_1, archeops_1, sableye_mega_1, haxorus_1, golem_1, diancie_mega_1, clefable_1, vivillon_1, weavile_1, weavile_2, porygonz_3, zeraora_2, necrozma_2, type_null_1, meloetta_2]
  290. dragonite_3.lmatchups = [togekiss_2, togekiss_1, celesteela_2, scizor_mega_1, gyarados_mega_5, greninja_4, venusaur_mega_2, mienshao_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, gyarados_mega_4, metagross_mega_1, metagross_mega_2, magearna_1, charizard_mega_x_2, genesect_1, genesect_2, landorus_therian_1, jumpluff_1, medicham_mega_1, slowbro_mega_1, slowbro_mega_2, tapu_lele_1, gardevoir_mega_1, donphan_1, altaria_mega_1, altaria_mega_2, lopunny_mega_1, ferrothorn_1, aggron_mega_1, smeargle_1, tyranitar_mega_1, tapu_fini_1, tapu_fini_2, primarina_1, blastoise_mega_1, archeops_1, sableye_mega_1, mawile_mega_1, kartana_1, kartana_2, haxorus_1, golem_1, diancie_mega_1, sawk_1, crustle_1, cresselia_1, clefable_1, vivillon_1, shedinja_1, whimsicott_1, magearna_2, umbreon_1, vigoroth_1, rampardos_2, porygon2_1, haxorus_2, donphan_2, avalugg_1, weavile_1, weavile_2, necrozma_2, type_null_1]
  291. dragonite_4.lmatchups = [togekiss_2, togekiss_1, gyarados_mega_5, charizard_mega_x_2, gyarados_mega, gyarados_mega_3, gyarados_mega_2, gyarados_mega_4, kyurem_1, metagross_mega_2, metagross_mega_1, magearna_1, jumpluff_1, medicham_mega_1, slowbro_mega_1, slowbro_mega_2, tapu_lele_1, gardevoir_mega_1, audino_mega_1, altaria_mega_1, altaria_mega_2, aegislash_1, meloetta_1, aron_1, mew_1, mew_2, lopunny_mega_1, chansey_1, celesteela_1, smeargle_1, tyranitar_mega_1, tapu_fini_1, tapu_fini_2, primarina_1, blastoise_mega_1, archeops_1, sableye_mega_1, mawile_mega_1, haxorus_1, diancie_mega_1, cresselia_1, clefable_1, vivillon_1, whimsicott_1, magearna_2, mienshao_1, umbreon_1, rampardos_2, porygon2_1, haxorus_2, volcarona_2, pyukumuku_1, deoxys_s_2, swampert_mega_1, avalugg_1, dragonite_3, weavile_1, weavile_2, porygonz_3, necrozma_2, type_null_1, meloetta_2]
  292. #for all Charizard-Mega-Y sets
  293. charizard_mega_y.lmatchups = [togekiss_1, landorus_therian_2, gyarados_mega_5, dragonite_4, dragonite_3, gallade_mega_1, carracosta_1, volcarona_2, salamence_1, haxorus_2, araquanid_1, pyukumuku_1, porygon2_1, rotom_wash_1, pheromosa_3, pheromosa_2, rampardos_2, rampardos_1, garchomp_2, mienshao_1, terrakion_1, darmanitan_1, gyarados_mega_4, latias_mega_1, audino_mega_1, raikou_1, altaria_mega_2, aron_1, cresselia_1, kartana_2, blacephalon_1, heatran_2, victini_2, tapu_fini_2, greninja_2, dragonite_2, sawk_1, incineroar_1, haxorus_1, golem_1, durant_1, diancie_mega_1, crustle_1, blaziken_mega_1, archeops_1, zeraora_1, victini_1, pinser_mega_1, heatran_1, garchomp_1, chansey_1, aggron_mega_1, tyranitar_mega_1, primarina_1, kommoo_1, charizard_mega_x, charizard_mega_x_2, dragonite_1, gyarados_mega_2, lopunny_mega_1, zygarde_complete_1, magnezone_1, donphan_1, clefable_1, porygonz_2, stunfisk_1, weavile_1, charizard_mega_x_3, zeraora_2, necrozma_2, meloetta_2, magnezone_2]
  294. charizard_mega_y_2.lmatchups = [togekiss_1, landorus_therian_2, dragonite_4, dragonite_3, gallade_mega_1, carracosta_1, volcarona_2, salamence_1, haxorus_2, araquanid_1, pyukumuku_1, porygon2_1, rotom_wash_1, pheromosa_3, rampardos_2, rampardos_1, umbreon_1, garchomp_2, mienshao_1, terrakion_1, darmanitan_1, latias_mega_1, audino_mega_1, raikou_1, altaria_mega_2, porygonz_2, aron_1, cresselia_1, kartana_2, blacephalon_1, heatran_2, tapu_fini_2, greninja_2, dragonite_2, sawk_1, medicham_mega_1, incineroar_1, haxorus_1, golem_1, durant_1, diancie_mega_1, crustle_1, blaziken_mega_1, archeops_1, zeraora_1, victini_1, pinser_mega_1, heatran_1, garchomp_1, chansey_1, aggron_mega_1, tyranitar_mega_1, primarina_1, kommoo_1, charizard_mega_x, charizard_mega_x_2, dragonite_1, lopunny_mega_1, zygarde_complete_1, magnezone_1, donphan_1, clefable_1, stunfisk_1, weavile_1, charizard_mega_x_3, zeraora_2, necrozma_2, meloetta_2, magnezone_2]
  295. #for all Charizard-Mega-X sets
  296. charizard_mega_x.lmatchups = [togekiss_2, togekiss_1, landorus_therian_2, gyarados_mega_5, greninja_4, venusaur_mega_2, dragonite_4, dragonite_3, gallade_mega_1, carracosta_1, deoxys_s_2, salamence_1, araquanid_1, porygon2_1, rampardos_2, rampardos_1, vigoroth_1, umbreon_1, garchomp_2, mienshao_1, terrakion_1, gyarados_mega_4, salazzle_1, latias_mega_1, altaria_mega_2, aron_1, cresselia_1, blacephalon_1, heatran_2, victini_2, tapu_fini_2, greninja_3, greninja_2, dragonite_2, illumise_1, manaphy_1, krookodile_1, incineroar_1, hoopau_1, golem_1, durant_1, diancie_mega_1, deoxys_s_1, crustle_1, blastoise_mega_1, archeops_1, pinser_mega_1, heatran_1, chansey_1, aggron_mega_1, tyranitar_mega_1, tapu_fini_1, primarina_1, naganadel_1, gyarados_mega, gyarados_mega_2, dragonite_1, lopunny_mega_1, slowbro_mega_1, slowbro_mega_2, zygarde_complete_1, landorus_therian_1, greninja_1, tapu_lele_1, mew_1, meloetta_1, altaria_mega_1, donphan_1, clefable_1, porygonz_2, stunfisk_1, garchomp_1, weavile_1, porygonz_3, meloetta_2]
  297. charizard_mega_x_2.lmatchups = [togekiss_2, togekiss_1, landorus_therian_2, gyarados_mega_5, venusaur_mega_2, gallade_mega_1, carracosta_1, deoxys_s_2, salamence_1, haxorus_2, araquanid_1, pyukumuku_1, porygon2_1, rampardos_2, rampardos_1, vigoroth_1, umbreon_1, garchomp_2, mienshao_1, terrakion_1, gyarados_mega_4, latias_mega_1, audino_mega_1, garchomp_1, altaria_mega_2, smeargle_1, cresselia_1, heatran_2, victini_2, tapu_fini_2, greninja_2, illumise_1, medicham_mega_1, manaphy_1, krookodile_1, zygarde_complete_1, incineroar_1, golem_1, durant_1, diancie_mega_1, crustle_1, archeops_1, heatran_1, chansey_1, aggron_mega_1, tyranitar_mega_1, tapu_fini_1, primarina_1, charizard_mega_x, slowbro_mega_1, slowbro_mega_2, landorus_therian_1, porygonz_1, tapu_lele_1, altaria_mega_1, donphan_1, clefable_1, stunfisk_1, porygonz_3, charizard_mega_x_3, necrozma_2, type_null_1, meloetta_2]
  298. charizard_mega_x_3.lmatchups = [gyarados_mega, gyarados_mega_2, gyarados_mega_4, gyarados_mega_5, naganadel_1, dragonite_1, dragonite_2, dragonite_3, dragonite_4, charizard_mega_x, landorus_therian_1, landorus_therian_2, greninja_1, greninja_2, greninja_3, greninja_4, tapu_lele_1, porygonz_1, porygonz_2, porygonz_3, donphan_1, altaria_mega_1, altaria_mega_2, meloetta_1, aron_1, heatran_1, heatran_2, garchomp_1, garchomp_2, aggron_mega_1, tyranitar_mega_1, latias_mega_1, tapu_fini_2, primarina_1, blastoise_mega_1, archeops_1, victini_2, necrozma_1, blacephalon_1, krookodile_1, hoopau_1, haxorus_1, haxorus_2, golem_1, durant_1, diancie_mega_1, deoxys_s_1, crustle_1, cresselia_1, clefable_1, stunfisk_1, illumise_1, terrakion_1, mienshao_1, rampardos_1, rampardos_2, pyukumuku_1, araquanid_1, salamence_1, avalugg_1, gallade_mega_1, togekiss_2, meloetta_2]
  299. #for all Manaphy sets
  300. manaphy_1.lmatchups = [togekiss_1, gyarados_mega_5, dragonite_4, dragonite_3, gallade_mega_1, salamence_1, haxorus_2, pyukumuku_1, zapdos_1, rotom_wash_1, garchomp_2, whimsicott_1, latias_mega_1, slowbro_mega_2, raikou_1, mew_2, shedinja_1, riolu_1, aron_1, kartana_2, dragonite_2, sawk_1, medicham_mega_1, kartana_1, clefable_1, crustle_1, haxorus_1, heracross_mega_1, volcarona_1, zeraora_1, archeops_1, garchomp_1, gyarados_mega, gyarados_mega_2, gyarados_mega_4, dragonite_1, ferrothorn_1, porygonz_1, porygonz_2, jumpluff_1, meloetta_1, magnezone_1, kommoo_1, naganadel_1, venusaur_mega_1, vivillon_1, porygonz_3, zeraora_2, meloetta_2, magnezone_2]
  301. #for all Kommo-o sets
  302. kommoo_1.lmatchups = [porygonz_1, togekiss_2, togekiss_1, landorus_therian_2, volcarona_2, dragonite_4, dragonite_3, deoxys_s_2, salamence_1, hoopau_2, haxorus_2, magearna_2, latias_mega_1, vivillon_1, slowbro_mega_2, altaria_mega_2, smeargle_1, cresselia_1, victini_2, tapu_fini_2, dragonite_2, medicham_mega_1, haxorus_1, diancie_mega_1, deoxys_s_1, archeops_1, pinser_mega_1, necrozma_1, mawile_mega_1, tapu_fini_1, primarina_1, naganadel_1, charizard_mega_x, charizard_mega_x_2, dragonite_1, magearna_1, metagross_mega_2, tapu_lele_1, slowbro_mega_1, mew_1, aegislash_1, altaria_mega_1, gardevoir_mega_1, clefable_1, charizard_mega_x_3, zeraora_2]
  303. #for all Genesect sets
  304. genesect_1.lmatchups = [togekiss_1, greninja_4, venusaur_mega_2, dragonite_4, carracosta_1, avalugg_1, swampert_mega_1, donphan_2, volcarona_2, hoopau_2, araquanid_1, pyukumuku_1, porygon2_1, rotom_wash_1, rampardos_1, magearna_2, excadrill_1, darmanitan_1, salazzle_1, latias_mega_1, audino_mega_1, raikou_1, mew_2, shedinja_1, riolu_1, altaria_mega_2, genesect_2, aron_1, smeargle_1, blacephalon_1, heatran_2, victini_2, greninja_3, dragonite_2, manaphy_1, incineroar_1, crustle_1, blaziken_mega_1, archeops_1, zeraora_1, victini_1, sableye_mega_1, mawile_mega_1, heatran_1, chansey_1, aggron_mega_1, naganadel_1, charizard_mega_x, charizard_mega_x_2, charizard_mega_y, charizard_mega_y_2, magearna_1, greninja_1, magnezone_1, aegislash_1, kommoo_1, lopunny_mega_1, volcarona_1, stunfisk_1, vivillon_1, charizard_mega_x_3, infernape_1, zeraora_2, necrozma_2, type_null_1, magnezone_2]
  305. genesect_2.lmatchups = [togekiss_1, celesteela_2, venusaur_mega_2, dragonite_4, gallade_mega_1, carracosta_1, avalugg_1, swampert_mega_1, deoxys_s_2, donphan_2, volcarona_2, araquanid_1, pyukumuku_1, porygon2_1, rotom_wash_1, pheromosa_3, pheromosa_2, magearna_2, terrakion_1, excadrill_1, darmanitan_1, salazzle_1, audino_mega_1, raikou_1, riolu_1, altaria_mega_2, blacephalon_1, dragonite_1, charizard_mega_x, charizard_mega_x_2, charizard_mega_y, charizard_mega_y_2, manaphy_1, kommoo_1, medicham_mega_1, tapu_lele_1, porygonz_1, porygonz_2, donphan_1, altaria_mega_1, aegislash_1, magnezone_1, mew_1, lopunny_mega_1, heatran_2, heatran_1, chansey_1, aggron_mega_1, primarina_1, blastoise_mega_1, zeraora_1, volcarona_1, victini_1, victini_2, sableye_mega_1, incineroar_1, heracross_mega_1, golem_1, diancie_mega_1, sawk_1, blaziken_mega_1, clefable_1, dragonite_2, stunfisk_1, xurkitree_1, crustle_1, charizard_mega_x_3, infernape_1, zeraora_2, necrozma_2, type_null_1, magnezone_2]
  306. #for all Landorus-Therian sets
  307. landorus_therian_1.lmatchups = [togekiss_2, togekiss_1, gyarados_mega_5, greninja_4, venusaur_mega_2, dragonite_4, carracosta_1, avalugg_1, swampert_mega_1, deoxys_s_2, donphan_2, salamence_1, araquanid_1, pyukumuku_1, porygon2_1, rotom_wash_1, pheromosa_3, pheromosa_2, pheromosa_1, rampardos_1, vigoroth_1, umbreon_1, whimsicott_1, gyarados_mega_4, latias_mega_1, audino_mega_1, slowbro_mega_2, mew_2, altaria_mega_2, genesect_2, aron_1, smeargle_1, cresselia_1, tapu_fini_2, greninja_3, greninja_2, dragonite_2, illumise_1, sawk_1, medicham_mega_1, manaphy_1, diancie_mega_1, kyurem_1, deoxys_s_1, blastoise_mega_1, sableye_mega_1, necrozma_1, chansey_1, primarina_1, kommoo_1, gardevoir_mega_1, charizard_mega_y, charizard_mega_y_2, gyarados_mega, gyarados_mega_2, gyarados_mega_3, slowbro_mega_1, jumpluff_1, zygarde_complete_1, porygonz_1, greninja_1, mew_1, meloetta_1, altaria_mega_1, clefable_1, porygonz_2, vivillon_1, weavile_1, weavile_2, porygonz_3, infernape_1, necrozma_2, type_null_1, meloetta_2]
  308. landorus_therian_2.lmatchups = [togekiss_2, togekiss_1, celesteela_2, scizor_mega_1, audino_mega_1, tapu_lele_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, gyarados_mega_4, gyarados_mega_5, kyurem_1, magearna_1, dragonite_1, dragonite_2, manaphy_1, genesect_1, genesect_2, landorus_therian_1, jumpluff_1, zygarde_complete_1, slowbro_mega_2, slowbro_mega_1, gardevoir_mega_1, donphan_1, altaria_mega_1, altaria_mega_2, aegislash_1, meloetta_1, aron_1, mew_1, mew_2, heatran_1, chansey_1, aggron_mega_1, latias_mega_1, tapu_fini_1, tapu_fini_2, primarina_1, blastoise_mega_1, sableye_mega_1, necrozma_1, hoopau_1, golem_1, deoxys_s_1, cresselia_1, clefable_1, illumise_1, whimsicott_1, magearna_2, umbreon_1, vigoroth_1, rotom_wash_1, zapdos_1, porygon2_1, salamence_1, pyukumuku_1, donphan_2, deoxys_s_2, swampert_mega_1, avalugg_1, carracosta_1, dragonite_3, dragonite_4, necrozma_2, type_null_1, meloetta_2]
  309. #for all Jumpluff sets
  310. jumpluff_1.lmatchups = [greninja_4, venusaur_mega_2, deoxys_s_2, donphan_2, volcarona_2, hoopau_2, pheromosa_3, pheromosa_2, pheromosa_1, rampardos_2, rampardos_1, vigoroth_1, darmanitan_1, salazzle_1, raikou_1, genesect_2, kartana_2, greninja_3, sawk_1, heracross_mega_1, diancie_mega_1, deoxys_s_1, crustle_1, blaziken_mega_1, zeraora_1, victini_1, sableye_mega_1, kartana_1, ferrothorn_1, venusaur_mega_1, tapu_fini_1, naganadel_1, kommoo_1, charizard_mega_x, charizard_mega_x_2, charizard_mega_y, charizard_mega_y_2, lopunny_mega_1, greninja_1, genesect_1, volcarona_1, porygonz_2, weavile_1, weavile_2, charizard_mega_x_3, zeraora_2, meloetta_2]
  311. #for all Greninja sets
  312. greninja_1.lmatchups = [togekiss_2, togekiss_1, celesteela_2, scizor_mega_1, landorus_therian_2, gyarados_mega_5, venusaur_mega_2, donphan_2, hoopau_2, araquanid_1, pyukumuku_1, porygon2_1, rotom_wash_1, pheromosa_3, pheromosa_2, umbreon_1, magearna_2, darmanitan_1, gyarados_mega_4, latias_mega_1, audino_mega_1, riolu_1, genesect_2, aron_1, tapu_fini_2, sawk_1, manaphy_1, kyurem_1, hoopau_1, heracross_mega_1, haxorus_1, golem_1, deoxys_s_1, crustle_1, blaziken_mega_1, zeraora_1, sableye_mega_1, ferrothorn_1, chansey_1, aggron_mega_1, tapu_fini_1, kommoo_1, gardevoir_mega_1, charizard_mega_x_2, metagross_mega_1, metagross_mega_2, lopunny_mega_1, magearna_1, tapu_lele_1, magnezone_1, meloetta_1, donphan_1, clefable_1, porygonz_2, stunfisk_1, weavile_2, zeraora_2, type_null_1, meloetta_2, magnezone_2]
  313. greninja_2.lmatchups = [landorus_therian_2, gyarados_mega_5, venusaur_mega_2, dragonite_4, dragonite_3, carracosta_1, donphan_2, volcarona_2, hoopau_2, araquanid_1, porygon2_1, rotom_wash_1, pheromosa_3, pheromosa_2, umbreon_1, darmanitan_1, gyarados_mega_4, salazzle_1, latias_mega_1, slowbro_mega_2, raikou_1, shedinja_1, altaria_mega_2, genesect_2, zygarde_complete_1, tapu_fini_2, gyarados_mega, gyarados_mega_2, gyarados_mega_3, kyurem_1, naganadel_1, dragonite_1, manaphy_1, kommoo_1, genesect_1, greninja_1, slowbro_mega_1, porygonz_2, donphan_1, altaria_mega_1, magnezone_1, lopunny_mega_1, ferrothorn_1, chansey_1, venusaur_mega_1, tapu_fini_1, primarina_1, blastoise_mega_1, zeraora_1, hoopau_1, heracross_mega_1, haxorus_1, golem_1, deoxys_s_1, sawk_1, crustle_1, clefable_1, dragonite_2, weavile_2, zeraora_2, meloetta_2, magnezone_2]
  314. greninja_3.lmatchups = [togekiss_2, togekiss_1, scizor_mega_1, landorus_therian_2, gyarados_mega_5, greninja_4, venusaur_mega_2, dragonite_4, dragonite_3, carracosta_1, swampert_mega_1, donphan_2, hoopau_2, araquanid_1, pyukumuku_1, porygon2_1, rotom_wash_1, pheromosa_3, pheromosa_2, umbreon_1, magearna_2, darmanitan_1, gyarados_mega_4, latias_mega_1, audino_mega_1, slowbro_mega_2, raikou_1, mew_2, riolu_1, genesect_2, aron_1, tapu_fini_2, gyarados_mega, gyarados_mega_2, gyarados_mega_3, kyurem_1, charizard_mega_x_2, manaphy_1, greninja_1, slowbro_mega_1, porygonz_2, donphan_1, clefable_1, magnezone_1, lopunny_mega_1, ferrothorn_1, chansey_1, celesteela_1, venusaur_mega_1, tapu_fini_1, primarina_1, blastoise_mega_1, zeraora_1, heracross_mega_1, haxorus_1, golem_1, deoxys_s_1, sawk_1, crustle_1, blaziken_mega_1, dragonite_2, greninja_2, weavile_2, zeraora_2, type_null_1, meloetta_2, magnezone_2]
  315. greninja_4.lmatchups = [togekiss_2, togekiss_1, celesteela_2, landorus_therian_2, gyarados_mega_5, gyarados_mega, gyarados_mega_2, gyarados_mega_3, gyarados_mega_4, kyurem_1, charizard_mega_x_2, manaphy_1, kommoo_1, genesect_2, tapu_lele_1, porygonz_2, gardevoir_mega_1, donphan_1, audino_mega_1, magnezone_1, meloetta_1, aron_1, lopunny_mega_1, chansey_1, aggron_mega_1, venusaur_mega_1, tyranitar_mega_1, latias_mega_1, tapu_fini_1, tapu_fini_2, primarina_1, blastoise_mega_1, zeraora_1, riolu_1, sableye_mega_1, hoopau_1, haxorus_1, golem_1, deoxys_s_1, sawk_1, crustle_1, blaziken_mega_1, clefable_1, darmanitan_1, garchomp_2, umbreon_1, pheromosa_2, pheromosa_3, rotom_wash_1, porygon2_1, hoopau_2, pyukumuku_1, donphan_2, araquanid_1, swampert_mega_1, avalugg_1, carracosta_1, venusaur_mega_2, weavile_2, zeraora_2, type_null_1, meloetta_2, magnezone_2]
  316. #for all Medicham-Mega sets
  317. medicham_mega_1.lmatchups = [togekiss_2, landorus_therian_2, gyarados_mega_5, greninja_4, gallade_mega_1, swampert_mega_1, deoxys_s_2, zapdos_1, pheromosa_3, pheromosa_2, darmanitan_1, salazzle_1, gyarados_mega_4, latias_mega_1, slowbro_mega_2, raikou_1, mew_2, shedinja_1, altaria_mega_2, cresselia_1, kartana_2, blacephalon_1, victini_2, greninja_3, greninja_2, illumise_1, clefable_1, diancie_mega_1, durant_1, haxorus_1, deoxys_s_1, kartana_1, blaziken_mega_1, mawile_mega_1, zeraora_1, archeops_1, necrozma_1, pinser_mega_1, sableye_mega_1, victini_1, garchomp_1, aegislash_1, naganadel_1, primarina_1, genesect_1, gardevoir_mega_1, altaria_mega_1, gyarados_mega, mew_1, gyarados_mega_2, gyarados_mega_3, magearna_1, metagross_mega_2, porygonz_2, tapu_lele_1, slowbro_mega_1, greninja_1, jumpluff_1, lopunny_mega_1, vivillon_1, weavile_1, weavile_2, infernape_1, zeraora_2, necrozma_2, magnezone_2]
  318. #for all Zygarde-Complete sets
  319. zygarde_complete_1.lmatchups = [togekiss_2, togekiss_1, scizor_mega_1, greninja_4, dragonite_4, dragonite_3, avalugg_1, swampert_mega_1, salamence_1, haxorus_2, pyukumuku_1, porygon2_1, pheromosa_3, pheromosa_1, rampardos_1, vigoroth_1, whimsicott_1, latias_mega_1, audino_mega_1, mew_2, altaria_mega_2, genesect_2, smeargle_1, cresselia_1, victini_2, tapu_fini_2, greninja_3, dragonite_2, illumise_1, medicham_mega_1, manaphy_1, kyurem_1, krookodile_1, deoxys_s_1, blastoise_mega_1, tapu_fini_1, primarina_1, naganadel_1, kommoo_1, genesect_1, gardevoir_mega_1, jumpluff_1, gyarados_mega_3, slowbro_mega_1, porygonz_1, greninja_1, tapu_lele_1, mew_1, altaria_mega_1, clefable_1, porygonz_2, vivillon_1, weavile_1, weavile_2, porygonz_3, necrozma_2, type_null_1, meloetta_2]
  320. #for all Slowbro-Mega sets
  321. slowbro_mega_1.lmatchups = [celesteela_2, greninja_4, venusaur_mega_2, volcarona_2, hoopau_2, araquanid_1, pyukumuku_1, zapdos_1, rotom_wash_1, pheromosa_3, magearna_2, audino_mega_1, raikou_1, shedinja_1, genesect_2, aron_1, smeargle_1, kartana_2, blacephalon_1, xurkitree_1, heatran_2, illumise_1, kyurem_1, incineroar_1, hoopau_1, heracross_mega_1, durant_1, blastoise_mega_1, zeraora_1, kartana_1, chansey_1, venusaur_mega_1, primarina_1, genesect_1, gardevoir_mega_1, aegislash_1, charizard_mega_y, charizard_mega_y_2, magearna_1, jumpluff_1, porygonz_1, greninja_1, magnezone_1, volcarona_1, stunfisk_1, vivillon_1, porygonz_3, charizard_mega_x_3, zeraora_2, necrozma_2, type_null_1, magnezone_2]
  322. slowbro_mega_2.lmatchups = [togekiss_2, greninja_4, zygarde_complete_1, deoxys_s_2, volcarona_2, hoopau_2, araquanid_1, pyukumuku_1, zapdos_1, rotom_wash_1, pheromosa_3, magearna_2, audino_mega_1, raikou_1, mew_2, shedinja_1, kyurem_1, magearna_1, charizard_mega_y, genesect_1, jumpluff_1, greninja_1, porygonz_1, aegislash_1, magnezone_1, ferrothorn_1, chansey_1, venusaur_mega_1, primarina_1, zeraora_1, volcarona_1, kartana_2, kartana_1, incineroar_1, hoopau_1, heracross_mega_1, durant_1, illumise_1, xurkitree_1, blacephalon_1, genesect_2, aron_1, smeargle_1, vivillon_1, porygonz_3, charizard_mega_x_3, zeraora_2, necrozma_2, type_null_1, magnezone_2]
  323. #for all Tapu Lele sets
  324. tapu_lele_1.lmatchups = [porygonz_1, celesteela_2, scizor_mega_1, carracosta_1, hoopau_2, haxorus_2, pyukumuku_1, magearna_2, excadrill_1, salazzle_1, slowbro_mega_2, mew_2, shedinja_1, aron_1, smeargle_1, kartana_2, blacephalon_1, victini_2, greninja_3, greninja_2, sawk_1, manaphy_1, durant_1, archeops_1, victini_1, pinser_mega_1, mawile_mega_1, kartana_1, heatran_1, ferrothorn_1, celesteela_1, aggron_mega_1, naganadel_1, genesect_1, gardevoir_mega_1, aegislash_1, charizard_mega_y, charizard_mega_y_2, metagross_mega_1, metagross_mega_2, magearna_1, jumpluff_1, magnezone_1, meloetta_1, volcarona_1, vivillon_1, porygonz_3, necrozma_2, type_null_1, meloetta_2, magnezone_2]
  325. #for all Porygon-Z sets
  326. porygonz_1.lmatchups = [gyarados_mega_2, celesteela_2, landorus_therian_2, gyarados_mega_5, greninja_4, dragonite_3, gallade_mega_1, carracosta_1, deoxys_s_2, donphan_2, volcarona_2, haxorus_2, pheromosa_3, pheromosa_2, pheromosa_1, rampardos_2, rampardos_1, umbreon_1, mienshao_1, magearna_2, terrakion_1, excadrill_1, darmanitan_1, salazzle_1, audino_mega_1, raikou_1, kartana_2, blacephalon_1, heatran_2, greninja_2, sawk_1, medicham_mega_1, haxorus_1, golem_1, durant_1, deoxys_s_1, crustle_1, archeops_1, zeraora_1, sableye_mega_1, pinser_mega_1, mawile_mega_1, kartana_1, garchomp_1, chansey_1, tyranitar_mega_1, naganadel_1, genesect_1, gardevoir_mega_1, charizard_mega_x, charizard_mega_y, charizard_mega_y_2, dragonite_1, magearna_1, jumpluff_1, lopunny_mega_1, greninja_1, magnezone_1, volcarona_1, porygonz_2, weavile_1, weavile_2, infernape_1, zeraora_2, magnezone_2]
  327. porygonz_2.lmatchups = [togekiss_1, scizor_mega_1, landorus_therian_2, gyarados_mega_5, zeraora_1, venusaur_mega_2, dragonite_4, dragonite_3, carracosta_1, avalugg_1, swampert_mega_1, deoxys_s_2, donphan_2, volcarona_2, hoopau_2, araquanid_1, pyukumuku_1, porygon2_1, pheromosa_3, pheromosa_2, rampardos_2, rampardos_1, umbreon_1, magearna_2, terrakion_1, excadrill_1, darmanitan_1, gyarados_mega_4, latias_mega_1, slowbro_mega_2, riolu_1, aron_1, heatran_2, dragonite_1, sawk_1, kyurem_1, incineroar_1, magearna_1, metagross_mega_1, metagross_mega_2, tapu_lele_1, slowbro_mega_1, mew_1, meloetta_1, magnezone_1, donphan_1, gardevoir_mega_1, genesect_1, kommoo_1, primarina_1, venusaur_mega_1, aggron_mega_1, celesteela_1, ferrothorn_1, heatran_1, mawile_mega_1, necrozma_1, sableye_mega_1, victini_1, blastoise_mega_1, blaziken_mega_1, crustle_1, deoxys_s_1, diancie_mega_1, durant_1, golem_1, haxorus_1, hoopau_1, clefable_1, chansey_1, stunfisk_1, necrozma_2, type_null_1, meloetta_2, magnezone_2]
  328. porygonz_3.lmatchups = [naganadel_1, magearna_1, magearna_2, dragonite_1, dragonite_3, charizard_mega_y, charizard_mega_y_2, genesect_1, genesect_2, jumpluff_1, greninja_1, greninja_2, greninja_3, greninja_4, medicham_mega_1, porygonz_1, porygonz_2, gardevoir_mega_1, audino_mega_1, magnezone_1, meloetta_1, lopunny_mega_1, garchomp_1, chansey_1, celesteela_2, tyranitar_mega_1, archeops_1, zeraora_1, volcarona_1, volcarona_2, sableye_mega_1, pinser_mega_1, blacephalon_1, mawile_mega_1, raikou_1, kartana_1, kartana_2, hoopau_1, haxorus_2, durant_1, deoxys_s_1, deoxys_s_2, sawk_1, crustle_1, blaziken_mega_1, clefable_1, vivillon_1, salazzle_1, excadrill_1, terrakion_1, mienshao_1, umbreon_1, rampardos_2, pheromosa_1, pheromosa_2, pheromosa_3, porygon2_1, pyukumuku_1, carracosta_1, gallade_mega_1, togekiss_1, weavile_1, infernape_1, zeraora_2, necrozma_2, type_null_1, magnezone_2]
  329. #for all Gardevoir-Mega sets
  330. gardevoir_mega_1.lmatchups = [celesteela_2, scizor_mega_1, carracosta_1, swampert_mega_1, haxorus_2, araquanid_1, pyukumuku_1, pheromosa_2, rampardos_2, magearna_2, excadrill_1, terrakion_1, darmanitan_1, salazzle_1, slowbro_mega_2, clefable_1, mew_2, genesect_2, kartana_2, blacephalon_1, heatran_2, victini_2, greninja_3, greninja_2, sawk_1, manaphy_1, durant_1, crustle_1, archeops_1, victini_1, pinser_mega_1, mawile_mega_1, kartana_1, heatran_1, garchomp_1, ferrothorn_1, celesteela_1, aggron_mega_1, naganadel_1, genesect_1, charizard_mega_x, charizard_mega_x_2, charizard_mega_y, charizard_mega_y_2, magearna_1, metagross_mega_1, metagross_mega_2, lopunny_mega_1, meloetta_1, magnezone_1, aegislash_1, volcarona_1, vivillon_1, weavile_1, charizard_mega_x_3, meloetta_2, magnezone_2]
  331. #for all Donphan sets
  332. donphan_1.lmatchups = [togekiss_2, togekiss_1, celesteela_2, scizor_mega_1, gyarados_mega_5, venusaur_mega_2, dragonite_4, gallade_mega_1, carracosta_1, swampert_mega_1, deoxys_s_2, salamence_1, pyukumuku_1, porygon2_1, rotom_wash_1, pheromosa_1, vigoroth_1, umbreon_1, whimsicott_1, gyarados_mega_4, latias_mega_1, audino_mega_1, slowbro_mega_2, mew_2, altaria_mega_2, smeargle_1, cresselia_1, tapu_fini_2, dragonite_2, illumise_1, kyurem_1, krookodile_1, incineroar_1, heracross_mega_1, blastoise_mega_1, sableye_mega_1, necrozma_1, kartana_1, heatran_1, ferrothorn_1, chansey_1, celesteela_1, venusaur_mega_1, tapu_fini_1, primarina_1, kommoo_1, genesect_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, magearna_1, porygonz_1, tapu_lele_1, slowbro_mega_1, zygarde_complete_1, mew_1, meloetta_1, altaria_mega_1, gardevoir_mega_1, clefable_1, porygonz_3, infernape_1, necrozma_2, type_null_1, meloetta_2]
  333. donphan_2.lmatchups = [togekiss_2, celesteela_2, gyarados_mega_5, venusaur_mega_2, dragonite_4, gallade_mega_1, carracosta_1, avalugg_1, swampert_mega_1, deoxys_s_2, crustle_1, magearna_1, gyarados_mega, gyarados_mega_3, gyarados_mega_2, gyarados_mega_4, kyurem_1, metagross_mega_1, dragonite_1, dragonite_2, charizard_mega_x, charizard_mega_x_2, charizard_mega_y, charizard_mega_y_2, manaphy_1, kommoo_1, medicham_mega_1, zygarde_complete_1, slowbro_mega_1, slowbro_mega_2, tapu_lele_1, gardevoir_mega_1, donphan_1, audino_mega_1, altaria_mega_2, altaria_mega_1, magnezone_1, meloetta_1, aron_1, mew_1, mew_2, heatran_1, chansey_1, celesteela_1, venusaur_mega_1, smeargle_1, latias_mega_1, blastoise_mega_1, victini_2, sableye_mega_1, pinser_mega_1, necrozma_1, krookodile_1, hoopau_1, heracross_mega_1, golem_1, sawk_1, cresselia_1, illumise_1, vivillon_1, umbreon_1, vigoroth_1, pheromosa_1, rotom_wash_1, zapdos_1, porygon2_1, salamence_1, araquanid_1, porygonz_3, infernape_1, necrozma_2, type_null_1, meloetta_2]
  334. #for all Audino-Mega sets
  335. audino_mega_1.lmatchups = [celesteela_2, scizor_mega_1, gyarados_mega_5, dragonite_3, gallade_mega_1, carracosta_1, zapdos_1, vigoroth_1, mienshao_1, terrakion_1, excadrill_1, whimsicott_1, salazzle_1, gyarados_mega_3, metagross_mega_1, metagross_mega_2, manaphy_1, kommoo_1, jumpluff_1, medicham_mega_1, tapu_lele_1, porygonz_2, gardevoir_mega_1, magnezone_1, meloetta_1, garchomp_1, tyranitar_mega_1, tapu_fini_1, primarina_1, archeops_1, zeraora_1, victini_1, pinser_mega_1, mawile_mega_1, kartana_1, krookodile_1, crustle_1, illumise_1, greninja_2, xurkitree_1, kartana_2, blacephalon_1, aron_1, smeargle_1, gyarados_mega_4, mew_2, raikou_1, weavile_1, charizard_mega_x_3, necrozma_2, meloetta_2, magnezone_2]
  336. #for all Altaria-Mega sets
  337. altaria_mega_1.lmatchups = [togekiss_2, togekiss_1, celesteela_2, greninja_4, venusaur_mega_2, swampert_mega_1, deoxys_s_2, aron_1, volcarona_2, araquanid_1, pyukumuku_1, porygon2_1, zapdos_1, magearna_2, salazzle_1, audino_mega_1, slowbro_mega_2, raikou_1, mew_2, smeargle_1, cresselia_1, blacephalon_1, xurkitree_1, heatran_2, victini_2, tapu_fini_2, greninja_3, manaphy_1, kyurem_1, diancie_mega_1, deoxys_s_1, blastoise_mega_1, necrozma_1, mawile_mega_1, heatran_1, chansey_1, venusaur_mega_1, primarina_1, naganadel_1, genesect_1, magearna_1, porygonz_1, tapu_lele_1, slowbro_mega_1, greninja_1, mew_1, meloetta_1, magnezone_1, aegislash_1, gardevoir_mega_1, volcarona_1, clefable_1, porygonz_2, vivillon_1, porygonz_3, necrozma_2, type_null_1, meloetta_2]
  338. altaria_mega_2.lmatchups = [togekiss_2, togekiss_1, celesteela_2, greninja_4, venusaur_mega_2, deoxys_s_2, volcarona_2, araquanid_1, pyukumuku_1, porygon2_1, zapdos_1, mew_1, magearna_2, salazzle_1, audino_mega_1, aegislash_1, raikou_1, mew_2, greninja_3, kyurem_1, naganadel_1, magearna_1, manaphy_1, greninja_1, slowbro_mega_1, tapu_lele_1, porygonz_1, porygonz_2, gardevoir_mega_1, altaria_mega_1, meloetta_1, heatran_1, chansey_1, celesteela_1, venusaur_mega_1, tapu_fini_1, primarina_1, blastoise_mega_1, necrozma_1, mawile_mega_1, diancie_mega_1, deoxys_s_1, clefable_1, tapu_fini_2, victini_2, xurkitree_1, blacephalon_1, cresselia_1, aron_1, smeargle_1, slowbro_mega_2, porygonz_3, necrozma_2, type_null_1, meloetta_2]
  339. #for all Aegislash sets
  340. aegislash_1.lmatchups = [gyarados_mega_5, greninja_4, volcarona_2, swampert_mega_1, donphan_2, hoopau_2, porygon2_1, vigoroth_1, umbreon_1, excadrill_1, audino_mega_1, smeargle_1, blacephalon_1, heatran_2, tapu_fini_2, greninja_3, greninja_2, dragonite_2, manaphy_1, krookodile_1, incineroar_1, hoopau_1, porygonz_1, golem_1, sableye_mega_1, heatran_1, garchomp_1, chansey_1, tyranitar_mega_1, meloetta_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, charizard_mega_y, charizard_mega_y_2, dragonite_1, zygarde_complete_1, greninja_1, jumpluff_1, landorus_therian_1, donphan_1, volcarona_1, porygonz_2, stunfisk_1, vivillon_1, weavile_1, porygonz_3, type_null_1]
  341. #for all Magnezone sets
  342. magnezone_1.lmatchups = [zeraora_1, landorus_therian_2, dragonite_4, dragonite_3, carracosta_1, swampert_mega_1, volcarona_2, haxorus_2, pheromosa_2, rampardos_2, umbreon_1, garchomp_2, mienshao_1, excadrill_1, whimsicott_1, salazzle_1, raikou_1, shedinja_1, riolu_1, smeargle_1, xurkitree_1, sawk_1, medicham_mega_1, krookodile_1, incineroar_1, haxorus_1, golem_1, victini_1, garchomp_1, tyranitar_mega_1, naganadel_1, kommoo_1, aegislash_1, gyarados_mega_2, gyarados_mega_3, charizard_mega_x, charizard_mega_x_2, dragonite_1, metagross_mega_1, metagross_mega_2, zygarde_complete_1, jumpluff_1, lopunny_mega_1, donphan_1, stunfisk_1, vivillon_1, weavile_1, charizard_mega_x_3, infernape_1, zeraora_2]
  343. magnezone_2.lmatchups = [gyarados_mega, gyarados_mega_2, gyarados_mega_3, kyurem_1, naganadel_1, metagross_mega_1, metagross_mega_2, dragonite_1, dragonite_2, dragonite_4, charizard_mega_x, charizard_mega_x_2, charizard_mega_x_3, kommoo_1, landorus_therian_1, landorus_therian_2, jumpluff_1, zygarde_complete_1, donphan_1, donphan_2, altaria_mega_2, aegislash_1, garchomp_1, garchomp_2, smeargle_1, tyranitar_mega_1, zeraora_1, zeraora_2, volcarona_2, riolu_1, victini_1, raikou_1, krookodile_1, haxorus_1, haxorus_2, golem_1, sawk_1, xurkitree_1, stunfisk_1, vivillon_1, shedinja_1, whimsicott_1, excadrill_1, umbreon_1, rampardos_2, swampert_mega_1]
  344. #for all Meloetta sets
  345. meloetta_1.lmatchups = [gyarados_mega_5, dragonite_3, carracosta_1, swampert_mega_1, volcarona_2, hoopau_2, pyukumuku_1, terrakion_1, excadrill_1, mew_2, shedinja_1, riolu_1, genesect_2, aron_1, smeargle_1, greninja_3, greninja_2, sawk_1, medicham_mega_1, incineroar_1, hoopau_1, heracross_mega_1, golem_1, durant_1, diancie_mega_1, crustle_1, archeops_1, zeraora_1, victini_1, sableye_mega_1, mawile_mega_1, ferrothorn_1, celesteela_1, aggron_mega_1, tyranitar_mega_1, genesect_1, gyarados_mega, gyarados_mega_2, charizard_mega_x_2, charizard_mega_y, dragonite_1, magearna_1, metagross_mega_1, metagross_mega_2, magnezone_1, volcarona_1, vivillon_1, weavile_1, zeraora_2, type_null_1, meloetta_2, magnezone_2]
  346. meloetta_2.lmatchups = [gyarados_mega_5, metagross_mega_1, metagross_mega_2, magearna_1, magearna_2, dragonite_1, dragonite_3, genesect_1, genesect_2, medicham_mega_1, slowbro_mega_1, slowbro_mega_2, porygonz_1, porygonz_3, aegislash_1, magnezone_1, aron_1, heatran_1, heatran_2, ferrothorn_1, chansey_1, celesteela_1, celesteela_2, aggron_mega_1, tyranitar_mega_1, archeops_1, zeraora_1, zeraora_2, volcarona_1, volcarona_2, sableye_mega_1, blacephalon_1, mawile_mega_1, incineroar_1, hoopau_1, hoopau_2, heracross_mega_1, durant_1, diancie_mega_1, sawk_1, crustle_1, shedinja_1, excadrill_1, terrakion_1, umbreon_1, porygon2_1, carracosta_1, scizor_mega_1, weavile_1, weavile_2, type_null_1]
  347. #for all Aron sets
  348. aron_1.lmatchups = [togekiss_1, celesteela_2, scizor_mega_1, gyarados_mega_5, dragonite_3, gallade_mega_1, swampert_mega_1, haxorus_2, rotom_wash_1, pheromosa_2, rampardos_2, vigoroth_1, garchomp_2, mienshao_1, magearna_2, terrakion_1, excadrill_1, whimsicott_1, gyarados_mega_4, salazzle_1, latias_mega_1, mew_2, riolu_1, blacephalon_1, porygonz_1, kommoo_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, magearna_1, charizard_mega_x_2, jumpluff_1, medicham_mega_1, zygarde_complete_1, gardevoir_mega_1, aegislash_1, magnezone_1, mew_1, lopunny_mega_1, garchomp_1, ferrothorn_1, celesteela_1, venusaur_mega_1, tapu_fini_1, primarina_1, blastoise_mega_1, necrozma_1, mawile_mega_1, kartana_1, krookodile_1, incineroar_1, heracross_mega_1, haxorus_1, golem_1, crustle_1, illumise_1, greninja_2, victini_2, weavile_1, weavile_2, porygonz_3, infernape_1, zeraora_2, magnezone_2]
  349. #for all Mew sets
  350. mew_1.lmatchups = [togekiss_1, gyarados_mega_5, greninja_4, dragonite_3, swampert_mega_1, volcarona_2, salamence_1, hoopau_2, pyukumuku_1, pheromosa_3, umbreon_1, garchomp_2, whimsicott_1, gyarados_mega_4, latias_mega_1, audino_mega_1, mew_2, smeargle_1, cresselia_1, blacephalon_1, heatran_2, victini_2, greninja_3, greninja_2, manaphy_1, krookodile_1, incineroar_1, hoopau_1, durant_1, crustle_1, zeraora_1, victini_1, sableye_mega_1, necrozma_1, heatran_1, garchomp_1, tyranitar_mega_1, gardevoir_mega_1, aegislash_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, charizard_mega_x_2, charizard_mega_y, charizard_mega_y_2, dragonite_1, porygonz_1, greninja_1, tapu_lele_1, slowbro_mega_1, meloetta_1, volcarona_1, clefable_1, vivillon_1, slowbro_mega_2, weavile_1, porygonz_3, infernape_1, zeraora_2, necrozma_2, meloetta_2, magnezone_2]
  351. mew_2.lmatchups = [gyarados_mega_5, greninja_4, tyranitar_mega_1, dragonite_3, volcarona_2, hoopau_2, araquanid_1, pheromosa_3, vigoroth_1, mienshao_1, terrakion_1, whimsicott_1, darmanitan_1, salazzle_1, raikou_1, naganadel_1, charizard_mega_y_2, charizard_mega_x, kommoo_1, jumpluff_1, greninja_1, porygonz_1, aegislash_1, magnezone_1, garchomp_1, zeraora_1, archeops_1, victini_1, sableye_mega_1, pinser_mega_1, kartana_1, krookodile_1, incineroar_1, hoopau_1, heracross_mega_1, durant_1, blaziken_mega_1, illumise_1, greninja_2, blacephalon_1, genesect_2, weavile_1, weavile_2, porygonz_3, charizard_mega_x_3, type_null_1, meloetta_2]
  352. #for all Lopunny-Mega sets
  353. lopunny_mega_1.lmatchups = [togekiss_2, celesteela_2, scizor_mega_1, landorus_therian_2, kommoo_1, venusaur_mega_2, gallade_mega_1, swampert_mega_1, deoxys_s_2, donphan_2, salamence_1, zapdos_1, pheromosa_3, pheromosa_2, magearna_2, whimsicott_1, darmanitan_1, gyarados_mega_4, latias_mega_1, audino_mega_1, slowbro_mega_2, mew_2, shedinja_1, altaria_mega_2, cresselia_1, victini_2, tapu_fini_2, illumise_1, sawk_1, manaphy_1, krookodile_1, heracross_mega_1, deoxys_s_1, crustle_1, blaziken_mega_1, blastoise_mega_1, zeraora_1, victini_1, charizard_mega_x_2, necrozma_1, mawile_mega_1, celesteela_1, aggron_mega_1, venusaur_mega_1, primarina_1, gyarados_mega, gyarados_mega_2, magearna_1, slowbro_mega_1, zygarde_complete_1, landorus_therian_1, metagross_mega_1, metagross_mega_2, tapu_lele_1, mew_1, meloetta_1, altaria_mega_1, donphan_1, clefable_1, porygonz_2, stunfisk_1, necrozma_2, meloetta_2, magnezone_2]
  354. #for all Heatran sets
  355. heatran_1.lmatchups = [gyarados_mega_5, greninja_4, venusaur_mega_2, dragonite_4, dragonite_3, gallade_mega_1, carracosta_1, swampert_mega_1, deoxys_s_2, hoopau_2, haxorus_2, araquanid_1, pyukumuku_1, porygon2_1, zapdos_1, rotom_wash_1, pheromosa_3, pheromosa_2, pheromosa_1, umbreon_1, mienshao_1, terrakion_1, gyarados_mega_4, latias_mega_1, audino_mega_1, slowbro_mega_2, raikou_1, mew_2, aron_1, smeargle_1, cresselia_1, kartana_2, blacephalon_1, xurkitree_1, tapu_fini_2, greninja_3, greninja_2, sawk_1, medicham_mega_1, manaphy_1, kyurem_1, krookodile_1, hoopau_1, magnezone_1, durant_1, crustle_1, blaziken_mega_1, blastoise_mega_1, archeops_1, zeraora_1, sableye_mega_1, garchomp_1, chansey_1, tyranitar_mega_1, primarina_1, tapu_fini_1, kommoo_1, meloetta_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, dragonite_1, porygonz_1, slowbro_mega_1, zygarde_complete_1, greninja_1, jumpluff_1, landorus_therian_1, lopunny_mega_1, stunfisk_1, vivillon_1, weavile_2, porygonz_3, infernape_1, zeraora_2, necrozma_2, type_null_1]
  356. heatran_2.lmatchups = [landorus_therian_2, gyarados_mega_5, greninja_4, venusaur_mega_2, dragonite_4, dragonite_3, gallade_mega_1, carracosta_1, avalugg_1, deoxys_s_2, donphan_2, salamence_1, hoopau_2, haxorus_2, araquanid_1, porygon2_1, zapdos_1, pheromosa_3, pheromosa_2, pheromosa_1, rampardos_2, umbreon_1, garchomp_2, mienshao_1, terrakion_1, excadrill_1, darmanitan_1, gyarados_mega_4, latias_mega_1, audino_mega_1, raikou_1, mew_2, riolu_1, altaria_mega_2, aron_1, smeargle_1, cresselia_1, kartana_2, blacephalon_1, xurkitree_1, gyarados_mega, gyarados_mega_2, gyarados_mega_2, gyarados_mega_3, metagross_mega_2, metagross_mega_1, dragonite_1, manaphy_1, kommoo_1, landorus_therian_1, jumpluff_1, greninja_3, greninja_2, greninja_1, medicham_mega_1, zygarde_complete_1, tapu_lele_1, donphan_1, magnezone_1, lopunny_mega_1, heatran_1, garchomp_1, chansey_1, aggron_mega_1, venusaur_mega_1, tyranitar_mega_1, archeops_1, zeraora_1, sableye_mega_1, pinser_mega_1, haxorus_1, golem_1, durant_1, diancie_mega_1, sawk_1, crustle_1, blaziken_mega_1, clefable_1, vivillon_1, gyarados_mega_4, weavile_2, porygonz_3, infernape_1, zeraora_2, necrozma_2, type_null_1]
  357. #for all Garchomp sets
  358. garchomp_1.lmatchups = [togekiss_2, celesteela_2, landorus_therian_2, gyarados_mega_5, greninja_4, krookodile_1, dragonite_4, dragonite_3, gallade_mega_1, avalugg_1, donphan_2, salamence_1, pyukumuku_1, porygon2_1, rotom_wash_1, pheromosa_3, pheromosa_2, pheromosa_1, rampardos_1, garchomp_2, whimsicott_1, gyarados_mega_4, latias_mega_1, slowbro_mega_2, altaria_mega_2, genesect_2, cresselia_1, greninja_3, greninja_2, dragonite_2, illumise_1, sawk_1, kyurem_1, genesect_1, heracross_mega_1, haxorus_1, diancie_mega_1, deoxys_s_1, blastoise_mega_1, sableye_mega_1, kartana_1, celesteela_1, naganadel_1, primarina_1, kommoo_1, donphan_1, altaria_mega_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, dragonite_1, slowbro_mega_1, zygarde_complete_1, greninja_1, jumpluff_1, landorus_therian_1, lopunny_mega_1, clefable_1, porygonz_2, weavile_1, weavile_2, type_null_1, meloetta_2]
  359. garchomp_2.lmatchups = [togekiss_2, togekiss_1, celesteela_2, scizor_mega_1, landorus_therian_2, gyarados_mega_5, venusaur_mega_2, dragonite_4, dragonite_3, avalugg_1, swampert_mega_1, deoxys_s_2, donphan_2, salamence_1, araquanid_1, pyukumuku_1, porygon2_1, pheromosa_1, vigoroth_1, umbreon_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, gyarados_mega_4, kyurem_1, magearna_1, magearna_2, dragonite_2, genesect_1, genesect_2, landorus_therian_1, medicham_mega_1, zygarde_complete_1, slowbro_mega_2, slowbro_mega_1, tapu_lele_1, porygonz_1, porygonz_2, gardevoir_mega_1, donphan_1, audino_mega_1, altaria_mega_2, altaria_mega_1, aegislash_1, meloetta_1, mew_2, lopunny_mega_1, heatran_1, ferrothorn_1, chansey_1, celesteela_1, aggron_mega_1, venusaur_mega_1, tapu_fini_1, tapu_fini_2, primarina_1, blastoise_mega_1, sableye_mega_1, necrozma_1, kartana_1, krookodile_1, hoopau_1, cresselia_1, clefable_1, illumise_1, porygonz_3, necrozma_2, type_null_1, meloetta_2]
  360. #for all Ferrothorn sets
  361. ferrothorn_1.lmatchups = [mew_2, celesteela_2, scizor_mega_1, landorus_therian_2, greninja_4, venusaur_mega_2, dragonite_4, gallade_mega_1, donphan_2, volcarona_2, salamence_1, hoopau_2, zapdos_1, pheromosa_3, pheromosa_2, pheromosa_1, rampardos_1, mienshao_1, magearna_2, darmanitan_1, salazzle_1, latias_mega_1, audino_mega_1, raikou_1, altaria_mega_2, genesect_2, smeargle_1, kartana_2, blacephalon_1, xurkitree_1, heatran_2, victini_2, dragonite_2, medicham_mega_1, kyurem_1, incineroar_1, hoopau_1, heracross_mega_1, durant_1, blaziken_mega_1, victini_1, sableye_mega_1, genesect_1, pinser_mega_1, necrozma_1, kartana_1, heatran_1, garchomp_1, celesteela_1, kommoo_1, naganadel_1, aegislash_1, altaria_mega_1, magnezone_1, charizard_mega_x, charizard_mega_x_2, charizard_mega_y, charizard_mega_y_2, magearna_1, slowbro_mega_1, zygarde_complete_1, landorus_therian_1, mew_1, volcarona_1, vivillon_1, porygonz_3, charizard_mega_x_3, infernape_1, necrozma_2, type_null_1, magnezone_2]
  362. #for all Chansey sets
  363. chansey_1.lmatchups = [celesteela_2, scizor_mega_1, venusaur_mega_2, dragonite_3, gallade_mega_1, carracosta_1, haxorus_2, araquanid_1, pyukumuku_1, zapdos_1, pheromosa_2, vigoroth_1, mienshao_1, terrakion_1, excadrill_1, whimsicott_1, gyarados_mega_4, audino_mega_1, raikou_1, mew_2, aron_1, smeargle_1, kartana_2, xurkitree_1, sawk_1, medicham_mega_1, manaphy_1, krookodile_1, heracross_mega_1, durant_1, blaziken_mega_1, zeraora_1, meloetta_1, sableye_mega_1, pinser_mega_1, mawile_mega_1, kartana_1, garchomp_1, ferrothorn_1, magearna_1, tapu_lele_1, zygarde_complete_1, jumpluff_1, lopunny_mega_1, magnezone_1, kommoo_1, tapu_fini_1, tyranitar_mega_1, vivillon_1, weavile_1, charizard_mega_x_3, necrozma_2, type_null_1, magnezone_2]
  364. #for all Celesteela sets
  365. celesteela_1.lmatchups = [celesteela_2, greninja_4, venusaur_mega_2, carracosta_1, volcarona_2, salamence_1, hoopau_2, pyukumuku_1, zapdos_1, rotom_wash_1, vigoroth_1, magearna_2, whimsicott_1, darmanitan_1, gyarados_mega_4, salazzle_1, audino_mega_1, slowbro_mega_2, raikou_1, mew_2, smeargle_1, cresselia_1, blacephalon_1, xurkitree_1, heatran_2, victini_2, greninja_2, manaphy_1, incineroar_1, hoopau_1, deoxys_s_1, blaziken_mega_1, blastoise_mega_1, zeraora_1, victini_1, sableye_mega_1, necrozma_1, heatran_1, tapu_fini_1, primarina_1, naganadel_1, kommoo_1, genesect_1, altaria_mega_1, magnezone_1, mew_1, charizard_mega_x, charizard_mega_x_2, charizard_mega_y, charizard_mega_y_2, magearna_1, porygonz_1, slowbro_mega_1, zygarde_complete_1, greninja_1, jumpluff_1, landorus_therian_1, volcarona_1, stunfisk_1, vivillon_1, porygonz_3, charizard_mega_x_3, infernape_1, necrozma_2, type_null_1, magnezone_2]
  366. celesteela_2.lmatchups = [umbreon_1, naganadel_1, dragonite_2, charizard_mega_y, charizard_mega_y_2, charizard_mega_x, charizard_mega_x_2, manaphy_1, kommoo_1, genesect_1, landorus_therian_1, jumpluff_1, greninja_2, medicham_mega_1, zygarde_complete_1, magnezone_1, meloetta_1, mew_1, mew_2, heatran_1, heatran_2, smeargle_1, tapu_fini_1, tapu_fini_2, blastoise_mega_1, zeraora_1, volcarona_1, victini_1, victini_2, sableye_mega_1, necrozma_1, blacephalon_1, raikou_1, incineroar_1, hoopau_1, heracross_mega_1, deoxys_s_1, crustle_1, xurkitree_1, blaziken_mega_1, stunfisk_1, vivillon_1, salazzle_1, darmanitan_1, whimsicott_1, magearna_2, rotom_wash_1, zapdos_1, hoopau_2, volcarona_2, araquanid_1, carracosta_1, dragonite_4, greninja_4, charizard_mega_x_3, infernape_1, zeraora_2, magnezone_2]
  367. #for all Aggron-Mega sets
  368. aggron_mega_1.lmatchups = [togekiss_2, celesteela_2, scizor_mega_1, gyarados_mega_5, venusaur_mega_2, dragonite_4, gallade_mega_1, carracosta_1, swampert_mega_1, deoxys_s_2, donphan_2, salamence_1, pyukumuku_1, zapdos_1, rotom_wash_1, pheromosa_1, vigoroth_1, umbreon_1, whimsicott_1, gyarados_mega_4, salazzle_1, latias_mega_1, audino_mega_1, slowbro_mega_2, mew_2, altaria_mega_2, aron_1, smeargle_1, cresselia_1, xurkitree_1, victini_2, tapu_fini_2, greninja_3, illumise_1, medicham_mega_1, kyurem_1, krookodile_1, incineroar_1, hoopau_1, blastoise_mega_1, sableye_mega_1, heatran_1, garchomp_1, ferrothorn_1, chansey_1, celesteela_1, venusaur_mega_1, primarina_1, kommoo_1, donphan_1, altaria_mega_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, magearna_1, porygonz_1, slowbro_mega_1, zygarde_complete_1, jumpluff_1, landorus_therian_1, mew_1, magnezone_1, donphan_1, vivillon_1, porygonz_3, infernape_1, necrozma_2, type_null_1, magnezone_2]
  369. #for all Venusaur-Mega sets
  370. venusaur_mega_1.lmatchups = [celesteela_2, scizor_mega_1, venusaur_mega_2, dragonite_4, dragonite_3, deoxys_s_2, volcarona_2, hoopau_2, magearna_2, audino_mega_1, mew_2, shedinja_1, genesect_2, cresselia_1, kartana_2, blacephalon_1, xurkitree_1, victini_2, dragonite_2, medicham_mega_1, kyurem_1, hoopau_1, durant_1, deoxys_s_1, archeops_1, victini_1, sableye_mega_1, pinser_mega_1, necrozma_1, mawile_mega_1, kartana_1, heatran_1, garchomp_1, chansey_1, celesteela_1, kommoo_1, genesect_1, charizard_mega_y, charizard_mega_y_2, dragonite_1, magearna_1, metagross_mega_1, metagross_mega_2, porygonz_1, tapu_lele_1, zygarde_complete_1, mew_1, meloetta_1, aegislash_1, gardevoir_mega_1, volcarona_1, magnezone_1, vivillon_1, porygonz_3, infernape_1, necrozma_2, type_null_1, meloetta_2, magnezone_2]
  371. venusaur_mega_2.lmatchups = [celesteela_2, aron_1, krookodile_1, kartana_1, kyurem_1, metagross_mega_2, magearna_1, dragonite_2, charizard_mega_y, charizard_mega_y_2, manaphy_1, kommoo_1, medicham_mega_1, zygarde_complete_1, slowbro_mega_2, tapu_lele_1, porygonz_1, gardevoir_mega_1, audino_mega_1, aegislash_1, magnezone_1, meloetta_1, mew_1, mew_2, garchomp_1, smeargle_1, tyranitar_mega_1, latias_mega_1, archeops_1, volcarona_1, victini_2, sableye_mega_1, pinser_mega_1, necrozma_1, blacephalon_1, raikou_1, hoopau_1, deoxys_s_1, cresselia_1, vivillon_1, salazzle_1, excadrill_1, terrakion_1, zapdos_1, hoopau_2, volcarona_2, pyukumuku_1, deoxys_s_2, porygonz_3, infernape_1, necrozma_2, type_null_1, meloetta_2, magnezone_2]
  372. #for all Smeargle sets
  373. smeargle_1.lmatchups = [landorus_therian_2, greninja_4, gallade_mega_1, deoxys_s_2, salamence_1, haxorus_2, pheromosa_3, pheromosa_2, pheromosa_1, rampardos_2, rampardos_1, garchomp_2, mienshao_1, terrakion_1, excadrill_1, whimsicott_1, darmanitan_1, salazzle_1, latias_mega_1, raikou_1, mew_2, riolu_1, naganadel_1, metagross_mega_1, metagross_mega_2, charizard_mega_x, charizard_mega_y, charizard_mega_y_2, manaphy_1, jumpluff_1, greninja_1, greninja_2, greninja_3, medicham_mega_1, porygonz_1, porygonz_2, gardevoir_mega_1, lopunny_mega_1, garchomp_1, tapu_fini_1, archeops_1, zeraora_1, volcarona_1, sableye_mega_1, pinser_mega_1, kartana_1, kartana_2, haxorus_1, durant_1, diancie_mega_1, deoxys_s_1, sawk_1, blaziken_mega_1, blacephalon_1, genesect_2, weavile_1, weavile_2, porygonz_3, charizard_mega_x_3, infernape_1, zeraora_2, meloetta_2]
  374. #for all Tyranitar-Mega sets
  375. tyranitar_mega_1.lmatchups = [togekiss_2, celesteela_2, scizor_mega_1, landorus_therian_2, gyarados_mega_5, gallade_mega_1, swampert_mega_1, donphan_2, haxorus_2, rotom_wash_1, pheromosa_3, pheromosa_2, pheromosa_1, rampardos_2, rampardos_1, vigoroth_1, garchomp_2, mienshao_1, terrakion_1, excadrill_1, darmanitan_1, gyarados_mega_4, latias_mega_1, slowbro_mega_2, altaria_mega_2, genesect_2, aron_1, smeargle_1, kartana_2, greninja_3, greninja_2, sawk_1, medicham_mega_1, manaphy_1, krookodile_1, heracross_mega_1, durant_1, blaziken_mega_1, blastoise_mega_1, sableye_mega_1, mawile_mega_1, kartana_1, garchomp_1, ferrothorn_1, celesteela_1, aggron_mega_1, primarina_1, tapu_fini_1, kommoo_1, genesect_1, gardevoir_mega_1, donphan_1, altaria_mega_1, lopunny_mega_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, magearna_1, metagross_mega_1, metagross_mega_2, tapu_lele_1, slowbro_mega_1, zygarde_complete_1, landorus_therian_1, volcarona_1, clefable_1, stunfisk_1, weavile_2, infernape_1, type_null_1]
  376. #for all Latias-Mega sets
  377. latias_mega_1.lmatchups = [togekiss_2, togekiss_1, celesteela_2, scizor_mega_1, dragonite_4, dragonite_3, deoxys_s_2, volcarona_2, hoopau_2, araquanid_1, pyukumuku_1, porygon2_1, pheromosa_3, umbreon_1, magearna_2, terrakion_1, excadrill_1, whimsicott_1, gyarados_mega_4, altaria_mega_2, mew_2, raikou_1, shedinja_1, slowbro_mega_2, blacephalon_1, cresselia_1, tapu_fini_2, clefable_1, dragonite_2, illumise_1, haxorus_1, durant_1, diancie_mega_1, hoopau_1, volcarona_1, sableye_mega_1, pinser_mega_1, necrozma_1, mawile_mega_1, archeops_1, venusaur_mega_1, tapu_fini_1, primarina_1, gyarados_mega_3, chansey_1, celesteela_1, naganadel_1, altaria_mega_1, aegislash_1, magnezone_1, meloetta_1, gardevoir_mega_1, metagross_mega_1, metagross_mega_2, magearna_1, jumpluff_1, slowbro_mega_1, tapu_lele_1, porygonz_1, audino_mega_1, weavile_1, weavile_2, porygonz_3, zeraora_2, necrozma_2, type_null_1, meloetta_2, magnezone_2]
  378. #for all Tapu Fini sets
  379. tapu_fini_1.lmatchups = [venusaur_mega_2, deoxys_s_2, donphan_2, hoopau_2, araquanid_1, zapdos_1, rotom_wash_1, terrakion_1, excadrill_1, salazzle_1, slowbro_mega_2, raikou_1, mew_2, shedinja_1, genesect_2, kartana_2, blacephalon_1, xurkitree_1, heatran_2, kyurem_1, deoxys_s_1, zeraora_1, victini_1, pinser_mega_1, kartana_1, garchomp_1, ferrothorn_1, venusaur_mega_1, charizard_mega_y, charizard_mega_y_2, metagross_mega_1, porygonz_1, tapu_lele_1, slowbro_mega_1, mew_1, magnezone_1, altaria_mega_1, gardevoir_mega_1, genesect_1, naganadel_1, porygonz_2, porygonz_3, charizard_mega_x_3, zeraora_2, meloetta_2, magnezone_2]
  380. tapu_fini_2.lmatchups = [venusaur_mega_2, donphan_2, hoopau_2, araquanid_1, pyukumuku_1, zapdos_1, rotom_wash_1, whimsicott_1, salazzle_1, audino_mega_1, slowbro_mega_2, raikou_1, mew_2, shedinja_1, riolu_1, genesect_2, aron_1, kartana_2, xurkitree_1, heatran_2, naganadel_1, metagross_mega_1, metagross_mega_2, magearna_1, dragonite_1, genesect_1, jumpluff_1, slowbro_mega_1, tapu_lele_1, porygonz_1, porygonz_2, gardevoir_mega_1, magnezone_1, meloetta_1, mew_1, garchomp_1, ferrothorn_1, chansey_1, celesteela_1, venusaur_mega_1, tapu_fini_1, zeraora_1, pinser_mega_1, necrozma_1, kartana_1, hoopau_1, heracross_mega_1, crustle_1, clefable_1, porygonz_3, zeraora_2, necrozma_2, type_null_1, meloetta_2, magnezone_2]
  381. #for all Primarina sets
  382. primarina_1.lmatchups = [togekiss_2, togekiss_1, celesteela_2, venusaur_mega_2, swampert_mega_1, deoxys_s_2, donphan_2, hoopau_2, pyukumuku_1, porygon2_1, zapdos_1, rotom_wash_1, magearna_2, whimsicott_1, salazzle_1, raikou_1, mew_2, shedinja_1, smeargle_1, cresselia_1, kartana_2, xurkitree_1, heatran_2, tapu_fini_2, manaphy_1, kyurem_1, hoopau_1, heracross_mega_1, zeraora_1, necrozma_1, kartana_1, ferrothorn_1, chansey_1, venusaur_mega_1, tapu_fini_1, dragonite_1, magearna_1, metagross_mega_1, metagross_mega_2, porygonz_1, tapu_lele_1, greninja_1, jumpluff_1, mew_1, meloetta_1, gardevoir_mega_1, genesect_1, naganadel_1, clefable_1, magnezone_1, porygonz_3, zeraora_2, necrozma_2, type_null_1, meloetta_2, magnezone_2]
  383. #for all Blastoise-Mega sets
  384. blastoise_mega_1.lmatchups = [togekiss_2, togekiss_1, gyarados_mega_5, venusaur_mega_2, gallade_mega_1, swampert_mega_1, deoxys_s_2, volcarona_2, hoopau_2, araquanid_1, pyukumuku_1, porygon2_1, zapdos_1, rotom_wash_1, umbreon_1, magearna_2, whimsicott_1, gyarados_mega_4, latias_mega_1, audino_mega_1, raikou_1, mew_2, smeargle_1, kartana_2, xurkitree_1, heatran_2, tapu_fini_2, medicham_mega_1, manaphy_1, kyurem_1, hoopau_1, heracross_mega_1, archeops_1, volcarona_1, zeraora_1, sableye_mega_1, necrozma_1, kartana_1, chansey_1, ferrothorn_1, venusaur_mega_1, primarina_1, tapu_fini_1, kommoo_1, gardevoir_mega_1, aegislash_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, charizard_mega_x_2, magearna_1, metagross_mega_1, porygonz_1, tapu_lele_1, greninja_1, mew_1, meloetta_1, magnezone_1, clefable_1, vivillon_1, porygonz_3, zeraora_2, necrozma_2, type_null_1, meloetta_2, magnezone_2]
  385. #for all Archeops sets
  386. archeops_1.lmatchups = [celesteela_2, scizor_mega_1, landorus_therian_2, gyarados_mega_5, greninja_4, carracosta_1, avalugg_1, swampert_mega_1, deoxys_s_2, donphan_2, porygon2_1, pheromosa_3, pheromosa_2, pheromosa_1, rampardos_2, rampardos_1, vigoroth_1, umbreon_1, garchomp_2, magearna_2, darmanitan_1, gyarados_mega_4, slowbro_mega_2, raikou_1, altaria_mega_2, genesect_2, aron_1, cresselia_1, kartana_2, tapu_fini_2, greninja_3, greninja_2, illumise_1, sawk_1, krookodile_1, haxorus_1, golem_1, crustle_1, deoxys_s_1, blaziken_mega_1, zeraora_1, kartana_1, mawile_mega_1, ferrothorn_1, garchomp_1, aggron_mega_1, celesteela_1, chansey_1, naganadel_1, tapu_fini_1, tyranitar_mega_1, magnezone_1, aegislash_1, donphan_1, landorus_therian_1, lopunny_mega_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, magearna_1, metagross_mega_1, metagross_mega_2, slowbro_mega_1, zygarde_complete_1, greninja_1, porygonz_2, stunfisk_1, weavile_1, weavile_2, zeraora_2, type_null_1, magnezone_2]
  387. #for all Zeraora sets
  388. zeraora_1.lmatchups = [landorus_therian_2, gardevoir_mega_1, venusaur_mega_2, dragonite_4, dragonite_3, carracosta_1, avalugg_1, swampert_mega_1, deoxys_s_2, donphan_2, salamence_1, haxorus_2, pheromosa_3, pheromosa_2, garchomp_2, excadrill_1, whimsicott_1, latias_mega_1, shedinja_1, altaria_mega_2, aron_1, kartana_2, victini_2, dragonite_2, illumise_1, kyurem_1, krookodile_1, incineroar_1, haxorus_1, golem_1, deoxys_s_1, mawile_mega_1, necrozma_1, kartana_1, ferrothorn_1, garchomp_1, aggron_mega_1, tyranitar_mega_1, venusaur_mega_1, kommoo_1, charizard_mega_x, charizard_mega_x_2, dragonite_1, donphan_1, metagross_mega_1, metagross_mega_2, tapu_lele_1, zygarde_complete_1, landorus_therian_1, aegislash_1, altaria_mega_1, clefable_1, stunfisk_1, charizard_mega_x_3, zeraora_2]
  389. zeraora_2.lmatchups = [kyurem_1, magearna_1, dragonite_1, dragonite_3, charizard_mega_x, charizard_mega_x_2, charizard_mega_x_3, landorus_therian_1, landorus_therian_2, zygarde_complete_1, porygonz_2, gardevoir_mega_1, donphan_1, donphan_2, audino_mega_1, altaria_mega_1, altaria_mega_2, aegislash_1, mew_2, lopunny_mega_1, garchomp_1, garchomp_2, ferrothorn_1, chansey_1, aggron_mega_1, venusaur_mega_1, venusaur_mega_2, tyranitar_mega_1, victini_1, sableye_mega_1, mawile_mega_1, kartana_1, kartana_2, krookodile_1, incineroar_1, golem_1, deoxys_s_1, deoxys_s_2, clefable_1, stunfisk_1, illumise_1, shedinja_1, whimsicott_1, excadrill_1, umbreon_1, vigoroth_1, pheromosa_2, pheromosa_3, salamence_1, swampert_mega_1, avalugg_1, gallade_mega_1, scizor_mega_1, necrozma_2, type_null_1]
  390. #for all Volcarona sets
  391. volcarona_1.lmatchups = [togekiss_1, landorus_therian_2, gyarados_mega_5, greninja_4, dragonite_4, dragonite_3, gallade_mega_1, carracosta_1, donphan_2, volcarona_2, salamence_1, araquanid_1, pyukumuku_1, pheromosa_3, pheromosa_2, rampardos_2, rampardos_1, garchomp_2, mienshao_1, terrakion_1, darmanitan_1, gyarados_mega_4, salazzle_1, audino_mega_1, riolu_1, altaria_mega_2, aron_1, kartana_2, blacephalon_1, heatran_2, victini_2, tapu_fini_2, greninja_3, greninja_2, dragonite_2, sawk_1, medicham_mega_1, kyurem_1, haxorus_1, golem_1, durant_1, diancie_mega_1, crustle_1, blaziken_mega_1, archeops_1, zeraora_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, charizard_mega_x, charizard_mega_x_2, charizard_mega_y, charizard_mega_y_2, dragonite_1, zygarde_complete_1, greninja_1, landorus_therian_1, lopunny_mega_1, donphan_1, kommoo_1, naganadel_1, primarina_1, tapu_fini_1, aggron_mega_1, chansey_1, garchomp_1, heatran_1, pinser_mega_1, clefable_1, porygonz_2, weavile_1, charizard_mega_x_3, zeraora_2]
  392. volcarona_2.lmatchups = [landorus_therian_2, gyarados_mega_5, greninja_4, greninja_3, araquanid_1, tyranitar_mega_1, aron_1, gardevoir_mega_1, tapu_lele_1, dragonite_3, gallade_mega_1, carracosta_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, gyarados_mega_4, kyurem_1, dragonite_1, dragonite_2, charizard_mega_x, charizard_mega_x_2, manaphy_1, landorus_therian_1, greninja_1, medicham_mega_1, donphan_1, audino_mega_1, lopunny_mega_1, heatran_1, heatran_2, garchomp_1, aggron_mega_1, smeargle_1, tapu_fini_1, primarina_1, archeops_1, zeraora_1, victini_1, pinser_mega_1, blacephalon_1, mawile_mega_1, raikou_1, kartana_2, incineroar_1, heracross_mega_1, haxorus_1, golem_1, durant_1, diancie_mega_1, sawk_1, crustle_1, blaziken_mega_1, clefable_1, vivillon_1, darmanitan_1, excadrill_1, terrakion_1, mienshao_1, garchomp_2, rampardos_1, rampardos_2, pheromosa_2, pheromosa_3, zapdos_1, haxorus_2, salamence_1, pyukumuku_1, weavile_1, charizard_mega_x_3, zeraora_2, necrozma_2, type_null_1]
  393. #for all Riolu sets
  394. riolu_1.lmatchups = [togekiss_2, togekiss_1, celesteela_2, scizor_mega_1, landorus_therian_2, gyarados_mega_5, venusaur_mega_2, dragonite_4, dragonite_3, carracosta_1, avalugg_1, swampert_mega_1, deoxys_s_2, donphan_2, volcarona_2, salamence_1, haxorus_2, araquanid_1, pyukumuku_1, zapdos_1, rotom_wash_1, vigoroth_1, garchomp_2, mienshao_1, terrakion_1, excadrill_1, whimsicott_1, darmanitan_1, latias_mega_1, audino_mega_1, venusaur_mega_1, porygonz_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, gyarados_mega_4, kyurem_1, metagross_mega_1, metagross_mega_2, dragonite_1, dragonite_2, charizard_mega_x, charizard_mega_x_2, charizard_mega_y, charizard_mega_y_2, kommoo_1, landorus_therian_1, jumpluff_1, zygarde_complete_1, slowbro_mega_1, slowbro_mega_2, tapu_lele_1, gardevoir_mega_1, donphan_1, altaria_mega_2, altaria_mega_1, aegislash_1, mew_1, lopunny_mega_1, heatran_1, garchomp_1, ferrothorn_1, chansey_1, celesteela_1, aggron_mega_1, tyranitar_mega_1, tapu_fini_1, primarina_1, blastoise_mega_1, archeops_1, zeraora_1, sableye_mega_1, pinser_mega_1, mawile_mega_1, krookodile_1, incineroar_1, haxorus_1, golem_1, diancie_mega_1, crustle_1, clefable_1, illumise_1, greninja_2, blacephalon_1, cresselia_1, vivillon_1, medicham_mega_1, weavile_1, weavile_2, porygonz_3, charizard_mega_x_3, zeraora_2, necrozma_2, type_null_1]
  395. #for all Victini sets
  396. victini_1.lmatchups = [togekiss_2, landorus_therian_2, gyarados_mega_5, greninja_4, venusaur_mega_2, dragonite_4, dragonite_3, carracosta_1, avalugg_1, swampert_mega_1, deoxys_s_2, donphan_2, salamence_1, haxorus_2, porygon2_1, zapdos_1, rampardos_2, rampardos_1, vigoroth_1, umbreon_1, garchomp_2, mienshao_1, terrakion_1, excadrill_1, darmanitan_1, gyarados_mega_4, latias_mega_1, slowbro_mega_2, riolu_1, altaria_mega_2, aron_1, smeargle_1, blacephalon_1, tapu_fini_2, greninja_3, greninja_2, dragonite_2, sawk_1, manaphy_1, kyurem_1, krookodile_1, incineroar_1, haxorus_1, golem_1, durant_1, diancie_mega_1, crustle_1, archeops_1, zeraora_1, garchomp_1, heatran_1, tyranitar_mega_1, aggron_mega_1, kommoo_1, aegislash_1, altaria_mega_1, donphan_1, landorus_therian_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, charizard_mega_x, charizard_mega_x_2, dragonite_1, porygonz_1, slowbro_mega_1, zygarde_complete_1, greninja_1, stunfisk_1, weavile_1, weavile_2, porygonz_3, charizard_mega_x_3, necrozma_2, type_null_1, meloetta_2]
  397. victini_2.lmatchups = [togekiss_2, togekiss_1, landorus_therian_2, gyarados_mega_5, greninja_4, swampert_mega_1, zygarde_complete_1, dragonite_4, dragonite_3, carracosta_1, swampert_mega_1, deoxys_s_2, volcarona_2, hoopau_2, araquanid_1, pyukumuku_1, porygon2_1, zapdos_1, rampardos_2, rampardos_1, umbreon_1, garchomp_2, mienshao_1, terrakion_1, excadrill_1, gyarados_mega_4, latias_mega_1, audino_mega_1, slowbro_mega_2, raikou_1, mew_2, riolu_1, smeargle_1, cresselia_1, blacephalon_1, heatran_2, stunfisk_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, kyurem_1, charizard_mega_x_2, manaphy_1, jumpluff_1, greninja_1, slowbro_mega_1, porygonz_1, porygonz_2, aegislash_1, magnezone_1, meloetta_1, heatran_1, garchomp_1, chansey_1, tyranitar_mega_1, tapu_lele_1, primarina_1, blastoise_mega_1, archeops_1, victini_1, sableye_mega_1, necrozma_1, incineroar_1, hoopau_1, golem_1, diancie_mega_1, crustle_1, clefable_1, greninja_2, greninja_3, tapu_fini_2, vivillon_1, weavile_1, porygonz_3, zeraora_2, necrozma_2, type_null_1, meloetta_2]
  398. #for all Sableye-Mega sets
  399. sableye_mega_1.lmatchups = [togekiss_2, scizor_mega_1, carracosta_1, volcarona_2, hoopau_2, haxorus_2, pheromosa_3, magearna_2, terrakion_1, gyarados_mega_4, audino_mega_1, slowbro_mega_2, raikou_1, altaria_mega_2, xurkitree_1, tapu_fini_2, manaphy_1, incineroar_1, hoopau_1, diancie_mega_1, blaziken_mega_1, zeraora_1, victini_1, mawile_mega_1, primarina_1, tapu_fini_1, kommoo_1, gardevoir_mega_1, charizard_mega_x, charizard_mega_x_2, charizard_mega_y, charizard_mega_y_2, magearna_1, tapu_lele_1, slowbro_mega_1, zygarde_complete_1, lopunny_mega_1, volcarona_1, clefable_1, charizard_mega_x_3, type_null_1]
  400. #for all Pinsir-Mega sets
  401. pinser_mega_1.lmatchups = [togekiss_2, celesteela_2, landorus_therian_2, greninja_4, dragonite_4, dragonite_3, carracosta_1, avalugg_1, deoxys_s_2, salamence_1, porygon2_1, zapdos_1, rotom_wash_1, rampardos_2, rampardos_1, umbreon_1, garchomp_2, mienshao_1, magearna_2, terrakion_1, whimsicott_1, darmanitan_1, salazzle_1, slowbro_mega_2, raikou_1, altaria_mega_2, genesect_2, aron_1, cresselia_1, blacephalon_1, xurkitree_1, victini_2, greninja_3, dragonite_2, sawk_1, manaphy_1, incineroar_1, golem_1, durant_1, diancie_mega_1, deoxys_s_1, crustle_1, blastoise_mega_1, archeops_1, zeraora_1, mawile_mega_1, necrozma_1, heatran_1, aggron_mega_1, celesteela_1, tyranitar_mega_1, naganadel_1, primarina_1, genesect_1, meloetta_1, magnezone_1, aegislash_1, altaria_mega_1, donphan_1, mew_1, charizard_mega_x_2, dragonite_1, magearna_1, metagross_mega_1, metagross_mega_2, slowbro_mega_1, zygarde_complete_1, greninja_1, jumpluff_1, landorus_therian_1, lopunny_mega_1, clefable_1, porygonz_2, stunfisk_1, weavile_1, weavile_2, infernape_1, zeraora_2, type_null_1, meloetta_2]
  402. #for all Necrozma sets
  403. necrozma_1.lmatchups = [togekiss_1, gyarados_mega_5, dragonite_4, dragonite_3, deoxys_s_2, volcarona_2, hoopau_2, pyukumuku_1, porygon2_1, rotom_wash_1, umbreon_1, gyarados_mega_4, audino_mega_1, slowbro_mega_2, raikou_1, mew_2, riolu_1, smeargle_1, cresselia_1, blacephalon_1, heatran_2, greninja_2, manaphy_1, kyurem_1, incineroar_1, victini_1, sableye_mega_1, heatran_1, chansey_1, aggron_mega_1, tapu_fini_1, genesect_1, gardevoir_mega_1, charizard_mega_x_2, charizard_mega_y, charizard_mega_y_2, dragonite_1, magearna_1, porygonz_1, tapu_lele_1, jumpluff_1, meloetta_1, magnezone_1, aegislash_1, volcarona_1, clefable_1, vivillon_1, weavile_1, porygonz_3, infernape_1, necrozma_2, type_null_1, meloetta_2, magnezone_2]
  404. necrozma_2.lmatchups = [gyarados_mega, gyarados_mega_2, gyarados_mega_3, gyarados_mega_4, gyarados_mega_5, kyurem_1, charizard_mega_x_3, manaphy_1, kommoo_1, jumpluff_1, greninja_2, aegislash_1, magnezone_1, meloetta_1, aron_1, mew_2, garchomp_1, celesteela_2, smeargle_1, tyranitar_mega_1, tapu_fini_1, zeraora_1, volcarona_1, sableye_mega_1, pinser_mega_1, blacephalon_1, raikou_1, kartana_2, krookodile_1, incineroar_1, hoopau_1, hoopau_2, xurkitree_1, illumise_1, vivillon_1, shedinja_1, darmanitan_1, whimsicott_1, excadrill_1, terrakion_1, umbreon_1, vigoroth_1, zapdos_1, pyukumuku_1, araquanid_1, carracosta_1, weavile_1, weavile_2, meloetta_2, magnezone_2]
  405. #for all Blacephalon sets
  406. blacephalon_1.lmatchups = [togekiss_1, landorus_therian_2, gyarados_mega_5, greninja_4, dragonite_4, dragonite_3, carracosta_1, avalugg_1, swampert_mega_1, deoxys_s_2, donphan_2, hoopau_2, araquanid_1, porygon2_1, zapdos_1, rotom_wash_1, pheromosa_3, rampardos_2, rampardos_1, vigoroth_1, umbreon_1, garchomp_2, terrakion_1, darmanitan_1, gyarados_mega_4, raikou_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, porygonz_2, magnezone_1, kartana_1, kyurem_1, naganadel_1, dragonite_2, charizard_mega_x_2, kommoo_1, manaphy_1, landorus_therian_1, greninja_1, zygarde_complete_1, donphan_1, meloetta_1, lopunny_mega_1, aggron_mega_1, tyranitar_mega_1, primarina_1, blastoise_mega_1, archeops_1, zeraora_1, sableye_mega_1, mawile_mega_1, krookodile_1, incineroar_1, hoopau_1, haxorus_1, golem_1, diancie_mega_1, deoxys_s_1, sawk_1, crustle_1, blaziken_mega_1, dragonite_2, greninja_2, greninja_3, tapu_fini_2, stunfisk_1, dragonite_1, weavile_1, weavile_2, zeraora_2, magnezone_2]
  407. #for all Mawile-Mega sets
  408. mawile_mega_1.lmatchups = [celesteela_2, scizor_mega_1, landorus_therian_2, greninja_4, venusaur_mega_2, swampert_mega_1, donphan_2, zapdos_1, rotom_wash_1, pheromosa_3, vigoroth_1, magearna_2, excadrill_1, salazzle_1, shedinja_1, genesect_2, smeargle_1, xurkitree_1, heatran_2, victini_2, tapu_fini_2, illumise_1, krookodile_1, incineroar_1, blaziken_mega_1, blastoise_mega_1, victini_1, necrozma_1, garchomp_1, heatran_1, aggron_mega_1, celesteela_1, naganadel_1, primarina_1, tapu_fini_1, donphan_1, magnezone_1, aegislash_1, greninja_1, jumpluff_1, landorus_therian_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, charizard_mega_x, charizard_mega_x_2, charizard_mega_y, charizard_mega_y_2, magearna_1, slowbro_mega_1, zygarde_complete_1, volcarona_1, stunfisk_1, vivillon_1, charizard_mega_x_3, infernape_1, magnezone_2]
  409. #for all Raikou sets
  410. raikou_1.lmatchups = [landorus_therian_2, dragonite_4, dragonite_3, avalugg_1, swampert_mega_1, donphan_2, hoopau_2, haxorus_2, pheromosa_3, pheromosa_2, garchomp_2, excadrill_1, whimsicott_1, darmanitan_1, kyurem_1, naganadel_1, metagross_mega_1, metagross_mega_2, dragonite_1, charizard_mega_x, charizard_mega_x_2, kommoo_1, landorus_therian_1, greninja_1, zygarde_complete_1, tapu_lele_1, porygonz_2, donphan_1, lopunny_mega_1, garchomp_1, aggron_mega_1, venusaur_mega_1, tyranitar_mega_1, zeraora_1, victini_1, krookodile_1, incineroar_1, hoopau_1, heracross_mega_1, haxorus_1, golem_1, crustle_1, blaziken_mega_1, dragonite_2, stunfisk_1, aron_1, riolu_1, charizard_mega_x_3, zeraora_2, type_null_1, meloetta_2]
  411. #for all Kartana sets
  412. kartana_1.lmatchups = [celesteela_2, landorus_therian_2, greninja_4, dragonite_4, carracosta_1, deoxys_s_2, donphan_2, volcarona_2, salamence_1, haxorus_2, zapdos_1, pheromosa_3, pheromosa_2, pheromosa_1, rampardos_2, rampardos_1, umbreon_1, magearna_2, darmanitan_1, salazzle_1, latias_mega_1, raikou_1, shedinja_1, riolu_1, altaria_mega_2, genesect_2, kartana_2, heatran_2, victini_2, greninja_3, greninja_2, dragonite_2, illumise_1, sawk_1, kyurem_1, incineroar_1, heracross_mega_1, durant_1, deoxys_s_1, diancie_mega_1, blaziken_mega_1, victini_1, pinser_mega_1, mawile_mega_1, heatran_1, celesteela_1, naganadel_1, kommoo_1, genesect_1, altaria_mega_1, aegislash_1, magnezone_1, landorus_therian_1, charizard_mega_x, charizard_mega_x_2, charizard_mega_y, charizard_mega_y_2, dragonite_1, magearna_1, metagross_mega_1, metagross_mega_2, zygarde_complete_1, greninja_1, volcarona_1, porygonz_2, charizard_mega_x_3, infernape_1, meloetta_2, magnezone_2]
  413. kartana_2.lmatchups = [togekiss_1, celesteela_2, scizor_mega_1, landorus_therian_2, greninja_4, venusaur_mega_2, dragonite_4, carracosta_1, deoxys_s_2, donphan_2, salamence_1, zapdos_1, pheromosa_3, pheromosa_2, pheromosa_1, rampardos_2, rampardos_1, vigoroth_1, magearna_2, darmanitan_1, salazzle_1, latias_mega_1, raikou_1, shedinja_1, riolu_1, altaria_mega_2, genesect_2, aron_1, naganadel_1, metagross_mega_1, metagross_mega_2, dragonite_1, magearna_1, charizard_mega_x, charizard_mega_x_2, kommoo_1, genesect_1, landorus_therian_1, greninja_1, zygarde_complete_1, porygonz_2, donphan_1, altaria_mega_1, aegislash_1, magnezone_1, meloetta_1, mew_1, lopunny_mega_1, garchomp_1, celesteela_1, aggron_mega_1, victini_1, sableye_mega_1, necrozma_1, mawile_mega_1, krookodile_1, incineroar_1, hoopau_1, heracross_mega_1, golem_1, durant_1, deoxys_s_1, sawk_1, crustle_1, blaziken_mega_1, dragonite_2, illumise_1, greninja_2, greninja_3, victini_2, charizard_mega_x_3, meloetta_2, magnezone_2]
  414. #for all Krookodile sets
  415. krookodile_1.lmatchups = [togekiss_2, togekiss_1, celesteela_2, landorus_therian_2, gyarados_mega_5, greninja_4, dragonite_4, dragonite_3, gallade_mega_1, carracosta_1, volcarona_2, salamence_1, araquanid_1, porygon2_1, rotom_wash_1, pheromosa_3, pheromosa_2, pheromosa_1, excadrill_1, gyarados_mega_4, latias_mega_1, slowbro_mega_2, altaria_mega_2, genesect_2, smeargle_1, kartana_2, heatran_2, tapu_fini_2, greninja_3, greninja_2, dragonite_2, sawk_1, medicham_mega_1, manaphy_1, kyurem_1, clefable_1, heracross_mega_1, diancie_mega_1, durant_1, volcarona_1, blastoise_mega_1, sableye_mega_1, pinser_mega_1, kartana_1, ferrothorn_1, celesteela_1, genesect_1, venusaur_mega_1, kommoo_1, naganadel_1, primarina_1, tapu_fini_1, gardevoir_mega_1, altaria_mega_1, greninja_1, meloetta_1, jumpluff_1, landorus_therian_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, charizard_mega_y, charizard_mega_y_2, dragonite_1, porygonz_1, porygonz_2, tapu_lele_1, slowbro_mega_1, porygonz_3, infernape_1, meloetta_2]
  416. #for all Incineroar sets
  417. incineroar_1.lmatchups = [togekiss_2, togekiss_1, landorus_therian_2, gyarados_mega_5, greninja_4, venusaur_mega_2, dragonite_4, dragonite_3, gallade_mega_1, carracosta_1, swampert_mega_1, donphan_2, pyukumuku_1, zapdos_1, rotom_wash_1, pheromosa_3, pheromosa_2, pheromosa_1, rampardos_2, rampardos_1, vigoroth_1, umbreon_1, mienshao_1, terrakion_1, excadrill_1, gyarados_mega_4, latias_mega_1, audino_mega_1, altaria_mega_2, smeargle_1, heatran_2, tapu_fini_2, greninja_3, greninja_2, dragonite_2, medicham_mega_1, manaphy_1, kyurem_1, krookodile_1, clefable_1, heracross_mega_1, durant_1, golem_1, archeops_1, blastoise_mega_1, blaziken_mega_1, crustle_1, diancie_mega_1, volcarona_1, primarina_1, tapu_fini_1, tyranitar_mega_1, venusaur_mega_1, chansey_1, garchomp_1, heatran_1, gardevoir_mega_1, kommoo_1, altaria_mega_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, magearna_1, porygonz_1, tapu_lele_1, zygarde_complete_1, greninja_1, jumpluff_1, landorus_therian_1, lopunny_mega_1, stunfisk_1, vivillon_1, infernape_1, magnezone_2]
  418. #for all Hoopa-Unbound sets
  419. hoopau_1.lmatchups = [togekiss_2, togekiss_1, gyarados_mega_5, dragonite_4, dragonite_3, carracosta_1, swampert_mega_1, volcarona_2, hoopau_2, haxorus_2, araquanid_1, pyukumuku_1, zapdos_1, rotom_wash_1, pheromosa_3, pheromosa_2, pheromosa_1, umbreon_1, excadrill_1, gyarados_mega_4, audino_mega_1, riolu_1, altaria_mega_2, genesect_2, aron_1, smeargle_1, kartana_2, heatran_2, dragonite_2, sawk_1, medicham_mega_1, manaphy_1, kyurem_1, krookodile_1, incineroar_1, blaziken_mega_1, heracross_mega_1, diancie_mega_1, durant_1, crustle_1, golem_1, kartana_1, archeops_1, mawile_mega_1, pinser_mega_1, victini_1, volcarona_1, necrozma_1, altaria_mega_1, chansey_1, tyranitar_mega_1, tapu_fini_1, donphan_1, gardevoir_mega_1, genesect_1, kommoo_1, magnezone_1, zygarde_complete_1, gyarados_mega, gyarados_mega_2, charizard_mega_x_2, dragonite_1, magearna_1, porygonz_1, tapu_lele_1, jumpluff_1, landorus_therian_1, lopunny_mega_1, clefable_1, vivillon_1, weavile_1, weavile_2, type_null_1, magnezone_2]
  420. hoopau_2.lmatchups = [landorus_therian_2, gyarados_mega_5, dragonite_4, dragonite_3, gallade_mega_1, carracosta_1, avalugg_1, swampert_mega_1, donphan_2, salamence_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, gyarados_mega_4, magearna_1, dragonite_1, dragonite_2, charizard_mega_y, charizard_mega_y_2, charizard_mega_x, charizard_mega_x_2, manaphy_1, genesect_2, landorus_therian_1, medicham_mega_1, zygarde_complete_1, porygonz_1, gardevoir_mega_1, donphan_1, audino_mega_1, altaria_mega_1, altaria_mega_2, magnezone_1, aron_1, lopunny_mega_1, garchomp_1, chansey_1, aggron_mega_1, smeargle_1, tyranitar_mega_1, archeops_1, zeraora_1, volcarona_1, riolu_1, victini_1, pinser_mega_1, mawile_mega_1, kartana_2, kartana_1, krookodile_1, incineroar_1, golem_1, durant_1, diancie_mega_1, sawk_1, crustle_1, xurkitree_1, blaziken_mega_1, darmanitan_1, excadrill_1, terrakion_1, magearna_2, mienshao_1, garchomp_2, umbreon_1, vigoroth_1, rampardos_1, rampardos_2, pheromosa_3, pheromosa_2, pheromosa_1, zapdos_1, porygon2_1, haxorus_2, weavile_1, charizard_mega_x_3, zeraora_2, type_null_1, magnezone_2]
  421. #for all Heracross-Mega sets
  422. heracross_mega_1.lmatchups = [togekiss_2, togekiss_1, scizor_mega_1, landorus_therian_2, gyarados_mega_5, venusaur_mega_2, dragonite_4, dragonite_3, deoxys_s_2, salamence_1, hoopau_2, zapdos_1, garchomp_2, magearna_2, darmanitan_1, salazzle_1, latias_mega_1, altaria_mega_2, smeargle_1, cresselia_1, blacephalon_1, heatran_2, victini_2, dragonite_2, illumise_1, medicham_mega_1, deoxys_s_1, durant_1, celesteela_1, heatran_1, mawile_mega_1, sableye_mega_1, victini_1, blaziken_mega_1, volcarona_1, archeops_1, necrozma_1, pinser_mega_1, venusaur_mega_1, tapu_fini_1, magnezone_1, aegislash_1, gardevoir_mega_1, genesect_1, kommoo_1, altaria_mega_1, mew_1, landorus_therian_1, charizard_mega_x, charizard_mega_x_2, charizard_mega_y, charizard_mega_y_2, dragonite_1, magearna_1, metagross_mega_2, porygonz_1, tapu_lele_1, zygarde_complete_1, clefable_1, porygonz_2, stunfisk_1, vivillon_1, porygonz_3, charizard_mega_x_3, infernape_1, necrozma_2, magnezone_2]
  423. #for all Haxorus sets
  424. haxorus_1.lmatchups = [togekiss_2, togekiss_1, celesteela_2, scizor_mega_1, gyarados_mega_5, venusaur_mega_2, gallade_mega_1, avalugg_1, swampert_mega_1, deoxys_s_2, donphan_2, salamence_1, hoopau_2, pyukumuku_1, porygon2_1, zapdos_1, pheromosa_1, vigoroth_1, umbreon_1, garchomp_2, magearna_2, terrakion_1, whimsicott_1, gyarados_mega_4, audino_mega_1, slowbro_mega_2, mew_2, altaria_mega_2, genesect_2, cresselia_1, kartana_2, victini_2, tapu_fini_2, illumise_1, krookodile_1, incineroar_1, heracross_mega_1, blastoise_mega_1, hoopau_1, durant_1, golem_1, crustle_1, sableye_mega_1, tyranitar_mega_1, heatran_1, kartana_1, mawile_mega_1, necrozma_1, venusaur_mega_1, aggron_mega_1, celesteela_1, chansey_1, ferrothorn_1, primarina_1, tapu_fini_1, jumpluff_1, aegislash_1, altaria_mega_1, donphan_1, genesect_1, landorus_therian_1, lopunny_mega_1, mew_1, meloetta_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, magearna_1, metagross_mega_1, metagross_mega_2, tapu_lele_1, slowbro_mega_1, zygarde_complete_1, clefable_1, stunfisk_1, zeraora_2, necrozma_2, type_null_1, meloetta_2]
  425. haxorus_2.lmatchups = [togekiss_2, celesteela_2, scizor_mega_1, landorus_therian_2, gyarados_mega_5, greninja_4, gallade_mega_1, avalugg_1, swampert_mega_1, deoxys_s_2, donphan_2, gyarados_mega, gyarados_mega_2, gyarados_mega_3, gyarados_mega_4, naganadel_1, metagross_mega_1, metagross_mega_2, magearna_1, charizard_mega_x, genesect_1, genesect_2, landorus_therian_1, jumpluff_1, greninja_1, greninja_2, greninja_3, medicham_mega_1, slowbro_mega_2, slowbro_mega_1, porygonz_2, donphan_1, audino_mega_1, aegislash_1, meloetta_1, mew_1, mew_2, lopunny_mega_1, garchomp_1, ferrothorn_1, celesteela_1, aggron_mega_1, venusaur_mega_1, latias_mega_1, tapu_fini_1, tapu_fini_2, primarina_1, blastoise_mega_1, archeops_1, volcarona_1, victini_2, pinser_mega_1, necrozma_1, blacephalon_1, mawile_mega_1, kartana_2, krookodile_1, incineroar_1, heracross_mega_1, haxorus_1, durant_1, diancie_mega_1, deoxys_s_1, blaziken_mega_1, illumise_1, salazzle_1, whimsicott_1, terrakion_1, magearna_2, mienshao_1, garchomp_2, vigoroth_1, rampardos_2, rampardos_1, pheromosa_1, pheromosa_2, pheromosa_3, porygon2_1, weavile_1, weavile_2, infernape_1, zeraora_2, necrozma_2, type_null_1, meloetta_2]
  426. #for all Golem sets
  427. golem_1.lmatchups = [togekiss_2, togekiss_1, celesteela_2, scizor_mega_1, gyarados_mega_5, venusaur_mega_2, dragonite_4, gallade_mega_1, swampert_mega_1, deoxys_s_2, salamence_1, haxorus_2, pyukumuku_1, porygon2_1, rotom_wash_1, pheromosa_1, vigoroth_1, umbreon_1, mienshao_1, excadrill_1, whimsicott_1, gyarados_mega_4, latias_mega_1, audino_mega_1, slowbro_mega_2, mew_2, altaria_mega_2, smeargle_1, cresselia_1, tapu_fini_2, illumise_1, medicham_mega_1, kyurem_1, krookodile_1, heracross_mega_1, heatran_1, primarina_1, blastoise_mega_1, sableye_mega_1, necrozma_1, tapu_fini_1, tyranitar_mega_1, venusaur_mega_1, aggron_mega_1, celesteela_1, chansey_1, ferrothorn_1, garchomp_1, mawile_mega_1, donphan_1, genesect_1, kommoo_1, altaria_mega_1, lopunny_mega_1, mew_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, dragonite_1, magearna_1, tapu_lele_1, slowbro_mega_1, zygarde_complete_1, jumpluff_1, landorus_therian_1, clefable_1, vivillon_1, weavile_2, porygonz_3, infernape_1, necrozma_2, type_null_1]
  428. #for all Durant sets
  429. durant_1.lmatchups = [celesteela_2, scizor_mega_1, landorus_therian_2, greninja_4, venusaur_mega_2, dragonite_4, dragonite_3, carracosta_1, swampert_mega_1, donphan_2, salamence_1, pyukumuku_1, zapdos_1, rotom_wash_1, pheromosa_3, pheromosa_2, pheromosa_1, rampardos_2, rampardos_1, vigoroth_1, garchomp_2, magearna_2, whimsicott_1, darmanitan_1, salazzle_1, raikou_1, riolu_1, genesect_2, aron_1, blacephalon_1, xurkitree_1, victini_2, tapu_fini_2, greninja_3, greninja_2, dragonite_2, illumise_1, sawk_1, manaphy_1, golem_1, zeraora_1, crustle_1, archeops_1, blastoise_mega_1, blaziken_mega_1, sableye_mega_1, mawile_mega_1, garchomp_1, celesteela_1, aggron_mega_1, dragonite_1, zygarde_complete_1, greninja_1, jumpluff_1, landorus_therian_1, magnezone_1, aegislash_1, donphan_1, genesect_1, kommoo_1, naganadel_1, primarina_1, stunfisk_1, zeraora_2, type_null_1, magnezone_2]
  430. #for all Diancie-Mega sets
  431. diancie_mega_1.lmatchups = [celesteela_2, scizor_mega_1, landorus_therian_2, greninja_4, porygonz_1, venusaur_mega_2, carracosta_1, deoxys_s_2, pyukumuku_1, porygon2_1, rotom_wash_1, pheromosa_2, rampardos_2, rampardos_1, garchomp_2, magearna_2, gyarados_mega_4, slowbro_mega_2, raikou_1, mew_2, aron_1, cresselia_1, kartana_2, xurkitree_1, tapu_fini_2, greninja_3, greninja_2, sawk_1, manaphy_1, haxorus_1, golem_1, durant_1, deoxys_s_1, zeraora_1, blastoise_mega_1, blaziken_mega_1, crustle_1, venusaur_mega_1, heatran_1, mawile_mega_1, necrozma_1, aggron_mega_1, celesteela_1, chansey_1, ferrothorn_1, primarina_1, tapu_fini_1, genesect_1, mew_1, aegislash_1, magnezone_1, gyarados_mega, gyarados_mega_3, dragonite_1, magearna_1, metagross_mega_1, metagross_mega_2, tapu_lele_1, slowbro_mega_1, greninja_1, clefable_1, zeraora_2, necrozma_2, type_null_1, magnezone_2]
  432. #for all Deoxys-Speed sets
  433. deoxys_s_1.lmatchups = [togekiss_1, scizor_mega_1, gyarados_mega_5, dragonite_4, dragonite_3, carracosta_1, avalugg_1, swampert_mega_1, deoxys_s_2, donphan_2, volcarona_2, hoopau_2, araquanid_1, pyukumuku_1, porygon2_1, zapdos_1, rotom_wash_1, magearna_2, darmanitan_1, latias_mega_1, audino_mega_1, slowbro_mega_2, mew_2, shedinja_1, riolu_1, genesect_2, aron_1, cresselia_1, victini_2, dragonite_2, manaphy_1, kyurem_1, incineroar_1, hoopau_1, golem_1, crustle_1, blastoise_mega_1, sableye_mega_1, victini_1, mawile_mega_1, necrozma_1, chansey_1, ferrothorn_1, aggron_mega_1, primarina_1, donphan_1, gardevoir_mega_1, genesect_1, gyarados_mega_2, charizard_mega_x_2, dragonite_1, magearna_1, metagross_mega_1, metagross_mega_2, tapu_lele_1, mew_1, meloetta_1, magnezone_1, aegislash_1, clefable_1, necrozma_2, meloetta_2, magnezone_2]
  434. deoxys_s_2.lmatchups = [togekiss_2, celesteela_2, scizor_mega_1, gyarados_mega_5, greninja_4, tapu_lele_1, dragonite_3, gyarados_mega, gyarados_mega_2, gyarados_mega_3, gyarados_mega_4, metagross_mega_1, metagross_mega_2, magearna_1, dragonite_1, genesect_1, greninja_1, greninja_2, greninja_3, zygarde_complete_1, slowbro_mega_1, gardevoir_mega_1, audino_mega_1, aegislash_1, magnezone_1, meloetta_1, aron_1, mew_1, mew_2, ferrothorn_1, chansey_1, celesteela_1, tyranitar_mega_1, tyranitar_mega_1, tapu_fini_2, volcarona_1, sableye_mega_1, mawile_mega_1, krookodile_1, incineroar_1, hoopau_1, durant_1, shedinja_1, whimsicott_1, excadrill_1, umbreon_1, hoopau_2, volcarona_2, pyukumuku_1, araquanid_1, weavile_1, necrozma_2, type_null_1, meloetta_2, magnezone_2]
  435. #for all Sawk sets
  436. sawk_1.lmatchups = [togekiss_2, togekiss_1, celesteela_2, scizor_mega_1, landorus_therian_2, gyarados_mega_5, charizard_mega_x, charizard_mega_x_2, venusaur_mega_2, dragonite_4, gallade_mega_1, carracosta_1, swampert_mega_1, deoxys_s_2, salamence_1, haxorus_2, zapdos_1, rotom_wash_1, pheromosa_1, mienshao_1, gyarados_mega_4, latias_mega_1, audino_mega_1, slowbro_mega_2, mew_2, riolu_1, altaria_mega_2, aron_1, cresselia_1, victini_2, tapu_fini_2, dragonite_2, sawk_1, blastoise_mega_1, clefable_1, medicham_mega_1, stunfisk_1, heracross_mega_1, deoxys_s_1, golem_1, blaziken_mega_1, gyarados_mega, donphan_1, sableye_mega_1, ferrothorn_1, kommoo_1, zeraora_1, primarina_1, venusaur_mega_1, mawile_mega_1, necrozma_1, aggron_mega_1, celesteela_1, tapu_fini_1, gyarados_mega_2, gyarados_mega_3, dragonite_1, magearna_1, metagross_mega_2, metagross_mega_1, slowbro_mega_1, zygarde_complete_1, mew_1, aegislash_1, altaria_mega_1, charizard_mega_x_3, zeraora_2, necrozma_2, type_null_1]
  437. #for all Crustle sets
  438. crustle_1.lmatchups = [scizor_mega_1, gyarados_mega_5, venusaur_mega_2, dragonite_4, gallade_mega_1, carracosta_1, swampert_mega_1, rotom_wash_1, rampardos_2, vigoroth_1, umbreon_1, mienshao_1, magearna_2, excadrill_1, whimsicott_1, gyarados_mega_4, slowbro_mega_2, mew_2, altaria_mega_2, smeargle_1, dragonite_2, illumise_1, sawk_1, medicham_mega_1, krookodile_1, heracross_mega_1, golem_1, blastoise_mega_1, sableye_mega_1, kartana_1, mawile_mega_1, necrozma_1, chansey_1, ferrothorn_1, garchomp_1, aggron_mega_1, primarina_1, kommoo_1, donphan_1, gyarados_mega, magearna_1, metagross_mega_1, metagross_mega_2, slowbro_mega_1, zygarde_complete_1, landorus_therian_1, magnezone_1, aegislash_1, altaria_mega_1, clefable_1, stunfisk_1, gyarados_mega_2, type_null_1, magnezone_2]
  439. #for all Xurkitree sets
  440. xurkitree_1.lmatchups = [landorus_therian_2, greninja_4, dragonite_4, dragonite_3, carracosta_1, swampert_mega_1, deoxys_s_2, donphan_2, volcarona_2, haxorus_2, pheromosa_3, pheromosa_2, pheromosa_1, rampardos_2, rampardos_1, garchomp_2, excadrill_1, whimsicott_1, salazzle_1, latias_mega_1, shedinja_1, riolu_1, aron_1, smeargle_1, kartana_2, blacephalon_1, gardevoir_mega_1, naganadel_1, dragonite_1, charizard_mega_x, charizard_mega_x_2, charizard_mega_y, charizard_mega_y_2, kommoo_1, landorus_therian_1, jumpluff_1, greninja_1, medicham_mega_1, zygarde_complete_1, tapu_lele_1, porygonz_1, porygonz_2, donphan_1, aegislash_1, lopunny_mega_1, garchomp_1, tyranitar_mega_1, archeops_1, zeraora_1, volcarona_1, victini_1, kartana_1, krookodile_1, haxorus_1, golem_1, deoxys_s_1, sawk_1, crustle_1, dragonite_2, greninja_2, greninja_3, stunfisk_1, vivillon_1, weavile_1, porygonz_3, charizard_mega_x_3, infernape_1, zeraora_2, meloetta_2]
  441. #for all Cresselia sets
  442. cresselia_1.lmatchups = [celesteela_2, gyarados_mega_5, greninja_4, deoxys_s_2, volcarona_2, hoopau_2, haxorus_2, araquanid_1, pyukumuku_1, zapdos_1, umbreon_1, excadrill_1, whimsicott_1, gyarados_mega_4, audino_mega_1, slowbro_mega_2, raikou_1, mew_2, shedinja_1, genesect_2, smeargle_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, kyurem_1, metagross_mega_1, metagross_mega_2, magearna_1, manaphy_1, genesect_1, jumpluff_1, greninja_1, slowbro_mega_1, tapu_lele_1, porygonz_1, porygonz_2, gardevoir_mega_1, aegislash_1, meloetta_1, magnezone_1, chansey_1, tyranitar_mega_1, tapu_fini_1, zeraora_1, volcarona_1, sableye_mega_1, mawile_mega_1, krookodile_1, incineroar_1, hoopau_1, durant_1, clefable_1, greninja_2, greninja_3, tapu_fini_2, xurkitree_1, blacephalon_1, vivillon_1, weavile_1, weavile_2, porygonz_3, zeraora_2, necrozma_2, type_null_1, meloetta_2, magnezone_2]
  443. #for all Blaziken-Mega sets
  444. blaziken_mega_1.lmatchups = [togekiss_2, landorus_therian_2, gyarados_mega_5, venusaur_mega_2, dragonite_4, dragonite_3, carracosta_1, avalugg_1, swampert_mega_1, deoxys_s_2, donphan_2, salamence_1, zapdos_1, rotom_wash_1, garchomp_2, gyarados_mega_4, latias_mega_1, audino_mega_1, slowbro_mega_2, riolu_1, altaria_mega_2, aron_1, xurkitree_1, victini_2, tapu_fini_2, dragonite_2, illumise_1, manaphy_1, golem_1, crustle_1, blastoise_mega_1, victini_1, necrozma_1, kommoo_1, garchomp_1, aggron_mega_1, venusaur_mega_1, naganadel_1, primarina_1, tapu_fini_1, meloetta_1, magnezone_1, altaria_mega_1, donphan_1, mew_1, landorus_therian_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, charizard_mega_x, charizard_mega_x_2, dragonite_1, tapu_lele_1, zygarde_complete_1, slowbro_mega_1, clefable_1, stunfisk_1, charizard_mega_x_3, meloetta_2]
  445. #for all Clefable sets
  446. clefable_1.lmatchups = [celesteela_2, scizor_mega_1, tapu_lele_1, venusaur_mega_2, deoxys_s_2, donphan_2, hoopau_2, araquanid_1, zapdos_1, magearna_2, salazzle_1, audino_mega_1, slowbro_mega_2, raikou_1, mew_2, shedinja_1, aron_1, smeargle_1, kartana_2, kyurem_1, magearna_1, metagross_mega_1, metagross_mega_2, porygonz_1, meloetta_1, aegislash_1, gardevoir_mega_1, genesect_1, naganadel_1, aggron_mega_1, celesteela_1, ferrothorn_1, heatran_1, kartana_1, mawile_mega_1, victini_1, durant_1, tapu_fini_1, magnezone_1, jumpluff_1, slowbro_mega_1, venusaur_mega_1, xurkitree_1, necrozma_2, type_null_1, meloetta_2, magnezone_2]
  447. #for all Stunfisk sets
  448. stunfisk_1.lmatchups = [landorus_therian_2, venusaur_mega_2, dragonite_4, dragonite_3, carracosta_1, swampert_mega_1, deoxys_s_2, donphan_2, volcarona_2, salamence_1, hoopau_2, haxorus_2, araquanid_1, porygon2_1, rotom_wash_1, umbreon_1, garchomp_2, excadrill_1, whimsicott_1, latias_mega_1, audino_mega_1, mew_2, shedinja_1, riolu_1, altaria_mega_2, smeargle_1, cresselia_1, kartana_2, heatran_2, greninja_2, greninja_3, medicham_mega_1, manaphy_1, gyarados_mega_3, dragonite_1, magearna_1, porygonz_1, tapu_lele_1, zygarde_complete_1, jumpluff_1, landorus_therian_1, mew_1, meloetta_1, altaria_mega_1, donphan_1, gardevoir_mega_1, kommoo_1, primarina_1, tapu_fini_1, venusaur_mega_1, aggron_mega_1, chansey_1, ferrothorn_1, garchomp_1, kartana_1, necrozma_1, sableye_mega_1, volcarona_1, blastoise_mega_1, deoxys_s_1, diancie_mega_1, golem_1, hoopau_1, krookodile_1, kyurem_1, clefable_1, vivillon_1, weavile_2, porygonz_3, necrozma_2, type_null_1, meloetta_2]
  449. #for all Illumise sets
  450. illumise_1.lmatchups = [togekiss_2, togekiss_1, celesteela_2, gyarados_mega_5, greninja_4, venusaur_mega_2, dragonite_4, dragonite_3, carracosta_1, deoxys_s_2, volcarona_2, hoopau_2, araquanid_1, pyukumuku_1, zapdos_1, rotom_wash_1, pheromosa_3, rampardos_1, vigoroth_1, magearna_2, terrakion_1, whimsicott_1, gyarados_mega_4, raikou_1, shedinja_1, altaria_mega_2, genesect_2, smeargle_1, cresselia_1, blacephalon_1, xurkitree_1, heatran_2, victini_2, tapu_fini_2, greninja_3, greninja_2, dragonite_2, hoopau_1, incineroar_1, stunfisk_1, manaphy_1, krookodile_1, clefable_1, deoxys_s_1, diancie_mega_1, blastoise_mega_1, greninja_1, pinser_mega_1, sableye_mega_1, victini_1, volcarona_1, necrozma_1, heatran_1, chansey_1, ferrothorn_1, celesteela_1, venusaur_mega_1, jumpluff_1, mew_1, meloetta_1, magnezone_1, aegislash_1, altaria_mega_1, gardevoir_mega_1, genesect_1, kommoo_1, naganadel_1, primarina_1, tapu_fini_1, tyranitar_mega_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, charizard_mega_y, charizard_mega_y_2, magearna_1, metagross_mega_1, metagross_mega_2, porygonz_1, porygonz_2, tapu_lele_1, vivillon_1, porygonz_3, infernape_1, meloetta_2, magnezone_2]
  451. #for all Vivillon sets
  452. vivillon_1.lmatchups = [landorus_therian_2, greninja_4, gallade_mega_1, deoxys_s_2, hoopau_2, haxorus_2, pheromosa_3, pheromosa_2, pheromosa_1, rampardos_2, rampardos_1, vigoroth_1, garchomp_2, mienshao_1, terrakion_1, darmanitan_1, salazzle_1, gyarados_mega_4, latias_mega_1, audino_mega_1, raikou_1, mew_2, altaria_mega_2, gyarados_mega_3, charizard_mega_x, charizard_mega_x_2, charizard_mega_y, charizard_mega_y_2, porygonz_1, porygonz_1, greninja_1, greninja_2, greninja_3, lopunny_mega_1, naganadel_1, primarina_1, tapu_fini_1, tyranitar_mega_1, garchomp_1, kartana_1, kartana_2, pinser_mega_1, sableye_mega_1, volcarona_1, zeraora_1, archeops_1, blaziken_mega_1, crustle_1, deoxys_s_1, diancie_mega_1, durant_1, golem_1, haxorus_1, krookodile_1, manaphy_1, medicham_mega_1, sawk_1, blacephalon_1, weavile_1, weavile_2, infernape_1, zeraora_2, meloetta_2]
  453. #for all Shedinja sets
  454. shedinja_1.lmatchups = [togekiss_1, celesteela_2, landorus_therian_2, gyarados_mega_5, greninja_4, venusaur_mega_2, dragonite_4, gallade_mega_1, carracosta_1, donphan_2, volcarona_2, hoopau_2, haxorus_2, araquanid_1, pyukumuku_1, porygon2_1, rotom_wash_1, pheromosa_3, rampardos_2, rampardos_1, vigoroth_1, umbreon_1, garchomp_2, mienshao_1, magearna_2, excadrill_1, whimsicott_1, darmanitan_1, salazzle_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, gyarados_mega_4, naganadel_1, dragonite_1, dragonite_2, charizard_mega_y, charizard_mega_y_2, charizard_mega_x, charizard_mega_x_2, kommoo_1, landorus_therian_1, jumpluff_1, greninja_1, zygarde_complete_1, porygonz_1, porygonz_2, gardevoir_mega_1, donphan_1, altaria_mega_1, aegislash_1, mew_1, heatran_1, garchomp_1, ferrothorn_1, chansey_1, celesteela_1, aggron_mega_1, tyranitar_mega_1, blastoise_mega_1, archeops_1, volcarona_1, victini_1, sableye_mega_1, pinser_mega_1, necrozma_1, krookodile_1, incineroar_1, hoopau_1, heracross_mega_1, haxorus_1, golem_1, durant_1, diancie_mega_1, sawk_1, crustle_1, blaziken_mega_1, greninja_3, victini_2, heatran_2, blacephalon_1, genesect_2, aron_1, smeargle_1, vivillon_1, altaria_mega_2, weavile_1, weavile_2, porygonz_3, charizard_mega_x_3, infernape_1, type_null_1]
  455. #for all Salazzle (F) sets
  456. salazzle_1.lmatchups = [landorus_therian_2, gyarados_mega_5, greninja_4, dragonite_4, dragonite_3, carracosta_1, swampert_mega_1, deoxys_s_2, donphan_2, volcarona_2, salamence_1, hoopau_2, araquanid_1, porygon2_1, zapdos_1, rotom_wash_1, pheromosa_3, pheromosa_2, rampardos_2, rampardos_1, umbreon_1, garchomp_2, terrakion_1, darmanitan_1, riolu_1, latias_mega_1, raikou_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, kyurem_1, naganadel_1, metagross_mega_2, dragonite_1, charizard_mega_y, charizard_mega_y_2, charizard_mega_x_2, manaphy_1, kommoo_1, landorus_therian_1, greninja_1, zygarde_complete_1, slowbro_mega_1, porygonz_2, donphan_1, aegislash_1, meloetta_1, mew_1, lopunny_mega_1, heatran_1, garchomp_1, chansey_1, venusaur_mega_1, tyranitar_mega_1, blastoise_mega_1, archeops_1, zeraora_1, victini_1, sableye_mega_1, necrozma_1, krookodile_1, incineroar_1, hoopau_1, haxorus_1, golem_1, diancie_mega_1, deoxys_s_1, sawk_1, crustle_1, blaziken_mega_1, dragonite_2, illumise_1, greninja_3, victini_2, stunfisk_1, heatran_2, blacephalon_1, cresselia_1, slowbro_mega_2, gyarados_mega_4, weavile_2, zeraora_2, meloetta_2, magnezone_2]
  457. #for all Darmanitan sets
  458. darmanitan_1.lmatchups = [togekiss_2, landorus_therian_2, gyarados_mega_5, venusaur_mega_2, dragonite_4, dragonite_3, gallade_mega_1, carracosta_1, avalugg_1, swampert_mega_1, deoxys_s_2, donphan_2, salamence_1, haxorus_2, araquanid_1, pyukumuku_1, porygon2_1, zapdos_1, rotom_wash_1, vigoroth_1, umbreon_1, garchomp_2, gyarados_mega, gyarados_mega_2, gyarados_mega_3, gyarados_mega_4, kyurem_1, dragonite_1, dragonite_2, charizard_mega_x, manaphy_1, kommoo_1, landorus_therian_1, zygarde_complete_1, slowbro_mega_1, slowbro_mega_2, donphan_1, audino_mega_1, altaria_mega_1, altaria_mega_2, aegislash_1, magnezone_1, meloetta_1, aron_1, mew_1, heatran_1, garchomp_1, chansey_1, aggron_mega_1, venusaur_mega_1, latias_mega_1, tapu_fini_1, tapu_fini_2, primarina_1, blastoise_mega_1, zeraora_1, victini_2, sableye_mega_1, necrozma_1, krookodile_1, incineroar_1, hoopau_1, haxorus_1, golem_1, diancie_mega_1, sawk_1, crustle_1, xurkitree_1, cresselia_1, clefable_1, stunfisk_1, illumise_1, charizard_mega_x_3, type_null_1, meloetta_2, magnezone_2]
  459. #for all Whimsicott sets
  460. whimsicott_1.lmatchups = [gyarados_mega_5, greninja_4, venusaur_mega_2, donphan_2, volcarona_2, hoopau_2, pheromosa_3, umbreon_1, garchomp_2, jumpluff_1, gyarados_mega, heatran_1, heatran_2, gyarados_mega_2, gyarados_mega_3, gyarados_mega_4, naganadel_1, metagross_mega_2, metagross_mega_1, dragonite_2, charizard_mega_x, charizard_mega_x_2, genesect_1, genesect_2, greninja_1, greninja_2, greninja_3, slowbro_mega_1, slowbro_mega_2, tapu_lele_1, porygonz_2, altaria_mega_1, altaria_mega_2, ferrothorn_1, venusaur_mega_1, tyranitar_mega_1, volcarona_1, victini_2, victini_1, sableye_mega_1, necrozma_1, blacephalon_1, kartana_2, kartana_1, krookodile_1, incineroar_1, hoopau_1, heracross_mega_1, diancie_mega_1, sawk_1, blaziken_mega_1, salazzle_1, darmanitan_1, weavile_1, weavile_2, charizard_mega_x_3, meloetta_2]
  461. #for all Excadrill sets
  462. excadrill_1.lmatchups = [togekiss_2, togekiss_1, celesteela_2, landorus_therian_2, gyarados_mega_5, greninja_4, dragonite_4, dragonite_3, gallade_mega_1, avalugg_1, salamence_1, haxorus_2, araquanid_1, porygon2_1, pheromosa_3, pheromosa_2, pheromosa_1, rampardos_2, rampardos_1, umbreon_1, garchomp_2, mienshao_1, terrakion_1, donphan_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, gyarados_mega_4, kyurem_1, naganadel_1, dragonite_1, dragonite_2, charizard_mega_y, charizard_mega_y_2, charizard_mega_x, charizard_mega_x_2, manaphy_1, kommoo_1, landorus_therian_1, jumpluff_1, greninja_1, greninja_2, greninja_3, medicham_mega_1, zygarde_complete_1, slowbro_mega_2, slowbro_mega_1, altaria_mega_1, altaria_mega_2, mew_2, lopunny_mega_1, heatran_1, garchomp_1, ferrothorn_1, celesteela_1, venusaur_mega_1, tapu_fini_2, primarina_1, blastoise_mega_1, archeops_1, volcarona_1, sableye_mega_1, pinser_mega_1, necrozma_1, blacephalon_1, kartana_1, kartana_2, heracross_mega_1, haxorus_1, durant_1, diancie_mega_1, deoxys_s_1, sawk_1, clefable_1, illumise_1, vivillon_1, salazzle_1, darmanitan_1, whimsicott_1, weavile_1, weavile_2, charizard_mega_x_3, infernape_1, type_null_1]
  463. #for all Terrakion sets
  464. terrakion_1.lmatchups = [celesteela_2, scizor_mega_1, landorus_therian_2, greninja_4, dragonite_4, dragonite_3, gallade_mega_1, carracosta_1, avalugg_1, swampert_mega_1, deoxys_s_2, donphan_2, salamence_1, rotom_wash_1, pheromosa_3, pheromosa_2, pheromosa_1, rampardos_2, garchomp_2, magearna_2, naganadel_1, metagross_mega_1, metagross_mega_2, magearna_1, dragonite_1, dragonite_2, manaphy_1, kommoo_1, genesect_1, landorus_therian_1, greninja_1, greninja_2, greninja_3, medicham_mega_1, zygarde_complete_1, slowbro_mega_1, slowbro_mega_2, donphan_1, aegislash_1, magnezone_1, mew_1, lopunny_mega_1, garchomp_1, ferrothorn_1, celesteela_1, aggron_mega_1, venusaur_mega_1, tapu_fini_2, primarina_1, blastoise_mega_1, archeops_1, zeraora_1, necrozma_1, mawile_mega_1, kartana_2, kartana_1, krookodile_1, heracross_mega_1, golem_1, durant_1, diancie_mega_1, deoxys_s_1, sawk_1, cresselia_1, blaziken_mega_1, clefable_1, stunfisk_1, weavile_2, magnezone_2]
  465. #for all Mienshao sets
  466. mienshao_1.lmatchups = [togekiss_2, celesteela_2, scizor_mega_1, landorus_therian_2, gyarados_mega_5, greninja_4, venusaur_mega_2, gallade_mega_1, swampert_mega_1, deoxys_s_2, donphan_2, salamence_1, zapdos_1, rotom_wash_1, pheromosa_3, pheromosa_2, pheromosa_1, garchomp_2, raikou_1, garchomp_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, naganadel_1, metagross_mega_2, metagross_mega_1, magearna_1, manaphy_1, genesect_1, kommoo_1, landorus_therian_1, greninja_1, medicham_mega_1, zygarde_complete_1, slowbro_mega_1, tapu_lele_1, porygonz_2, gardevoir_mega_1, donphan_1, altaria_mega_1, aegislash_1, meloetta_1, mew_1, lopunny_mega_1, celesteela_1, aggron_mega_1, venusaur_mega_1, tapu_fini_1, primarina_1, blastoise_mega_1, archeops_1, zeraora_1, sableye_mega_1, necrozma_1, mawile_mega_1, kartana_1, krookodile_1, hoopau_1, heracross_mega_1, haxorus_1, durant_1, diancie_mega_1, deoxys_s_1, clefable_1, illumise_1, greninja_3, greninja_2, tapu_fini_2, xurkitree_1, kartana_2, blacephalon_1, cresselia_1, genesect_2, slowbro_mega_2, gyarados_mega_4, altaria_mega_2, salazzle_1, latias_mega_1, darmanitan_1, whimsicott_1, weavile_1, weavile_2, infernape_1, zeraora_2, necrozma_2, meloetta_2, magnezone_2]
  467. #for all Umbreon sets
  468. umbreon_1.lmatchups = [togekiss_2, tapu_lele_1, venusaur_mega_2, gallade_mega_1, carracosta_1, volcarona_2, haxorus_2, araquanid_1, pyukumuku_1, pheromosa_3, pheromosa_2, pheromosa_1, vigoroth_1, kyurem_1, magearna_1, manaphy_1, kommoo_1, genesect_1, jumpluff_1, medicham_mega_1, zygarde_complete_1, slowbro_mega_1, slowbro_mega_2, gardevoir_mega_1, audino_mega_1, altaria_mega_1, altaria_mega_2, meloetta_1, aron_1, mew_2, lopunny_mega_1, ferrothorn_1, chansey_1, celesteela_1, smeargle_1, tyranitar_mega_1, tapu_fini_1, tapu_fini_2, primarina_1, zeraora_1, volcarona_1, riolu_1, sableye_mega_1, mawile_mega_1, raikou_1, kartana_2, krookodile_1, heracross_mega_1, durant_1, diancie_mega_1, deoxys_s_1, sawk_1, xurkitree_1, blaziken_mega_1, clefable_1, illumise_1, vivillon_1, terrakion_1, magearna_2, mienshao_1, type_null_1]
  469. #for all Vigoroth sets
  470. vigoroth_1.lmatchups = [togekiss_2, togekiss_1, celesteela_2, greninja_4, venusaur_mega_2, dragonite_4, gallade_mega_1, carracosta_1, deoxys_s_2, volcarona_2, zapdos_1, rotom_wash_1, pheromosa_3, pheromosa_2, pheromosa_1, illumise_1, kyurem_1, naganadel_1, dragonite_2, charizard_mega_y_2, charizard_mega_y, manaphy_1, kommoo_1, genesect_1, genesect_1, greninja_1, greninja_2, greninja_3, medicham_mega_1, slowbro_mega_2, slowbro_mega_1, tapu_lele_1, porygonz_2, porygonz_1, gardevoir_mega_1, altaria_mega_2, altaria_mega_1, magnezone_1, meloetta_1, mew_1, heatran_1, heatran_1, garchomp_1, venusaur_mega_1, smeargle_1, latias_mega_1, tapu_fini_1, tapu_fini_2, primarina_1, blastoise_mega_1, zeraora_1, volcarona_1, victini_2, sableye_mega_1, pinser_mega_1, necrozma_1, raikou_1, kartana_1, krookodile_1, hoopau_1, heracross_mega_1, diancie_mega_1, deoxys_s_1, sawk_1, xurkitree_1, cresselia_1, blaziken_mega_1, clefable_1, stunfisk_1, salazzle_1, whimsicott_1, excadrill_1, terrakion_1, magearna_2, mienshao_1, porygonz_3, charizard_mega_x_3, infernape_1, type_null_1, meloetta_2, magnezone_2]
  471. #for all Rampardos sets
  472. rampardos_1.lmatchups = [celesteela_2, landorus_therian_2, gyarados_mega_5, greninja_4, venusaur_mega_2, dragonite_4, dragonite_3, gallade_mega_1, carracosta_1, avalugg_1, swampert_mega_1, deoxys_s_2, donphan_2, porygon2_1, rotom_wash_1, pheromosa_3, pheromosa_2, rampardos_2, gyarados_mega, gyarados_mega_2, gyarados_mega_3, gyarados_mega_4, naganadel_1, metagross_mega_1, metagross_mega_2, magearna_1, dragonite_1, dragonite_2, manaphy_1, kommoo_1, genesect_2, greninja_1, greninja_2, greninja_3, medicham_mega_1, slowbro_mega_1, slowbro_mega_2, tapu_lele_1, gardevoir_mega_1, donphan_1, audino_mega_1, altaria_mega_1, altaria_mega_2, aegislash_1, magnezone_1, meloetta_1, aron_1, mew_1, mew_2, lopunny_mega_1, heatran_1, heatran_2, chansey_1, aggron_mega_1, venusaur_mega_1, latias_mega_1, tapu_fini_1, tapu_fini_2, primarina_1, blastoise_mega_1, zeraora_1, riolu_1, sableye_mega_1, necrozma_1, mawile_mega_1, raikou_1, krookodile_1, hoopau_1, heracross_mega_1, haxorus_1, golem_1, deoxys_s_1, sawk_1, crustle_1, cresselia_1, blaziken_mega_1, clefable_1, stunfisk_1, darmanitan_1, whimsicott_1, terrakion_1, magearna_2, mienshao_1, garchomp_2, umbreon_1, vigoroth_1, weavile_2, porygonz_3, zeraora_2, type_null_1, meloetta_2, magnezone_2]
  473. rampardos_2.lmatchups = [celesteela_2, scizor_mega_1, landorus_therian_2, gyarados_mega_5, greninja_4, venusaur_mega_2, gallade_mega_1, carracosta_1, avalugg_1, swampert_mega_1, deoxys_s_2, donphan_2, porygon2_1, rotom_wash_1, pheromosa_3, pheromosa_2, gyarados_mega, gyarados_mega_2, gyarados_mega_3, gyarados_mega_4, naganadel_1, metagross_mega_1, metagross_mega_2, magearna_1, manaphy_1, kommoo_1, genesect_1, genesect_2, landorus_therian_1, greninja_1, greninja_3, greninja_2, medicham_mega_1, zygarde_complete_1, slowbro_mega_2, slowbro_mega_1, tapu_lele_1, donphan_1, audino_mega_1, altaria_mega_1, altaria_mega_2, aegislash_1, meloetta_1, mew_1, mew_2, lopunny_mega_1, heatran_1, garchomp_2, garchomp_1, ferrothorn_1, chansey_1, celesteela_1, aggron_mega_1, venusaur_mega_1, latias_mega_1, tapu_fini_1, tapu_fini_2, primarina_1, blastoise_mega_1, zeraora_1, riolu_1, sableye_mega_1, necrozma_1, mawile_mega_1, raikou_1, krookodile_1, hoopau_1, heracross_mega_1, haxorus_1, golem_1, deoxys_s_1, sawk_1, cresselia_1, blaziken_mega_1, clefable_1, stunfisk_1, illumise_1, darmanitan_1, whimsicott_1, magearna_2, mienshao_1, umbreon_1, vigoroth_1, weavile_2, zeraora_2, type_null_1, meloetta_2]
  474. #for all Pheromosa sets
  475. pheromosa_1.lmatchups = [togekiss_2, togekiss_1, celesteela_2, scizor_mega_1, landorus_therian_2, greninja_4, venusaur_mega_2, dragonite_4, dragonite_3, gallade_mega_1, carracosta_1, swampert_mega_1, deoxys_s_2, volcarona_2, araquanid_1, pyukumuku_1, zapdos_1, rotom_wash_1, pheromosa_3, pheromosa_2, naganadel_1, metagross_mega_2, magearna_1, dragonite_1, dragonite_2, charizard_mega_y, charizard_mega_y_2, charizard_mega_x, charizard_mega_x_2, manaphy_1, kommoo_1, genesect_1, genesect_2, greninja_1, greninja_2, greninja_3, medicham_mega_1, slowbro_mega_1, slowbro_mega_2, tapu_lele_1, porygonz_2, gardevoir_mega_1, audino_mega_1, altaria_mega_1, altaria_mega_2, aegislash_1, magnezone_1, meloetta_1, aron_1, mew_1, mew_2, lopunny_mega_1, chansey_1, celesteela_1, venusaur_mega_1, latias_mega_1, tapu_fini_1, tapu_fini_2, primarina_1, blastoise_mega_1, zeraora_1, volcarona_1, riolu_1, victini_2, victini_1, sableye_mega_1, pinser_mega_1, necrozma_1, blacephalon_1, raikou_1, heracross_mega_1, diancie_mega_1, deoxys_s_1, crustle_1, cresselia_1, blaziken_mega_1, clefable_1, stunfisk_1, illumise_1, shedinja_1, salazzle_1, darmanitan_1, whimsicott_1, magearna_2, rampardos_2, weavile_2, charizard_mega_x_3, zeraora_2, necrozma_2, meloetta_2, magnezone_2]
  476. pheromosa_2.lmatchups = [togekiss_2, togekiss_1, celesteela_2, scizor_mega_1, landorus_therian_2, gyarados_mega_5, venusaur_mega_2, dragonite_4, dragonite_3, gallade_mega_1, carracosta_1, avalugg_1, swampert_mega_1, deoxys_s_2, donphan_2, araquanid_1, zapdos_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, gyarados_mega_4, metagross_mega_1, metagross_mega_2, magearna_1, dragonite_1, dragonite_2, charizard_mega_y_2, charizard_mega_x, charizard_mega_x_2, kommoo_1, genesect_1, zygarde_complete_1, slowbro_mega_2, slowbro_mega_1, tapu_lele_1, donphan_1, audino_mega_1, altaria_mega_1, altaria_mega_2, aegislash_1, meloetta_1, mew_1, mew_2, celesteela_1, aggron_mega_1, venusaur_mega_1, latias_mega_1, tapu_fini_1, tapu_fini_2, primarina_1, blastoise_mega_1, riolu_1, victini_1, victini_2, sableye_mega_1, pinser_mega_1, necrozma_1, blacephalon_1, mawile_mega_1, heracross_mega_1, haxorus_1, golem_1, deoxys_s_1, sawk_1, crustle_1, cresselia_1, blaziken_mega_1, clefable_1, stunfisk_1, illumise_1, shedinja_1, darmanitan_1, whimsicott_1, magearna_2, garchomp_2, charizard_mega_x_3, necrozma_2, meloetta_2, magnezone_2]
  477. pheromosa_3.lmatchups = [togekiss_2, togekiss_1, celesteela_2, scizor_mega_1, landorus_therian_2, gyarados_mega_5, dragonite_4, dragonite_3, gallade_mega_1, carracosta_1, avalugg_1, swampert_mega_1, deoxys_s_2, donphan_2, araquanid_1, pyukumuku_1, zapdos_1, rotom_wash_1, charizard_mega_x_2, gyarados_mega, gyarados_mega_2, gyarados_mega_3, gyarados_mega_4, metagross_mega_1, metagross_mega_2, magearna_1, dragonite_1, dragonite_2, manaphy_1, kommoo_1, tapu_lele_1, gardevoir_mega_1, donphan_1, audino_mega_1, altaria_mega_1, altaria_mega_2, aegislash_1, magnezone_1, aron_1, celesteela_1, aggron_mega_1, venusaur_mega_1, tapu_fini_1, tapu_fini_2, primarina_1, blastoise_mega_1, riolu_1, victini_1, victini_2, pinser_mega_1, necrozma_1, heracross_mega_1, golem_1, diancie_mega_1, deoxys_s_1, sawk_1, crustle_1, cresselia_1, blaziken_mega_1, clefable_1, stunfisk_1, darmanitan_1, magearna_2, garchomp_2, meloetta_2, magnezone_2]
  478. #for all Rotom-Wash sets
  479. rotom_wash_1.lmatchups = [venusaur_mega_2, dragonite_4, dragonite_3, deoxys_s_2, volcarona_2, salamence_1, hoopau_2, haxorus_2, porygon2_1, zapdos_1, kyurem_1, naganadel_1, metagross_mega_2, magearna_1, dragonite_2, charizard_mega_x, charizard_mega_x_2, kommoo_1, jumpluff_1, medicham_mega_1, zygarde_complete_1, tapu_lele_1, porygonz_2, porygonz_1, gardevoir_mega_1, audino_mega_1, altaria_mega_1, altaria_mega_2, aegislash_1, magnezone_1, meloetta_1, mew_1, mew_2, lopunny_mega_1, heatran_2, ferrothorn_1, chansey_1, venusaur_mega_1, smeargle_1, latias_mega_1, archeops_1, zeraora_1, volcarona_1, victini_1, victini_2, sableye_mega_1, raikou_1, kartana_1, kartana_2, heracross_mega_1, haxorus_1, xurkitree_1, cresselia_1, clefable_1, vivillon_1, whimsicott_1, excadrill_1, garchomp_2, umbreon_1, pheromosa_2, weavile_1, porygonz_3, charizard_mega_x_3, zeraora_2, necrozma_2, type_null_1, meloetta_2, magnezone_2]
  480. #for all Zapdos sets
  481. zapdos_1.lmatchups = [greninja_4, dragonite_4, dragonite_3, carracosta_1, swampert_mega_1, haxorus_2, kyurem_1, umbreon_1, naganadel_1, charizard_mega_x_2, charizard_mega_x, charizard_mega_y, charizard_mega_y_2, kommoo_1, genesect_1, genesect_2, landorus_therian_1, jumpluff_1, greninja_1, greninja_2, greninja_3, zygarde_complete_1, tapu_lele_1, porygonz_1, porygonz_2, gardevoir_mega_1, donphan_1, aegislash_1, magnezone_1, meloetta_1, aron_1, mew_1, mew_2, garchomp_1, venusaur_mega_1, smeargle_1, tyranitar_mega_1, latias_mega_1, archeops_1, zeraora_1, volcarona_1, sableye_mega_1, necrozma_1, raikou_1, krookodile_1, golem_1, diancie_mega_1, crustle_1, xurkitree_1, stunfisk_1, vivillon_1, shedinja_1, whimsicott_1, excadrill_1, terrakion_1, magearna_2, garchomp_2, rampardos_2, rampardos_1, porygonz_3, charizard_mega_x_3, infernape_1, zeraora_2, meloetta_2, magnezone_2]
  482. #for all Porygon2 sets
  483. porygon2_1.lmatchups = [togekiss_2, celesteela_2, scizor_mega_1, venusaur_mega_2, gallade_mega_1, deoxys_s_2, volcarona_2, araquanid_1, pyukumuku_1, kyurem_1, metagross_mega_1, metagross_mega_2, magearna_1, manaphy_1, kommoo_1, medicham_mega_1, slowbro_mega_1, slowbro_mega_2, tapu_lele_1, porygonz_2, gardevoir_mega_1, audino_mega_1, magnezone_1, meloetta_1, aron_1, mew_1, mew_2, lopunny_mega_1, ferrothorn_1, chansey_1, celesteela_1, aggron_mega_1, venusaur_mega_1, smeargle_1, tyranitar_mega_1, tapu_fini_1, tapu_fini_2, zeraora_1, volcarona_1, riolu_1, sableye_mega_1, mawile_mega_1, raikou_1, kartana_2, kartana_1, incineroar_1, hoopau_1, heracross_mega_1, durant_1, sawk_1, crustle_1, xurkitree_1, cresselia_1, blaziken_mega_1, clefable_1, illumise_1, vivillon_1, whimsicott_1, terrakion_1, mienshao_1, umbreon_1, vigoroth_1, pheromosa_1, pheromosa_2, pheromosa_3, zapdos_1, infernape_1, necrozma_2, type_null_1, magnezone_2]
  484. #for all Pyukumuku sets
  485. pyukumuku_1.lmatchups = [celesteela_2, gyarados_mega_5, dragonite_3, sableye_mega_1, hoopau_2, haxorus_2, araquanid_1, aegislash_1, gyarados_mega_3, gyarados_mega_4, charizard_mega_x, kommoo_1, jumpluff_1, greninja_2, medicham_mega_1, porygonz_1, audino_mega_1, magnezone_1, aron_1, mew_2, lopunny_mega_1, heatran_2, ferrothorn_1, venusaur_mega_1, smeargle_1, tyranitar_mega_1, tapu_fini_1, archeops_1, zeraora_1, victini_1, pinser_mega_1, blacephalon_1, mawile_mega_1, mawile_mega_1, raikou_1, kartana_1, kartana_2, krookodile_1, heracross_mega_1, xurkitree_1, blaziken_mega_1, vivillon_1, salazzle_1, whimsicott_1, excadrill_1, terrakion_1, mienshao_1, vigoroth_1, rampardos_1, rampardos_2, pheromosa_2, rotom_wash_1, zapdos_1, weavile_1, zeraora_2, type_null_1, meloetta_2, magnezone_2]
  486. #for all Araquanid sets
  487. araquanid_1.lmatchups = [landorus_therian_2, gyarados_mega_5, venusaur_mega_2, dragonite_4, dragonite_3, carracosta_1, salamence_1, haxorus_2, vigoroth_1, gyarados_mega, gyarados_mega_2, gyarados_mega_4, metagross_mega_1, metagross_mega_2, dragonite_1, dragonite_2, manaphy_1, jumpluff_1, medicham_mega_1, zygarde_complete_1, porygonz_1, donphan_1, magnezone_1, aegislash_1, aron_1, lopunny_mega_1, garchomp_1, ferrothorn_1, aggron_mega_1, venusaur_mega_1, smeargle_1, tyranitar_mega_1, archeops_1, zeraora_1, victini_1, pinser_mega_1, necrozma_1, raikou_1, kartana_2, kartana_1, heracross_mega_1, haxorus_1, golem_1, diancie_mega_1, sawk_1, crustle_1, xurkitree_1, vivillon_1, whimsicott_1, terrakion_1, mienshao_1, rampardos_1, rampardos_2, rotom_wash_1, zapdos_1, weavile_1, zeraora_2, type_null_1, magnezone_2]
  488. #for all Salamence sets
  489. salamence_1.lmatchups = [togekiss_2, togekiss_1, celesteela_2, scizor_mega_1, greninja_4, venusaur_mega_2, dragonite_4, avalugg_1, swampert_mega_1, deoxys_s_2, hoopau_1, heatran_1, naganadel_1, magearna_1, dragonite_2, genesect_2, genesect_1, jumpluff_1, greninja_1, greninja_2, greninja_3, medicham_mega_1, slowbro_mega_1, slowbro_mega_2, tapu_lele_1, porygonz_1, porygonz_2, gardevoir_mega_1, audino_mega_1, altaria_mega_1, altaria_mega_2, aegislash_1, magnezone_1, meloetta_1, aron_1, mew_2, chansey_1, venusaur_mega_1, tyranitar_mega_1, latias_mega_1, tapu_fini_1, tapu_fini_2, primarina_1, blastoise_mega_1, archeops_1, victini_2, sableye_mega_1, necrozma_1, blacephalon_1, mawile_mega_1, raikou_1, incineroar_1, diancie_mega_1, deoxys_s_1, crustle_1, xurkitree_1, cresselia_1, clefable_1, illumise_1, vivillon_1, shedinja_1, whimsicott_1, magearna_2, umbreon_1, vigoroth_1, rampardos_1, rampardos_2, pheromosa_3, pheromosa_2, pheromosa_1, zapdos_1, porygon2_1, haxorus_2, pyukumuku_1, weavile_1, weavile_2, porygonz_3, necrozma_2, type_null_1, meloetta_2, magnezone_2]
  490. #for all Swampert-Mega sets
  491. swampert_mega_1.lmatchups = [togekiss_2, togekiss_1, celesteela_2, scizor_mega_1, gyarados_mega_5, venusaur_mega_2, gallade_mega_1, avalugg_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, gyarados_mega_4, kyurem_1, charizard_mega_y, charizard_mega_y_2, charizard_mega_x, charizard_mega_x_2, kommoo_1, jumpluff_1, greninja_1, greninja_2, slowbro_mega_1, slowbro_mega_2, tapu_lele_1, porygonz_1, audino_mega_1, altaria_mega_2, mew_2, heatran_2, ferrothorn_1, chansey_1, celesteela_1, venusaur_mega_1, smeargle_1, latias_mega_1, tapu_fini_1, tapu_fini_2, volcarona_1, sableye_mega_1, pinser_mega_1, necrozma_1, kartana_1, kartana_2, heracross_mega_1, diancie_mega_1, cresselia_1, clefable_1, illumise_1, vivillon_1, shedinja_1, whimsicott_1, excadrill_1, umbreon_1, vigoroth_1, rotom_wash_1, porygon2_1, pyukumuku_1, araquanid_1, deoxys_s_2, necrozma_2, type_null_1]
  492. #for all Avalugg sets
  493. avalugg_1.lmatchups = [togekiss_2, togekiss_1, scizor_mega_1, tapu_lele_1, venusaur_mega_2, gallade_mega_1, carracosta_1, kyurem_1, metagross_mega_1, magearna_1, charizard_mega_y, charizard_mega_y_2, charizard_mega_x_2, charizard_mega_x, jumpluff_1, greninja_1, greninja_2, greninja_3, medicham_mega_1, slowbro_mega_1, slowbro_mega_2, porygonz_1, gardevoir_mega_1, audino_mega_1, altaria_mega_2, altaria_mega_1, meloetta_1, aron_1, mew_2, mew_1, lopunny_mega_1, heatran_1, ferrothorn_1, chansey_1, celesteela_1, venusaur_mega_1, smeargle_1, tyranitar_mega_1, latias_mega_1, primarina_1, blastoise_mega_1, victini_2, sableye_mega_1, necrozma_1, mawile_mega_1, kartana_2, kartana_1, incineroar_1, hoopau_1, heracross_mega_1, golem_1, durant_1, diancie_mega_1, sawk_1, crustle_1, cresselia_1, clefable_1, stunfisk_1, illumise_1, vivillon_1, shedinja_1, salazzle_1, whimsicott_1, mienshao_1, umbreon_1, vigoroth_1, pheromosa_1, rotom_wash_1, porygon2_1, pyukumuku_1, araquanid_1, deoxys_s_2, infernape_1, necrozma_2, type_null_1, magnezone_1, magnezone_2]
  494. #for all Carracosta sets
  495. carracosta_1.lmatchups = [gyarados_mega_5, venusaur_mega_2, dragonite_4, dragonite_3, gallade_mega_1, latias_mega_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, gyarados_mega_4, naganadel_1, metagross_mega_1, metagross_mega_2, dragonite_1, dragonite_2, manaphy_1, kommoo_1, jumpluff_1, greninja_1, medicham_mega_1, zygarde_complete_1, slowbro_mega_1, slowbro_mega_2, altaria_mega_1, altaria_mega_2, aegislash_1, aron_1, mew_1, mew_2, lopunny_mega_1, garchomp_1, ferrothorn_1, venusaur_mega_1, smeargle_1, tapu_fini_1, tapu_fini_2, primarina_1, blastoise_mega_1, necrozma_1, raikou_1, heracross_mega_1, haxorus_1, cresselia_1, clefable_1, vivillon_1, whimsicott_1, excadrill_1, mienshao_1, garchomp_2, rotom_wash_1, porygon2_1, haxorus_2, salamence_1, pyukumuku_1, swampert_mega_1, infernape_1, zeraora_2]
  496. #for all Gallade-Mega sets
  497. gallade_mega_1.lmatchups = [togekiss_2, togekiss_1, celesteela_2, landorus_therian_2, greninja_4, venusaur_mega_2, dragonite_4, dragonite_3, riolu_1, naganadel_1, magearna_1, dragonite_2, dragonite_1, kommoo_1, genesect_1, landorus_therian_1, jumpluff_1, greninja_1, greninja_2, greninja_3, zygarde_complete_1, slowbro_mega_2, slowbro_mega_1, tapu_lele_1, porygonz_2, gardevoir_mega_1, altaria_mega_1, altaria_mega_2, aegislash_1, magnezone_1, meloetta_1, mew_1, mew_2, venusaur_mega_1, latias_mega_1, tapu_fini_1, tapu_fini_2, primarina_1, archeops_1, zeraora_1, victini_1, victini_2, sableye_mega_1, pinser_mega_1, necrozma_1, blacephalon_1, mawile_mega_1, raikou_1, kartana_1, kartana_2, hoopau_1, heracross_mega_1, durant_1, diancie_mega_1, deoxys_s_1, xurkitree_1, cresselia_1, clefable_1, stunfisk_1, illumise_1, salazzle_1, whimsicott_1, magearna_2, garchomp_2, zapdos_1, salamence_1, pyukumuku_1, araquanid_1, deoxys_s_2, infernape_1, necrozma_2, meloetta_2, magnezone_2]
  498. #for all Scizor-Mega sets
  499. scizor_mega_1.lmatchups = [celesteela_2, gyarados_mega_3, gyarados_mega_4, kyurem_1, naganadel_1, dragonite_2, charizard_mega_y, charizard_mega_y_2, charizard_mega_x, charizard_mega_x_2, manaphy_1, kommoo_1, genesect_1, genesect_2, jumpluff_1, greninja_2, medicham_mega_1, slowbro_mega_1, slowbro_mega_2, porygonz_1, altaria_mega_1, altaria_mega_2, aegislash_1, magnezone_1, meloetta_1, mew_1, mew_2, heatran_1, heatran_2, garchomp_1, celesteela_1, smeargle_1, tapu_fini_1, tapu_fini_2, primarina_1, blastoise_mega_1, zeraora_1, volcarona_1, victini_1, victini_2, pinser_mega_1, necrozma_1, blacephalon_1, raikou_1, kartana_1, krookodile_1, incineroar_1, hoopau_1, xurkitree_1, cresselia_1, blaziken_mega_1, stunfisk_1, illumise_1, vivillon_1, shedinja_1, salazzle_1, darmanitan_1, whimsicott_1, excadrill_1, magearna_2, umbreon_1, vigoroth_1, rampardos_1, rotom_wash_1, zapdos_1, hoopau_2, volcarona_2, pyukumuku_1, araquanid_1, carracosta_1, gallade_mega_1, dragonite_4, venusaur_mega_2, greninja_4, porygonz_3, charizard_mega_x_3, infernape_1, type_null_1, magnezone_2]
  500. #for all Togekiss sets
  501. togekiss_1.lmatchups = [kyurem_1, naganadel_1, metagross_mega_1, metagross_mega_2, magearna_1, dragonite_1, jumpluff_1, medicham_mega_1, slowbro_mega_2, slowbro_mega_1, gardevoir_mega_1, audino_mega_1, aegislash_1, magnezone_1, meloetta_1, meloetta_1, mew_2, lopunny_mega_1, garchomp_1, ferrothorn_1, chansey_1, celesteela_1, aggron_mega_1, smeargle_1, tyranitar_mega_1, tapu_fini_1, tapu_fini_2, archeops_1, zeraora_1, victini_1, sableye_mega_1, pinser_mega_1, mawile_mega_1, raikou_1, kartana_2, durant_1, diancie_mega_1, xurkitree_1, cresselia_1, blaziken_mega_1, clefable_1, stunfisk_1, vivillon_1, salazzle_1, whimsicott_1, terrakion_1, magearna_2, mienshao_1, umbreon_1, rampardos_1, rampardos_2, rotom_wash_1, zapdos_1, haxorus_2, hoopau_2, volcarona_2, pyukumuku_1, carracosta_1, scizor_mega_1, celesteela_2, weavile_2, zeraora_2, necrozma_2, type_null_1, magnezone_2]
  502. togekiss_2.lmatchups = [kyurem_1, naganadel_1, metagross_mega_1, metagross_mega_2, magearna_1, charizard_mega_y, charizard_mega_y_2, manaphy_1, genesect_1, genesect_2, jumpluff_1, greninja_2, slowbro_mega_2, tapu_lele_1, porygonz_1, porygonz_2, gardevoir_mega_1, audino_mega_1, aegislash_1, magnezone_1, meloetta_1, aron_1, mew_1, mew_2, heatran_1, heatran_2, ferrothorn_1, chansey_1, celesteela_1, smeargle_1, tapu_fini_1, tapu_fini_2, archeops_1, zeraora_1, volcarona_1, necrozma_1, blacephalon_1, mawile_mega_1, raikou_1, kartana_2, durant_1, diancie_mega_1, deoxys_s_1, xurkitree_1, cresselia_1, clefable_1, stunfisk_1, vivillon_1, shedinja_1, salazzle_1, whimsicott_1, terrakion_1, magearna_2, rampardos_2, rampardos_1, rotom_wash_1, zapdos_1, hoopau_2, volcarona_2, pyukumuku_1, carracosta_1, venusaur_mega_2, scizor_mega_1, celesteela_2, porygonz_3, infernape_1, zeraora_2, necrozma_2, meloetta_2, magnezone_2]
  503. #for all Weavile sets
  504. weavile_1.lmatchups = [crustle_1, gyarados_mega, gyarados_mega_2, gyarados_mega_3, gyarados_mega_4, gyarados_mega_5, kyurem_1, naganadel_1, magearna_1, magearna_2, charizard_mega_x_2, kommoo_1, genesect_1, genesect_2, landorus_therian_2, greninja_1, greninja_2, greninja_3, greninja_4, porygonz_2, donphan_1, donphan_2, altaria_mega_1, altaria_mega_2, lopunny_mega_1, garchomp_2, ferrothorn_1, celesteela_1, celesteela_2, aggron_mega_1, tyranitar_mega_1, tapu_fini_1, tapu_fini_2, primarina_1, blastoise_mega_1, zeraora_1, sableye_mega_1, mawile_mega_1, raikou_1, kartana_1, kartana_2, krookodile_1, incineroar_1, heracross_mega_1, haxorus_1, golem_1, durant_1, diancie_mega_1, deoxys_s_1, sawk_1, blaziken_mega_1, clefable_1, stunfisk_1, salazzle_1, darmanitan_1, terrakion_1, umbreon_1, vigoroth_1, rampardos_1, rampardos_2, pheromosa_1, pheromosa_2, pheromosa_3, zapdos_1, porygon2_1, swampert_mega_1, avalugg_1, carracosta_1, scizor_mega_1, togekiss_1, togekiss_2, weavile_2, charizard_mega_x_3, infernape_1, zeraora_2, type_null_1, magnezone_2]
  505. weavile_2.lmatchups = [gyarados_mega, gyarados_mega_2, gyarados_mega_3, gyarados_mega_4, gyarados_mega_5, metagross_mega_1, metagross_mega_2, magearna_1, magearna_2, charizard_mega_y_2, charizard_mega_x, charizard_mega_x_2, manaphy_1, genesect_1, genesect_2, landorus_therian_2, slowbro_mega_1, slowbro_mega_2, tapu_lele_1, porygonz_2, gardevoir_mega_1, audino_mega_1, altaria_mega_1, aegislash_1, lopunny_mega_1, garchomp_2, ferrothorn_1, chansey_1, celesteela_1, celesteela_2, aggron_mega_1, venusaur_mega_1, venusaur_mega_2, tapu_fini_1, tapu_fini_2, primarina_1, blastoise_mega_1, zeraora_1, volcarona_2, victini_2, sableye_mega_1, necrozma_1, mawile_mega_1, kartana_1, kartana_2, krookodile_1, incineroar_1, heracross_mega_1, haxorus_1, durant_1, diancie_mega_1, deoxys_s_1, sawk_1, crustle_1, xurkitree_1, blaziken_mega_1, clefable_1, illumise_1, darmanitan_1, umbreon_1, vigoroth_1, pheromosa_2, pheromosa_3, rotom_wash_1, zapdos_1, porygon2_1, pyukumuku_1, araquanid_1, swampert_mega_1, avalugg_1, carracosta_1, gallade_mega_1, scizor_mega_1, togekiss_2, porygonz_3, charizard_mega_x_3, infernape_1, zeraora_2, type_null_1, magnezone_2]
  506. #for all Infernape sets
  507. infernape_1.lmatchups = [gyarados_mega, gyarados_mega_2, gyarados_mega_3, gyarados_mega_4, gyarados_mega_5, naganadel_1, dragonite_1, dragonite_2, dragonite_3, dragonite_4, charizard_mega_x, charizard_mega_x_2, charizard_mega_x_3, manaphy_1, kommoo_1, landorus_therian_2, jumpluff_1, greninja_1, greninja_2, greninja_3, greninja_4, zygarde_complete_1, slowbro_mega_1, slowbro_mega_2, tapu_lele_1, porygonz_2, gardevoir_mega_1, audino_mega_1, altaria_mega_1, altaria_mega_2, meloetta_1, mew_2, lopunny_mega_1, garchomp_1, garchomp_2, chansey_1, latias_mega_1, tapu_fini_1, tapu_fini_2, primarina_1, blastoise_mega_1, archeops_1, zeraora_1, volcarona_1, volcarona_2, victini_1, victini_2, sableye_mega_1, blacephalon_1, raikou_1, kartana_2, hoopau_1, haxorus_1, durant_1, diancie_mega_1, deoxys_s_1, deoxys_s_2, sawk_1, cresselia_1, blaziken_mega_1, clefable_1, salazzle_1, darmanitan_1, umbreon_1, rampardos_1, rampardos_2, pheromosa_1, pheromosa_2, pheromosa_3, rotom_wash_1, pyukumuku_1, araquanid_1, salamence_1, swampert_mega_1, togekiss_1, zeraora_2, necrozma_2, meloetta_2]
  508. #for all Type: Null sets
  509. type_null_1.lmatchups = [gyarados_mega_3, gyarados_mega_4, charizard_mega_y, charizard_mega_x, charizard_mega_x_3, manaphy_1, kommoo_1, jumpluff_1, greninja_2, medicham_mega_1, porygonz_1, gardevoir_mega_1, audino_mega_1, magnezone_1, aron_1, mew_1, lopunny_mega_1, celesteela_2, smeargle_1, tapu_fini_1, zeraora_1, volcarona_1, necrozma_2, blacephalon_1, mawile_mega_1, kartana_1, kartana_2, krookodile_1, incineroar_1, heracross_mega_1, xurkitree_1, blaziken_mega_1, illumise_1, vivillon_1, salazzle_1, whimsicott_1, terrakion_1, mienshao_1, pheromosa_1, pheromosa_2, pheromosa_3, zapdos_1, carracosta_1, gallade_mega_1, togekiss_2, magnezone_2]
  510.  
  511. #opponents losses list
  512. opponent_loss_1 = []
  513. opponent_loss_2 = []
  514. opponent_loss_3 = []
  515. opponent_loss_4 = []
  516.  
  517. #getting a mon object
  518. def getmon(mon):
  519.     #gyaradosmega
  520.     if mon == "gyarados mega" or mon == "mega gyarados" or mon == "megados" or mon == "gyarados" or mon == "gyara" or mon == "megagyarados" or mon == "gyaradosmega" or mon == "mgyara":
  521.         print()
  522.         print("1: " + gyarados_mega.name + ": " + gyarados_mega.nature + " nature, item: " + gyarados_mega.item + ", ev spread: " + gyarados_mega.ev_spread + ", \nmoveset: " + gyarados_mega.move1 + ", " + gyarados_mega.move2 + ", " + gyarados_mega.move3 + ", " + gyarados_mega.move4)
  523.         print("2: " + gyarados_mega_2.name + ": " + gyarados_mega_2.nature + " nature, item: " + gyarados_mega_2.item + ", ev spread: " + gyarados_mega_2.ev_spread + ", \nmoveset: " + gyarados_mega_2.move1 + ", " + gyarados_mega_2.move2 + ", " + gyarados_mega_2.move3 + ", " + gyarados_mega_2.move4)
  524.         print("3: " + gyarados_mega_3.name + ": " + gyarados_mega_3.nature + " nature, item: " + gyarados_mega_3.item + ", ev spread: " + gyarados_mega_3.ev_spread + ", \nmoveset: " + gyarados_mega_3.move1 + ", " + gyarados_mega_3.move2 + ", " + gyarados_mega_3.move3 + ", " + gyarados_mega_3.move4)
  525.         print("4: " + gyarados_mega_4.name + ": " + gyarados_mega_4.nature + " nature, item: " + gyarados_mega_4.item + ", ev spread: " + gyarados_mega_4.ev_spread + ", \nmoveset: " + gyarados_mega_4.move1 + ", " + gyarados_mega_4.move2 + ", " + gyarados_mega_4.move3 + ", " + gyarados_mega_4.move4)
  526.         print("5: " + gyarados_mega_5.name + ": " + gyarados_mega_5.nature + " nature, item: " + gyarados_mega_5.item + ", ev spread: " + gyarados_mega_5.ev_spread + ", \nmoveset: " + gyarados_mega_5.move1 + ", " + gyarados_mega_5.move2 + ", " + gyarados_mega_5.move3 + ", " + gyarados_mega_5.move4)
  527.         print()
  528.         choice = input("select a set (number in front of it): ")
  529.         if choice == "1":
  530.             return gyarados_mega
  531.         elif choice == "2":
  532.             return gyarados_mega_2
  533.         elif choice == "3":
  534.             return gyarados_mega_3
  535.         elif choice == "4":
  536.             return gyarados_mega_4
  537.         elif choice == "5":
  538.             return gyarados_mega_5
  539.     #zardx
  540.     elif mon == "charx" or mon == "charizardx" or mon == "zardx" or mon == "mega charizard x" or mon == "charizard mega x" or mon == "zard mega x" or mon == "charizard x":
  541.         print()
  542.         print("1: " + charizard_mega_x.name + ": " + charizard_mega_x.nature + " nature, item: " + charizard_mega_x.item + ", ev spread: " + charizard_mega_x.ev_spread + ", \nmoveset: " + charizard_mega_x.move1 + ", " + charizard_mega_x.move2 + ", " + charizard_mega_x.move3 + ", " + charizard_mega_x.move4)
  543.         print("2: " + charizard_mega_x_2.name + ": " + charizard_mega_x_2.nature + " nature, item: " + charizard_mega_x_2.item + ", ev spread: " + charizard_mega_x_2.ev_spread + ", \nmoveset: " + charizard_mega_x_2.move1 + ", " + charizard_mega_x_2.move2 + ", " + charizard_mega_x_2.move3 + ", " + charizard_mega_x_2.move4)
  544.         print("3: " + charizard_mega_x_3.name + ": " + charizard_mega_x_3.nature + " nature, item: " + charizard_mega_x_3.item + ", ev spread: " + charizard_mega_x_3.ev_spread + ", \nmoveset: " + charizard_mega_x_3.move1 + ", " + charizard_mega_x_3.move2 + ", " + charizard_mega_x_3.move3 + ", " + charizard_mega_x_3.move4)
  545.         print()
  546.         choice = input("select a set (number in front of it): ")
  547.         if choice == "1":
  548.             return charizard_mega_x
  549.         elif choice == "2":
  550.             return charizard_mega_x_2
  551.         elif choice == "3":
  552.             return charizard_mega_x_3
  553.     #zardy
  554.     elif mon == "chary" or mon == "charizardy" or mon == "zardy" or mon == "mega charizard y" or mon == "charizard mega y" or mon == "zard mega y":
  555.         print()
  556.         print("1: " + charizard_mega_y.name + ": " + charizard_mega_y.nature + " nature, item: " + charizard_mega_y.item + ", ev spread: " + charizard_mega_y.ev_spread + ", \nmoveset: " + charizard_mega_y.move1 + ", " + charizard_mega_y.move2 + ", " + charizard_mega_y.move3 + ", " + charizard_mega_y.move4)
  557.         print("2: " + charizard_mega_y_2.name + ": " + charizard_mega_y_2.nature + " nature, item: " + charizard_mega_y_2.item + ", ev spread:" + charizard_mega_y_2.ev_spread + ", \nmoveset: " + charizard_mega_y_2.move1 + ", " + charizard_mega_y_2.move2 + ", " + charizard_mega_y_2.move3 + ", " + charizard_mega_y_2.move4)
  558.         print()
  559.         choice = input("select a set (number in front of it): ")
  560.         if choice == "1":
  561.             return charizard_mega_y
  562.         elif choice == "2":
  563.             return charizard_mega_y_2
  564.     #dnite
  565.     elif mon == "dragonite" or mon == "dnite":
  566.         print()
  567.         print("1: " + dragonite_1.name + ": " + dragonite_1.nature + " nature, item: " + dragonite_1.item + ", ev spread: " + dragonite_1.ev_spread + ", \nmoveset: " + dragonite_1.move1 + ", " + dragonite_1.move2 + ", " + dragonite_1.move3 + ", " + dragonite_1.move4)
  568.         print("2: " + dragonite_2.name + ": " + dragonite_2.nature + " nature, item: " + dragonite_2.item + ", ev spread: " + dragonite_2.ev_spread + ", \nmoveset: " + dragonite_2.move1 + ", " + dragonite_2.move2 + ", " + dragonite_2.move3 + ", " + dragonite_2.move4)
  569.         print("3: " + dragonite_3.name + ": " + dragonite_3.nature + " nature, item: " + dragonite_3.item + ", ev spread: " + dragonite_3.ev_spread + ", \nmoveset: " + dragonite_3.move1 + ", " + dragonite_3.move2 + ", " + dragonite_3.move3 + ", " + dragonite_3.move4)
  570.         print("4: " + dragonite_4.name + ": " + dragonite_4.nature + " nature, item: " + dragonite_4.item + ", ev spread: " + dragonite_4.ev_spread + ", \nmoveset: " + dragonite_4.move1 + ", " + dragonite_4.move2 + ", " + dragonite_4.move3 + ", " + dragonite_4.move4)
  571.         print()
  572.         choice = input("select a set (number in front of it): ")
  573.         if choice == "1":
  574.             return dragonite_1
  575.         elif choice == "2":
  576.             return dragonite_2
  577.         elif choice == "3":
  578.             return dragonite_3
  579.         elif choice == "4":
  580.             return dragonite_4
  581.     #magearna
  582.     elif mon == "magearna" or mon == "mag":
  583.         print()
  584.         print("1: " + magearna_1.name + ": " + magearna_1.nature + " nature, item: " + magearna_1.item + ", ev spread: " + magearna_1.ev_spread + ", \nmoveset: " + magearna_1.move1 + ", " + magearna_1.move2 + ", " + magearna_1.move3 + ", " + magearna_1.move4)
  585.         print("2: " + magearna_2.name + ": " + magearna_2.nature + " nature, item: " + magearna_2.item + ", ev spread: " + magearna_2.ev_spread + ", \nmoveset: " + magearna_2.move1 + ", " + magearna_2.move2 + ", " + magearna_2.move3 + ", " + magearna_2.move4)
  586.         print()
  587.         choice = input("select a set (number in front of it): ")
  588.         if choice == "1":
  589.             return magearna_1
  590.         elif choice == "2":
  591.             return magearna_2
  592.     #megagross
  593.     elif mon == "mega metagross" or mon == "meta" or mon == "megagross" or mon == "metagross mega" or mon == "metagross" or mon == "mgross" or mon == "megametagross" or mon == "metagrossmega" or mon == "gross":
  594.         print()
  595.         print("1: " + metagross_mega_1.name + ": " + metagross_mega_1.nature + " nature, item: " + metagross_mega_1.item + ", ev spread: " + metagross_mega_1.ev_spread + ", \nmoveset: " + metagross_mega_1.move1 + ", " + metagross_mega_1.move2 + ", " + metagross_mega_1.move3 + ", " + metagross_mega_1.move4)
  596.         print("2: " + metagross_mega_2.name + ": " + metagross_mega_2.nature + " nature, item: " + metagross_mega_2.item + ", ev spread: " + metagross_mega_2.ev_spread + ", \nmoveset: " + metagross_mega_2.move1 + ", " + metagross_mega_2.move2 + ", " + metagross_mega_2.move3 + ", " + metagross_mega_2.move4)
  597.         print()
  598.         choice = input("select a set (number in front of it): ")
  599.         if choice == "1":
  600.             return metagross_mega_1
  601.         elif choice == "2":
  602.             return metagross_mega_2
  603.     #pz
  604.     elif mon == "porygonz" or mon == "pz" or mon == "poryz" or mon == "porygon z" or mon == "porygon":
  605.         print()
  606.         print("1: " + porygonz_1.name + ": " + porygonz_1.nature + " nature, item: " + porygonz_1.item + ", ev spread: " + porygonz_1.ev_spread + ", \nmoveset: " + porygonz_1.move1 + ", " + porygonz_1.move2 + ", " + porygonz_1.move3 + ", " + porygonz_1.move4)
  607.         print("2: " + porygonz_2.name + ": " + porygonz_2.nature + " nature, item: " + porygonz_2.item + ", ev spread: " + porygonz_2.ev_spread + ", \nmoveset: " + porygonz_2.move1 + ", " + porygonz_2.move2 + ", " + porygonz_2.move3 + ", " + porygonz_2.move4)
  608.         print("3: " + porygonz_3.name + ": " + porygonz_3.nature + " nature, item: " + porygonz_3.item + ", ev spread: " + porygonz_3.ev_spread + ", \nmoveset: " + porygonz_3.move1 + ", " + porygonz_3.move2 + ", " + porygonz_3.move3 + ", " + porygonz_3.move4)
  609.         print()
  610.         choice = input("select a set (number in front of it): ")
  611.         if choice == "1":
  612.             return porygonz_1
  613.         elif choice == "2":
  614.             return porygonz_2
  615.         elif choice == "3":
  616.             return porygonz_3
  617.     #tapu lele
  618.     elif mon == "tapu lele" or mon == "tapulele" or mon == "lele":
  619.         print()
  620.         print("1: " + tapu_lele_1.name + ": " + tapu_lele_1.nature + " nature, item: " + tapu_lele_1.item + ", ev spread: " + tapu_lele_1.ev_spread + ", \nmoveset: " + tapu_lele_1.move1 + ", " + tapu_lele_1.move2 + ", " + tapu_lele_1.move3 + ", " + tapu_lele_1.move4)
  621.         print()
  622.         choice = input("select a set (number in front of it): ")
  623.         if choice == "1":
  624.             return tapu_lele_1
  625.     #mega slowbro
  626.     elif mon == "slowbro" or mon == "slowbromega" or mon == "megabro" or mon == "mega slowbro" or mon == "slowbro mega" or mon == "bro":
  627.         print()
  628.         print("1: " + slowbro_mega_1.name + ": " + slowbro_mega_1.nature + " nature, item: " + slowbro_mega_1.item + ", ev spread: " + slowbro_mega_1.ev_spread + ", \nmoveset: " + slowbro_mega_1.move1 + ", " + slowbro_mega_1.move2 + ", " + slowbro_mega_1.move3 + ", " + slowbro_mega_1.move4)
  629.         print("2: " + slowbro_mega_2.name + ": " + slowbro_mega_2.nature + " nature, item: " + slowbro_mega_2.item + ", ev spread: " + slowbro_mega_2.ev_spread + ", \nmoveset: " + slowbro_mega_2.move1 + ", " + slowbro_mega_2.move2 + ", " + slowbro_mega_2.move3 + ", " + slowbro_mega_2.move4)
  630.         print()
  631.         choice = input("select a set (number in front of it): ")
  632.         if choice == "1":
  633.             return slowbro_mega_1
  634.         elif choice == "2":
  635.             return slowbro_mega_2
  636.     #zygod
  637.     elif mon == "zygardecomplete" or mon == "zygarde complete" or mon == "zygod" or mon == "zygarde" or mon == "zyg" or mon == "zygc" or mon == "zygarde c" or mon == "zygardec":
  638.         print()
  639.         print("1: " + zygarde_complete_1.name + ": " + zygarde_complete_1.nature + " nature, item: " + zygarde_complete_1.item + ", ev spread: " + zygarde_complete_1.ev_spread + ", \nmoveset: " + zygarde_complete_1.move1 + ", " + zygarde_complete_1.move2 + ", " + zygarde_complete_1.move3 + ", " + zygarde_complete_1.move4)
  640.         print()
  641.         choice = input("select a set (number in front of it): ")
  642.         if choice == "1":
  643.             return zygarde_complete_1
  644.     #greninja
  645.     elif mon == "greninja" or mon == "gren" or mon == "ninja":
  646.         print()
  647.         print("1: " + greninja_1.name + ": " + greninja_1.nature + " nature, item: " + greninja_1.item + ", ev spread: " + greninja_1.ev_spread + ", \nmoveset: " + greninja_1.move1 + ", " + greninja_1.move2 + ", " + greninja_1.move3 + ", " + greninja_1.move4)
  648.         print("2: " + greninja_2.name + ": " + greninja_2.nature + " nature, item: " + greninja_2.item + ", ev spread: " + greninja_2.ev_spread + ", \nmoveset: " + greninja_2.move1 + ", " + greninja_2.move2 + ", " + greninja_2.move3 + ", " + greninja_2.move4)
  649.         print("3: " + greninja_3.name + ": " + greninja_3.nature + " nature, item: " + greninja_3.item + ", ev spread: " + greninja_3.ev_spread + ", \nmoveset: " + greninja_3.move1 + ", " + greninja_3.move2 + ", " + greninja_3.move3 + ", " + greninja_3.move4)
  650.         print("4: " + greninja_4.name + ": " + greninja_4.nature + " nature, item: " + greninja_4.item + ", ev spread: " + greninja_4.ev_spread + ", \nmoveset: " + greninja_4.move1 + ", " + greninja_4.move2 + ", " + greninja_4.move3 + ", " + greninja_4.move4)
  651.         print()
  652.         choice = input("select a set (number in front of it): ")
  653.         if choice == "1":
  654.             return greninja_1
  655.         elif choice == "2":
  656.             return greninja_2
  657.         elif choice == "3":
  658.             return greninja_3
  659.         elif choice == "4":
  660.             return greninja_4
  661.     #jumpluff
  662.     elif mon == "jumpluff" or mon == "jump" or mon == "pluff":
  663.         print()
  664.         print("1: " + jumpluff_1.name + ": " + jumpluff_1.nature + " nature, item: " + jumpluff_1.item + ", ev spread: " + jumpluff_1.ev_spread + ", \nmoveset: " + jumpluff_1.move1 + ", " + jumpluff_1.move2 + ", " + jumpluff_1.move3 + ", " + jumpluff_1.move4)
  665.         print()
  666.         choice = input("select a set (number in front of it): ")
  667.         if choice == "1":
  668.             return jumpluff_1
  669.     #lando t
  670.     elif mon == "landot" or mon == "landorous t" or mon == "landorus therian" or mon == "lando t" or mon == "landorustherian" or mon == "landorust":
  671.         print()
  672.         print("1: " + landorus_therian_1.name + ": " + landorus_therian_1.nature + " nature, item: " + landorus_therian_1.item + ", ev spread: " + landorus_therian_1.ev_spread + ", \nmoveset: " + landorus_therian_1.move1 + ", " + landorus_therian_1.move2 + ", " + landorus_therian_1.move3 + ", " + landorus_therian_1.move4)
  673.         print("2: " + landorus_therian_2.name + ": " + landorus_therian_2.nature + " nature, item: " + landorus_therian_2.item + ", ev spread: " + landorus_therian_2.ev_spread + ", \nmoveset: " + landorus_therian_2.move1 + ", " + landorus_therian_2.move2 + ", " + landorus_therian_2.move3 + ", " + landorus_therian_2.move4)
  674.         print()
  675.         choice = input("select a set (number in front of it): ")
  676.         if choice == "1":
  677.             return landorus_therian_1
  678.         elif choice == "2":
  679.             return landorus_therian_2
  680.     #lopunny mega
  681.     elif mon == "mlop" or mon == "lop" or mon == "mega lop" or mon == "mega lopunny" or mon == "lopunny" or mon == "megalop" or mon == "megalopunny" or mon == "lopunnymega":
  682.         print()
  683.         print("1: " + lopunny_mega_1.name + ": " + lopunny_mega_1.nature + " nature, item: " + lopunny_mega_1.item + ", ev spread: " + lopunny_mega_1.ev_spread + ", \nmoveset: " + lopunny_mega_1.move1 + ", " + lopunny_mega_1.move2 + ", " + lopunny_mega_1.move3 + ", " + lopunny_mega_1.move4)
  684.         print()
  685.         choice = input("select a set (number in front of it): ")
  686.         if choice == "1":
  687.             return lopunny_mega_1
  688.     #mew
  689.     elif mon == "mew":
  690.         print()
  691.         print("1: " + mew_1.name + ": " + mew_1.nature + " nature, item: " + mew_1.item + ", ev spread: " + mew_1.ev_spread + ", \nmoveset: " + mew_1.move1 + ", " + mew_1.move2 + ", " + mew_1.move3 + ", " + mew_1.move4)
  692.         print("2: " + mew_2.name + ": " + mew_2.nature + " nature, item: " + mew_2.item + ", ev spread: " + mew_2.ev_spread + ", \nmoveset: " + mew_2.move1 + ", " + mew_2.move2 + ", " + mew_2.move3 + ", " + mew_2.move4)
  693.         print()
  694.         choice = input("select a set (number in front of it): ")
  695.         if choice == "1":
  696.             return mew_1
  697.         elif choice == "2":
  698.             return mew_2
  699.     #meloetta
  700.     elif mon == "meloetta" or mon == "melo":
  701.         print()
  702.         print("1: " + meloetta_1.name + ": " + meloetta_1.nature + " nature, item: " + meloetta_1.item + ", ev spread: " + meloetta_1.ev_spread + ", \nmoveset: " + meloetta_1.move1 + ", " + meloetta_1.move2 + ", " + meloetta_1.move3 + ", " + meloetta_1.move4)
  703.         print("2: " + meloetta_2.name + ": " + meloetta_2.nature + " nature, item: " + meloetta_2.item + ", ev spread: " + meloetta_2.ev_spread + ", \nmoveset: " + meloetta_2.move1 + ", " + meloetta_2.move2 + ", " + meloetta_2.move3 + ", " + meloetta_2.move4)
  704.         print()
  705.         choice = input("select a set (number in front of it): ")
  706.         if choice == "1":
  707.             return meloetta_1
  708.         elif choice == "2":
  709.             return meloetta_2
  710.     #magnezone
  711.     elif mon == "magnezone" or mon == "zone":
  712.         print()
  713.         print("1: " + magnezone_1.name + ": " + magnezone_1.nature + " nature, item: " + magnezone_1.item + ", ev spread: " + magnezone_1.ev_spread + ", \nmoveset: " + magnezone_1.move1 + ", " + magnezone_1.move2 + ", " + magnezone_1.move3 + ", " + magnezone_1.move4)
  714.         print("2: " + magnezone_2.name + ": " + magnezone_2.nature + " nature, item: " + magnezone_2.item + ", ev spread: " + magnezone_2.ev_spread + ", \nmoveset: " + magnezone_2.move1 + ", " + magnezone_2.move2 + ", " + magnezone_2.move3 + ", " + magnezone_2.move4)
  715.         print()
  716.         choice = input("select a set (number in front of it): ")
  717.         if choice == "1":
  718.             return magnezone_1
  719.         elif choice == "2":
  720.             return magnezone_2
  721.     #magnezone
  722.     elif mon == "togekiss" or mon == "toge" or mon == "kiss":
  723.         print()
  724.         print("1: " + togekiss_1.name + ": " + togekiss_1.nature + " nature, item: " + togekiss_1.item + ", ev spread: " + togekiss_1.ev_spread + ", \nmoveset: " + togekiss_1.move1 + ", " + togekiss_1.move2 + ", " + togekiss_1.move3 + ", " + togekiss_1.move4)
  725.         print("2: " + togekiss_2.name + ": " + togekiss_2.nature + " nature, item: " + togekiss_2.item + ", ev spread: " + togekiss_2.ev_spread + ", \nmoveset: " + togekiss_2.move1 + ", " + togekiss_2.move2 + ", " + togekiss_2.move3 + ", " + togekiss_2.move4)
  726.         print()
  727.         choice = input("select a set (number in front of it): ")
  728.         if choice == "1":
  729.             return togekiss_1
  730.         elif choice == "2":
  731.             return togekiss_2
  732.     #aegislash
  733.     elif mon == "aegi" or mon == "aegislash" or mon == "slash":
  734.         print()
  735.         print("1: " + aegislash_1.name + ": " + aegislash_1.nature + " nature, item: " + aegislash_1.item + ", ev spread: " + aegislash_1.ev_spread + ", \nmoveset: " + aegislash_1.move1 + ", " + aegislash_1.move2 + ", " + aegislash_1.move3 + ", " + aegislash_1.move4)
  736.         print()
  737.         choice = input("select a set (number in front of it): ")
  738.         if choice == "1":
  739.             return aegislash_1
  740.     #altaria
  741.     elif mon == "altaria" or mon == "altaria mega" or mon == "mega altaria" or mon == "altariamega" or mon == "megaaltaria":
  742.         print()
  743.         print("1: " + altaria_mega_1.name + ": " + altaria_mega_1.nature + " nature, item: " + altaria_mega_1.item + ", ev spread: " + altaria_mega_1.ev_spread + ", \nmoveset: " + altaria_mega_1.move1 + ", " + altaria_mega_1.move2 + ", " + altaria_mega_1.move3 + ", " + altaria_mega_1.move4)
  744.         print("2: " + altaria_mega_2.name + ": " + altaria_mega_2.nature + " nature, item: " + altaria_mega_2.item + ", ev spread: " + altaria_mega_2.ev_spread + ", \nmoveset: " + altaria_mega_2.move1 + ", " + altaria_mega_2.move2 + ", " + altaria_mega_2.move3 + ", " + altaria_mega_2.move4)
  745.         print()
  746.         choice = input("select a set (number in front of it): ")
  747.         if choice == "1":
  748.             return altaria_mega_1
  749.         elif choice == "2":
  750.             return altaria_mega_2
  751.     #donphan
  752.     elif mon == "donphan":
  753.         print()
  754.         print("1: " + donphan_1.name + ": " + donphan_1.nature + " nature, item: " + donphan_1.item + ", ev spread: " + donphan_1.ev_spread + ", \nmoveset: " + donphan_1.move1 + ", " + donphan_1.move2 + ", " + donphan_1.move3 + ", " + donphan_1.move4)
  755.         print("2: " + donphan_2.name + ": " + donphan_2.nature + " nature, item: " + donphan_2.item + ", ev spread: " + donphan_2.ev_spread + ", \nmoveset: " + donphan_2.move1 + ", " + donphan_2.move2 + ", " + donphan_2.move3 + ", " + donphan_2.move4)
  756.         print()
  757.         choice = input("select a set (number in front of it): ")
  758.         if choice == "1":
  759.             return donphan_1
  760.         elif choice == "2":
  761.             return donphan_2
  762.     #mega gardevoir
  763.     elif mon == mon == "gardevoir mega" or mon == "mega gardevoir" or mon == "megagardevoir" or mon == "gardevoirmega" or mon == "garde" or mon == "gardevoir" or mon == "mega garde" or mon == "megagarde":
  764.         print()
  765.         print("1: " + gardevoir_mega_1.name + ": " + gardevoir_mega_1.nature + " nature, item: " + gardevoir_mega_1.item + ", ev spread: " + gardevoir_mega_1.ev_spread + ", \nmoveset: " + gardevoir_mega_1.move1 + ", " + gardevoir_mega_1.move2 + ", " + gardevoir_mega_1.move3 + ", " + gardevoir_mega_1.move4)
  766.         print()
  767.         choice = input("select a set (number in front of it): ")
  768.         if choice == "1":
  769.             return gardevoir_mega_1
  770.     #genesect
  771.     elif mon == "gene" or mon == "genesect":
  772.         print()
  773.         print("1: " + genesect_1.name + ": " + genesect_1.nature + " nature, item: " + genesect_1.item + ", ev spread: " + genesect_1.ev_spread + ", \nmoveset: " + genesect_1.move1 + ", " + genesect_1.move2 + ", " + genesect_1.move3 + ", " + genesect_1.move4)
  774.         print("2: " + genesect_2.name + ": " + genesect_2.nature + " nature, item: " + genesect_2.item + ", ev spread: " + genesect_2.ev_spread + ", \nmoveset: " + genesect_2.move1 + ", " + genesect_2.move2 + ", " + genesect_2.move3 + ", " + genesect_2.move4)
  775.         print()
  776.         choice = input("select a set (number in front of it): ")
  777.         if choice == "1":
  778.             return genesect_1
  779.         elif choice == "2":
  780.             return genesect_2
  781.     #kommo-o
  782.     elif mon == "kommo-o" or mon == "kommoo" or mon == "kommo o":
  783.         print()
  784.         print("1: " + kommoo_1.name + ": " + kommoo_1.nature + " nature, item: " + kommoo_1.item + ", ev spread: " + kommoo_1.ev_spread + ", \nmoveset: " + kommoo_1.move1 + ", " + kommoo_1.move2 + ", " + kommoo_1.move3 + ", " + kommoo_1.move4)
  785.         print()
  786.         choice = input("select a set (number in front of it): ")
  787.         if choice == "1":
  788.             return kommoo_1
  789.     #naganadel
  790.     elif mon == "naga" or mon == "naganadel":
  791.         print()
  792.         print("1: " + naganadel_1.name + ": " + naganadel_1.nature + " nature, item: " + naganadel_1.item + ", ev spread: " + naganadel_1.ev_spread + ", \nmoveset: " + naganadel_1.move1 + ", " + naganadel_1.move2 + ", " + naganadel_1.move3 + ", " + naganadel_1.move4)
  793.         print()
  794.         choice = input("select a set (number in front of it): ")
  795.         if choice == "1":
  796.             return naganadel_1
  797.     #primarina
  798.     elif mon == "prim" or mon == "primarina" or mon == "prima":
  799.         print()
  800.         print("1: " + primarina_1.name + ": " + primarina_1.nature + " nature, item: " + primarina_1.item + ", ev spread: " + primarina_1.ev_spread + ", \nmoveset: " + primarina_1.move1 + ", " + primarina_1.move2 + ", " + primarina_1.move3 + ", " + primarina_1.move4)
  801.         print()
  802.         choice = input("select a set (number in front of it): ")
  803.         if choice == "1":
  804.             return primarina_1
  805.     #tapu fini
  806.     elif mon == "tapu fini" or mon == "fini" or mon == "tapufini":
  807.         print()
  808.         print("1: " + tapu_fini_1.name + ": " + tapu_fini_1.nature + " nature, item: " + tapu_fini_1.item + ", ev spread: " + tapu_fini_1.ev_spread + ", \nmoveset: " + tapu_fini_1.move1 + ", " + tapu_fini_1.move2 + ", " + tapu_fini_1.move3 + ", " + tapu_fini_1.move4)
  809.         print("2: " + tapu_fini_2.name + ": " + tapu_fini_2.nature + " nature, item: " + tapu_fini_2.item + ", ev spread: " + tapu_fini_2.ev_spread + ", \nmoveset: " + tapu_fini_2.move1 + ", " + tapu_fini_2.move2 + ", " + tapu_fini_2.move3 + ", " + tapu_fini_2.move4)
  810.         print()
  811.         choice = input("select a set (number in front of it): ")
  812.         if choice == "1":
  813.             return tapu_fini_1
  814.         elif choice == "2":
  815.             return tapu_fini_2
  816.     #tyranitar mega
  817.     elif mon == mon == "tyranitar mega" or mon == "mega tyranitar" or mon == "megatyranitar" or mon == "tyranitarmega" or mon == "ttar" or mon == "tyranitar" or mon == "ttar mega" or mon == "ttarmega" or mon == "megattar" or mon == "mega ttar":
  818.         print()
  819.         print("1: " + tyranitar_mega_1.name + ": " + tyranitar_mega_1.nature + " nature, item: " + tyranitar_mega_1.item + ", ev spread: " + tyranitar_mega_1.ev_spread + ", \nmoveset: " + tyranitar_mega_1.move1 + ", " + tyranitar_mega_1.move2 + ", " + tyranitar_mega_1.move3 + ", " + tyranitar_mega_1.move4)
  820.         print()
  821.         choice = input("select a set (number in front of it): ")
  822.         if choice == "1":
  823.             return tyranitar_mega_1
  824.     #venusaur mega
  825.     elif mon == mon == "venusaur mega" or mon == "mega venusaur" or mon == "megavenusaur" or mon == "venusaurmega" or mon == "venu" or mon == "venusaur" or mon == "venu mega" or mon == "venumega" or mon == "megavenu" or mon == "mega venu":
  826.         print()
  827.         print("1: " + venusaur_mega_1.name + ": " + venusaur_mega_1.nature + " nature, item: " + venusaur_mega_1.item + ", ev spread: " + venusaur_mega_1.ev_spread + ", \nmoveset: " + venusaur_mega_1.move1 + ", " + venusaur_mega_1.move2 + ", " + venusaur_mega_1.move3 + ", " + venusaur_mega_1.move4)
  828.         print("2: " + venusaur_mega_2.name + ": " + venusaur_mega_2.nature + " nature, item: " + venusaur_mega_2.item + ", ev spread: " + venusaur_mega_2.ev_spread + ", \nmoveset: " + venusaur_mega_2.move1 + ", " + venusaur_mega_2.move2 + ", " + venusaur_mega_2.move3 + ", " + venusaur_mega_2.move4)
  829.         print()
  830.         choice = input("select a set (number in front of it): ")
  831.         if choice == "1":
  832.             return venusaur_mega_1
  833.         elif choice == "2":
  834.             return venusaur_mega_2
  835.     #aggron mega
  836.     elif mon == mon == "aggron mega" or mon == "mega aggron" or mon == "megaaggron" or mon == "aggronmega" or mon == "aggron":
  837.         print()
  838.         print("1: " + aggron_mega_1.name + ": " + aggron_mega_1.nature + " nature, item: " + aggron_mega_1.item + ", ev spread: " + aggron_mega_1.ev_spread + ", \nmoveset: " + aggron_mega_1.move1 + ", " + aggron_mega_1.move2 + ", " + aggron_mega_1.move3 + ", " + aggron_mega_1.move4)
  839.         print()
  840.         choice = input("select a set (number in front of it): ")
  841.         if choice == "1":
  842.             return aggron_mega_1
  843.     #celesteela
  844.     elif mon == "celesteela" or mon == "cele" or mon == "celest":
  845.         print()
  846.         print("1: " + celesteela_1.name + ": " + celesteela_1.nature + " nature, item: " + celesteela_1.item + ", ev spread: " + celesteela_1.ev_spread + ", \nmoveset: " + celesteela_1.move1 + ", " + celesteela_1.move2 + ", " + celesteela_1.move3 + ", " + celesteela_1.move4)
  847.         print("2: " + celesteela_2.name + ": " + celesteela_2.nature + " nature, item: " + celesteela_2.item + ", ev spread: " + celesteela_2.ev_spread + ", \nmoveset: " + celesteela_2.move1 + ", " + celesteela_2.move2 + ", " + celesteela_2.move3 + ", " + celesteela_2.move4)
  848.         print()
  849.         choice = input("select a set (number in front of it): ")
  850.         if choice == "1":
  851.             return celesteela_1
  852.         elif choice == "2":
  853.             return celesteela_2
  854.     #chansey
  855.     elif mon == "chansey" or mon == "chans":
  856.         print()
  857.         print("1: " + chansey_1.name + ": " + chansey_1.nature + " nature, item: " + chansey_1.item + ", ev spread: " + chansey_1.ev_spread + ", \nmoveset: " + chansey_1.move1 + ", " + chansey_1.move2 + ", " + chansey_1.move3 + ", " + chansey_1.move4)
  858.         print()
  859.         choice = input("select a set (number in front of it): ")
  860.         if choice == "1":
  861.             return chansey_1
  862.     #ferrothorn
  863.     elif mon == "ferrothorn" or mon == "ferro" or mon == "thorn":
  864.         print()
  865.         print("1: " + ferrothorn_1.name + ": " + ferrothorn_1.nature + " nature, item: " + ferrothorn_1.item + ", ev spread: " + ferrothorn_1.ev_spread + ", \nmoveset: " + ferrothorn_1.move1 + ", " + ferrothorn_1.move2 + ", " + ferrothorn_1.move3 + ", " + ferrothorn_1.move4)
  866.         print()
  867.         choice = input("select a set (number in front of it): ")
  868.         if choice == "1":
  869.             return ferrothorn_1
  870.     #garchomp
  871.     elif mon == "garchomp" or mon == "chomp" or mon == "garch":
  872.         print()
  873.         print("1: " + garchomp_1.name + ": " + garchomp_1.nature + " nature, item: " + garchomp_1.item + ", ev spread: " + garchomp_1.ev_spread + ", \nmoveset: " + garchomp_1.move1 + ", " + garchomp_1.move2 + ", " + garchomp_1.move3 + ", " + garchomp_1.move4)
  874.         print("2: " + garchomp_2.name + ": " + garchomp_2.nature + " nature, item: " + garchomp_2.item + ", ev spread: " + garchomp_2.ev_spread + ", \nmoveset: " + garchomp_2.move1 + ", " + garchomp_2.move2 + ", " + garchomp_2.move3 + ", " + garchomp_2.move4)
  875.         print()
  876.         choice = input("select a set (number in front of it): ")
  877.         if choice == "1":
  878.             return garchomp_1
  879.         elif choice == "2":
  880.             return garchomp_2
  881.     #heatran
  882.     elif mon == "heatran" or mon == "tran" or mon == "heat":
  883.         print()
  884.         print("1: " + heatran_1.name + ": " + heatran_1.nature + " nature, item: " + heatran_1.item + ", ev spread: " + heatran_1.ev_spread + ", \nmoveset: " + heatran_1.move1 + ", " + heatran_1.move2 + ", " + heatran_1.move3 + ", " + heatran_1.move4)
  885.         print("2: " + heatran_2.name + ": " + heatran_2.nature + " nature, item: " + heatran_2.item + ", ev spread: " + heatran_2.ev_spread + ", \nmoveset: " + heatran_2.move1 + ", " + heatran_2.move2 + ", " + heatran_2.move3 + ", " + heatran_2.move4)
  886.         print()
  887.         choice = input("select a set (number in front of it): ")
  888.         if choice == "1":
  889.             return heatran_1
  890.         elif choice == "2":
  891.             return heatran_2
  892.     #kartana
  893.     elif mon == "kartana" or mon == "kart":
  894.         print()
  895.         print("1: " + kartana_1.name + ": " + kartana_1.nature + " nature, item: " + kartana_1.item + ", ev spread: " + kartana_1.ev_spread + ", \nmoveset: " + kartana_1.move1 + ", " + kartana_1.move2 + ", " + kartana_1.move3 + ", " + kartana_1.move4)
  896.         print("2: " + kartana_2.name + ": " + kartana_2.nature + " nature, item: " + kartana_2.item + ", ev spread: " + kartana_2.ev_spread + ", \nmoveset: " + kartana_2.move1 + ", " + kartana_2.move2 + ", " + kartana_2.move3 + ", " + kartana_2.move4)
  897.         print()
  898.         choice = input("select a set (number in front of it): ")
  899.         if choice == "1":
  900.             return kartana_1
  901.         elif choice == "2":
  902.             return kartana_2
  903.     #mawile mega
  904.     elif mon == "mawile mega" or mon == "mega mawile" or mon == "mawilemega" or mon == "megamawile" or mon == "mega maw" or mon == "megamaw" or mon == "maw" or mon == "mawile":
  905.         print()
  906.         print("1: " + mawile_mega_1.name + ": " + mawile_mega_1.nature + " nature, item: " + mawile_mega_1.item + ", ev spread: " + mawile_mega_1.ev_spread + ", \nmoveset: " + mawile_mega_1.move1 + ", " + mawile_mega_1.move2 + ", " + mawile_mega_1.move3 + ", " + mawile_mega_1.move4)
  907.         print()
  908.         choice = input("select a set (number in front of it): ")
  909.         if choice == "1":
  910.             return mawile_mega_1
  911.     #necrozma
  912.     elif mon == "necrozma" or mon == "necro":
  913.         print()
  914.         print("1: " + necrozma_1.name + ": " + necrozma_1.nature + " nature, item: " + necrozma_1.item + ", ev spread: " + necrozma_1.ev_spread + ", \nmoveset: " + necrozma_1.move1 + ", " + necrozma_1.move2 + ", " + necrozma_1.move3 + ", " + necrozma_1.move4)
  915.         print("2: " + necrozma_2.name + ": " + necrozma_2.nature + " nature, item: " + necrozma_2.item + ", ev spread: " + necrozma_2.ev_spread + ", \nmoveset: " + necrozma_2.move1 + ", " + necrozma_2.move2 + ", " + necrozma_2.move3 + ", " + necrozma_2.move4)
  916.         print()
  917.         choice = input("select a set (number in front of it): ")
  918.         if choice == "1":
  919.             return necrozma_1
  920.         elif choice == "2":
  921.             return necrozma_2
  922.     #pinsir mega
  923.     elif mon == "pinsir mega" or mon == "mega pinsir" or mon == "pinsirmega" or mon == "megapinsir" or mon == "pinsir" or mon == "mpinsir":
  924.         print()
  925.         print("1: " + pinser_mega_1.name + ": " + pinser_mega_1.nature + " nature, item: " + pinser_mega_1.item + ", ev spread: " + pinser_mega_1.ev_spread + ", \nmoveset: " + pinser_mega_1.move1 + ", " + pinser_mega_1.move2 + ", " + pinser_mega_1.move3 + ", " + pinser_mega_1.move4)
  926.         print()
  927.         choice = input("select a set (number in front of it): ")
  928.         if choice == "1":
  929.             return pinser_mega_1
  930.     #sableye mega
  931.     elif mon == "sableye mega" or mon == "mega sableye" or mon == "sableyemega" or mon == "megasableye" or mon == "sab" or mon == "sableye" or mon == "megasab" or mon == "mega sab":
  932.         print()
  933.         print("1: " + sableye_mega_1.name + ": " + sableye_mega_1.nature + " nature, item: " + sableye_mega_1.item + ", ev spread: " + sableye_mega_1.ev_spread + ", \nmoveset: " + sableye_mega_1.move1 + ", " + sableye_mega_1.move2 + ", " + sableye_mega_1.move3 + ", " + sableye_mega_1.move4)
  934.         print()
  935.         choice = input("select a set (number in front of it): ")
  936.         if choice == "1":
  937.             return sableye_mega_1
  938.     #victini
  939.     elif mon == "victini" or mon == "tini" or mon == "vic":
  940.         print()
  941.         print("1: " + victini_1.name + ": " + victini_1.nature + " nature, item: " + victini_1.item + ", ev spread: " + victini_1.ev_spread + ", \nmoveset: " + victini_1.move1 + ", " + victini_1.move2 + ", " + victini_1.move3 + ", " + victini_1.move4)
  942.         print("2: " + victini_2.name + ": " + victini_2.nature + " nature, item: " + victini_2.item + ", ev spread: " + victini_2.ev_spread + ", \nmoveset: " + victini_2.move1 + ", " + victini_2.move2 + ", " + victini_2.move3 + ", " + victini_2.move4)
  943.         print()
  944.         choice = input("select a set (number in front of it): ")
  945.         if choice == "1":
  946.             return victini_1
  947.         elif choice == "2":
  948.             return victini_2
  949.     #volcarona
  950.     elif mon == "volcarona" or mon == "volc":
  951.         print()
  952.         print("1: " + volcarona_1.name + ": " + volcarona_1.nature + " nature, item: " + volcarona_1.item + ", ev spread: " + volcarona_1.ev_spread + ", \nmoveset: " + volcarona_1.move1 + ", " + volcarona_1.move2 + ", " + volcarona_1.move3 + ", " + volcarona_1.move4)
  953.         print("2: " + volcarona_2.name + ": " + volcarona_2.nature + " nature, item: " + volcarona_2.item + ", ev spread: " + volcarona_2.ev_spread + ", \nmoveset: " + volcarona_2.move1 + ", " + volcarona_2.move2 + ", " + volcarona_2.move3 + ", " + volcarona_2.move4)
  954.         print()
  955.         choice = input("select a set (number in front of it): ")
  956.         if choice == "1":
  957.             return volcarona_1
  958.         elif choice == "2":
  959.             return volcarona_2
  960.     #zeraora
  961.     elif mon == "zeraora" or mon == "zera" or mon == "shit" or mon == "garbage" or mon == "trash" or mon == "piece of shit" or mon == "useless" or mon == "zer":
  962.         print()
  963.         print("1: " + zeraora_1.name + ": " + zeraora_1.nature + " nature, item: " + zeraora_1.item + ", ev spread: " + zeraora_1.ev_spread + ", \nmoveset: " + zeraora_1.move1 + ", " + zeraora_1.move2 + ", " + zeraora_1.move3 + ", " + zeraora_1.move4)
  964.         print("2: " + zeraora_2.name + ": " + zeraora_2.nature + " nature, item: " + zeraora_2.item + ", ev spread: " + zeraora_2.ev_spread + ", \nmoveset: " + zeraora_2.move1 + ", " + zeraora_2.move2 + ", " + zeraora_2.move3 + ", " + zeraora_2.move4)
  965.         print()
  966.         choice = input("select a set (number in front of it): ")
  967.         if choice == "1":
  968.             return zeraora_1
  969.         elif choice == "2":
  970.             return zeraora_2
  971.     #archeops
  972.     elif mon == "archeops" or mon == "arch":
  973.         print()
  974.         print("1: " + archeops_1.name + ": " + archeops_1.nature + " nature, item: " + archeops_1.item + ", ev spread: " + archeops_1.ev_spread + ", \nmoveset: " + archeops_1.move1 + ", " + archeops_1.move2 + ", " + archeops_1.move3 + ", " + archeops_1.move4)
  975.         print()
  976.         choice = input("select a set (number in front of it): ")
  977.         if choice == "1":
  978.             return archeops_1
  979.     #blastoise mega
  980.     elif mon == "blastoisemega" or mon == "megablastoise" or mon == "mega blastoise" or mon == "blastoise mega" or mon == "blastoise" or mon == "mblastoise" or mon == "m blastoise":
  981.         print()
  982.         print("1: " + blastoise_mega_1.name + ": " + blastoise_mega_1.nature + " nature, item: " + blastoise_mega_1.item + ", ev spread: " + blastoise_mega_1.ev_spread + ", \nmoveset: " + blastoise_mega_1.move1 + ", " + blastoise_mega_1.move2 + ", " + blastoise_mega_1.move3 + ", " + blastoise_mega_1.move4)
  983.         print()
  984.         choice = input("select a set (number in front of it): ")
  985.         if choice == "1":
  986.             return blastoise_mega_1
  987.     #blaziken mega
  988.     elif mon == "blaziken mega" or mon == "mega blaziken" or mon == "blazikenmega" or mon == "megablaziken" or mon == "blaziken" or mon == "mega blaze" or mon == "megablaze":
  989.         print()
  990.         print("1: " + blaziken_mega_1.name + ": " + blaziken_mega_1.nature + " nature, item: " + blaziken_mega_1.item + ", ev spread: " + blaziken_mega_1.ev_spread + ", \nmoveset: " + blaziken_mega_1.move1 + ", " + blaziken_mega_1.move2 + ", " + blaziken_mega_1.move3 + ", " + blaziken_mega_1.move4)
  991.         print()
  992.         choice = input("select a set (number in front of it): ")
  993.         if choice == "1":
  994.             return blaziken_mega_1
  995.     #crustle
  996.     elif mon == "crustle":
  997.         print()
  998.         print("1: " + crustle_1.name + ": " + crustle_1.nature + " nature, item: " + crustle_1.item + ", ev spread: " + crustle_1.ev_spread + ", \nmoveset: " + crustle_1.move1 + ", " + crustle_1.move2 + ", " + crustle_1.move3 + ", " + crustle_1.move4)
  999.         print()
  1000.         choice = input("select a set (number in front of it): ")
  1001.         if choice == "1":
  1002.             return crustle_1
  1003.     #deoxys s
  1004.     elif mon == "deoxys s" or mon == "deoxys" or mon == "deo" or mon == "deos" or mon == "deo s":
  1005.         print()
  1006.         print("1: " + deoxys_s_1.name + ": " + deoxys_s_1.nature + " nature, item: " + deoxys_s_1.item + ", ev spread: " + deoxys_s_1.ev_spread + ", \nmoveset: " + deoxys_s_1.move1 + ", " + deoxys_s_1.move2 + ", " + deoxys_s_1.move3 + ", " + deoxys_s_1.move4)
  1007.         print("2: " + deoxys_s_2.name + ": " + deoxys_s_2.nature + " nature, item: " + deoxys_s_2.item + ", ev spread: " + deoxys_s_2.ev_spread + ", \nmoveset: " + deoxys_s_2.move1 + ", " + deoxys_s_2.move2 + ", " + deoxys_s_2.move3 + ", " + deoxys_s_2.move4)
  1008.         print()
  1009.         choice = input("select a set (number in front of it): ")
  1010.         if choice == "1":
  1011.             return deoxys_s_1
  1012.         elif choice == "2":
  1013.             return deoxys_s_2
  1014.     #diancie mega
  1015.     elif mon == "diancie mega" or mon == "mega diancie" or mon == "dianciemega" or mon == "megadiancie" or mon == "diancie":
  1016.         print()
  1017.         print("1: " + diancie_mega_1.name + ": " + diancie_mega_1.nature + " nature, item: " + diancie_mega_1.item + ", ev spread: " + diancie_mega_1.ev_spread + ", \nmoveset: " + diancie_mega_1.move1 + ", " + diancie_mega_1.move2 + ", " + diancie_mega_1.move3 + ", " + diancie_mega_1.move4)
  1018.         print()
  1019.         choice = input("select a set (number in front of it): ")
  1020.         if choice == "1":
  1021.             return diancie_mega_1
  1022.     #durant
  1023.     elif mon == "durant" or mon == "uop" or mon == "ant":
  1024.         print()
  1025.         print("1: " + durant_1.name + ": " + durant_1.nature + " nature, item: " + durant_1.item + ", ev spread: " + durant_1.ev_spread + ", \nmoveset: " + durant_1.move1 + ", " + durant_1.move2 + ", " + durant_1.move3 + ", " + durant_1.move4)
  1026.         print()
  1027.         choice = input("select a set (number in front of it): ")
  1028.         if choice == "1":
  1029.             return durant_1
  1030.     #golem
  1031.     elif mon == "golem":
  1032.         print()
  1033.         print("1: " + golem_1.name + ": " + golem_1.nature + " nature, item: " + golem_1.item + ", ev spread: " + golem_1.ev_spread + ", \nmoveset: " + golem_1.move1 + ", " + golem_1.move2 + ", " + golem_1.move3 + ", " + golem_1.move4)
  1034.         print()
  1035.         choice = input("select a set (number in front of it): ")
  1036.         if choice == "1":
  1037.             return golem_1
  1038.     #haxorus
  1039.     elif mon == "haxorus" or mon == "hax":
  1040.         print()
  1041.         print("1: " + haxorus_1.name + ": " + haxorus_1.nature + " nature, item: " + haxorus_1.item + ", ev spread: " + haxorus_1.ev_spread + ", \nmoveset: " + haxorus_1.move1 + ", " + haxorus_1.move2 + ", " + haxorus_1.move3 + ", " + haxorus_1.move4)
  1042.         print("2: " + haxorus_2.name + ": " + haxorus_2.nature + " nature, item: " + haxorus_2.item + ", ev spread: " + haxorus_2.ev_spread + ", \nmoveset: " + haxorus_2.move1 + ", " + haxorus_2.move2 + ", " + haxorus_2.move3 + ", " + haxorus_2.move4)
  1043.         print()
  1044.         choice = input("select a set (number in front of it): ")
  1045.         if choice == "1":
  1046.             return haxorus_1
  1047.         elif choice == "2":
  1048.             return haxorus_2
  1049.     #heracross mega
  1050.     elif mon == "heracross mega" or mon == "mega heracross" or mon == "heracrossmega" or mon == "megaheracross" or mon == "heracross" or mon == "hera":
  1051.         print()
  1052.         print("1: " + heracross_mega_1.name + ": " + heracross_mega_1.nature + " nature, item: " + heracross_mega_1.item + ", ev spread: " + heracross_mega_1.ev_spread + ", \nmoveset: " + heracross_mega_1.move1 + ", " + heracross_mega_1.move2 + ", " + heracross_mega_1.move3 + ", " + heracross_mega_1.move4)
  1053.         print()
  1054.         choice = input("select a set (number in front of it): ")
  1055.         if choice == "1":
  1056.             return heracross_mega_1
  1057.     #hoopa u
  1058.     elif mon == "hoopa u" or mon == "hoopau" or mon == "hoopa":
  1059.         print()
  1060.         print("1: " + hoopau_1.name + ": " + hoopau_1.nature + " nature, item: " + hoopau_1.item + ", ev spread: " + hoopau_1.ev_spread + ", \nmoveset: " + hoopau_1.move1 + ", " + hoopau_1.move2 + ", " + hoopau_1.move3 + ", " + hoopau_1.move4)
  1061.         print("2: " + hoopau_2.name + ": " + hoopau_2.nature + " nature, item: " + hoopau_2.item + ", ev spread: " + hoopau_2.ev_spread + ", \nmoveset: " + hoopau_2.move1 + ", " + hoopau_2.move2 + ", " + hoopau_2.move3 + ", " + hoopau_2.move4)
  1062.         print()
  1063.         choice = input("select a set (number in front of it): ")
  1064.         if choice == "1":
  1065.             return hoopau_1
  1066.         elif choice == "2":
  1067.             return hoopau_2
  1068.     #incineroar
  1069.     elif mon == "incineroar" or mon == "incin":
  1070.         print()
  1071.         print("1: " + incineroar_1.name + ": " + incineroar_1.nature + " nature, item: " + incineroar_1.item + ", ev spread: " + incineroar_1.ev_spread + ", \nmoveset: " + incineroar_1.move1 + ", " + incineroar_1.move2 + ", " + incineroar_1.move3 + ", " + incineroar_1.move4)
  1072.         print()
  1073.         choice = input("select a set (number in front of it): ")
  1074.         if choice == "1":
  1075.             return incineroar_1
  1076.     #krookodile
  1077.     elif mon == "krookodile" or mon == "krook" or mon == "liability":
  1078.         print()
  1079.         print("1: " + krookodile_1.name + ": " + krookodile_1.nature + " nature, item: " + krookodile_1.item + ", ev spread: " + krookodile_1.ev_spread + ", \nmoveset: " + krookodile_1.move1 + ", " + krookodile_1.move2 + ", " + krookodile_1.move3 + ", " + krookodile_1.move4)
  1080.         print()
  1081.         choice = input("select a set (number in front of it): ")
  1082.         if choice == "1":
  1083.             return krookodile_1
  1084.     #kyurem
  1085.     elif mon == "kyurem" or mon == "kyu" or mon == "noble":
  1086.         print()
  1087.         print("1: " + kyurem_1.name + ": " + kyurem_1.nature + " nature, item: " + kyurem_1.item + ", ev spread: " + kyurem_1.ev_spread + ", \nmoveset: " + kyurem_1.move1 + ", " + kyurem_1.move2 + ", " + kyurem_1.move3 + ", " + kyurem_1.move4)
  1088.         print()
  1089.         choice = input("select a set (number in front of it): ")
  1090.         if choice == "1":
  1091.             return kyurem_1
  1092.     #clefable
  1093.     elif mon == "clefable" or mon == "clef":
  1094.         print()
  1095.         print("1: " + clefable_1.name + ": " + clefable_1.nature + " nature, item: " + clefable_1.item + ", ev spread: " + clefable_1.ev_spread + ", \nmoveset: " + clefable_1.move1 + ", " + clefable_1.move2 + ", " + clefable_1.move3 + ", " + clefable_1.move4)
  1096.         print()
  1097.         choice = input("select a set (number in front of it): ")
  1098.         if choice == "1":
  1099.             return clefable_1
  1100.     #stunfisk
  1101.     elif mon == "stunfisk" or mon == "fisk":
  1102.         print()
  1103.         print("1: " + stunfisk_1.name + ": " + stunfisk_1.nature + " nature, item: " + stunfisk_1.item + ", ev spread: " + stunfisk_1.ev_spread + ", \nmoveset: " + stunfisk_1.move1 + ", " + stunfisk_1.move2 + ", " + stunfisk_1.move3 + ", " + stunfisk_1.move4)
  1104.         print()
  1105.         choice = input("select a set (number in front of it): ")
  1106.         if choice == "1":
  1107.             return stunfisk_1
  1108.     #manaphy
  1109.     elif mon == "manaphy" or mon == "mana":
  1110.         print()
  1111.         print("1: " + manaphy_1.name + ": " + manaphy_1.nature + " nature, item: " + manaphy_1.item + ", ev spread: " + manaphy_1.ev_spread + ", \nmoveset: " + manaphy_1.move1 + ", " + manaphy_1.move2 + ", " + manaphy_1.move3 + ", " + manaphy_1.move4)
  1112.         print()
  1113.         choice = input("select a set (number in front of it): ")
  1114.         if choice == "1":
  1115.             return manaphy_1
  1116.     #medicham mega
  1117.     elif mon == mon == "medicham mega" or mon == "mega medicham" or mon == "megamedicham" or mon == "medichammega" or mon == "medicham":
  1118.         print()
  1119.         print("1: " + medicham_mega_1.name + ": " + medicham_mega_1.nature + " nature, item: " + medicham_mega_1.item + ", ev spread: " + medicham_mega_1.ev_spread + ", \nmoveset: " + medicham_mega_1.move1 + ", " + medicham_mega_1.move2 + ", " + medicham_mega_1.move3 + ", " + medicham_mega_1.move4)
  1120.         print()
  1121.         choice = input("select a set (number in front of it): ")
  1122.         if choice == "1":
  1123.             return medicham_mega_1
  1124.     #sawk
  1125.     elif mon == "sawk":
  1126.         print()
  1127.         print("1: " + sawk_1.name + ": " + sawk_1.nature + " nature, item: " + sawk_1.item + ", ev spread: " + sawk_1.ev_spread + ", \nmoveset: " + sawk_1.move1 + ", " + sawk_1.move2 + ", " + sawk_1.move3 + ", " + sawk_1.move4)
  1128.         print()
  1129.         choice = input("select a set (number in front of it): ")
  1130.         if choice == "1":
  1131.             return sawk_1
  1132.     #blacephalon
  1133.     elif mon == "blacephalon" or mon == "blace":
  1134.         print()
  1135.         print("1: " + blacephalon_1.name + ": " + blacephalon_1.nature + " nature, item: " + blacephalon_1.item + ", ev spread: " + blacephalon_1.ev_spread + ", \nmoveset: " + blacephalon_1.move1 + ", " + blacephalon_1.move2 + ", " + blacephalon_1.move3 + ", " + blacephalon_1.move4)
  1136.         print()
  1137.         choice = input("select a set (number in front of it): ")
  1138.         if choice == "1":
  1139.             return blacephalon_1
  1140.     #illumise
  1141.     elif mon == "illumise" or mon == "bae":
  1142.         print()
  1143.         print("1: " + illumise_1.name + ": " + illumise_1.nature + " nature, item: " + illumise_1.item + ", ev spread: " + illumise_1.ev_spread + ", \nmoveset: " + illumise_1.move1 + ", " + illumise_1.move2 + ", " + illumise_1.move3 + ", " + illumise_1.move4)
  1144.         print()
  1145.         choice = input("select a set (number in front of it): ")
  1146.         if choice == "1":
  1147.             return illumise_1
  1148.     #xurkitree
  1149.     elif mon == "xurkitree" or mon == "xurk":
  1150.         print()
  1151.         print("1: " + xurkitree_1.name + ": " + xurkitree_1.nature + " nature, item: " + xurkitree_1.item + ", ev spread: " + xurkitree_1.ev_spread + ", \nmoveset: " + xurkitree_1.move1 + ", " + xurkitree_1.move2 + ", " + xurkitree_1.move3 + ", " + xurkitree_1.move4)
  1152.         print()
  1153.         choice = input("select a set (number in front of it): ")
  1154.         if choice == "1":
  1155.             return xurkitree_1
  1156.   #cresselia
  1157.     elif mon == "cresselia" or mon == "cress":
  1158.         print()
  1159.         print("1: " + cresselia_1.name + ": " + cresselia_1.nature + " nature, item: " + cresselia_1.item + ", ev spread: " + cresselia_1.ev_spread + ", \nmoveset: " + cresselia_1.move1 + ", " + cresselia_1.move2 + ", " + cresselia_1.move3 + ", " + cresselia_1.move4)
  1160.         print()
  1161.         choice = input("select a set (number in front of it): ")
  1162.         if choice == "1":
  1163.             return cresselia_1
  1164.     #xurkitree
  1165.     elif mon == "vivi" or mon == "viv" or mon == "vivillon":
  1166.         print()
  1167.         print("1: " + vivillon_1.name + ": " + vivillon_1.nature + " nature, item: " + vivillon_1.item + ", ev spread: " + vivillon_1.ev_spread + ", \nmoveset: " + vivillon_1.move1 + ", " + vivillon_1.move2 + ", " + vivillon_1.move3 + ", " + vivillon_1.move4)
  1168.         print()
  1169.         choice = input("select a set (number in front of it): ")
  1170.         if choice == "1":
  1171.             return vivillon_1
  1172.     #smeargle
  1173.     elif mon == "smeargle" or mon == "smear" or mon == "badass":
  1174.         print()
  1175.         print("1: " + smeargle_1.name + ": " + smeargle_1.nature + " nature, item: " + smeargle_1.item + ", ev spread: " + smeargle_1.ev_spread + ", \nmoveset: " + smeargle_1.move1 + ", " + smeargle_1.move2 + ", " + smeargle_1.move3 + ", " + smeargle_1.move4)
  1176.         print()
  1177.         choice = input("select a set (number in front of it): ")
  1178.         if choice == "1":
  1179.             return smeargle_1
  1180.     #aron
  1181.     elif mon == "aron":
  1182.         print()
  1183.         print("1: " + aron_1.name + ": " + aron_1.nature + " nature, item: " + aron_1.item + ", ev spread: " + "Level: 1, " + aron_1.ev_spread + ", \nmoveset: " + aron_1.move1 + ", " + aron_1.move2 + ", " + aron_1.move3 + ", " + aron_1.move4)
  1184.         print()
  1185.         choice = input("select a set (number in front of it): ")
  1186.         if choice == "1":
  1187.             return aron_1
  1188.     #aron
  1189.     elif mon == "riolu":
  1190.         print()
  1191.         print("1: " + riolu_1.name + ": " + riolu_1.nature + " nature, item: " + riolu_1.item + ", ev spread: " + "Level: 1, " + riolu_1.ev_spread + ", \nmoveset: " + riolu_1.move1 + ", " + riolu_1.move2 + ", " + riolu_1.move3 + ", " + riolu_1.move4)
  1192.         print()
  1193.         choice = input("select a set (number in front of it): ")
  1194.         if choice == "1":
  1195.             return riolu_1
  1196.     #shedinja
  1197.     elif mon == "shed" or mon == "shedinja":
  1198.         print()
  1199.         print("1: " + shedinja_1.name + ": " + shedinja_1.nature + " nature, item: " + shedinja_1.item + ", ev spread: " + "Level: 1, " + shedinja_1.ev_spread + ", \nmoveset: " + shedinja_1.move1 + ", " + shedinja_1.move2 + ", " + shedinja_1.move3 + ", " + shedinja_1.move4)
  1200.         print()
  1201.         choice = input("select a set (number in front of it): ")
  1202.         if choice == "1":
  1203.             return shedinja_1
  1204.     #raikou
  1205.     elif mon == "rai" or mon == "raikou":
  1206.         print()
  1207.         print("1: " + raikou_1.name + ": " + raikou_1.nature + " nature, item: " + raikou_1.item + ", ev spread: " + "Level: 1, " + raikou_1.ev_spread + ", \nmoveset: " + raikou_1.move1 + ", " + raikou_1.move2 + ", " + raikou_1.move3 + ", " + raikou_1.move4)
  1208.         print()
  1209.         choice = input("select a set (number in front of it): ")
  1210.         if choice == "1":
  1211.             return raikou_1
  1212.     #audino mega
  1213.     elif mon == "audinomega" or mon == "megaaudino" or mon == "audino" or mon == "mega audino" or mon == "audino mega" or mon == "aud" or mon == "maudino":
  1214.         print()
  1215.         print("1: " + audino_mega_1.name + ": " + audino_mega_1.nature + " nature, item: " + audino_mega_1.item + ", ev spread: " + "Level: 1, " + audino_mega_1.ev_spread + ", \nmoveset: " + audino_mega_1.move1 + ", " + audino_mega_1.move2 + ", " + audino_mega_1.move3 + ", " + audino_mega_1.move4)
  1216.         print()
  1217.         choice = input("select a set (number in front of it): ")
  1218.         if choice == "1":
  1219.             return audino_mega_1
  1220.     #latias
  1221.     elif mon == "latiasmega" or mon == "megalatias" or mon == "latias" or mon == "mega latias" or mon == "latias mega" or mon == "lati" or mon == "mlatias":
  1222.         print()
  1223.         print("1: " + latias_mega_1.name + ": " + latias_mega_1.nature + " nature, item: " + latias_mega_1.item + ", ev spread: " + "Level: 1, " + latias_mega_1.ev_spread + ", \nmoveset: " + latias_mega_1.move1 + ", " + latias_mega_1.move2 + ", " + latias_mega_1.move3 + ", " + latias_mega_1.move4)
  1224.         print()
  1225.         choice = input("select a set (number in front of it): ")
  1226.         if choice == "1":
  1227.             return latias_mega_1
  1228.     #salazzle
  1229.     elif mon == "salazzle" or mon == "lizard":
  1230.         print()
  1231.         print("1: " + salazzle_1.name + ": " + salazzle_1.nature + " nature, item: " + salazzle_1.item + ", ev spread: " + "Level: 1, " + salazzle_1.ev_spread + ", \nmoveset: " + salazzle_1.move1 + ", " + salazzle_1.move2 + ", " + salazzle_1.move3 + ", " + salazzle_1.move4)
  1232.         print()
  1233.         choice = input("select a set (number in front of it): ")
  1234.         if choice == "1":
  1235.             return salazzle_1
  1236.     #darmanitan
  1237.     elif mon == "darmanitan" or mon == "darm":
  1238.         print()
  1239.         print("1: " + darmanitan_1.name + ": " + darmanitan_1.nature + " nature, item: " + darmanitan_1.item + ", ev spread: " + "Level: 1, " + darmanitan_1.ev_spread + ", \nmoveset: " + darmanitan_1.move1 + ", " + darmanitan_1.move2 + ", " + darmanitan_1.move3 + ", " + darmanitan_1.move4)
  1240.         print()
  1241.         choice = input("select a set (number in front of it): ")
  1242.         if choice == "1":
  1243.             return darmanitan_1
  1244.     #whimsicott
  1245.     elif mon == "whimsicott" or mon == "whimsi":
  1246.         print()
  1247.         print("1: " + whimsicott_1.name + ": " + whimsicott_1.nature + " nature, item: " + whimsicott_1.item + ", ev spread: " + "Level: 1, " + whimsicott_1.ev_spread + ", \nmoveset: " + whimsicott_1.move1 + ", " + whimsicott_1.move2 + ", " + whimsicott_1.move3 + ", " + whimsicott_1.move4)
  1248.         print()
  1249.         choice = input("select a set (number in front of it): ")
  1250.         if choice == "1":
  1251.             return whimsicott_1
  1252.     #excadrill
  1253.     elif mon == "excadrill" or mon == "exca":
  1254.         print()
  1255.         print("1: " + excadrill_1.name + ": " + excadrill_1.nature + " nature, item: " + excadrill_1.item + ", ev spread: " + "Level: 1, " + excadrill_1.ev_spread + ", \nmoveset: " + excadrill_1.move1 + ", " + excadrill_1.move2 + ", " + excadrill_1.move3 + ", " + excadrill_1.move4)
  1256.         print()
  1257.         choice = input("select a set (number in front of it): ")
  1258.         if choice == "1":
  1259.             return excadrill_1
  1260.     #terrakion
  1261.     elif mon == "terrakion" or mon == "terra":
  1262.         print()
  1263.         print("1: " + terrakion_1.name + ": " + terrakion_1.nature + " nature, item: " + terrakion_1.item + ", ev spread: " + "Level: 1, " + terrakion_1.ev_spread + ", \nmoveset: " + terrakion_1.move1 + ", " + terrakion_1.move2 + ", " + terrakion_1.move3 + ", " + terrakion_1.move4)
  1264.         print()
  1265.         choice = input("select a set (number in front of it): ")
  1266.         if choice == "1":
  1267.             return terrakion_1
  1268.     #mienshao
  1269.     elif mon == "mienshao" or mon == "mien":
  1270.         print()
  1271.         print("1: " + mienshao_1.name + ": " + mienshao_1.nature + " nature, item: " + mienshao_1.item + ", ev spread: " + "Level: 1, " + mienshao_1.ev_spread + ", \nmoveset: " + mienshao_1.move1 + ", " + mienshao_1.move2 + ", " + mienshao_1.move3 + ", " + mienshao_1.move4)
  1272.         print()
  1273.         choice = input("select a set (number in front of it): ")
  1274.         if choice == "1":
  1275.             return mienshao_1
  1276.     #umbreon
  1277.     elif mon == "umbreon":
  1278.         print()
  1279.         print("1: " + umbreon_1.name + ": " + umbreon_1.nature + " nature, item: " + umbreon_1.item + ", ev spread: " + "Level: 1, " + umbreon_1.ev_spread + ", \nmoveset: " + umbreon_1.move1 + ", " + umbreon_1.move2 + ", " + umbreon_1.move3 + ", " + umbreon_1.move4)
  1280.         print()
  1281.         choice = input("select a set (number in front of it): ")
  1282.         if choice == "1":
  1283.             return umbreon_1
  1284.     #vigoroth
  1285.     elif mon == "vigoroth" or mon == "vig":
  1286.         print()
  1287.         print("1: " + vigoroth_1.name + ": " + vigoroth_1.nature + " nature, item: " + vigoroth_1.item + ", ev spread: " + "Level: 1, " + vigoroth_1.ev_spread + ", \nmoveset: " + vigoroth_1.move1 + ", " + vigoroth_1.move2 + ", " + vigoroth_1.move3 + ", " + vigoroth_1.move4)
  1288.         print()
  1289.         choice = input("select a set (number in front of it): ")
  1290.         if choice == "1":
  1291.             return vigoroth_1
  1292.     #rampardos
  1293.     elif mon == "rampardos" or mon == "ramp":
  1294.         print()
  1295.         print("1: " + rampardos_1.name + ": " + rampardos_1.nature + " nature, item: " + rampardos_1.item + ", ev spread: " + "Level: 1, " + rampardos_1.ev_spread + ", \nmoveset: " + rampardos_1.move1 + ", " + rampardos_1.move2 + ", " + rampardos_1.move3 + ", " + rampardos_1.move4)
  1296.         print("2: " + rampardos_2.name + ": " + rampardos_2.nature + " nature, item: " + rampardos_2.item + ", ev spread: " + "Level: 1, " + rampardos_2.ev_spread + ", \nmoveset: " + rampardos_2.move1 + ", " + rampardos_2.move2 + ", " + rampardos_2.move3 + ", " + rampardos_2.move4)
  1297.         print()
  1298.         choice = input("select a set (number in front of it): ")
  1299.         if choice == "1":
  1300.             return rampardos_1
  1301.         elif choice == "2":
  1302.             return rampardos_2
  1303.     #pheromosa
  1304.     elif mon == "pheromosa" or mon == "phero":
  1305.         print()
  1306.         print("1: " + pheromosa_1.name + ": " + pheromosa_1.nature + " nature, item: " + pheromosa_1.item + ", ev spread: " + "Level: 1, " + pheromosa_1.ev_spread + ", \nmoveset: " + pheromosa_1.move1 + ", " + pheromosa_1.move2 + ", " + pheromosa_1.move3 + ", " + pheromosa_1.move4)
  1307.         print("2: " + pheromosa_2.name + ": " + pheromosa_2.nature + " nature, item: " + pheromosa_2.item + ", ev spread: " + "Level: 1, " + pheromosa_2.ev_spread + ", \nmoveset: " + pheromosa_2.move1 + ", " + pheromosa_2.move2 + ", " + pheromosa_2.move3 + ", " + pheromosa_2.move4)
  1308.         print("3: " + pheromosa_3.name + ": " + pheromosa_3.nature + " nature, item: " + pheromosa_3.item + ", ev spread: " + "Level: 1, " + pheromosa_3.ev_spread + ", \nmoveset: " + pheromosa_3.move1 + ", " + pheromosa_3.move2 + ", " + pheromosa_3.move3 + ", " + pheromosa_3.move4)
  1309.         print()
  1310.         choice = input("select a set (number in front of it): ")
  1311.         if choice == "1":
  1312.             return pheromosa_1
  1313.         elif choice == "2":
  1314.             return pheromosa_2
  1315.         elif choice == "3":
  1316.             return pheromosa_3
  1317.     #rotom
  1318.     elif mon == "rotom wash" or mon == "rotomw" or mon == "rotom w":
  1319.         print()
  1320.         print("1: " + rotom_wash_1.name + ": " + rotom_wash_1.nature + " nature, item: " + rotom_wash_1.item + ", ev spread: " + "Level: 1, " + rotom_wash_1.ev_spread + ", \nmoveset: " + rotom_wash_1.move1 + ", " + rotom_wash_1.move2 + ", " + rotom_wash_1.move3 + ", " + rotom_wash_1.move4)
  1321.         print()
  1322.         choice = input("select a set (number in front of it): ")
  1323.         if choice == "1":
  1324.             return rotom_wash_1
  1325.     #zapdos
  1326.     elif mon == "zapdos" or mon == "zap":
  1327.         print()
  1328.         print("1: " + zapdos_1.name + ": " + zapdos_1.nature + " nature, item: " + zapdos_1.item + ", ev spread: " + zapdos_1.ev_spread + ", \nmoveset: " + zapdos_1.move1 + ", " + zapdos_1.move2 + ", " + zapdos_1.move3 + ", " + zapdos_1.move4)
  1329.         print()
  1330.         choice = input("select a set (number in front of it): ")
  1331.         if choice == "1":
  1332.             return zapdos_1
  1333.     #porygon2
  1334.     elif mon == "porygon2" or mon == "porygon 2" or mon == "pory2" or mon == "pory 2" or mon == "p2" or mon == "p 2":
  1335.         print()
  1336.         print("1: " + porygon2_1.name + ": " + porygon2_1.nature + " nature, item: " + porygon2_1.item + ", ev spread: " + porygon2_1.ev_spread + ", \nmoveset: " + kyurem_1.move1 + ", " + porygon2_1.move2 + ", " + porygon2_1.move3 + ", " + porygon2_1.move4)
  1337.         print()
  1338.         choice = input("select a set (number in front of it): ")
  1339.         if choice == "1":
  1340.             return porygon2_1
  1341.     #pyukumuku
  1342.     elif mon == "pyukumuku" or mon == "pyuk" or mon == "pyu" or mon == "muku":
  1343.         print()
  1344.         print("1: " + pyukumuku_1.name + ": " + pyukumuku_1.nature + " nature, item: " + pyukumuku_1.item + ", ev spread: " + pyukumuku_1.ev_spread + ", \nmoveset: " + pyukumuku_1.move1 + ", " + pyukumuku_1.move2 + ", " + pyukumuku_1.move3 + ", " + pyukumuku_1.move4)
  1345.         print()
  1346.         choice = input("select a set (number in front of it): ")
  1347.         if choice == "1":
  1348.             return pyukumuku_1
  1349.     #araquanid
  1350.     elif mon == "araquanid" or mon == "ara":
  1351.         print()
  1352.         print("1: " + araquanid_1.name + ": " + araquanid_1.nature + " nature, item: " + araquanid_1.item + ", ev spread: " + araquanid_1.ev_spread + ", \nmoveset: " + araquanid_1.move1 + ", " + araquanid_1.move2 + ", " + araquanid_1.move3 + ", " + araquanid_1.move4)
  1353.         print()
  1354.         choice = input("select a set (number in front of it): ")
  1355.         if choice == "1":
  1356.             return araquanid_1
  1357.         elif choice == "2":
  1358.             return araquanid_1
  1359.     #swampert
  1360.     elif mon == "swampert mega" or mon == "swampertmega" or mon == "mega swampert" or mon == "megaswampert" or mon == "swampert" or mon == "mswampert" or mon == "m swampert" or mon == "swampertm" or mon == "swampert m" or mon == "swamp":
  1361.         print()
  1362.         print("1: " + swampert_mega_1.name + ": " + swampert_mega_1.nature + " nature, item: " + swampert_mega_1.item + ", ev spread: " + swampert_mega_1.ev_spread + ", \nmoveset: " + swampert_mega_1.move1 + ", " + swampert_mega_1.move2 + ", " + swampert_mega_1.move3 + ", " + swampert_mega_1.move4)
  1363.         print()
  1364.         choice = input("select a set (number in front of it): ")
  1365.         if choice == "1":
  1366.             return swampert_mega_1
  1367.     #avalugg
  1368.     elif mon == "avalugg" or mon == "ava" or mon == "lugg":
  1369.         print()
  1370.         print("1: " + avalugg_1.name + ": " + avalugg_1.nature + " nature, item: " + avalugg_1.item + ", ev spread: " + avalugg_1.ev_spread + ", \nmoveset: " + avalugg_1.move1 + ", " + avalugg_1.move2 + ", " + avalugg_1.move3 + ", " + avalugg_1.move4)
  1371.         print()
  1372.         choice = input("select a set (number in front of it): ")
  1373.         if choice == "1":
  1374.             return avalugg_1
  1375.     #carracosta
  1376.     elif mon == "carracosta" or mon == "carra" or mon == "costa" or mon == "car":
  1377.         print()
  1378.         print("1: " + carracosta_1.name + ": " + carracosta_1.nature + " nature, item: " + carracosta_1.item + ", ev spread: " + carracosta_1.ev_spread + ", \nmoveset: " + carracosta_1.move1 + ", " + carracosta_1.move2 + ", " + carracosta_1.move3 + ", " + carracosta_1.move4)
  1379.         print()
  1380.         choice = input("select a set (number in front of it): ")
  1381.         if choice == "1":
  1382.             return carracosta_1
  1383.     #gallade
  1384.     elif mon == "mega gallade" or mon == "gallade mega" or mon == "megagallade" or mon == "gallademega" or mon == "gallade":
  1385.         print()
  1386.         print("1: " + gallade_mega_1.name + ": " + gallade_mega_1.nature + " nature, item: " + gallade_mega_1.item + ", ev spread: " + gallade_mega_1.ev_spread + ", \nmoveset: " + gallade_mega_1.move1 + ", " + gallade_mega_1.move2 + ", " + gallade_mega_1.move3 + ", " + gallade_mega_1.move4)
  1387.         print()
  1388.         choice = input("select a set (number in front of it): ")
  1389.         if choice == "1":
  1390.             return gallade_mega_1
  1391.     #scizor
  1392.     elif mon == "mega scizor" or mon == "scizor mega" or mon == "megascizor" or mon == "scizormega" or mon == "scizor" or mon == "sciz":
  1393.         print()
  1394.         print("1: " + scizor_mega_1.name + ": " + scizor_mega_1.nature + " nature, item: " + scizor_mega_1.item + ", ev spread: " + scizor_mega_1.ev_spread + ", \nmoveset: " + scizor_mega_1.move1 + ", " + scizor_mega_1.move2 + ", " + scizor_mega_1.move3 + ", " + scizor_mega_1.move4)
  1395.         print()
  1396.         choice = input("select a set (number in front of it): ")
  1397.         if choice == "1":
  1398.             return scizor_mega_1
  1399.     #weavile
  1400.     elif mon == "weavile" or mon == "weav" or mon == "vile":
  1401.         print()
  1402.         print("1: " + weavile_1.name + ": " + weavile_1.nature + " nature, item: " + weavile_1.item + ", ev spread: " + weavile_1.ev_spread + ", \nmoveset: " + weavile_1.move1 + ", " + weavile_1.move2 + ", " + weavile_1.move3 + ", " + weavile_1.move4)
  1403.         print("2: " + weavile_2.name + ": " + weavile_2.nature + " nature, item: " + weavile_2.item + ", ev spread: " + weavile_2.ev_spread + ", \nmoveset: " + weavile_2.move1 + ", " + weavile_2.move2 + ", " + weavile_2.move3 + ", " + weavile_2.move4)
  1404.         print()
  1405.         choice = input("select a set (number in front of it): ")
  1406.         if choice == "1":
  1407.             return weavile_1
  1408.         elif choice == "2":
  1409.             return weavile_2
  1410.     #infernape
  1411.     elif mon == "infernape" or mon == "nape" or mon == "infern":
  1412.         print()
  1413.         print("1: " + infernape_1.name + ": " + infernape_1.nature + " nature, item: " + infernape_1.item + ", ev spread: " + infernape_1.ev_spread + ", \nmoveset: " + infernape_1.move1 + ", " + infernape_1.move2 + ", " + infernape_1.move3 + ", " + infernape_1.move4)
  1414.         print()
  1415.         choice = input("select a set (number in front of it): ")
  1416.         if choice == "1":
  1417.             return infernape_1
  1418.     #type null
  1419.     elif mon == "type null" or mon == "type: null" or mon == "null" or mon == "typenull" or mon == "type:null":
  1420.         print()
  1421.         print("1: " + type_null_1.name + ": " + type_null_1.nature + " nature, item: " + type_null_1.item + ", ev spread: " + type_null_1.ev_spread + ", \nmoveset: " + type_null_1.move1 + ", " + type_null_1.move2 + ", " + type_null_1.move3 + ", " + type_null_1.move4)
  1422.         print()
  1423.         choice = input("select a set (number in front of it): ")
  1424.         if choice == "1":
  1425.             return type_null_1
  1426.  
  1427. def cls():
  1428.     os.system('cls' if os.name=='nt' else 'clear')
  1429.  
  1430. #function to get mons from user
  1431. def get_users_input():
  1432.     print("dont use dashes or underscores for megas")
  1433.     mon = input("input the name of the first mon on the opponent's team: ")
  1434.     opponent_loss_1.extend(getmon(mon.lower()).lmatchups)
  1435.     print()
  1436.     mon2 = input("input the name of the second mon on the opponent's team: ")
  1437.     opponent_loss_2.extend(getmon(mon2.lower()).lmatchups)
  1438.     print()
  1439.     mon3 = input("input the name of the third mon on the opponent's team: ")
  1440.     opponent_loss_3.extend(getmon(mon3.lower()).lmatchups)
  1441.     found_mon = 0
  1442.     for x in opponent_loss_1:
  1443.         for y in opponent_loss_2:
  1444.             if x == y:
  1445.                 for z in opponent_loss_3:
  1446.                     if y == z:
  1447.                         found_mon = found_mon + 1;
  1448.                         print()
  1449.                         if z == durant_1 or z == stunfisk_1:
  1450.                             print("(use this at your own risk)")
  1451.                         elif z == zeraora_1:
  1452.                             print("this mon is shit and you shouldnt use it")
  1453.                         if found_mon == 1:
  1454.                             print("use this set to 3-0:\n" + x.name + " @ " + x.item + "\nAbility: " + x.ability + "\nEVs: " + x.ev_spread + "\n" + x.nature + " nature" +  "\n- " + x.move1 + "\n- " + x.move2 + "\n- " + x.move3 + "\n- " + x.move4)
  1455.                         elif found_mon > 1:
  1456.                             print("or this set:\n" + x.name + " @ " + x.item + "\nAbility: " + x.ability + "\nEVs: " + x.ev_spread + "\n" + x.nature + " nature" +  "\n- " + x.move1 + "\n- " + x.move2 + "\n- " + x.move3 + "\n- " + x.move4)
  1457.     if found_mon == 0:
  1458.         print("no 3-0s found in the current database")
  1459.  
  1460. #finding good teams
  1461. def find_teams():
  1462.     opponent_loss_1 = []
  1463.     opponent_loss_2 = []
  1464.     opponent_loss_3 = []
  1465.     found_teams = 0
  1466.     no_3_0s = open("no3.txt", "w+")
  1467.     for x in pokemon_list:
  1468.         opponent_loss_1 = []
  1469.         opponent_loss_1.extend(x.lmatchups)
  1470.         for y in pokemon_list:
  1471.             opponent_loss_2 = []
  1472.             opponent_loss_2.extend(y.lmatchups)
  1473.             for z in pokemon_list:
  1474.                 team_has_counters = 0
  1475.                 opponent_loss_3 = []
  1476.                 opponent_loss_3.extend(z.lmatchups)
  1477.                 for xx in opponent_loss_1:
  1478.                     for yy in opponent_loss_2:
  1479.                         if xx == yy:
  1480.                             for zz in opponent_loss_3:
  1481.                                 if yy == zz:
  1482.                                     team_has_counters = team_has_counters + 1
  1483.                             if team_has_counters >= 1:
  1484.                                 break
  1485.                     if team_has_counters >= 1:
  1486.                         break
  1487.  
  1488.                 if team_has_counters < 1:
  1489.                     duplicate = False
  1490.                     if found_teams == 0:
  1491.                         print("\n=== [gen71v1] " + x.name + " " + y.name + " " + z.name + " ===\n")
  1492.                         no_3_0s.write("\n\n=== [gen71v1] " + x.name + " " + y.name + " " + z.name + " ===\n\n")
  1493.                         print(x.name + " @ " + x.item + "\nAbility: " + x.ability + "\nEVs: " + x.ev_spread + "\n" + x.nature + " Nature" +  "\n- " + x.move1 + "\n- " + x.move2 + "\n- " + x.move3 + "\n- " + x.move4 + "\n \n" + y.name + " @ " + y.item + "\nAbility: " + y.ability + "\nEVs: " + y.ev_spread + "\n" + y.nature + " Nature" +  "\n- " + y.move1 + "\n- " + y.move2 + "\n- " + y.move3 + "\n- " + y.move4 + "\n \n" + z.name + " @ " + z.item + "\nAbility: " + z.ability + "\nEVs: " + z.ev_spread + "\n" + z.nature + " Nature" +  "\n- " + z.move1 + "\n- " + z.move2 + "\n- " + z.move3 + "\n- " + z.move4)
  1494.                         no_3_0s.write(x.name + " @ " + x.item + "\nAbility: " + x.ability + "\nEVs: " + x.ev_spread + "\n" + x.nature + " Nature" + "\n- " + x.move1 + "\n- " + x.move2 + "\n- " + x.move3 + "\n- " + x.move4 + "\n \n" + y.name + " @ " + y.item + "\nAbility: " + y.ability + "\nEVs: " + y.ev_spread + "\n" + y.nature + " Nature" + "\n- " + y.move1 + "\n- " + y.move2 + "\n- " + y.move3 + "\n- " + y.move4 + "\n \n" + z.name + " @ " + z.item + "\nAbility: " + z.ability + "\nEVs: " + z.ev_spread + "\n" + z.nature + " Nature" + "\n- " + z.move1 + "\n- " + z.move2 + "\n- " + z.move3 + "\n- " + z.move4)
  1495.                         found_teams = found_teams + 1
  1496.                         team_list.append([x, y, z])
  1497.                     else:
  1498.                         i = 0
  1499.                         for team in team_list:
  1500.                             if (team_list[i][0] == x or team_list[i][1] == x or team_list[i][2] == x) and (team_list[i][0] == y or team_list[i][1] == y or team_list[i][2] == y) and (team_list[i][0] == z or team_list[i][1] == z or team_list[i][2] == z):
  1501.                                 duplicate = True
  1502.                                 break
  1503.                             i = i + 1
  1504.                         if duplicate == False:
  1505.                             print("\n\n=== [gen71v1] " + x.name + " " + y.name + " " + z.name + " ===\n\n")
  1506.                             no_3_0s.write("\n\n=== [gen71v1] " + x.name + " " + y.name + " " + z.name + " ===\n\n")
  1507.                             print(x.name + " @ " + x.item + "\nAbility: " + x.ability + "\nEVs: " + x.ev_spread + "\n" + x.nature + " Nature" + "\n- " + x.move1 + "\n- " + x.move2 + "\n- " + x.move3 + "\n- " + x.move4 + "\n \n" + y.name + " @ " + y.item + "\nAbility: " + y.ability + "\nEVs: " + y.ev_spread + "\n" + y.nature + " Nature" + "\n- " + y.move1 + "\n- " + y.move2 + "\n- " + y.move3 + "\n- " + y.move4 + "\n \n" + z.name + " @ " + z.item + "\nAbility: " + z.ability + "\nEVs: " + z.ev_spread + "\n" + z.nature + " Nature" + "\n- " + z.move1 + "\n- " + z.move2 + "\n- " + z.move3 + "\n- " + z.move4)
  1508.                             no_3_0s.write(x.name + " @ " + x.item + "\nAbility: " + x.ability + "\nEVs: " + x.ev_spread + "\n" + x.nature + " Nature" + "\n- " + x.move1 + "\n- " + x.move2 + "\n- " + x.move3 + "\n- " + x.move4 + "\n \n" + y.name + " @ " + y.item + "\nAbility: " + y.ability + "\nEVs: " + y.ev_spread + "\n" + y.nature + " Nature" + "\n- " + y.move1 + "\n- " + y.move2 + "\n- " + y.move3 + "\n- " + y.move4 + "\n \n" + z.name + " @ " + z.item + "\nAbility: " + z.ability + "\nEVs: " + z.ev_spread + "\n" + z.nature + " Nature" + "\n- " + z.move1 + "\n- " + z.move2 + "\n- " + z.move3 + "\n- " + z.move4)
  1509.                             found_teams = found_teams + 1
  1510.                         team_list.append([x, y, z])
  1511.     print("\nteams found:")
  1512.     print(found_teams)
  1513.  
  1514. #finding good teams
  1515. def find_teams_2():
  1516.     opponent_loss_1 = []
  1517.     opponent_loss_2 = []
  1518.     opponent_loss_3 = []
  1519.     choice1 = input("would you like to find good teams based on beating certain mons, or based on 1v1 tiers or both (m/t/b): ")
  1520.     if choice1 == "m":
  1521.         choosing = True
  1522.         while choosing:
  1523.             cls()
  1524.             mon1 = input("enter the mons name you want to beat: ")
  1525.             got_mons.append(getmon(mon1))
  1526.             q = input("would you like to add more specific mons you want your team to beat? (y/n): ")
  1527.             if q == "no" or q == "n":
  1528.                 choosing = False
  1529.             elif q == "y" or q == "ye" or q == "yes":
  1530.                 choosing = True
  1531.             else:
  1532.                 choosing = False
  1533.     elif choice1 == "t":
  1534.         choosing = True
  1535.         while choosing:
  1536.             cls()
  1537.             tier1 = input("enter the tier of mons you want to have a counter on your team for (s/a+/a/a-/b+/b/b-/c+/c/c-/d/u) \nor if you want to know the mons in a tier type 'help': ")
  1538.             tier1 = tier1.lower()
  1539.             if tier1 == "s" or tier1 == "a+" or tier1 == "a" or tier1 == "a-" or tier1 == "b+" or tier1 == "b" or tier1 == "b-" or tier1 == "c+" or tier1 == "c" or tier1 == "c-" or tier1 == "d" or tier1 == "u":
  1540.                 for pokes in pokemon_list:
  1541.                     if pokes.tier == tier1:
  1542.                         got_mons.append(pokes)
  1543.                 q = input("would you like to add more tiers you want to have counters for (the more tiers you want to counter the less teams there will be) (y/n): ")
  1544.                 if q == "no" or q == "n":
  1545.                     choosing = False
  1546.                 elif q == "y" or q == "ye" or q == "yes":
  1547.                     choosing = True
  1548.                 else:
  1549.                     choosing = False
  1550.             elif tier1 == "h" or tier1 == "help":
  1551.                 what_tier = input("enter the tier you want to know the mons for (s/a+/a/a-/b+/b/b-/c+/c/c-/d/u): ")
  1552.                 for aa in pokemon_list:
  1553.                     if aa.tier == what_tier:
  1554.                         print(aa.name)
  1555.             else:
  1556.                 print("invalid input")
  1557.     else:
  1558.         choosing = True
  1559.         while choosing:
  1560.             cls()
  1561.             tier1 = input("enter the tier of mons you want to have a counter on your team for (s/a+/a/a-/b+/b/b-/c+/c/c-/d/u) \nor if you want to know the mons in a tier type 'help': ")
  1562.             tier1 = tier1.lower()
  1563.             if tier1 == "s" or tier1 == "a+" or tier1 == "a" or tier1 == "a-" or tier1 == "b+" or tier1 == "b" or tier1 == "b-" or tier1 == "c+" or tier1 == "c" or tier1 == "c-" or tier1 == "d" or tier1 == "u":
  1564.                 for pokes in pokemon_list:
  1565.                     if pokes.tier == tier1:
  1566.                         got_mons.append(pokes)
  1567.                 q = input("would you like to add more tiers you want to have counters for (the more tiers you want to counter the less teams there will be) (y/n): ")
  1568.                 if q == "no" or q == "n":
  1569.                     choosing = False
  1570.                 elif q == "y" or q == "ye" or q == "yes":
  1571.                     choosing = True
  1572.                 else:
  1573.                     choosing = False
  1574.             elif tier1 == "h" or tier1 == "help":
  1575.                 what_tier = input("enter the tier you want to know the mons for (s/a+/a/a-/b+/b/b-/c+/c/c-/d/u): ")
  1576.                 for aa in pokemon_list:
  1577.                     if aa.tier == what_tier:
  1578.                         print(aa.name)
  1579.             else:
  1580.                 print("invalid input")
  1581.         choosing_1 = True
  1582.         while choosing_1:
  1583.             mon1 = input("enter the mons name you want to beat: ")
  1584.             got_mons.append(getmon(mon1))
  1585.             q = input("would you like to add more specific mons you want your team to beat? (y/n): ")
  1586.             if q == "no" or q == "n":
  1587.                 choosing_1 = False
  1588.             elif q == "y" or q == "ye" or q == "yes":
  1589.                 choosing_1 = True
  1590.             else:
  1591.                 choosing_1 = False
  1592.     found_teams = 0
  1593.     for x in pokemon_list:
  1594.         opponent_loss_1 = []
  1595.         opponent_loss_1.extend(x.lmatchups)
  1596.         for y in pokemon_list:
  1597.             if y.name != x.name:
  1598.                 opponent_loss_2 = []
  1599.                 opponent_loss_2.extend(y.lmatchups)
  1600.                 for z in pokemon_list:
  1601.                     team_has_counters = 0
  1602.                     team_pass = False
  1603.                     team_pass_3 = 0
  1604.                     opponent_loss_3 = []
  1605.                     opponent_loss_3.extend(z.lmatchups)
  1606.                     for xx in opponent_loss_1:
  1607.                         for yy in opponent_loss_2:
  1608.                             if xx == yy:
  1609.                                 for zz in opponent_loss_3:
  1610.                                     if yy == zz:
  1611.                                         team_has_counters = team_has_counters + 1
  1612.                     if team_has_counters < 1:
  1613.                         m = 0
  1614.                         for mons in got_mons:
  1615.                             m = m + 1
  1616.                             for loss in mons.lmatchups:
  1617.                                 if loss == x or loss == y or loss == z:
  1618.                                     team_pass_3 = team_pass_3 + 1
  1619.                                     break
  1620.                             if m != team_pass_3:
  1621.                                 team_pass = False
  1622.                                 break
  1623.                         if team_pass == True:
  1624.                             duplicate = False
  1625.                             if found_teams == 0:
  1626.                                 print("\n=== [gen71v1] " + x.name + " " + y.name + " " + z.name + " ===\n")
  1627.                                 if x == aron_1:
  1628.                                     print(x.name + " @ " + x.item + "\nAbility: " + x.ability + "\nLevel: 1\nEVs: " + x.ev_spread + "\n" + x.nature + " Nature" + "\n- " + x.move1 + "\n- " + x.move2 + "\n- " + x.move3 + "\n- " + x.move4 + "\n \n" + y.name + " @ " + y.item + "\nAbility: " + y.ability + "\nEVs: " + y.ev_spread + "\n" + y.nature + " Nature" + "\n- " + y.move1 + "\n- " + y.move2 + "\n- " + y.move3 + "\n- " + y.move4 + "\n \n" + z.name + " @ " + z.item + "\nAbility: " + z.ability + "\nEVs: " + z.ev_spread + "\n" + z.nature + " Nature" + "\n- " + z.move1 + "\n- " + z.move2 + "\n- " + z.move3 + "\n- " + z.move4)
  1629.                                 elif y == aron_1:
  1630.                                     print(x.name + " @ " + x.item + "\nAbility: " + x.ability + "\nEVs: " + x.ev_spread + "\n" + x.nature + " Nature" + "\n- " + x.move1 + "\n- " + x.move2 + "\n- " + x.move3 + "\n- " + x.move4 + "\n \n" + y.name + " @ " + y.item + "\nAbility: " + y.ability + "\nLevel: 1\nEVs: " + y.ev_spread + "\n" + y.nature + " Nature" + "\n- " + y.move1 + "\n- " + y.move2 + "\n- " + y.move3 + "\n- " + y.move4 + "\n \n" + z.name + " @ " + z.item + "\nAbility: " + z.ability + "\nEVs: " + z.ev_spread + "\n" + z.nature + " Nature" + "\n- " + z.move1 + "\n- " + z.move2 + "\n- " + z.move3 + "\n- " + z.move4)
  1631.                                 elif z == aron_1:
  1632.                                     print(x.name + " @ " + x.item + "\nAbility: " + x.ability + "\nEVs: " + x.ev_spread + "\n" + x.nature + " Nature" + "\n- " + x.move1 + "\n- " + x.move2 + "\n- " + x.move3 + "\n- " + x.move4 + "\n \n" + y.name + " @ " + y.item + "\nAbility: " + y.ability + "\nEVs: " + y.ev_spread + "\n" + y.nature + " Nature" + "\n- " + y.move1 + "\n- " + y.move2 + "\n- " + y.move3 + "\n- " + y.move4 + "\n \n" + z.name + " @ " + z.item + "\nAbility: " + z.ability + "\nLevel: 1\nEVs: " + z.ev_spread + "\n" + z.nature + " Nature" + "\n- " + z.move1 + "\n- " + z.move2 + "\n- " + z.move3 + "\n- " + z.move4)
  1633.                                 else:
  1634.                                     print(x.name + " @ " + x.item + "\nAbility: " + x.ability + "\nEVs: " + x.ev_spread + "\n" + x.nature + " Nature" + "\n- " + x.move1 + "\n- " + x.move2 + "\n- " + x.move3 + "\n- " + x.move4 + "\n \n" + y.name + " @ " + y.item + "\nAbility: " + y.ability + "\nEVs: " + y.ev_spread + "\n" + y.nature + " Nature" + "\n- " + y.move1 + "\n- " + y.move2 + "\n- " + y.move3 + "\n- " + y.move4 + "\n \n" + z.name + " @ " + z.item + "\nAbility: " + z.ability + "\nEVs: " + z.ev_spread + "\n" + z.nature + " Nature" + "\n- " + z.move1 + "\n- " + z.move2 + "\n- " + z.move3 + "\n- " + z.move4)
  1635.                                 found_teams = found_teams + 1
  1636.                                 team_list.append([x, y, z])
  1637.                             else:
  1638.                                 i = 0
  1639.                                 for team in team_list:
  1640.                                     if (team_list[i][0] == x or team_list[i][1] == x or team_list[i][2] == x) and (team_list[i][0] == y or team_list[i][1] == y or team_list[i][2] == y) and (team_list[i][0] == z or team_list[i][1] == z or team_list[i][2] == z):
  1641.                                         duplicate = True
  1642.                                         break
  1643.                                     i = i + 1
  1644.                                 if duplicate == False:
  1645.                                     print("\n=== [gen71v1] " + x.name + " " + y.name + " " + z.name + " ===\n")
  1646.                                     if x == aron_1:
  1647.                                         print(x.name + " @ " + x.item + "\nAbility: " + x.ability + "\nLevel: 1\nEVs: " + x.ev_spread + "\n" + x.nature + " Nature" + "\n- " + x.move1 + "\n- " + x.move2 + "\n- " + x.move3 + "\n- " + x.move4 + "\n \n" + y.name + " @ " + y.item + "\nAbility: " + y.ability + "\nEVs: " + y.ev_spread + "\n" + y.nature + " Nature" + "\n- " + y.move1 + "\n- " + y.move2 + "\n- " + y.move3 + "\n- " + y.move4 + "\n \n" + z.name + " @ " + z.item + "\nAbility: " + z.ability + "\nEVs: " + z.ev_spread + "\n" + z.nature + " Nature" + "\n- " + z.move1 + "\n- " + z.move2 + "\n- " + z.move3 + "\n- " + z.move4)
  1648.                                     elif y == aron_1:
  1649.                                         print(x.name + " @ " + x.item + "\nAbility: " + x.ability + "\nEVs: " + x.ev_spread + "\n" + x.nature + " Nature" + "\n- " + x.move1 + "\n- " + x.move2 + "\n- " + x.move3 + "\n- " + x.move4 + "\n \n" + y.name + " @ " + y.item + "\nAbility: " + y.ability + "\nLevel: 1\nEVs: " + y.ev_spread + "\n" + y.nature + " Nature" + "\n- " + y.move1 + "\n- " + y.move2 + "\n- " + y.move3 + "\n- " + y.move4 + "\n \n" + z.name + " @ " + z.item + "\nAbility: " + z.ability + "\nEVs: " + z.ev_spread + "\n" + z.nature + " Nature" + "\n- " + z.move1 + "\n- " + z.move2 + "\n- " + z.move3 + "\n- " + z.move4)
  1650.                                     elif z == aron_1:
  1651.                                         print(x.name + " @ " + x.item + "\nAbility: " + x.ability + "\nEVs: " + x.ev_spread + "\n" + x.nature + " Nature" + "\n- " + x.move1 + "\n- " + x.move2 + "\n- " + x.move3 + "\n- " + x.move4 + "\n \n" + y.name + " @ " + y.item + "\nAbility: " + y.ability + "\nEVs: " + y.ev_spread + "\n" + y.nature + " Nature" + "\n- " + y.move1 + "\n- " + y.move2 + "\n- " + y.move3 + "\n- " + y.move4 + "\n \n" + z.name + " @ " + z.item + "\nAbility: " + z.ability + "\nLevel: 1\nEVs: " + z.ev_spread + "\n" + z.nature + " Nature" + "\n- " + z.move1 + "\n- " + z.move2 + "\n- " + z.move3 + "\n- " + z.move4)
  1652.                                     else:
  1653.                                         print(x.name + " @ " + x.item + "\nAbility: " + x.ability + "\nEVs: " + x.ev_spread + "\n" + x.nature + " Nature" + "\n- " + x.move1 + "\n- " + x.move2 + "\n- " + x.move3 + "\n- " + x.move4 + "\n \n" + y.name + " @ " + y.item + "\nAbility: " + y.ability + "\nEVs: " + y.ev_spread + "\n" + y.nature + " Nature" + "\n- " + y.move1 + "\n- " + y.move2 + "\n- " + y.move3 + "\n- " + y.move4 + "\n \n" + z.name + " @ " + z.item + "\nAbility: " + z.ability + "\nEVs: " + z.ev_spread + "\n" + z.nature + " Nature" + "\n- " + z.move1 + "\n- " + z.move2 + "\n- " + z.move3 + "\n- " + z.move4)
  1654.                                     found_teams = found_teams + 1
  1655.                                 team_list.append([x, y, z])
  1656.     print("\nteams found:")
  1657.     print(found_teams)
  1658.  
  1659. #finding good teams
  1660. def find_teams_3():
  1661.     opponent_loss_1 = []
  1662.     opponent_loss_2 = []
  1663.     opponent_loss_3 = []
  1664.     cls()
  1665.     while True:
  1666.         tier1 = input("enter command or see commands typing (com): ")
  1667.         tier1 = tier1.lower()
  1668.         if tier1 == "s" or tier1 == "a+" or tier1 == "a" or tier1 == "a-" or tier1 == "b+" or tier1 == "b" or tier1 == "b-" or tier1 == "c+" or tier1 == "c" or tier1 == "c-" or tier1 == "d" or tier1 == "u":
  1669.             for pokes in pokemon_list:
  1670.                 if pokes.tier == tier1:
  1671.                     got_mons.append(pokes)
  1672.         elif tier1 == "h" or tier1 == "help":
  1673.             what_tier = input("enter the tier you want to know the mons for (s/a+/a/a-/b+/b/b-/c+/c/c-/d/u): ")
  1674.             for aa in pokemon_list:
  1675.                 if aa.tier == what_tier:
  1676.                     print(aa.name)
  1677.         elif tier1 == "q":
  1678.             break
  1679.         elif tier1 == "r":
  1680.             mon1 = input("enter the mons name you want to remove: ")
  1681.             remove = getmon(mon1)
  1682.             i = 0
  1683.             for x in got_mons:
  1684.                 if x == remove:
  1685.                     got_mons.pop(i)
  1686.                 i += 1
  1687.         elif tier1 == "see":
  1688.             for x in got_mons:
  1689.                 print(x.name)
  1690.         elif tier1 == "add":
  1691.             mon1 = input("enter mon name: ")
  1692.             got_mons.append(getmon(mon1))
  1693.         elif tier1 == "com":
  1694.             print("\nenter the tier of mons you want to have a counter on your team for (s/a+/a/a-/b+/b/b-/c+/c/c-/d/u)- \nor if you want to know the mons in a tier type 'help'-\nor add a mon type (add)- \nor if you want to remove a mon added in tiers, type (r)- \nor see what mons are added (see)-\nor if you are finished adding/removing type (q): ")
  1695.         else:
  1696.             print("invalid input")
  1697.     choosing_1 = True
  1698.     found_teams = 0
  1699.     teams = open("teams.txt", "w+")
  1700.     for x in pokemon_list:
  1701.         for y in pokemon_list:
  1702.             if y.name != x.name:
  1703.                 for z in pokemon_list:
  1704.                     if z.name != y.name and z.name != x.name:
  1705.                         team_pass = True
  1706.                         team_pass_3 = 0
  1707.                         m = 0
  1708.                         for mons in got_mons:
  1709.                             m = m + 1
  1710.                             for loss in mons.lmatchups:
  1711.                                 if loss == x or loss == y or loss == z:
  1712.                                     team_pass_3 = team_pass_3 + 1
  1713.                                     break
  1714.                             if m != team_pass_3:
  1715.                                 team_pass = False
  1716.                                 break
  1717.                         if team_pass == True:
  1718.                             duplicate = False
  1719.                             if found_teams == 0:
  1720.                                 teams.write("\n\n=== [gen71v1] " + x.name + " " + y.name + " " + z.name + " ===\n\n")
  1721.                                 teams.write(x.name + " @ " + x.item + "\nAbility: " + x.ability + "\nEVs: " + x.ev_spread + "\n" + x.nature + " Nature" + "\n- " + x.move1 + "\n- " + x.move2 + "\n- " + x.move3 + "\n- " + x.move4 + "\n \n" + y.name + " @ " + y.item + "\nAbility: " + y.ability + "\nEVs: " + y.ev_spread + "\n" + y.nature + " Nature" + "\n- " + y.move1 + "\n- " + y.move2 + "\n- " + y.move3 + "\n- " + y.move4 + "\n \n" + z.name + " @ " + z.item + "\nAbility: " + z.ability + "\nEVs: " + z.ev_spread + "\n" + z.nature + " Nature" + "\n- " + z.move1 + "\n- " + z.move2 + "\n- " + z.move3 + "\n- " + z.move4)
  1722.                                 print("\n\n=== [gen71v1] " + x.name + " " + y.name + " " + z.name + " ===\n\n")
  1723.                                 print(x.name + " @ " + x.item + "\nAbility: " + x.ability + "\nEVs: " + x.ev_spread + "\n" + x.nature + " Nature" + "\n- " + x.move1 + "\n- " + x.move2 + "\n- " + x.move3 + "\n- " + x.move4 + "\n \n" + y.name + " @ " + y.item + "\nAbility: " + y.ability + "\nEVs: " + y.ev_spread + "\n" + y.nature + " Nature" + "\n- " + y.move1 + "\n- " + y.move2 + "\n- " + y.move3 + "\n- " + y.move4 + "\n \n" + z.name + " @ " + z.item + "\nAbility: " + z.ability + "\nEVs: " + z.ev_spread + "\n" + z.nature + " Nature" + "\n- " + z.move1 + "\n- " + z.move2 + "\n- " + z.move3 + "\n- " + z.move4)
  1724.                                 found_teams = found_teams + 1
  1725.                                 team_list.append([x, y, z])
  1726.                             else:
  1727.                                 i = 0
  1728.                                 for team in team_list:
  1729.                                     if (team_list[i][0] == x or team_list[i][1] == x or team_list[i][2] == x) and (team_list[i][0] == y or team_list[i][1] == y or team_list[i][2] == y) and (team_list[i][0] == z or team_list[i][1] == z or team_list[i][2] == z):
  1730.                                         duplicate = True
  1731.                                         break
  1732.                                     i = i + 1
  1733.                                 if duplicate == False:
  1734.                                     teams.write("\n\n=== [gen71v1] " + x.name + " " + y.name + " " + z.name + " ===\n\n")
  1735.                                     teams.write(x.name + " @ " + x.item + "\nAbility: " + x.ability + "\nEVs: " + x.ev_spread + "\n" + x.nature + " Nature" + "\n- " + x.move1 + "\n- " + x.move2 + "\n- " + x.move3 + "\n- " + x.move4 + "\n \n" + y.name + " @ " + y.item + "\nAbility: " + y.ability + "\nEVs: " + y.ev_spread + "\n" + y.nature + " Nature" + "\n- " + y.move1 + "\n- " + y.move2 + "\n- " + y.move3 + "\n- " + y.move4 + "\n \n" + z.name + " @ " + z.item + "\nAbility: " + z.ability + "\nEVs: " + z.ev_spread + "\n" + z.nature + " Nature" + "\n- " + z.move1 + "\n- " + z.move2 + "\n- " + z.move3 + "\n- " + z.move4)
  1736.                                     print("\n\n=== [gen71v1] " + x.name + " " + y.name + " " + z.name + " ===\n\n")
  1737.                                     print(x.name + " @ " + x.item + "\nAbility: " + x.ability + "\nEVs: " + x.ev_spread + "\n" + x.nature + " Nature" + "\n- " + x.move1 + "\n- " + x.move2 + "\n- " + x.move3 + "\n- " + x.move4 + "\n \n" + y.name + " @ " + y.item + "\nAbility: " + y.ability + "\nEVs: " + y.ev_spread + "\n" + y.nature + " Nature" + "\n- " + y.move1 + "\n- " + y.move2 + "\n- " + y.move3 + "\n- " + y.move4 + "\n \n" + z.name + " @ " + z.item + "\nAbility: " + z.ability + "\nEVs: " + z.ev_spread + "\n" + z.nature + " Nature" + "\n- " + z.move1 + "\n- " + z.move2 + "\n- " + z.move3 + "\n- " + z.move4)
  1738.                                     found_teams = found_teams + 1
  1739.                                 team_list.append([x, y, z])
  1740.     teams.close()
  1741.     print("\nteams found:")
  1742.     print(found_teams)
  1743.  
  1744. #finding good teams
  1745. def tour_teams():
  1746.     opponent_loss_1 = []
  1747.     opponent_loss_2 = []
  1748.     opponent_loss_3 = []
  1749.     person = input("who are these teams for?")
  1750.     print("this will be for entering groups of mons you want to beat")
  1751.     choosing_1 = True
  1752.     while choosing_1:
  1753.         mon1 = input("enter the mons name you want to beat: ")
  1754.         got_mons.append(getmon(mon1))
  1755.         q = input("would you like to add more specific mons you want your team to beat? (y/n): ")
  1756.         if q == "no" or q == "n":
  1757.             choosing_1 = False
  1758.         elif q == "y" or q == "ye" or q == "yes":
  1759.             choosing_1 = True
  1760.     print("enter extra mons you want covered")
  1761.     choosing_1 = True
  1762.     while choosing_1:
  1763.         mon1 = input("enter the mons name you want to beat: ")
  1764.         got_mons_2.append(getmon(mon1))
  1765.         q = input("would you like to add more specific mons you want your team to beat? (y/n): ")
  1766.         if q == "no" or q == "n":
  1767.             choosing_1 = False
  1768.         elif q == "y" or q == "ye" or q == "yes":
  1769.             choosing_1 = True
  1770.         else:
  1771.             choosing_1 = False
  1772.     found_teams = 0
  1773.     teams2 = open("teams2.txt", "w+")
  1774.     for x in pokemon_list:
  1775.         for y in pokemon_list:
  1776.             if y.name != x.name:
  1777.                 for z in pokemon_list:
  1778.                     if z.name != y.name and z.name != x.name:
  1779.                         m = 0
  1780.                         team_pass = True
  1781.                         for mons in got_mons:
  1782.                             mons.team_pass_3 = 0
  1783.                             for loss in mons.lmatchups:
  1784.                                 if loss == x or loss == y or loss == z:
  1785.                                     mons.team_pass_3 = mons.team_pass_3 + 1
  1786.                             if mons.team_pass_3 < 2:
  1787.                                 team_pass = False
  1788.                                 break
  1789.                         if team_pass == True:
  1790.                             for mons2 in got_mons_2:
  1791.                                 mons2.team_pass_3 = 0
  1792.                                 for losses in mons2.lmatchups:
  1793.                                     if losses == x or losses == y or losses == z:
  1794.                                         mons2.team_pass_3 += 1
  1795.                                 if mons2.team_pass_3 < 1:
  1796.                                     team_pass = False
  1797.                                     break
  1798.                         if team_pass == True:
  1799.                             duplicate = False
  1800.                             if found_teams == 0:
  1801.                                 teams2.write("\n\n=== [gen71v1] " + "Teams prepped for " + person + str(found_teams + 1) + " ===\n\n")
  1802.                                 teams2.write(x.name + " @ " + x.item + "\nAbility: " + x.ability + "\nEVs: " + x.ev_spread + "\n" + x.nature + " Nature" + "\n- " + x.move1 + "\n- " + x.move2 + "\n- " + x.move3 + "\n- " + x.move4 + "\n \n" + y.name + " @ " + y.item + "\nAbility: " + y.ability + "\nEVs: " + y.ev_spread + "\n" + y.nature + " Nature" + "\n- " + y.move1 + "\n- " + y.move2 + "\n- " + y.move3 + "\n- " + y.move4 + "\n \n" + z.name + " @ " + z.item + "\nAbility: " + z.ability + "\nEVs: " + z.ev_spread + "\n" + z.nature + " Nature" + "\n- " + z.move1 + "\n- " + z.move2 + "\n- " + z.move3 + "\n- " + z.move4)
  1803.                                 print("\n\n=== [gen71v1] " + "Teams prepped for " + person + str(found_teams + 1) + " ===\n\n")
  1804.                                 print(x.name + " @ " + x.item + "\nAbility: " + x.ability + "\nEVs: " + x.ev_spread + "\n" + x.nature + " Nature" + "\n- " + x.move1 + "\n- " + x.move2 + "\n- " + x.move3 + "\n- " + x.move4 + "\n \n" + y.name + " @ " + y.item + "\nAbility: " + y.ability + "\nEVs: " + y.ev_spread + "\n" + y.nature + " Nature" + "\n- " + y.move1 + "\n- " + y.move2 + "\n- " + y.move3 + "\n- " + y.move4 + "\n \n" + z.name + " @ " + z.item + "\nAbility: " + z.ability + "\nEVs: " + z.ev_spread + "\n" + z.nature + " Nature" + "\n- " + z.move1 + "\n- " + z.move2 + "\n- " + z.move3 + "\n- " + z.move4)
  1805.                                 found_teams = found_teams + 1
  1806.                                 team_list.append([x, y, z])
  1807.                             else:
  1808.                                 i = 0
  1809.                                 for team in team_list:
  1810.                                     if (team_list[i][0] == x or team_list[i][1] == x or team_list[i][2] == x) and (team_list[i][0] == y or team_list[i][1] == y or team_list[i][2] == y) and (team_list[i][0] == z or team_list[i][1] == z or team_list[i][2] == z):
  1811.                                         duplicate = True
  1812.                                         break
  1813.                                     i = i + 1
  1814.                                 if duplicate == False:
  1815.                                     teams2.write("\n\n=== [gen71v1] " + "Teams prepped for " + person + str(found_teams + 1) + " ===\n\n")
  1816.                                     teams2.write(x.name + " @ " + x.item + "\nAbility: " + x.ability + "\nEVs: " + x.ev_spread + "\n" + x.nature + " Nature" + "\n- " + x.move1 + "\n- " + x.move2 + "\n- " + x.move3 + "\n- " + x.move4 + "\n \n" + y.name + " @ " + y.item + "\nAbility: " + y.ability + "\nEVs: " + y.ev_spread + "\n" + y.nature + " Nature" + "\n- " + y.move1 + "\n- " + y.move2 + "\n- " + y.move3 + "\n- " + y.move4 + "\n \n" + z.name + " @ " + z.item + "\nAbility: " + z.ability + "\nEVs: " + z.ev_spread + "\n" + z.nature + " Nature" + "\n- " + z.move1 + "\n- " + z.move2 + "\n- " + z.move3 + "\n- " + z.move4)
  1817.                                     print("\n\n=== [gen71v1] " + "Teams prepped for " + person + str(found_teams + 1) + " ===\n\n")
  1818.                                     print(x.name + " @ " + x.item + "\nAbility: " + x.ability + "\nEVs: " + x.ev_spread + "\n" + x.nature + " Nature" + "\n- " + x.move1 + "\n- " + x.move2 + "\n- " + x.move3 + "\n- " + x.move4 + "\n \n" + y.name + " @ " + y.item + "\nAbility: " + y.ability + "\nEVs: " + y.ev_spread + "\n" + y.nature + " Nature" + "\n- " + y.move1 + "\n- " + y.move2 + "\n- " + y.move3 + "\n- " + y.move4 + "\n \n" + z.name + " @ " + z.item + "\nAbility: " + z.ability + "\nEVs: " + z.ev_spread + "\n" + z.nature + " Nature" + "\n- " + z.move1 + "\n- " + z.move2 + "\n- " + z.move3 + "\n- " + z.move4)
  1819.                                     found_teams = found_teams + 1
  1820.                                 team_list.append([x, y, z])
  1821.     teams2.close()
  1822.     print("\nteams found:")
  1823.     print(found_teams)
  1824.  
  1825.  
  1826.  
  1827. #print out all current sets for each mon
  1828. def print_all_mons():
  1829.     for x in pokemon_list:
  1830.         print(x.name + " @ " + x.item + "\nAbility: " + x.ability + "\nEVs: " + x.ev_spread + "\n" + x.nature + " Nature" + "\n- " + x.move1 + "\n- " + x.move2 + "\n- " + x.move3 + "\n- " + x.move4 + "\n \n")
  1831.     print("add matchups for your mon to add in here: \nhttps://docs.google.com/spreadsheets/d/1HsXOBRFxtbWlruwVvTbeuLCyWqLoWVGvlJO0v_MsQW4/edit?usp=sharing\nmake sure to calc and test necessary matchups, and give your set to ryyjyywyy in pokepaste (set cant have optional move, ev, or nature choices)")
  1832.  
  1833. def get_mus():
  1834.     choice = input("mon name ")
  1835.     mon = getmon(choice)
  1836.     print("this mon loses to: \n")
  1837.     for x in mon.lmatchups:
  1838.         print(x.name + " @ " + x.item + "\nAbility: " + x.ability + "\nEVs: " + x.ev_spread + "\n" + x.nature + " Nature" + "\n- " + x.move1 + "\n- " + x.move2 + "\n- " + x.move3 + "\n- " + x.move4 + "\n \n")
  1839.     print("this mon beats: \n")
  1840.     for y in pokemon_list:
  1841.         for z in y.lmatchups:
  1842.             if z == mon:
  1843.                 print(y.name + " @ " + y.item + "\nAbility: " + y.ability + "\nEVs: " + y.ev_spread + "\n" + y.nature + " Nature" + "\n- " + y.move1 + "\n- " + y.move2 + "\n- " + y.move3 + "\n- " + y.move4 + "\n \n")
  1844.     print("matches with this mon can go either way vs: \n")
  1845.     for y in pokemon_list:
  1846.         f= False
  1847.         for z in y.lmatchups:
  1848.             if mon == z:
  1849.                 f = True
  1850.                 break
  1851.         if f == False:
  1852.             got_mons.append(y)
  1853.     for x in got_mons:
  1854.         f = False
  1855.         for y in mon.lmatchups:
  1856.             if x == y:
  1857.                 f = True
  1858.                 break
  1859.         if f == False:
  1860.             print(x.name + " @ " + x.item + "\nAbility: " + x.ability + "\nEVs: " + x.ev_spread + "\n" + x.nature + " Nature" + "\n- " + x.move1 + "\n- " + x.move2 + "\n- " + x.move3 + "\n- " + x.move4 + "\n \n")
  1861.  
  1862. #find team beats/2.5-0s
  1863. def team():
  1864.     print("dont use dashes or underscores for megas")
  1865.     mon = input("input the name of the first mon on your team: ")
  1866.     mon = getmon(mon)
  1867.     mon2 = input("\ninput the name of the second mon on your team: ")
  1868.     mon2 = getmon(mon2)
  1869.     mon3 = input("\ninput the name of the third mon on your team: ")
  1870.     mon3 = getmon(mon3)
  1871.     for x in pokemon_list:
  1872.         mb = False
  1873.         mb2 = False
  1874.         mb3 = False
  1875.         c = False
  1876.         for y in x.lmatchups:
  1877.             if y == mon:
  1878.                 mb = True
  1879.                 opponent_loss_1.append(x)
  1880.             if y == mon2:
  1881.                 mb2 = True
  1882.                 opponent_loss_2.append(x)
  1883.             if y == mon3:
  1884.                 mb3 = True
  1885.                 opponent_loss_3.append(x)
  1886.         if mb == False and mb2 == False and mb3 == False:
  1887.             for xx in mon.lmatchups:
  1888.                 for yy in mon2.lmatchups:
  1889.                     if xx == yy:
  1890.                         for z in mon3.lmatchups:
  1891.                             if yy == z:
  1892.                                 if z == x:
  1893.                                     c = True
  1894.             if c == False:
  1895.                 print("ass")
  1896.                 opponent_loss_4.append(x)
  1897.     print("\n" + mon.name + " counters: \n")
  1898.     for x in opponent_loss_1:
  1899.         print(x.name + " @ " + x.item + "\nAbility: " + x.ability + "\nEVs: " + x.ev_spread + "\n" + x.nature + " Nature" + "\n- " + x.move1 + "\n- " + x.move2 + "\n- " + x.move3 + "\n- " + x.move4 + "\n \n")
  1900.     print("\n" + mon2.name +  " counters: \n")
  1901.     for x in opponent_loss_2:
  1902.         print(x.name + " @ " + x.item + "\nAbility: " + x.ability + "\nEVs: " + x.ev_spread + "\n" + x.nature + " Nature" + "\n- " + x.move1 + "\n- " + x.move2 + "\n- " + x.move3 + "\n- " + x.move4 + "\n \n")
  1903.     print("\n" + mon3.name + " counters: \n")
  1904.     for x in opponent_loss_3:
  1905.         print(x.name + " @ " + x.item + "\nAbility: " + x.ability + "\nEVs: " + x.ev_spread + "\n" + x.nature + " Nature" + "\n- " + x.move1 + "\n- " + x.move2 + "\n- " + x.move3 + "\n- " + x.move4 + "\n \n")
  1906.     print("\n" + "your team gets 2.5-0d by: \n")
  1907.     for x in opponent_loss_4:
  1908.         print(x.name + " @ " + x.item + "\nAbility: " + x.ability + "\nEVs: " + x.ev_spread + "\n" + x.nature + " Nature" + "\n- " + x.move1 + "\n- " + x.move2 + "\n- " + x.move3 + "\n- " + x.move4 + "\n \n")
  1909.  
  1910. #ranking mons, relevant win/loss
  1911. def rank_new():
  1912.     s = 12
  1913.     ap = 11
  1914.     a = 10
  1915.     am = 9
  1916.     bp = 8
  1917.     b = 7
  1918.     bm = 6
  1919.     cp = 5
  1920.     c = 4
  1921.     cm = 3
  1922.     d = 2
  1923.     u = 1
  1924.  
  1925.     mxpt = 0
  1926.     mxpt2 = 0
  1927.     for x in pokemon_list:
  1928.         x.ptct = 0
  1929.     for x in pokemon_list:
  1930.         if x.ptct == 0:
  1931.             mxpt2 += 1
  1932.             if x.tier == "s":
  1933.                 mxpt += s
  1934.             elif x.tier == "a+":
  1935.                 mxpt += ap
  1936.             elif x.tier == "a":
  1937.                 mxpt += a
  1938.             elif x.tier == "a-":
  1939.                 mxpt += am
  1940.             elif x.tier == "b+":
  1941.                 mxpt += bp
  1942.             elif x.tier == "b":
  1943.                 mxpt += b
  1944.             elif x.tier == "b-":
  1945.                 mxpt += bm
  1946.             elif x.tier == "c+":
  1947.                 mxpt += cp
  1948.             elif x.tier == "c":
  1949.                 mxpt += c
  1950.             elif x.tier == "c-":
  1951.                 mxpt += cm
  1952.             elif x.tier == "d":
  1953.                 mxpt += d
  1954.             elif x.tier == "u":
  1955.                 mxpt += u
  1956.             for y in pokemon_list:
  1957.                 if x.name == y.name:
  1958.                     y.ptct = 1
  1959.     mxpt = mxpt * .5
  1960.     mxpt = mxpt + mxpt2
  1961.  
  1962.     for mon in pokemon_list:
  1963.         numsets = 0
  1964.         for setch in pokemon_list:
  1965.             if setch.name == mon.name:
  1966.                 numsets = numsets + 1
  1967.         mon.setamt = numsets
  1968.  
  1969.     for x in pokemon_list:
  1970.         x.ranking = 0
  1971.         no = []
  1972.         win = []
  1973.         ff = []
  1974.         for y in x.lmatchups:
  1975.             no.append(y)
  1976.         for y in pokemon_list:
  1977.             for z in y.lmatchups:
  1978.                 if z == x:
  1979.                     win.append(y)
  1980.                     no.append(y)
  1981.         for z in pokemon_list:
  1982.             same = False
  1983.             for l in no:
  1984.                 if l == z:
  1985.                     same = True
  1986.             if same == False:
  1987.                 if z.name == x.name:
  1988.                     same = True
  1989.             if same == False:
  1990.                 ff.append(z)
  1991.         got_mons.append(x)
  1992.  
  1993.         for won in win:
  1994.             if won.tier == "s":
  1995.                 x.ranking = x.ranking + s/won.setamt
  1996.             elif won.tier == "a+":
  1997.                 x.ranking = x.ranking + ap/won.setamt
  1998.             elif won.tier == "a":
  1999.                 x.ranking = x.ranking + a/won.setamt
  2000.             elif won.tier == "a-":
  2001.                 x.ranking = x.ranking + am/won.setamt
  2002.             elif won.tier == "b+":
  2003.                 x.ranking = x.ranking + bp/won.setamt
  2004.             elif won.tier == "b":
  2005.                 x.ranking = x.ranking + b/won.setamt
  2006.             elif won.tier == "b-":
  2007.                 x.ranking = x.ranking + bm/won.setamt
  2008.             elif won.tier == "c+":
  2009.                 x.ranking = x.ranking + cp/won.setamt
  2010.             elif won.tier == "c":
  2011.                 x.ranking = x.ranking + c/won.setamt
  2012.             elif won.tier == "c-":
  2013.                 x.ranking = x.ranking + cm/won.setamt
  2014.             elif won.tier == "d":
  2015.                 x.ranking = x.ranking + d/won.setamt
  2016.             elif won.tier == "u":
  2017.                 x.ranking = x.ranking + u/won.setamt
  2018.  
  2019.         for fif in ff:
  2020.             if fif.tier == "s":
  2021.                 x.ranking = x.ranking + (s/2)/fif.setamt
  2022.             elif fif.tier == "a+":
  2023.                 x.ranking = x.ranking + (ap/2)/fif.setamt
  2024.             elif fif.tier == "a":
  2025.                 x.ranking = x.ranking + (a/2)/fif.setamt
  2026.             elif fif.tier == "a-":
  2027.                 x.ranking = x.ranking + (am/2)/fif.setamt
  2028.             elif fif.tier == "b+":
  2029.                 x.ranking = x.ranking + (bp/2)/fif.setamt
  2030.             elif fif.tier == "b":
  2031.                 x.ranking = x.ranking + (b/2)/fif.setamt
  2032.             elif fif.tier == "b-":
  2033.                 x.ranking = x.ranking + (bm/2)/fif.setamt
  2034.             elif fif.tier == "c+":
  2035.                 x.ranking = x.ranking + (cp/2)/fif.setamt
  2036.             elif fif.tier == "c":
  2037.                 x.ranking = x.ranking + (c/2)/fif.setamt
  2038.             elif fif.tier == "c-":
  2039.                 x.ranking = x.ranking + (cm/2)/fif.setamt
  2040.             elif fif.tier == "d":
  2041.                 x.ranking = x.ranking + (d/2)/fif.setamt
  2042.             elif fif.tier == "u":
  2043.                 x.ranking = x.ranking + (u/2)/fif.setamt
  2044.  
  2045.     for x in got_mons:
  2046.         x.ranking = x.ranking * .5
  2047.     rank2_new()
  2048.     for x in got_mons:
  2049.         x.ranking = x.ranking + x.ranking2
  2050.     i = 0
  2051.     print("max points: " + str(mxpt))
  2052.     while i < len(pokemon_list):
  2053.         on = 0
  2054.         best = 0
  2055.         highest_mon = got_mons[0]
  2056.         highest_rank = got_mons[0].ranking
  2057.         for x in got_mons:
  2058.             if x.ranking > highest_rank:
  2059.                 highest_mon = x
  2060.                 highest_rank = x.ranking
  2061.                 best = on
  2062.             on = on + 1
  2063.         print("rank " + str(i + 1) + ": " + highest_mon.name + " " + highest_mon.ev_spread + " " + highest_mon.move1 + " " + highest_mon.move2 + " " + highest_mon.move3 + " " + highest_mon.move4 + " " + str(highest_mon.ranking) + "\n")
  2064.         got_mons.pop(best)
  2065.         i = i + 1
  2066.  
  2067. #rank2, blanket win/loss
  2068. def rank2_new():
  2069.     for x in pokemon_list:
  2070.         x.ranking2 = 0
  2071.         no = []
  2072.         win = []
  2073.         ff = []
  2074.         for y in x.lmatchups:
  2075.             no.append(y)
  2076.         for y in pokemon_list:
  2077.             for z in y.lmatchups:
  2078.                 if z == x:
  2079.                     win.append(y)
  2080.                     no.append(y)
  2081.         for z in pokemon_list:
  2082.             same = False
  2083.             for l in no:
  2084.                 if l == z:
  2085.                     same = True
  2086.             if same == False:
  2087.                 if z.name == x.name:
  2088.                     same = True
  2089.             if same == False:
  2090.                 ff.append(z)
  2091.         for won in win:
  2092.             x.ranking2 = x.ranking2 + 1/won.setamt
  2093.         for fif in ff:
  2094.             x.ranking2 = x.ranking2 + .5/fif.setamt
  2095.  
  2096. #ranking mons, relevant win/loss
  2097. def rank_mons():
  2098.     s = 12
  2099.     ap = 11
  2100.     a = 10
  2101.     am = 9
  2102.     bp = 8
  2103.     b = 7
  2104.     bm = 6
  2105.     cp = 5
  2106.     c = 4
  2107.     cm = 3
  2108.     d = 2
  2109.     u = 1
  2110.  
  2111.     for zard in pokemon_list:
  2112.         if zard.name == "Charizard-Mega-X" or zard.name == "Charizard-Mega-Y":
  2113.             zard.name = "Charizard"
  2114.  
  2115.     for mon in pokemon_list:
  2116.         current_mon = 0
  2117.         for dupe in pokemon_list:
  2118.             if mon.name == dupe.name:
  2119.                 aldone = False
  2120.                 for checkdupe in got_mons:
  2121.                     if checkdupe.name == mon.name:
  2122.                         aldone = True
  2123.                         break
  2124.                     if aldone == False:
  2125.                         for checkwin in pokemon_list:
  2126.                             newWin = 0
  2127.                             for loss in checkwin.lmatchups:
  2128.                                 if loss == dupe:
  2129.                                     newWin = 2
  2130.                                     for loss2 in checkwin.lmatchups:
  2131.                                         if loss2 == mon:
  2132.                                             newWin = 1
  2133.                                             break
  2134.                             if newWin == 2:
  2135.                                 checkwin.lmatchups.append(mon)
  2136.         good = 0
  2137.         for checkdupe in got_mons:
  2138.             if checkdupe.name == mon.name:
  2139.                 good = 1
  2140.                 break
  2141.         if good == 0:
  2142.             got_mons.append(mon)
  2143.  
  2144.     for mon in pokemon_list:
  2145.         numsets = 0
  2146.         for setch in pokemon_list:
  2147.             if setch.name == mon.name:
  2148.                 numsets = numsets + 1
  2149.         mon.setamt = numsets
  2150.  
  2151.     for x in got_mons:
  2152.         x.ranking = 0
  2153.         no = []
  2154.         win = []
  2155.         ff = []
  2156.         for y in x.lmatchups:
  2157.             no.append(y)
  2158.         for y in pokemon_list:
  2159.             for z in y.lmatchups:
  2160.                 if z == x:
  2161.                     win.append(y)
  2162.                     no.append(y)
  2163.         for z in pokemon_list:
  2164.             same = False
  2165.             for l in no:
  2166.                 if l == z:
  2167.                     same = True
  2168.             if same == False:
  2169.                 if z.name == x.name:
  2170.                     same = True
  2171.             if same == False:
  2172.                 ff.append(z)
  2173.         got_mons_2.append(x)
  2174.  
  2175.         for won in win:
  2176.             if won.tier == "s":
  2177.                 x.ranking = x.ranking + s/won.setamt
  2178.             elif won.tier == "a+":
  2179.                 x.ranking = x.ranking + ap/won.setamt
  2180.             elif won.tier == "a":
  2181.                 x.ranking = x.ranking + a/won.setamt
  2182.             elif won.tier == "a-":
  2183.                 x.ranking = x.ranking + am/won.setamt
  2184.             elif won.tier == "b+":
  2185.                 x.ranking = x.ranking + bp/won.setamt
  2186.             elif won.tier == "b":
  2187.                 x.ranking = x.ranking + b/won.setamt
  2188.             elif won.tier == "b-":
  2189.                 x.ranking = x.ranking + bm/won.setamt
  2190.             elif won.tier == "c+":
  2191.                 x.ranking = x.ranking + cp/won.setamt
  2192.             elif won.tier == "c":
  2193.                 x.ranking = x.ranking + c/won.setamt
  2194.             elif won.tier == "c-":
  2195.                 x.ranking = x.ranking + cm/won.setamt
  2196.             elif won.tier == "d":
  2197.                 x.ranking = x.ranking + d/won.setamt
  2198.             elif won.tier == "u":
  2199.                 x.ranking = x.ranking + u/won.setamt
  2200.  
  2201.         for fif in ff:
  2202.             if fif.tier == "s":
  2203.                 x.ranking = x.ranking + (s/2)/fif.setamt
  2204.             elif fif.tier == "a+":
  2205.                 x.ranking = x.ranking + (ap/2)/fif.setamt
  2206.             elif fif.tier == "a":
  2207.                 x.ranking = x.ranking + (a/2)/fif.setamt
  2208.             elif fif.tier == "a-":
  2209.                 x.ranking = x.ranking + (am/2)/fif.setamt
  2210.             elif fif.tier == "b+":
  2211.                 x.ranking = x.ranking + (bp/2)/fif.setamt
  2212.             elif fif.tier == "b":
  2213.                 x.ranking = x.ranking + (b/2)/fif.setamt
  2214.             elif fif.tier == "b-":
  2215.                 x.ranking = x.ranking + (bm/2)/fif.setamt
  2216.             elif fif.tier == "c+":
  2217.                 x.ranking = x.ranking + (cp/2)/fif.setamt
  2218.             elif fif.tier == "c":
  2219.                 x.ranking = x.ranking + (c/2)/fif.setamt
  2220.             elif fif.tier == "c-":
  2221.                 x.ranking = x.ranking + (cm/2)/fif.setamt
  2222.             elif fif.tier == "d":
  2223.                 x.ranking = x.ranking + (d/2)/fif.setamt
  2224.             elif fif.tier == "u":
  2225.                 x.ranking = x.ranking + (u/2)/fif.setamt
  2226.  
  2227.     for x in got_mons_2:
  2228.         x.ranking = x.ranking * .75
  2229.  
  2230.     rank_mons_2()
  2231.  
  2232.     for x in got_mons_2:
  2233.         x.ranking = x.ranking + x.ranking2
  2234.     i = 0
  2235.     while i < len(got_mons):
  2236.         on = 0
  2237.         best = 0
  2238.         highest_mon = got_mons_2[0]
  2239.         highest_rank = got_mons_2[0].ranking
  2240.         for x in got_mons_2:
  2241.             if x.ranking > highest_rank:
  2242.                 highest_mon = x
  2243.                 highest_rank = x.ranking
  2244.                 best = on
  2245.             on = on + 1
  2246.         print("rank " + str(i + 1) + ": " + highest_mon.name +  " " + str(highest_mon.ranking) + "\n")
  2247.         got_mons_2.pop(best)
  2248.         i = i + 1
  2249.  
  2250. def rank_mons_2():
  2251.     for x in pokemon_list:
  2252.         x.ranking2 = 0
  2253.         no = []
  2254.         win = []
  2255.         ff = []
  2256.         for y in x.lmatchups:
  2257.             no.append(y)
  2258.         for y in got_mons:
  2259.             for z in y.lmatchups:
  2260.                 if z == x:
  2261.                     win.append(y)
  2262.                     no.append(y)
  2263.         for z in got_mons:
  2264.             same = False
  2265.             for l in no:
  2266.                 if l == z:
  2267.                     same = True
  2268.             if same == False:
  2269.                 if z.name == x.name:
  2270.                     same = True
  2271.             if same == False:
  2272.                 ff.append(z)
  2273.         for won in win:
  2274.             x.ranking2 = x.ranking2 + 1/won.setamt
  2275.         for fif in ff:
  2276.             x.ranking2 = x.ranking2 + .5/fif.setamt
  2277.  
  2278. #counter list of mons
  2279. def get_users_input_2():
  2280.     print("dont use dashes or underscores for megas")
  2281.     add = True
  2282.     i = 0
  2283.     while add:
  2284.         mon = input("input the name of a mon you want to beat: ")
  2285.         opponent_loss_1.extend(getmon(mon.lower()).lmatchups)
  2286.         check = input("do you want to add more mons (y/n)")
  2287.         if check != "y" and check != "ye" and check != "yes":
  2288.             add = False
  2289.         i = i + 1
  2290.     for x in pokemon_list:
  2291.         double = False
  2292.         j = 0
  2293.         for y in got_mons:
  2294.             if y == x:
  2295.                 double = True
  2296.                 break
  2297.             else:
  2298.                 got_mons.append(x)
  2299.         if double == False:
  2300.             for z in opponent_loss_1:
  2301.                 if z == x:
  2302.                     j = j + 1
  2303.         if j == i:
  2304.             print(x.name + " @ " + x.item + "\nAbility: " + x.ability + "\nEVs: " + x.ev_spread + "\n" + x.nature + " Nature" + "\n- " + x.move1 + "\n- " + x.move2 + "\n- " + x.move3 + "\n- " + x.move4 + "\n \n")
  2305.     print("done")
  2306.  
  2307. def spreadsheet():
  2308.     print("matchups are based on how the mon on the left does vs the ones across")
  2309.     tot = 0
  2310.     for poke in pokemon_list:
  2311.         tot += 1
  2312.     w = "W"
  2313.     l = "L"
  2314.     m = "M"
  2315.     i = 0
  2316.     for poke in pokemon_list:
  2317.         poke.namelen = len(poke.name)
  2318.         if i == 0:
  2319.             longnam = poke.namelen
  2320.             i += 1
  2321.         else:
  2322.             if poke.namelen > longnam:
  2323.                 longnam = poke.namelen
  2324.     for sp in range(longnam-1):
  2325.         w += " "
  2326.         m += " "
  2327.         l += " "
  2328.     for poke in pokemon_list:
  2329.         poke.spacelen = longnam - poke.namelen
  2330.     for poke in pokemon_list:
  2331.         if poke.spacelen != 0:
  2332.             for x in range(poke.spacelen):
  2333.                 poke.name += " "
  2334.     space = ""
  2335.     for newsp in range(longnam):
  2336.         space += " "
  2337.     i = 0
  2338.     for poke in pokemon_list:
  2339.         if i == 0:
  2340.             print(space + "|" + poke.name + "|", end="")
  2341.             i += 1
  2342.         else:
  2343.             print(poke.name + "|", end="")
  2344.  
  2345.     for poke in pokemon_list:
  2346.         print("\n" + poke.name + "|", end="")
  2347.         for nexpoke in pokemon_list:
  2348.             iswin = False
  2349.             isloss = False
  2350.             for loss in nexpoke.lmatchups:
  2351.                 if loss == poke:
  2352.                     print(l + "|", end="")
  2353.                     iswin = True
  2354.                     break
  2355.             if iswin == False:
  2356.                 for losses in poke.lmatchups:
  2357.                     if losses == nexpoke:
  2358.                         print(w + "|", end="")
  2359.                         isloss = True
  2360.                         break
  2361.             if iswin == False and isloss == False:
  2362.                 print(m + "|", end="")
  2363.  
  2364. def random_team():
  2365.     i = -1
  2366.     for x in pokemon_list:
  2367.         i += 1
  2368.     for zard in pokemon_list:
  2369.         if zard.name == "Charizard-Mega-X" or zard.name == "Charizard-Mega-Y":
  2370.             zard.name = "Charizard"
  2371.     randmon1 = pokemon_list[random.randint(0, i)]
  2372.     while True:
  2373.         randmon2 = pokemon_list[random.randint(0, i)]
  2374.         randmon3 = pokemon_list[random.randint(0, i)]
  2375.         if randmon1.name != randmon2.name and randmon1.name != randmon3.name and randmon2.name != randmon3.name:
  2376.             print(randmon1.name + " @ " + randmon1.item + "\nAbility: " + randmon1.ability + "\nEVs: " + randmon1.ev_spread + "\n" + randmon1.nature + " Nature" + "\n- " + randmon1.move1 + "\n- " + randmon1.move2 + "\n- " + randmon1.move3 + "\n- " + randmon1.move4 + "\n \n" + randmon2.name + " @ " + randmon2.item + "\nAbility: " + randmon2.ability + "\nEVs: " + randmon2.ev_spread + "\n" + randmon2.nature + " Nature" + "\n- " + randmon2.move1 + "\n- " + randmon2.move2 + "\n- " + randmon2.move3 + "\n- " + randmon2.move4 + "\n \n" + randmon3.name + " @ " + randmon3.item + "\nAbility: " + randmon3.ability + "\nEVs: " + randmon3.ev_spread + "\n" + randmon3.nature + " Nature" + "\n- " + randmon3.move1 + "\n- " + randmon3.move2 + "\n- " + randmon3.move3 + "\n- " + randmon3.move4)
  2377.             break
  2378.  
  2379. def add_mon():
  2380.     obj = input("mon object name: ")
  2381.     name = input("mon name: ")
  2382.     item = input("item: ")
  2383.     nature = input("nature: ")
  2384.     evs = input("evs: ")
  2385.     ability = input("ability: ")
  2386.     move1 = input("move1: ")
  2387.     move2 = input("move2: ")
  2388.     move3 = input("move3: ")
  2389.     move4 = input("move4: ")
  2390.     tier = input("tier: ")
  2391.     newmon = pokemon(obj, "", "", "", "", "", "", "", "", "", "")
  2392.     loss_list = []
  2393.     for mon in pokemon_list:
  2394.         while True:
  2395.             mu = input("vs " + mon.objn + "; does new mon win/lose or is it not guaranteed (w/l/m): ")
  2396.             if mu.lower() == "w":
  2397.                 mon.lmatchups.append(newmon)
  2398.                 break
  2399.             elif mu.lower() == "l":
  2400.                 loss_list.append(mon)
  2401.                 break
  2402.             elif mu.lower() == "m":
  2403.                 l = 0
  2404.                 break
  2405.             else:
  2406.                 print("invalid input, redo: ")
  2407.  
  2408.     print("\n\n" + obj + " = pokemon(\"" + name + "\", \"" + item + "\", \"" + nature + "\", \"" + evs + "\", \"" + ability + "\", \"" + move1 + "\", \"" + move2 + "\", \"" + move3 + "\", \"" + move4 + "\", \"" + tier + "\")")
  2409.     for poke in pokemon_list:
  2410.         i = 0
  2411.         for loss in poke.lmatchups:
  2412.             i += 1
  2413.         poke.lossnum = i
  2414.     for poke in pokemon_list:
  2415.         used = False
  2416.         for mon in got_mons:
  2417.             if poke.name == mon.name:
  2418.                 used = True
  2419.                 break
  2420.         if used == False:
  2421.             print("\n#for all " + poke.name + " sets", end="")
  2422.         print("\n" + poke.objn + ".lmatchups = [", end="")
  2423.         i = 0
  2424.         for loss in poke.lmatchups:
  2425.             i += 1
  2426.             if i != poke.lossnum:
  2427.                 print(loss.objn + ", ", end="")
  2428.             else:
  2429.                 print(loss.objn + "]", end="")
  2430.         got_mons.append(poke)
  2431.     print("\n#for all " + name + " sets")
  2432.     print(obj + ".lmatchups = [", end="")
  2433.     i = 0
  2434.     for loss in loss_list:
  2435.         i += 1
  2436.     newmon.lossnum = i
  2437.     j = 0
  2438.     for loss in loss_list:
  2439.         j += 1
  2440.         if j != newmon.lossnum:
  2441.             print(loss.objn + ", ", end="")
  2442.         else:
  2443.             print(loss.objn + "]", end="")
  2444.  
  2445. #def mu_diff():
  2446.  
  2447.  
  2448. #user choice
  2449. def choice():
  2450.     print("\ndeveloped by ryyjyywyy\n")
  2451.     choice = input("would you like to have the computer find teams with no 3-0s using current mons and sets programed in (type 1) \nor input a team to find counters (type 2): \nor want to check matchups for a mon (type 3): \nor check what mons on your team counter and what 2.5-0s your team (type 4): ")
  2452.     print()
  2453.     if choice == "1":
  2454.         find_teams()
  2455.     elif choice == "2":
  2456.         get_users_input()
  2457.     elif choice == "all":
  2458.         print_all_mons()
  2459.     elif choice == "teams?":
  2460.         find_teams_2()
  2461.     elif choice == "3":
  2462.         get_mus()
  2463.     elif choice == "4":
  2464.         team()
  2465.     elif choice == "t?":
  2466.         find_teams_3()
  2467.     elif choice == "t":
  2468.         tour_teams()
  2469.     elif choice == "r?":
  2470.         rank_new()
  2471.     elif choice == "l":
  2472.         get_users_input_2()
  2473.     elif choice == "rm":
  2474.         rank_mons()
  2475.     elif choice == "s":
  2476.         spreadsheet()
  2477.     elif choice == "ran":
  2478.         random_team()
  2479.     elif choice == "add":
  2480.         add_mon()
  2481. choice()
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top