@@ -198,10 +198,16 @@ def fill_restrictive(multiworld: MultiWorld, base_state: CollectionState, locati
198
198
# There are leftover unplaceable items and locations that won't accept them
199
199
if multiworld .can_beat_game ():
200
200
logging .warning (
201
- f'Not all items placed. Game beatable anyway. (Could not place { unplaced_items } )' )
201
+ f"Not all items placed. Game beatable anyway.\n Could not place:\n "
202
+ f"{ ', ' .join (str (item ) for item in unplaced_items )} " )
202
203
else :
203
- raise FillError (f'No more spots to place { unplaced_items } , locations { locations } are invalid. '
204
- f'Already placed { len (placements )} : { ", " .join (str (place ) for place in placements )} ' )
204
+ raise FillError (f"No more spots to place { len (unplaced_items )} items. Remaining locations are invalid.\n "
205
+ f"Unplaced items:\n "
206
+ f"{ ', ' .join (str (item ) for item in unplaced_items )} \n "
207
+ f"Unfilled locations:\n "
208
+ f"{ ', ' .join (str (location ) for location in locations )} \n "
209
+ f"Already placed { len (placements )} :\n "
210
+ f"{ ', ' .join (str (place ) for place in placements )} " )
205
211
206
212
item_pool .extend (unplaced_items )
207
213
@@ -273,8 +279,13 @@ def remaining_fill(multiworld: MultiWorld,
273
279
274
280
if unplaced_items and locations :
275
281
# There are leftover unplaceable items and locations that won't accept them
276
- raise FillError (f'No more spots to place { unplaced_items } , locations { locations } are invalid. '
277
- f'Already placed { len (placements )} : { ", " .join (str (place ) for place in placements )} ' )
282
+ raise FillError (f"No more spots to place { len (unplaced_items )} items. Remaining locations are invalid.\n "
283
+ f"Unplaced items:\n "
284
+ f"{ ', ' .join (str (item ) for item in unplaced_items )} \n "
285
+ f"Unfilled locations:\n "
286
+ f"{ ', ' .join (str (location ) for location in locations )} \n "
287
+ f"Already placed { len (placements )} :\n "
288
+ f"{ ', ' .join (str (place ) for place in placements )} " )
278
289
279
290
itempool .extend (unplaced_items )
280
291
@@ -457,7 +468,9 @@ def mark_for_locking(location: Location):
457
468
fill_restrictive (multiworld , multiworld .state , defaultlocations , progitempool , name = "Progression" )
458
469
if progitempool :
459
470
raise FillError (
460
- f'Not enough locations for progress items. There are { len (progitempool )} more items than locations' )
471
+ f"Not enough locations for progression items. "
472
+ f"There are { len (progitempool )} more progression items than there are available locations."
473
+ )
461
474
accessibility_corrections (multiworld , multiworld .state , defaultlocations )
462
475
463
476
for location in lock_later :
@@ -470,7 +483,9 @@ def mark_for_locking(location: Location):
470
483
remaining_fill (multiworld , excludedlocations , filleritempool , "Remaining Excluded" )
471
484
if excludedlocations :
472
485
raise FillError (
473
- f"Not enough filler items for excluded locations. There are { len (excludedlocations )} more locations than items" )
486
+ f"Not enough filler items for excluded locations. "
487
+ f"There are { len (excludedlocations )} more excluded locations than filler or trap items."
488
+ )
474
489
475
490
restitempool = filleritempool + usefulitempool
476
491
@@ -481,13 +496,13 @@ def mark_for_locking(location: Location):
481
496
482
497
if unplaced or unfilled :
483
498
logging .warning (
484
- f' Unplaced items({ len (unplaced )} ): { unplaced } - Unfilled Locations({ len (unfilled )} ): { unfilled } ' )
499
+ f" Unplaced items({ len (unplaced )} ): { unplaced } - Unfilled Locations({ len (unfilled )} ): { unfilled } " )
485
500
items_counter = Counter (location .item .player for location in multiworld .get_locations () if location .item )
486
501
locations_counter = Counter (location .player for location in multiworld .get_locations ())
487
502
items_counter .update (item .player for item in unplaced )
488
503
locations_counter .update (location .player for location in unfilled )
489
504
print_data = {"items" : items_counter , "locations" : locations_counter }
490
- logging .info (f' Per-Player counts: { print_data } )' )
505
+ logging .info (f" Per-Player counts: { print_data } )" )
491
506
492
507
493
508
def flood_items (multiworld : MultiWorld ) -> None :
0 commit comments