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)
 | 
