CvPlayerCulture::GetInfluenceTrend(PlayerTypes) const
- Defined in
- CvCultureClasses.cpp, line 2846
- Class
- CvPlayerCulture
- Hook name
CivHooks::CvPlayerCulture_GetInfluenceTrend
Hooks
static bool BeforeCvPlayerCulture_GetInfluenceTrend(const CvPlayerCulture* self, PlayerTypes ePlayer, InfluenceLevelTrend& result);static void AfterCvPlayerCulture_GetInfluenceTrend(const CvPlayerCulture* self, PlayerTypes ePlayer, InfluenceLevelTrend& result);static InfluenceLevelTrend ReplaceCvPlayerCulture_GetInfluenceTrend(InfluenceLevelTrend (*original)(const CvPlayerCulture*, PlayerTypes), const CvPlayerCulture* self, PlayerTypes ePlayer);CivRegisterBefore<CivHooks::CvPlayerCulture_GetInfluenceTrend>(host, &BeforeCvPlayerCulture_GetInfluenceTrend);CivRegisterAfter<CivHooks::CvPlayerCulture_GetInfluenceTrend>(host, &AfterCvPlayerCulture_GetInfluenceTrend);CivRegisterReplace<CivHooks::CvPlayerCulture_GetInfluenceTrend>(host, &ReplaceCvPlayerCulture_GetInfluenceTrend);
Code
2845/// Current influence trend on this player2846InfluenceLevelTrend CvPlayerCulture::GetInfluenceTrend(PlayerTypes ePlayer) const2847{2848 InfluenceLevelTrend eRtnValue = INFLUENCE_TREND_STATIC;28492850 CvPlayer &kOtherPlayer = GET_PLAYER(ePlayer);28512852 // PctTurn1 = InfluenceT1 / LifetimeCultureT12853 // PctTurn2 = InfluenceT2 / LifetimeCultureT22854 2855 // So if looking at is PctT2 > PctT1, can see if (InfluenceT2 * LifetimeCultureT1) > (InfluenceT1 * LifetimeCultureT2)2856 int iLHS = GetInfluenceOn(ePlayer) * kOtherPlayer.GetCulture()->GetLastTurnLifetimeCulture();2857 int iRHS = GetLastTurnInfluenceOn(ePlayer) * kOtherPlayer.GetJONSCultureEverGenerated();28582859 if (kOtherPlayer.GetCulture()->GetLastTurnLifetimeCulture() > 0 && kOtherPlayer.GetJONSCultureEverGenerated() > 0)2860 {2861 if (iLHS > iRHS)2862 {2863 eRtnValue = INFLUENCE_TREND_RISING;2864 }2865 else if (iLHS < iRHS)2866 {2867 eRtnValue = INFLUENCE_TREND_FALLING;2868 }2869 }2870 2871 return eRtnValue;2872}