It seems like this part of Victory.py is the problem
if iGameTurn == getTurnForYear(1960):
bestCity = self.calculateTopCityCulture(18, 37)
if bestCity != -1:
if bestCity.getOwner() == iAztecs and bestCity.getX() == 18 and bestCity.getY() == 37:
self.setGoal(iAztecs, 2, 1)
else:
self.setGoal(iAztecs, 2, 0)
else:
self.setGoal(iAztecs, 2, 0)
and the calculateTopCityCulture fuction is given as:
def calculateTopCityCulture(self, x, y):
iBestCityValue = 0
if gc.getMap().plot(x,y).isCity():
pCurrent = gc.getMap().plot(x,y)
else:
for iCiv in range(con.iNumPlayers):
if gc.getPlayer(iCiv).isAlive():
pCurrent = gc.getPlayer(iCiv).getCapitalCity().plot()
break
if (pCurrent.isCity()):
bestCity = pCurrent.getPlotCity()
for iPlayerLoop in range(gc.getMAX_PLAYERS()):
apCityList = PyPlayer(iPlayerLoop).getCityList()
for pCity in apCityList:
iTotalCityValue = pCity.GetCy().countTotalCultureTimes100()
#iTotalCityValue = (pCity.getCulture() / 5) + (pCity.getFoodRate() + pCity.getProductionRate() \
# + pCity.calculateGoldRate())) * pCity.getPopulation()
if (iTotalCityValue > iBestCityValue and not pCity.isBarbarian()):
bestCity = pCity
iBestCityValue = iTotalCityValue
return bestCity
return -1
Which does not find the most populous city, but takes culture, food and production into account.
I won the game when I made the great art work at Mexico city.