Initial Prize Shuffle Implementation

commit c89c5d3798e2a777011e90d565d74af792330d9f
commit 4159f2e7097fca648828a60d8f6878211d0ded9e
commit a80e3a4301d69146ccfffe0f2f375adac381e165
commit d8ac588cb904152831f514d8276be4e39a43dcd0
commit 68eb75e3391631355b4f56f1dcb7e9dadadf1fdf
commit ba241b47964eadfb40ad323f87b1117598dd91a6
commit aed2821c7165822f5fd5cc1ff3f58f2af095d915
commit bd1c5d8d35ae3cae5f27f236346fff057b7b8cd7
commit f034e31cc585a1648657fc2c4850ebc0c1d8bf78

Author: codemann8 <codemann8@gmail.com>
This commit is contained in:
codemann8
2024-05-23 18:39:02 -05:00
parent 8b295a74ad
commit 103e098a2e
25 changed files with 573 additions and 331 deletions

View File

@@ -340,6 +340,16 @@ location_table_uw = {"Blind's Hideout - Top": (0x11d, 0x10),
'Ganons Tower - Mini Helmasaur Key Drop': (0x3d, 0x400),
'Ganons Tower - Pre-Moldorm Chest': (0x3d, 0x40),
'Ganons Tower - Validation Chest': (0x4d, 0x10)}
location_table_boss = {'Eastern Palace - Prize': 0x2000,
'Desert Palace - Prize': 0x1000,
'Tower of Hera - Prize': 0x0020,
'Palace of Darkness - Prize': 0x0200,
'Thieves Town - Prize': 0x0010,
'Skull Woods - Prize': 0x0080,
'Swamp Palace - Prize': 0x0400,
'Ice Palace - Prize': 0x0040,
'Misery Mire - Prize': 0x0100,
'Turtle Rock - Prize': 0x0008}
location_table_npc = {'Mushroom': 0x1000,
'King Zora': 0x2,
'Sahasrahla': 0x10,
@@ -949,6 +959,14 @@ async def track_locations(ctx : Context, roomid, roomdata):
if roomdata & mask != 0:
new_check(location)
if not all([location in ctx.locations_checked for location in location_table_boss.keys()]):
boss_data = await snes_read(ctx, SAVEDATA_START + 0x472, 2)
if boss_data is not None:
boss_value = boss_data[0] | (boss_data[1] << 8)
for location, mask in location_table_boss.items():
if boss_value & mask != 0 and location not in ctx.locations_checked:
new_check(location)
ow_begin = 0x82
ow_end = 0
ow_unchecked = {}