From 0d50f90c5535e445f35afd17767850cf0074e127 Mon Sep 17 00:00:00 2001 From: Kara Alexandra Date: Sat, 1 Mar 2025 23:53:02 -0600 Subject: [PATCH] Double speed mimic mode --- source/enemizer/Enemizer.py | 2 +- source/enemizer/SpecialEnemyModes.py | 23 ++++++++++++++++++----- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/source/enemizer/Enemizer.py b/source/enemizer/Enemizer.py index 32af161e..c4d70a24 100644 --- a/source/enemizer/Enemizer.py +++ b/source/enemizer/Enemizer.py @@ -522,7 +522,7 @@ def write_enemy_shuffle_settings(world, player, rom): # rom.write_byte(snes_to_pc(0x0DB237), 4) # health value - randomize it if killable, maybe if world.enemy_shuffle[player] == 'mimics': - write_mimic_changes(rom) + write_mimic_changes(rom, True) else: # mimic room barriers data_tables = world.data_tables[player] diff --git a/source/enemizer/SpecialEnemyModes.py b/source/enemizer/SpecialEnemyModes.py index 1e075464..6779f7a4 100644 --- a/source/enemizer/SpecialEnemyModes.py +++ b/source/enemizer/SpecialEnemyModes.py @@ -50,9 +50,22 @@ def get_enemy_map_uw(mode, data_tables): reqs = data_tables.sprite_requirements return get_enemy_map(mode, reqs, data_tables.uw_enemy_table.room_map) -def write_mimic_changes(rom): - rom.write_bytes(snes_to_pc(0x1EC71B), - [0x00, 0xF0, 0x10, 0x00, 0x00, 0xF3, 0x0D, 0x00, - 0x00, 0xF3, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00]) - rom.write_bytes(snes_to_pc(0x1EC75C), [0x01, 0x00]) +def write_mimic_changes(rom, double = False): + if double: + rom.write_bytes(snes_to_pc(0x1EC71B), + [0x00, 0xE0, 0x20, 0x00, 0x00, 0xE6, 0x1A, 0x00, + 0x00, 0xE6, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xD0, 0x30, 0x00, 0x00, 0xE0, 0x20, 0x00, + 0x00, 0xE0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + + 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF6, 0xF6, 0x00, + 0x20, 0x1A, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0xE0, 0xE0, + 0x30, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00]) + else: + rom.write_bytes(snes_to_pc(0x1EC71B), + [0x00, 0xF0, 0x10, 0x00, 0x00, 0xF3, 0x0D, 0x00, + 0x00, 0xF3, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00]) + rom.write_bytes(snes_to_pc(0x1EC75C), [0x01, 0x00]) + # rom.write_byte(snes_to_pc(0x0DB3DD), 0x0D) # make red mimics use green palette