97 lines
5.0 KiB
Python
97 lines
5.0 KiB
Python
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],
|
|
}
|