Bazaar developer reference

CvPlayer::GetHappinessFromNaturalWonders() const

Defined in
CvPlayer.cpp, line 12264
Class
CvPlayer
Hook name
CivHooks::CvPlayer_GetHappinessFromNaturalWonders

Hooks

static bool BeforeCvPlayer_GetHappinessFromNaturalWonders(const CvPlayer* self, int& result);static void AfterCvPlayer_GetHappinessFromNaturalWonders(const CvPlayer* self, int& result);static int ReplaceCvPlayer_GetHappinessFromNaturalWonders(int (*original)(const CvPlayer*), const CvPlayer* self);CivRegisterBefore<CivHooks::CvPlayer_GetHappinessFromNaturalWonders>(host, &BeforeCvPlayer_GetHappinessFromNaturalWonders);CivRegisterAfter<CivHooks::CvPlayer_GetHappinessFromNaturalWonders>(host, &AfterCvPlayer_GetHappinessFromNaturalWonders);CivRegisterReplace<CivHooks::CvPlayer_GetHappinessFromNaturalWonders>(host, &ReplaceCvPlayer_GetHappinessFromNaturalWonders);

Code

12263// Happiness from finding Natural Wonders12264int CvPlayer::GetHappinessFromNaturalWonders() const12265{12266	int iNumWonders = GET_TEAM(getTeam()).GetNumNaturalWondersDiscovered();1226712268	int iHappiness = iNumWonders* /*1*/ GC.getHAPPINESS_PER_NATURAL_WONDER();1226912270	// Trait boosts this further?12271	if(m_pTraits->GetNaturalWonderHappinessModifier() > 0)12272	{12273		iHappiness *= (100 + m_pTraits->GetNaturalWonderHappinessModifier());12274		iHappiness /= 100;12275	}1227612277	for(int iI = 0; iI < GC.getMap().numPlots(); iI++)12278	{12279		CvPlot* pPlot = GC.getMap().plotByIndexUnchecked(iI);12280		if(pPlot == NULL)12281		{12282			continue;12283		}1228412285		if(pPlot->getOwner() != m_eID)12286		{12287			continue;12288		}1228912290		FeatureTypes eFeature = pPlot->getFeatureType();12291		if(eFeature == NO_FEATURE)12292		{12293			continue;12294		}1229512296		int iPlotHappiness = GC.getFeatureInfo(eFeature)->getInBorderHappiness();1229712298		if(iPlotHappiness > 0)12299		{12300			// Trait boosts this further?12301			if(m_pTraits->GetNaturalWonderYieldModifier() > 0)12302			{12303				iPlotHappiness *= (100 + m_pTraits->GetNaturalWonderYieldModifier());12304				iPlotHappiness /= 100;12305			}1230612307			iHappiness += iPlotHappiness;12308		}12309	}1231012311	return iHappiness;12312}

Calls

Called by