From 9e6bcf8a9963e75b1b45359e4f282aff50dad9ee Mon Sep 17 00:00:00 2001 From: aerinon Date: Tue, 12 Sep 2023 08:40:24 -0600 Subject: [PATCH] Various enemizer adjustments and fixes Fix for retro location counting Baserom update --- ItemList.py | 4 +- Rom.py | 4 +- data/base2current.bps | Bin 117013 -> 117370 bytes resources/app/cli/args.json | 4 +- source/dungeon/EnemyList.py | 6 +-- source/enemizer/Enemizer.py | 15 ++++-- source/enemizer/SpriteSheets.py | 15 +++--- source/enemizer/TilePattern.py | 83 ++++++++++++++++++-------------- source/enemizer/enemy_deny.yaml | 1 + 9 files changed, 75 insertions(+), 57 deletions(-) diff --git a/ItemList.py b/ItemList.py index 3e98a693..a5c895c2 100644 --- a/ItemList.py +++ b/ItemList.py @@ -509,7 +509,7 @@ def set_up_take_anys(world, player, skip_adjustments=False): else: if world.shopsanity[player] and not skip_adjustments: world.itempool.append(ItemFactory('Rupees (300)', player)) - old_man_take_any.shop.add_inventory(0, 'Rupees (300)', 0, 0, create_location=world.shopsanity[player]) + old_man_take_any.shop.add_inventory(0, 'Rupees (300)', 0, 0, create_location=True) take_any_type = ShopType.Shop if world.shopsanity[player] else ShopType.TakeAny for num in range(4): @@ -524,7 +524,7 @@ def set_up_take_anys(world, player, skip_adjustments=False): take_any.shop = Shop(take_any, room_id, take_any_type, 0xE3, True, not world.shopsanity[player], 33 + num*2) world.shops[player].append(take_any.shop) take_any.shop.add_inventory(0, 'Blue Potion', 0, 0, create_location=world.shopsanity[player]) - take_any.shop.add_inventory(1, 'Boss Heart Container', 0, 0, create_location=world.shopsanity[player]) + take_any.shop.add_inventory(1, 'Boss Heart Container', 0, 0, create_location=True) if world.shopsanity[player] and not skip_adjustments: world.itempool.append(ItemFactory('Blue Potion', player)) world.itempool.append(ItemFactory('Boss Heart Container', player)) diff --git a/Rom.py b/Rom.py index 2ddf48b2..aa2f47c6 100644 --- a/Rom.py +++ b/Rom.py @@ -40,7 +40,7 @@ from source.enemizer.Enemizer import write_enemy_shuffle_settings JAP10HASH = '03a63945398191337e896e5771f77173' -RANDOMIZERBASEHASH = 'cd3a693a5f772e83cdad5dd2b53d5586' +RANDOMIZERBASEHASH = 'f3cc032fa0a1ccf9624d0fb3e9926c3b' class JsonRom(object): @@ -737,7 +737,7 @@ def patch_rom(world, rom, player, team, is_mystery=False): rom.write_byte(cr_pc+0x1e, 0xEE) # slash rom.write_byte(cr_pc+0x1f, thousands_bot) # modify stat config - stat_address = 0x2297B2 # 0x23B969 - old + stat_address = 0x2397B2 # 0x23B969 - old 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 f1aa6074d2f77ffd9aec0f4b359669744bfdff3f..947bf97ac43ddc1123d1bfd993c4416c2f512a47 100644 GIT binary patch delta 19500 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 KlVz5LrT+p;7NFGt delta 19154 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 lcQ=xbuOJro6>9q}@$?M1LfcOUzJ@Je