Bazaar developer reference

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

Called by