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)
|
ret = parser.parse_args(argv)
|
||||||
|
|
||||||
if ret.keysanity:
|
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:
|
if ret.keydropshuffle:
|
||||||
ret.dropshuffle = 'keys' if ret.dropshuffle == 'none' else ret.dropshuffle
|
ret.dropshuffle = 'keys' if ret.dropshuffle == 'none' else ret.dropshuffle
|
||||||
|
|||||||
@@ -1124,6 +1124,11 @@ def get_pool_core(world, player, progressive, shuffle, difficulty, treasure_hunt
|
|||||||
diff = difficulties[difficulty]
|
diff = difficulties[difficulty]
|
||||||
pool.extend(diff.baseitems)
|
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:
|
if bombbag:
|
||||||
pool = [item.replace('Bomb Upgrade (+5)','Rupees (5)') for item in pool]
|
pool = [item.replace('Bomb Upgrade (+5)','Rupees (5)') for item in pool]
|
||||||
pool = [item.replace('Bomb Upgrade (+10)','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'
|
JAP10HASH = '03a63945398191337e896e5771f77173'
|
||||||
RANDOMIZERBASEHASH = '8e29777cf6d1ff6fceb72bbf7aacb62c'
|
RANDOMIZERBASEHASH = '3e385a852b789c31079aa6a14ff2498d'
|
||||||
|
|
||||||
|
|
||||||
class JsonRom(object):
|
class JsonRom(object):
|
||||||
@@ -1447,9 +1447,28 @@ def patch_rom(world, rom, player, team, is_mystery=False, rom_header=None):
|
|||||||
loot_show |= 0x02
|
loot_show |= 0x02
|
||||||
if world.dropshuffle[player] != 'none':
|
if world.dropshuffle[player] != 'none':
|
||||||
loot_show |= 0x04
|
loot_show |= 0x04
|
||||||
|
|
||||||
rom.write_byte(0x1CFF10, loot_show)
|
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
|
# compasses showing dungeon count
|
||||||
compass_mode = 0x80 if world.compassshuffle[player] not in ['none', 'nearby'] else 0x00
|
compass_mode = 0x80 if world.compassshuffle[player] not in ['none', 'nearby'] else 0x00
|
||||||
if world.clock_mode != 'none' or world.dungeon_counters[player] == 'off':
|
if world.clock_mode != 'none' or world.dungeon_counters[player] == 'off':
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user