diff --git a/SNIClient.py b/SNIClient.py index 1f2ab900..00143c03 100644 --- a/SNIClient.py +++ b/SNIClient.py @@ -504,6 +504,17 @@ location_table_uw = {"Blind's Hideout - Top": (0x11d, 0x10), 'Ganons Tower - Pre-Moldorm Chest': (0x3d, 0x40), 'Ganons Tower - Validation Chest': (0x4d, 0x10)} +boss_locations = {Regions.lookup_name_to_id[name] for name in {'Eastern Palace - Boss', + 'Desert Palace - Boss', + 'Tower of Hera - Boss', + 'Palace of Darkness - Boss', + 'Swamp Palace - Boss', + 'Skull Woods - Boss', + "Thieves' Town - Boss", + 'Ice Palace - Boss', + 'Misery Mire - Boss', + 'Turtle Rock - Boss'}} + location_table_uw_id = {Regions.lookup_name_to_id[name]: data for name, data in location_table_uw.items()} location_table_npc = {'Mushroom': 0x1000, @@ -890,7 +901,8 @@ async def track_locations(ctx: Context, roomid, roomdata): uw_begin = min(uw_begin, roomid) uw_end = max(uw_end, roomid + 1) if location_id in ctx.checked_locations and location_id not in ctx.locations_checked and \ - location_id in ctx.locations_info and ctx.locations_info[location_id].player != ctx.slot: + location_id in ctx.locations_info and ctx.locations_info[location_id].player != ctx.slot and \ + location_id not in boss_locations: uw_begin = min(uw_begin, roomid) uw_end = max(uw_end, roomid + 1) uw_checked[location_id] = (roomid, mask)