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
- CvGame::GetGameLeagues()
- CvGameLeagues::GetArtsyGreatPersonRateModifier(PlayerTypes)
- CvGameLeagues::GetScienceyGreatPersonRateModifier(PlayerTypes)
- CvGlobals::getCOMBAT_EXPERIENCE_IN_BORDERS_PERCENT()
- CvGlobals::getGame()
- CvPlayer::GetGreatPeopleRateModFromFriendships() const
- CvPlayer::GetID() const
- CvPlayerPolicies::GetNumericModifier(PolicyModifierType)
- CvPlayerTraits::GetGreatGeneralRateModifier() const
- CvPlayerTraits::GetGreatPeopleRateModifier() const
- CvPlayerTraits::GetGreatScientistRateModifier() const
FAutoVariable::operator const int &FAutoVariable::operator+=FAutoVariable::operator=
Called by
- CvDiplomacyAI::SetDoFAccepted(PlayerTypes, bool)
- CvPlayer::init(PlayerTypes)
- CvPlayer::processBuilding(BuildingTypes, int, bool, CvArea *)
- CvPlayer::processPolicies(PolicyTypes, int)
- CvLeague::CheckResolutionsValid()
- CvLeague::DoEnactResolution(CvEnactProposal *)
- CvLeague::DoRepealResolution(CvRepealProposal *)