@@ -96,7 +96,7 @@ def get_modded_items() -> List[Item]:
9696 name = 'Item - ' + item ['Name' ] + ' - ' + str (item_id )
9797
9898 if not item_in_pool and not excluded :
99- mod_item = Item (name , ItemClassification .progression , item_id , empty_player_value )
99+ mod_item = Item (name , ItemClassification .filler , item_id , empty_player_value )
100100
101101 if length_hint ([item for (index , item ) in enumerate (items ) if item .code == mod_item .code ]) == 0 :
102102 items .append (mod_item )
@@ -120,6 +120,30 @@ def get_modded_items() -> List[Item]:
120120
121121 return items
122122
123+ def update_item_classification (item : Item , rule_condition , world : "CrystalProjectWorld" ) -> None :
124+ for condition in rule_condition :
125+ if condition is not None :
126+ loot_type = condition ['Data' ]['LootType' ]
127+ loot_id = condition ['Data' ]['LootValue' ]
128+ else :
129+ continue
130+
131+ if loot_type == 1 :
132+ archipelago_loot_id = loot_id + item_index_offset
133+ elif loot_type == 2 :
134+ archipelago_loot_id = loot_id + equipment_index_offset
135+ else :
136+ continue
137+
138+ if archipelago_loot_id in world .item_id_to_name :
139+ item_name = world .item_id_to_name [archipelago_loot_id ]
140+ if item .name == item_name :
141+ item .classification = ItemClassification .progression
142+ else :
143+ continue
144+
145+ return None
146+
123147def get_modded_locations () -> Dict [str , ModLocationData ]:
124148 locations : Dict [str , ModLocationData ] = {}
125149 location_codes : List [int ] = []
0 commit comments