Update baserom, set item loot levels for crystals, pendants, and bomb bag
This commit is contained in:
2
CLI.py
2
CLI.py
@@ -106,7 +106,7 @@ def parse_cli(argv, no_defaults=False):
|
||||
ret = parser.parse_args(argv)
|
||||
|
||||
if ret.keysanity:
|
||||
ret.mapshuffle, ret.compassshuffle, ret.keyshuffle, ret.bigkeyshuffle = 'wild' * 4
|
||||
ret.mapshuffle, ret.compassshuffle, ret.keyshuffle, ret.bigkeyshuffle = ['wild'] * 4
|
||||
|
||||
if ret.keydropshuffle:
|
||||
ret.dropshuffle = 'keys' if ret.dropshuffle == 'none' else ret.dropshuffle
|
||||
|
||||
@@ -1107,7 +1107,7 @@ def get_pool_core(world, player, progressive, shuffle, difficulty, treasure_hunt
|
||||
precollected_items.append('Pegasus Boots')
|
||||
pool.remove('Pegasus Boots')
|
||||
pool.extend(['Rupees (20)'])
|
||||
|
||||
|
||||
if want_progressives():
|
||||
pool.extend(progressivegloves)
|
||||
else:
|
||||
@@ -1124,6 +1124,11 @@ def get_pool_core(world, player, progressive, shuffle, difficulty, treasure_hunt
|
||||
diff = difficulties[difficulty]
|
||||
pool.extend(diff.baseitems)
|
||||
|
||||
if world.compassshuffle[player] == 'wild':
|
||||
pool.extend(['Compass (Escape)'])
|
||||
if world.keyshuffle[player] == 'wild':
|
||||
pool.extend(['Compass (Agahnims Tower)'])
|
||||
|
||||
if bombbag:
|
||||
pool = [item.replace('Bomb Upgrade (+5)','Rupees (5)') for item in pool]
|
||||
pool = [item.replace('Bomb Upgrade (+10)','Rupees (5)') for item in pool]
|
||||
|
||||
23
Rom.py
23
Rom.py
@@ -44,7 +44,7 @@ from source.enemizer.Enemizer import write_enemy_shuffle_settings
|
||||
|
||||
|
||||
JAP10HASH = '03a63945398191337e896e5771f77173'
|
||||
RANDOMIZERBASEHASH = '8e29777cf6d1ff6fceb72bbf7aacb62c'
|
||||
RANDOMIZERBASEHASH = '3e385a852b789c31079aa6a14ff2498d'
|
||||
|
||||
|
||||
class JsonRom(object):
|
||||
@@ -1447,9 +1447,28 @@ def patch_rom(world, rom, player, team, is_mystery=False, rom_header=None):
|
||||
loot_show |= 0x02
|
||||
if world.dropshuffle[player] != 'none':
|
||||
loot_show |= 0x04
|
||||
|
||||
rom.write_byte(0x1CFF10, loot_show)
|
||||
|
||||
loot_icons = 0x1CF900
|
||||
if world.bombbag[player]:
|
||||
rom.write_byte(loot_icons + 0x52, 0x0B) # bomb bag is major
|
||||
|
||||
crystal_ids = [0x20, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6]
|
||||
if world.goal[player] in ['ganon', 'dungeons', 'crystals', 'trinity']:
|
||||
crystal_category = 0x0D
|
||||
else:
|
||||
crystal_category = 0x06
|
||||
for crystal_id in crystal_ids:
|
||||
rom.write_byte(loot_icons + crystal_id, crystal_category)
|
||||
|
||||
pendant_ids = [0x37, 0x38, 0x39]
|
||||
if world.goal[player] in ['pedestal', 'dungeons']:
|
||||
pendant_category = 0x0C
|
||||
else:
|
||||
pendant_category = 0x06
|
||||
for pendant_id in pendant_ids:
|
||||
rom.write_byte(loot_icons + pendant_id, pendant_category)
|
||||
|
||||
# compasses showing dungeon count
|
||||
compass_mode = 0x80 if world.compassshuffle[player] not in ['none', 'nearby'] else 0x00
|
||||
if world.clock_mode != 'none' or world.dungeon_counters[player] == 'off':
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user