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}
 |