2
2
from enum import Enum
3
3
4
4
from BaseClasses import MultiWorld , Region , Entrance , Location
5
+ from .Options import SM64Options
5
6
from .Locations import SM64Location , location_table , locBoB_table , locWhomp_table , locJRB_table , locCCM_table , \
6
7
locBBH_table , \
7
8
locHMC_table , locLLL_table , locSSL_table , locDDD_table , locSL_table , \
@@ -78,7 +79,7 @@ class SM64Region(Region):
78
79
sm64_entrances_to_level = {** sm64_paintings_to_level , ** sm64_secrets_to_level }
79
80
sm64_level_to_entrances = {** sm64_level_to_paintings , ** sm64_level_to_secrets }
80
81
81
- def create_regions (world : MultiWorld , player : int ):
82
+ def create_regions (world : MultiWorld , options : SM64Options , player : int ):
82
83
regSS = Region ("Menu" , player , world , "Castle Area" )
83
84
create_default_locs (regSS , locSS_table )
84
85
world .regions .append (regSS )
@@ -88,28 +89,28 @@ def create_regions(world: MultiWorld, player: int):
88
89
"BoB: Mario Wings to the Sky" , "BoB: Behind Chain Chomp's Gate" , "BoB: Bob-omb Buddy" )
89
90
bob_island = create_subregion (regBoB , "BoB: Island" , "BoB: Shoot to the Island in the Sky" , "BoB: Find the 8 Red Coins" )
90
91
regBoB .subregions = [bob_island ]
91
- if ( world . EnableCoinStars [ player ]. value ) :
92
+ if options . enable_coin_stars :
92
93
create_locs (regBoB , "BoB: 100 Coins" )
93
94
94
95
regWhomp = create_region ("Whomp's Fortress" , player , world )
95
96
create_locs (regWhomp , "WF: Chip Off Whomp's Block" , "WF: Shoot into the Wild Blue" , "WF: Red Coins on the Floating Isle" ,
96
97
"WF: Fall onto the Caged Island" , "WF: Blast Away the Wall" )
97
98
wf_tower = create_subregion (regWhomp , "WF: Tower" , "WF: To the Top of the Fortress" , "WF: Bob-omb Buddy" )
98
99
regWhomp .subregions = [wf_tower ]
99
- if ( world . EnableCoinStars [ player ]. value ) :
100
+ if options . enable_coin_stars :
100
101
create_locs (regWhomp , "WF: 100 Coins" )
101
102
102
103
regJRB = create_region ("Jolly Roger Bay" , player , world )
103
104
create_locs (regJRB , "JRB: Plunder in the Sunken Ship" , "JRB: Can the Eel Come Out to Play?" , "JRB: Treasure of the Ocean Cave" ,
104
105
"JRB: Blast to the Stone Pillar" , "JRB: Through the Jet Stream" , "JRB: Bob-omb Buddy" )
105
106
jrb_upper = create_subregion (regJRB , 'JRB: Upper' , "JRB: Red Coins on the Ship Afloat" )
106
107
regJRB .subregions = [jrb_upper ]
107
- if ( world . EnableCoinStars [ player ]. value ) :
108
+ if options . enable_coin_stars :
108
109
create_locs (jrb_upper , "JRB: 100 Coins" )
109
110
110
111
regCCM = create_region ("Cool, Cool Mountain" , player , world )
111
112
create_default_locs (regCCM , locCCM_table )
112
- if ( world . EnableCoinStars [ player ]. value ) :
113
+ if options . enable_coin_stars :
113
114
create_locs (regCCM , "CCM: 100 Coins" )
114
115
115
116
regBBH = create_region ("Big Boo's Haunt" , player , world )
@@ -118,7 +119,7 @@ def create_regions(world: MultiWorld, player: int):
118
119
bbh_third_floor = create_subregion (regBBH , "BBH: Third Floor" , "BBH: Eye to Eye in the Secret Room" )
119
120
bbh_roof = create_subregion (bbh_third_floor , "BBH: Roof" , "BBH: Big Boo's Balcony" , "BBH: 1Up Block Top of Mansion" )
120
121
regBBH .subregions = [bbh_third_floor , bbh_roof ]
121
- if ( world . EnableCoinStars [ player ]. value ) :
122
+ if options . enable_coin_stars :
122
123
create_locs (regBBH , "BBH: 100 Coins" )
123
124
124
125
regPSS = create_region ("The Princess's Secret Slide" , player , world )
@@ -141,15 +142,15 @@ def create_regions(world: MultiWorld, player: int):
141
142
hmc_red_coin_area = create_subregion (regHMC , "HMC: Red Coin Area" , "HMC: Elevate for 8 Red Coins" )
142
143
hmc_pit_islands = create_subregion (regHMC , "HMC: Pit Islands" , "HMC: A-Maze-Ing Emergency Exit" , "HMC: 1Up Block above Pit" )
143
144
regHMC .subregions = [hmc_red_coin_area , hmc_pit_islands ]
144
- if ( world . EnableCoinStars [ player ]. value ) :
145
+ if options . enable_coin_stars :
145
146
create_locs (hmc_red_coin_area , "HMC: 100 Coins" )
146
147
147
148
regLLL = create_region ("Lethal Lava Land" , player , world )
148
149
create_locs (regLLL , "LLL: Boil the Big Bully" , "LLL: Bully the Bullies" ,
149
150
"LLL: 8-Coin Puzzle with 15 Pieces" , "LLL: Red-Hot Log Rolling" )
150
151
lll_upper_volcano = create_subregion (regLLL , "LLL: Upper Volcano" , "LLL: Hot-Foot-It into the Volcano" , "LLL: Elevator Tour in the Volcano" )
151
152
regLLL .subregions = [lll_upper_volcano ]
152
- if ( world . EnableCoinStars [ player ]. value ) :
153
+ if options . enable_coin_stars :
153
154
create_locs (regLLL , "LLL: 100 Coins" )
154
155
155
156
regSSL = create_region ("Shifting Sand Land" , player , world )
@@ -159,15 +160,15 @@ def create_regions(world: MultiWorld, player: int):
159
160
ssl_upper_pyramid = create_subregion (regSSL , "SSL: Upper Pyramid" , "SSL: Inside the Ancient Pyramid" ,
160
161
"SSL: Stand Tall on the Four Pillars" , "SSL: Pyramid Puzzle" )
161
162
regSSL .subregions = [ssl_upper_pyramid ]
162
- if ( world . EnableCoinStars [ player ]. value ) :
163
+ if options . enable_coin_stars :
163
164
create_locs (regSSL , "SSL: 100 Coins" )
164
165
165
166
regDDD = create_region ("Dire, Dire Docks" , player , world )
166
167
create_locs (regDDD , "DDD: Board Bowser's Sub" , "DDD: Chests in the Current" , "DDD: Through the Jet Stream" ,
167
168
"DDD: The Manta Ray's Reward" , "DDD: Collect the Caps..." )
168
169
ddd_moving_poles = create_subregion (regDDD , "DDD: Moving Poles" , "DDD: Pole-Jumping for Red Coins" )
169
170
regDDD .subregions = [ddd_moving_poles ]
170
- if ( world . EnableCoinStars [ player ]. value ) :
171
+ if options . enable_coin_stars :
171
172
create_locs (ddd_moving_poles , "DDD: 100 Coins" )
172
173
173
174
regCotMC = create_region ("Cavern of the Metal Cap" , player , world )
@@ -184,7 +185,7 @@ def create_regions(world: MultiWorld, player: int):
184
185
185
186
regSL = create_region ("Snowman's Land" , player , world )
186
187
create_default_locs (regSL , locSL_table )
187
- if ( world . EnableCoinStars [ player ]. value ) :
188
+ if options . enable_coin_stars :
188
189
create_locs (regSL , "SL: 100 Coins" )
189
190
190
191
regWDW = create_region ("Wet-Dry World" , player , world )
@@ -193,7 +194,7 @@ def create_regions(world: MultiWorld, player: int):
193
194
"WDW: Secrets in the Shallows & Sky" , "WDW: Bob-omb Buddy" )
194
195
wdw_downtown = create_subregion (regWDW , "WDW: Downtown" , "WDW: Go to Town for Red Coins" , "WDW: Quick Race Through Downtown!" , "WDW: 1Up Block in Downtown" )
195
196
regWDW .subregions = [wdw_top , wdw_downtown ]
196
- if ( world . EnableCoinStars [ player ]. value ) :
197
+ if options . enable_coin_stars :
197
198
create_locs (wdw_top , "WDW: 100 Coins" )
198
199
199
200
regTTM = create_region ("Tall, Tall Mountain" , player , world )
@@ -202,7 +203,7 @@ def create_regions(world: MultiWorld, player: int):
202
203
ttm_top = create_subregion (ttm_middle , "TTM: Top" , "TTM: Scale the Mountain" , "TTM: Mystery of the Monkey Cage" ,
203
204
"TTM: Mysterious Mountainside" , "TTM: Breathtaking View from Bridge" )
204
205
regTTM .subregions = [ttm_middle , ttm_top ]
205
- if ( world . EnableCoinStars [ player ]. value ) :
206
+ if options . enable_coin_stars :
206
207
create_locs (ttm_top , "TTM: 100 Coins" )
207
208
208
209
create_region ("Tiny-Huge Island (Huge)" , player , world )
@@ -214,7 +215,7 @@ def create_regions(world: MultiWorld, player: int):
214
215
"THI: 1Up Block THI Large near Start" , "THI: 1Up Block Windy Area" )
215
216
thi_large_top = create_subregion (thi_pipes , "THI: Large Top" , "THI: Make Wiggler Squirm" )
216
217
regTHI .subregions = [thi_pipes , thi_large_top ]
217
- if ( world . EnableCoinStars [ player ]. value ) :
218
+ if options . enable_coin_stars :
218
219
create_locs (thi_large_top , "THI: 100 Coins" )
219
220
220
221
regFloor3 = create_region ("Third Floor" , player , world )
@@ -225,7 +226,7 @@ def create_regions(world: MultiWorld, player: int):
225
226
ttc_upper = create_subregion (ttc_lower , "TTC: Upper" , "TTC: Timed Jumps on Moving Bars" , "TTC: The Pit and the Pendulums" )
226
227
ttc_top = create_subregion (ttc_upper , "TTC: Top" , "TTC: Stomp on the Thwomp" , "TTC: 1Up Block at the Top" )
227
228
regTTC .subregions = [ttc_lower , ttc_upper , ttc_top ]
228
- if ( world . EnableCoinStars [ player ]. value ) :
229
+ if options . enable_coin_stars :
229
230
create_locs (ttc_top , "TTC: 100 Coins" )
230
231
231
232
regRR = create_region ("Rainbow Ride" , player , world )
@@ -235,7 +236,7 @@ def create_regions(world: MultiWorld, player: int):
235
236
rr_cruiser = create_subregion (regRR , "RR: Cruiser" , "RR: Cruiser Crossing the Rainbow" , "RR: Somewhere Over the Rainbow" )
236
237
rr_house = create_subregion (regRR , "RR: House" , "RR: The Big House in the Sky" , "RR: 1Up Block On House in the Sky" )
237
238
regRR .subregions = [rr_maze , rr_cruiser , rr_house ]
238
- if ( world . EnableCoinStars [ player ]. value ) :
239
+ if options . enable_coin_stars :
239
240
create_locs (rr_maze , "RR: 100 Coins" )
240
241
241
242
regWMotR = create_region ("Wing Mario over the Rainbow" , player , world )
0 commit comments