from aoe.types import * class BuildingDependencies(): def __init__(self): self.dependencies = { Buildings.HOUSE: [Ages.DARK], Buildings.LUMBERCAMP: [Ages.DARK], Buildings.MILL: [Ages.DARK], Buildings.FARM: [Ages.DARK, Buildings.MILL], Buildings.MININGCAMP: [Ages.DARK], Buildings.DOCK: [Ages.DARK], Buildings.BARRACKS: [Ages.DARK], Buildings.PALISADEWALL: [Ages.DARK], Buildings.PALISADEGATE: [Ages.DARK], Buildings.TOWNCENTER: [Ages.DARK], Buildings.BLACKSMITH: [Ages.FEUDAL], Buildings.WATCHTOWER: [Ages.FEUDAL], Buildings.STONEWALL: [Ages.FEUDAL], Buildings.GATE: [Ages.FEUDAL], Buildings.DONJON: [Ages.FEUDAL], Buildings.FISHTRAP: [Ages.FEUDAL], Buildings.MARKET: [Ages.FEUDAL, Buildings.MILL], Buildings.ARCHERYRANGE: [Ages.FEUDAL, Buildings.BARRACKS], Buildings.STABLE: [Ages.FEUDAL, Buildings.BARRACKS], } class AgeDependencies(): def __init__(self): self.dependencies = { Ages.FEUDAL: { Buildings.BARRACKS: 1, Buildings.MILL: 1, Buildings.LUMBERCAMP: 1, Buildings.MININGCAMP: 1, Buildings.DOCK: 1, #Buildings.MULECART: 1, #Buildings.FOLWARK: 1, #Buildings.SETTLEMENT: 2, }, Ages.CASTLE: { Buildings.ARCHERYRANGE: 1, Buildings.STABLE: 1, Buildings.MARKET: 1, Buildings.BLACKSMITH: 1, #Buildings.SIEGEWORKSHOP: 1, }, Ages.IMPERIAL: { #Buildings.MONASTERY: 1, #Buildings.FORTIFIEDCHURCH: 1, #Buildings.UNIVERSITY: 1, #Buildings.SIEGEWORKSHOP: 1, #Buildings.CASTLE: 2, #Buildings.KREPOST: 2, }, } self.dependencies_counts = { Ages.FEUDAL: 2, Ages.CASTLE: 2, Ages.IMPERIAL: 2, } class ResearchDependencies(): def __init__(self): self.dependencies = { Research.DOUBLEBITAXE: [Ages.FEUDAL, Buildings.LUMBERCAMP], Research.BOWSAW: [Ages.CASTLE, Buildings.LUMBERCAMP, Research.DOUBLEBITAXE], Research.TWOMANSAW: [Ages.IMPERIAL, Buildings.LUMBERCAMP, Research.BOWSAW], Research.HORSECOLLAR: [Ages.FEUDAL, Buildings.MILL], Research.HEAVYPLOW: [Ages.CASTLE, Buildings.MILL, Research.HORSECOLLAR], Research.CROPCYCLE: [Ages.IMPERIAL, Buildings.MILL, Research.HEAVYPLOW], Research.GOLDMINING: [Ages.FEUDAL, Buildings.MININGCAMP], Research.GOLDSHAFTMINING: [Ages.CASTLE, Buildings.MININGCAMP, Research.GOLDMINING], Research.STONEMINING: [Ages.FEUDAL, Buildings.MININGCAMP], Research.STONESHAFTMINING: [Ages.CASTLE, Buildings.MININGCAMP, Research.STONEMINING], } class UnitDependencies(): def __init__(self): self.dependencies = { Units.VILLAGER: [Buildings.TOWNCENTER], Units.TRADECART: [Buildings.MARKET], Units.SPEARMAN: [Ages.FEUDAL, Buildings.BARRACKS], Units.MILITIA: [Buildings.BARRACKS], Units.SCOUT: [Ages.FEUDAL, Buildings.STABLE], Units.KNIGHT: [Ages.CASTLE, Buildings.STABLE], Units.SKIRMISHER: [Ages.FEUDAL, Buildings.ARCHERYRANGE], Units.ARCHER: [Ages.FEUDAL, Buildings.ARCHERYRANGE], }