104 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Python
		
	
	
	
| import typing
 | |
| 
 | |
| from BaseClasses import Item, ItemClassification
 | |
| from typing import Dict, List
 | |
| 
 | |
| PROGRESSION = ItemClassification.progression
 | |
| PROGRESSION_SKIP_BALANCING = ItemClassification.progression_skip_balancing
 | |
| USEFUL = ItemClassification.useful
 | |
| FILLER = ItemClassification.filler
 | |
| 
 | |
| 
 | |
| class ItemData(typing.NamedTuple):
 | |
|     code: typing.Optional[int]
 | |
|     type: str
 | |
|     classification: ItemClassification = PROGRESSION
 | |
| 
 | |
| 
 | |
| item_table: Dict[str, ItemData] = {
 | |
|     # Units
 | |
|     'Spearman': ItemData(52000, 'Unit'),
 | |
|     'Wagon': ItemData(52001, 'Unit', USEFUL),
 | |
|     'Mage': ItemData(52002, 'Unit'),
 | |
|     'Archer': ItemData(52003, 'Unit'),
 | |
|     'Knight': ItemData(52004, 'Unit'),
 | |
|     'Ballista': ItemData(52005, 'Unit'),
 | |
|     'Golem': ItemData(52006, 'Unit', USEFUL),
 | |
|     'Harpy': ItemData(52007, 'Unit'),
 | |
|     'Witch': ItemData(52008, 'Unit', USEFUL),
 | |
|     'Dragon': ItemData(52009, 'Unit'),
 | |
|     'Balloon': ItemData(52010, 'Unit', USEFUL),
 | |
|     'Barge': ItemData(52011, 'Unit'),
 | |
|     'Merfolk': ItemData(52012, 'Unit'),
 | |
|     'Turtle': ItemData(52013, 'Unit'),
 | |
|     'Harpoon Ship': ItemData(52014, 'Unit'),
 | |
|     'Warship': ItemData(52015, 'Unit'),
 | |
|     'Thief': ItemData(52016, 'Unit'),
 | |
|     'Rifleman': ItemData(52017, 'Unit'),
 | |
| 
 | |
|     # Map Triggers
 | |
|     'Eastern Bridges': ItemData(52018, 'Trigger'),
 | |
|     'Southern Walls': ItemData(52019, 'Trigger'),
 | |
|     'Final Bridges': ItemData(52020, 'Trigger', PROGRESSION_SKIP_BALANCING),
 | |
|     'Final Walls': ItemData(52021, 'Trigger', PROGRESSION_SKIP_BALANCING),
 | |
|     'Final Sickle': ItemData(52022, 'Trigger', PROGRESSION_SKIP_BALANCING),
 | |
| 
 | |
|     # Player Buffs
 | |
|     'Income Boost': ItemData(52023, 'Boost', FILLER),
 | |
| 
 | |
|     'Commander Defense Boost': ItemData(52024, 'Boost', FILLER),
 | |
| 
 | |
|     # Factions
 | |
|     'Cherrystone Commanders': ItemData(52025, 'Faction', USEFUL),
 | |
|     'Felheim Commanders': ItemData(52026, 'Faction', USEFUL),
 | |
|     'Floran Commanders': ItemData(52027, 'Faction', USEFUL),
 | |
|     'Heavensong Commanders': ItemData(52028, 'Faction', USEFUL),
 | |
|     'Requiem Commanders': ItemData(52029, 'Faction', USEFUL),
 | |
|     'Outlaw Commanders': ItemData(52030, 'Faction', USEFUL),
 | |
| 
 | |
|     # Event Items
 | |
|     'Wargroove Victory': ItemData(None, 'Goal')
 | |
| 
 | |
| }
 | |
| 
 | |
| 
 | |
| class CommanderData(typing.NamedTuple):
 | |
|     name: str
 | |
|     internal_name: str
 | |
|     alt_name: str = None
 | |
| 
 | |
| 
 | |
| faction_table: Dict[str, List[CommanderData]] = {
 | |
|     'Starter': [
 | |
|         CommanderData('Mercival', 'commander_mercival')
 | |
|     ],
 | |
|     'Cherrystone': [
 | |
|         CommanderData('Mercia', 'commander_mercia'),
 | |
|         CommanderData('Emeric', 'commander_emeric'),
 | |
|         CommanderData('Caesar', 'commander_caesar'),
 | |
|     ],
 | |
|     'Felheim': [
 | |
|         CommanderData('Valder', 'commander_valder'),
 | |
|         CommanderData('Ragna', 'commander_ragna'),
 | |
|         CommanderData('Sigrid', 'commander_sigrid')
 | |
|     ],
 | |
|     'Floran': [
 | |
|         CommanderData('Greenfinger', 'commander_greenfinger'),
 | |
|         CommanderData('Sedge', 'commander_sedge'),
 | |
|         CommanderData('Nuru', 'commander_nuru')
 | |
|     ],
 | |
|     'Heavensong': [
 | |
|         CommanderData('Tenri', 'commander_tenri'),
 | |
|         CommanderData('Koji', 'commander_koji'),
 | |
|         CommanderData('Ryota', 'commander_ryota')
 | |
|     ],
 | |
|     'Requiem': [
 | |
|         CommanderData('Elodie', 'commander_elodie'),
 | |
|         CommanderData('Dark Mercia', 'commander_darkmercia')
 | |
|     ],
 | |
|     'Outlaw': [
 | |
|         CommanderData('Wulfar', 'commander_wulfar'),
 | |
|         CommanderData('Twins', 'commander_twins', 'Errol & Orla'),
 | |
|         CommanderData('Vesper', 'commander_vesper')
 | |
|     ]
 | |
| } |