Every pot you pick up that wasn't part of the location pool does not count toward the location count
Fix for items spawning where a thrown pot was Fix for vanilla_fill, it now prioritizes heart container placements Fix for dungeon counter showing up in AT/HC in crossed dungeon mode
This commit is contained in:
4
Items.py
4
Items.py
@@ -98,8 +98,8 @@ item_table = {'Bow': (True, False, None, 0x0B, 200, 'You have\nchosen the\narche
|
|||||||
'Progressive Shield': (True, False, None, 0x5F, 50, 'have a better\nblocker in\nfront of you', 'and the new shield', 'shield-wielding kid', 'shield for sale', 'fungus for shield', 'shield boy defends again', 'a shield'),
|
'Progressive Shield': (True, False, None, 0x5F, 50, 'have a better\nblocker in\nfront of you', 'and the new shield', 'shield-wielding kid', 'shield for sale', 'fungus for shield', 'shield boy defends again', 'a shield'),
|
||||||
'Bug Catching Net': (True, False, None, 0x21, 50, 'Let\'s catch\nsome bees and\nfaeries!', 'and the bee catcher', 'the bug-catching kid', 'stick web for sale', 'fungus for butterflies', 'wrong boy catches bees again', 'the bug net'),
|
'Bug Catching Net': (True, False, None, 0x21, 50, 'Let\'s catch\nsome bees and\nfaeries!', 'and the bee catcher', 'the bug-catching kid', 'stick web for sale', 'fungus for butterflies', 'wrong boy catches bees again', 'the bug net'),
|
||||||
'Cane of Byrna': (True, False, None, 0x18, 50, 'Use this to\nbecome\ninvincible!', 'and the bad cane', 'the spark-making kid', 'spark stick for sale', 'spark-stick for trade', 'cane boy encircles again', 'the blue cane'),
|
'Cane of Byrna': (True, False, None, 0x18, 50, 'Use this to\nbecome\ninvincible!', 'and the bad cane', 'the spark-making kid', 'spark stick for sale', 'spark-stick for trade', 'cane boy encircles again', 'the blue cane'),
|
||||||
'Boss Heart Container': (False, False, None, 0x3E, 40, 'Maximum health\nincreased!\nYeah!', 'and the full heart', 'the life-giving kid', 'love for sale', 'fungus for life', 'life boy feels love again', 'a heart'),
|
'Boss Heart Container': (False, True, None, 0x3E, 40, 'Maximum health\nincreased!\nYeah!', 'and the full heart', 'the life-giving kid', 'love for sale', 'fungus for life', 'life boy feels love again', 'a heart'),
|
||||||
'Sanctuary Heart Container': (False, False, None, 0x3F, 50, 'Maximum health\nincreased!\nYeah!', 'and the full heart', 'the life-giving kid', 'love for sale', 'fungus for life', 'life boy feels love again', 'a heart'),
|
'Sanctuary Heart Container': (False, True, None, 0x3F, 50, 'Maximum health\nincreased!\nYeah!', 'and the full heart', 'the life-giving kid', 'love for sale', 'fungus for life', 'life boy feels love again', 'a heart'),
|
||||||
'Piece of Heart': (False, False, None, 0x17, 10, 'Just a little\npiece of love!', 'and the broken heart', 'the life-giving kid', 'little love for sale', 'fungus for life', 'life boy feels some love again', 'a heart piece'),
|
'Piece of Heart': (False, False, None, 0x17, 10, 'Just a little\npiece of love!', 'and the broken heart', 'the life-giving kid', 'little love for sale', 'fungus for life', 'life boy feels some love again', 'a heart piece'),
|
||||||
'Rupee (1)': (False, False, None, 0x34, 0, 'Just pocket\nchange. Move\nright along.', 'the pocket change', 'poverty-struck kid', 'life lesson for sale', 'buying cheap drugs', 'destitute boy has snack again', 'a green rupee'),
|
'Rupee (1)': (False, False, None, 0x34, 0, 'Just pocket\nchange. Move\nright along.', 'the pocket change', 'poverty-struck kid', 'life lesson for sale', 'buying cheap drugs', 'destitute boy has snack again', 'a green rupee'),
|
||||||
'Rupees (5)': (False, False, None, 0x35, 2, 'Just pocket\nchange. Move\nright along.', 'the pocket change', 'poverty-struck kid', 'life lesson for sale', 'buying cheap drugs', 'destitute boy has snack again', 'a blue rupee'),
|
'Rupees (5)': (False, False, None, 0x35, 2, 'Just pocket\nchange. Move\nright along.', 'the pocket change', 'poverty-struck kid', 'life lesson for sale', 'buying cheap drugs', 'destitute boy has snack again', 'a blue rupee'),
|
||||||
|
|||||||
2
Main.py
2
Main.py
@@ -31,7 +31,7 @@ from Utils import output_path, parse_player_names
|
|||||||
from source.item.FillUtil import create_item_pool_config, massage_item_pool, district_item_pool_config
|
from source.item.FillUtil import create_item_pool_config, massage_item_pool, district_item_pool_config
|
||||||
from source.tools.BPS import create_bps_from_data
|
from source.tools.BPS import create_bps_from_data
|
||||||
|
|
||||||
__version__ = '1.0.1.8-v'
|
__version__ = '1.0.1.9-v'
|
||||||
|
|
||||||
from source.classes.BabelFish import BabelFish
|
from source.classes.BabelFish import BabelFish
|
||||||
|
|
||||||
|
|||||||
@@ -147,6 +147,11 @@ Same as above but both small keys and bigs keys of the dungeon are not allowed o
|
|||||||
|
|
||||||
#### Volatile
|
#### Volatile
|
||||||
|
|
||||||
|
* 1.0.1.9
|
||||||
|
* Every pot you pick up that wasn't part of the location pool does not count toward the location count
|
||||||
|
* Fix for items spawning where a thrown pot was
|
||||||
|
* Fix for vanilla_fill, it now prioritizes heart container placements
|
||||||
|
* Fix for dungeon counter showing up in AT/HC in crossed dungeon mode
|
||||||
* 1.0.1.8
|
* 1.0.1.8
|
||||||
* Every pot you pick up now counts toward the location count
|
* Every pot you pick up now counts toward the location count
|
||||||
* A pot will de-spawn before the item under it does, error beep only plays if it still can't spawn
|
* A pot will de-spawn before the item under it does, error beep only plays if it still can't spawn
|
||||||
|
|||||||
20
Rom.py
20
Rom.py
@@ -35,7 +35,7 @@ from source.item.FillUtil import valid_pot_items
|
|||||||
|
|
||||||
|
|
||||||
JAP10HASH = '03a63945398191337e896e5771f77173'
|
JAP10HASH = '03a63945398191337e896e5771f77173'
|
||||||
RANDOMIZERBASEHASH = '4985e1082cc836abf425d68ae27c7c83'
|
RANDOMIZERBASEHASH = 'feadc243f2fe49237243d7c4da515d35'
|
||||||
|
|
||||||
|
|
||||||
class JsonRom(object):
|
class JsonRom(object):
|
||||||
@@ -893,6 +893,14 @@ def patch_rom(world, rom, player, team, enemized, is_mystery=False):
|
|||||||
if world.pottery[player] not in ['none', 'keys']:
|
if world.pottery[player] not in ['none', 'keys']:
|
||||||
# Cuccos should not prevent kill rooms from opening
|
# Cuccos should not prevent kill rooms from opening
|
||||||
rom.write_byte(snes_to_pc(0x0DB457), 0x40)
|
rom.write_byte(snes_to_pc(0x0DB457), 0x40)
|
||||||
|
if world.pottery[player] in ['none', 'keys']:
|
||||||
|
rom.write_byte(snes_to_pc(0x28AA56), 0)
|
||||||
|
elif world.pottery[player] == 'cave':
|
||||||
|
rom.write_byte(snes_to_pc(0x28AA56), 1)
|
||||||
|
elif world.pottery[player] == 'dungeon':
|
||||||
|
rom.write_byte(snes_to_pc(0x28AA56), 2)
|
||||||
|
elif world.pottery[player] == 'lottery':
|
||||||
|
rom.write_byte(snes_to_pc(0x28AA56), 3)
|
||||||
|
|
||||||
write_int16(rom, 0x187010, credits_total) # dynamic credits
|
write_int16(rom, 0x187010, credits_total) # dynamic credits
|
||||||
if credits_total != 216:
|
if credits_total != 216:
|
||||||
@@ -1514,10 +1522,12 @@ def patch_rom(world, rom, player, team, enemized, is_mystery=False):
|
|||||||
rom.write_bytes(0x53E36+ow_map_index*2, int16_as_bytes(coords[0]))
|
rom.write_bytes(0x53E36+ow_map_index*2, int16_as_bytes(coords[0]))
|
||||||
rom.write_bytes(0x53E56+ow_map_index*2, int16_as_bytes(coords[1]))
|
rom.write_bytes(0x53E56+ow_map_index*2, int16_as_bytes(coords[1]))
|
||||||
rom.write_byte(0x53EA6+ow_map_index, world_indicator)
|
rom.write_byte(0x53EA6+ow_map_index, world_indicator)
|
||||||
# in crossed doors - flip the compass exists flags
|
# in crossed doors - flip the compass exists flags
|
||||||
if world.doorShuffle[player] == 'crossed':
|
if world.doorShuffle[player] == 'crossed':
|
||||||
exists_flag = any(x for x in world.get_dungeon(dungeon, player).dungeon_items if x.type == 'Compass')
|
for dungeon, portal_list in dungeon_portals.items():
|
||||||
rom.write_byte(0x53E96+ow_map_index, 0x1 if exists_flag else 0x0)
|
ow_map_index = dungeon_table[dungeon].map_index
|
||||||
|
exists_flag = any(x for x in world.get_dungeon(dungeon, player).dungeon_items if x.type == 'Compass')
|
||||||
|
rom.write_byte(0x53E96+ow_map_index, 0x1 if exists_flag else 0x0)
|
||||||
|
|
||||||
rom.write_byte(0x18003C, compass_mode)
|
rom.write_byte(0x18003C, compass_mode)
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@@ -707,7 +707,7 @@ mode_grouping = {
|
|||||||
'Maze Race', 'Spectacle Rock', 'Pyramid', "Zora's Ledge", 'Lumberjack Tree',
|
'Maze Race', 'Spectacle Rock', 'Pyramid', "Zora's Ledge", 'Lumberjack Tree',
|
||||||
'Sunken Treasure', 'Spectacle Rock Cave', 'Lost Woods Hideout', 'Checkerboard Cave', 'Peg Cave', 'Cave 45',
|
'Sunken Treasure', 'Spectacle Rock Cave', 'Lost Woods Hideout', 'Checkerboard Cave', 'Peg Cave', 'Cave 45',
|
||||||
'Graveyard Cave', 'Kakariko Well - Top', "Blind's Hideout - Top", 'Bonk Rock Cave', "Aginah's Cave",
|
'Graveyard Cave', 'Kakariko Well - Top', "Blind's Hideout - Top", 'Bonk Rock Cave', "Aginah's Cave",
|
||||||
'Chest Game', 'Digging Game', 'Mire Shed - Right', 'Mimic Cave'
|
'Chest Game', 'Digging Game', 'Mire Shed - Left', 'Mimic Cave'
|
||||||
],
|
],
|
||||||
'Big Keys': [
|
'Big Keys': [
|
||||||
'Eastern Palace - Big Key Chest', 'Ganons Tower - Big Key Chest',
|
'Eastern Palace - Big Key Chest', 'Ganons Tower - Big Key Chest',
|
||||||
@@ -760,7 +760,7 @@ mode_grouping = {
|
|||||||
'Paradox Cave Upper - Left', 'Paradox Cave Upper - Right', 'Spiral Cave', 'Brewery', 'C-Shaped House',
|
'Paradox Cave Upper - Left', 'Paradox Cave Upper - Right', 'Spiral Cave', 'Brewery', 'C-Shaped House',
|
||||||
'Hype Cave - Top', 'Hype Cave - Middle Right', 'Hype Cave - Middle Left', 'Hype Cave - Bottom',
|
'Hype Cave - Top', 'Hype Cave - Middle Right', 'Hype Cave - Middle Left', 'Hype Cave - Bottom',
|
||||||
'Hype Cave - Generous Guy', 'Superbunny Cave - Bottom', 'Superbunny Cave - Top', 'Hookshot Cave - Top Right',
|
'Hype Cave - Generous Guy', 'Superbunny Cave - Bottom', 'Superbunny Cave - Top', 'Hookshot Cave - Top Right',
|
||||||
'Hookshot Cave - Top Left', 'Hookshot Cave - Bottom Right', 'Hookshot Cave - Bottom Left', 'Mire Shed - Left'
|
'Hookshot Cave - Top Left', 'Hookshot Cave - Bottom Right', 'Hookshot Cave - Bottom Left', 'Mire Shed - Right'
|
||||||
],
|
],
|
||||||
'GT Trash': [
|
'GT Trash': [
|
||||||
'Ganons Tower - DMs Room - Top Right', 'Ganons Tower - DMs Room - Top Left',
|
'Ganons Tower - DMs Room - Top Right', 'Ganons Tower - DMs Room - Top Left',
|
||||||
|
|||||||
Reference in New Issue
Block a user