from collections import defaultdict from aoe.types import * class Production(): # assumes for now each unit can be built in only one type of building def __init__(self): self.building = defaultdict(None, { Units.VILLAGER: Buildings.TOWNCENTER, Units.TRADECART: Buildings.MARKET, Units.SPEARMAN: Buildings.BARRACKS, Units.MILITIA: Buildings.BARRACKS, Units.SCOUT: Buildings.STABLE, Units.KNIGHT: Buildings.STABLE, Units.SKIRMISHER: Buildings.ARCHERYRANGE, Units.ARCHER: Buildings.ARCHERYRANGE, Research.TOWNWATCH: Buildings.TOWNCENTER, Research.TOWNPATROL: Buildings.TOWNCENTER, Research.TREADMILLCRANE: Buildings.UNIVERSITY, Research.MASONRY: Buildings.UNIVERSITY, Research.ARCHITECTURE: Buildings.UNIVERSITY, Research.HOARDINGS: Buildings.CASTLE, Research.CONSCRIPTION: Buildings.CASTLE, Research.WHEELBARROW: Buildings.TOWNCENTER, Research.HANDCART: Buildings.TOWNCENTER, Research.DOUBLEBITAXE: Buildings.LUMBERCAMP, Research.BOWSAW: Buildings.LUMBERCAMP, Research.TWOMANSAW: Buildings.LUMBERCAMP, Research.HORSECOLLAR: Buildings.MILL, Research.HEAVYPLOW: Buildings.MILL, Research.CROPROTATION: Buildings.MILL, Research.GOLDMINING: Buildings.MININGCAMP, Research.GOLDSHAFTMINING: Buildings.MININGCAMP, Research.STONEMINING: Buildings.MININGCAMP, Research.STONESHAFTMINING: Buildings.MININGCAMP, Research.CARAVAN: Buildings.MARKET, Research.COINAGE: Buildings.MARKET, Research.BANKING: Buildings.MARKET, Research.GUILDS: Buildings.MARKET, Research.FISHINGLINES: Buildings.DOCK, Research.GILLNETS: Buildings.DOCK, Research.DOMESTICATION: Buildings.MILL, Research.PASTORALISM: Buildings.MILL, Research.TRANSHUMANCE: Buildings.MILL, Research.REDEMPTION: Buildings.MONASTERY, Research.ATONEMENT: Buildings.MONASTERY, Research.HERBALMEDICINE: Buildings.MONASTERY, Research.HERESY: Buildings.MONASTERY, Research.SANCTITY: Buildings.MONASTERY, Research.FERVOR: Buildings.MONASTERY, Research.DEVOTION: Buildings.MONASTERY, Research.FAITH: Buildings.MONASTERY, Research.ILLUMINATION: Buildings.MONASTERY, Research.BLOCKPRINTING: Buildings.MONASTERY, Research.THEOCRACY: Buildings.MONASTERY, Research.ARSON: Buildings.BARRACKS, Research.GAMBESONS: Buildings.BARRACKS, Research.SQUIRES: Buildings.BARRACKS, Research.FORGING: Buildings.BLACKSMITH, Research.IRONCASTING: Buildings.BLACKSMITH, Research.BLASTFURNACE: Buildings.BLACKSMITH, Research.SCALEMAILARMOR: Buildings.BLACKSMITH, Research.CHAINMAILARMOR: Buildings.BLACKSMITH, Research.PLATEMAILARMOR: Buildings.BLACKSMITH, Research.THUMBRING: Buildings.ARCHERYRANGE, Research.PARTHIANTACTICS: Buildings.ARCHERYRANGE, Research.FLETCHING: Buildings.BLACKSMITH, Research.BODKINARROW: Buildings.BLACKSMITH, Research.BRACER: Buildings.BLACKSMITH, Research.PADDEDARCHERARMOR: Buildings.BLACKSMITH, Research.LEATHERARCHERARMOR: Buildings.BLACKSMITH, Research.RINGARCHERARMOR: Buildings.BLACKSMITH, Research.BALLISTICS: Buildings.UNIVERSITY, Research.HEATEDSHOT: Buildings.UNIVERSITY, Research.MURDERHOLES: Buildings.UNIVERSITY, Research.ARROWSLITS: Buildings.UNIVERSITY, Research.CHEMISTRY: Buildings.UNIVERSITY, Research.SIEGEENGINEERS: Buildings.UNIVERSITY, Research.BLOODLINES: Buildings.STABLE, Research.HUSBANDRY: Buildings.STABLE, Research.SCALEBARDINGARMOR: Buildings.BLACKSMITH, Research.CHAINBARDINGARMOR: Buildings.BLACKSMITH, Research.PLATEBARDINGARMOR: Buildings.BLACKSMITH, Research.CAREENING: Buildings.UNIVERSITY, Research.DRYDOCK: Buildings.UNIVERSITY, Research.SHIPWRIGHT: Buildings.UNIVERSITY, Research.CLINKERCONSTRUCTION: Buildings.UNIVERSITY, Research.CARVELHULL: Buildings.UNIVERSITY, Research.SIPHONS: Buildings.UNIVERSITY, Research.INCENDIARIES: Buildings.UNIVERSITY, Research.LOOM: Buildings.TOWNCENTER, Research.SAPPERS: Buildings.CASTLE, Research.BOMBARDTOWER: Buildings.UNIVERSITY, })