Tiramisu
Warlord
I wonder how the GMR PBEM-Tool manages to replace humans by the AI. Do they use any mods or Lua-functions?
No, each great work = 1 of each strategic resources (5 in all), no matter its type. Sorry for previous confusing details.
local pCapitalCity = pPlayer:GetCapitalCity()
pCapitalCity:SetNumRealBuilding(GameInfoTypes.BUILDING_RESOURCES_DUMMY, pCapitalCity:GetNumGreatWorks())
<Building_ResourceQuantity>
<Row>
<BuildingType>BUILDING_RESOURCES_DUMMY</BuildingType>
<ResourceType>RESOURCE_ALUMINUM</ResourceType>
<Quantity>1</Quantity>
</Row>
<Row>
<BuildingType>BUILDING_RESOURCES_DUMMY</BuildingType>
<ResourceType>RESOURCE_COAL</ResourceType>
<Quantity>1</Quantity>
</Row>
<Row>
<BuildingType>BUILDING_RESOURCES_DUMMY</BuildingType>
<ResourceType>RESOURCE_URANIUM</ResourceType>
<Quantity>1</Quantity>
</Row>
<Row>
<BuildingType>BUILDING_RESOURCES_DUMMY</BuildingType>
<ResourceType>RESOURCE_IRON</ResourceType>
<Quantity>1</Quantity>
</Row>
<Row>
<BuildingType>BUILDING_RESOURCES_DUMMY</BuildingType>
<ResourceType>RESOURCE_HORSE</ResourceType>
<Quantity>1</Quantity>
</Row>
<Row>
<BuildingType>BUILDING_RESOURCES_DUMMY</BuildingType>
<ResourceType>RESOURCE_OIL</ResourceType>
<Quantity>1</Quantity>
</Row>
</Building_ResourceQuantity>
local buildingCapitalStrategicID = GameInfoTypes["BUILDING_YOUR_BUILDING_HERE"]
local greatWorkLiteratureID = GameInfoTypes["GREAT_WORK_SLOT_LITERATURE"]
local greatWorkArtOrArtifactID = GameInfoTypes["GREAT_WORK_SLOT_ART_ARTIFACT"]
local greatWorkMusicID = GameInfoTypes["GREAT_WORK_SLOT_MUSIC"]
function numGreatWorks(greatWork)
for city in player:Cities() do
local cityGreatWorks = city:GetNumGreatWorks(greatWork)
end
return cityGreatWorks
end
function GPuz_StrategicsForGreatWorks(playerID)
local player = Players[playerID]
local greatWorkCount = numGreatWorks(greatWorkLiteratureID)+numGreatWorks(greatWorkArtOrArtifactID)+numGreatWorks(greatWorkMusicID)
if (player:IsAlive() and player:GetCivilizationType() == civilisationID) then
for city in player:Cities() do
local capital = city:IsCapital()
if capital then
city:SetNumRealBuilding(buildingCapitalStrategicID, greatWorkCount)
else
if city:IsHasBuilding(buildingCapitalStrategicID) then
city:SetNumRealBuilding(buildingCapitalStrategicID, 0)
end
end
end
end
end
GameEvents.PlayerDoTurn.Add(GPuz_StrategicsForGreatWorks)