CvCitySiteEvaluator::ComputeProductionValue(CvPlot *, CvPlayer *)
- Defined in
- CvSiteEvaluationClasses.cpp, line 843
- Class
- CvCitySiteEvaluator
- Hook name
CivHooks::CvCitySiteEvaluator_ComputeProductionValue
Hooks
static bool BeforeCvCitySiteEvaluator_ComputeProductionValue(CvCitySiteEvaluator* self, CvPlot* pPlot, CvPlayer* pPlayer, int& result);static void AfterCvCitySiteEvaluator_ComputeProductionValue(CvCitySiteEvaluator* self, CvPlot* pPlot, CvPlayer* pPlayer, int& result);static int ReplaceCvCitySiteEvaluator_ComputeProductionValue(int (*original)(CvCitySiteEvaluator*, CvPlot*, CvPlayer*), CvCitySiteEvaluator* self, CvPlot* pPlot, CvPlayer* pPlayer);CivRegisterBefore<CivHooks::CvCitySiteEvaluator_ComputeProductionValue>(host, &BeforeCvCitySiteEvaluator_ComputeProductionValue);CivRegisterAfter<CivHooks::CvCitySiteEvaluator_ComputeProductionValue>(host, &AfterCvCitySiteEvaluator_ComputeProductionValue);CivRegisterReplace<CivHooks::CvCitySiteEvaluator_ComputeProductionValue>(host, &ReplaceCvCitySiteEvaluator_ComputeProductionValue);
Code
842/// Value of plot for providing hammers843int CvCitySiteEvaluator::ComputeProductionValue(CvPlot* pPlot, CvPlayer* pPlayer)844{845 int rtnValue = 0;846847 // From tile yield848 if(pPlayer == NULL)849 {850 rtnValue += pPlot->calculateNatureYield(YIELD_PRODUCTION, NO_TEAM);851 }852 else853 {854 rtnValue += pPlot->calculateNatureYield(YIELD_PRODUCTION, pPlayer->getTeam());855 }856857 // From resource858 TeamTypes eTeam = NO_TEAM;859 if(pPlayer != NULL)860 {861 eTeam = pPlayer->getTeam();862 }863864 ResourceTypes eResource;865 eResource = pPlot->getResourceType(eTeam);866 if(eResource != NO_RESOURCE)867 {868 rtnValue += GC.getResourceInfo(eResource)->getYieldChange(YIELD_PRODUCTION);869870 CvImprovementEntry* pImprovement = GC.GetGameImprovements()->GetImprovementForResource(eResource);871 if(pImprovement)872 {873 rtnValue += pImprovement->GetImprovementResourceYield(eResource, YIELD_PRODUCTION);874 }875 }876877 return rtnValue * m_iFlavorMultiplier[YIELD_PRODUCTION];878}
Calls
- CvGlobals::GetGameImprovements() const
- CvGlobals::getResourceInfo(ResourceTypes)
- CvImprovementEntry::GetImprovementResourceYield(int, int) const
- CvImprovementXMLEntries::GetImprovementForResource(int)
- CvPlayer::getTeam() const
- CvPlot::calculateNatureYield(YieldTypes, TeamTypes, bool) const
- CvPlot::getResourceType(TeamTypes) const
- CvResourceInfo::getYieldChange(int) const