Bazaar developer reference

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

Called by