214 lines
		
	
	
		
			7.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			214 lines
		
	
	
		
			7.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
								 | 
							
								Bonuses = {
							 | 
						||
| 
								 | 
							
								    "Duelist Bonus Level 1": 1,
							 | 
						||
| 
								 | 
							
								    "Duelist Bonus Level 2": 2,
							 | 
						||
| 
								 | 
							
								    "Duelist Bonus Level 3": 3,
							 | 
						||
| 
								 | 
							
								    "Duelist Bonus Level 4": 4,
							 | 
						||
| 
								 | 
							
								    "Duelist Bonus Level 5": 5,
							 | 
						||
| 
								 | 
							
								    "Battle Damage": 6,
							 | 
						||
| 
								 | 
							
								    "Battle Damage Only Bonus": 7,
							 | 
						||
| 
								 | 
							
								    "Max ATK Bonus": 8,
							 | 
						||
| 
								 | 
							
								    "Max Damage Bonus": 9,
							 | 
						||
| 
								 | 
							
								    "Destroyed in Battle Bonus": 10,
							 | 
						||
| 
								 | 
							
								    "Spell Card Bonus": 11,
							 | 
						||
| 
								 | 
							
								    "Trap Card Bonus": 12,
							 | 
						||
| 
								 | 
							
								    "Tribute Summon Bonus": 13,
							 | 
						||
| 
								 | 
							
								    "Fusion Summon Bonus": 14,
							 | 
						||
| 
								 | 
							
								    "Ritual Summon Bonus": 15,
							 | 
						||
| 
								 | 
							
								    "No Special Summon Bonus": 16,
							 | 
						||
| 
								 | 
							
								    "No Spell Cards Bonus": 17,
							 | 
						||
| 
								 | 
							
								    "No Trap Cards Bonus": 18,
							 | 
						||
| 
								 | 
							
								    "No Damage Bonus": 19,
							 | 
						||
| 
								 | 
							
								    "Over 20000 LP Bonus": 20,
							 | 
						||
| 
								 | 
							
								    "Low LP Bonus": 21,
							 | 
						||
| 
								 | 
							
								    "Extremely Low LP Bonus": 22,
							 | 
						||
| 
								 | 
							
								    "Low Deck Bonus": 23,
							 | 
						||
| 
								 | 
							
								    "Extremely Low Deck Bonus": 24,
							 | 
						||
| 
								 | 
							
								    "Effect Damage Only Bonus": 25,
							 | 
						||
| 
								 | 
							
								    "No More Cards Bonus": 26,
							 | 
						||
| 
								 | 
							
								    "Opponent's Turn Finish Bonus": 27,
							 | 
						||
| 
								 | 
							
								    "Exactly 0 LP Bonus": 28,
							 | 
						||
| 
								 | 
							
								    "Reversal Finish Bonus": 29,
							 | 
						||
| 
								 | 
							
								    "Quick Finish Bonus": 30,
							 | 
						||
| 
								 | 
							
								    "Exodia Finish Bonus": 31,
							 | 
						||
| 
								 | 
							
								    "Last Turn Finish Bonus": 32,
							 | 
						||
| 
								 | 
							
								    "Final Countdown Finish Bonus": 33,
							 | 
						||
| 
								 | 
							
								    "Destiny Board Finish Bonus": 34,
							 | 
						||
| 
								 | 
							
								    "Yata-Garasu Finish Bonus": 35,
							 | 
						||
| 
								 | 
							
								    "Skull Servant Finish Bonus": 36,
							 | 
						||
| 
								 | 
							
								    "Konami Bonus": 37,
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Limited_Duels = {
							 | 
						||
| 
								 | 
							
								    "LD01 All except Level 4 forbidden": 38,
							 | 
						||
| 
								 | 
							
								    "LD02 Medium/high Level forbidden": 39,
							 | 
						||
| 
								 | 
							
								    "LD03 ATK 1500 or more forbidden": 40,
							 | 
						||
| 
								 | 
							
								    "LD04 Flip Effects forbidden": 41,
							 | 
						||
| 
								 | 
							
								    "LD05 Tributes forbidden": 42,
							 | 
						||
| 
								 | 
							
								    "LD06 Traps forbidden": 43,
							 | 
						||
| 
								 | 
							
								    "LD07 Large Deck A": 44,
							 | 
						||
| 
								 | 
							
								    "LD08 Large Deck B": 45,
							 | 
						||
| 
								 | 
							
								    "LD09 Sets Forbidden": 46,
							 | 
						||
| 
								 | 
							
								    "LD10 All except LV monsters forbidden": 47,
							 | 
						||
| 
								 | 
							
								    "LD11 All except Fairies forbidden": 48,
							 | 
						||
| 
								 | 
							
								    "LD12 All except Wind forbidden": 49,
							 | 
						||
| 
								 | 
							
								    "LD13 All except monsters forbidden": 50,
							 | 
						||
| 
								 | 
							
								    "LD14 Level 3 or below forbidden": 51,
							 | 
						||
| 
								 | 
							
								    "LD15 DEF 1500 or less forbidden": 52,
							 | 
						||
| 
								 | 
							
								    "LD16 Effect Monsters forbidden": 53,
							 | 
						||
| 
								 | 
							
								    "LD17 Spells forbidden": 54,
							 | 
						||
| 
								 | 
							
								    "LD18 Attacks forbidden": 55,
							 | 
						||
| 
								 | 
							
								    "LD19 All except E-Hero's forbidden": 56,
							 | 
						||
| 
								 | 
							
								    "LD20 All except Warriors forbidden": 57,
							 | 
						||
| 
								 | 
							
								    "LD21 All except Dark forbidden": 58,
							 | 
						||
| 
								 | 
							
								    "LD22 All limited cards forbidden": 59,
							 | 
						||
| 
								 | 
							
								    "LD23 Refer to Mar 05 Banlist": 60,
							 | 
						||
| 
								 | 
							
								    "LD24 Refer to Sept 04 Banlist": 61,
							 | 
						||
| 
								 | 
							
								    "LD25 Low Life Points": 62,
							 | 
						||
| 
								 | 
							
								    "LD26 All except Toons forbidden": 63,
							 | 
						||
| 
								 | 
							
								    "LD27 All except Spirits forbidden": 64,
							 | 
						||
| 
								 | 
							
								    "LD28 All except Dragons forbidden": 65,
							 | 
						||
| 
								 | 
							
								    "LD29 All except Spellcasters forbidden": 66,
							 | 
						||
| 
								 | 
							
								    "LD30 All except Light forbidden": 67,
							 | 
						||
| 
								 | 
							
								    "LD31 All except Fire forbidden": 68,
							 | 
						||
| 
								 | 
							
								    "LD32 Decks with multiples forbidden": 69,
							 | 
						||
| 
								 | 
							
								    "LD33 Special Summons forbidden": 70,
							 | 
						||
| 
								 | 
							
								    "LD34 Normal Summons forbidden": 71,
							 | 
						||
| 
								 | 
							
								    "LD35 All except Zombies forbidden": 72,
							 | 
						||
| 
								 | 
							
								    "LD36 All except Earth forbidden": 73,
							 | 
						||
| 
								 | 
							
								    "LD37 All except Water forbidden": 74,
							 | 
						||
| 
								 | 
							
								    "LD38 Refer to Mar 04 Banlist": 75,
							 | 
						||
| 
								 | 
							
								    "LD39 Monsters forbidden": 76,
							 | 
						||
| 
								 | 
							
								    "LD40 Refer to Sept 05 Banlist": 77,
							 | 
						||
| 
								 | 
							
								    "LD41 Refer to Sept 03 Banlist": 78,
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Theme_Duels = {
							 | 
						||
| 
								 | 
							
								    "TD01 Battle Damage": 79,
							 | 
						||
| 
								 | 
							
								    "TD02 Deflected Damage": 80,
							 | 
						||
| 
								 | 
							
								    "TD03 Normal Summon": 81,
							 | 
						||
| 
								 | 
							
								    "TD04 Ritual Summon": 82,
							 | 
						||
| 
								 | 
							
								    "TD05 Special Summon A": 83,
							 | 
						||
| 
								 | 
							
								    "TD06 20x Spell": 84,
							 | 
						||
| 
								 | 
							
								    "TD07 10x Trap": 85,
							 | 
						||
| 
								 | 
							
								    "TD08 Draw": 86,
							 | 
						||
| 
								 | 
							
								    "TD09 Hand Destruction": 87,
							 | 
						||
| 
								 | 
							
								    "TD10 During Opponent's Turn": 88,
							 | 
						||
| 
								 | 
							
								    "TD11 Recover": 89,
							 | 
						||
| 
								 | 
							
								    "TD12 Remove Monsters by Effect": 90,
							 | 
						||
| 
								 | 
							
								    "TD13 Flip Summon": 91,
							 | 
						||
| 
								 | 
							
								    "TD14 Special Summon B": 92,
							 | 
						||
| 
								 | 
							
								    "TD15 Token": 93,
							 | 
						||
| 
								 | 
							
								    "TD16 Union": 94,
							 | 
						||
| 
								 | 
							
								    "TD17 10x Quick Spell": 95,
							 | 
						||
| 
								 | 
							
								    "TD18 The Forbidden": 96,
							 | 
						||
| 
								 | 
							
								    "TD19 20 Turns": 97,
							 | 
						||
| 
								 | 
							
								    "TD20 Deck Destruction": 98,
							 | 
						||
| 
								 | 
							
								    "TD21 Victory D.": 99,
							 | 
						||
| 
								 | 
							
								    "TD22 The Preventers Fight Back": 100,
							 | 
						||
| 
								 | 
							
								    "TD23 Huge Revolution": 101,
							 | 
						||
| 
								 | 
							
								    "TD24 Victory in 5 Turns": 102,
							 | 
						||
| 
								 | 
							
								    "TD25 Moth Grows Up": 103,
							 | 
						||
| 
								 | 
							
								    "TD26 Magnetic Power": 104,
							 | 
						||
| 
								 | 
							
								    "TD27 Dark Sage": 105,
							 | 
						||
| 
								 | 
							
								    "TD28 Direct Damage": 106,
							 | 
						||
| 
								 | 
							
								    "TD29 Destroy Monsters in Battle": 107,
							 | 
						||
| 
								 | 
							
								    "TD30 Tribute Summon": 108,
							 | 
						||
| 
								 | 
							
								    "TD31 Special Summon C": 109,
							 | 
						||
| 
								 | 
							
								    "TD32 Toon": 110,
							 | 
						||
| 
								 | 
							
								    "TD33 10x Counter": 111,
							 | 
						||
| 
								 | 
							
								    "TD34 Destiny Board": 112,
							 | 
						||
| 
								 | 
							
								    "TD35 Huge Damage in a Turn": 113,
							 | 
						||
| 
								 | 
							
								    "TD36 V-Z In the House": 114,
							 | 
						||
| 
								 | 
							
								    "TD37 Uria, Lord of Searing Flames": 115,
							 | 
						||
| 
								 | 
							
								    "TD38 Hamon, Lord of Striking Thunder": 116,
							 | 
						||
| 
								 | 
							
								    "TD39 Raviel, Lord of Phantasms": 117,
							 | 
						||
| 
								 | 
							
								    "TD40 Make a Chain": 118,
							 | 
						||
| 
								 | 
							
								    "TD41 The Gatekeeper Stands Tall": 119,
							 | 
						||
| 
								 | 
							
								    "TD42 Serious Damage": 120,
							 | 
						||
| 
								 | 
							
								    "TD43 Return Monsters with Effects": 121,
							 | 
						||
| 
								 | 
							
								    "TD44 Fusion Summon": 122,
							 | 
						||
| 
								 | 
							
								    "TD45 Big Damage at once": 123,
							 | 
						||
| 
								 | 
							
								    "TD46 XYZ In the House": 124,
							 | 
						||
| 
								 | 
							
								    "TD47 Spell Counter": 125,
							 | 
						||
| 
								 | 
							
								    "TD48 Destroy Monsters with Effects": 126,
							 | 
						||
| 
								 | 
							
								    "TD49 Plunder": 127,
							 | 
						||
| 
								 | 
							
								    "TD50 Dark Scorpion Combination": 128,
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Campaign_Opponents = {
							 | 
						||
| 
								 | 
							
								    "Campaign Tier 1: 1 Win": 129,
							 | 
						||
| 
								 | 
							
								    "Campaign Tier 1: 3 Wins A": 130,
							 | 
						||
| 
								 | 
							
								    "Campaign Tier 1: 3 Wins B": 131,
							 | 
						||
| 
								 | 
							
								    "Campaign Tier 1: 5 Wins A": 132,
							 | 
						||
| 
								 | 
							
								    "Campaign Tier 1: 5 Wins B": 133,
							 | 
						||
| 
								 | 
							
								    "Campaign Tier 2: 1 Win": 134,
							 | 
						||
| 
								 | 
							
								    "Campaign Tier 2: 3 Wins A": 135,
							 | 
						||
| 
								 | 
							
								    "Campaign Tier 2: 3 Wins B": 136,
							 | 
						||
| 
								 | 
							
								    "Campaign Tier 2: 5 Wins A": 137,
							 | 
						||
| 
								 | 
							
								    "Campaign Tier 2: 5 Wins B": 138,
							 | 
						||
| 
								 | 
							
								    "Campaign Tier 3: 1 Win": 139,
							 | 
						||
| 
								 | 
							
								    "Campaign Tier 3: 3 Wins A": 140,
							 | 
						||
| 
								 | 
							
								    "Campaign Tier 3: 3 Wins B": 141,
							 | 
						||
| 
								 | 
							
								    "Campaign Tier 3: 5 Wins A": 142,
							 | 
						||
| 
								 | 
							
								    "Campaign Tier 3: 5 Wins B": 143,
							 | 
						||
| 
								 | 
							
								    "Campaign Tier 4: 5 Wins A": 144,
							 | 
						||
| 
								 | 
							
								    "Campaign Tier 4: 5 Wins B": 145,
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								special = {
							 | 
						||
| 
								 | 
							
								    "Campaign Tier 5: Column 1 Win": 146,
							 | 
						||
| 
								 | 
							
								    "Campaign Tier 5: Column 2 Win": 147,
							 | 
						||
| 
								 | 
							
								    "Campaign Tier 5: Column 3 Win": 148,
							 | 
						||
| 
								 | 
							
								    "Campaign Tier 5: Column 4 Win": 149,
							 | 
						||
| 
								 | 
							
								    # "Campaign Final Boss Win": 150,
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Required_Cards = {
							 | 
						||
| 
								 | 
							
								    "Obtain all pieces of Exodia": 154,
							 | 
						||
| 
								 | 
							
								    "Obtain Final Countdown": 155,
							 | 
						||
| 
								 | 
							
								    "Obtain Victory Dragon": 156,
							 | 
						||
| 
								 | 
							
								    "Obtain Ojama Delta Hurricane and its required cards": 157,
							 | 
						||
| 
								 | 
							
								    "Obtain Huge Revolution and its required cards": 158,
							 | 
						||
| 
								 | 
							
								    "Obtain Perfectly Ultimate Great Moth and its required cards": 159,
							 | 
						||
| 
								 | 
							
								    "Obtain Valkyrion the Magna Warrior and its pieces": 160,
							 | 
						||
| 
								 | 
							
								    "Obtain Dark Sage and its required cards": 161,
							 | 
						||
| 
								 | 
							
								    "Obtain Destiny Board and its letters": 162,
							 | 
						||
| 
								 | 
							
								    "Obtain all XYZ-Dragon Cannon fusions and their materials": 163,
							 | 
						||
| 
								 | 
							
								    "Obtain VWXYZ-Dragon Catapult Cannon and the fusion materials": 164,
							 | 
						||
| 
								 | 
							
								    "Obtain Hamon, Lord of Striking Thunder": 165,
							 | 
						||
| 
								 | 
							
								    "Obtain Raviel, Lord of Phantasms": 166,
							 | 
						||
| 
								 | 
							
								    "Obtain Uria, Lord of Searing Flames": 167,
							 | 
						||
| 
								 | 
							
								    "Obtain Gate Guardian and its pieces": 168,
							 | 
						||
| 
								 | 
							
								    "Obtain Dark Scorpion Combination and its required cards": 169,
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								collection_events = {
							 | 
						||
| 
								 | 
							
								    "Ojama Delta Hurricane and required cards": None,
							 | 
						||
| 
								 | 
							
								    "Huge Revolution and its required cards": None,
							 | 
						||
| 
								 | 
							
								    "Perfectly Ultimate Great Moth and its required cards": None,
							 | 
						||
| 
								 | 
							
								    "Valkyrion the Magna Warrior and its pieces": None,
							 | 
						||
| 
								 | 
							
								    "Dark Sage and its required cards": None,
							 | 
						||
| 
								 | 
							
								    "Destiny Board and its letters": None,
							 | 
						||
| 
								 | 
							
								    "XYZ-Dragon Cannon fusions and their materials": None,
							 | 
						||
| 
								 | 
							
								    "VWXYZ-Dragon Catapult Cannon and the fusion materials": None,
							 | 
						||
| 
								 | 
							
								    "Gate Guardian and its pieces": None,
							 | 
						||
| 
								 | 
							
								    "Dark Scorpion Combination and its required cards": None,
							 | 
						||
| 
								 | 
							
								    "Can Exodia Win": None,
							 | 
						||
| 
								 | 
							
								    "Can Yata Lock": None,
							 | 
						||
| 
								 | 
							
								    "Can Stall with Monsters": None,
							 | 
						||
| 
								 | 
							
								    "Can Stall with ST": None,
							 | 
						||
| 
								 | 
							
								    "Can Last Turn Win": None,
							 | 
						||
| 
								 | 
							
								    "Has Back-row removal": None,
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								def get_beat_challenge_events(self):
							 | 
						||
| 
								 | 
							
								    beat_events = {}
							 | 
						||
| 
								 | 
							
								    for limited in Limited_Duels.keys():
							 | 
						||
| 
								 | 
							
								        if limited not in self.removed_challenges:
							 | 
						||
| 
								 | 
							
								            beat_events[limited + " Complete"] = None
							 | 
						||
| 
								 | 
							
								    for theme in Theme_Duels.keys():
							 | 
						||
| 
								 | 
							
								        if theme not in self.removed_challenges:
							 | 
						||
| 
								 | 
							
								            beat_events[theme + " Complete"] = None
							 | 
						||
| 
								 | 
							
								    return beat_events
							 |