From b72a04511b21a19e0d87139537c3e00ce16caebd Mon Sep 17 00:00:00 2001 From: Kara Alexandra Date: Sun, 7 Jun 2026 13:21:08 -0500 Subject: [PATCH] Universal keys don't despawn in shops, and will never get placed in bee shop --- ItemList.py | 2 +- Rom.py | 4 ++-- data/base2current.bps | Bin 158036 -> 158170 bytes 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ItemList.py b/ItemList.py index 0d2ebebf..406c8261 100644 --- a/ItemList.py +++ b/ItemList.py @@ -872,7 +872,7 @@ def set_up_shops(world, player): rss.locked = True cap_shop = world.get_region('Capacity Upgrade', player).shop cap_shop.inventory[1] = None # remove arrow capacity upgrades in retro - for shop in random.sample([s for s in world.shops[player] if not s.locked and s.region.player == player], 5): + for shop in random.sample([s for s in world.shops[player] if not s.locked and s.region.name != "Red Shield Shop" and s.region.player == player], 5): shop.custom = True shop.locked = True if retro_bow: diff --git a/Rom.py b/Rom.py index 363ecb0e..f45267ce 100644 --- a/Rom.py +++ b/Rom.py @@ -85,7 +85,7 @@ from Utils import int16_as_bytes, int32_as_bytes, local_path, snes_to_pc from Versions import DRVersion, GKVersion, ORVersion JAP10HASH = '03a63945398191337e896e5771f77173' -RANDOMIZERBASEHASH = '2d99cd9f4d6919d35dd2f4c1bfee248f' +RANDOMIZERBASEHASH = 'abaa7ce289fd18e0ab898f2ca1263db1' class JsonRom(object): @@ -948,7 +948,7 @@ def patch_rom(world, rom, player, team, is_mystery=False, rom_header=None): rom.write_byte(cr_pc+0x1e, 0xEE) # slash rom.write_byte(cr_pc+0x1f, thousands_bot) # modify stat config - stat_address = 0x23983E + stat_address = 0xA39895 stat_pc = snes_to_pc(stat_address) rom.write_byte(stat_pc, 0xa9) # change to pos 21 (from b1) rom.write_byte(stat_pc+2, 0xc0) # change to 12 bits (from a0) diff --git a/data/base2current.bps b/data/base2current.bps index 3cd8241b155e9fccda713aa14d9c3a07c3eb26df..91fc261a680311b1afce4763769edf73d26ea277 100644 GIT binary patch delta 8999 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 N;M`;XShqx5{s#>{_ul{j