24 lines
		
	
	
		
			461 B
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			24 lines
		
	
	
		
			461 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
								 | 
							
								from dataclasses import dataclass, field
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								from .game_item import Source
							 | 
						||
| 
								 | 
							
								from ..strings.animal_names import Animal as AnimalName
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								assert AnimalName
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@dataclass(frozen=True)
							 | 
						||
| 
								 | 
							
								class Animal:
							 | 
						||
| 
								 | 
							
								    name: str
							 | 
						||
| 
								 | 
							
								    required_building: str = field(kw_only=True)
							 | 
						||
| 
								 | 
							
								    sources: tuple[Source, ...] = field(kw_only=True)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@dataclass(frozen=True)
							 | 
						||
| 
								 | 
							
								class IncubatorSource(Source):
							 | 
						||
| 
								 | 
							
								    egg_item: str
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@dataclass(frozen=True)
							 | 
						||
| 
								 | 
							
								class OstrichIncubatorSource(Source):
							 | 
						||
| 
								 | 
							
								    egg_item: str
							 |