20 lines
		
	
	
		
			682 B
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			20 lines
		
	
	
		
			682 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
								 | 
							
								from BaseClasses import CollectionState
							 | 
						||
| 
								 | 
							
								from typing import TYPE_CHECKING
							 | 
						||
| 
								 | 
							
								if TYPE_CHECKING:
							 | 
						||
| 
								 | 
							
								    from . import YoshisIslandWorld
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class BossReqs:
							 | 
						||
| 
								 | 
							
								    player: int
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    def __init__(self, world: "YoshisIslandWorld") -> None:
							 | 
						||
| 
								 | 
							
								        self.player = world.player
							 | 
						||
| 
								 | 
							
								        self.castle_unlock = world.options.castle_open_condition.value
							 | 
						||
| 
								 | 
							
								        self.boss_unlock = world.options.castle_clear_condition.value
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    def castle_access(self, state: CollectionState) -> bool:
							 | 
						||
| 
								 | 
							
								        return state.has("Boss Clear", self.player, self.castle_unlock)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    def castle_clear(self, state: CollectionState) -> bool:
							 | 
						||
| 
								 | 
							
								        return state.has("Boss Clear", self.player, self.boss_unlock)
							 |