Bazaar developer reference

CvPlayer::recomputeGreatPeopleModifiers()

Defined in
CvPlayer.cpp, line 14570
Class
CvPlayer
Hook name
CivHooks::CvPlayer_recomputeGreatPeopleModifiers

Hooks

static bool BeforeCvPlayer_recomputeGreatPeopleModifiers(CvPlayer* self);static void AfterCvPlayer_recomputeGreatPeopleModifiers(CvPlayer* self);static void ReplaceCvPlayer_recomputeGreatPeopleModifiers(void (*original)(CvPlayer*), CvPlayer* self);CivRegisterBefore<CivHooks::CvPlayer_recomputeGreatPeopleModifiers>(host, &BeforeCvPlayer_recomputeGreatPeopleModifiers);CivRegisterAfter<CivHooks::CvPlayer_recomputeGreatPeopleModifiers>(host, &AfterCvPlayer_recomputeGreatPeopleModifiers);CivRegisterReplace<CivHooks::CvPlayer_recomputeGreatPeopleModifiers>(host, &ReplaceCvPlayer_recomputeGreatPeopleModifiers);

Code

14570void CvPlayer::recomputeGreatPeopleModifiers()14571{14572	//=============14573	// Initialize14574	//=============14575	m_iGreatPeopleRateModifier = 0;14576	m_iGreatGeneralRateModifier = 0;14577	m_iGreatAdmiralRateModifier = 0;14578	m_iGreatWriterRateModifier = 0;14579	m_iGreatArtistRateModifier = 0;14580	m_iGreatMusicianRateModifier = 0;14581	m_iGreatMerchantRateModifier = 0;14582	m_iGreatScientistRateModifier = 0;14583	m_iGreatEngineerRateModifier = 0;14584	m_iDomesticGreatGeneralRateModifier = 0;1458514586	// Get from traits first14587	m_iGreatPeopleRateModifier += m_pTraits->GetGreatPeopleRateModifier();14588	m_iGreatGeneralRateModifier += m_pTraits->GetGreatGeneralRateModifier();14589	m_iGreatScientistRateModifier += m_pTraits->GetGreatScientistRateModifier();1459014591	// Then get from current policies14592	m_iGreatPeopleRateModifier += m_pPlayerPolicies->GetNumericModifier(POLICYMOD_GREAT_PERSON_RATE);14593	m_iGreatGeneralRateModifier += m_pPlayerPolicies->GetNumericModifier(POLICYMOD_GREAT_GENERAL_RATE);14594	m_iGreatAdmiralRateModifier += m_pPlayerPolicies->GetNumericModifier(POLICYMOD_GREAT_ADMIRAL_RATE);14595	m_iGreatWriterRateModifier += m_pPlayerPolicies->GetNumericModifier(POLICYMOD_GREAT_WRITER_RATE);14596	m_iGreatArtistRateModifier += m_pPlayerPolicies->GetNumericModifier(POLICYMOD_GREAT_ARTIST_RATE);14597	m_iGreatMusicianRateModifier += m_pPlayerPolicies->GetNumericModifier(POLICYMOD_GREAT_MUSICIAN_RATE);14598	m_iGreatMerchantRateModifier += m_pPlayerPolicies->GetNumericModifier(POLICYMOD_GREAT_MERCHANT_RATE);14599	m_iGreatScientistRateModifier += m_pPlayerPolicies->GetNumericModifier(POLICYMOD_GREAT_SCIENTIST_RATE);14600	m_iDomesticGreatGeneralRateModifier += m_pPlayerPolicies->GetNumericModifier(POLICYMOD_DOMESTIC_GREAT_GENERAL_RATE);1460114602	// Next add in buildings14603	m_iGreatPeopleRateModifier += m_iGreatPeopleRateModFromBldgs;14604	m_iGreatGeneralRateModifier += m_iGreatGeneralRateModFromBldgs;14605	m_iDomesticGreatGeneralRateModifier += m_iDomesticGreatGeneralRateModFromBldgs;1460614607	// Finally anything from friendships14608	m_iGreatPeopleRateModifier += GetGreatPeopleRateModFromFriendships();1460914610	// And effects from Leagues14611	int iArtsyMod = GC.getGame().GetGameLeagues()->GetArtsyGreatPersonRateModifier(GetID());14612	int iScienceyMod = GC.getGame().GetGameLeagues()->GetScienceyGreatPersonRateModifier(GetID());14613	if (iArtsyMod != 0)14614	{14615		m_iGreatWriterRateModifier += iArtsyMod;14616		m_iGreatArtistRateModifier += iArtsyMod;14617		m_iGreatMusicianRateModifier += iArtsyMod;14618	}14619	if (iScienceyMod != 0)14620	{14621		m_iGreatScientistRateModifier += iScienceyMod;14622		m_iGreatEngineerRateModifier += iScienceyMod;14623		m_iGreatMerchantRateModifier += iScienceyMod;14624	}1462514626	// Finally boost domestic general from combat experience14627	m_iDomesticGreatGeneralRateModifier += GC.getCOMBAT_EXPERIENCE_IN_BORDERS_PERCENT();14628}

Calls

Called by