Bazaar developer reference

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

Called by