370 lines
12 KiB
Python
370 lines
12 KiB
Python
from typing import Dict, List
|
|
|
|
item_to_index: Dict[str, int] = {
|
|
"LEGEND OF B.E.W.D.": 1,
|
|
"METAL RAIDERS": 2,
|
|
"PHARAOH'S SERVANT": 3,
|
|
"PHARAONIC GUARDIAN": 4,
|
|
"SPELL RULER": 5,
|
|
"LABYRINTH OF NIGHTMARE": 6,
|
|
"LEGACY OF DARKNESS": 7,
|
|
"MAGICIAN'S FORCE": 8,
|
|
"DARK CRISIS": 9,
|
|
"INVASION OF CHAOS": 10,
|
|
"ANCIENT SANCTUARY": 11,
|
|
"SOUL OF THE DUELIST": 12,
|
|
"RISE OF DESTINY": 13,
|
|
"FLAMING ETERNITY": 14,
|
|
"THE LOST MILLENIUM": 15,
|
|
"CYBERNETIC REVOLUTION": 16,
|
|
"ELEMENTAL ENERGY": 17,
|
|
"SHADOW OF INFINITY": 18,
|
|
"GAME GIFT COLLECTION": 19,
|
|
"Special Gift Collection": 20,
|
|
"Fairy Collection": 21,
|
|
"Dragon Collection": 22,
|
|
"Warrior Collection A": 23,
|
|
"Warrior Collection B": 24,
|
|
"Fiend Collection A": 25,
|
|
"Fiend Collection B": 26,
|
|
"Machine Collection A": 27,
|
|
"Machine Collection B": 28,
|
|
"Spellcaster Collection A": 29,
|
|
"Spellcaster Collection B": 30,
|
|
"Zombie Collection": 31,
|
|
"Special Monsters A": 32,
|
|
"Special Monsters B": 33,
|
|
"Reverse Collection": 34,
|
|
"LP Recovery Collection": 35,
|
|
"Special Summon Collection A": 36,
|
|
"Special Summon Collection B": 37,
|
|
"Special Summon Collection C": 38,
|
|
"Equipment Collection": 39,
|
|
"Continuous Spell/Trap A": 40,
|
|
"Continuous Spell/Trap B": 41,
|
|
"Quick/Counter Collection": 42,
|
|
"Direct Damage Collection": 43,
|
|
"Direct Attack Collection": 44,
|
|
"Monster Destroy Collection": 45,
|
|
"All Normal Monsters": 46,
|
|
"All Effect Monsters": 47,
|
|
"All Fusion Monsters": 48,
|
|
"All Traps": 49,
|
|
"All Spells": 50,
|
|
"All at Random": 51,
|
|
"LD01 All except Level 4 forbidden Unlock": 52,
|
|
"LD02 Medium/high Level forbidden Unlock": 53,
|
|
"LD03 ATK 1500 or more forbidden Unlock": 54,
|
|
"LD04 Flip Effects forbidden Unlock": 55,
|
|
"LD05 Tributes forbidden Unlock": 56,
|
|
"LD06 Traps forbidden Unlock": 57,
|
|
"LD07 Large Deck A Unlock": 58,
|
|
"LD08 Large Deck B Unlock": 59,
|
|
"LD09 Sets Forbidden Unlock": 60,
|
|
"LD10 All except LV monsters forbidden Unlock": 61,
|
|
"LD11 All except Fairies forbidden Unlock": 62,
|
|
"LD12 All except Wind forbidden Unlock": 63,
|
|
"LD13 All except monsters forbidden Unlock": 64,
|
|
"LD14 Level 3 or below forbidden Unlock": 65,
|
|
"LD15 DEF 1500 or less forbidden Unlock": 66,
|
|
"LD16 Effect Monsters forbidden Unlock": 67,
|
|
"LD17 Spells forbidden Unlock": 68,
|
|
"LD18 Attacks forbidden Unlock": 69,
|
|
"LD19 All except E-Hero's forbidden Unlock": 70,
|
|
"LD20 All except Warriors forbidden Unlock": 71,
|
|
"LD21 All except Dark forbidden Unlock": 72,
|
|
"LD22 All limited cards forbidden Unlock": 73,
|
|
"LD23 Refer to Mar 05 Banlist Unlock": 74,
|
|
"LD24 Refer to Sept 04 Banlist Unlock": 75,
|
|
"LD25 Low Life Points Unlock": 76,
|
|
"LD26 All except Toons forbidden Unlock": 77,
|
|
"LD27 All except Spirits forbidden Unlock": 78,
|
|
"LD28 All except Dragons forbidden Unlock": 79,
|
|
"LD29 All except Spellcasters forbidden Unlock": 80,
|
|
"LD30 All except Light forbidden Unlock": 81,
|
|
"LD31 All except Fire forbidden Unlock": 82,
|
|
"LD32 Decks with multiples forbidden Unlock": 83,
|
|
"LD33 Special Summons forbidden Unlock": 84,
|
|
"LD34 Normal Summons forbidden Unlock": 85,
|
|
"LD35 All except Zombies forbidden Unlock": 86,
|
|
"LD36 All except Earth forbidden Unlock": 87,
|
|
"LD37 All except Water forbidden Unlock": 88,
|
|
"LD38 Refer to Mar 04 Banlist Unlock": 89,
|
|
"LD39 Monsters forbidden Unlock": 90,
|
|
"LD40 Refer to Sept 05 Banlist Unlock": 91,
|
|
"LD41 Refer to Sept 03 Banlist Unlock": 92,
|
|
"TD01 Battle Damage Unlock": 93,
|
|
"TD02 Deflected Damage Unlock": 94,
|
|
"TD03 Normal Summon Unlock": 95,
|
|
"TD04 Ritual Summon Unlock": 96,
|
|
"TD05 Special Summon A Unlock": 97,
|
|
"TD06 20x Spell Unlock": 98,
|
|
"TD07 10x Trap Unlock": 99,
|
|
"TD08 Draw Unlock": 100,
|
|
"TD09 Hand Destruction Unlock": 101,
|
|
"TD10 During Opponent's Turn Unlock": 102,
|
|
"TD11 Recover Unlock": 103,
|
|
"TD12 Remove Monsters by Effect Unlock": 104,
|
|
"TD13 Flip Summon Unlock": 105,
|
|
"TD14 Special Summon B Unlock": 106,
|
|
"TD15 Token Unlock": 107,
|
|
"TD16 Union Unlock": 108,
|
|
"TD17 10x Quick Spell Unlock": 109,
|
|
"TD18 The Forbidden Unlock": 110,
|
|
"TD19 20 Turns Unlock": 111,
|
|
"TD20 Deck Destruction Unlock": 112,
|
|
"TD21 Victory D. Unlock": 113,
|
|
"TD22 The Preventers Fight Back Unlock": 114,
|
|
"TD23 Huge Revolution Unlock": 115,
|
|
"TD24 Victory in 5 Turns Unlock": 116,
|
|
"TD25 Moth Grows Up Unlock": 117,
|
|
"TD26 Magnetic Power Unlock": 118,
|
|
"TD27 Dark Sage Unlock": 119,
|
|
"TD28 Direct Damage Unlock": 120,
|
|
"TD29 Destroy Monsters in Battle Unlock": 121,
|
|
"TD30 Tribute Summon Unlock": 122,
|
|
"TD31 Special Summon C Unlock": 123,
|
|
"TD32 Toon Unlock": 124,
|
|
"TD33 10x Counter Unlock": 125,
|
|
"TD34 Destiny Board Unlock": 126,
|
|
"TD35 Huge Damage in a Turn Unlock": 127,
|
|
"TD36 V-Z In the House Unlock": 128,
|
|
"TD37 Uria, Lord of Searing Flames Unlock": 129,
|
|
"TD38 Hamon, Lord of Striking Thunder Unlock": 130,
|
|
"TD39 Raviel, Lord of Phantasms Unlock": 131,
|
|
"TD40 Make a Chain Unlock": 132,
|
|
"TD41 The Gatekeeper Stands Tall Unlock": 133,
|
|
"TD42 Serious Damage Unlock": 134,
|
|
"TD43 Return Monsters with Effects Unlock": 135,
|
|
"TD44 Fusion Summon Unlock": 136,
|
|
"TD45 Big Damage at once Unlock": 137,
|
|
"TD46 XYZ In the House Unlock": 138,
|
|
"TD47 Spell Counter Unlock": 139,
|
|
"TD48 Destroy Monsters with Effects Unlock": 140,
|
|
"TD49 Plunder Unlock": 141,
|
|
"TD50 Dark Scorpion Combination Unlock": 142,
|
|
"Campaign Tier 1 Column 1": 143,
|
|
"Campaign Tier 1 Column 2": 144,
|
|
"Campaign Tier 1 Column 3": 145,
|
|
"Campaign Tier 1 Column 4": 146,
|
|
"Campaign Tier 1 Column 5": 147,
|
|
"Campaign Tier 2 Column 1": 148,
|
|
"Campaign Tier 2 Column 2": 149,
|
|
"Campaign Tier 2 Column 3": 150,
|
|
"Campaign Tier 2 Column 4": 151,
|
|
"Campaign Tier 2 Column 5": 152,
|
|
"Campaign Tier 3 Column 1": 153,
|
|
"Campaign Tier 3 Column 2": 154,
|
|
"Campaign Tier 3 Column 3": 155,
|
|
"Campaign Tier 3 Column 4": 156,
|
|
"Campaign Tier 3 Column 5": 157,
|
|
"Campaign Tier 4 Column 1": 158,
|
|
"Campaign Tier 4 Column 2": 159,
|
|
"Campaign Tier 4 Column 3": 160,
|
|
"Campaign Tier 4 Column 4": 161,
|
|
"Campaign Tier 4 Column 5": 162,
|
|
"Campaign Tier 5 Column 1": 163,
|
|
"Campaign Tier 5 Column 2": 164,
|
|
"No Banlist": 167,
|
|
"Banlist September 2003": 168,
|
|
"Banlist March 2004": 169,
|
|
"Banlist September 2004": 170,
|
|
"Banlist March 2005": 171,
|
|
"Banlist September 2005": 172,
|
|
"5000DP": 254,
|
|
"Remote": 255,
|
|
}
|
|
|
|
tier_1_opponents: List[str] = [
|
|
"Campaign Tier 1 Column 1",
|
|
"Campaign Tier 1 Column 2",
|
|
"Campaign Tier 1 Column 3",
|
|
"Campaign Tier 1 Column 4",
|
|
"Campaign Tier 1 Column 5",
|
|
]
|
|
|
|
Banlist_Items: List[str] = [
|
|
"No Banlist",
|
|
"Banlist September 2003",
|
|
"Banlist March 2004",
|
|
"Banlist September 2004",
|
|
"Banlist March 2005",
|
|
"Banlist September 2005",
|
|
]
|
|
|
|
draft_boosters: List[str] = [
|
|
"METAL RAIDERS",
|
|
"PHARAOH'S SERVANT",
|
|
"PHARAONIC GUARDIAN",
|
|
"LABYRINTH OF NIGHTMARE",
|
|
"LEGACY OF DARKNESS",
|
|
"MAGICIAN'S FORCE",
|
|
"DARK CRISIS",
|
|
"INVASION OF CHAOS",
|
|
"RISE OF DESTINY",
|
|
"ELEMENTAL ENERGY",
|
|
"SHADOW OF INFINITY",
|
|
]
|
|
|
|
draft_opponents: List[str] = ["Campaign Tier 1 Column 1", "Campaign Tier 1 Column 5"]
|
|
|
|
booster_packs: List[str] = [
|
|
"LEGEND OF B.E.W.D.",
|
|
"METAL RAIDERS",
|
|
"PHARAOH'S SERVANT",
|
|
"PHARAONIC GUARDIAN",
|
|
"SPELL RULER",
|
|
"LABYRINTH OF NIGHTMARE",
|
|
"LEGACY OF DARKNESS",
|
|
"MAGICIAN'S FORCE",
|
|
"DARK CRISIS",
|
|
"INVASION OF CHAOS",
|
|
"ANCIENT SANCTUARY",
|
|
"SOUL OF THE DUELIST",
|
|
"RISE OF DESTINY",
|
|
"FLAMING ETERNITY",
|
|
"THE LOST MILLENIUM",
|
|
"CYBERNETIC REVOLUTION",
|
|
"ELEMENTAL ENERGY",
|
|
"SHADOW OF INFINITY",
|
|
"GAME GIFT COLLECTION",
|
|
"Special Gift Collection",
|
|
"Fairy Collection",
|
|
"Dragon Collection",
|
|
"Warrior Collection A",
|
|
"Warrior Collection B",
|
|
"Fiend Collection A",
|
|
"Fiend Collection B",
|
|
"Machine Collection A",
|
|
"Machine Collection B",
|
|
"Spellcaster Collection A",
|
|
"Spellcaster Collection B",
|
|
"Zombie Collection",
|
|
"Special Monsters A",
|
|
"Special Monsters B",
|
|
"Reverse Collection",
|
|
"LP Recovery Collection",
|
|
"Special Summon Collection A",
|
|
"Special Summon Collection B",
|
|
"Special Summon Collection C",
|
|
"Equipment Collection",
|
|
"Continuous Spell/Trap A",
|
|
"Continuous Spell/Trap B",
|
|
"Quick/Counter Collection",
|
|
"Direct Damage Collection",
|
|
"Direct Attack Collection",
|
|
"Monster Destroy Collection",
|
|
]
|
|
|
|
challenges: List[str] = [
|
|
"LD01 All except Level 4 forbidden Unlock",
|
|
"LD02 Medium/high Level forbidden Unlock",
|
|
"LD03 ATK 1500 or more forbidden Unlock",
|
|
"LD04 Flip Effects forbidden Unlock",
|
|
"LD05 Tributes forbidden Unlock",
|
|
"LD06 Traps forbidden Unlock",
|
|
"LD07 Large Deck A Unlock",
|
|
"LD08 Large Deck B Unlock",
|
|
"LD09 Sets Forbidden Unlock",
|
|
"LD10 All except LV monsters forbidden Unlock",
|
|
"LD11 All except Fairies forbidden Unlock",
|
|
"LD12 All except Wind forbidden Unlock",
|
|
"LD13 All except monsters forbidden Unlock",
|
|
"LD14 Level 3 or below forbidden Unlock",
|
|
"LD15 DEF 1500 or less forbidden Unlock",
|
|
"LD16 Effect Monsters forbidden Unlock",
|
|
"LD17 Spells forbidden Unlock",
|
|
"LD18 Attacks forbidden Unlock",
|
|
"LD19 All except E-Hero's forbidden Unlock",
|
|
"LD20 All except Warriors forbidden Unlock",
|
|
"LD21 All except Dark forbidden Unlock",
|
|
"LD22 All limited cards forbidden Unlock",
|
|
"LD23 Refer to Mar 05 Banlist Unlock",
|
|
"LD24 Refer to Sept 04 Banlist Unlock",
|
|
"LD25 Low Life Points Unlock",
|
|
"LD26 All except Toons forbidden Unlock",
|
|
"LD27 All except Spirits forbidden Unlock",
|
|
"LD28 All except Dragons forbidden Unlock",
|
|
"LD29 All except Spellcasters forbidden Unlock",
|
|
"LD30 All except Light forbidden Unlock",
|
|
"LD31 All except Fire forbidden Unlock",
|
|
"LD32 Decks with multiples forbidden Unlock",
|
|
"LD33 Special Summons forbidden Unlock",
|
|
"LD34 Normal Summons forbidden Unlock",
|
|
"LD35 All except Zombies forbidden Unlock",
|
|
"LD36 All except Earth forbidden Unlock",
|
|
"LD37 All except Water forbidden Unlock",
|
|
"LD38 Refer to Mar 04 Banlist Unlock",
|
|
"LD39 Monsters forbidden Unlock",
|
|
"LD40 Refer to Sept 05 Banlist Unlock",
|
|
"LD41 Refer to Sept 03 Banlist Unlock",
|
|
"TD01 Battle Damage Unlock",
|
|
"TD02 Deflected Damage Unlock",
|
|
"TD03 Normal Summon Unlock",
|
|
"TD04 Ritual Summon Unlock",
|
|
"TD05 Special Summon A Unlock",
|
|
"TD06 20x Spell Unlock",
|
|
"TD07 10x Trap Unlock",
|
|
"TD08 Draw Unlock",
|
|
"TD09 Hand Destruction Unlock",
|
|
"TD10 During Opponent's Turn Unlock",
|
|
"TD11 Recover Unlock",
|
|
"TD12 Remove Monsters by Effect Unlock",
|
|
"TD13 Flip Summon Unlock",
|
|
"TD14 Special Summon B Unlock",
|
|
"TD15 Token Unlock",
|
|
"TD16 Union Unlock",
|
|
"TD17 10x Quick Spell Unlock",
|
|
"TD18 The Forbidden Unlock",
|
|
"TD19 20 Turns Unlock",
|
|
"TD20 Deck Destruction Unlock",
|
|
"TD21 Victory D. Unlock",
|
|
"TD22 The Preventers Fight Back Unlock",
|
|
"TD23 Huge Revolution Unlock",
|
|
"TD24 Victory in 5 Turns Unlock",
|
|
"TD25 Moth Grows Up Unlock",
|
|
"TD26 Magnetic Power Unlock",
|
|
"TD27 Dark Sage Unlock",
|
|
"TD28 Direct Damage Unlock",
|
|
"TD29 Destroy Monsters in Battle Unlock",
|
|
"TD30 Tribute Summon Unlock",
|
|
"TD31 Special Summon C Unlock",
|
|
"TD32 Toon Unlock",
|
|
"TD33 10x Counter Unlock",
|
|
"TD34 Destiny Board Unlock",
|
|
"TD35 Huge Damage in a Turn Unlock",
|
|
"TD36 V-Z In the House Unlock",
|
|
"TD37 Uria, Lord of Searing Flames Unlock",
|
|
"TD38 Hamon, Lord of Striking Thunder Unlock",
|
|
"TD39 Raviel, Lord of Phantasms Unlock",
|
|
"TD40 Make a Chain Unlock",
|
|
"TD41 The Gatekeeper Stands Tall Unlock",
|
|
"TD42 Serious Damage Unlock",
|
|
"TD43 Return Monsters with Effects Unlock",
|
|
"TD44 Fusion Summon Unlock",
|
|
"TD45 Big Damage at once Unlock",
|
|
"TD46 XYZ In the House Unlock",
|
|
"TD47 Spell Counter Unlock",
|
|
"TD48 Destroy Monsters with Effects Unlock",
|
|
"TD49 Plunder Unlock",
|
|
"TD50 Dark Scorpion Combination Unlock",
|
|
]
|
|
|
|
excluded_items: List[str] = [
|
|
"All Normal Monsters",
|
|
"All Effect Monsters",
|
|
"All Fusion Monsters",
|
|
"All Traps",
|
|
"All Spells",
|
|
"All at Random",
|
|
"5000DP",
|
|
"Remote",
|
|
]
|
|
|
|
useful: List[str] = [
|
|
"Banlist March 2004",
|
|
"Banlist September 2004",
|
|
"Banlist March 2005",
|
|
"Banlist September 2005",
|
|
]
|