CvCitySiteEvaluator::ComputeGoldValue(CvPlot *, CvPlayer *)
- Defined in
- CvSiteEvaluationClasses.cpp, line 881
- Class
- CvCitySiteEvaluator
- Hook name
CivHooks::CvCitySiteEvaluator_ComputeGoldValue
Hooks
static bool BeforeCvCitySiteEvaluator_ComputeGoldValue(CvCitySiteEvaluator* self, CvPlot* pPlot, CvPlayer* pPlayer, int& result);static void AfterCvCitySiteEvaluator_ComputeGoldValue(CvCitySiteEvaluator* self, CvPlot* pPlot, CvPlayer* pPlayer, int& result);static int ReplaceCvCitySiteEvaluator_ComputeGoldValue(int (*original)(CvCitySiteEvaluator*, CvPlot*, CvPlayer*), CvCitySiteEvaluator* self, CvPlot* pPlot, CvPlayer* pPlayer);CivRegisterBefore<CivHooks::CvCitySiteEvaluator_ComputeGoldValue>(host, &BeforeCvCitySiteEvaluator_ComputeGoldValue);CivRegisterAfter<CivHooks::CvCitySiteEvaluator_ComputeGoldValue>(host, &AfterCvCitySiteEvaluator_ComputeGoldValue);CivRegisterReplace<CivHooks::CvCitySiteEvaluator_ComputeGoldValue>(host, &ReplaceCvCitySiteEvaluator_ComputeGoldValue);
Code
880/// Value of plot for providing gold881int CvCitySiteEvaluator::ComputeGoldValue(CvPlot* pPlot, CvPlayer* pPlayer)882{883 int rtnValue = 0;884885 // From tile yield886 if(pPlayer == NULL)887 {888 rtnValue += pPlot->calculateNatureYield(YIELD_GOLD, NO_TEAM);889 }890 else891 {892 rtnValue += pPlot->calculateNatureYield(YIELD_GOLD, pPlayer->getTeam());893 }894895 // From resource896 TeamTypes eTeam = NO_TEAM;897 if(pPlayer != NULL)898 {899 eTeam = pPlayer->getTeam();900 }901902 ResourceTypes eResource;903 eResource = pPlot->getResourceType(eTeam);904 if(eResource != NO_RESOURCE)905 {906 rtnValue += GC.getResourceInfo(eResource)->getYieldChange(YIELD_GOLD);907908 CvImprovementEntry* pImprovement = GC.GetGameImprovements()->GetImprovementForResource(eResource);909 if(pImprovement)910 {911 rtnValue += pImprovement->GetImprovementResourceYield(eResource, YIELD_GOLD);912 }913 }914915 return rtnValue * m_iFlavorMultiplier[YIELD_GOLD];916}
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