Esempio n. 1
0
    def refresh(self):
        self.resource_income = gamedef.config.default_income
        self.queues_speed = {}

        class Env:
            def incr_resource_income(this, res):
                self.resource_income = self.resource_income.add(res)

            def speed_queue(this, name, times):
                if name not in self.queues_speed:
                    self.queues_speed[name] = 1
                self.queues_speed[name] *= times

        env = Env()
        for ident, level in self.buildings.items():
            buildingobj = gamedef.get_building_object(ident)
            buildingobj.run(env, level)

        for ident, n in self.garnison.items():
            self.decr_resource_income(gamedef.get_unit_object(ident).get_upkeep().mul(n))
Esempio n. 2
0
 def add_units_to_queue(self, ident, amount):
     unitobj = gamedef.get_unit_object(ident)
     q = unitobj.get_queue()
     qspeed = self.queues_speed[q] if q in self.queues_speed else 1
     self.get_unit_queue(q)[1].append([ident, amount, unitobj.get_time() / qspeed, unitobj.get_costs()])