Initial Follower Shuffle Implementation

This commit is contained in:
codemann8
2025-04-30 06:41:43 -05:00
parent 267552bfee
commit fcaaab30a4
29 changed files with 316 additions and 50 deletions

View File

@@ -128,6 +128,25 @@ class InitialSram:
else:
self.set_progress_indicator(0x03)
if startingstate.has('Zelda Herself', player):
self._initial_sram_bytes[0x3CC] = 0x01
elif startingstate.has('Escort Old Man', player):
self._initial_sram_bytes[0x3CC] = 0x04
elif startingstate.has('Maiden Rescued', player):
self._initial_sram_bytes[0x3CC] = 0x06
elif startingstate.has('Get Frog', player):
self._initial_sram_bytes[0x3CC] = 0x07
elif startingstate.has('Sign Vandalized', player):
self._initial_sram_bytes[0x3CC] = 0x09
elif startingstate.has('Pick Up Kiki', player):
self._initial_sram_bytes[0x3CC] = 0x0A
elif startingstate.has('Pick Up Purple Chest', player):
self._initial_sram_bytes[0x3CC] = 0x0C
elif startingstate.has('Pick Up Big Bomb', player):
self._initial_sram_bytes[0x3CC] = 0x0D
if self._initial_sram_bytes[0x3CC] > 0x01 and world.mode[player] == 'standard':
self._initial_sram_bytes[0x3D3] = 0x80
for item in world.precollected_items:
if item.player != player:
continue
@@ -138,7 +157,9 @@ class InitialSram:
'Mirror Shield', 'Red Shield', 'Blue Shield', 'Progressive Shield',
'Red Mail', 'Blue Mail', 'Progressive Armor',
'Magic Upgrade (1/4)', 'Magic Upgrade (1/2)',
'Return Old Man', 'Beat Agahnim 1']:
'Return Old Man', 'Beat Agahnim 1', 'Zelda Herself', 'Escort Old Man',
'Maiden Rescued', 'Get Frog', 'Sign Vandalized', 'Pick Up Kiki',
'Pick Up Purple Chest', 'Pick Up Big Bomb']:
continue
set_table = {'Book of Mudora': (0x34E, 1), 'Hammer': (0x34B, 1), 'Bug Catching Net': (0x34D, 1), 'Hookshot': (0x342, 1), 'Magic Mirror': (0x353, 2),