def onGameStart(self, argsList):
'Called at the start of the game'
self.initScriptData()
### circus hagenbeck start part 2
if (gc.getGame().getGameTurnYear() <> gc.getDefineINT("START_YEAR")):
for iPlayer in range (gc.getMAX_PLAYERS()):
player = gc.getPlayer(iPlayer)
if player.isAlive():
numbuildings = player.countNumBuildings(gc.getInfoTypeForString("BUILDING_CIRCUSHAGENBECK"))
if numbuildings>0:
for iCity in range(player.getNumCities()):
pCity = player.getCity(iCity)
if pCity.getNumBuilding(gc.getInfoTypeForString("BUILDING_CIRCUSHAGENBECK"))>0:
self.oldcity = [iPlayer,iCity]
return
###circus hagenbeck end part 2
# Are we using the scenario file? If so, then show the backstory popup
if (CyMap().plot(0,0).getScriptData() == "Scenario"):
for iPlayer in range(gc.getMAX_PLAYERS()):
player = gc.getPlayer(iPlayer)
if (player.isAlive() and player.isHuman()):
popupInfo = CyPopupInfo()
popupInfo.setButtonPopupType(ButtonPopupTypes.BUTTONPOPUP_TEXT)
szTitle = u"<font=4b>" + localText.getText("TXT_KEY_NEXT_WAR_BACKSTORY_TITLE", ()) + u"</font>"
szBody = u"<font=3>" + localText.getText("TXT_KEY_NEXT_WAR_BACKSTORY_TEXT", ()) + u"</font>"
popupInfo.setText(szTitle + u"\n\n" + szBody)
popupInfo.addPopup(iPlayer)
def onBeginGameTurn(self, argsList):
'Called at the beginning of the end of each turn'
iGameTurn = argsList[0]
###circus hagenbeck start part 3
if (CyGame().getTurnYear(iGameTurn)>=1890) and ( iGameTurn % 3 ==0 ):
counter = 0
while True:
counter = counter+1
if counter>=100:break
dice = gc.getGame().getMapRand()
iPlayer = dice.get(gc.getMAX_PLAYERS (), "Players")
pPlayer = gc.getPlayer(iPlayer)
if pPlayer.isNone():continue
if pPlayer.isAlive():
iCity = dice.get(pPlayer.getNumCities () , "Cities" )
pCity = pPlayer.getCity(iCity)
if pCity.isNone():continue
if not pCity.isHasBuilding(gc.getInfoTypeForString("BUILDING_WHATEVER")):continue
pCity.setNumRealBuilding(gc.getInfoTypeForString("BUILDING_CIRCUSHAGENBECK"),1)
CyInterface().addMessage(iPlayer,false,20,CyTranslator().getText("TXT_KEY_CIRCUS_MOVED",(pCity.getName (),pCity.getName ())),'',0,'Art/Interface/Buttons/General/happy_person.dds',ColorTypes(gc.getInfoTypeForString("COLOR_GREEN")), pCity.getX(), pCity.getY(), True,True)
if self.oldcity <>[-1,-1]:
otherplayer = gc.getPlayer(self.oldcity[0])
othercity = otherplayer.getCity(self.oldcity[1])
if not othercity.isNone():
othercity.setNumRealBuilding(gc.getInfoTypeForString("BUILDING_CIRCUSHAGENBECK"),0)
CyInterface().addMessage(self.oldcity[0],false,20,CyTranslator().getText("TXT_KEY_CIRCUS_LOST",(othercity.getName (),othercity.getName ())),'',0,'Art/Interface/Buttons/General/warning_popup.dds',ColorTypes(gc.getInfoTypeForString("COLOR_RED")), othercity.getX(), othercity.getY(), True,True)
self.oldcity = [iPlayer,iCity]
MaxPlayers = gc.getMAX_CIV_PLAYERS ()
for iPlayerNum in xrange(MaxPlayers):
CyInterface().addMessage(iPlayerNum,false,20,CyTranslator().getText("TXT_KEY_CIRCUS_ANNOUNCE",(pCity.getName (),pPlayer.getCivilizationAdjective (1) )),'',0,'Art/Interface/Buttons/General/happy_person.dds',ColorTypes(gc.getInfoTypeForString("COLOR_GREEN")), pCity.getX(), pCity.getY(), True,True)
break
###circus hagenbeck end part 3