36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | from typing import Callable, Dict, NamedTuple, Optional | ||
|  | 
 | ||
|  | from BaseClasses import Item, ItemClassification, MultiWorld | ||
|  | 
 | ||
|  | 
 | ||
|  | class CliqueItem(Item): | ||
|  |     game = "Clique" | ||
|  | 
 | ||
|  | 
 | ||
|  | class CliqueItemData(NamedTuple): | ||
|  |     code: Optional[int] = None | ||
|  |     type: ItemClassification = ItemClassification.filler | ||
|  |     can_create: Callable[[MultiWorld, int], bool] = lambda multiworld, player: True | ||
|  | 
 | ||
|  | 
 | ||
|  | item_data_table: Dict[str, CliqueItemData] = { | ||
|  |     "Feeling of Satisfaction": CliqueItemData( | ||
|  |         code=69696969, | ||
|  |         type=ItemClassification.progression, | ||
|  |     ), | ||
|  |     "Button Activation": CliqueItemData( | ||
|  |         code=69696968, | ||
|  |         type=ItemClassification.progression, | ||
|  |         can_create=lambda multiworld, player: bool(getattr(multiworld, "hard_mode")[player]), | ||
|  |     ), | ||
|  |     "A Cool Filler Item (No Satisfaction Guaranteed)": CliqueItemData( | ||
|  |         code=69696967, | ||
|  |         can_create=lambda multiworld, player: False  # Only created from `get_filler_item_name`. | ||
|  |     ), | ||
|  |     "The Urge to Push": CliqueItemData( | ||
|  |         type=ItemClassification.progression, | ||
|  |     ), | ||
|  | } | ||
|  | 
 | ||
|  | item_table = {name: data.code for name, data in item_data_table.items() if data.code is not None} |