diff --git a/ItemList.py b/ItemList.py index 662b1b61..b528a2a7 100644 --- a/ItemList.py +++ b/ItemList.py @@ -1159,10 +1159,10 @@ def get_pool_core(world, player, progressive, shuffle, difficulty, treasure_hunt thisbottle = random.choice(diff.bottles) pool.append(thisbottle) - if want_progressives(): - pool.extend(diff.progressiveshield) - else: - pool.extend(diff.basicshield) + # if want_progressives(): + # pool.extend(diff.progressiveshield) + # else: + # pool.extend(diff.basicshield) if want_progressives(): pool.extend(diff.progressivearmor) diff --git a/Regions.py b/Regions.py index dc94fdf1..48be1c22 100644 --- a/Regions.py +++ b/Regions.py @@ -1178,7 +1178,7 @@ def create_shops(world, player): if (world.is_tile_swapped(0x35, player) and region_name == 'Dark Lake Hylia Shop') \ or (not world.is_tile_swapped(0x35, player) and region_name == 'Lake Hylia Shop'): locked = True - inventory = [('Blue Potion', 160), ('Blue Shield', 50), ('Bombs (10)', 50)] + inventory = [('Blue Potion', 160), ('Small Heart', 10), ('Bombs (10)', 50)] custom = True region = world.get_region(region_name, player) shop = Shop(region, room_id, type, shopkeeper, custom, locked, sram) @@ -1366,11 +1366,11 @@ bonk_table_by_location = {y: x for x, y in bonk_table_by_location_id.items()} # (room_id, type, shopkeeper, custom, locked, [items]) # item = (item, price, max=0, replacement=None, replacement_price=0) _basic_shop_defaults = [('Red Potion', 150), ('Small Heart', 10), ('Bombs (10)', 50)] -_dark_world_shop_defaults = [('Red Potion', 150), ('Blue Shield', 50), ('Bombs (10)', 50)] +_dark_world_shop_defaults = [('Red Potion', 150), ('Small Heart', 10), ('Bombs (10)', 50)] shop_table = { 'Dark Death Mountain Shop': (0x0112, ShopType.Shop, 0xC1, False, False, _basic_shop_defaults, 0), 'Red Shield Shop': (0x0110, ShopType.Shop, 0xC1, False, False, - [('Red Shield', 500), ('Bee', 10), ('Arrows (10)', 30)], 3), + [('Bombs (10)', 50), ('Bee', 10), ('Arrows (10)', 30)], 3), 'Dark Lake Hylia Shop': (0x010F, ShopType.Shop, 0xC1, False, False, _dark_world_shop_defaults, 6), 'Dark Lumberjack Shop': (0x010F, ShopType.Shop, 0xC1, False, False, _dark_world_shop_defaults, 9), 'Village of Outcasts Shop': (0x010F, ShopType.Shop, 0xC1, False, False, _dark_world_shop_defaults, 12), diff --git a/Rom.py b/Rom.py index 2c09b5eb..ab4513e1 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 = 'a746c6916c3ca8e89df7d7ac79d354dd' +RANDOMIZERBASEHASH = '7ab93fa81cc8599f7025bc2d09a661a0' class JsonRom(object): @@ -2970,9 +2970,9 @@ def text_for_item(item, world, player, team): def init_open_mode_sram(rom): rom.initial_sram.pre_open_castle_gate() - rom.initial_sram.set_progress_indicator(0x02) - rom.initial_sram.set_progress_flags(0x14) - rom.initial_sram.set_starting_entrance(0x01) + rom.initial_sram.set_progress_indicator(0x00) + rom.initial_sram.set_progress_flags(0x04) + rom.initial_sram.set_starting_entrance(0x00) def init_standard_mode_sram(rom): rom.initial_sram.set_progress_indicator(0x00) diff --git a/Text.py b/Text.py index c8cccada..fc32d8da 100644 --- a/Text.py +++ b/Text.py @@ -1567,7 +1567,6 @@ class TextTable(object): 'hylian_text_2', 'desert_entry_translated', 'uncle_dying_sewer', - 'telepathic_intro', 'desert_thief_sitting', 'desert_thief_following', 'desert_thief_question', @@ -1611,7 +1610,7 @@ class TextTable(object): text['zelda_save_sewers'] = CompressedTextMapper.convert("You saved me!") text['priest_info'] = CompressedTextMapper.convert("So, I'm the dude that will protect Zelda. Don't worry, I got this covered.") text['zelda_sanctuary_before_leave'] = CompressedTextMapper.convert("Be careful!") - text['telepathic_intro'] = CompressedTextMapper.convert("{NOBORDER}\n{SPEED6}\nHey, come find me and help me!") + text['telepathic_intro'] = CompressedTextMapper.convert("{NOBORDER}\n{SPEED6}\n\nBring me shields...") # 20 text['telepathic_reminder'] = CompressedTextMapper.convert("{NOBORDER}\n{SPEED6}\nI'm in the castle basement.") text['zelda_go_to_throne'] = CompressedTextMapper.convert("Go north to the throne.") @@ -2058,5 +2057,6 @@ class TextTable(object): text['ganon_phase_3_silvers'] = CompressedTextMapper.convert("Oh no! Silver! My one true weakness!") text['murahdahla'] = CompressedTextMapper.convert("Hello @. I\nam Murahdahla, brother of\nSahasrahla and Aginah. Behold the power of\ninvisibility.\n{PAUSE3}\n… … …\nWait! You can see me? I knew I should have\nhidden in a hollow tree.") text['mastersword_pedestal_goal'] = CompressedTextMapper.convert("To claim thy reward, you must present all 3 Pendants of Virtue.") + text['already_have_shield'] = CompressedTextMapper.convert("You already have a shield...") text['end_pad_data'] = bytearray([0xfb]) text['terminator'] = bytearray([0xFF, 0xFF]) diff --git a/data/base2current.bps b/data/base2current.bps index 81536eaf..c29ed2d2 100644 Binary files a/data/base2current.bps and b/data/base2current.bps differ diff --git a/source/dungeon/EnemyList.py b/source/dungeon/EnemyList.py index f86f5f53..5a0b5e1b 100644 --- a/source/dungeon/EnemyList.py +++ b/source/dungeon/EnemyList.py @@ -1998,7 +1998,7 @@ def init_vanilla_sprites(): create_sprite(0x0103, EnemySprite.Drunkard, 0x00, 0, 0x06, 0x15) create_sprite(0x0103, EnemySprite.AdultNpc, 0x00, 0, 0x0a, 0x1b) create_sprite(0x0103, EnemySprite.Innkeeper, 0x00, 0, 0x17, 0x17) - create_sprite(0x0104, EnemySprite.UnclePriest, 0x00, 0, 0x1a, 0x17) + create_sprite(0x0104, EnemySprite.Pikit, 0x00, 0, 0x1a, 0x18) create_sprite(0x0105, EnemySprite.Wiseman, 0x00, 0, 0x07, 0x18) create_sprite(0x0106, EnemySprite.Shopkeeper, 0x00, 0, 0x08, 0x1b) create_sprite(0x0107, EnemySprite.BonkItem, 0x00, 0, 0x03, 0x15) diff --git a/source/enemizer/SpriteSheets.py b/source/enemizer/SpriteSheets.py index 0cb77433..f2a10e75 100644 --- a/source/enemizer/SpriteSheets.py +++ b/source/enemizer/SpriteSheets.py @@ -456,7 +456,7 @@ vanilla_sheets = [ (0x47, 0x49, 0x2B, 0x2D), (0x46, 0x49, 0x1C, 0x52), (0x00, 0x49, 0x1C, 0x52), (0x5D, 0x49, 0x00, 0x52), (0x46, 0x49, 0x13, 0x52), (0x4B, 0x4D, 0x4A, 0x5A), (0x47, 0x49, 0x1C, 0x52), (0x4B, 0x4D, 0x39, 0x36), (0x1F, 0x2C, 0x2E, 0x52), (0x1F, 0x2C, 0x2E, 0x1D), (0x2F, 0x2C, 0x2E, 0x52), (0x2F, 0x2C, 0x2E, 0x31), - (0x1F, 0x1E, 0x30, 0x52), (0x51, 0x49, 0x13, 0x00), (0x4F, 0x49, 0x13, 0x50), (0x4F, 0x4D, 0x4A, 0x50), + (0x1F, 0x1E, 0x30, 0x52), (0x51, 0x49, 0x13, 0x1B), (0x4F, 0x49, 0x13, 0x50), (0x4F, 0x4D, 0x4A, 0x50), (0x4B, 0x49, 0x4C, 0x2B), (0x1F, 0x20, 0x22, 0x53), (0x55, 0x3D, 0x42, 0x43), (0x1F, 0x1E, 0x23, 0x52), (0x1F, 0x1E, 0x39, 0x3A), (0x1F, 0x1E, 0x3A, 0x3E), (0x1F, 0x1E, 0x3C, 0x3D), (0x40, 0x1E, 0x27, 0x3F),