Updates to require Enemizer 6.3.0 or later.
This commit is contained in:
parent
9812e2cca5
commit
a855fc4133
14
Rom.py
14
Rom.py
|
@ -151,7 +151,7 @@ def check_enemizer(enemizercli):
|
||||||
version = lib.split("/")[-1]
|
version = lib.split("/")[-1]
|
||||||
version = tuple(int(element) for element in version.split("."))
|
version = tuple(int(element) for element in version.split("."))
|
||||||
logging.debug(f"Found Enemizer version {version}")
|
logging.debug(f"Found Enemizer version {version}")
|
||||||
if version < (6, 2, 0):
|
if version < (6, 3, 0):
|
||||||
raise Exception(
|
raise Exception(
|
||||||
f"Enemizer found at {enemizercli} is outdated ({info}), please update your Enemizer. "
|
f"Enemizer found at {enemizercli} is outdated ({info}), please update your Enemizer. "
|
||||||
f"Such as https://github.com/Ijwu/Enemizer/releases")
|
f"Such as https://github.com/Ijwu/Enemizer/releases")
|
||||||
|
@ -163,7 +163,7 @@ def check_enemizer(enemizercli):
|
||||||
|
|
||||||
|
|
||||||
def apply_random_sprite_on_event(rom: LocalRom, sprite, local_random, allow_random_on_event, sprite_pool):
|
def apply_random_sprite_on_event(rom: LocalRom, sprite, local_random, allow_random_on_event, sprite_pool):
|
||||||
onevent = onhit = 0
|
onevent = 0
|
||||||
sprites = list()
|
sprites = list()
|
||||||
if not allow_random_on_event:
|
if not allow_random_on_event:
|
||||||
allow_random_on_event = not rom.read_byte(0x186381) # Check if explicitly disabled in rom. If so, it stays that way.
|
allow_random_on_event = not rom.read_byte(0x186381) # Check if explicitly disabled in rom. If so, it stays that way.
|
||||||
|
@ -171,9 +171,8 @@ def apply_random_sprite_on_event(rom: LocalRom, sprite, local_random, allow_rand
|
||||||
sprite = sprite.lower()
|
sprite = sprite.lower()
|
||||||
if sprite == 'randomonall':
|
if sprite == 'randomonall':
|
||||||
onevent = 0xFFFF # Support all current and future events that can cause random sprite changes.
|
onevent = 0xFFFF # Support all current and future events that can cause random sprite changes.
|
||||||
onhit = 0x01
|
|
||||||
elif sprite.startswith('randomon'):
|
elif sprite.startswith('randomon'):
|
||||||
onevent = onhit = 0x01 if 'hit' in sprite else 0x00
|
onevent = 0x01 if 'hit' in sprite else 0x00
|
||||||
onevent += 0x02 if 'enter' in sprite else 0x00
|
onevent += 0x02 if 'enter' in sprite else 0x00
|
||||||
onevent += 0x04 if 'exit' in sprite else 0x00
|
onevent += 0x04 if 'exit' in sprite else 0x00
|
||||||
onevent += 0x08 if 'slash' in sprite else 0x00
|
onevent += 0x08 if 'slash' in sprite else 0x00
|
||||||
|
@ -187,8 +186,6 @@ def apply_random_sprite_on_event(rom: LocalRom, sprite, local_random, allow_rand
|
||||||
if allow_random_on_event:
|
if allow_random_on_event:
|
||||||
rom.write_int16(0x18637F, onevent)
|
rom.write_int16(0x18637F, onevent)
|
||||||
rom.write_byte(0x186381, 0x00) # Enable usage of Random On Event.
|
rom.write_byte(0x186381, 0x00) # Enable usage of Random On Event.
|
||||||
if rom.read_byte(0x200000):
|
|
||||||
rom.write_byte(0x200103, onhit)
|
|
||||||
|
|
||||||
_populate_sprite_table()
|
_populate_sprite_table()
|
||||||
if onevent:
|
if onevent:
|
||||||
|
@ -347,10 +344,9 @@ def patch_enemizer(world, player: int, rom: LocalRom, enemizercli):
|
||||||
rom.read_from_file(enemizer_output_path)
|
rom.read_from_file(enemizer_output_path)
|
||||||
os.remove(enemizer_output_path)
|
os.remove(enemizer_output_path)
|
||||||
|
|
||||||
if world.get_dungeon("Thieves Town", player).boss.enemizer_name == "Blind" \
|
if world.get_dungeon("Thieves Town", player).boss.enemizer_name == "Blind":
|
||||||
and rom.read_byte(0xEA081) != 0xEA: # new enemizer required for blind escort mission
|
|
||||||
rom.write_byte(0x04DE81, 6)
|
rom.write_byte(0x04DE81, 6)
|
||||||
rom.write_byte(0x200101, 0) # Do not close boss room door on entry.
|
rom.write_byte(0x1B0101, 0) # Do not close boss room door on entry.
|
||||||
|
|
||||||
for used in (randopatch_path, options_path):
|
for used in (randopatch_path, options_path):
|
||||||
try:
|
try:
|
||||||
|
|
Loading…
Reference in New Issue