CvPlayerCulture::GetInfluenceCityStateSpyRankBonus(PlayerTypes) const
- Defined in
- CvCultureClasses.cpp, line 3075
- Class
- CvPlayerCulture
- Hook name
CivHooks::CvPlayerCulture_GetInfluenceCityStateSpyRankBonus
Hooks
static bool BeforeCvPlayerCulture_GetInfluenceCityStateSpyRankBonus(const CvPlayerCulture* self, PlayerTypes eCityStatePlayer, int& result);static void AfterCvPlayerCulture_GetInfluenceCityStateSpyRankBonus(const CvPlayerCulture* self, PlayerTypes eCityStatePlayer, int& result);static int ReplaceCvPlayerCulture_GetInfluenceCityStateSpyRankBonus(int (*original)(const CvPlayerCulture*, PlayerTypes), const CvPlayerCulture* self, PlayerTypes eCityStatePlayer);CivRegisterBefore<CivHooks::CvPlayerCulture_GetInfluenceCityStateSpyRankBonus>(host, &BeforeCvPlayerCulture_GetInfluenceCityStateSpyRankBonus);CivRegisterAfter<CivHooks::CvPlayerCulture_GetInfluenceCityStateSpyRankBonus>(host, &AfterCvPlayerCulture_GetInfluenceCityStateSpyRankBonus);CivRegisterReplace<CivHooks::CvPlayerCulture_GetInfluenceCityStateSpyRankBonus>(host, &ReplaceCvPlayerCulture_GetInfluenceCityStateSpyRankBonus);
Code
3074/// Get extra spy rank in city state allies based on current influence level3075int CvPlayerCulture::GetInfluenceCityStateSpyRankBonus(PlayerTypes eCityStatePlayer) const3076{3077 int iRtnValue = 0;30783079 // Have a major power ally?3080 CvPlayer &kCityState = GET_PLAYER(eCityStatePlayer);3081 if (kCityState.isMinorCiv())3082 {3083 PlayerTypes eAlly = kCityState.GetMinorCivAI()->GetAlly();3084 if (eAlly != NO_PLAYER)3085 {3086 InfluenceLevelTypes eLevel = GetInfluenceLevel(eAlly);3087 switch (eLevel)3088 {3089 case INFLUENCE_LEVEL_POPULAR:3090 iRtnValue = 1;3091 break;3092 case INFLUENCE_LEVEL_INFLUENTIAL:3093 iRtnValue = 1;3094 break;3095 case INFLUENCE_LEVEL_DOMINANT:3096 iRtnValue = 2;3097 break;3098 }3099 }3100 }31013102 return iRtnValue;3103}