59 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			59 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | from typing import Dict, NamedTuple, Optional | ||
|  | 
 | ||
|  | from BaseClasses import Item, ItemClassification | ||
|  | from .Names import ItemName | ||
|  | 
 | ||
|  | 
 | ||
|  | celeste_64_base_id: int = 0xCA0000 | ||
|  | 
 | ||
|  | 
 | ||
|  | class Celeste64Item(Item): | ||
|  |     game = "Celeste 64" | ||
|  | 
 | ||
|  | 
 | ||
|  | class Celeste64ItemData(NamedTuple): | ||
|  |     code: Optional[int] = None | ||
|  |     type: ItemClassification = ItemClassification.filler | ||
|  | 
 | ||
|  | 
 | ||
|  | item_data_table: Dict[str, Celeste64ItemData] = { | ||
|  |     ItemName.strawberry: Celeste64ItemData( | ||
|  |         code = celeste_64_base_id + 0, | ||
|  |         type=ItemClassification.progression_skip_balancing, | ||
|  |     ), | ||
|  |     ItemName.dash_refill: Celeste64ItemData( | ||
|  |         code = celeste_64_base_id + 1, | ||
|  |         type=ItemClassification.progression, | ||
|  |     ), | ||
|  |     ItemName.double_dash_refill: Celeste64ItemData( | ||
|  |         code = celeste_64_base_id + 2, | ||
|  |         type=ItemClassification.progression, | ||
|  |     ), | ||
|  |     ItemName.feather: Celeste64ItemData( | ||
|  |         code = celeste_64_base_id + 3, | ||
|  |         type=ItemClassification.progression, | ||
|  |     ), | ||
|  |     ItemName.coin: Celeste64ItemData( | ||
|  |         code = celeste_64_base_id + 4, | ||
|  |         type=ItemClassification.progression, | ||
|  |     ), | ||
|  |     ItemName.cassette: Celeste64ItemData( | ||
|  |         code = celeste_64_base_id + 5, | ||
|  |         type=ItemClassification.progression, | ||
|  |     ), | ||
|  |     ItemName.traffic_block: Celeste64ItemData( | ||
|  |         code = celeste_64_base_id + 6, | ||
|  |         type=ItemClassification.progression, | ||
|  |     ), | ||
|  |     ItemName.spring: Celeste64ItemData( | ||
|  |         code = celeste_64_base_id + 7, | ||
|  |         type=ItemClassification.progression, | ||
|  |     ), | ||
|  |     ItemName.breakables: Celeste64ItemData( | ||
|  |         code = celeste_64_base_id + 8, | ||
|  |         type=ItemClassification.progression, | ||
|  |     ) | ||
|  | } | ||
|  | 
 | ||
|  | item_table = {name: data.code for name, data in item_data_table.items() if data.code is not None} |