def doHellTerrain(self):
iAshenVeil = gc.getInfoTypeForString('RELIGION_THE_ASHEN_VEIL')
iBurningSands = gc.getInfoTypeForString('TERRAIN_BURNING_SANDS')
iBanana = gc.getInfoTypeForString('BONUS_BANANA')
iCotton = gc.getInfoTypeForString('BONUS_COTTON')
iCorn = gc.getInfoTypeForString('BONUS_CORN')
iCow = gc.getInfoTypeForString('BONUS_COW')
iEvil = gc.getInfoTypeForString('ALIGNMENT_EVIL')
iFarm = gc.getInfoTypeForString('IMPROVEMENT_FARM')
iFlames = gc.getInfoTypeForString('FEATURE_FLAMES')
iFlamesSpreadChance = gc.getDefineINT('FLAMES_SPREAD_CHANCE')
iGulagarm = gc.getInfoTypeForString('BONUS_GULAGARM')
iHorse = gc.getInfoTypeForString('BONUS_HORSE')
iInfernal = gc.getInfoTypeForString('CIVILIZATION_INFERNAL')
iMarble = gc.getInfoTypeForString('BONUS_MARBLE')
iNeutral = gc.getInfoTypeForString('ALIGNMENT_NEUTRAL')
iNightmare = gc.getInfoTypeForString('BONUS_NIGHTMARE')
iPig = gc.getInfoTypeForString('BONUS_PIG')
iRazorweed = gc.getInfoTypeForString('BONUS_RAZORWEED')
iRice = gc.getInfoTypeForString('BONUS_RICE')
iSheep = gc.getInfoTypeForString('BONUS_SHEEP')
iSheutStone = gc.getInfoTypeForString('BONUS_SHEUT_STONE')
iSilk = gc.getInfoTypeForString('BONUS_SILK')
iSnakePillar = gc.getInfoTypeForString('IMPROVEMENT_SNAKE_PILLAR')
iSugar = gc.getInfoTypeForString('BONUS_SUGAR')
iToad = gc.getInfoTypeForString('BONUS_TOAD')
iWheat = gc.getInfoTypeForString('BONUS_WHEAT')
iCount = CyGame().getGlobalCounter()
for i in range (CyMap().numPlots()):
pPlot = CyMap().plotByIndex(i)
iFeature = pPlot.getFeatureType()
iTerrain = pPlot.getTerrainType()
iBonus = pPlot.getBonusType(-1)
iImprovement = pPlot.getImprovementType()
bUntouched = true
if pPlot.isOwned():
pPlayer = gc.getPlayer(pPlot.getOwner())
iAlignment = pPlayer.getAlignment()
if pPlayer.getCivilizationType() == iInfernal:
pPlot.changePlotCounter(100)
bUntouched = false
if (bUntouched and pPlayer.getStateReligion() == iAshenVeil or (iCount >= 50 and iAlignment == iEvil) or (iCount >= 75 and iAlignment == iNeutral)):
iX = pPlot.getX()
iY = pPlot.getY()
for iiX in range(iX-1, iX+2, 1):
for iiY in range(iY-1, iY+2, 1):
pAdjacentPlot = CyMap().plot(iiX,iiY)
if pAdjacentPlot.isNone() == False:
if pAdjacentPlot.getPlotCounter() > 10:
pPlot.changePlotCounter(1)
bUntouched = false
if (bUntouched and pPlot.isOwned() == false and iCount > 25):
iX = pPlot.getX()
iY = pPlot.getY()
for iiX in range(iX-1, iX+2, 1):
for iiY in range(iY-1, iY+2, 1):
pAdjacentPlot = CyMap().plot(iiX,iiY)
if pAdjacentPlot.isNone() == False:
if pAdjacentPlot.getPlotCounter() > 10:
pPlot.changePlotCounter(1)
bUntouched = false
iPlotCount = pPlot.getPlotCounter()
if (bUntouched and iPlotCount > 0):
pPlot.changePlotCounter(-1)
if iPlotCount > 9:
if (iBonus == iSheep or iBonus == iPig):
pPlot.setBonusType(iToad)
if (iBonus == iHorse or iBonus == iCow):
pPlot.setBonusType(iNightmare)
if (iBonus == iCotton or iBonus == iSilk):
pPlot.setBonusType(iRazorweed)
if (iBonus == iBanana or iBonus == iSugar):
pPlot.setBonusType(iGulagarm)
if (iBonus == iMarble):
pPlot.setBonusType(iSheutStone)
if (iBonus == iCorn or iBonus == iRice or iBonus == iWheat):
pPlot.setBonusType(-1)
pPlot.setImprovementType(iSnakePillar)
if iPlotCount < 10:
if iBonus == iToad:
if CyGame().getSorenRandNum(100, "Hell Convert") < 50:
pPlot.setBonusType(iSheep)
else:
pPlot.setBonusType(iPig)
if iBonus == iNightmare:
if CyGame().getSorenRandNum(100, "Hell Convert") < 50:
pPlot.setBonusType(iHorse)
else:
pPlot.setBonusType(iCow)
if iBonus == iRazorweed:
if CyGame().getSorenRandNum(100, "Hell Convert") < 50:
pPlot.setBonusType(iCotton)
else:
pPlot.setBonusType(iSilk)
if iBonus == iGulagarm:
if CyGame().getSorenRandNum(100, "Hell Convert") < 50:
pPlot.setBonusType(iBanana)
else:
pPlot.setBonusType(iSugar)
if (iBonus == iSheutStone):
pPlot.setBonusType(iMarble)
if iImprovement == iSnakePillar:
pPlot.setImprovementType(iFarm)
iCount = CyGame().getSorenRandNum(100, "Hell Convert")
if iCount < 33:
pPlot.setBonusType(iCorn)
else:
if iCount < 66:
pPlot.setBonusType(iRice)
else:
pPlot.setBonusType(iWheat)
if iTerrain == iBurningSands:
if pPlot.isCity() == False:
if pPlot.isPeak() == False:
if CyGame().getSorenRandNum(100, "Flames") <= iFlamesSpreadChance:
pPlot.setFeatureType(iFlames, 0)