def onBeginPlayerTurn(self, argsList):
'Called at the beginning of a players turn'
iGameTurn, iPlayer = argsList
pPlayer = gc.getPlayer(iPlayer)
pPlayer = gc.getPlayer(iPlayer)
if gc.getTeam(pPlayer.getTeam()).isHasTech(self.iTECH_APPLIED_ECONOMICS):
obsoleteTech = gc.getBuildingInfo(self.iBUILDING_WORLD_BANK).getObsoleteTech()
if ( gc.getTeam(pPlayer.getTeam()).isHasTech(obsoleteTech) == false or obsoleteTech == -1 ):
for iCity in range(pPlayer.getNumCities()):
ppCity = pPlayer.getCity(iCity)
if ppCity.getNumActiveBuilding(self.iBUILDING_WORLD_BANK) == true:
#pPID = pPlayer.getID()
iGold = pPlayer.getGold( )
pPlayer.changeGold( iGold//50 )
# Scientific Victory when Ascension Gate is found from player city ie. it has been built
if CyGame().isVictoryValid(self.iVICTORY_SCIENTIFIC) :
if gc.getTeam(pPlayer.getTeam()).isHasTech(self.iTECH_SENTIENT_EARTH):
for iCity in range(pPlayer.getNumCities()):
ppCity = pPlayer.getCity(iCity)
if ppCity.getNumActiveBuilding(self.iBUILDING_ASCENSION_GATE) == true:
CyGame().setWinner(pPlayer.getTeam(), self.iVICTORY_SCIENTIFIC)
# Crusade Start ##
# test = ( iGameTurn % 14 )
# BugUtil.info ( "crusade test: %d", test)
obsoleteTech = gc.getBuildingInfo(self.iBUILDING_CRUSADE).getObsoleteTech()
if ( gc.getTeam(pPlayer.getTeam()).isHasTech(obsoleteTech) == false or obsoleteTech == -1 ):
# BugUtil.info("RoM - crusader spawn, tech check passed")
for iCity in range(pPlayer.getNumCities()):
ppCity = pPlayer.getCity(iCity)
if ppCity.getNumActiveBuilding(self.iBUILDING_CRUSADE) == true:
iX = ppCity.getX()
iY = ppCity.getY()
estiEnd = CyGame().getEstimateEndTurn()
if ( estiEnd >= 1800 ):
if ( iGameTurn % 16 ) == 0:
for i in range(1):
pNewUnit = pPlayer.initUnit( self.iUNIT_CRUSADER, iX, iY, UnitAITypes.UNITAI_ATTACK_CITY, DirectionTypes.NO_DIRECTION )
elif ( estiEnd >= 1400 ):
if ( iGameTurn % 14 ) == 0:
for i in range(1):
pNewUnit = pPlayer.initUnit( self.iUNIT_CRUSADER, iX, iY, UnitAITypes.UNITAI_ATTACK_CITY, DirectionTypes.NO_DIRECTION )
elif ( estiEnd >= 1000 ):
if ( iGameTurn % 12 ) == 0:
for i in range(1):
pNewUnit = pPlayer.initUnit( self.iUNIT_CRUSADER, iX, iY, UnitAITypes.UNITAI_ATTACK_CITY, DirectionTypes.NO_DIRECTION )
elif ( estiEnd >= 700 ):
if ( iGameTurn % 8 ) == 0:
for i in range(1):
pNewUnit = pPlayer.initUnit( self.iUNIT_CRUSADER, iX, iY, UnitAITypes.UNITAI_ATTACK_CITY, DirectionTypes.NO_DIRECTION )
elif ( estiEnd >= 500 ):
if ( iGameTurn % 6 ) == 0:
for i in range(1):
pNewUnit = pPlayer.initUnit( self.iUNIT_CRUSADER, iX, iY, UnitAITypes.UNITAI_ATTACK_CITY, DirectionTypes.NO_DIRECTION )
elif ( estiEnd >= 300 ):
if ( iGameTurn % 4 ) == 0:
for i in range(1):
pNewUnit = pPlayer.initUnit( self.iUNIT_CRUSADER, iX, iY, UnitAITypes.UNITAI_ATTACK_CITY, DirectionTypes.NO_DIRECTION )
else:
if ( iGameTurn % 4 ) == 0:
for i in range(1):
pNewUnit = pPlayer.initUnit( self.iUNIT_CRUSADER, iX, iY, UnitAITypes.UNITAI_ATTACK_CITY, DirectionTypes.NO_DIRECTION )
# Crusade End #
def onImprovementBuilt(self, argsList):
'Improvement Built'
iImprovement, iX, iY = argsList
###Militia Start ###
pPlot = CyMap().plot(iX, iY)
if iImprovement == gc.getInfoTypeForString('IMPROVEMENT_FARM'):
charity = gc.getInfoTypeForString( "CIVIC_CHARITY" )
iPlayer = pPlot.getOwner()
pPlayer = gc.getPlayer(iPlayer)
if (pPlayer.isCivic(charity)==True):
era = pPlayer.getCurrentEra ()
if (era == gc.getInfoTypeForString( "ERA_MEDIEVAL" )):
militia = gc.getInfoTypeForString( 'UNIT_MILITIA_MEDIEVAL' )
pNewUnit = pPlayer.initUnit( militia, iX, iY, UnitAITypes.UNITAI_RESERVE, DirectionTypes.NO_DIRECTION )
elif (era == gc.getInfoTypeForString( "ERA_RENAISSANCE" )):
militia = gc.getInfoTypeForString( 'UNIT_MILITIA_RENAISSANCE' )
pNewUnit = pPlayer.initUnit( militia, iX, iY, UnitAITypes.UNITAI_RESERVE, DirectionTypes.NO_DIRECTION )
elif (era == gc.getInfoTypeForString( "ERA_INDUSTRIAL" )):
militia = gc.getInfoTypeForString( 'UNIT_MILITIA_INDUSTRIAL' )
pNewUnit = pPlayer.initUnit( militia, iX, iY, UnitAITypes.UNITAI_RESERVE, DirectionTypes.NO_DIRECTION )
elif (era == gc.getInfoTypeForString( "ERA_MODERN" )):
militia = gc.getInfoTypeForString( 'UNIT_MILITIA_MODERN' )
pNewUnit = pPlayer.initUnit( militia, iX, iY, UnitAITypes.UNITAI_RESERVE, DirectionTypes.NO_DIRECTION )
CyInterface().addMessage(iPlayer,False,15,CyTranslator().getText("TXT_RECRUITED",()),'',0,'Art/Interface/Buttons/Civics/Serfdom.dds',ColorTypes(44), iX, iY, True,True)
###Militia End###
def onBuildingBuilt(self, argsList):