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}