CvPlayer::GetYieldPerTurnFromReligion(YieldTypes) const
- Defined in
- CvPlayer.cpp, line 11210
- Class
- CvPlayer
- Hook name
CivHooks::CvPlayer_GetYieldPerTurnFromReligion
Hooks
static bool BeforeCvPlayer_GetYieldPerTurnFromReligion(const CvPlayer* self, YieldTypes eYield, int& result);static void AfterCvPlayer_GetYieldPerTurnFromReligion(const CvPlayer* self, YieldTypes eYield, int& result);static int ReplaceCvPlayer_GetYieldPerTurnFromReligion(int (*original)(const CvPlayer*, YieldTypes), const CvPlayer* self, YieldTypes eYield);CivRegisterBefore<CivHooks::CvPlayer_GetYieldPerTurnFromReligion>(host, &BeforeCvPlayer_GetYieldPerTurnFromReligion);CivRegisterAfter<CivHooks::CvPlayer_GetYieldPerTurnFromReligion>(host, &AfterCvPlayer_GetYieldPerTurnFromReligion);CivRegisterReplace<CivHooks::CvPlayer_GetYieldPerTurnFromReligion>(host, &ReplaceCvPlayer_GetYieldPerTurnFromReligion);
Code
11209/// Yield per turn from Religion11210int CvPlayer::GetYieldPerTurnFromReligion(YieldTypes eYield) const11211{11212 int iYieldPerTurn = 0;1121311214 CvGameReligions* pReligions = GC.getGame().GetGameReligions();11215 ReligionTypes eReligion = pReligions->GetFounderBenefitsReligion(GetID());11216 if (eReligion != NO_RELIGION)11217 {11218 const CvReligion* pReligion = pReligions->GetReligion(eReligion, NO_PLAYER);11219 if (pReligion)11220 {11221 iYieldPerTurn += pReligion->m_Beliefs.GetHolyCityYieldChange(eYield);1122211223 int iTemp = pReligion->m_Beliefs.GetYieldChangePerForeignCity(eYield);11224 if (iTemp > 0)11225 {11226 iYieldPerTurn += (iTemp * GetReligions()->GetNumForeignCitiesFollowing());11227 }1122811229 iTemp = pReligion->m_Beliefs.GetYieldChangePerXForeignFollowers(eYield);11230 if (iTemp > 0)11231 {11232 int iFollowers = GetReligions()->GetNumForeignFollowers(false /*bAtPeace*/);11233 if (iFollowers > 0)11234 {11235 iYieldPerTurn += (iFollowers / iTemp);11236 }11237 }1123811239 // This came from CvTreasury::GetGoldPerTurnFromReligion()11240 if (eYield == YIELD_GOLD)11241 {11242 int iGoldPerFollowingCity = pReligion->m_Beliefs.GetGoldPerFollowingCity();11243 iYieldPerTurn += (pReligions->GetNumCitiesFollowing(eReligion) * iGoldPerFollowingCity);1124411245 int iGoldPerXFollowers = pReligion->m_Beliefs.GetGoldPerXFollowers();11246 if(iGoldPerXFollowers > 0)11247 {11248 iYieldPerTurn += (pReligions->GetNumFollowers(eReligion) / iGoldPerXFollowers);11249 }11250 }1125111252 int iYieldPerFollowingCity = pReligion->m_Beliefs.GetYieldPerFollowingCity(eYield);11253 iYieldPerTurn += (pReligions->GetNumCitiesFollowing(eReligion) * iYieldPerFollowingCity);1125411255 int iYieldPerXFollowers = pReligion->m_Beliefs.GetYieldPerXFollowers(eYield);11256 if(iYieldPerXFollowers > 0)11257 {11258 iYieldPerTurn += (pReligions->GetNumFollowers(eReligion) / iYieldPerXFollowers);11259 }11260 }11261 }1126211263 return iYieldPerTurn;11264}
Calls
- CvGame::GetGameReligions()
- CvGameReligions::GetFounderBenefitsReligion(PlayerTypes) const
- CvGameReligions::GetNumCitiesFollowing(ReligionTypes) const
- CvGameReligions::GetNumFollowers(ReligionTypes) const
- CvGameReligions::GetReligion(ReligionTypes, PlayerTypes) const
- CvGlobals::getGame()
- CvPlayer::GetID() const
- CvPlayer::GetReligions() const
- CvPlayerReligions::GetNumForeignCitiesFollowing() const
- CvPlayerReligions::GetNumForeignFollowers(bool) const
- CvReligionBeliefs::GetGoldPerFollowingCity() const
- CvReligionBeliefs::GetGoldPerXFollowers() const
- CvReligionBeliefs::GetHolyCityYieldChange(YieldTypes) const
- CvReligionBeliefs::GetYieldChangePerForeignCity(YieldTypes) const
- CvReligionBeliefs::GetYieldChangePerXForeignFollowers(YieldTypes) const
- CvReligionBeliefs::GetYieldPerFollowingCity(YieldTypes) const
- CvReligionBeliefs::GetYieldPerXFollowers(YieldTypes) const