def applyVolcano1(argsList):
iEvent = argsList[0]
kTriggeredData = argsList[1]
[B]plot = gc.getMap().plot(kTriggeredData.iPlotX, kTriggeredData.iPlotY)
plot.setPlotType(PlotTypes.PLOT_LAND, True, True)
plot.setFeatureType(gc.getInfoTypeForString('FEATURE_VOLCANO'), 0)[/B]
listPlots = []
for iDX in range(-1, 2):
for iDY in range(-1, 2):
loopPlot = plotXY(kTriggeredData.iPlotX, kTriggeredData.iPlotY, iDX, iDY)
if not loopPlot.isNone():
if (iDX != 0 or iDY != 0):
if loopPlot.getImprovementType() != -1:
listPlots.append(loopPlot)
listRuins = []
listRuins.append(CvUtil.findInfoTypeNum(gc.getImprovementInfo,gc.getNumImprovementInfos(),'IMPROVEMENT_COTTAGE'))
listRuins.append(CvUtil.findInfoTypeNum(gc.getImprovementInfo,gc.getNumImprovementInfos(),'IMPROVEMENT_HAMLET'))
listRuins.append(CvUtil.findInfoTypeNum(gc.getImprovementInfo,gc.getNumImprovementInfos(),'IMPROVEMENT_VILLAGE'))
listRuins.append(CvUtil.findInfoTypeNum(gc.getImprovementInfo,gc.getNumImprovementInfos(),'IMPROVEMENT_TOWN'))
iRuins = CvUtil.findInfoTypeNum(gc.getImprovementInfo,gc.getNumImprovementInfos(),'IMPROVEMENT_CITY_RUINS')
for i in range(3):
if len(listPlots) > 0:
plot = listPlots[gc.getGame().getSorenRandNum(len(listPlots), "Volcano event improvement destroyed")]
iImprovement = plot.getImprovementType()
szBuffer = localText.getText("TXT_KEY_EVENT_CITY_IMPROVEMENT_DESTROYED", (gc.getImprovementInfo(iImprovement).getTextKey(), ))
CyInterface().addMessage(kTriggeredData.ePlayer, false, gc.getEVENT_MESSAGE_TIME(), szBuffer, "AS2D_BOMBARDED", InterfaceMessageTypes.MESSAGE_TYPE_INFO, gc.getImprovementInfo(iImprovement).getButton(), gc.getInfoTypeForString("COLOR_RED"), plot.getX(), plot.getY(), true, true)
if iImprovement in listRuins:
plot.setImprovementType(iRuins)
else:
plot.setImprovementType(-1)
listPlots.remove(plot)
if i == 1 and gc.getGame().getSorenRandNum(100, "Volcano event num improvements destroyed") < 50:
break