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 |