Bad Player
Deity
GreekWorld.py - 2
Spoiler :
Code:
#Persian events
if (pPersia.isHuman() == 0):
city = gc.getMap().plot( tParsa[0], tParsa[1] ).getPlotCity()
if not city.isNone():
if (city.getOwner() == iPersia):
#Media, Iran
self.flipCity(9, tEcbatana, 1, 1, iPersia, [18, iIndia])
self.flipCity(9, tGabae, 1, 1, iPersia, [18, iIndia])
self.flipCity(9, tRagha, 1, 1, iPersia, [18, iIndia])
self.flipCity(9, tHasanlu, 1, 1, iPersia, [18, iIndia])
self.flipCity(9, tBactra, 1, 1, iPersia, [18, iIndia])
#Turkey
if (pMacedonia.isHuman() == 0):
self.flipCity(10, tSardis, 1, 1, iPersia, [18, iIndia, iGreekCol, iGreece])
self.flipCity(10, tTrapezus, 1, 1, iPersia, [iGreekCol, iIndia])
self.flipCity(10, tTarsus, 1, 1, iPersia, [18, iIndia, iGreekCol, iGreece])
self.flipCity(10, tMiletos, 0, 1, iPersia, [iGreece])
#Babylon
for cityName in PyPlayer(iBabylon).getCityList():
if not cityName.isNone():
tCoords = (cityName.GetCy().getX(), cityName.GetCy().getY())
self.flipCity(12, tCoords, 1, 1, iPersia, [iBabylon])
#Syria
self.flipCity(13, tAleppo, 1, 1, iPersia, [18])
self.flipCity(13, tTyre, 1, 1, iPersia, [18])
#Egypt
if (pMacedonia.isHuman() == 0):
self.flipCity(15, tTanis, 1, 1, iPersia, [iEgypt])
self.flipCity(15, tMemphis, 1, 1, iPersia, [iEgypt])
self.flipCity(15, tHeliopolis, 1, 1, iPersia, [iEgypt])
self.flipCity(15, tThebes, 1, 1, iPersia, [iEgypt])
self.flipCity(15, tCyrene, 1, 1, iPersia, [iEgypt, iGreekCol])
#Darius
self.flipCity(16, tPura, 1, 1, iPersia, [18, iIndia])
self.flipCity(16, tTaxila, 1, 1, iPersia, [iIndia])
self.flipCity(16, tIsmara, 1, 1, iPersia, [18])
if (pMacedonia.isHuman() == 0):
self.flipCity(16, tByzantium, 1, 1, iPersia, [iGreekCol])
#Persian wars
if (self.getPersianFate() >= 30): # LOQ 2005-10-12
self.flipCity(24, tMiletos, 0, 1, iGreece, [iPersia])
#Egypt will be free later
self.flipCity(39, tTanis, 1, 1, iEgypt, [iPersia])
self.flipCity(39, tMemphis, 1, 1, iEgypt, [iPersia])
self.flipCity(39, tHeliopolis, 1, 1, iEgypt, [iPersia])
self.flipCity(39, tThebes, 1, 1, iEgypt, [iPersia])
self.flipCity(39, tCyrene, 1, 1, iEgypt, [iPersia])
#Persian wars: alternative (Persia wins)
if (self.getPersianFate() < 30): # LOQ 2005-10-12
for cityName in PyPlayer(iGreece).getCityList():
if not cityName.isNone():
tCoords = (cityName.GetCy().getX(), cityName.GetCy().getY())
self.flipCity(24, tCoords, 1, 1, iPersia, [iGreece])
self.flipCity(24, tSiracusa, 1, 1, iPhoenicia, [iGreekCol])
self.flipCity(24, tTrapezus, 1, 1, iGreekCol, [iPersia])
self.flipCity(24, tTaxila, 1, 1, iIndia, [iPersia])
self.flipCity(24, tEcbatana, 1, 1, iParthia, [iPersia])
#Parthia
self.flipCity(56, tGabae, 0, 1, iParthia, [iPersia])
self.flipCity(56, tRagha, 0, 1, iParthia, [iPersia])
self.flipCity(56, tHasanlu, 0, 1, iParthia, [iPersia])
self.flipCity(56, tBactra, 0, 1, iParthia, [iPersia])
#Macedonian events
if (pMacedonia.isHuman() == 0):
city = gc.getMap().plot( tArgos[0], tArgos[1] ).getPlotCity()
if not city.isNone():
if (city.getOwner() == iMacedonia):
self.flipCity(51, tIsmara, 1, 1, iMacedonia, [18, iScythia, iGreekCol])
self.flipCity(52, tDelphi, 1, 1, iMacedonia, [iGreece])
self.flipCity(52, tCorinth, 1, 1, iMacedonia, [iGreece])
self.flipCity(52, tSparta, 1, 1, iMacedonia, [iGreece])
self.flipCity(52, tAthens, 1, 1, iMacedonia, [iGreece])
self.flipCity(52, tMiletos, 0, 1, iGreekCol, [iGreece])
self.flipCity(52, tRhodes, 0, 1, iGreekCol, [iGreece])
#Alexander
self.flipCity(53, tMiletos, 1, 1, iMacedonia, [iGreekCol, iIsrael, iScythia, iBabylon])
self.flipCity(53, tRhodes, 1, 1, iMacedonia, [iGreekCol,iBabylon])
self.flipCity(53, tTarsus, 1, 1, iMacedonia, [18, iGreekCol, iScythia, iIsrael, iParthia, iBabylon])
self.flipCity(53, tSardis, 1, 1, iMacedonia, [18, iGreekCol, iScythia, iIsrael, iParthia, iBabylon])
self.flipCity(53, tAleppo, 1, 1, iMacedonia, [18, iGreekCol, iScythia, iIsrael, iParthia, iBabylon])
self.flipCity(54, tTyre, 1, 1, iMacedonia, [iEgypt, iPhoenicia, iIsrael, iBabylon])
self.flipCity(54, tYerushalayim, 0, 1, iMacedonia, [iIsrael, iBabylon])
self.flipCity(54, tTanis, 0, 1, iMacedonia, [iEgypt, iBabylon])
self.flipCity(54, tMemphis, 0, 1, iMacedonia, [iEgypt, iBabylon])
self.flipCity(54, tHeliopolis, 0, 1, iMacedonia, [iEgypt, iBabylon])
self.flipCity(54, tThebes, 0, 1, iMacedonia, [iEgypt, iBabylon])
self.flipCity(55, tAshur, 0, 1, iMacedonia, [iBabylon, iIsrael])
self.flipCity(55, tBabylon, 0, 1, iMacedonia, [iBabylon, iIsrael])
self.flipCity(55, tSusa, 0, 1, iMacedonia, [iBabylon, iIsrael])
#Alexander attacks Persian territories (only if player is Rome)
if (pPersia.isHuman() == 0):
for cityName in PyPlayer(iPersia).getCityList():
if not cityName.isNone():
tCoords = (cityName.GetCy().getX(), cityName.GetCy().getY())
self.flipCity(55, tCoords, 0, 1, iMacedonia, [iPersia])
if (iGameTurn == 54) or (iGameTurn == 55): #Seleucia spawn
tTopLeft = (45, 32)
tBottomRight = (51, 39)
dummy, plotList = self.squareSearch( tTopLeft, tBottomRight, self.innerInvasion, [] )
rndNum = gc.getGame().getSorenRandNum(len(plotList), 'Greek World - Seleucia')
result = plotList[rndNum]
if (result):
self.makeUnit(iPhalanx, iSeleucia, result, 4)
#Alexander dies
if (self.getAlexanderFate() >= 30): # LOQ 2005-10-12
self.flipCity(56, tTrapezus, 0, 1, iGreekCol, [iMacedonia])
self.flipCity(56, tMiletos, 0, 1, iGreekCol, [iMacedonia])
self.flipCity(56, tRhodes, 0, 1, iGreekCol, [iMacedonia])
self.flipCity(56, tSardis, 0, 1, iGreekCol, [iMacedonia])
self.flipCity(56, tTarsus, 0, 1, iSeleucia, [iMacedonia])
self.flipCity(56, tAleppo, 0, 1, iSeleucia, [iMacedonia])
self.flipCity(56, tTyre, 0, 1, iSeleucia, [iMacedonia])
self.flipCity(56, tYerushalayim, 0, 1, iSeleucia, [iMacedonia])
self.flipCity(56, tEcbatana, 0, 1, iSeleucia, [iMacedonia])
self.flipCity(56, tBabylon, 0, 1, iSeleucia, [iMacedonia])
self.flipCity(56, tAshur, 0, 1, iSeleucia, [iMacedonia])
self.flipCity(56, tLarsa, 0, 1, iSeleucia, [iMacedonia])
self.flipCity(56, tNineveh, 0, 1, iSeleucia, [iMacedonia])
self.flipCity(56, tSusa, 0, 1, iSeleucia, [iMacedonia])
self.flipCity(56, tParsa, 0, 1, iSeleucia, [iMacedonia])
#stronger Seleucid empire
if (iGameTurn == 57):
for cityName in PyPlayer(iSeleucia).getCityList():
if not cityName.isNone():
tCoords = (cityName.GetCy().getX(), cityName.GetCy().getY())
self.makeUnit(iPhalanx, iSeleucia, tCoords, 2)
self.flipCity(56, tGabae, 0, 1, iParthia, [iMacedonia])
self.flipCity(56, tRagha, 0, 1, iParthia, [iMacedonia])
self.flipCity(56, tHasanlu, 0, 1, iParthia, [iMacedonia])
self.flipCity(56, tBactra, 0, 1, iIndia, [iMacedonia])
self.flipCity(56, tTaxila, 0, 1, iIndia, [iMacedonia])
self.flipCity(56, tTanis, 0, 1, iEgypt, [iMacedonia])
self.flipCity(56, tMemphis, 0, 1, iEgypt, [iMacedonia])
self.flipCity(56, tHeliopolis, 0, 1, iEgypt, [iMacedonia])
self.flipCity(56, tThebes, 0, 1, iEgypt, [iMacedonia])
self.flipCity(56, tCyrene, 0, 1, iEgypt, [iMacedonia])
#Alexander lives
if (self.getAlexanderFate() < 30): # LOQ 2005-10-12
self.flipCity(57, tPetra, 1, 1, iMacedonia, [18, iEgypt, iIsrael])
self.flipCity(57, tTayma, 1, 1, iMacedonia, [18, iEgypt, iIsrael])
self.flipCity(57, tMarib, 1, 1, iMacedonia, [18, iEgypt, iIsrael])
self.flipCity(57, tGerrha, 1, 1, iMacedonia, [18, iEgypt, iIsrael])
self.flipCity(59, tGadir, 1, 1, iMacedonia, [iPhoenicia])
if (pRome.isHuman() == 0):
self.flipCity(58, tSiracusa, 1, 1, iMacedonia, [iPhoenicia, iGreekCol, iRome])
self.flipCity(58, tPalemmo, 1, 1, iMacedonia, [iPhoenicia, iGreekCol, iRome])
self.flipCity(59, tGadir, 1, 1, iMacedonia, [iRome])
self.flipCity(61, tGabae, 1, 1, iParthia, [iMacedonia])
self.flipCity(61, tRagha, 1, 1, iParthia, [iMacedonia])
self.flipCity(61, tHasanlu, 1, 1, iParthia, [iMacedonia])
self.flipCity(61, tBactra, 1, 1, iIndia, [iMacedonia])
self.flipCity(62, tTaxila, 1, 1, iIndia, [iMacedonia])
self.flipCity(62, tAthens, 1, 1, iGreece, [iMacedonia])
self.flipCity(62, tSparta, 1, 1, iGreece, [iMacedonia])
self.flipCity(62, tDelphi, 1, 1, iGreece, [iMacedonia])
self.flipCity(62, tCorinth, 1, 1, iGreece, [iMacedonia])
self.flipCity(63, tTarsus, 0, 1, iSeleucia, [iMacedonia])
self.flipCity(63, tAleppo, 0, 1, iSeleucia, [iMacedonia])
self.flipCity(63, tTyre, 0, 1, iSeleucia, [iMacedonia])
self.flipCity(63, tYerushalayim, 0, 1, iSeleucia, [iMacedonia])
self.flipCity(63, tPetra, 0, 1, iSeleucia, [iMacedonia])
self.flipCity(63, tTayma, 0, 1, iSeleucia, [iMacedonia])
self.flipCity(63, tMarib, 0, 1, iSeleucia, [iMacedonia])
self.flipCity(63, tGerrha, 0, 1, iSeleucia, [iMacedonia])
if (iGameTurn == 64):
for cityName in PyPlayer(iSeleucia).getCityList():
if not cityName.isNone():
tCoords = (cityName.GetCy().getX(), cityName.GetCy().getY())
self.makeUnit(iPhalanx, iSeleucia, tCoords, 2)
#Parthian expansion
self.flipCity(92, tEcbatana, 1, 1, iParthia, [iSeleucia, iMacedonia])
self.flipCity(92, tBabylon, 1, 1, iParthia, [iSeleucia, iMacedonia])
self.flipCity(92, tAshur, 1, 1, iParthia, [iSeleucia, iMacedonia])
self.flipCity(92, tLarsa, 1, 1, iParthia, [iSeleucia, iMacedonia])
self.flipCity(92, tNineveh, 1, 1, iParthia, [iSeleucia, iMacedonia])
self.flipCity(92, tSusa, 1, 1, iParthia, [iSeleucia, iMacedonia])
self.flipCity(92, tParsa, 1, 1, iParthia, [iSeleucia, iMacedonia])
if (iGameTurn == 93):
for cityName in PyPlayer(iParthia).getCityList():
if not cityName.isNone():
tCoords = (cityName.GetCy().getX(), cityName.GetCy().getY())
self.makeUnit(iHorseArcher, iParthia, tCoords, 2)
# Christianity by LOQ
if (iGameTurn == 123):
city = gc.getMap().plot( tYerushalayim[0], tYerushalayim[1] ).getPlotCity()
# if Yerushalayim razed
if city.isNone():
jewishCityList = []
for iPlayer in range(iNumPlayers):
for pyCity in PyPlayer(iPlayer).getCityList():
if pyCity.GetCy().isHasReligion(iJudaism):
jewishCityList.append(pyCity.GetCy())
if jewishCityList:
iCity = gc.getGame().getSorenRandNum(len(jewishCityList), 'Greek World - Birth of Christianity')
city = jewishCityList[iCity]
# if Yerushalayim exists or an alternative is found
if not city.isNone():
gc.getGame().setHolyCity(iChristianity, city, True)
#Christianity spreads
tCoords = (city.getX(), city.getY())
if (gc.getPlayer(city.getOwner()).isHuman() == 0):
self.makeUnit(iChristianMissionary, city.getOwner(), tCoords, 7)
#Christianity spreads
if (iGameTurn >= 130) and (iGameTurn <= 170):
christianCityList = []
for iPlayer in range(iNumPlayers):
for pyCity in PyPlayer(iPlayer).getCityList():
if pyCity.GetCy().isHasReligion(iChristianity):
christianCityList.append(pyCity.GetCy())
if christianCityList:
iCity = gc.getGame().getSorenRandNum(len(christianCityList), 'Greek World - Spread of Christianity')
city = christianCityList[iCity]
tCoords = (city.getX(), city.getY())
if (gc.getPlayer(city.getOwner()).isHuman() == 0):
self.makeUnit(iChristianMissionary, city.getOwner(), tCoords, 1)
def flipCity(self, iFlipTurn, tCityPlot, bFlipType, bKillUnits, iNewOwner, iOldOwners):
"""Changes owner of city specified by tCityPlot on turn iFlipTurn.
bFlipType specifies if it's conquered or traded.
If bKillUnits != 0 all the units in the city will be killed and replaced by two archers.
iOldOwners is a list. Flip happens only if the old owner is in the list. An empty list will cause the flip to always happen."""
pNewOwner = gc.getPlayer(iNewOwner)
if (gc.getGame().getGameTurn() == iFlipTurn):
## popup = Popup.PyPopup()
## popup.setBodyString( 'Turn' )
## popup.launch()
city = gc.getMap().plot( tCityPlot[0], tCityPlot[1] ).getPlotCity()
if not city.isNone():
## popup = Popup.PyPopup()
## popup.setBodyString( 'NoCity' )
## popup.launch()
if (city.getOwner() in iOldOwners or not iOldOwners):
## popup = Popup.PyPopup()
## popup.setBodyString( 'Owners' )
## popup.launch()
if (bKillUnits):
killPlot = gc.getMap().plot( tCityPlot[0], tCityPlot[1] )
for i in range(killPlot.getNumUnits()):
unit = killPlot.getUnit(0)
unit.kill(False, iNewOwner)
if (bFlipType): #conquest
if (city.getPopulation() == 2):
city.setPopulation(3)
if (city.getPopulation() == 1):
city.setPopulation(2)
pNewOwner.acquireCity(city, True, False)
else: #trade
pNewOwner.acquireCity(city, False, True)
if (bKillUnits):
self.makeUnit(iArcher, iNewOwner, tCityPlot, 2)
return True
return False