fix: beemizer + pottery + multiworld generation issue
This commit is contained in:
9
Fill.py
9
Fill.py
@@ -608,8 +608,13 @@ def fast_fill_pot_for_multiworld(world, item_pool, fill_locations):
|
|||||||
flex = 256 - world.data_tables[player].pot_secret_table.multiworld_count
|
flex = 256 - world.data_tables[player].pot_secret_table.multiworld_count
|
||||||
fill_count = len(pot_fill_locations[player]) - flex
|
fill_count = len(pot_fill_locations[player]) - flex
|
||||||
if fill_count > 0:
|
if fill_count > 0:
|
||||||
fill_spots = random.sample(pot_fill_locations[player], fill_count)
|
first_count = min(fill_count, len(pot_item_pool[player]))
|
||||||
fill_items = random.sample(pot_item_pool[player], fill_count)
|
fill_items = random.sample(pot_item_pool[player], first_count)
|
||||||
|
remaining = fill_count - first_count
|
||||||
|
if remaining > 0:
|
||||||
|
other_items = [i for i in item_pool if i.player == player and i not in pot_item_pool[player]]
|
||||||
|
fill_items += random.sample(other_items, min(remaining, len(other_items)))
|
||||||
|
fill_spots = random.sample(pot_fill_locations[player], len(fill_items))
|
||||||
for x in fill_items:
|
for x in fill_items:
|
||||||
item_pool.remove(x)
|
item_pool.remove(x)
|
||||||
for x in fill_spots:
|
for x in fill_spots:
|
||||||
|
|||||||
2
Main.py
2
Main.py
@@ -38,7 +38,7 @@ from source.enemizer.DamageTables import DamageTable
|
|||||||
from source.enemizer.Enemizer import randomize_enemies
|
from source.enemizer.Enemizer import randomize_enemies
|
||||||
from source.rom.DataTables import init_data_tables
|
from source.rom.DataTables import init_data_tables
|
||||||
|
|
||||||
version_number = '1.5.5'
|
version_number = '1.5.6'
|
||||||
version_branch = '-u'
|
version_branch = '-u'
|
||||||
__version__ = f'{version_number}{version_branch}'
|
__version__ = f'{version_number}{version_branch}'
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,9 @@
|
|||||||
# Patch Notes
|
# Patch Notes
|
||||||
|
|
||||||
Changelog archive
|
Changelog archive
|
||||||
|
* 1.5.5
|
||||||
|
* Logic: Fixed an issue where PoD Bridge lead to Arena Main instead of Arena Landing Area. (Potentially unnecessarily requiring bombs or Somaria to progress)
|
||||||
|
* HUD: Key counters are correct even when door shuffle is off
|
||||||
* 1.5.4
|
* 1.5.4
|
||||||
* Documentation: New AI-assisted documentation [Site](https://aerinon.github.io/ALttPDoorRandomizer)
|
* Documentation: New AI-assisted documentation [Site](https://aerinon.github.io/ALttPDoorRandomizer)
|
||||||
* Generation Error: Fixed Issue with Shop Code and Take Any Caves (thanks Codemann for assistance)
|
* Generation Error: Fixed Issue with Shop Code and Take Any Caves (thanks Codemann for assistance)
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
# Patch Notes
|
# Patch Notes
|
||||||
|
|
||||||
* 1.5.5
|
* 1.5.6
|
||||||
* Logic: Fixed an issue where PoD Bridge lead to Arena Main instead of Arena Landing Area. (Potentially unnecessarily requiring bombs or Somaria to progress)
|
* Multiworld: Fixed a generation crash when beemizer is active and pottery is enabled. Pot locations are now properly filled with same-player items when the MW limit is hit even when beemizer has replaced native pot items.
|
||||||
* HUD: Key counters are correct even when door shuffle is off
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user