## Sid Meier's Civilization 4
## Copyright Firaxis Games 2005
##
## KGBSpyCreate by GIR
##
from CvPythonExtensions import *
import CvUtil
import Popup as PyPopup
import PyHelpers
# globals
gc = CyGlobalContext()
##################################################################################
class KGBSpyCreate:
def onBuildingBuilt(self, argsList):
'Building Completed'
pCity, iBuildingType = argsList
#####################
### KGB (part1/2) ###
#####################
### filter ###
if iBuildingType == gc.getInfoTypeForString( 'BUILDING_KGB' ):
pPlayer = gc.getPlayer(pCity.plot().getOwner())
u_spy = gc.getInfoTypeForString( 'UNIT_SPY' )
iX = pCity.getX()
iY = pCity.getY()
### set units with promotions and names ###
pNewUnit = pPlayer.initUnit( u_spy, iX, iY, UnitAITypes.UNITAI_SPY )
pNewUnit.setHasPromotion(gc.getInfoTypeForString( 'PROMOTION_SENTRY2' ), true)
pNewUnit.setHasPromotion(gc.getInfoTypeForString( 'PROMOTION_COMMANDO' ), true)
pNewUnit.setHasPromotion(gc.getInfoTypeForString( 'PROMOTION_SPEED' ), true)
pNewUnit.setName("KGB Agent 001")
pNewUnit = pPlayer.initUnit( u_spy, iX, iY, UnitAITypes.UNITAI_SPY )
pNewUnit.setHasPromotion(gc.getInfoTypeForString( 'PROMOTION_SENTRY2' ), true)
pNewUnit.setHasPromotion(gc.getInfoTypeForString( 'PROMOTION_COMMANDO' ), true)
pNewUnit.setHasPromotion(gc.getInfoTypeForString( 'PROMOTION_SPEED' ), true)
pNewUnit.setName("KGB Agent 002")
pNewUnit = pPlayer.initUnit( u_spy, iX, iY, UnitAITypes.UNITAI_SPY )
pNewUnit.setHasPromotion(gc.getInfoTypeForString( 'PROMOTION_SENTRY2' ), true)
pNewUnit.setHasPromotion(gc.getInfoTypeForString( 'PROMOTION_COMMANDO' ), true)
pNewUnit.setHasPromotion(gc.getInfoTypeForString( 'PROMOTION_SPEED' ), true)
pNewUnit.setName("KGB Agent 003")
### ausgabe ###
CyInterface().addMessage(CyGame().getActivePlayer(),false,15,CyTranslator().getText("TXT_KEY_KGB_GAMETXT1",()),'',0,'Art/Interface/Buttons/Units/spy.dds',ColorTypes(44), -1, -1, True,True)
### message: The KGB provides 3 KGB Agents ###
##################################################################################
def onUnitBuilt(self, argsList):
'Unit Completed'
pCity = argsList[0]
pUnit = argsList[1]
pPlayer = gc.getPlayer(pUnit.plot().getOwner())
pTID = pPlayer.getTeam()
#####################
### KGB (part2/2) ###
#####################
### filter ###
if ( pUnit.getUnitClassType() == gc.getInfoTypeForString("UNITCLASS_SPY") ):
### check all cities ###
for iCity in range(pPlayer.getNumCities()):
pCity = pPlayer.getCity(iCity)
### if the player have the kgb wonder give all new build spies the sentry II promotion ###
if pCity.hasBuilding(gc.getInfoTypeForString( 'BUILDING_KGB' )):
pUnit.setHasPromotion(gc.getInfoTypeForString( 'PROMOTION_SENTRY2' ), true)
CyInterface().addMessage(pPlayer.getID(),false,15,CyTranslator().getText("TXT_KEY_KGB_GAMETXT2",(pCity.getName(),PyHelpers.PyInfo.UnitInfo(pUnit.getUnitType()).getDescription())),'',0,'Art/Interface/Buttons/promotions/Sentry2.dds',ColorTypes(44), pCity.getX(), pCity.getY(),True,True)
### message: In %s the KGB Wonder provides a free Sentry II Promotion to your new build %s! ###
##################################################################################