-
Notifications
You must be signed in to change notification settings - Fork 0
/
slate-doomsday.py
127 lines (114 loc) · 6.4 KB
/
slate-doomsday.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# flake8: noqa
"""
The SLATE table contains the corresponding flags to each card that is relevant
to Doomsday as an archetype.
The FORMS table lists all forms for a first turn kill.
"""
SLATE = {
# Business
'Act on Impulse': ('AoI',),
'Burning Wish': ('BW',),
'Doomsday': ('DD',),
'Ideas Unbound': ('IU',),
'Laboratory Maniac': ('LM',),
'Lion\'s Eye Diamond': ('LED',),
'Tendrils of Agony': ('ToA',),
'Three Wishes': ('TW',),
# Cantrips
'Brainstorm': ('C', 'BS',),
'Chromatic Sphere': ('CS',),
'Conjurer\'s Bauble': ('C', 'CB',),
'Gitaxian Probe': ('GP',),
'Ponder': ('C', 'Po',),
'Preordain': ('C', 'Pr',),
# Mana
'Badlands': ('L', 'B', 'R',),
'Bloodstained Mire': ('L', 'W', 'U', 'B', 'R', 'G',),
# 'Cabal Ritual': ('CR',),
'Dark Ritual': ('DR',),
'Island': ('L', 'U',),
'Lotus Petal': ('LP',),
'Marsh Flats': ('L', 'W', 'U', 'B', 'R', 'G',),
'Plains': ('L', 'W',),
'Polluted Delta': ('L', 'W', 'U', 'B', 'R', 'G',),
'Scalding Tarn': ('L', 'W', 'U', 'B', 'R', 'G',),
'Swamp': ('L', 'B',),
'Tropical Island': ('L', 'U', 'G',),
'Tundra': ('L', 'W', 'U',),
'Underground Sea': ('L', 'U', 'B',),
'Verdant Catacombs': ('L', 'W', 'U', 'B', 'R', 'G',),
'Volcanic Island': ('L', 'U', 'R',),
}
FORMS = {
'Double Cantrip': [
# With 1 DR
{'base': ((1, 'DD'), (1, '=DR'), (0, '=LED'),)},
((1, 'L'), (2, '=LP'), (2, 'C'), ), # 7
( (3, 'LP'), (2, 'C'), ), # 7
((1, 'L'), (1, '=LP'), (1, 'C'), (1, '=GP'), ), # 6
( (2, 'LP'), (1, 'C'), (1, '=GP'), ), # 6
((1, 'L|LP'), (2, 'GP'), ), # 5
# With 2 DR
{'base': ((1, 'DD'), (2, '=DR'), (0, '=LED'),)},
((1, 'L'), (1, '=LP'), (1, 'C'), (1, 'GP|CB'), ), # 7
( (2, 'LP'), (1, 'C'), (1, 'GP|CB'), ), # 7
((1, 'B|LP'), (2, 'GP'), ), # 6
((1, 'B|LP'), (2, 'CB'), ), # 6
((1, 'B|LP'), (1, '=CB'), (1, '=GP'), ), # 6
((1, 'B|LP'), (1, '=C'), (1, 'CS'), ), # 6
((1, 'B|LP'), (1, '=GP'), (1, 'CS'), ), # 6
# With 3 DR
{'base': ((1, 'DD'), (3, 'DR'), (0, '=LED'),)},
((1, 'B|LP'), (2, 'GP'), ), # 7
],
'Draw-3 in Hand': [
# With 1 DR
{'base': ((1, 'DD'), (1, '=DR'),)},
((1, 'L'), (3, '=LP'), (1, 'AoI|TW'), ), # 7
( (4, 'LP'), (1, 'AoI|TW'), ), # 7
((1, 'L'), (2, '=LP'), (1, 'AoI|TW'), (1, 'GP'), ), # 7
( (3, 'LP'), (1, 'AoI|TW'), (1, 'GP'), ), # 7
((1, 'L|GP'), (2, '=LP'), (1, 'IU'), ), # 6
( (3, 'LP'), (1, 'IU'), ), # 6
((1, 'B|LP'), (1, 'IU'), (2, 'GP'), ), # 6
((1, 'L'), (1, '=LP'), (1, 'IU'), (1, 'GP'), ), # 6
# With 2 DR
{'base': ((1, 'DD'), (2, '=DR'),)},
((1, 'L'), (1, '=LP'), (1, 'AoI'), (0, '=GP'), ), # 6
((1, 'B'), (0, '=LP'), (1, 'AoI'), (1, '=GP'), ), # 6
( (2, 'LP'), (1, 'AoI'), ), # 6
((1, 'L'), (2, '=LP'), (1, 'TW'), ), # 7
( (3, 'LP'), (1, 'TW'), ), # 7
((1, 'L'), (1, '=LP'), (1, 'TW'), (1, 'CS'), ), # 7
( (2, 'LP'), (1, 'TW'), (1, 'CS'), ), # 7
((1, 'L|GP|CS'), (2, 'LP'), (1, 'IU'), ), # 7
((1, 'L'), (1, 'LP'), (1, 'IU'), (1, 'GP'), ), # 7
((1, 'B|LP'), (1, 'IU'), (2, 'GP'), ), # 7
((1, 'B|LP'), (1, 'IU'), (1, 'CS'), ), # 6
# With 3 DR
{'base': ((1, 'DD'), (3, 'DR'),)},
((1, 'B|LP'), (1, 'AoI|TW'), (1, 'CS'), ), # 7
],
'LED in Hand': [
# With 1 DR
{'base': ((1, 'DD'), (1, '=DR'), (1, 'LED'),)},
((1, '=B|LP'), (1, 'GP'), ), # 5
((1, 'L'), (1, '=LP'), (1, 'C'), (0, '=GP'), ), # 6
( (2, 'LP'), (1, 'C'), (0, '=GP'), ), # 6
((1, 'L'), (2, '=LP'), (1, 'CS'), (0, '=GP'), ), # 7
( (3, 'LP'), (1, 'CS'), (0, '=GP'), ), # 7
# With 2 DR
{'base': ((1, 'DD'), (2, 'DR'), (1, 'LED'),)},
((1, '=B|LP'), (1, 'CB|CS|GP'), ), # 6
((1, 'L'), (1, '=LP'), (1, 'BS|Po|Pr'), ), # 7
( (2, 'LP'), (1, 'BS|Po|Pr'), ), # 7
],
'Brainstorm': [
# With 1 DR
{'base': ((1, 'BS'), (1, 'DD'), (1, 'DR'),)},
((1, 'L'), (1, '=LP'), (1, 'AoI|BW|LED|LM|ToA'), ), # 6
( (2, 'LP'), (1, 'AoI|BW|LED|LM|ToA'), ), # 6
],
}