diff --git a/LttPAdjuster.py b/LttPAdjuster.py index 01f5fec9..c8a998b0 100644 --- a/LttPAdjuster.py +++ b/LttPAdjuster.py @@ -18,7 +18,7 @@ class AdjusterWorld(object): def __init__(self, sprite_pool): import random self.sprite_pool = {1: sprite_pool} - self.rom_seeds = {1: random} + self.slot_seeds = {1: random} class ArgumentDefaultsHelpFormatter(argparse.RawTextHelpFormatter): diff --git a/Main.py b/Main.py index 15f98cd7..9b957f2f 100644 --- a/Main.py +++ b/Main.py @@ -130,8 +130,8 @@ def main(args, seed=None): setattr(world, option, getattr(args, option, {})) world.glitch_triforce = args.glitch_triforce # This is enabled/disabled globally, no per player option. - world.rom_seeds = {player: random.Random(world.random.randint(0, 999999999)) for player in - range(1, world.players + 1)} + world.slot_seeds = {player: random.Random(world.random.randint(0, 999999999)) for player in + range(1, world.players + 1)} for player in range(1, world.players + 1): world.er_seeds[player] = str(world.random.randint(0, 2 ** 64)) diff --git a/worlds/alttp/Rom.py b/worlds/alttp/Rom.py index dcc906cd..3f02c2ea 100644 --- a/worlds/alttp/Rom.py +++ b/worlds/alttp/Rom.py @@ -80,7 +80,7 @@ class LocalRom(object): self.write_bytes(startaddress + i, bytearray(data)) def encrypt(self, world, player): - local_random = world.rom_seeds[player] + local_random = world.slot_seeds[player] key = bytes(local_random.getrandbits(8 * 16).to_bytes(16, 'big')) self.write_bytes(0x1800B0, bytearray(key)) self.write_int16(0x180087, 1) @@ -384,7 +384,7 @@ def patch_enemizer(world, team: int, player: int, rom: LocalRom, enemizercli): max_enemizer_tries = 5 for i in range(max_enemizer_tries): - enemizer_seed = str(world.rom_seeds[player].randint(0, 999999999)) + enemizer_seed = str(world.slot_seeds[player].randint(0, 999999999)) enemizer_command = [os.path.abspath(enemizercli), '--rom', randopatch_path, '--seed', enemizer_seed, @@ -414,7 +414,7 @@ def patch_enemizer(world, team: int, player: int, rom: LocalRom, enemizercli): continue for j in range(i + 1, max_enemizer_tries): - world.rom_seeds[player].randint(0, 999999999) + world.slot_seeds[player].randint(0, 999999999) # Sacrifice all remaining random numbers that would have been used for unused enemizer tries. # This allows for future enemizer bug fixes to NOT affect the rest of the seed's randomness break @@ -760,7 +760,7 @@ def get_nonnative_item_sprite(game): return game_to_id.get(game, 0x6B) # default to Power Star def patch_rom(world, rom, player, team, enemized): - local_random = world.rom_seeds[player] + local_random = world.slot_seeds[player] # progressive bow silver arrow hint hack prog_bow_locs = world.find_items('Progressive Bow', player) @@ -1643,7 +1643,7 @@ def patch_rom(world, rom, player, team, enemized): rom.write_byte(0xFEE41, 0x2A) # preopen bombable exit if world.tile_shuffle[player]: - tile_set = TileSet.get_random_tile_set(world.rom_seeds[player]) + tile_set = TileSet.get_random_tile_set(world.slot_seeds[player]) rom.write_byte(0x4BA21, tile_set.get_speed()) rom.write_byte(0x4BA1D, tile_set.get_len()) rom.write_bytes(0x4BA2A, tile_set.get_bytes()) @@ -1774,7 +1774,7 @@ def hud_format_text(text): def apply_rom_settings(rom, beep, color, quickswap, fastmenu, disable_music, sprite: str, palettes_options, world=None, player=1, allow_random_on_event=False, reduceflashing=False, triforcehud: str = None): - local_random = random if not world else world.rom_seeds[player] + local_random = random if not world else world.slot_seeds[player] # enable instant item menu if fastmenu == 'instant': @@ -2091,7 +2091,7 @@ def write_string_to_rom(rom, target, string): def write_strings(rom, world, player, team): - local_random = world.rom_seeds[player] + local_random = world.slot_seeds[player] tt = TextTable() tt.removeUnwantedText() diff --git a/worlds/factorio/Mod.py b/worlds/factorio/Mod.py index 25b75510..b438cb9c 100644 --- a/worlds/factorio/Mod.py +++ b/worlds/factorio/Mod.py @@ -74,7 +74,7 @@ def generate_mod(world: MultiWorld, player: int): "rocket_recipe": rocket_recipes[world.max_science_pack[player].value], "slot_name": world.player_names[player][0], "seed_name": world.seed_name, "starting_items": world.starting_items[player], "recipes": recipes, - "random": world.random, + "random": world.slot_seeds[player], "recipe_time_scale": recipe_time_scales[world.recipe_time[player].value]} for factorio_option in Options.factorio_options: diff --git a/worlds/minecraft/__init__.py b/worlds/minecraft/__init__.py index a170daae..f81c2bcf 100644 --- a/worlds/minecraft/__init__.py +++ b/worlds/minecraft/__init__.py @@ -20,7 +20,7 @@ def get_mc_data(world: MultiWorld, player: int): exits = ["Overworld Structure 1", "Overworld Structure 2", "Nether Structure 1", "Nether Structure 2", "The End Structure"] return { - 'world_seed': Random(world.rom_seeds[player]).getrandbits(32), + 'world_seed': world.slot_seeds[player].getrandbits(32), # consistent and doesn't interfere with other generation 'seed_name': world.seed_name, 'player_name': world.get_player_names(player),