mirror of
				https://github.com/MarioSpore/Grinch-AP.git
				synced 2025-10-21 20:21:32 -06:00 
			
		
		
		
	
		
			
	
	
		
			23 lines
		
	
	
		
			970 B
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			23 lines
		
	
	
		
			970 B
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | # Copyright (c) 2022 FelicitusNeko | ||
|  | # | ||
|  | # This software is released under the MIT License. | ||
|  | # https://opensource.org/licenses/MIT | ||
|  | 
 | ||
|  | from ..generic.Rules import forbid_item, exclusion_rules | ||
|  | 
 | ||
|  | 
 | ||
|  | def set_rules(world, player): | ||
|  |     # Prevent PSI keys from showing up in any boss' room | ||
|  |     # This is to prevent softlock from ending up having to fight a boss in the wrong boss room | ||
|  |     for boss in ["Meridian", "Ataraxia", "Merodach"]: | ||
|  |         for key in range(1, 4): | ||
|  |             forbid_item(world.get_location(boss, player), f"PSI Key {key}", player) | ||
|  | 
 | ||
|  |     # Prevent progression from showing up in last six checks per store | ||
|  |     # This is to prevent softlock from high prices or low chest drop | ||
|  |     default_exclude_locations = set() | ||
|  |     for store in ["Alpha Cache", "Beta Cache", "Gamma Cache", "Reward Chest"]: | ||
|  |         for check_number in range(19, 25): | ||
|  |             default_exclude_locations.add(f"{store} {check_number}") | ||
|  |     exclusion_rules(world, player, default_exclude_locations) |