Panopticon
Utilitarian
http://forums.civfanatics.com/downloads.php?do=file&id=13501
This is a very small mod to move a civ's capital from the old location to a new location after it is resurrected. For instance, Egypt begins in Niwt-Rst, but will now move its capital to Cairo if it is resurrected. The other civs which move capitals are Persia (Parsa -> Tehran), Japan (Kyoto -> Tokyo), Ethiopia (Aksum -> Addis Ababa), Vikings (Nidaros -> Copenhagen or Oslo), Arabia (Mecca -> Riyadh), Khmer (Angkor -> Phnom Penh), Mongolia (Karakorum -> Ulaanbataar) and Turkey (Sogut -> Ankara or Istanbul).
Download at the link above if you don't already use a modified Consts.py or RiseAndFall.py file. If you do, then you simply need to edit the Python code by adding the lines included below.
This is a very small mod to move a civ's capital from the old location to a new location after it is resurrected. For instance, Egypt begins in Niwt-Rst, but will now move its capital to Cairo if it is resurrected. The other civs which move capitals are Persia (Parsa -> Tehran), Japan (Kyoto -> Tokyo), Ethiopia (Aksum -> Addis Ababa), Vikings (Nidaros -> Copenhagen or Oslo), Arabia (Mecca -> Riyadh), Khmer (Angkor -> Phnom Penh), Mongolia (Karakorum -> Ulaanbataar) and Turkey (Sogut -> Ankara or Istanbul).
Download at the link above if you don't already use a modified Consts.py or RiseAndFall.py file. If you do, then you simply need to edit the Python code by adding the lines included below.
Spoiler :
In Consts.py:
Add after tCapitals:
In RiseAndFall.py:
Replace
with
Replace the entire function def moveBackCapital
with
Add after tCapitals:
Code:
tNewCapitals = ( #for RiseAndFall
((69, 35), (68, 35), (69, 33)), #Cairo
((90, 40), (90, 40)), #Delhi
((102, 47), (102, 47)), #Beijing
((76, 40), (76, 40)), #Baghdad
((67, 41), (67, 41)), #Athens
((80, 41), (81, 41), (82, 39)), #Teheran
((58, 39), (58, 39)), #Carthage
((60, 44), (60, 44)), #Rome
((116, 46), (116, 47), (113, 45)), #Tokyo
((72, 26), (72, 27), (72, 29)), #Addis Ababa
((22, 35), (22, 35)), #Tikal
((60, 55), (59, 58), (59, 59), (60, 59), (61, 62)), #Copenhagen & Oslo
((76, 35), (77, 35), (77, 34), (75, 33)), #Mecca
((102, 32), (102, 34)), #Phnom Penh
((52, 43), (52, 43)), #Madrid
((55, 50), (55, 50)), #Paris
((53, 54), (53, 54)), #London
((62, 52), (62, 52)), #Berlin
((73, 54), (73, 54)), #Moscow
((57, 53), (57, 53)), #Amsterdam
((53, 31), (53, 31)), #Timbuktu
((49, 43), (49, 43)), #Lisbon
((28, 22), (28, 22)), #Cuzco
((101, 50), (102, 50), (99, 51)), #Ulaanbataar
((18, 37), (18, 37)), #Mexico City
((72, 43), (68, 45), (67, 45), (69, 44), (70, 43)), #Ankara & Istanbul
((27, 46), (27, 46))) #Washington
In RiseAndFall.py:
Replace
Code:
tCapitals = con.tCapitals
Code:
tCapitals = con.tCapitals
tNewCapitals = con.tNewCapitals
Replace the entire function def moveBackCapital
with
Code:
def moveBackCapital(self, iCiv):
apCityList = PyPlayer(iCiv).getCityList()
if (len(tNewCapitals[iCiv])):
for j in range(len(tNewCapitals[iCiv])):
pCurrent = gc.getMap().plot( tNewCapitals[iCiv][j][0], tNewCapitals[iCiv][j][1] )
if ( pCurrent.isCity()):
newCapital = pCurrent.getPlotCity()
if (newCapital.getOwner() == iCiv):
if (not newCapital.hasBuilding(con.iPalace)):
for pCity in apCityList:
pCity.GetCy().setHasRealBuilding((con.iPalace), False)
newCapital.setHasRealBuilding((con.iPalace), True)
else:
iMaxValue = 0
bestCity = None
for pCity in apCityList:
loopCity = pCity.GetCy()
#loopCity.AI_cityValue() doesn't work as area AI types aren't updated yet
loopValue = max(0,500-loopCity.getGameTurnFounded()) + loopCity.getPopulation()*10
#print ("loopValue", loopCity.getName(), loopCity.AI_cityValue(), loopValue) #causes C++ exception
if (loopValue > iMaxValue):
iMaxValue = loopValue
bestCity = loopCity
if (bestCity != None):
for pCity in apCityList:
loopCity = pCity.GetCy()
if (loopCity != bestCity):
loopCity.setHasRealBuilding((con.iPalace), False)
bestCity.setHasRealBuilding((con.iPalace), True)