CvPlayer::GetCulturePerTurnFromReligion() const
- Defined in
- CvPlayer.cpp, line 10482
- Class
- CvPlayer
- Hook name
CivHooks::CvPlayer_GetCulturePerTurnFromReligion
Hooks
static bool BeforeCvPlayer_GetCulturePerTurnFromReligion(const CvPlayer* self, int& result);static void AfterCvPlayer_GetCulturePerTurnFromReligion(const CvPlayer* self, int& result);static int ReplaceCvPlayer_GetCulturePerTurnFromReligion(int (*original)(const CvPlayer*), const CvPlayer* self);CivRegisterBefore<CivHooks::CvPlayer_GetCulturePerTurnFromReligion>(host, &BeforeCvPlayer_GetCulturePerTurnFromReligion);CivRegisterAfter<CivHooks::CvPlayer_GetCulturePerTurnFromReligion>(host, &AfterCvPlayer_GetCulturePerTurnFromReligion);CivRegisterReplace<CivHooks::CvPlayer_GetCulturePerTurnFromReligion>(host, &ReplaceCvPlayer_GetCulturePerTurnFromReligion);
Code
10481/// Culture per turn from religion10482int CvPlayer::GetCulturePerTurnFromReligion() const10483{10484 int iOtherCulturePerTurn = 0;10485 int iReligionCulturePerTurn = 0;1048610487 // Start by seeing how much the other types are bringing in10488 iOtherCulturePerTurn += GetJONSCulturePerTurnFromCities();10489 iOtherCulturePerTurn += GetJONSCulturePerTurnFromExcessHappiness();10490 iOtherCulturePerTurn += GetJONSCulturePerTurnForFree();10491 iOtherCulturePerTurn += GetCulturePerTurnFromMinorCivs();1049210493 // Founder beliefs10494 CvGameReligions* pReligions = GC.getGame().GetGameReligions();10495 ReligionTypes eFoundedReligion = pReligions->GetFounderBenefitsReligion(GetID());10496 if(eFoundedReligion != NO_RELIGION)10497 {10498 const CvReligion* pReligion = pReligions->GetReligion(eFoundedReligion, NO_PLAYER);10499 if(pReligion)10500 {10501#if defined(MOD_API_UNIFIED_YIELDS)10502 iReligionCulturePerTurn += GetYieldPerTurnFromReligion(YIELD_CULTURE);10503#else10504 iReligionCulturePerTurn += pReligion->m_Beliefs.GetHolyCityYieldChange(YIELD_CULTURE);1050510506 int iTemp = pReligion->m_Beliefs.GetYieldChangePerForeignCity(YIELD_CULTURE);10507 if (iTemp > 0)10508 {10509 iReligionCulturePerTurn += (iTemp * GetReligions()->GetNumForeignCitiesFollowing());10510 }1051110512 iTemp = pReligion->m_Beliefs.GetYieldChangePerXForeignFollowers(YIELD_CULTURE);10513 if (iTemp > 0)10514 {10515 int iFollowers = GetReligions()->GetNumForeignFollowers(false /*bAtPeace*/);10516 if (iFollowers > 0)10517 {10518 iReligionCulturePerTurn += (iFollowers / iTemp);10519 }10520 }10521#endif1052210523 bool bAtPeace = GET_TEAM(getTeam()).getAtWarCount(false) == 0;10524 int iMod = pReligion->m_Beliefs.GetPlayerCultureModifier(bAtPeace);1052510526 if (iMod != 0)10527 {10528 iReligionCulturePerTurn += ((iReligionCulturePerTurn + iOtherCulturePerTurn) * iMod) / 100;10529 }10530 return iReligionCulturePerTurn;10531 }10532 }1053310534 return 0;10535}
Calls
- CvGame::GetGameReligions()
- CvGameReligions::GetFounderBenefitsReligion(PlayerTypes) const
- CvGameReligions::GetReligion(ReligionTypes, PlayerTypes) const
- CvGlobals::getGame()
- CvPlayer::GetCulturePerTurnFromMinorCivs() const
- CvPlayer::GetID() const
- CvPlayer::GetJONSCulturePerTurnForFree() const
- CvPlayer::GetJONSCulturePerTurnFromCities() const
- CvPlayer::GetJONSCulturePerTurnFromExcessHappiness() const
- CvPlayer::getTeam() const
- CvPlayer::GetYieldPerTurnFromReligion(YieldTypes) const
- CvReligionBeliefs::GetPlayerCultureModifier(bool) const
- CvTeam::getAtWarCount(bool) const
- CvTeam::getTeam(TeamTypes)