Directional typos on interior doors fixed.

Better batching support for mass testing of seed generation.

Generation issues fixed:
--Filler now tests with the key in the proposed location to enable alternate key rules
--Key rule checker now only considers key locations that the parent sphere did not have - better key rules
This commit is contained in:
aerinon
2020-01-02 11:15:27 -07:00
parent 59f819aebd
commit 438d765627
7 changed files with 68 additions and 38 deletions

10
Fill.py
View File

@@ -190,9 +190,17 @@ def fill_restrictive(world, base_state, locations, itempool):
for item_to_place in items_to_place:
spot_to_fill = None
for location in locations:
if location.can_fill(maximum_exploration_state, item_to_place, perform_access_check):
if item_to_place.key: # a better test to see if a key can go there
location.item = item_to_place
test_state = maximum_exploration_state.copy()
test_state.stale[item_to_place.player] = True
else:
test_state = maximum_exploration_state
if location.can_fill(test_state, item_to_place, perform_access_check):
spot_to_fill = location
break
elif item_to_place.key:
location.item = None
if spot_to_fill is None:
# we filled all reachable spots. Maybe the game can be beaten anyway?