function FWBuildingImprovementBonuses(iPlayer)
local pPlayer = Players[iPlayer]
local tMyWheatPlotsThisTurn = {}
for pCity in pPlayer:Cities() do
local tNearbyDatas = GetCityMapDatas(pCity)
if pCity:IsHasBuilding(iBuildingGeneLab) then
local iNumFarms = GetNumCityWorkingImprovementPlots(tNearbyDatas, iImprovementFarm)
print("Num Farms: " .. iNumFarms)
pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_FW_GENE_LAB_DUMMY"], iNumFarms)
else
pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_FW_GENE_LAB_DUMMY"], 0)
end
--if pCity:IsHasBuilding(iBuildingCloneLab) then
-- local iNumPastures = GetNumCityWorkingImprovementPlots(tNearbyDatas, iImprovementPasture)
-- pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_FW_CLONE_LAB_DUMMY"], iNumPastures)
--else
-- pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_FW_CLONE_LAB_DUMMY"], 0)
--end
if pCity:IsHasBuilding(iBuildingSanctuary) then
local iNumPreserves = GetNumCityWorkingImprovementPlots(tNearbyDatas, iImprovementPreserve)
print("Num Preserves: " .. iNumPreserves)
pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_FW_SANCTUARY_DUMMY"], iNumPreserves)
else
pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_FW_SANCTUARY_DUMMY"], 0)
end
if pCity:IsHasBuilding(iBuildingNetworkBackbone) then
local tCommArrayPlots = GetCityImprovementPlots(tNearbyDatas, iImprovementCommArray, "Plots")
local iNumCommArrays = #tCommArrayPlots
print("Num CommArrays: " .. iNumCommArrays)
pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_FW_NETWORK_BACKBONE_DUMMY_3"], iNumCommArrays)
else
pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_FW_NETWORK_BACKBONE_DUMMY_3"], 0)
end
if pCity:IsHasBuilding(iBuildingDroneHive) then
local tGeneratorPlots = GetCityImprovementPlots(tNearbyDatas, iImprovementGenerator, "Plots")
local iNumGenerators = #tGeneratorPlots
print("Num Generators: " .. iNumGenerators)
pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_FW_DRONE_HIVE_DUMMY_1"], iNumGenerators)
else
pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_FW_DRONE_HIVE_DUMMY_1"], 0)
end
if pCity:IsHasBuilding(iBuildingSimulationServer) then
local tCorePlots = GetCityImprovementPlots(tNearbyDatas, iImprovementCore, "Plots")
local iNumCores = #tCorePlots
print("Num Cores: " .. iNumCores)
pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_FW_SIMULATION_SERVER_DUMMY_2"], iNumCores)
else
pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_FW_DRONE_HIVE_DUMMY_2"], 0)
end
if pCity:IsHasBuilding(iBuildingDistributionHub) then
local iNumIndustrialSites = GetNumCityWorkingImprovementPlots(tNearbyDatas, iImprovementIndustrialSite)
--if (pPlayer:GetBuildingClassCount(iBuildingCentralCommandClass) > 0) then
-- iNumIndustrialSites = iNumIndustrialSites * 2
--end
print("Num Industrial Sites: " .. iNumIndustrialSites)
pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_FW_DISTRIBUTION_HUB_DUMMY"], iNumIndustrialSites)
else
pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_FW_DISTRIBUTION_HUB_DUMMY"], 0)
end
if pCity:IsHasBuilding(iBuildingMetroplexHub) then
local iNumArcologies = GetNumCityWorkingImprovementPlots(tNearbyDatas, iImprovementArcology)
--if (pPlayer:GetBuildingClassCount(iBuildingCentralCommandClass) > 0) then
-- iNumArcologies = iNumArcologies * 2
--end
print("Num Arcologies: " .. iNumArcologies)
pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_FW_METROPLEX_HUB_DUMMY"], iNumArcologies)
else
pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_FW_METROPLEX_HUB_DUMMY"], 0)
end
if pCity:IsHasBuilding(iBuildingVerticalFarm) then
local iNumDomes = GetNumCityWorkingImprovementPlots(tNearbyDatas, iImprovementDome)
print("Num Domes: " .. iNumDomes)
pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_FW_VERTICAL_FARM_DUMMY"], iNumDomes)
else
pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_FW_VERTICAL_FARM_DUMMY"], 0)
end
end
end