AutoWorld: add post_fill
LttP: Move ShopSlotFill to post_fill
This commit is contained in:
		
							parent
							
								
									7ba4bfc0d5
								
							
						
					
					
						commit
						baa7992a7a
					
				
							
								
								
									
										6
									
								
								Main.py
								
								
								
								
							
							
						
						
									
										6
									
								
								Main.py
								
								
								
								
							|  | @ -14,7 +14,7 @@ from BaseClasses import MultiWorld, CollectionState, Region, RegionType | |||
| from worlds.alttp.Items import item_name_groups | ||||
| from worlds.alttp.Regions import lookup_vanilla_location_to_entrance | ||||
| from Fill import distribute_items_restrictive, flood_items, balance_multiworld_progression, distribute_planned | ||||
| from worlds.alttp.Shops import ShopSlotFill, SHOP_ID_START, total_shop_slots, FillDisabledShopSlots | ||||
| from worlds.alttp.Shops import SHOP_ID_START, total_shop_slots, FillDisabledShopSlots | ||||
| from Utils import output_path, get_options, __version__, version_tuple | ||||
| from worlds.generic.Rules import locality_rules, exclusion_rules | ||||
| from worlds import AutoWorld | ||||
|  | @ -198,9 +198,7 @@ def main(args, seed=None): | |||
|     elif world.algorithm == 'balanced': | ||||
|         distribute_items_restrictive(world) | ||||
| 
 | ||||
|     logger.info("Filling Shop Slots") | ||||
| 
 | ||||
|     ShopSlotFill(world) | ||||
|     AutoWorld.call_all(world, 'post_fill') | ||||
| 
 | ||||
|     if world.players > 1: | ||||
|         balance_multiworld_progression(world) | ||||
|  |  | |||
|  | @ -138,6 +138,9 @@ class World(metaclass=AutoWorldRegister): | |||
|         This gets called once per present world type.""" | ||||
|         pass | ||||
| 
 | ||||
|     def post_fill(self): | ||||
|         """Optional Method that is called after regular fill. Can be used to do adjustments before output generation.""" | ||||
| 
 | ||||
|     def generate_output(self, output_directory: str): | ||||
|         """This method gets called from a threadpool, do not use world.random here. | ||||
|         If you need any last-second randomization, use MultiWorld.slot_seeds[slot] instead.""" | ||||
|  |  | |||
|  | @ -159,6 +159,7 @@ def ShopSlotFill(world): | |||
|         shop_slots -= removed | ||||
| 
 | ||||
|     if shop_slots: | ||||
|         logger.info("Filling LttP Shop Slots") | ||||
|         del shop_slots | ||||
| 
 | ||||
|         from Fill import swap_location_item | ||||
|  |  | |||
|  | @ -229,6 +229,10 @@ class ALTTPWorld(World): | |||
|         from .Dungeons import fill_dungeons_restrictive | ||||
|         fill_dungeons_restrictive(world) | ||||
| 
 | ||||
|     @classmethod | ||||
|     def stage_post_fill(cls, world): | ||||
|         Shops.ShopSlotFill(world) | ||||
| 
 | ||||
|     def generate_output(self, output_directory: str): | ||||
|         world = self.world | ||||
|         player = self.player | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue