From 503be6aa91a82535166635c67a8c5f16057c8286 Mon Sep 17 00:00:00 2001 From: aerinon Date: Fri, 19 May 2023 08:53:01 -0600 Subject: [PATCH] Enemizer refinement --- BaseClasses.py | 6 +- EntranceShuffle.py | 10 +- PotShuffle.py | 2 +- Regions.py | 11 +- Rom.py | 6 +- Rules.py | 5 +- Utils.py | 19 ++ data/base2current.bps | Bin 93202 -> 99517 bytes source/classes/CustomSettings.py | 5 + source/dungeon/EnemyList.py | 250 ++++++++-------- source/enemizer/DamageTables.py | 6 +- source/enemizer/Enemizer.py | 124 +++++--- source/enemizer/EnemizerTestHarness.py | 138 +++++++-- source/enemizer/EnemyLogic.py | 50 +++- source/enemizer/OwEnemyList.py | 52 ++-- source/enemizer/SpriteSheets.py | 185 ++++++++---- source/enemizer/damage_table.yaml | 2 +- source/enemizer/enemy_deny.yaml | 390 ++++++++++++++++++++++++ source/enemizer/enemy_weight.yaml | 396 ++++++++++++------------- source/enemizer/sheet_weight.yaml | 168 +++++++++++ source/enemizer/uw_enemy_deny.yaml | 354 ---------------------- source/overworld/EntranceShuffle2.py | 10 +- source/rom/DataTables.py | 22 +- 23 files changed, 1365 insertions(+), 846 deletions(-) create mode 100644 source/enemizer/enemy_deny.yaml create mode 100644 source/enemizer/sheet_weight.yaml delete mode 100644 source/enemizer/uw_enemy_deny.yaml diff --git a/BaseClasses.py b/BaseClasses.py index f07e76e5..78630427 100644 --- a/BaseClasses.py +++ b/BaseClasses.py @@ -2191,7 +2191,8 @@ class Boss(object): return self.defeat_rule(state, self.player) class Location(object): - def __init__(self, player, name='', address=None, crystal=False, hint_text=None, parent=None, forced_item=None, player_address=None): + def __init__(self, player, name='', address=None, crystal=False, hint_text=None, parent=None, forced_item=None, + player_address=None, note=None): self.name = name self.parent_region = parent if forced_item is not None: @@ -2222,6 +2223,7 @@ class Location(object): self.type = LocationType.Normal if not crystal else LocationType.Prize self.pot = None self.drop = None + self.note = note def can_fill(self, state, item, check_access=True): if not self.valid_multiworld(state, item): @@ -2252,6 +2254,8 @@ class Location(object): name += f' @ {self.parent_region.dungeon.name}' if world and world.players > 1: name += f' ({world.get_player_names(self.player)})' + if self.note: + name += f' ({self.note})' return name def __str__(self): diff --git a/EntranceShuffle.py b/EntranceShuffle.py index 2e5162e4..d8d0367e 100644 --- a/EntranceShuffle.py +++ b/EntranceShuffle.py @@ -2071,7 +2071,9 @@ mandatory_connections = [('Links House S&Q', 'Links House'), ('Lumberjack Tree (top to bottom)', 'Lumberjack Tree (bottom)'), ('Death Mountain Return Cave E', 'Death Mountain Return Cave (right)'), ('Death Mountain Return Cave W', 'Death Mountain Return Cave (left)'), - ('Old Man Cave Dropdown', 'Old Man Cave'), + ('Old Man Cave Dropdown', 'Old Man Cave (West)'), + ('Old Man Cave W', 'Old Man Cave (West)'), + ('Old Man Cave E', 'Old Man Cave (East)'), ('Spectacle Rock Cave Drop', 'Spectacle Rock Cave (Bottom)'), ('Spectacle Rock Cave Peak Drop', 'Spectacle Rock Cave (Bottom)'), ('Old Man House Front to Back', 'Old Man House Back'), @@ -2434,7 +2436,7 @@ open_default_connections = [('Links House', 'Links House'), ('Links House Exit', 'Light World'), ('Big Bomb Shop', 'Big Bomb Shop'), ('Old Man Cave (West)', 'Old Man Cave Ledge'), - ('Old Man Cave (East)', 'Old Man Cave'), + ('Old Man Cave (East)', 'Old Man Cave (East)'), ('Old Man Cave Exit (West)', 'Light World'), ('Old Man Cave Exit (East)', 'West Death Mountain (Bottom)'), ('Death Mountain Return Cave (West)', 'Death Mountain Return Cave (left)'), @@ -2463,7 +2465,7 @@ inverted_default_connections = [('Links House', 'Big Bomb Shop'), ('Bumper Cave (Top)', 'Dark Death Mountain Healer Fairy'), ('Bumper Cave Exit (Top)', 'Death Mountain Return Ledge'), ('Bumper Cave Exit (Bottom)', 'Light World'), - ('Dark Death Mountain Fairy', 'Old Man Cave'), + ('Dark Death Mountain Fairy', 'Old Man Cave (East)'), ('Inverted Pyramid Hole', 'Pyramid'), ('Inverted Pyramid Entrance', 'Bottom of Pyramid'), ('Pyramid Exit', 'Hyrule Castle Courtyard') @@ -2541,7 +2543,7 @@ indirect_connections = { 'West Dark World': 'Pyramid Fairy', 'South Dark World': 'Pyramid Fairy', 'Light World': 'Pyramid Fairy', - 'Old Man Cave': 'Old Man S&Q' + 'Old Man Cave (East)': 'Old Man S&Q' } # format: # Key=Name diff --git a/PotShuffle.py b/PotShuffle.py index ea98ffff..e76dcc76 100644 --- a/PotShuffle.py +++ b/PotShuffle.py @@ -750,7 +750,7 @@ vanilla_pots = { Pot(88, 14, PotItem.SmallMagic, 'Bumper Cave (bottom)', obj=RoomObject(0x0AADED, [0xB3, 0x73, 0xFA])), Pot(92, 14, PotItem.Heart, 'Bumper Cave (bottom)', obj=RoomObject(0x0AADF0, [0xBB, 0x73, 0xFA])), Pot(96, 14, PotItem.SmallMagic, 'Bumper Cave (bottom)', obj=RoomObject(0x0AADF3, [0xC3, 0x73, 0xFA]))], - 0xF1: [Pot(64, 5, PotItem.Heart, 'Old Man Cave', obj=RoomObject(0x0AA6B2, [0x83, 0x2B, 0xFA]))], + 0xF1: [Pot(64, 5, PotItem.Heart, 'Old Man Cave (East)', obj=RoomObject(0x0AA6B2, [0x83, 0x2B, 0xFA]))], 0xF3: [Pot(0x28, 0x14, PotItem.Nothing, 'Elder House', obj=RoomObject(0x0AA76F, [0x53, 0xA3, 0xFA])), Pot(0x2C, 0x14, PotItem.Nothing, 'Elder House', obj=RoomObject(0x0AA772, [0x5B, 0xA3, 0xFA])), Pot(0x30, 0x14, PotItem.Nothing, 'Elder House', obj=RoomObject(0x0AA775, [0x63, 0xA3, 0xFA]))], diff --git a/Regions.py b/Regions.py index 5c077b6a..d804d7a8 100644 --- a/Regions.py +++ b/Regions.py @@ -3,7 +3,7 @@ from Items import ItemFactory from BaseClasses import Region, Location, Entrance, RegionType, Shop, ShopType, LocationType, PotItem, PotFlags from PotShuffle import key_drop_data, vanilla_pots, choose_pots, PotSecretTable -from source.dungeon.EnemyList import setup_enemy_locations +from source.dungeon.EnemyList import setup_enemy_locations, enemy_names def create_regions(world, player): @@ -119,7 +119,8 @@ def create_regions(world, player): create_cave_region(player, 'Lumberjack Tree (top)', 'a drop\'s exit', ['Lumberjack Tree'], ['Lumberjack Tree (top to bottom)']), create_cave_region(player, 'Lumberjack Tree (bottom)', 'a drop\'s exit', None, ['Lumberjack Tree Exit']), create_cave_region(player, 'Lumberjack House', 'a boring house'), - create_cave_region(player, 'Old Man Cave', 'a connector', ['Old Man'], ['Old Man Cave Exit (East)']), + create_cave_region(player, 'Old Man Cave (West)', 'a connector', ['Old Man'], ['Old Man Cave E']), + create_cave_region(player, 'Old Man Cave (East)', 'a connector', None, ['Old Man Cave Exit (East)', 'Old Man Cave W']), create_cave_region(player, 'Old Man Cave Ledge', 'a connector', None, ['Old Man Cave Exit (West)', 'Old Man Cave Dropdown']), create_cave_region(player, 'Old Man House', 'a connector', None, ['Old Man House Exit (Bottom)', 'Old Man House Front to Back']), create_cave_region(player, 'Old Man House Back', 'a connector', None, ['Old Man House Exit (Top)', 'Old Man House Back to Front']), @@ -1032,7 +1033,10 @@ def adjust_locations(world, player): loc.type = LocationType.Drop snes_address, room, sprite_idx = datum[1] loc.address = snes_address - world.data_tables[player].uw_enemy_table.room_map[room][sprite_idx].location = loc + sprite = world.data_tables[player].uw_enemy_table.room_map[room][sprite_idx] + sprite.location = loc + if world.enemy_shuffle[player] != 'none': + loc.note = enemy_names[sprite.kind] else: loc.type = LocationType.Pot pot, pot_index = next((p, i) for i, p in enumerate(vanilla_pots[datum[1]]) if p.item == PotItem.Key) @@ -1046,7 +1050,6 @@ def adjust_locations(world, player): else: key_item = loc.item key_item.location = None - loc.forced_item = None loc.item = None loc.event = False diff --git a/Rom.py b/Rom.py index aa780c5f..f3fdfa59 100644 --- a/Rom.py +++ b/Rom.py @@ -34,12 +34,13 @@ from InitialSram import InitialSram from source.classes.SFX import randomize_sfx from source.item.FillUtil import valid_pot_items from source.dungeon.EnemyList import EnemySprite +from source.dungeon.RoomObject import DoorObject from source.enemizer.Bossmizer import boss_writes from source.enemizer.Enemizer import write_enemy_shuffle_settings JAP10HASH = '03a63945398191337e896e5771f77173' -RANDOMIZERBASEHASH = 'e1bf0b1e7ff799fcb6c7c16be9dab7f0' +RANDOMIZERBASEHASH = '79a57594c59b3fa2e9cf344fc7437bf9' class JsonRom(object): @@ -1399,7 +1400,8 @@ def patch_rom(world, rom, player, team, is_mystery=False): for room in world.rooms: if room.player == player and room.modified: if room.index in world.data_tables[player].room_list: - world.data_tables[player].room_list[room.index].doors = room.doorList + t = [DoorObject(x[0], x[1]) for x in room.doorList] + world.data_tables[player].room_list[room.index].doors = t else: rom.write_bytes(room.address(), room.rom_data()) diff --git a/Rules.py b/Rules.py index 153b167a..c9eb67e0 100644 --- a/Rules.py +++ b/Rules.py @@ -868,6 +868,8 @@ def drop_rules(world, player): if enemy.location.parent_region.name in special_rules_check: rule = special_rules_for_region(world, player, enemy.location.parent_region.name, enemy.location, rule) + if rule.rule_lambda is None: + raise Exception(f'Bad rule for enemy drop. Need to inspect this case: {hex(enemy.kind)}') add_rule_new(enemy.location, rule) @@ -1101,7 +1103,8 @@ def add_conditional_lamps(world, player): 'Sewers Water': {'sewer': True, 'entrances': ['Sewers Water S', 'Sewers Water W'], 'locations': []}, 'Sewers Dark Aquabats': {'sewer': True, 'entrances': ['Sewers Dark Aquabats N', 'Sewers Dark Aquabats ES'], 'locations': []}, 'Sewers Key Rat': {'sewer': True, 'entrances': ['Sewers Key Rat S', 'Sewers Key Rat NE'], 'locations': ['Hyrule Castle - Key Rat Key Drop']}, - 'Old Man Cave': {'sewer': False, 'entrances': ['Old Man Cave Exit (East)']}, + 'Old Man Cave (East)': {'sewer': False, 'entrances': ['Old Man Cave Exit (East)', 'Old Man Cave W']}, + 'Old Man Cave (West)': {'sewer': False, 'entrances': ['Old Man Cave E']}, 'Old Man House Back': {'sewer': False, 'entrances': ['Old Man House Back to Front', 'Old Man House Exit (Top)']}, 'Death Mountain Return Cave (left)': {'sewer': False, 'entrances': ['Death Mountain Return Cave E', 'Death Mountain Return Cave Exit (West)']}, 'Death Mountain Return Cave (right)': {'sewer': False, 'entrances': ['Death Mountain Return Cave Exit (East)', 'Death Mountain Return Cave W']}, diff --git a/Utils.py b/Utils.py index d26a83e8..c32adbd8 100644 --- a/Utils.py +++ b/Utils.py @@ -724,6 +724,25 @@ def load_yaml(path_list): return yaml.load(urllib.request.urlopen(path), Loader=yaml.FullLoader) +yaml_cache = {} + + +def load_cached_yaml(path_list): + path = os.path.join(*path_list) + if path in yaml_cache: + return yaml_cache[path] + else: + if os.path.exists(Path(path)): + with open(path, "r", encoding="utf-8") as f: + data = yaml.load(f, Loader=yaml.SafeLoader) + yaml_cache[path] = data + return data + elif urllib.parse.urlparse(path).scheme in ['http', 'https']: + data = yaml.load(urllib.request.urlopen(path), Loader=yaml.FullLoader) + yaml_cache[path] = data + return data + + if __name__ == '__main__': # make_new_base2current() # read_entrance_data(old_rom=sys.argv[1]) diff --git a/data/base2current.bps b/data/base2current.bps index 6eefc4cf7ea21bcaa018847699ef29eeda8fab7e..55b2a98f5ba9ff7ba8b1b1b8b03e1f6b46aefc6c 100644 GIT binary patch delta 29106 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 QSw34i|Cm1Mc-ja5571iyX#fBK delta 22430 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