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))
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()])