LADX: Pass in seed_name and auth separately (#1575)

This commit is contained in:
zig-for
2023-03-23 13:23:58 -07:00
committed by GitHub
parent 5bb6ff0ce0
commit e1f46d623c
3 changed files with 17 additions and 23 deletions

View File

@@ -216,6 +216,8 @@ class LinksAwakeningWorld(World):
self.multiworld.itempool.append(item)
def pre_fill(self):
self.multi_key = self.generate_multi_key()
dungeon_locations = []
dungeon_locations_by_dungeon = [[], [], [], [], [], [], [], [], []]
all_state = self.multiworld.get_all_state(use_cache=False)
@@ -393,11 +395,13 @@ class LinksAwakeningWorld(World):
name_for_rom = self.multiworld.player_name[self.player]
all_names = [self.multiworld.player_name[i + 1] for i in range(len(self.multiworld.player_name))]
rom = generator.generateRom(
args,
self.laxdr_options,
self.player_options,
bytes.fromhex(self.multiworld.seed_name[-20:]),
self.multi_key,
self.multiworld.seed_name,
self.ladxr_logic,
rnd=self.multiworld.per_slot_randoms[self.player],
player_name=name_for_rom,
@@ -414,8 +418,7 @@ class LinksAwakeningWorld(World):
os.unlink(rompath)
def generate_multi_key(self):
return bytes.fromhex(self.multiworld.seed_name[-20:]) + self.player.to_bytes(2, 'big')
return bytearray(self.multiworld.random.getrandbits(8) for _ in range(10)) + self.player.to_bytes(2, 'big')
def modify_multidata(self, multidata: dict):
multi_key = binascii.hexlify(self.generate_multi_key()).decode()
multidata["connect_names"][multi_key] = multidata["connect_names"][self.multiworld.player_name[self.player]]
multidata["connect_names"][binascii.hexlify(self.multi_key).decode()] = multidata["connect_names"][self.multiworld.player_name[self.player]]