async energyUsagePerTick(city: City): Promise<number> {
const buildings = await this.buildingRepository.list();
const buildingsMap = pluck<Building>(buildings, 'slug');
- const totalEnergy = _.sum([
- city.farms * buildingsMap['farms'].energy,
- city.barracks * buildingsMap['barracks'].energy,
- city.special_defender_trainer * buildingsMap['special_defender_trainer'].energy,
- city.special_attacker_trainer * buildingsMap['special_attacker_trainer'].energy,
- city.homes * buildingsMap['homes'].energy,
- city.warehouses * buildingsMap['warehouses'].energy,
- city.solar_panels * buildingsMap['solar_panels'].energy,
- city.mining_facilities * buildingsMap['mining_facilities'].energy,
- city.ore_refinery * buildingsMap['ore_refinery'].energy
- ]);
+ const totalEnergy = Math.ceil(_.sum([
+ city.farms * (buildingsMap['farms'].energy * 0.1),
+ city.barracks * (buildingsMap['barracks'].energy * 0.1),
+ city.special_defender_trainer * (buildingsMap['special_defender_trainer'].energy * 0.1),
+ city.special_attacker_trainer * (buildingsMap['special_attacker_trainer'].energy * 0.1),
+ city.homes * (buildingsMap['homes'].energy * 0.1),
+ city.warehouses * (buildingsMap['warehouses'].energy * 0.1),
+ city.solar_panels * (buildingsMap['solar_panels'].energy * 0.1),
+ city.mining_facilities * (buildingsMap['mining_facilities'].energy * 0.1),
+ city.ore_refinery * (buildingsMap['ore_refinery'].energy * 0.1)
+ ]));
return totalEnergy;
}