Bazaar developer reference

CvCitySiteEvaluator::ComputeHappinessValue(CvPlot *, CvPlayer *)

Defined in
CvSiteEvaluationClasses.cpp, line 810
Class
CvCitySiteEvaluator
Hook name
CivHooks::CvCitySiteEvaluator_ComputeHappinessValue

Hooks

static bool BeforeCvCitySiteEvaluator_ComputeHappinessValue(CvCitySiteEvaluator* self, CvPlot* pPlot, CvPlayer* pPlayer, int& result);static void AfterCvCitySiteEvaluator_ComputeHappinessValue(CvCitySiteEvaluator* self, CvPlot* pPlot, CvPlayer* pPlayer, int& result);static int ReplaceCvCitySiteEvaluator_ComputeHappinessValue(int (*original)(CvCitySiteEvaluator*, CvPlot*, CvPlayer*), CvCitySiteEvaluator* self, CvPlot* pPlot, CvPlayer* pPlayer);CivRegisterBefore<CivHooks::CvCitySiteEvaluator_ComputeHappinessValue>(host, &BeforeCvCitySiteEvaluator_ComputeHappinessValue);CivRegisterAfter<CivHooks::CvCitySiteEvaluator_ComputeHappinessValue>(host, &AfterCvCitySiteEvaluator_ComputeHappinessValue);CivRegisterReplace<CivHooks::CvCitySiteEvaluator_ComputeHappinessValue>(host, &ReplaceCvCitySiteEvaluator_ComputeHappinessValue);

Code

809/// Value of plot for providing Happiness810int CvCitySiteEvaluator::ComputeHappinessValue(CvPlot* pPlot, CvPlayer* pPlayer)811{812	int rtnValue = 0;813814	// From resource815	TeamTypes eTeam = NO_TEAM;816	if(pPlayer != NULL)817	{818		eTeam = pPlayer->getTeam();819	}820821	ResourceTypes eResource;822	eResource = pPlot->getResourceType(eTeam);823	if(eResource != NO_RESOURCE)824	{825		// Add a bonus if adds Happiness826		if(!pPlot->isOwned())827		{828			rtnValue += GC.getResourceInfo(eResource)->getHappiness();829		}830831		// If we don't have this resource yet, increase it's value832		if(pPlayer)833		{834			if(pPlayer->getNumResourceTotal(eResource) == 0)835				rtnValue *= 5;836		}837	}838839	return rtnValue * m_iFlavorMultiplier[SITE_EVALUATION_HAPPINESS];840}

Calls

Called by