25 lines
		
	
	
		
			779 B
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			25 lines
		
	
	
		
			779 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
								 | 
							
								from typing import NamedTuple, Dict
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								from BaseClasses import CollectionState, Location
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class PaintLocation(Location):
							 | 
						||
| 
								 | 
							
								    game = "Paint"
							 | 
						||
| 
								 | 
							
								    def access_rule(self, state: CollectionState):
							 | 
						||
| 
								 | 
							
								        from .rules import paint_percent_available
							 | 
						||
| 
								 | 
							
								        return paint_percent_available(state, state.multiworld.worlds[self.player], self.player) >=\
							 | 
						||
| 
								 | 
							
								               (self.address % 198600) / 4
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class PaintLocationData(NamedTuple):
							 | 
						||
| 
								 | 
							
								    region: str
							 | 
						||
| 
								 | 
							
								    address: int
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								location_data_table: Dict[str, PaintLocationData] = {
							 | 
						||
| 
								 | 
							
								    # f"Similarity: {i}%": PaintLocationData("Canvas", 198500 + i) for i in range(1, 96)
							 | 
						||
| 
								 | 
							
								    f"Similarity: {i/4}%": PaintLocationData("Canvas", 198600 + i) for i in range(1, 381)
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								location_table = {name: data.address for name, data in location_data_table.items()}
							 |