from CvPythonExtensions import *
import CvUtil
import BugUtil
import PyHelpers
import sys
gc = CyGlobalContext()
localText = CyTranslator()
PyPlayer = PyHelpers.PyPlayer
PyInfo = PyHelpers.PyInfo
# globals
###################################################
def onBuildingBuilt(argsList):
'Building Completed'
pCity, iBuildingType = argsList
game = gc.getGame()
## Kirinyaga Start ##
if iBuildingType == gc.getInfoTypeForString( 'BUILDING_KRINIYAGA' ):
iPlayer = pCity.getOwner()
pTeam = gc.getTeam(gc.getPlayer(iPlayer).getTeam())
cow = gc.getInfoTypeForString("BONUS_COW")
sheep = gc.getInfoTypeForString("BONUS_SHEEP")
pig = gc.getInfoTypeForString("BONUS_PIG")
past = gc.getInfoTypeForString("IMPROVEMENT_PASTURE")
iX = pCity.getX()
iY = pCity.getY()
pTeam.changeImprovementYieldChange(past, 2, 1)
for x in range(iX - 2, iX + 3):
for y in range(iY - 2, iY + 3):
pPlot = CyMap().plot(x,y)
if pPlot.isPlayerCityRadius(iPlayer):
if pPlot.isWater() == -1 and pPlot.getBonusType(-1)== -1:
randBonus = CyGame().getSorenRandNum(10, "Freebie")
if randBonus < 2:
pPlot.setBonusType(cow)
CyInterface().addMessage(iPlayer,True,20,CyTranslator().getText("TXT_KRINIYAGA_BONUS",(gc.getBonusInfo(cow).getDescription(),)),'',0, gc.getBonusInfo(cow).getButton(),ColorTypes(11), iX, iY, True,True)
elif randBonus == 2:
pPlot.setBonusType(sheep)
CyInterface().addMessage(iPlayer,True,20,CyTranslator().getText("TXT_KRINIYAGA_BONUS",(gc.getBonusInfo(sheep).getDescription(),)),'',0, gc.getBonusInfo(sheep).getButton(),ColorTypes(11), iX, iY, True,True)
elif randBonus == 3:
pPlot.setBonusType(pig)
CyInterface().addMessage(iPlayer,True,20,CyTranslator().getText("TXT_KRINIYAGA_BONUS",(gc.getBonusInfo(pig).getDescription(),)),'',0, gc.getBonusInfo(pig).getButton(),ColorTypes(11), iX, iY, True,True)
## Kirinyaga End ##
def onCityRazed(argsList):
'City Razed'
city, iPlayer = argsList
iOwner = city.findHighestCulture()
## Kirinyaga Start ##
b_Krinigaya = gc.getInfoTypeForString("BUILDING_KRINIYAGA")
if b_Krinigaya > -1 and city.getNumActiveBuilding(b_Krinigaya) > 0:
pPlayer = gc.getPlayer(iPlayer)
pTeam = gc.getTeam(pPlayer.getTeam())
past = gc.getInfoTypeForString( 'IMPROVEMENT_PASTURE' )
pTeam.changeImprovementYieldChange(past, 2, -1)
## Kirinyaga End ##
def onCityAcquired(argsList):
'City Acquired'
iPreviousOwner,iNewOwner,pCity,bConquest,bTrade = argsList
CvUtil.pyPrint('City Acquired Event: %s' %(pCity.getName()))
## Kirinyaga Start ##
b_Krinigaya = gc.getInfoTypeForString("BUILDING_KRINIYAGA")
if b_Krinigaya > -1 and pCity.getNumActiveBuilding(b_Krinigaya) > 0:
pPlayer = gc.getPlayer(iPreviousOwner)
pPlayer2 = gc.getPlayer(iNewOwner)
pTeam = gc.getTeam(pPlayer.getTeam())
pTeam2 = gc.getTeam(pPlayer2.getTeam())
past = gc.getInfoTypeForString( 'IMPROVEMENT_PASTURE' )
pTeam.changeImprovementYieldChange(past, 2, -1)
pTeam2.changeImprovementYieldChange(past, 2, 1)
## Kirinyaga End ##