forked from OoTRandomizer/OoT-Randomizer
-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathScene.py
221 lines (217 loc) · 5.2 KB
/
Scene.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
scene_list: list[str] = [
'Deku Tree',
'Dodongos Cavern',
'Jabu Jabus Belly',
'Forest Temple',
'Fire Temple',
'Water Temple',
'Spirit Temple',
'Shadow Temple',
'Bottom of the Well',
'Ice Cavern',
'Ganons Tower',
'Gerudo Training Ground',
'Thieves Hideout',
'Ganons Castle',
'',
'',
'Market Treasure Chest Game',
'Deku Tree Boss',
'Dodongos Cavern Boss',
'Jabu Jabus Belly Boss',
'Forest Temple Boss',
'Fire Temple Boss',
'Water Temple Boss',
'Spirit Temple Boss',
'Shadow Temple Boss',
'Ganondorf Boss Room',
'',
'Market Entrance (Child Day)',
'Market Entrance (Child Night)',
'Market Entrance (Adult)',
'Back Alley (Child Day)',
'Back Alley (Child Night)',
'Market (Child Day)',
'Market (Child Night)',
'Market (Adult)',
'ToT Entrance (Child Day)',
'ToT Entrance (Child Night)',
'ToT Entrance (Adult)',
'KF Know it All House',
'KF House of Twins',
'KF Midos House',
'KF Sarias House',
'Kak Carpenter Boss House',
'Market Man in Green House',
'Kak Bazaar',
'KF Kokiri Shop',
'GC Shop',
'ZD Shop',
'Kak Potion Shop',
'Market Potion Shop',
'Market Bombchu Shop',
'Market Mask Shop',
'KF Links House',
'Market Dog Lady House',
'LLR Stables',
'Kak Impas House',
'LH Lab',
'GV Carpenter Tent',
'Graveyard Dampes House',
'',
'',
'',
'Grottos',
'Graveyard Heart Piece Grave',
'',
'Graveyard Royal Familys Tomb',
'',
'Temple of Time',
'',
'',
'',
'',
'Windmill and Dampes Grave',
'LH Fishing Hole',
'Castle Courtyard',
'Market Bombchu Bowling',
'LLR Tower',
'Market Guard House',
'',
'',
'',
'Hyrule Field',
'Kakariko Village',
'Graveyard',
'Zoras River',
'Kokiri Forest',
'Sacred Forest Meadow',
'Lake Hylia',
'Zoras Domain',
'Zoras Fountain',
'Gerudo Valley',
'Lost Woods',
'Desert Colossus',
'Gerudo Fortress',
'Haunted Wasteland',
'Hyrule Castle',
'Death Mountain',
'Death Mountain Crater',
'Goron City',
'Lon Lon Ranch',
'',
]
grotto_scenes: dict[str,str] = {
'SFM Wolfos Grotto': 'Sacred Forest Meadow',
'HF Cow Grotto': 'Hyrule Field',
'HF Near Kak Grotto': 'Hyrule Field',
'HF Tektite Grotto': 'Hyrule Field',
'HC Storms Grotto': 'Hyrule Castle',
'Kak ReDead Grotto': 'Kakariko Village'
}
scene_groups: dict[str, list[str]] = {
'Deku Tree': ['Deku Tree', 'Deku Tree Boss'],
'Dodongos Cavern': ['Dodongos Cavern', 'Dodongos Cavern Boss'],
'Jabu Jabus Belly': ['Jabu Jabus Belly', 'Jabu Jabus Belly Boss'],
'Forest Temple': ['Forst Temple', 'Forest Temple Boss'],
'Fire Temple': ['Fire Temple', 'Fire Temple Boss'],
'Water Temple': ['Water Temple', 'Water Temple Boss'],
'Spirit Temple': ['Spirit Temple', 'Spirit Temple Boss'],
'Shadow Temple': ['Shadow Temple', 'Shadow Temple Boss'],
'Ganons Castle': ['Ganons Castle', 'Ganons Tower', 'Ganons Castle Tower'],
'Market Area': [
'Market',
'Market Treasure Chest Game',
'Market Entrance (Child Day)',
'Market Entrance (Child Night)',
'Market Entrance (Adult)',
'Back Alley (Child Day)',
'Back Alley (Child Night)',
'Market (Child Day)',
'Market (Child Night)',
'Market (Adult)',
'ToT Entrance (Child Day)',
'ToT Entrance (Child Night)',
'ToT Entrance (Adult)',
'Market Man in Green House',
'Market Potion Shop',
'Market Bombchu Shop',
'Market Mask Shop',
'Market Dog Lady House',
'Market Guard House',
'Market Bombchu Bowling',
'Temple of Time',
'Castle Courtyard',
'Hyrule Castle',
],
'Forest Area': [
'KF Know it All House',
'KF House of Twins',
'KF Midos House',
'KF Sarias House',
'KF Kokiri Shop',
'KF Links House',
'Kokiri Forest',
'Sacred Forest Meadow',
'Lost Woods',
],
'Gerudo Area': [
'GV Carpenter Tent',
'Gerudo Valley',
'Desert Colossus',
'Gerudo Fortress',
'Haunted Wasteland',
],
'Goron Area': [
'GC Shop',
'Goron City',
'Death Mountain',
'Death Mountain Crater',
],
'Zora Area': [
'ZD Shop',
'Zoras River',
'Zoras Domain',
'Zoras Fountain',
],
'Kakariko Area': [
'Kak Carpenter Boss House',
'Kak Potion Shop',
'Graveyard Dampes House',
'Graveyard Royal Familys Tomb',
'Graveyard Heart Piece Grave',
'Windmill and Dampes Grave',
'Kakariko Village',
'Graveyard',
],
'Lon Lon Ranch': [
'LLR Stables',
'Kak Impas House',
'LLR Tower',
'Lon Lon Ranch',
],
'Lake Hylia': [
'LH Lab',
'Lake Hylia',
'LH Fishing Hole',
]
}
def get_scene_group(scene: str):
#if scene in grotto_scenes:
# scene = grotto_scenes[scene]
for group in scene_groups:
if scene in scene_groups[group]:
return group
if scene in scene_list:
return scene
return None
# Maps boss rooms to their dungeons
boss_room_map: dict[str,str] = {
'Deku Tree Boss': 'Deku Tree',
'Dodongos Cavern Boss': 'Dodongos Cavern',
'Jabu Jabus Belly Boss': 'Jabu Jabus Belly',
'Forest Temple Boss': 'Forest Temple',
'Fire Temple Boss': 'Fire Temple',
'Spirit Temple Boss': 'Spirit Temple',
'Shadow Temple Boss': 'Shadow Temple'
}