Initial commit
This commit is contained in:
96
aoe/dependencies.py
Normal file
96
aoe/dependencies.py
Normal file
@@ -0,0 +1,96 @@
|
||||
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],
|
||||
}
|
||||
Reference in New Issue
Block a user