CvPlayerCulture::GetCivLowestInfluence(bool) const
- Defined in
- CvCultureClasses.cpp, line 2947
- Class
- CvPlayerCulture
- Hook name
CivHooks::CvPlayerCulture_GetCivLowestInfluence
Hooks
static bool BeforeCvPlayerCulture_GetCivLowestInfluence(const CvPlayerCulture* self, bool bCheckOpenBorders, PlayerTypes& result);static void AfterCvPlayerCulture_GetCivLowestInfluence(const CvPlayerCulture* self, bool bCheckOpenBorders, PlayerTypes& result);static PlayerTypes ReplaceCvPlayerCulture_GetCivLowestInfluence(PlayerTypes (*original)(const CvPlayerCulture*, bool), const CvPlayerCulture* self, bool bCheckOpenBorders);CivRegisterBefore<CivHooks::CvPlayerCulture_GetCivLowestInfluence>(host, &BeforeCvPlayerCulture_GetCivLowestInfluence);CivRegisterAfter<CivHooks::CvPlayerCulture_GetCivLowestInfluence>(host, &AfterCvPlayerCulture_GetCivLowestInfluence);CivRegisterReplace<CivHooks::CvPlayerCulture_GetCivLowestInfluence>(host, &ReplaceCvPlayerCulture_GetCivLowestInfluence);
Code
2946/// Which civ is the one we need to do the most work on to get to Influential culture?2947PlayerTypes CvPlayerCulture::GetCivLowestInfluence(bool bCheckOpenBorders) const2948{2949 PlayerTypes eRtnValue = NO_PLAYER;2950 int iLowestPercent = GC.getCULTURE_LEVEL_INFLUENTIAL(); // Don't want to target civs if already influential29512952 for (int iLoopPlayer = 0; iLoopPlayer < MAX_MAJOR_CIVS; iLoopPlayer++)2953 {2954 CvPlayer &kPlayer = GET_PLAYER((PlayerTypes)iLoopPlayer);2955 CvTeam &kTeam = GET_TEAM(kPlayer.getTeam());2956 if (iLoopPlayer != m_pPlayer->GetID() && kPlayer.isAlive() && !kPlayer.isMinorCiv() && !kTeam.isAtWar(m_pPlayer->getTeam()))2957 {2958 if (!bCheckOpenBorders || kTeam.IsAllowsOpenBordersToTeam(m_pPlayer->getTeam()))2959 {2960 int iInfluenceOn = GetInfluenceOn((PlayerTypes)iLoopPlayer);2961 int iLifetimeCulture = kPlayer.GetJONSCultureEverGenerated();2962 int iPercent = 0;29632964 if (iLifetimeCulture > 0)2965 {2966 iPercent = iInfluenceOn * 100 / iLifetimeCulture;2967 }29682969 if (iPercent < iLowestPercent)2970 {2971 iLowestPercent = iPercent;2972 eRtnValue = (PlayerTypes)iLoopPlayer;2973 }2974 }2975 }2976 }29772978 return eRtnValue;2979}
Calls
- CvGlobals::getCULTURE_LEVEL_INFLUENTIAL()
- CvPlayer::GetID() const
- CvPlayer::GetJONSCultureEverGenerated() const
- CvPlayer::getTeam() const
- CvPlayer::isAlive() const
- CvPlayer::isMinorCiv() const
- CvPlayerAI::getPlayer(PlayerTypes)
- CvPlayerCulture::GetInfluenceOn(PlayerTypes) const
- CvTeam::getTeam(TeamTypes)
- CvTeam::IsAllowsOpenBordersToTeam(TeamTypes) const
- CvTeam::isAtWar(TeamTypes) const