Bazaar developer reference

CvPlayer::GetGreatPeopleRateModFromFriendships() const

Defined in
CvPlayer.cpp, line 14632
Class
CvPlayer
Hook name
CivHooks::CvPlayer_GetGreatPeopleRateModFromFriendships

Hooks

static bool BeforeCvPlayer_GetGreatPeopleRateModFromFriendships(const CvPlayer* self, int& result);static void AfterCvPlayer_GetGreatPeopleRateModFromFriendships(const CvPlayer* self, int& result);static int ReplaceCvPlayer_GetGreatPeopleRateModFromFriendships(int (*original)(const CvPlayer*), const CvPlayer* self);CivRegisterBefore<CivHooks::CvPlayer_GetGreatPeopleRateModFromFriendships>(host, &BeforeCvPlayer_GetGreatPeopleRateModFromFriendships);CivRegisterAfter<CivHooks::CvPlayer_GetGreatPeopleRateModFromFriendships>(host, &AfterCvPlayer_GetGreatPeopleRateModFromFriendships);CivRegisterReplace<CivHooks::CvPlayer_GetGreatPeopleRateModFromFriendships>(host, &ReplaceCvPlayer_GetGreatPeopleRateModFromFriendships);

Code

14631// Do we have a trait that rewards friendships (or have a friend that does)?14632int CvPlayer::GetGreatPeopleRateModFromFriendships() const14633{14634	int iRtnValue = 0;14635	int iTraitMod = GetPlayerTraits()->GetDOFGreatPersonModifier();1463614637	// Have the trait, one for each friend14638	if(iTraitMod > 0)14639	{14640		iRtnValue = GetDiplomacyAI()->GetNumDoF() * iTraitMod;14641	}1464214643	// Don't have the trait, just get bonus once if friends with a player that does14644	else14645	{14646		PlayerTypes eLoopPlayer;14647		for(int iPlayerLoop = 0; iPlayerLoop < MAX_MAJOR_CIVS; iPlayerLoop++)14648		{14649			eLoopPlayer = (PlayerTypes) iPlayerLoop;1465014651			if(GetDiplomacyAI()->IsPlayerValid(eLoopPlayer))14652			{14653				if(GetDiplomacyAI()->IsDoFAccepted(eLoopPlayer))14654				{14655					int iOthersTraitMod = GET_PLAYER(eLoopPlayer).GetPlayerTraits()->GetDOFGreatPersonModifier();14656					if(iOthersTraitMod > 0)14657					{14658						iRtnValue += iOthersTraitMod;14659					}14660				}14661			}14662		}14663	}1466414665	return iRtnValue;14666}

Calls

Called by