#Leoreth - adapted from SoI's birthConditional method by embryodead
def birthInCapital(self, iCiv, tCapital, tTopLeft, tBottomRight):
startingPlot = (tCapital[0], tCapital[1])
iOwner = gc.getMap().plot(tCapital[0], tCapital[1]).getOwner()
if self.getFlipsDelay(iCiv) == 0:
iFlipsDelay = self.getFlipsDelay(iCiv)+2
if iFlipsDelay > 0:
# flip capital instead of spawning starting units
utils.flipCity(tCapital, False, True, iCiv, ())
utils.cultureManager(tCapital, 100, iCiv, iOwner, True, False, False)
self.convertSurroundingPlotCulture(iCiv, (tCapital[0]-1,tCapital[1]-1), (tCapital[0]+1,tCapital[1]+1))
#cover plots revealed
#self.coverPlots(con.iFlipX, con.iFlipY, iCiv)
gc.getMap().plot(0, 0).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(0, 1).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(1, 1).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(1, 0).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(123, 0).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(123, 1).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(2, 0).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(2, 1).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(2, 2).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(1, 2).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(0, 2).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(122, 0).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(122, 1).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(122, 2).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(123, 2).setRevealed(iCiv, False, True, -1)
#print ("starting units in", tCapital[0], tCapital[1])
print ("birthConditional: starting units in", tCapital[0], tCapital[1])
utils.cultureManager(tCapital, 100, iCiv, iOwner, True, False, False)
self.createStartingUnits(iCiv, (tCapital[0], tCapital[1]))
utils.setPlagueCountdown(iCiv, -con.iImmunity)
utils.clearPlague(iCiv)
print ("flipping remaining units")
utils.flipUnitsInArea(tTopLeft, tBottomRight, iCiv, iBarbarian, True, True) #remaining barbs in the region now belong to the new civ
utils.flipUnitsInArea(tTopLeft, tBottomRight, iCiv, iIndependent, True, False) #remaining barbs in the region now belong to the new civ
utils.flipUnitsInArea(tTopLeft, tBottomRight, iCiv, iIndependent2, True, False) #remaining barbs in the region now belong to the new civ
self.setFlipsDelay(iCiv, iFlipsDelay) #save
# kill the catapult and cover the plots
plotZero = gc.getMap().plot(0, 0)
if (plotZero.getNumUnits()):
catapult = plotZero.getUnit(0)
catapult.kill(False, iCiv)
gc.getMap().plot(0, 0).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(0, 1).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(1, 1).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(1, 0).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(123, 0).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(123, 1).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(2, 0).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(2, 1).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(2, 2).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(1, 2).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(0, 2).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(122, 0).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(122, 1).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(122, 2).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(123, 2).setRevealed(iCiv, False, True, -1)
print ("Plots covered")
else: # starting units have already been placed, now to the second part
iNumAICitiesConverted, iNumHumanCitiesToConvert = self.convertSurroundingCities(iCiv, plotList)
self.convertSurroundingPlotCulture(iCiv, tTopLeft, tBottomRight)
for i in range(iIndependent, iBarbarian+1):
utils.flipUnitsInArea(tTopLeft, tBottomRight, iCiv, i, False, True) #remaining barbs/indeps in the region now belong to the new civ
#print ("utils.flipUnitsInArea()")
# kill the catapult and cover the plots
plotZero = gc.getMap().plot(0, 0)
if (plotZero.getNumUnits()):
catapult = plotZero.getUnit(0)
catapult.kill(False, iCiv)
gc.getMap().plot(0, 0).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(0, 1).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(1, 1).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(1, 0).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(123, 0).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(123, 1).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(2, 0).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(2, 1).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(2, 2).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(1, 2).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(0, 2).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(122, 0).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(122, 1).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(122, 2).setRevealed(iCiv, False, True, -1)
gc.getMap().plot(123, 2).setRevealed(iCiv, False, True, -1)
print ("Plots covered")
# create workers
if gc.getPlayer(iCiv).getNumCities() > 0:
capital = gc.getPlayer(iCiv).getCapitalCity()
self.createStartingWorkers(iCiv, (capital.getX(), capital.getY()))
# convert human cities
if iNumHumanCitiesToConvert > 0:
print "Flip Popup: in capital"
self.flipPopup(iCiv, plotList)