Bazaar developer reference

CvPlayerCulture::ComputePublicOpinionUnhappiness(int, int &, int &)

Defined in
CvCultureClasses.cpp, line 3967
Class
CvPlayerCulture
Hook name
CivHooks::CvPlayerCulture_ComputePublicOpinionUnhappiness

Hooks

static bool BeforeCvPlayerCulture_ComputePublicOpinionUnhappiness(CvPlayerCulture* self, int iDissatisfaction, int & iPerCityUnhappy, int & iUnhappyPerXPop, int& result);static void AfterCvPlayerCulture_ComputePublicOpinionUnhappiness(CvPlayerCulture* self, int iDissatisfaction, int & iPerCityUnhappy, int & iUnhappyPerXPop, int& result);static int ReplaceCvPlayerCulture_ComputePublicOpinionUnhappiness(int (*original)(CvPlayerCulture*, int, int &, int &), CvPlayerCulture* self, int iDissatisfaction, int & iPerCityUnhappy, int & iUnhappyPerXPop);CivRegisterBefore<CivHooks::CvPlayerCulture_ComputePublicOpinionUnhappiness>(host, &BeforeCvPlayerCulture_ComputePublicOpinionUnhappiness);CivRegisterAfter<CivHooks::CvPlayerCulture_ComputePublicOpinionUnhappiness>(host, &AfterCvPlayerCulture_ComputePublicOpinionUnhappiness);CivRegisterReplace<CivHooks::CvPlayerCulture_ComputePublicOpinionUnhappiness>(host, &ReplaceCvPlayerCulture_ComputePublicOpinionUnhappiness);

Code

3966/// Compute effects of dissatisfaction3967int CvPlayerCulture::ComputePublicOpinionUnhappiness(int iDissatisfaction, int &iPerCityUnhappy, int &iUnhappyPerXPop)3968{3969	if (iDissatisfaction < 3)3970	{3971		iPerCityUnhappy = 1;3972		iUnhappyPerXPop = 10;39733974	}3975	else if (iDissatisfaction < 5)3976	{3977		iPerCityUnhappy = 2;3978		iUnhappyPerXPop = 5;39793980	}3981	else3982	{3983		iPerCityUnhappy = 4;3984		iUnhappyPerXPop = 3;39853986	}39873988	CUSTOMLOG("ComputePublicOpinionUnhappiness: dissatisfaction=%i, perCity=%i, perPop=%i", iDissatisfaction, iPerCityUnhappy, iUnhappyPerXPop);3989	return max(m_pPlayer->getNumCities() * iPerCityUnhappy, m_pPlayer->getTotalPopulation() / iUnhappyPerXPop);3990}

Calls

Called by