platyping
Sleeping Dragon
Code:
def onNukeExplosion(self, argsList):
'Nuke Explosion'
pPlot, pNukeUnit = argsList
iPlayer = pNukeUnit.getOwner()
pPlayer = gc.getPlayer(iPlayer)
if pNukeUnit.getUnitType() == gc.getInfoTypeForString('UNIT_TURN'):
if pPlot.isCity():
lMind = []
iRange = pNukeUnit.nukerange()
pCity = pPlot.getPlotCity()
pPlayer.acquireCity(pCity, False, False)
iX = pPlot.getX()
iY = pPlot.getY()
for iiX in range(iX - iRange, iX + iRange + 1):
for iiY in range(iY - iRange, iY + iRange + 1):
pPlotX = CyMap().plot(iiX,iiY)
for e in xrange(pPlotX.getNumUnits()):
pUnitX = pPlotX.getUnit(e)
if pUnitX.isNone(): continue
lMind.append(pUnitX)
if pPlotX.getFeatureType() == gc.getInfoTypeForString('FEATURE_FALLOUT'):
pPlotX.setFeatureType(-1, -1)
for pUnitX in lMind:
pNewUnit = pPlayer.initUnit(pUnitX.getUnitType(), pUnitX.getX(), pUnitX.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.NO_DIRECTION)
pNewUnit.convert(pUnitX)
pNewUnit.finishMoves()