@@ -34,14 +34,14 @@ def optional_game_constraint_templates(self) -> List[GameObjectiveTemplate]:
34
34
GameObjectiveTemplate (
35
35
label = "You YODA buy perks that cost X" ,
36
36
data = {
37
- "YODA" : (self .perkcosts , 1 ),
37
+ "YODA" : (self .yoda , 1 ),
38
38
"X" : (self .perkcosts , 1 ),
39
39
},
40
40
),
41
41
GameObjectiveTemplate (
42
- label = "The majority of the skills you purchase must have the SPELLTYPE tag" ,
42
+ label = "The majority of the skills you purchase must have the SKILLTYPE tag" ,
43
43
data = {
44
- "SPELLTYPE " : (self .spelltype , 1 ),
44
+ "SKILLTYPE " : (self .skilltype , 1 ),
45
45
},
46
46
),
47
47
GameObjectiveTemplate (
@@ -51,22 +51,49 @@ def optional_game_constraint_templates(self) -> List[GameObjectiveTemplate]:
51
51
},
52
52
),
53
53
GameObjectiveTemplate (
54
- label = "Once you preview a rift , you must enter it" ,
54
+ label = "Once you equip an item , you cannot swap it for a different one " ,
55
55
data = dict (),
56
56
),
57
57
]
58
58
59
59
def game_objective_templates (self ) -> List [GameObjectiveTemplate ]:
60
60
return [
61
61
GameObjectiveTemplate (
62
- label = "Win a run using a majority of SPELLTYPE spells " ,
62
+ label = "Win a run using a majority of SPELLTYPE Spells " ,
63
63
data = {
64
64
"SPELLTYPE" : (self .spelltype , 1 ),
65
65
},
66
66
is_time_consuming = False ,
67
67
is_difficult = False ,
68
68
weight = 5 ,
69
69
),
70
+ GameObjectiveTemplate (
71
+ label = "Win a run with one of: BIGSKILL" ,
72
+ data = {
73
+ "BIGSKILL" : (self .bigskill , 2 ),
74
+ },
75
+ is_time_consuming = False ,
76
+ is_difficult = True ,
77
+ weight = 5 ,
78
+ ),
79
+ GameObjectiveTemplate (
80
+ label = "Defeat Rift 10 while BIGCHALLENGE" ,
81
+ data = {
82
+ "BIGCHALLENGE" : (self .bigchallenge , 1 ),
83
+ },
84
+ is_time_consuming = False ,
85
+ is_difficult = True ,
86
+ weight = 2 ,
87
+ ),
88
+ GameObjectiveTemplate (
89
+ label = "Reach Mordred in the TRIAL Archmage Trial" ,
90
+ data = {
91
+ "TRIAL" : (self .trials , 1 ),
92
+ },
93
+ is_time_consuming = False ,
94
+ is_difficult = True ,
95
+ weight = 1 ,
96
+ ),
70
97
]
71
98
72
99
@staticmethod
@@ -83,7 +110,20 @@ def spelltype() -> List[str]:
83
110
"Conjuration" ,
84
111
"Enchantment" ,
85
112
"Metallic" ,
86
- "Blood" ,
113
+ ]
114
+
115
+ @staticmethod
116
+ def skilltype () -> List [str ]:
117
+ return [
118
+ "Fire" ,
119
+ "Lightning" ,
120
+ "Ice" ,
121
+ "Nature" ,
122
+ "Arcane" ,
123
+ "Dark" ,
124
+ "Holy" ,
125
+ "Sorcery" ,
126
+ "Conjuration" ,
87
127
]
88
128
89
129
@staticmethod
@@ -101,5 +141,64 @@ def yoda() -> List[str]:
101
141
"cannot" ,
102
142
]
103
143
144
+ @staticmethod
145
+ def bigskill () -> List [str ]:
146
+ return [
147
+ "Soul Harvest" ,
148
+ "Serpents of Chaos" ,
149
+ "Orb Lord" ,
150
+ "Arch Conjurer" ,
151
+ "Arch Enchanter" ,
152
+ "Arch Sorcerer" ,
153
+ "Ice Tap" ,
154
+ "Inferno Engines" ,
155
+ "Lightning Frenzy" ,
156
+ "Moonspeaker" ,
157
+ "Chaos Familiar and Deathchill Familiar" ,
158
+ "two Poison-related skills" ,
159
+ "Arcane Combustion and Master of Space" ,
160
+ "Steam Anima" ,
161
+ "Necrostatics" ,
162
+ "Storm Caller" ,
163
+ "Scent of Blood" ,
164
+ "Hypocrisy" ,
165
+ "Unblinking Eye" ,
166
+ "Master of Memories and Arcane Accounting" ,
167
+ "Voidflame Lantern and Lifespark Lantern" ,
168
+ ">9SP of Fire skills" ,
169
+ ">9SP of Lightning skills" ,
170
+ ">9SP of Ice skills" ,
171
+ ">9SP of Nature skills" ,
172
+ ">9SP of Arcane skills" ,
173
+ ">9SP of Dark skills" ,
174
+ ">9SP of Holy skills" ,
175
+ ]
176
+
177
+ @staticmethod
178
+ def bigchallenge () -> List [str ]:
179
+ return [
180
+ "only using Blood spells" ,
181
+ "upgrading each spell you buy before buying anything else" ,
182
+ "only using spells below level 3" ,
183
+ "only using Enchantment spells" ,
184
+ "only picking up SP and consumables" ,
185
+ "only using spells that can damage you" ,
186
+ "passing your first 2 turns in each rift" ,
187
+ "only using Metallic spells after rift 1" ,
188
+ "only using Holy spells" ,
189
+ "purchasing 4 Eye spells" ,
190
+ "never boosting your spells' damage or minion damage" ,
191
+ ]
192
+
193
+ @staticmethod
194
+ def trials () -> List [str ]:
195
+ return [
196
+ "Menagerist" ,
197
+ "Mutant Masher" ,
198
+ "Giant Slayer" ,
199
+ "Staff Abuser" ,
200
+ "Ogre Mage" ,
201
+ ]
202
+
104
203
# Archipelago Options
105
204
# ...
0 commit comments