Merged DR v1.0.1.2
This commit is contained in:
1
Fill.py
1
Fill.py
@@ -123,7 +123,6 @@ def fill_restrictive(world, base_state, locations, itempool, key_pool=None, sing
|
||||
raise FillError('No more spots to place %s' % item_to_place)
|
||||
|
||||
world.push_item(spot_to_fill, item_to_place, False)
|
||||
# todo: remove key item from key_pool
|
||||
if item_to_place.smallkey:
|
||||
with suppress(ValueError):
|
||||
key_pool.remove(item_to_place)
|
||||
|
||||
24
ItemList.py
24
ItemList.py
@@ -1155,27 +1155,3 @@ def test():
|
||||
|
||||
if __name__ == '__main__':
|
||||
test()
|
||||
|
||||
|
||||
def fill_specific_items(world):
|
||||
keypool = [item for item in world.itempool if item.smallkey]
|
||||
cage = world.get_location('Tower of Hera - Basement Cage', 1)
|
||||
c_dungeon = cage.parent_region.dungeon
|
||||
key_item = next(x for x in keypool if c_dungeon.name in x.name or (c_dungeon.name == 'Hyrule Castle' and 'Escape' in x.name))
|
||||
world.itempool.remove(key_item)
|
||||
all_state = world.get_all_state(True)
|
||||
fill_restrictive(world, all_state, [cage], [key_item])
|
||||
|
||||
location = world.get_location('Tower of Hera - Map Chest', 1)
|
||||
key_item = next(x for x in world.itempool if 'Byrna' in x.name)
|
||||
world.itempool.remove(key_item)
|
||||
fast_fill(world, [key_item], [location])
|
||||
|
||||
|
||||
# somaria = next(item for item in world.itempool if item.name == 'Cane of Somaria')
|
||||
# shooter = world.get_location('Palace of Darkness - Shooter Room', 1)
|
||||
# world.itempool.remove(somaria)
|
||||
# all_state = world.get_all_state(True)
|
||||
# fill_restrictive(world, all_state, [shooter], [somaria])
|
||||
|
||||
|
||||
|
||||
8
Main.py
8
Main.py
@@ -32,7 +32,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.tools.BPS import create_bps_from_data
|
||||
|
||||
__version__ = '1.0.1.1-u'
|
||||
__version__ = '1.0.1.2-u'
|
||||
|
||||
from source.classes.BabelFish import BabelFish
|
||||
|
||||
@@ -695,11 +695,7 @@ def copy_dynamic_regions_and_locations(world, ret):
|
||||
for location in world.dynamic_locations:
|
||||
new_reg = ret.get_region(location.parent_region.name, location.parent_region.player)
|
||||
new_loc = Location(location.player, location.name, location.address, location.crystal, location.hint_text, new_reg)
|
||||
# todo: this is potentially dangerous. later refactor so we
|
||||
# can apply dynamic region rules on top of copied world like other rules
|
||||
new_loc.access_rule = location.access_rule
|
||||
new_loc.always_allow = location.always_allow
|
||||
new_loc.item_rule = location.item_rule
|
||||
new_loc.type = location.type
|
||||
new_reg.locations.append(new_loc)
|
||||
|
||||
ret.clear_location_cache()
|
||||
|
||||
@@ -183,6 +183,11 @@ Same as above but both small keys and bigs keys of the dungeon are not allowed o
|
||||
|
||||
#### Unstable
|
||||
|
||||
* 1.0.1.2
|
||||
* Fixed an issue with small key bias rework
|
||||
* Fixed an issue where trinity goal would open pyramid unexpectedly. (No longer does so if ER mdoe is shuffling holes). Crystals goal updated to match that behavior.
|
||||
* Fixed a playthrough issue that was not respecting pot rules
|
||||
* Fixed an issue that was conflicting with downstream OWR project
|
||||
* 1.0.1.1
|
||||
* Fixed the pots in Mire Storyteller/ Dark Desert Hint to be colorized when they should be
|
||||
* Certain pot items no longer reload when reloading the supertile (matches original pot behavior better)
|
||||
|
||||
4
Rom.py
4
Rom.py
@@ -1695,9 +1695,9 @@ def patch_rom(world, rom, player, team, enemized, is_mystery=False):
|
||||
rom.write_bytes(room.address(), room.rom_data())
|
||||
|
||||
if world.pottery[player] not in ['none']:
|
||||
rom.write_bytes(snes_to_pc(0x1F8375), int32_as_bytes(0x299000))
|
||||
rom.write_bytes(snes_to_pc(0x1F8375), int32_as_bytes(0x2B8000))
|
||||
# make hammer pegs use different tiles
|
||||
Room0127.write_to_rom(snes_to_pc(0x299000), rom)
|
||||
Room0127.write_to_rom(snes_to_pc(0x2B8000), rom)
|
||||
|
||||
if world.pot_contents[player]:
|
||||
colorize_pots = is_mystery or (world.pottery[player] not in ['vanilla', 'lottery']
|
||||
|
||||
Reference in New Issue
Block a user