CvCitySiteEvaluator::ComputeFoodValue(CvPlot *, CvPlayer *)
- Defined in
- CvSiteEvaluationClasses.cpp, line 772
- Class
- CvCitySiteEvaluator
- Hook name
CivHooks::CvCitySiteEvaluator_ComputeFoodValue
Hooks
static bool BeforeCvCitySiteEvaluator_ComputeFoodValue(CvCitySiteEvaluator* self, CvPlot* pPlot, CvPlayer* pPlayer, int& result);static void AfterCvCitySiteEvaluator_ComputeFoodValue(CvCitySiteEvaluator* self, CvPlot* pPlot, CvPlayer* pPlayer, int& result);static int ReplaceCvCitySiteEvaluator_ComputeFoodValue(int (*original)(CvCitySiteEvaluator*, CvPlot*, CvPlayer*), CvCitySiteEvaluator* self, CvPlot* pPlot, CvPlayer* pPlayer);CivRegisterBefore<CivHooks::CvCitySiteEvaluator_ComputeFoodValue>(host, &BeforeCvCitySiteEvaluator_ComputeFoodValue);CivRegisterAfter<CivHooks::CvCitySiteEvaluator_ComputeFoodValue>(host, &AfterCvCitySiteEvaluator_ComputeFoodValue);CivRegisterReplace<CivHooks::CvCitySiteEvaluator_ComputeFoodValue>(host, &ReplaceCvCitySiteEvaluator_ComputeFoodValue);
Code
771/// Value of plot for providing food772int CvCitySiteEvaluator::ComputeFoodValue(CvPlot* pPlot, CvPlayer* pPlayer)773{774 int rtnValue = 0;775776 // From tile yield777 if(pPlayer == NULL)778 {779 rtnValue += pPlot->calculateNatureYield(YIELD_FOOD, NO_TEAM);780 }781 else782 {783 rtnValue += pPlot->calculateNatureYield(YIELD_FOOD, pPlayer->getTeam());784 }785786 // From resource787 TeamTypes eTeam = NO_TEAM;788 if(pPlayer != NULL)789 {790 eTeam = pPlayer->getTeam();791 }792793 ResourceTypes eResource;794 eResource = pPlot->getResourceType(eTeam);795 if(eResource != NO_RESOURCE)796 {797 rtnValue += GC.getResourceInfo(eResource)->getYieldChange(YIELD_FOOD);798799 CvImprovementEntry* pImprovement = GC.GetGameImprovements()->GetImprovementForResource(eResource);800 if(pImprovement)801 {802 rtnValue += pImprovement->GetImprovementResourceYield(eResource, YIELD_FOOD);803 }804 }805806 return rtnValue * m_iFlavorMultiplier[YIELD_FOOD];807}
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