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}