Bazaar developer reference

CvCity::countNumImprovedPlots(ImprovementTypes, bool) const

Defined in
CvCity.cpp, line 2271
Class
CvCity
Hook name
CivHooks::CvCity_countNumImprovedPlots

Hooks

static bool BeforeCvCity_countNumImprovedPlots(const CvCity* self, ImprovementTypes eImprovement, bool bPotential, int& result);static void AfterCvCity_countNumImprovedPlots(const CvCity* self, ImprovementTypes eImprovement, bool bPotential, int& result);static int ReplaceCvCity_countNumImprovedPlots(int (*original)(const CvCity*, ImprovementTypes, bool), const CvCity* self, ImprovementTypes eImprovement, bool bPotential);CivRegisterBefore<CivHooks::CvCity_countNumImprovedPlots>(host, &BeforeCvCity_countNumImprovedPlots);CivRegisterAfter<CivHooks::CvCity_countNumImprovedPlots>(host, &AfterCvCity_countNumImprovedPlots);CivRegisterReplace<CivHooks::CvCity_countNumImprovedPlots>(host, &ReplaceCvCity_countNumImprovedPlots);

Code

2271int CvCity::countNumImprovedPlots(ImprovementTypes eImprovement, bool bPotential) const2272{2273	VALIDATE_OBJECT2274	CvPlot* pLoopPlot;2275	int iCount;2276	int iI;22772278	iCount = 0;22792280	CvCityCitizens* pCityCitizens = GetCityCitizens();22812282#if defined(MOD_GLOBAL_CITY_WORKING)2283	for(iI = 0; iI < GetNumWorkablePlots(); iI++)2284#else2285	for(iI = 0; iI < NUM_CITY_PLOTS; iI++)2286#endif2287	{2288		pLoopPlot = pCityCitizens->GetCityPlotFromIndex(iI);22892290		if(pLoopPlot != NULL)2291		{2292			if(pLoopPlot->getWorkingCity() == this)2293			{2294				if(eImprovement != NO_IMPROVEMENT)2295				{2296					if((pLoopPlot->getImprovementType() == eImprovement && !pLoopPlot->IsImprovementPillaged()) || (bPotential && pLoopPlot->canHaveImprovement(eImprovement, getTeam())))2297					{2298						++iCount;2299					}2300				}2301				else if(pLoopPlot->getImprovementType() != NO_IMPROVEMENT && !pLoopPlot->IsImprovementPillaged())2302				{2303					iCount++;2304				}2305			}2306		}2307	}23082309	return iCount;2310}

Calls

Called by