Bazaar developer reference

CvCitySiteEvaluator::ComputeScienceValue(CvPlot *, CvPlayer *)

Defined in
CvSiteEvaluationClasses.cpp, line 919
Class
CvCitySiteEvaluator
Hook name
CivHooks::CvCitySiteEvaluator_ComputeScienceValue

Hooks

static bool BeforeCvCitySiteEvaluator_ComputeScienceValue(CvCitySiteEvaluator* self, CvPlot* pPlot, CvPlayer* pPlayer, int& result);static void AfterCvCitySiteEvaluator_ComputeScienceValue(CvCitySiteEvaluator* self, CvPlot* pPlot, CvPlayer* pPlayer, int& result);static int ReplaceCvCitySiteEvaluator_ComputeScienceValue(int (*original)(CvCitySiteEvaluator*, CvPlot*, CvPlayer*), CvCitySiteEvaluator* self, CvPlot* pPlot, CvPlayer* pPlayer);CivRegisterBefore<CivHooks::CvCitySiteEvaluator_ComputeScienceValue>(host, &BeforeCvCitySiteEvaluator_ComputeScienceValue);CivRegisterAfter<CivHooks::CvCitySiteEvaluator_ComputeScienceValue>(host, &AfterCvCitySiteEvaluator_ComputeScienceValue);CivRegisterReplace<CivHooks::CvCitySiteEvaluator_ComputeScienceValue>(host, &ReplaceCvCitySiteEvaluator_ComputeScienceValue);

Code

918/// Value of plot for providing science919int CvCitySiteEvaluator::ComputeScienceValue(CvPlot* pPlot, CvPlayer* pPlayer)920{921	int rtnValue = 0;922923	CvAssert(pPlot);924	if(!pPlot) return rtnValue;925926	// From tile yield927	if(pPlayer == NULL)928	{929		rtnValue += pPlot->calculateNatureYield(YIELD_SCIENCE, NO_TEAM);930	}931	else932	{933		rtnValue += pPlot->calculateNatureYield(YIELD_SCIENCE, pPlayer->getTeam());934	}935936	// From resource937	TeamTypes eTeam = NO_TEAM;938	if(pPlayer != NULL)939	{940		eTeam = pPlayer->getTeam();941	}942943	ResourceTypes eResource;944	eResource = pPlot->getResourceType(eTeam);945	if(eResource != NO_RESOURCE)946	{947		rtnValue += GC.getResourceInfo(eResource)->getYieldChange(YIELD_SCIENCE);948949		CvImprovementEntry* pImprovement = GC.GetGameImprovements()->GetImprovementForResource(eResource);950		if(pImprovement)951		{952			rtnValue += pImprovement->GetImprovementResourceYield(eResource, YIELD_SCIENCE);953		}954	}955956	return rtnValue * m_iFlavorMultiplier[YIELD_SCIENCE];957}

Calls

Called by