New Item/Location accessibility options

Replaces existing check_only_beatable, which became the "none" option.

TR can run out of key placement options, with the 100% locations
option, but I really don't care enough. It exists mostly for people who
want to 100% a seed, or to point to if they ask about keys locked behind
themselves.
This commit is contained in:
Kevin Cathcart
2019-08-04 17:40:13 -04:00
parent 3713f6a1b5
commit ef7c3d4f06
8 changed files with 85 additions and 51 deletions

View File

@@ -184,7 +184,7 @@ def fill_restrictive(world, base_state, locations, itempool):
maximum_exploration_state = sweep_from_pool()
perform_access_check = True
if world.check_beatable_only:
if world.accessibility == 'none':
perform_access_check = not world.has_beaten_game(maximum_exploration_state)
for item_to_place in items_to_place:
@@ -197,7 +197,7 @@ def fill_restrictive(world, base_state, locations, itempool):
if spot_to_fill is None:
# we filled all reachable spots. Maybe the game can be beaten anyway?
if world.can_beat_game():
if not world.check_beatable_only:
if world.accessibility != 'none':
logging.getLogger('').warning('Not all items placed. Game beatable anyway. (Could not place %s)' % item_to_place)
continue
raise FillError('No more spots to place %s' % item_to_place)