Exemplo n.º 1
0
def MetalHangar() -> Building:
    return Building(
        components={
            BuildingComponent:
            BuildingComponent(
                name="Metal Hangar",
                base_cost={Resources.Metal: 1000},
                upgrade_cost_factor=2.0,
            ),
            StorageComponent:
            StorageComponent(resources_storage={Resources.Metal: 10000}),
        })
Exemplo n.º 2
0
def ResearchLab() -> Building:
    return Building(
        components={
            BuildingComponent:
            BuildingComponent(
                name="Research Lab",
                base_cost={
                    Resources.Metal: 200,
                    Resources.Cristal: 400,
                    Resources.Deuterium: 200,
                },
                upgrade_cost_factor=2.0,
            )
        })
Exemplo n.º 3
0
def Shipyard() -> Building:
    return Building(
        components={
            BuildingComponent:
            BuildingComponent(
                name="Shipyard",
                base_cost={
                    Resources.Metal: 400,
                    Resources.Cristal: 200,
                    Resources.Deuterium: 100,
                },
                upgrade_cost_factor=2.0,
            ),
        })
Exemplo n.º 4
0
def DeuteriumTank() -> Building:
    return Building(
        components={
            BuildingComponent:
            BuildingComponent(
                name="Deuterium Tank",
                base_cost={
                    Resources.Metal: 1000,
                    Resources.Cristal: 1000
                },
                upgrade_cost_factor=2,
            ),
            StorageComponent:
            StorageComponent(resources_storage={Resources.Deuterium: 10000}),
        })
Exemplo n.º 5
0
def DeuteriumSynthesizer() -> Building:
    return Building(
        components={
            ProducerComponent:
            ProducerComponent(production_rate={Resources.Deuterium: 10 / 3600},
                              energy_consumption=20),
            BuildingComponent:
            BuildingComponent(
                name="Deuterium Synthesizer",
                base_cost={
                    Resources.Metal: 225,
                    Resources.Cristal: 75
                },
                upgrade_cost_factor=1.5,
                upgrade_prod_factor=1.1,
            ),
        })
Exemplo n.º 6
0
def CristalMine() -> Building:
    return Building(
        components={
            ProducerComponent:
            ProducerComponent(production_rate={Resources.Cristal: 20 / 3600},
                              energy_consumption=10),
            BuildingComponent:
            BuildingComponent(
                name="Cristal Mine",
                base_cost={
                    Resources.Metal: 48,
                    Resources.Cristal: 24
                },
                upgrade_cost_factor=1.6,
                upgrade_prod_factor=1.1,
            ),
        })
Exemplo n.º 7
0
def SolarPlant() -> Building:
    return Building(
        components={
            ProducerComponent:
            ProducerComponent(production_rate={},
                              energy_consumption=0,
                              energy_production=20),
            BuildingComponent:
            BuildingComponent(
                name="Solar Plant",
                base_cost={
                    Resources.Metal: 75,
                    Resources.Cristal: 30
                },
                upgrade_cost_factor=1.5,
                upgrade_prod_factor=1.1,
            ),
        })
Exemplo n.º 8
0
def LaserTurret() -> Building:
    return Building(
        components={
            BuildingComponent:
            BuildingComponent(
                name="Laser Turret",
                base_cost={
                    Resources.Metal: 1500,
                    Resources.Cristal: 500
                },
                upgrade_cost_factor=1.0,
            ),
            CombatComponent:
            CombatComponent(hp=3800, shield=42, damage=190),
            RequirementsComponent:
            RequirementsComponent(building={"shipyard": 2},
                                  research={"laser": 3}),
        })
Exemplo n.º 9
0
def MissileTurret() -> Building:
    return Building(
        components={
            BuildingComponent:
            BuildingComponent(
                name="Missile Turret",
                base_cost={Resources.Metal: 2000},
                upgrade_cost_factor=1.0,
            ),
            CombatComponent:
            CombatComponent(
                hp=3800,
                shield=34,
                damage=152,
            ),
            RequirementsComponent:
            RequirementsComponent(building={"shipyard": 1}, research={}),
        })
Exemplo n.º 10
0
def HeavyLaser() -> Building:
    return Building(
        components={
            BuildingComponent:
            BuildingComponent(
                name="Heavy Laser",
                base_cost={
                    Resources.Metal: 6000,
                    Resources.Cristal: 2000
                },
                upgrade_cost_factor=1.0,
            ),
            CombatComponent:
            CombatComponent(hp=15200, shield=170, damage=475),
            RequirementsComponent:
            RequirementsComponent(building={"shipyard": 4},
                                  research={
                                      "energy": 3,
                                      "laser": 6
                                  }),
        })