@@ -54,6 +54,8 @@ class ManualWorld(World):
54
54
item_name_to_item = item_name_to_item
55
55
item_name_groups = item_name_groups
56
56
57
+ filler_item_name = filler_item_name
58
+
57
59
item_counts = {}
58
60
start_inventory = {}
59
61
@@ -64,7 +66,7 @@ class ManualWorld(World):
64
66
victory_names = victory_names
65
67
66
68
def get_filler_item_name (self ) -> str :
67
- return hook_get_filler_item_name (self , self .multiworld , self .player ) or filler_item_name
69
+ return hook_get_filler_item_name (self , self .multiworld , self .player ) or self . filler_item_name
68
70
69
71
def interpret_slot_data (self , slot_data : dict [str , any ]):
70
72
#this is called by tools like UT
@@ -106,8 +108,10 @@ def create_items(self):
106
108
configured_item_names = self .item_id_to_name .copy ()
107
109
108
110
for name in configured_item_names .values ():
111
+ # victory gets placed via place_locked_item at the victory location in create_regions
109
112
if name == "__Victory__" : continue
110
- if name == filler_item_name : continue
113
+ # the game.json filler item name is added to the item lookup, so skip it until it's potentially needed later
114
+ if name == filler_item_name : continue # intentionally using the Game.py filler_item_name here because it's a non-Items item
111
115
112
116
item = self .item_name_to_item [name ]
113
117
item_count = int (item .get ("count" , 1 ))
@@ -370,7 +374,7 @@ def adjust_filler_items(self, item_pool, traps):
370
374
item_pool .append (extra_item )
371
375
372
376
for _ in range (0 , filler_count ):
373
- extra_item = self .create_item (filler_item_name )
377
+ extra_item = self .create_item (self . get_filler_item_name () )
374
378
item_pool .append (extra_item )
375
379
elif extras < 0 :
376
380
logging .warning (f"{ self .game } has more items than locations. { abs (extras )} non-progression items will be removed at random." )
0 commit comments