def onBuildingBuilt(self, argsList):
'Building Completed'
pCity, iBuildingType = argsList
game = gc.getGame()
### The School of Confucius Start ###
if ( iBuildingType == gc.getInfoTypeForString("BUILDING_PALACE_CHINA") ):
pPlayer = gc.getPlayer(pCity.plot().getOwner())
iPID = pPlayer.getID()
iTID = pPlayer.getTeam()
iX = pCity.getX()
iY = pCity.getY()
b_school = gc.getInfoTypeForString("BUILDING_PALACE_CHINA")
u_prophet = gc.getInfoTypeForString( 'UNIT_PROPHET' )
u_artist = gc.getInfoTypeForString( 'UNIT_ARTIST' )
u_scientist = gc.getInfoTypeForString( 'UNIT_SCIENTIST' )
u_merchant = gc.getInfoTypeForString( 'UNIT_MERCHANT' )
u_engineer = gc.getInfoTypeForString( 'UNIT_ENGINEER' )
u_general = gc.getInfoTypeForString( 'UNIT_GREAT_GENERAL' )
u_spy = gc.getInfoTypeForString( 'UNIT_GREAT_SPY' )
self.iGreatPeopleNumberOne = self.getRandomNumber( 6 )
self.iGreatPeopleNumberTwo = self.getRandomNumber( 6 )
for i in range(1):
if self.iGreatPeopleNumberOne == 0:
pNewUnit = pPlayer.initUnit( u_prophet, iX, iY, UnitAITypes.UNITAI_PROPHET, DirectionTypes.NO_DIRECTION )
szTitle = localText.getText( "TXT_KEY_SCHOOL_PROPHET", ( ) )
CyInterface().addImmediateMessage( szTitle , None)
if self.iGreatPeopleNumberOne == 1:
pNewUnit = pPlayer.initUnit( u_artist, iX, iY, UnitAITypes.UNITAI_ARTIST, DirectionTypes.NO_DIRECTION )
szTitle = localText.getText( "TXT_KEY_SCHOOL_ARTIST", ( ) )
CyInterface().addImmediateMessage( szTitle , None)
if self.iGreatPeopleNumberOne == 2:
pNewUnit = pPlayer.initUnit( u_scientist, iX, iY, UnitAITypes.UNITAI_SCIENTIST, DirectionTypes.NO_DIRECTION )
szTitle = localText.getText( "TXT_KEY_SCHOOL_SCIENTIST", ( ) )
CyInterface().addImmediateMessage( szTitle , None)
if self.iGreatPeopleNumberOne == 3:
pNewUnit = pPlayer.initUnit( u_merchant, iX, iY, UnitAITypes.UNITAI_MERCHANT, DirectionTypes.NO_DIRECTION )
szTitle = localText.getText( "TXT_KEY_SCHOOL_MERCHANT", ( ) )
CyInterface().addImmediateMessage( szTitle , None)
if self.iGreatPeopleNumberOne == 4:
pNewUnit = pPlayer.initUnit( u_engineer, iX, iY, UnitAITypes.UNITAI_ENGINEER, DirectionTypes.NO_DIRECTION )
szTitle = localText.getText( "TXT_KEY_SCHOOL_ENGINEER", ( ) )
CyInterface().addImmediateMessage( szTitle , None)
if self.iGreatPeopleNumberOne == 5:
pNewUnit = pPlayer.initUnit( u_general, iX, iY, UnitAITypes.UNITAI_GENERAL, DirectionTypes.NO_DIRECTION )
szTitle = localText.getText( "TXT_KEY_SCHOOL_GENERAL", ( ) )
CyInterface().addImmediateMessage( szTitle , None)
if self.iGreatPeopleNumberOne == 6:
pNewUnit = pPlayer.initUnit( u_spy, iX, iY, UnitAITypes.UNITAI_MERCHANT, DirectionTypes.NO_DIRECTION )
szTitle = localText.getText( "TXT_KEY_SCHOOL_SPY", ( ) )
CyInterface().addImmediateMessage( szTitle , None)
for i in range(1):
if self.iGreatPeopleNumberTwo == 0:
pNewUnit = pPlayer.initUnit( u_prophet, iX, iY, UnitAITypes.UNITAI_PROPHET, DirectionTypes.NO_DIRECTION )
szTitle = localText.getText( "TXT_KEY_SCHOOL_PROPHET", ( ) )
CyInterface().addImmediateMessage( szTitle , None)
if self.iGreatPeopleNumberTwo == 1:
pNewUnit = pPlayer.initUnit( u_artist, iX, iY, UnitAITypes.UNITAI_ARTIST, DirectionTypes.NO_DIRECTION )
szTitle = localText.getText( "TXT_KEY_SCHOOL_ARTIST", ( ) )
CyInterface().addImmediateMessage( szTitle , None)
if self.iGreatPeopleNumberTwo == 2:
pNewUnit = pPlayer.initUnit( u_scientist, iX, iY, UnitAITypes.UNITAI_SCIENTIST, DirectionTypes.NO_DIRECTION )
szTitle = localText.getText( "TXT_KEY_SCHOOL_SCIENTIST", ( ) )
CyInterface().addImmediateMessage( szTitle , None)
if self.iGreatPeopleNumberTwo == 3:
pNewUnit = pPlayer.initUnit( u_merchant, iX, iY, UnitAITypes.UNITAI_MERCHANT, DirectionTypes.NO_DIRECTION )
szTitle = localText.getText( "TXT_KEY_SCHOOL_MERCHANT", ( ) )
CyInterface().addImmediateMessage( szTitle , None)
if self.iGreatPeopleNumberTwo == 4:
pNewUnit = pPlayer.initUnit( u_engineer, iX, iY, UnitAITypes.UNITAI_ENGINEER, DirectionTypes.NO_DIRECTION )
szTitle = localText.getText( "TXT_KEY_SCHOOL_ENGINEER", ( ) )
CyInterface().addImmediateMessage( szTitle , None)
if self.iGreatPeopleNumberTwo == 5:
pNewUnit = pPlayer.initUnit( u_general, iX, iY, UnitAITypes.UNITAI_GENERAL, DirectionTypes.NO_DIRECTION )
szTitle = localText.getText( "TXT_KEY_SCHOOL_GENERAL", ( ) )
CyInterface().addImmediateMessage( szTitle , None)
if self.iGreatPeopleNumberTwo == 6:
pNewUnit = pPlayer.initUnit( u_spy, iX, iY, UnitAITypes.UNITAI_MERCHANT, DirectionTypes.NO_DIRECTION )
szTitle = localText.getText( "TXT_KEY_SCHOOL_SPY", ( ) )
CyInterface().addImmediateMessage( szTitle , None)
### The School of Confucius End ###
## Eden Start ##
if iBuildingType == gc.getInfoTypeForString('BUILDING_EDEN'):
pPlayer = gc.getPlayer(pCity.plot().getOwner())
pPID = pPlayer.getID()
pTID = pPlayer.getTeam()
iX = pCity.getX()
iY = pCity.getY()
tt_desert = gc.getInfoTypeForString( 'TERRAIN_DESERT' )
tt_plain = gc.getInfoTypeForString( 'TERRAIN_PLAINS' )
tt_grass = gc.getInfoTypeForString( 'TERRAIN_GRASS' )
tt_tundra = gc.getInfoTypeForString( 'TERRAIN_TUNDRA' )
tt_snow = gc.getInfoTypeForString( 'TERRAIN_SNOW' )
tt_ocean = gc.getInfoTypeForString( 'TERRAIN_OCEAN' )
for iXLoop in range(iX - 2, iX + 3, 1):
for iYLoop in range(iY - 2, iY + 3, 1):
pPlot = CyMap().plot(iXLoop, iYLoop)
#if ( pPlot.isPlayerCityRadius(pPID)==true ):
if ( pPlot.getTeam()==pTID ):
if ( pPlot.getTerrainType()==tt_grass ):
if ( pPlot.getImprovementType()!=gc.getInfoTypeForString( 'IMPROVEMENT_FARM' )) and ( pPlot.getImprovementType()!=gc.getInfoTypeForString( 'IMPROVEMENT_WINDMILL' )) and ( pPlot.getImprovementType()!=gc.getInfoTypeForString( 'IMPROVEMENT_MINE' )) and ( pPlot.getImprovementType()!=gc.getInfoTypeForString( 'IMPROVEMENT_WATERMILL' )) and ( pPlot.getImprovementType()!=gc.getInfoTypeForString( 'IMPROVEMENT_WORKSHOP' )) and ( pPlot.getImprovementType()!=gc.getInfoTypeForString( 'IMPROVEMENT_LUMBERMILL' )) and ( pPlot.getImprovementType()!=gc.getInfoTypeForString( 'IMPROVEMENT_PLANTATION' )) and ( pPlot.getImprovementType()!=gc.getInfoTypeForString( 'IMPROVEMENT_QUARRY' )) and ( pPlot.getImprovementType()!=gc.getInfoTypeForString( 'IMPROVEMENT_PASTURE' ))and ( pPlot.getImprovementType()!=gc.getInfoTypeForString( 'IMPROVEMENT_CAMP' )) and ( pPlot.getImprovementType()!=gc.getInfoTypeForString( 'IMPROVEMENT_WELL' )) and ( pPlot.getImprovementType()!=gc.getInfoTypeForString( 'IMPROVEMENT_WINERY' )) and ( pPlot.getImprovementType()!=gc.getInfoTypeForString( 'IMPROVEMENT_COTTAGE' )) and ( pPlot.getImprovementType()!=gc.getInfoTypeForString( 'IMPROVEMENT_HAMLET' )) and ( pPlot.getImprovementType()!=gc.getInfoTypeForString( 'IMPROVEMENT_VILLAGE' )) and ( pPlot.getImprovementType()!=gc.getInfoTypeForString( 'IMPROVEMENT_TOWN' )) and ( pPlot.getImprovementType()!=gc.getInfoTypeForString( 'IMPROVEMENT_FOREST_PRESERVE' )) and ( pPlot.getImprovementType()!=gc.getInfoTypeForString( 'IMPROVEMENT_FORT' )):
if ( pPlot.getFeatureType()!=gc.getInfoTypeForString( 'FEATURE_JUNGLE' )):
pPlot.setFeatureType(gc.getInfoTypeForString( "FEATURE_FOREST" ), 1)
elif ( pPlot.getTerrainType()==tt_plain ):
pPlot.setTerrainType(gc.getInfoTypeForString( "TERRAIN_GRASS" ), 1, 1)
elif ( pPlot.getTerrainType()==tt_tundra ):
pPlot.setTerrainType(gc.getInfoTypeForString( "TERRAIN_PLAINS" ), 1, 1)
elif ( pPlot.getTerrainType()==tt_snow ):
pPlot.setTerrainType(gc.getInfoTypeForString( "TERRAIN_TUNDRA" ), 1, 1)
elif ( pPlot.getTerrainType()==tt_ocean ):
pPlot.setTerrainType(gc.getInfoTypeForString( "TERRAIN_COAST" ), 1, 1)
elif ( pPlot.getTerrainType()==tt_desert ):
pPlot.setTerrainType(gc.getInfoTypeForString( "TERRAIN_PLAINS" ), 1, 1)
CyInterface().addMessage(pPID,false,15,CyTranslator().getText("TXT_KEY_EDEN_PYTHON",()),'',0,'Art/Eden.dds',ColorTypes(44), iX, iY, True,True)
## Eden End ##
if ((not gc.getGame().isNetworkMultiPlayer()) and (pCity.getOwner() == gc.getGame().getActivePlayer()) and isWorldWonderClass(gc.getBuildingInfo(iBuildingType).getBuildingClassType())):
# If this is a wonder...
popupInfo = CyPopupInfo()
popupInfo.setButtonPopupType(ButtonPopupTypes.BUTTONPOPUP_PYTHON_SCREEN)
popupInfo.setData1(iBuildingType)
popupInfo.setData2(pCity.getID())
popupInfo.setData3(0)
popupInfo.setText(u"showWonderMovie")
popupInfo.addPopup(pCity.getOwner())
CvAdvisorUtils.buildingBuiltFeats(pCity, iBuildingType)
if (not self.__LOG_BUILDING):
return
CvUtil.pyPrint('%s was finished by Player %d Civilization %s'
%(PyInfo.BuildingInfo(iBuildingType).getDescription(), pCity.getOwner(), gc.getPlayer(pCity.getOwner()).getCivilizationDescription(0)))