forked from ArchipelagoMW/Archipelago
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathoptions.py
195 lines (135 loc) · 5.62 KB
/
options.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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
from dataclasses import dataclass
from Options import Choice, DefaultOnToggle, PerGameCommonOptions, Range, Toggle
class StructureDeck(Choice):
"""Which Structure Deck you start with"""
display_name = "Structure Deck"
option_dragons_roar = 0
option_zombie_madness = 1
option_blazing_destruction = 2
option_fury_from_the_deep = 3
option_warriors_triumph = 4
option_spellcasters_judgement = 5
option_none = 6
option_random_deck = 7
default = 7
class Banlist(Choice):
"""Which Banlist you start with"""
display_name = "Banlist"
option_no_banlist = 0
option_september_2003 = 1
option_march_2004 = 2
option_september_2004 = 3
option_march_2005 = 4
option_september_2005 = 5
default = option_september_2005
class FinalCampaignBossUnlockCondition(Choice):
"""How to unlock the final campaign boss and goal for the world"""
display_name = "Final Campaign Boss unlock Condition"
option_campaign_opponents = 0
option_challenges = 1
class FourthTier5UnlockCondition(Choice):
"""How to unlock the fourth campaign boss"""
display_name = "Fourth Tier 5 Campaign Boss unlock Condition"
option_campaign_opponents = 0
option_challenges = 1
class ThirdTier5UnlockCondition(Choice):
"""How to unlock the third campaign boss"""
display_name = "Third Tier 5 Campaign Boss unlock Condition"
option_campaign_opponents = 0
option_challenges = 1
class FinalCampaignBossChallenges(Range):
"""Number of Limited/Theme Duels completed for the Final Campaign Boss to appear"""
display_name = "Final Campaign Boss challenges unlock amount"
range_start = 0
range_end = 91
default = 10
class FourthTier5CampaignBossChallenges(Range):
"""Number of Limited/Theme Duels completed for the Fourth Level 5 Campaign Opponent to appear"""
display_name = "Fourth Tier 5 Campaign Boss unlock amount"
range_start = 0
range_end = 91
default = 5
class ThirdTier5CampaignBossChallenges(Range):
"""Number of Limited/Theme Duels completed for the Third Level 5 Campaign Opponent to appear"""
display_name = "Third Tier 5 Campaign Boss unlock amount"
range_start = 0
range_end = 91
default = 2
class FinalCampaignBossCampaignOpponents(Range):
"""Number of Campaign Opponents Duels defeated for the Final Campaign Boss to appear"""
display_name = "Final Campaign Boss campaign opponent unlock amount"
range_start = 0
range_end = 24
default = 12
class FourthTier5CampaignBossCampaignOpponents(Range):
"""Number of Campaign Opponents Duels defeated for the Fourth Level 5 Campaign Opponent to appear"""
display_name = "Fourth Tier 5 Campaign Boss campaign opponent unlock amount"
range_start = 0
range_end = 23
default = 7
class ThirdTier5CampaignBossCampaignOpponents(Range):
"""Number of Campaign Opponents Duels defeated for the Third Level 5 Campaign Opponent to appear"""
display_name = "Third Tier 5 Campaign Boss campaign opponent unlock amount"
range_start = 0
range_end = 22
default = 3
class NumberOfChallenges(Range):
"""Number of random Limited/Theme Duels that are included. The rest will be inaccessible."""
display_name = "Number of Challenges"
range_start = 0
range_end = 91
default = 10
class StartingMoney(Range):
"""The amount of money you start with"""
display_name = "Starting Money"
range_start = 0
range_end = 100000
default = 3000
class MoneyRewardMultiplier(Range):
"""By which amount the campaign reward money is multiplied"""
display_name = "Money Reward Multiplier"
range_start = 1
range_end = 255
default = 20
class NormalizeBoostersPacks(DefaultOnToggle):
"""If enabled every booster pack costs the same otherwise vanilla cost is used"""
display_name = "Normalize Booster Packs"
class BoosterPackPrices(Range):
"""
Only Works if normalize booster packs is enabled.
Sets the amount that what every booster pack costs.
"""
display_name = "Booster Pack Prices"
range_start = 1
range_end = 3000
default = 100
class AddEmptyBanList(Toggle):
"""Adds a Ban List where everything is at 3 to the item pool"""
display_name = "Add Empty Ban List"
class CampaignOpponentsShuffle(Toggle):
"""Replaces the campaign with random opponents from the entire game"""
display_name = "Campaign Opponents Shuffle"
class OCGArts(Toggle):
"""Always use the OCG artworks for cards"""
display_name = "OCG Arts"
@dataclass
class Yugioh06Options(PerGameCommonOptions):
structure_deck: StructureDeck
banlist: Banlist
final_campaign_boss_unlock_condition: FinalCampaignBossUnlockCondition
fourth_tier_5_campaign_boss_unlock_condition: FourthTier5UnlockCondition
third_tier_5_campaign_boss_unlock_condition: ThirdTier5UnlockCondition
final_campaign_boss_challenges: FinalCampaignBossChallenges
fourth_tier_5_campaign_boss_challenges: FourthTier5CampaignBossChallenges
third_tier_5_campaign_boss_challenges: ThirdTier5CampaignBossChallenges
final_campaign_boss_campaign_opponents: FinalCampaignBossCampaignOpponents
fourth_tier_5_campaign_boss_campaign_opponents: FourthTier5CampaignBossCampaignOpponents
third_tier_5_campaign_boss_campaign_opponents: ThirdTier5CampaignBossCampaignOpponents
number_of_challenges: NumberOfChallenges
starting_money: StartingMoney
money_reward_multiplier: MoneyRewardMultiplier
normalize_boosters_packs: NormalizeBoostersPacks
booster_pack_prices: BoosterPackPrices
add_empty_banlist: AddEmptyBanList
campaign_opponents_shuffle: CampaignOpponentsShuffle
ocg_arts: OCGArts