# AgrNat
#
from CvPythonExtensions import *
import CvUtil
import CvScreensInterface
import CvDebugTools
import CvWBPopups
import PyHelpers
import Popup as PyPopup
import CvCameraControls
import CvTopCivs
import sys
import CvWorldBuilderScreen
import CvAdvisorUtils
import CvTechChooser
import GodsOfOld
import pickle
# globals
gc = CyGlobalContext()
localText = CyTranslator()
PyPlayer = PyHelpers.PyPlayer
PyInfo = PyHelpers.PyInfo
PyCity = PyHelpers.PyCity
PyGame = PyHelpers.PyGame
class AgrNat:
def __init__(self, eventManager):
## Agr & Nat Trait Start ##
player = PyPlayer(city.getOwner())
pPlayer = gc.getPlayer(city.getOwner())
iTrait = CvUtil.findInfoTypeNum(gc.getTraitInfo,gc.getNumTraitInfos(),'TRAIT_AGR')
iTrait2 = CvUtil.findInfoTypeNum(gc.getTraitInfo,gc.getNumTraitInfos(),'TRAIT_NAT')
if (pPlayer.hasTrait(iTrait)):
city.changePopulation(1)
NBuilding = "BUILDING_NAT_BONUS"
AgrBuilding = "BUILDING_AGR_BONUS"
if (pPlayer.hasTrait(iTrait2)):
city.setNumRealBuilding(gc.getInfoTypeForString(NBuilding), 1)
if (pPlayer.hasTrait(iTrait)):
city.setNumRealBuilding(gc.getInfoTypeForString(AgrBuilding), 1)
## Agr & Nat Trait End ##
# Agr & Nat Trait Start #
pPlayer = gc.getPlayer(iNewOwner)
iX = pCity.getX()
iY = pCity.getY()
pPlot = CyMap().plot(iX +0, iY +0)
iTrait = CvUtil.findInfoTypeNum(gc.getTraitInfo,gc.getNumTraitInfos(),'TRAIT_NAT')
iTraitAgr = CvUtil.findInfoTypeNum(gc.getTraitInfo,gc.getNumTraitInfos(),'TRAIT_AGR')
iBuildingMagLev = CvUtil.findInfoTypeNum(gc.getBuildingInfo,gc.getNumBuildingInfos(),'BUILDING_NAT_BONUS')
iAgrTraitBonus = CvUtil.findInfoTypeNum(gc.getBuildingInfo,gc.getNumBuildingInfos(),'BUILDING_AGR_BONUS')
iAqueduct = CvUtil.findInfoTypeNum(gc.getBuildingInfo,gc.getNumBuildingInfos(),'BUILDING_AQUEDUCT')
iBerber = CvUtil.findInfoTypeNum(gc.getBuildingInfo,gc.getNumBuildingInfos(),'BUILDING_BERBER')
iKalanBonus = CvUtil.findInfoTypeNum(gc.getBuildingInfo,gc.getNumBuildingInfos(),'BUILDING_KALAN_BONUS')
if (pPlayer.hasTrait(iTrait)):
pCity.setNumRealBuilding(iBuildingMagLev, 1)
else:
if pCity.getNumActiveBuilding(iBuildingMagLev) == true:
pCity.setNumRealBuilding(CvUtil.findInfoTypeNum(gc.getBuildingInfo, gc.getNumBuildingInfos(), "BUILDING_NAT_BONUS"), False)
if (pPlayer.hasTrait(iTraitAgr)):
pCity.setNumRealBuilding(iAgrTraitBonus, 1)
else:
if pCity.getNumActiveBuilding(iAgrTraitBonus) == true:
pCity.setNumRealBuilding(CvUtil.findInfoTypeNum(gc.getBuildingInfo, gc.getNumBuildingInfos(), "BUILDING_AGR_BONUS"), False)
if pCity.getNumActiveBuilding(iKalanBonus) == true:
pCity.setNumRealBuilding(CvUtil.findInfoTypeNum(gc.getBuildingInfo, gc.getNumBuildingInfos(), "BUILDING_KALAN_BONUS"), False)
# Agr & Nat Trait End #
## Agr Trait Start ##
player = PyPlayer(pCity.getOwner())
pPlayer = gc.getPlayer(pCity.getOwner())
iTrait = CvUtil.findInfoTypeNum(gc.getTraitInfo,gc.getNumTraitInfos(),'TRAIT_AGR')
## Temp Disabled ##
#
# if (pPlayer.hasTrait(iTrait)):
#
# estiEnd = CyGame().getEstimateEndTurn()
# if ( estiEnd >= 1000 ):
# pCity.changeFood( +12 )
# elif ( estiEnd >= 700 ):
# pCity.changeFood( +8 )
# elif ( estiEnd >= 500 ):
# pCity.changeFood( +6 )
# elif ( estiEnd >= 300 ):
# pCity.changeFood( +4 )
#
## Agr Trait End ##