forked from OoTRandomizer/OoT-Randomizer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Regions.py
542 lines (531 loc) · 51.1 KB
/
Regions.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
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
import collections
from BaseClasses import Region, Location, Entrance, RegionType
def create_regions(world):
world.regions = [
create_ow_region('Kokiri Forest', ['Kokiri Sword Chest', 'GS1', 'GS2', 'GS3'], ['Links House', 'Mido House', 'Saria House', 'House of Twins', 'Know It All House', 'Kokiri Shop', 'Deku Tree', 'Lost Woods', 'Lost Woods Bridge']),
create_interior_region('Links House', ['Links Pocket'], ['Links House Exit', 'Child Forest Warp Pad', 'Adult Forest Warp Pad', 'Temple Warp Pad', 'Crater Warp Pad', 'Lake Warp Pad', 'Graveyard Warp Pad', 'Colossus Warp Pad']),
create_interior_region('Mido House', ['Mido Chest Top Left', 'Mido Chest Top Right', 'Mido Chest Bottom Left', 'Mido Chest Bottom Right'], ['Mido House Exit']),
create_interior_region('Saria House', None, ['Saria House Exit']),
create_interior_region('House of Twins', None, ['House of Twins Exit']),
create_interior_region('Know It All House', None, ['Know It All House Exit']),
create_interior_region('Kokiri Shop', None, ['Kokiri Shop Exit']),
create_dungeon_region('Deku Tree Lobby', ['Deku Tree Lobby Chest', 'Deku Tree Compass Chest', 'Deku Tree Compass Room Side Chest', 'Deku Tree Basement Chest', 'GS8', 'GS9', 'GS10'], ['Deku Tree Exit', 'Deku Tree Slingshot Passage', 'Deku Tree Basement Path']),
create_dungeon_region('Deku Tree Slingshot Room', ['Deku Tree Slingshot Chest', 'Deku Tree Slingshot Room Side Chest'], ['Deku Tree Slingshot Exit']),
create_dungeon_region('Deku Tree Boss Room', ['GS11', 'Queen Gohma'], ['Deku Tree Basement Vines']),
create_ow_region('Lost Woods', ['Skull Kid', 'Ocarina Memory Game', 'Target in Woods', 'Deku Salesman Woods', 'GS4', 'GS5'], ['Lost Woods Front', 'Meadow Entrance', 'Woods to Goron City', 'Lost Woods Dive Warp', 'Adult Meadow Access', 'Forest Generic Grotto', 'Deku Theater', 'Forest Sales Grotto']),
create_ow_region('Sacred Forest Meadow Entryway', None, ['Meadow Exit', 'Meadow Gate', 'Front of Meadow Grotto']),
create_ow_region('Sacred Forest Meadow', ['Song from Saria'], ['Meadow Gate Exit', 'Meadow Fairy Grotto']),
create_ow_region('Lost Woods Bridge', ['Gift from Saria'], ['Kokiri Forest Entrance', 'Forest Exit']),
create_ow_region('Hyrule Field', ['Ocarina of Time', 'Song from Ocarina of Time'], ['Field to Forest', 'Field to Lake', 'Field to Valley', 'Field to Castle Town', 'Field to Kakariko', 'Field to Zora River', 'Lon Lon Rance Entrance',
'Remote Southern Grotto', 'Field Near Lake Outside Fence Grotto', 'Field Near Lake Inside Fence Grotto', 'Field Valley Grotto', 'Field West Castle Town Grotto',
'Field Far West Castle Town Grotto', 'Field Kakariko Grotto', 'Field North Lon Lon Grotto']),
create_ow_region('Lake Hylia', ['Underwater Bottle', 'Lake Hylia Sun', 'GS55', 'GS56', 'GS57', 'GS58'], ['Lake Exit', 'Lake Hylia Dive Warp', 'Lake Hylia Lab', 'Fishing Hole', 'Water Temple Entrance', 'Lake Hylia Grotto']),
create_interior_region('Lake Hylia Lab', ['Diving in the Lab', 'GS59']),
create_interior_region('Fishing Hole', ['Child Fishing', 'Adult Fishing']),
create_dungeon_region('Water Temple Lobby', ['Water Temple Map Chest', 'Water Temple Compass Chest', 'Water Temple Torches Chest', 'Water Temple Dragon Chest', 'Water Temple Central Bow Target Chest', 'Water Temple Boss Key Chest', 'Morpha', 'GS73', 'GS77'], ['Water Temple Exit', 'Water Temple Central Pillar', 'Water Temple Upper Locked Door']),
create_dungeon_region('Water Temple Middle Water Level', ['Water Temple Central Pillar Chest', 'Water Temple Cracked Wall Chest', 'GS75']),
create_dungeon_region('Water Temple Dark Link Region', ['Water Temple Dark Link Chest', 'Water Temple River Chest', 'GS74', 'GS76']),
create_ow_region('Gerudo Valley', ['GS86', 'GS87'], ['Valley Exit', 'Valley River', 'Bridge Crossing']),
create_ow_region('Gerudo Valley Far Side', ['Gerudo Valley Hammer Rocks Chest', 'GS88', 'GS89'], ['Fortress Entrance']),
create_ow_region('Gerudo Fortress', ['Gerudo Fortress Rooftop Chest', 'Horseback Archery 1000 Points', 'Horseback Archery 1500 Points', 'Gerudo Fortress Carpenter Rescue', 'GS90', 'GS91'], ['Haunted Wasteland Entrance', 'Gerudo Training Grounds Entrance']),
create_ow_region('Haunted Wasteland', ['Haunted Wasteland Structure Chest', 'GS92'], ['Haunted Wasteland Crossing']),
create_ow_region('Desert Colossus', ['Sheik at Colossus', 'GS93', 'GS94', 'GS95'], ['Colossus Fairy', 'Spirit Temple Entrance']),
create_interior_region('Colossus Fairy', ['Desert Colossus Fairy Reward']),
create_dungeon_region('Gerudo Training Grounds Lobby', ['Gerudo Training Grounds Lobby Left Chest', 'Gerudo Training Grounds Lobby Right Chest', 'Gerudo Training Grounds Stalfos Chest', 'Gerudo Training Grounds Beamos Chest'], ['Gerudo Training Grounds Exit', 'Gerudo Training Ground Left Silver Rupees', 'Gerudo Training Ground Beamos', 'Gerudo Training Ground Central Door']),
create_dungeon_region('Gerudo Training Grounds Central Maze', ['Gerudo Training Grounds Hidden Ceiling Chest', 'Gerudo Training Grounds Maze Path First Chest', 'Gerudo Training Grounds Maze Path Second Chest', 'Gerudo Training Grounds Maze Path Third Chest', 'Gerudo Training Grounds Maze Path Final Chest'], ['Gerudo Training Grounds Right Locked Doors']),
create_dungeon_region('Gerudo Training Grounds Central Maze Right', ['Gerudo Training Grounds Maze Right Central Chest', 'Gerudo Training Grounds Maze Right Side Chest'], ['Gerudo Training Grounds Maze Exit']),
create_dungeon_region('Gerudo Training Grounds Lava Room', ['Gerudo Training Grounds Underwater Silver Rupee Chest'], ['Gerudo Training Grounds Maze Ledge', 'Gerudo Training Grounds Right Hookshot Target']),
create_dungeon_region('Gerudo Training Grounds Hammer Room', ['Gerudo Training Grounds Hammer Room Clear Chest', 'Gerudo Training Grounds Hammer Room Switch Chest'], ['Gerudo Training Grounds Hammer Target', 'Gerudo Training Grounds Hammer Room Clear']),
create_dungeon_region('Gerudo Training Grounds Eye Statue Lower', ['Gerudo Training Grounds Eye Statue Chest'], ['Gerudo Training Grounds Eye Statue Exit']),
create_dungeon_region('Gerudo Training Grounds Eye Statue Upper', ['Gerudo Training Grounds Near Scarecrow Chest'], ['Gerudo Training Grounds Eye Statue Drop']),
create_dungeon_region('Gerudo Training Grounds Heavy Block Room', ['Gerudo Training Grounds Before Heavy Block Chest', 'Gerudo Training Grounds Heavy Block First Chest', 'Gerudo Training Grounds Heavy Block Second Chest', 'Gerudo Training Grounds Heavy Block Third Chest', 'Gerudo Training Grounds Heavy Block Fourth Chest'], ['Gerudo Training Grounds Hidden Hookshot Target']),
create_dungeon_region('Spirit Temple Lobby', None, ['Spirit Temple Exit', 'Spirit Temple Crawl Passage', 'Spirit Temple Silver Block']),
create_dungeon_region('Child Spirit Temple', ['Spirit Temple Child Left Chest', 'Spirit Temple Child Right Chest', 'GS96'], ['Child Spirit Temple Passthrough']),
create_dungeon_region('Early Adult Spirit Temple', ['Spirit Temple Compass Chest', 'Spirit Temple Early Adult Right Chest', 'Spirit Temple First Mirror Right Chest', 'Spirit Temple First Mirror Left Chest', 'GS99'], ['Adult Spirit Temple Passthrough']),
create_dungeon_region('Spirit Temple Central Chamber', ['Spirit Temple Map Chest', 'Spirit Temple Child Climb East Chest', 'Spirit Temple Child Climb North Chest', 'Spirit Temple Sun Block Room Chest', 'Spirit Temple Statue Hand Chest', 'Spirit Temple NE Main Room Chest', 'GS97', 'GS98', 'GS100'], ['Spirit Temple to Hands', 'Spirit Temple Central Locked Door']),
create_dungeon_region('Spirit Temple Outdoor Hands', ['Silver Gauntlets Chest', 'Mirror Shield Chest']),
create_dungeon_region('Spirit Temple Beyond Central Locked Door', ['Spirit Temple Near Four Armos Chest', 'Spirit Temple Hallway Left Invisible Chest', 'Spirit Temple Hallway Right Invisible Chest'], ['Spirit Temple Final Locked Door']),
create_dungeon_region('Spirit Temple Beyond Final Locked Door', ['Spirit Temple Boss Key Chest', 'Spirit Temple Topmost Chest', 'Twinrova']),
create_ow_region('Castle Town', None, ['Castle Town Exit', 'Temple of Time', 'Hyrule Castle Grounds', 'Castle Town Rupee Room', 'Castle Town Bazaar', 'Castle Town Mask Shop', 'Castle Town Shooting Gallery', 'Ganons Castle Grounds',
'Castle Town Bombchu Bowling', 'Castle Town Potion Shop', 'Castle Town Treasure Chest Game', 'Castle Town Bombchu Shop', 'Castle Town Dog Lady', 'Castle Town Man in Green House']),
create_interior_region('Temple of Time', ['Zelda'], ['Temple of Time Exit', 'Door of Time']),
create_interior_region('Beyond Door of Time', ['Master Sword Pedestal', 'Sheik at Temple'], ['Emerge as Adult']),
create_ow_region('Hyrule Castle Grounds', ['GS15'], ['Hyrule Castle Grounds Exit', 'Hyrule Castle Garden', 'Hyrule Castle Fairy', 'Castle Storms Grotto']),
create_ow_region('Hyrule Castle Garden', ['Zeldas Letter', 'Impa at Castle'], ['Hyrule Castle Garden Exit']),
create_interior_region('Hyrule Castle Fairy', ['Hyrule Castle Fairy Reward']),
create_ow_region('Ganons Castle Grounds', ['GS17'], ['Ganons Castle Grounds Exit', 'Ganons Castle Fairy', 'Rainbow Bridge']),
create_interior_region('Ganons Castle Fairy'),
create_interior_region('Castle Town Rupee Room', ['10 Big Poes', 'GS14']),
create_interior_region('Castle Town Bazaar'),
create_interior_region('Castle Town Mask Shop'),
create_interior_region('Castle Town Shooting Gallery', ['Child Shooting Gallery']),
create_interior_region('Castle Town Bombchu Bowling', ['Bombchu Bowling Bomb Bag', 'Bombchu Bowling Piece of Heart']),
create_interior_region('Castle Town Potion Shop'),
create_interior_region('Castle Town Treasure Chest Game', ['Treasure Chest Game']),
create_interior_region('Castle Town Bombchu Shop'),
create_interior_region('Castle Town Dog Lady', ['Dog Lady']),
create_interior_region('Castle Town Man in Green House'),
create_ow_region('Kakariko Village', ['Man on Roof', 'Anju as Adult', 'Anjus Chickens', 'Sheik in Kakariko', 'GS22', 'GS23', 'GS24', 'GS25', 'GS26', 'GS27'], ['Kakariko Exit', 'Carpenter Boss House', 'House of Skulltulla', 'Impas House', 'Impas House Back', 'Windmill', 'Kakariko Bazaar', 'Kakariko Shooting Gallery', 'Bottom of the Well',
'Kakariko Potion Shop Front', 'Kakariko Potion Shop Back', 'Odd Medicine Building', 'Kakariko Bombable Grotto', 'Kakariko Back Grotto', 'Graveyard Entrance', 'Death Mountain Entrance']),
create_interior_region('Carpenter Boss House'),
create_interior_region('House of Skulltulla', ['10 Gold Skulltulla Reward', '20 Gold Skulltulla Reward', '30 Gold Skulltulla Reward', '40 Gold Skulltulla Reward', '50 Gold Skulltulla Reward']),
create_interior_region('Impas House'),
create_interior_region('Impas House Back'),
create_interior_region('Windmill', ['Song at Windmill']),
create_interior_region('Kakariko Bazaar'),
create_interior_region('Kakariko Shooting Gallery', ['Adult Shooting Gallery']),
create_interior_region('Kakariko Potion Shop Front'),
create_interior_region('Kakariko Potion Shop Back'),
create_interior_region('Odd Medicine Building'),
create_dungeon_region('Bottom of the Well', ['Bottom of the Well Front Left Hidden Wall', 'Bottom of the Well Front Center Bombable', 'Bottom of the Well Right Bottom Hidden Wall', 'Bottom of the Well Center Large Chest', 'Bottom of the Well Center Small Chest', 'Bottom of the Well Back Left Bombable',
'Bottom of the Well Defeat Boss', 'Bottom of the Well Invisible Chest', 'Bottom of the Well Underwater Front Chest', 'Bottom of the Well Underwater Left Chest', 'Bottom of the Well Basement Chest', 'Bottom of the Well Locked Pits', 'Bottom of the Well Behind Right Grate', 'GS78', 'GS79', 'GS80'], ['Bottom of the Well Exit']),
create_ow_region('Graveyard', ['GS28', 'GS29'], ['Shield Grave', 'Composer Grave', 'Heart Piece Grave', 'Dampes Grave', 'Dampes House', 'Graveyard Exit']),
create_interior_region('Shield Grave', ['Shield Grave Chest']),
create_interior_region('Heart Piece Grave', ['Heart Piece Grave Chest']),
create_interior_region('Composer Grave', ['Composer Grave Chest', 'Song from Composer Grave']),
create_interior_region('Dampes Grave', ['Hookshot Chest']),
create_interior_region('Dampes House'),
create_ow_region('Shadow Temple Warp Region', None, ['Drop to Graveyard', 'Shadow Temple Entrance']),
create_dungeon_region('Shadow Temple Beginning', ['Shadow Temple Map Chest', 'Shadow Temple Hover Boots Chest'], ['Shadow Temple Exit', 'Shadow Temple First Pit']),
create_dungeon_region('Shadow Temple First Beamos', ['Shadow Temple Compass Chest', 'Shadow Temple Early Silver Rupee Chest'], ['Shadow Temple Bomb Wall']),
create_dungeon_region('Shadow Temple Huge Pit', ['Shadow Temple Invisible Blades Visible Chest', 'Shadow Temple Invisible Blades Invisible Chest', 'Shadow Temple Falling Spikes Lower Chest', 'Shadow Temple Falling Spikes Upper Chest', 'Shadow Temple Falling Spikes Switch Chest', 'Shadow Temple Invisible Spikes Chest', 'GS81', 'GS82'], ['Shadow Temple Hookshot Target']),
create_dungeon_region('Shadow Temple Wind Tunnel', ['Shadow Temple Wind Hint Chest', 'Shadow Temple After Wind Enemy Chest', 'Shadow Temple After Wind Hidden Chest', 'GS83', 'GS84'], ['Shadow Temple Boat']),
create_dungeon_region('Shadow Temple Beyond Boat', ['Shadow Temple Spike Walls Left Chest', 'Shadow Temple Boss Key Chest', 'Shadow Temple Hidden Floormaster Chest', 'Bongo Bongo', 'GS85']),
create_ow_region('Death Mountain', ['Death Mountain Bombable Chest', 'Biggoron', 'GS30', 'GS31', 'GS32', 'GS33'], ['Death Mountain Exit', 'Goron City Entrance', 'Mountain Crater Entrance', 'Mountain Summit Fairy', 'Dodongos Cavern Rocks', 'Mountain Bombable Grotto']),
create_ow_region('Dodongos Cavern Entryway', None, ['Dodongos Cavern', 'Mountain Access from Behind Rock']),
create_ow_region('Goron City', ['Goron City Leftmost Maze Chest', 'Goron City Left Maze Chest', 'Goron City Right Maze Chest', 'Rolling Goron as Child', 'Link the Goron', 'GS34', 'GS35'], ['Goron City Exit', 'Goron City Bomb Wall', 'Darunias Chamber', 'Crater Access']),
create_ow_region('Goron City Woods Warp', None, ['Goron City from Woods', 'Goron City to Woods']),
create_ow_region('Darunias Chamber', ['Darunias Joy'], ['Darunias Chamber Exit']),
create_ow_region('Death Mountain Crater Upper', ['GS36'], ['Crater Exit', 'Crater Hover Boots', 'Crater Scarecrow', 'Top of Crater Grotto']),
create_ow_region('Death Mountain Crater Lower', None, ['Crater to City', 'Crater Fairy', 'Crater Bridge', 'Crater Ascent', 'Top of Crater Grotto']),
create_ow_region('Death Mountain Crater Central', ['Sheik in Crater', 'GS37'], ['Crater Bridge Reverse', 'Fire Temple Entrance']),
create_interior_region('Crater Fairy', ['Crater Fairy Reward']),
create_interior_region('Mountain Summit Fairy', ['Mountain Summit Fairy Reward']),
create_dungeon_region('Dodongos Cavern Beginning', None, ['Dodongos Cavern Exit', 'Dodongos Cavern Lobby']),
create_dungeon_region('Dodongos Cavern Lobby', ['Dodongos Cavern Map Chest', 'GS38', 'GS42'], ['Dodongos Cavern Retreat', 'Dodongos Cavern Left Door']),
create_dungeon_region('Dodongos Cavern Climb', ['Dodongos Cavern Compass Chest', 'Dodongos Cavern Bomb Flower Platform', 'GS39'], ['Dodongos Cavern Bridge Fall', 'Dodongos Cavern Slingshot Target']),
create_dungeon_region('Dodongos Cavern Far Bridge', ['Dodongos Cavern Bomb Bag Chest', 'Dodongos Cavern End of Bridge Chest', 'GS41'], ['Dodongos Cavern Bomb Drop', 'Dodongos Cavern Bridge Fall 2']),
create_dungeon_region('Dodongos Cavern Boss Area', ['Chest Above King Dodongo', 'King Dodongo', 'GS40'], ['Dodongos Cavern Exit Skull']),
create_ow_region('Zora River Bottom', ['GS43'], ['Zora River Exit', 'Zora River Rocks', 'Zora River Adult']),
create_ow_region('Zora River Top', ['Magic Bean Salesman', 'Frog Ocarina Game', 'Frogs in the Rain', 'GS44'], ['Zora River Downstream', 'Zora River Dive Warp', 'Zora River Waterfall', 'Zora River Plateau Open Grotto', 'Zora River Plateau Bombable Grotto']),
create_ow_region('Zora River Adult', ['GS45', 'GS46'], ['Zoras Domain Adult Access']),
create_ow_region('Zoras Domain', ['Diving Minigame', 'Zoras Domain Torch Run', 'King Zora Moves'], ['Zoras Domain Exit', 'Zoras Domain Dive Warp', 'Behind King Zora', 'Zora Shop']),
create_ow_region('Zoras Fountain', ['GS48', 'GS49'], ['Zoras Fountain Exit', 'Jabu Jabus Belly', 'Zoras Fountain Fairy']),
create_ow_region('Zoras Domain Frozen', ['King Zora Thawed', 'GS47'], ['Zoras Fountain Adult Access']),
create_ow_region('Outside Ice Cavern', ['GS50'], ['Ice Cavern Entrance']),
create_dungeon_region('Ice Cavern', ['Ice Cavern Map Chest', 'Ice Cavern Compass Chest', 'Ice Cavern Iron Boots Chest', 'Sheik in Ice Cavern', 'GS70', 'GS71', 'GS72'], ['Ice Cavern Exit']),
create_interior_region('Zora Shop'),
create_interior_region('Zoras Fountain Fairy', ['Zoras Fountain Fairy Reward']),
create_dungeon_region('Jabu Jabus Belly Beginning', None, ['Jabu Jabus Belly Exit', 'Jabu Jabus Belly Ceiling Switch']),
create_dungeon_region('Jabu Jabus Belly Main', ['Boomerang Chest', 'GS51'], ['Jabu Jabus Belly Retreat', 'Jabu Jabus Belly Tentacles']),
create_dungeon_region('Jabu Jabus Belly Depths', ['Jabu Jabus Belly Map Chest', 'Jabu Jabus Belly Compass Chest', 'GS52', 'GS53'], ['Jabu Jabus Belly Elevator', 'Jabu Jabus Belly Octopus']),
create_dungeon_region('Jabu Jabus Belly Boss Area', ['Barinade', 'GS54'], ['Jabu Jabus Belly Final Backtrack']),
create_ow_region('Lon Lon Ranch', ['Talons Chickens', 'Epona', 'Song from Malon', 'GS18', 'GS19', 'GS20', 'GS21'], ['Lon Lon Exit', 'Talon House', 'Ingo Barn', 'Lon Lon Corner Tower', 'Lon Lon Grotto']),
create_interior_region('Talon House'),
create_interior_region('Ingo Barn'),
create_interior_region('Lon Lon Corner Tower'),
create_interior_region('Forest Temple Entry Area', ['Sheik Forest Song', 'GS6', 'GS7'], ['Adult Meadow Exit', 'Forest Temple Entrance']),
create_dungeon_region('Forest Temple Lobby', ['Forest Temple First Chest', 'Forest Temple Chest Behind Lobby', 'GS60', 'GS61'], ['Forest Temple Exit', 'Forest Temple Song of Time Block', 'Forest Temple Lobby Eyeball Switch', 'Forest Temple Lobby Locked Door']),
create_dungeon_region('Forest Temple NW Outdoors', ['Forest Temple Well Chest', 'Forest Temple Map Chest', 'GS63'], ['Forest Temple Through Map Room']),
create_dungeon_region('Forest Temple NE Outdoors', ['Forest Temple Outside Hookshot Chest', 'GS62'], ['Forest Temple Well Connection', 'Forest Temple Outside to Lobby', 'Forest Temple Scarecrows Song']),
create_dungeon_region('Forest Temple Falling Room', ['Forest Temple Falling Room Chest'], ['Forest Temple Falling Room Exit', 'Forest Temple Elevator']),
create_dungeon_region('Forest Temple Block Push Room', ['Forest Temple Block Push Chest'], ['Forest Temple Outside Backdoor', 'Forest Temple Twisted Hall', 'Forest Temple Straightened Hall']),
create_dungeon_region('Forest Temple Straightened Hall', ['Forest Temple Boss Key Chest'], ['Forest Temple Boss Key Chest Drop']),
create_dungeon_region('Forest Temple Outside Upper Ledge', ['Forest Temple Floormaster Chest'], ['Forest Temple Outside Ledge Drop']),
create_dungeon_region('Forest Temple Bow Region', ['Forest Temple Bow Chest', 'Forest Temple Red Poe Chest', 'Forest Temple Blue Poe Chest'], ['Forest Temple Drop to Falling Room']),
create_dungeon_region('Forest Temple Boss Region', ['Forest Temple Near Boss Chest', 'Phantom Ganon', 'GS64']),
create_dungeon_region('Fire Temple Lower', ['Fire Temple Chest Near Boss', 'Fire Temple Fire Dancer Chest', 'Fire Temple Boss Key Chest', 'Fire Temple Big Lava Room Bombable Chest', 'Fire Temple Big Lava Room Open Chest', 'Volvagia', 'GS65', 'GS69'], ['Fire Temple Exit', 'Fire Temple Early Climb']),
create_dungeon_region('Fire Temple Middle', ['Fire Temple Boulder Maze Lower Chest', 'Fire Temple Boulder Maze Upper Chest', 'Fire Temple Boulder Maze Side Room', 'Fire Temple Boulder Maze Bombable Pit', 'Fire Temple Scarecrow Chest', 'Fire Temple Map Chest', 'Fire Temple Compass Chest', 'GS66', 'GS67', 'GS68'], ['Fire Temple Fire Maze Escape']),
create_dungeon_region('Fire Temple Upper', ['Fire Temple Highest Goron Chest', 'Fire Temple Megaton Hammer Chest']),
create_dungeon_region('Ganons Castle Lobby', None, ['Ganons Castle Exit', 'Ganons Castle Forest Trial', 'Ganons Castle Fire Trial', 'Ganons Castle Water Trial', 'Ganons Castle Shadow Trial', 'Ganons Castle Spirit Trial', 'Ganons Castle Light Trial', 'Ganons Castle Tower']),
create_dungeon_region('Ganons Castle Forest Trial', ['Ganons Castle Forest Trial Chest', 'Ganons Castle Forest Trial Clear']),
create_dungeon_region('Ganons Castle Fire Trial', ['Ganons Castle Fire Trial Clear']),
create_dungeon_region('Ganons Castle Water Trial', ['Ganons Castle Water Trial Left Chest', 'Ganons Castle Water Trial Right Chest', 'Ganons Castle Water Trial Clear']),
create_dungeon_region('Ganons Castle Shadow Trial', ['Ganons Castle Shadow Trial First Chest', 'Ganons Castle Shadow Trial Second Chest', 'Ganons Castle Shadow Trial Clear']),
create_dungeon_region('Ganons Castle Spirit Trial', ['Ganons Castle Spirit Trial First Chest', 'Ganons Castle Spirit Trial Second Chest', 'Ganons Castle Spirit Trial Clear']),
create_dungeon_region('Ganons Castle Light Trial', ['Ganons Castle Light Trial First Left Chest', 'Ganons Castle Light Trial Second Left Chest', 'Ganons Castle Light Trial Third Left Chest', 'Ganons Castle Light Trial First Right Chest', 'Ganons Castle Light Trial Second Right Chest', 'Ganons Castle Light Trial Third Right Chest', 'Ganons Castle Light Trail Invisible Enemies Chest', 'Ganons Castle Light Trial Lullaby Chest', 'Ganons Castle Light Trial Clear']),
create_dungeon_region('Ganons Castle Tower', ['Ganons Tower Boss Key Chest', 'Ganon']),
create_grotto_region('Forest Generic Grotto', ['Wolfos Grotto Chest']),
create_grotto_region('Deku Theater', ['Deku Theater Skull Mask', 'Deku Theater Mask of Truth']),
create_grotto_region('Forest Sales Grotto', ['Deku Salesman Lost Woods Grotto']),
create_grotto_region('Meadow Fairy Grotto'),
create_grotto_region('Front of Meadow Grotto'),
create_grotto_region('Lon Lon Grotto'),
create_grotto_region('Remote Southern Grotto'),
create_grotto_region('Field Near Lake Outside Fence Grotto'),
create_grotto_region('Field Near Lake Inside Fence Grotto', ['Deku Salesman Hyrule Field Grotto']),
create_grotto_region('Field Valley Grotto', ['GS13']),
create_grotto_region('Field West Castle Town Grotto'),
create_grotto_region('Field Far West Castle Town Grotto'),
create_grotto_region('Field Kakariko Grotto', ['GS12']),
create_grotto_region('Field North Lon Lon Grotto'),
create_grotto_region('Castle Storms Grotto', ['GS16']),
create_grotto_region('Kakariko Bombable Grotto', ['Redead Grotto Chest']),
create_grotto_region('Kakariko Back Grotto'),
create_grotto_region('Mountain Bombable Grotto'),
create_grotto_region('Top of Crater Grotto'),
create_grotto_region('Zora River Plateau Open Grotto'),
create_grotto_region('Zora River Plateau Bombable Grotto'),
create_grotto_region('Lake Hylia Grotto')
]
world.intialize_regions()
def create_ow_region(name, locations=None, exits=None):
return _create_region(name, RegionType.Overworld, locations, exits)
def create_interior_region(name, locations=None, exits=None):
return _create_region(name, RegionType.Interior, locations, exits)
def create_dungeon_region(name, locations=None, exits=None):
return _create_region(name, RegionType.Dungeon, locations, exits)
def create_grotto_region(name, locations=None, exits=None):
return _create_region(name, RegionType.Grotto, locations, exits)
def _create_region(name, type, locations=None, exits=None):
ret = Region(name, type)
if locations is None:
locations = []
if exits is None:
exits = []
for exit in exits:
ret.exits.append(Entrance(exit, ret))
for location in locations:
address, address2, default, type = location_table[location]
ret.locations.append(Location(location, address, address2, default, type, ret))
return ret
location_table = {'Kokiri Sword Chest': (0x20A6142, None, 0x04E0, 'Chest'),
'Mido Chest Top Left': (0x2F7B08A, None, 0x59A0, 'Chest'),
'Mido Chest Top Right': (0x2F7B09A, None, 0x59A1, 'Chest'),
'Mido Chest Bottom Left': (0x2F7B0AA, None, 0x5982, 'Chest'),
'Mido Chest Bottom Right': (0x2F7B0BA, None, 0x5903, 'Chest'),
'Shield Grave Chest': (0x328B096, None, 0x5540, 'Chest'),
'Heart Piece Grave Chest': (0x2D0A056, None, 0xA7C0, 'Chest'),
'Composer Grave Chest': (0x332D0EA, None, 0x8020, 'Chest'),
'Death Mountain Bombable Chest': (0x223C3CA, 0x223C7B2, 0x5AA1, 'Chest'),
'Goron City Leftmost Maze Chest': (0x227C23A, 0x227C70A, 0x5AC0, 'Chest'),
'Goron City Left Maze Chest': (0x227C24A, 0x227C71A, 0x5AA1, 'Chest'),
'Goron City Right Maze Chest': (0x227C25A, 0x227C72A, 0x5AA2, 'Chest'),
'Zoras Domain Torch Run': (0x2103166, None, 0xB7C0, 'Chest'),
'Hookshot Chest': (0x3063092, None, 0x1100, 'Chest'),
'Gerudo Valley Hammer Rocks Chest': (0x213D676, None, 0x5AA0, 'Chest'),
'Gerudo Fortress Rooftop Chest': (0x21BD4AA, 0x21BD6EA, 0x07C0, 'Chest'),
'Haunted Wasteland Structure Chest': (0x21E20DE, None, 0x8AA0, 'Chest'),
'Redead Grotto Chest': (0x26CF076, None, 0x7ACA, 'Chest'),
'Wolfos Grotto Chest': (0x26EB076, None, 0x7AB1, 'Chest'),
'Deku Tree Lobby Chest': (0x24A7146, None, 0x0823, 'Chest'),
'Deku Tree Slingshot Chest': (0x24C20C6, None, 0x00A1, 'Chest'),
'Deku Tree Slingshot Room Side Chest': (0x24C20D6, None, 0x5905, 'Chest'),
'Deku Tree Compass Chest': (0x25040D6, None, 0x0802, 'Chest'),
'Deku Tree Compass Room Side Chest': (0x25040E6, None, 0x5906, 'Chest'),
'Deku Tree Basement Chest': (0x24C8166, None, 0x5904, 'Chest'),
'Dodongos Cavern Map Chest': (0x1F2819E, None, 0x0828, 'Chest'),
'Dodongos Cavern Compass Chest': (0x1FAF0AA, None, 0x0805, 'Chest'),
'Dodongos Cavern Bomb Flower Platform': (0x1F890DE, None, 0x59C6, 'Chest'),
'Dodongos Cavern Bomb Bag Chest': (0x1F890CE, None, 0x0644, 'Chest'),
'Dodongos Cavern End of Bridge Chest': (0x1F281CE, None, 0x552A, 'Chest'),
'Chest Above King Dodongo': (0x2EB00BA, None, 0x5020, 'Chest'),
'Boomerang Chest': (0x278A0BA, None, 0x10C1, 'Chest'),
'Jabu Jabus Belly Map Chest': (0x278E08A, None, 0x1822, 'Chest'),
'Jabu Jabus Belly Compass Chest': (0x279608A, None, 0xB804, 'Chest'),
'Forest Temple First Chest': (0x23E5092, None, 0x5843, 'Chest'),
'Forest Temple Chest Behind Lobby': (0x2415082, None, 0x7840, 'Chest'),
'Forest Temple Well Chest': (0x244A062, None, 0x5849, 'Chest'),
'Forest Temple Map Chest': (0x2455076, None, 0x1821, 'Chest'),
'Forest Temple Outside Hookshot Chest': (0x241F0D6, None, 0x5905, 'Chest'),
'Forest Temple Falling Room Chest': (0x247E09E, None, 0x5947, 'Chest'),
'Forest Temple Block Push Chest': (0x245B096, None, 0x8964, 'Chest'),
'Forest Temple Boss Key Chest': (0xCB0DC2, None, 0x27EE, 'Chest'),
'Forest Temple Floormaster Chest': (0x2490072, None, 0x7842, 'Chest'),
'Forest Temple Bow Chest': (0x2415092, None, 0xB08C, 'Chest'),
'Forest Temple Red Poe Chest': (0x246607E, None, 0x784D, 'Chest'),
'Forest Temple Blue Poe Chest': (0x246F07E, None, 0x180F, 'Chest'),
'Forest Temple Near Boss Chest': (0x2486082, None, 0x592B, 'Chest'),
'Bottom of the Well Front Left Hidden Wall': (0x32D317E, None, 0x5848, 'Chest'),
'Bottom of the Well Front Center Bombable': (0x32D30FE, None, 0x5062, 'Chest'),
'Bottom of the Well Right Bottom Hidden Wall': (0x32D314E, None, 0x5845, 'Chest'),
'Bottom of the Well Center Large Chest': (0x32D30EE, None, 0x0801, 'Chest'),
'Bottom of the Well Center Small Chest': (0x32D31AE, None, 0x504E, 'Chest'),
'Bottom of the Well Back Left Bombable': (0x32D313E, None, 0x5C84, 'Chest'),
'Bottom of the Well Defeat Boss': (0x32FB0AA, None, 0x1143, 'Chest'),
'Bottom of the Well Invisible Chest': (0x32FB0BA, None, 0x6AD4, 'Chest'),
'Bottom of the Well Underwater Front Chest': (0x32D31BE, None, 0x5CD0, 'Chest'),
'Bottom of the Well Underwater Left Chest': (0x32D318E, None, 0x5909, 'Chest'),
'Bottom of the Well Basement Chest': (0x32E9252, None, 0x0827, 'Chest'),
'Bottom of the Well Locked Pits': (0x32F90AA, None, 0x552A, 'Chest'),
'Bottom of the Well Behind Right Grate': (0x32D319E, None, 0x554C, 'Chest'),
'Fire Temple Chest Near Boss': (0x230808A, None, 0x5841, 'Chest'),
'Fire Temple Fire Dancer Chest': (0x2318082, None, 0x7CC0, 'Chest'),
'Fire Temple Boss Key Chest': (0x238A0D6, None, 0x27EC, 'Chest'),
'Fire Temple Big Lava Room Bombable Chest': (0x23AD076, None, 0x5842, 'Chest'),
'Fire Temple Big Lava Room Open Chest': (0x239D0A6, None, 0x5844, 'Chest'),
'Fire Temple Boulder Maze Lower Chest': (0x2323152, None, 0x5843, 'Chest'),
'Fire Temple Boulder Maze Upper Chest': (0x2323182, None, 0x5846, 'Chest'),
'Fire Temple Boulder Maze Side Room': (0x23B40B2, None, 0x5848, 'Chest'),
'Fire Temple Boulder Maze Bombable Pit': (0x231B0E2, None, 0x584B, 'Chest'),
'Fire Temple Scarecrow Chest': (0x2339082, None, 0x5ACD, 'Chest'),
'Fire Temple Map Chest': (0x237E0C2, None, 0x082A, 'Chest'),
'Fire Temple Compass Chest': (0x23C1082, None, 0x0807, 'Chest'),
'Fire Temple Highest Goron Chest': (0x2365066, None, 0x5849, 'Chest'),
'Fire Temple Megaton Hammer Chest': (0x236C102, None, 0x01A5, 'Chest'),
'Ice Cavern Map Chest': (0x2C4016A, None, 0x0820, 'Chest'),
'Ice Cavern Compass Chest': (0x2C4E236, None, 0x0801, 'Chest'),
'Ice Cavern Iron Boots Chest': (0x2C380A2, None, 0x15C2, 'Chest'),
'Water Temple Map Chest': (0x26690A6, None, 0x1822, 'Chest'),
'Water Temple Compass Chest': (0x25FC0D2, None, 0x0809, 'Chest'),
'Water Temple Torches Chest': (0x26640A6, None, 0x7841, 'Chest'),
'Water Temple Dragon Chest': (0x261F0BA, None, 0x584A, 'Chest'),
'Water Temple Central Bow Target Chest': (0x266D072, None, 0x5848, 'Chest'),
'Water Temple Central Pillar Chest': (0x25EF0D6, None, 0x5846, 'Chest'),
'Water Temple Cracked Wall Chest': (0x265B0A6, None, 0x5840, 'Chest'),
'Water Temple Boss Key Chest': (0x2657066, None, 0x27E5, 'Chest'),
'Water Temple Dark Link Chest': (0x261907A, None, 0x0127, 'Chest'),
'Water Temple River Chest': (0x26740DE, None, 0x5843, 'Chest'),
'Shadow Temple Map Chest': (0x27CC0AA, None, 0x1821, 'Chest'),
'Shadow Temple Hover Boots Chest': (0x27DC0CA, None, 0x15E7, 'Chest'),
'Shadow Temple Compass Chest': (0x27EC09E, None, 0x1803, 'Chest'),
'Shadow Temple Early Silver Rupee Chest': (0x27E40F6, None, 0x5842, 'Chest'),
'Shadow Temple Invisible Blades Visible Chest': (0x282212A, None, 0x588C, 'Chest'),
'Shadow Temple Invisible Blades Invisible Chest': (0x282211A, None, 0x6976, 'Chest'),
'Shadow Temple Falling Spikes Lower Chest': (0x2801132, None, 0x5945, 'Chest'),
'Shadow Temple Falling Spikes Upper Chest': (0x2801142, None, 0x5886, 'Chest'),
'Shadow Temple Falling Spikes Switch Chest': (0x2801122, None, 0x8844, 'Chest'),
'Shadow Temple Invisible Spikes Chest': (0x28090EE, None, 0x7889, 'Chest'),
'Shadow Temple Wind Hint Chest': (0x283609A, None, 0x6955, 'Chest'),
'Shadow Temple After Wind Enemy Chest': (0x28390FE, None, 0x7888, 'Chest'),
'Shadow Temple After Wind Hidden Chest': (0x28390EE, None, 0x6854, 'Chest'),
'Shadow Temple Spike Walls Left Chest': (0x28130B6, None, 0x588A, 'Chest'),
'Shadow Temple Boss Key Chest': (0x28130A6, None, 0x27EB, 'Chest'),
'Shadow Temple Hidden Floormaster Chest': (0x282508A, None, 0x784D, 'Chest'),
'Gerudo Training Grounds Lobby Left Chest': (0x28870CA, None, 0x8893, 'Chest'),
'Gerudo Training Grounds Lobby Right Chest': (0x28870BA, None, 0x8947, 'Chest'),
'Gerudo Training Grounds Stalfos Chest': (0x28970AA, None, 0x8840, 'Chest'),
'Gerudo Training Grounds Beamos Chest': (0x28C715E, None, 0x8841, 'Chest'),
'Gerudo Training Grounds Hidden Ceiling Chest': (0x28D010E, None, 0x584B, 'Chest'),
'Gerudo Training Grounds Maze Path First Chest': (0x28D00CE, None, 0x5AA6, 'Chest'),
'Gerudo Training Grounds Maze Path Second Chest': (0x28D00FE, None, 0x59CA, 'Chest'),
'Gerudo Training Grounds Maze Path Third Chest': (0x28D00EE, None, 0x5969, 'Chest'),
'Gerudo Training Grounds Maze Path Final Chest': (0x28D011E, None, 0x0B2C, 'Chest'),
'Gerudo Training Grounds Maze Right Central Chest': (0x28D00BE, None, 0x5D45, 'Chest'),
'Gerudo Training Grounds Maze Right Side Chest': (0x28D00DE, None, 0x5968, 'Chest'),
'Gerudo Training Grounds Underwater Silver Rupee Chest': (0x28D91D6, None, 0x884D, 'Chest'),
'Gerudo Training Grounds Hammer Room Clear Chest': (0x28B91AE, None, 0x7952, 'Chest'),
'Gerudo Training Grounds Hammer Room Switch Chest': (0x28B919E, None, 0x5850, 'Chest'),
'Gerudo Training Grounds Eye Statue Chest': (0x28AE09E, None, 0x8843, 'Chest'),
'Gerudo Training Grounds Near Scarecrow Chest': (0x28D00AE, None, 0x5844, 'Chest'),
'Gerudo Training Grounds Before Heavy Block Chest': (0x28A611E, None, 0x7971, 'Chest'),
'Gerudo Training Grounds Heavy Block First Chest': (0x28DD0BE, None, 0x7ACF, 'Chest'),
'Gerudo Training Grounds Heavy Block Second Chest': (0x28DD0AE, None, 0x788E, 'Chest'),
'Gerudo Training Grounds Heavy Block Third Chest': (0x28DD08E, None, 0x6854, 'Chest'),
'Gerudo Training Grounds Heavy Block Fourth Chest': (0x28DD09E, None, 0x5F82, 'Chest'),
'Spirit Temple Child Left Chest': (0x2B190BA, None, 0x5528, 'Chest'),
'Spirit Temple Child Right Chest': (0x2B13182, None, 0x8840, 'Chest'),
'Spirit Temple Compass Chest': (0x2B6B08A, None, 0x3804, 'Chest'),
'Spirit Temple Early Adult Right Chest': (0x2B6207A, None, 0x5847, 'Chest'),
'Spirit Temple First Mirror Right Chest': (0x2B700C6, None, 0x890D, 'Chest'),
'Spirit Temple First Mirror Left Chest': (0x2B700D6, None, 0x8F8E, 'Chest'),
'Spirit Temple Map Chest': (0x2B25126, None, 0xB823, 'Chest'),
'Spirit Temple Child Climb East Chest': (0x2B1D122, None, 0x8066, 'Chest'),
'Spirit Temple Child Climb North Chest': (0x2B1D132, None, 0x852C, 'Chest'),
'Spirit Temple Sun Block Room Chest': (0x2B481B2, None, 0x8841, 'Chest'),
'Spirit Temple Statue Hand Chest': (0x2B25136, None, 0x8842, 'Chest'),
'Spirit Temple NE Main Room Chest': (0x2B25146, None, 0x888F, 'Chest'),
'Silver Gauntlets Chest': (0x21A02DE, 0x21A06F2, 0x06AB, 'Chest'),
'Mirror Shield Chest': (0x21A02CE, 0x21A06E2, 0x3569, 'Chest'),
'Spirit Temple Near Four Armos Chest': (0x2B9F076, None, 0x5845, 'Chest'),
'Spirit Temple Hallway Left Invisible Chest': (0x2B900B6, None, 0x6914, 'Chest'),
'Spirit Temple Hallway Right Invisible Chest': (0x2B900C6, None, 0x6915, 'Chest'),
'Spirit Temple Boss Key Chest': (0x2BA4162, None, 0x27EA, 'Chest'),
'Spirit Temple Topmost Chest': (0x2BCF0FE, None, 0x8CF2, 'Chest'),
'Ganons Castle Forest Trial Chest': (0x31F106E, None, 0x7889, 'Chest'),
'Ganons Castle Water Trial Left Chest': (0x31D7236, None, 0x5F87, 'Chest'),
'Ganons Castle Water Trial Right Chest': (0x31D7226, None, 0x5906, 'Chest'),
'Ganons Castle Shadow Trial First Chest': (0x32350CA, None, 0x5888, 'Chest'),
'Ganons Castle Shadow Trial Second Chest': (0x32350BA, None, 0x36C5, 'Chest'),
'Ganons Castle Spirit Trial First Chest': (0x3268132, None, 0x8D72, 'Chest'),
'Ganons Castle Spirit Trial Second Chest': (0x3268142, None, 0x6954, 'Chest'),
'Ganons Castle Light Trial First Left Chest': (0x321B11E, None, 0x588C, 'Chest'),
'Ganons Castle Light Trial Second Left Chest': (0x321B10E, None, 0x5F8B, 'Chest'),
'Ganons Castle Light Trial Third Left Chest': (0x321B12E, None, 0x590D, 'Chest'),
'Ganons Castle Light Trial First Right Chest': (0x321B13E, None, 0x5F8E, 'Chest'),
'Ganons Castle Light Trial Second Right Chest': (0x321B0FE, None, 0x596A, 'Chest'),
'Ganons Castle Light Trial Third Right Chest': (0x321B14E, None, 0x5F8F, 'Chest'),
'Ganons Castle Light Trail Invisible Enemies Chest': (0x321B15E, None, 0x7850, 'Chest'),
'Ganons Castle Light Trial Lullaby Chest': (0x321B17E, None, 0x8851, 'Chest'),
'Ganons Tower Boss Key Chest': (0x2F040EE, None, 0x27EB, 'Chest'),
'Impa at Castle': (0x2E8E925, 0x2E8E925, 0x0A, 'Song'),
'Song from Malon': (0xD7EB53, 0xD7EBCF, 0x09, 'Song'),
'Song from Composer Grave': (0x332A871, 0x332A871, 0x0B, 'Song'),
'Song from Saria': (0x20B1DB1, 0x20B1DB1, 0x08, 'Song'),
'Song from Ocarina of Time': (0x252FC89, 0x252FC89, 0x0C, 'Song'),
'Song at Windmill': (0xE42C07, 0xE42B8B, 0x0D, 'Song'),
'Sheik Forest Song': (0x20B0809, 0x20B0809, 0x02, 'Song'),
'Sheik at Temple': (0x2531329, 0x2531329, 0x07, 'Song'),
'Sheik in Crater': (0x224D7F1, 0x224D7F1, 0x03, 'Song'),
'Sheik in Ice Cavern': (0x2BEC889, 0x2BEC889, 0x04, 'Song'),
'Sheik in Kakariko': (0x2000FE1, 0x2000FE1, 0x06, 'Song'),
'Sheik at Colossus': (0x218C57D, 0x218C57D, 0x05, 'Song'),
'Gift from Saria': (None, None, None, 'NPC'),
'Zeldas Letter': (None, None, None, 'NPC'),
'Crater Fairy Reward': (None, None, None, 'Fairy'),
'Mountain Summit Fairy Reward': (None, None, None, 'Fairy'),
'Hyrule Castle Fairy Reward': (0xC8BD09, 0x2D21E7D, None, 'Special'),
'Zoras Fountain Fairy Reward': (0xC8BD08, 0x2D20595, None, 'Special'),
'Desert Colossus Fairy Reward': (0xC8BD0A, 0x2D22375, None, 'Special'),
'Zelda': (0xC8D557, 0x25338A5, None, 'Special'),
'Treasure Chest Game': (0xBEF152, None, None, 'Special'),
'Darunias Joy': (0xCF1BFF, None, 0x54, 'NPC'),
'Diving Minigame': (0xE01A2B, 0xE01AA7, 0x37, 'NPC'),
'Child Fishing': (0xDCBFBF, None, 0x3E, 'NPC'),
'Adult Fishing': (0xDCC087, None, 0x38, 'NPC'),
'Diving in the Lab': (0xE2CB97, None, 0x3E, 'NPC'),
'Link the Goron': (0xED30EB, 0xED64F3, 0x2C, 'NPC'),
'King Zora Thawed': (0xE56AD7, None, 0x2D, 'NPC'),
'Bombchu Bowling Bomb Bag': (0xE2F093, None, 0x33, 'NPC'),
'Bombchu Bowling Piece of Heart': (0xE2F097, None, 0x3E, 'NPC'),
'Dog Lady': (0xE65163, 0xE661BB, 0x3E, 'NPC'),
'Skull Kid': (0xDF0F33, 0xDF0E9B, 0x3E, 'NPC'),
'Ocarina Memory Game': (0xDF264F, None, 0x3E, 'NPC'),
'10 Gold Skulltulla Reward': (0xEA7173, None, 0x45, 'NPC'),
'20 Gold Skulltulla Reward': (0xEA7175, None, 0x39, 'NPC'),
'30 Gold Skulltulla Reward': (0xEA7177, None, 0x46, 'NPC'),
'40 Gold Skulltulla Reward': (0xEA7179, None, 0x03, 'NPC'),
'50 Gold Skulltulla Reward': (0xEA717B, None, 0x3E, 'NPC'),
'Man on Roof': (0xE587E3, None, 0x3E, 'NPC'),
'Frog Ocarina Game': (0xDB13D3, None, 0x3E, 'NPC'),
'Frogs in the Rain': (0xDB1387, None, 0x3E, 'NPC'),
'Horseback Archery 1000 Points': (0xE12B6F, 0xE12AA3, 0x3E, 'NPC'),
'Horseback Archery 1500 Points': (0xE12BC3, 0xE12AFB, 0x30, 'NPC'),
'Child Shooting Gallery': (0xD35EF3, None, 0x60, 'NPC'),
'Adult Shooting Gallery': (0xD35F5B, None, 0x30, 'NPC'),
'Target in Woods': (0xE59CDF, None, 0x60, 'NPC'),
'Deku Theater Skull Mask': (0xEC9A87, None, 0x77, 'NPC'),
'Deku Theater Mask of Truth': (0xEC9CE7, None, 0x79, 'NPC'),
'Deku Salesman Woods': (0xDF8073, None, 0x77, 'NPC'),
'Deku Salesman Lost Woods Grotto': (0xDF80E7, None, 0x79, 'NPC'),
'Deku Salesman Hyrule Field Grotto': (0xDF86AB, None, 0x3E, 'NPC'),
'Anju as Adult': (0xE1EABB, None, 0x1D, 'NPC'),
'Biggoron': (0xED338F, 0xED650F, 0x57, 'NPC'),
'Anjus Chickens': (0xE1E7A7, None, 0x0F, 'NPC'),
'Talons Chickens': (0xCC14EB, None, 0x14, 'NPC'),
'10 Big Poes': (0xEE6AEF, None, 0x0F, 'NPC'),
'Rolling Goron as Child': (0xED296F, 0xED6503, 0x34, 'NPC'),
'Lake Hylia Sun': (0xE9E1F2, None, 0x5B08, 'Chest'),
'Underwater Bottle': (0xDE10FB, None, 0x15, 'NPC'),
'Magic Bean Salesman': (None, None, None, 'Event'),
'King Zora Moves': (None, None, None, 'Event'),
'Ocarina of Time': (None, None, None, 'Event'),
'Master Sword Pedestal': (None, None, None, 'Event'),
'Epona': (None, None, None, 'Event'),
'Gerudo Fortress Carpenter Rescue': (None, None, None, 'Event'),
'Ganons Castle Forest Trial Clear': (None, None, None, 'Event'),
'Ganons Castle Fire Trial Clear': (None, None, None, 'Event'),
'Ganons Castle Water Trial Clear': (None, None, None, 'Event'),
'Ganons Castle Shadow Trial Clear': (None, None, None, 'Event'),
'Ganons Castle Spirit Trial Clear': (None, None, None, 'Event'),
'Ganons Castle Light Trial Clear': (None, None, None, 'Event'),
'Links Pocket': (0x34806FB, 0x34806FF, None, 'Boss'),
'Queen Gohma': (0xCA315F, 0x2079571, 0x6C, 'Boss'),
'King Dodongo': (0xCA30DF, 0x2223309, 0x6D, 'Boss'),
'Barinade': (0xCA36EB, 0x2113C19, 0x6E, 'Boss'),
'Phantom Ganon': (0xCA3D07, 0xD4ED79, 0x66, 'Boss'),
'Volvagia': (0xCA3D93, 0xD10135, 0x67, 'Boss'),
'Morpha': (0xCA3E1F, 0xD5A3A9, 0x68, 'Boss'),
'Twinrova': (0xCA3EB3, 0xD39FF1, 0x69, 'Boss'),
'Bongo Bongo': (0xCA3F43, 0xD13E19, 0x6A, 'Boss'),
'Ganon': (None, None, None, 'Boss'),
'GS1': (None, None, None, 'GS Token'),
'GS2': (None, None, None, 'GS Token'),
'GS3': (None, None, None, 'GS Token'),
'GS4': (None, None, None, 'GS Token'),
'GS5': (None, None, None, 'GS Token'),
'GS6': (None, None, None, 'GS Token'),
'GS7': (None, None, None, 'GS Token'),
'GS8': (None, None, None, 'GS Token'),
'GS9': (None, None, None, 'GS Token'),
'GS10': (None, None, None, 'GS Token'),
'GS11': (None, None, None, 'GS Token'),
'GS12': (None, None, None, 'GS Token'),
'GS13': (None, None, None, 'GS Token'),
'GS14': (None, None, None, 'GS Token'),
'GS15': (None, None, None, 'GS Token'),
'GS16': (None, None, None, 'GS Token'),
'GS17': (None, None, None, 'GS Token'),
'GS18': (None, None, None, 'GS Token'),
'GS19': (None, None, None, 'GS Token'),
'GS20': (None, None, None, 'GS Token'),
'GS21': (None, None, None, 'GS Token'),
'GS22': (None, None, None, 'GS Token'),
'GS23': (None, None, None, 'GS Token'),
'GS24': (None, None, None, 'GS Token'),
'GS25': (None, None, None, 'GS Token'),
'GS26': (None, None, None, 'GS Token'),
'GS27': (None, None, None, 'GS Token'),
'GS28': (None, None, None, 'GS Token'),
'GS29': (None, None, None, 'GS Token'),
'GS30': (None, None, None, 'GS Token'),
'GS31': (None, None, None, 'GS Token'),
'GS32': (None, None, None, 'GS Token'),
'GS33': (None, None, None, 'GS Token'),
'GS34': (None, None, None, 'GS Token'),
'GS35': (None, None, None, 'GS Token'),
'GS36': (None, None, None, 'GS Token'),
'GS37': (None, None, None, 'GS Token'),
'GS38': (None, None, None, 'GS Token'),
'GS39': (None, None, None, 'GS Token'),
'GS40': (None, None, None, 'GS Token'),
'GS41': (None, None, None, 'GS Token'),
'GS42': (None, None, None, 'GS Token'),
'GS43': (None, None, None, 'GS Token'),
'GS44': (None, None, None, 'GS Token'),
'GS45': (None, None, None, 'GS Token'),
'GS46': (None, None, None, 'GS Token'),
'GS47': (None, None, None, 'GS Token'),
'GS48': (None, None, None, 'GS Token'),
'GS49': (None, None, None, 'GS Token'),
'GS50': (None, None, None, 'GS Token'),
'GS51': (None, None, None, 'GS Token'),
'GS52': (None, None, None, 'GS Token'),
'GS53': (None, None, None, 'GS Token'),
'GS54': (None, None, None, 'GS Token'),
'GS55': (None, None, None, 'GS Token'),
'GS56': (None, None, None, 'GS Token'),
'GS57': (None, None, None, 'GS Token'),
'GS58': (None, None, None, 'GS Token'),
'GS59': (None, None, None, 'GS Token'),
'GS60': (None, None, None, 'GS Token'),
'GS61': (None, None, None, 'GS Token'),
'GS62': (None, None, None, 'GS Token'),
'GS63': (None, None, None, 'GS Token'),
'GS64': (None, None, None, 'GS Token'),
'GS65': (None, None, None, 'GS Token'),
'GS66': (None, None, None, 'GS Token'),
'GS67': (None, None, None, 'GS Token'),
'GS68': (None, None, None, 'GS Token'),
'GS69': (None, None, None, 'GS Token'),
'GS70': (None, None, None, 'GS Token'),
'GS71': (None, None, None, 'GS Token'),
'GS72': (None, None, None, 'GS Token'),
'GS73': (None, None, None, 'GS Token'),
'GS74': (None, None, None, 'GS Token'),
'GS75': (None, None, None, 'GS Token'),
'GS76': (None, None, None, 'GS Token'),
'GS77': (None, None, None, 'GS Token'),
'GS78': (None, None, None, 'GS Token'),
'GS79': (None, None, None, 'GS Token'),
'GS80': (None, None, None, 'GS Token'),
'GS81': (None, None, None, 'GS Token'),
'GS82': (None, None, None, 'GS Token'),
'GS83': (None, None, None, 'GS Token'),
'GS84': (None, None, None, 'GS Token'),
'GS85': (None, None, None, 'GS Token'),
'GS86': (None, None, None, 'GS Token'),
'GS87': (None, None, None, 'GS Token'),
'GS88': (None, None, None, 'GS Token'),
'GS89': (None, None, None, 'GS Token'),
'GS90': (None, None, None, 'GS Token'),
'GS91': (None, None, None, 'GS Token'),
'GS92': (None, None, None, 'GS Token'),
'GS93': (None, None, None, 'GS Token'),
'GS94': (None, None, None, 'GS Token'),
'GS95': (None, None, None, 'GS Token'),
'GS96': (None, None, None, 'GS Token'),
'GS97': (None, None, None, 'GS Token'),
'GS98': (None, None, None, 'GS Token'),
'GS99': (None, None, None, 'GS Token'),
'GS100': (None, None, None, 'GS Token')}