From 5cc04ed67506674af96d874e3c76c31eafb63269 Mon Sep 17 00:00:00 2001 From: aerinon Date: Wed, 20 Apr 2022 14:00:16 -0600 Subject: [PATCH] Msu resume bug on patcher Check for retro arrows in pots --- Fill.py | 3 +++ ItemList.py | 7 ++++--- RELEASENOTES.md | 4 +++- Rom.py | 2 +- data/base2current.bps | Bin 89991 -> 90002 bytes source/gui/adjust/overview.py | 1 + 6 files changed, 12 insertions(+), 5 deletions(-) diff --git a/Fill.py b/Fill.py index 6171344b..c94fee6e 100644 --- a/Fill.py +++ b/Fill.py @@ -486,6 +486,9 @@ def ensure_good_pots(world, write_skips=False): loc.item.player = loc.player else: loc.item = ItemFactory(invalid_location_replacement[loc.item.name], loc.player) + # do the arrow retro check + if world.retro[loc.item.player] and loc.item.name in {'Arrows (5)', 'Arrows (10)'}: + loc.item = ItemFactory('Rupees (5)', loc.item.player) # don't write out all pots to spoiler if write_skips: if loc.type == LocationType.Pot and loc.item.name in valid_pot_items: diff --git a/ItemList.py b/ItemList.py index e30d5e5c..225441bc 100644 --- a/ItemList.py +++ b/ItemList.py @@ -397,7 +397,6 @@ def generate_itempool(world, player): if world.pottery[player] not in ['none', 'cave']: world.itempool += [ItemFactory('Small Key (Universal)', player)] * 19 - create_dynamic_shop_locations(world, player) if world.pottery[player] not in ['none', 'keys']: @@ -557,7 +556,7 @@ def set_up_shops(world, player): removals = [item for item in world.itempool if item.name == 'Bomb Upgrade (+5)' and item.player == player] for remove in removals: world.itempool.remove(remove) - world.itempool.append(ItemFactory('Rupees (50)', player)) # replace the bomb upgrade + world.itempool.append(ItemFactory('Rupees (50)', player)) # replace the bomb upgrade else: cap_shop = world.get_region('Capacity Upgrade', player).shop cap_shop.inventory[0] = cap_shop.inventory[1] # remove bomb capacity upgrades in bombbag @@ -765,7 +764,9 @@ def add_pot_contents(world, player): for pot in pot_list: if pot.item not in [PotItem.Hole, PotItem.Key, PotItem.Switch]: if valid_pot_location(pot, world.pot_pool[player], world, player): - world.itempool.append(ItemFactory(pot_items[pot.item], player)) + item = ('Rupees (5)' if world.retro[player] and pot_items[pot.item] == 'Arrows (5)' + else pot_items[pot.item]) + world.itempool.append(ItemFactory(item, player)) def get_pool_core(progressive, shuffle, difficulty, treasure_hunt_total, timer, goal, mode, swords, retro, bombbag, door_shuffle, logic): diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 2363942e..876f894f 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -148,7 +148,9 @@ Same as above but both small keys and bigs keys of the dungeon are not allowed o #### Volatile * 1.0.1.13 - * Fix for pottery hera key + * Potential fix for pottery hera key + * Fix for arrows sneaking into item pool with rupee bow + * Fixed msu resume bug on patcher * 1.0.1.12 * Fix for Multiworld forfeits, shops and pot items now included * Reworked GT Trash Fill. Base rate is 0-75% of locations fill with 7 crystals entrance requirements. Triforce hunt is 75%-100% of locations. The 75% number will decrease based on the crystal entrance requirement. Dungeon_only algorithm caps it based on how many items need to be placed in dungeons. Cross dungeon shuffle will now work with the trash fill. diff --git a/Rom.py b/Rom.py index aef26cd5..f9d6fe3d 100644 --- a/Rom.py +++ b/Rom.py @@ -36,7 +36,7 @@ from source.dungeon.RoomList import Room0127 JAP10HASH = '03a63945398191337e896e5771f77173' -RANDOMIZERBASEHASH = 'fee4fef55db46a467e34fe1b65b7dbd4' +RANDOMIZERBASEHASH = 'd143684aa6a8e4560eb3ac912d600525' class JsonRom(object): diff --git a/data/base2current.bps b/data/base2current.bps index 468857045b6e1841436ecf13627537d7ff1fca11..ff88366f6fca21d3890411499756befd84ad933f 100644 GIT binary patch delta 283 zcmV+$0p$LNzXg)N1+Y;81LgA?vs3~53kCqekONHPlT{5gOQCkY3d#TQSHE|%f`Lbx z1c8-5`r3*Ls*?hMff$c3fQ`uk@DPt2fQn^+iOfA6DYKpDe zsQ`~4RDU4ElgSMmH^ITbroIZ$15CleAOgaW3X>dyfdZ3)i%)=+@O;Sv&=#9UfGL0m z-~+I1fC%6Uux8)`kYc|>lN%0fECRxi9e^Fbmc9z`7uvs2!V0RtWb=L>6!d=jKV8BK zmlZpTm9IO1Fz`8>5|gtIK@w1viEn@~a4dm=NKBoDfCiUYvjz{RI2JB=gS|+vN`NrX h1!ze?fB|T0r5l$agTqI+!$$$U7YOP9qe_G>t4Qw5es}-? delta 295 zcmV+?0oeYMzXgZC1+Y;81H|(?vs3~53kLVVkONHGlT{5ge}Q+hf`LYw1c8-4`r3*L zs+0187>^%-jmZJ<5RVLiie-R-cJ_jS`jSPSncxht157Qz(j=;_+Nl7KAXI-KyTOno zj~#%O2?38FRDYIve4gRZ3BRVk3h)d}xWT`sz6#I-Ot`@y`N5D1lL~@?0+WJ^O@Ni~ ze8~dP7MnzX6DfcO-~+I1fC%6Uux8)`kYc|&lO_&qEcwBZ9e^Fbmc9z`7uvr^!V0Rt zWb=L>6!d=jKUBgBmjgSBm9IO1Fz`8>0F%BBK@xP8iEw~0a4dm=NKBoDfCiUGvk?!c tI2IgugS|+vN`NrX1!ze?fB|T0r5l$IgU&~{&PM^f7YN9731tQsatvE=f>;0m diff --git a/source/gui/adjust/overview.py b/source/gui/adjust/overview.py index 7ab7f474..b38b7aba 100644 --- a/source/gui/adjust/overview.py +++ b/source/gui/adjust/overview.py @@ -157,6 +157,7 @@ def adjust_page(top, parent, settings): "quickswap": "quickswap", "nobgm": "disablemusic", "reduce_flashing": "reduce_flashing", + 'msu_resume': 'msu_resume', "shuffle_sfx": "shuffle_sfx", } guiargs = Namespace()