Bazaar developer reference

CvCity::getConscriptUnit() const

Defined in
CvCity.cpp, line 6079
Class
CvCity
Hook name
CivHooks::CvCity_getConscriptUnit

Hooks

static bool BeforeCvCity_getConscriptUnit(const CvCity* self, UnitTypes& result);static void AfterCvCity_getConscriptUnit(const CvCity* self, UnitTypes& result);static UnitTypes ReplaceCvCity_getConscriptUnit(UnitTypes (*original)(const CvCity*), const CvCity* self);CivRegisterBefore<CivHooks::CvCity_getConscriptUnit>(host, &BeforeCvCity_getConscriptUnit);CivRegisterAfter<CivHooks::CvCity_getConscriptUnit>(host, &AfterCvCity_getConscriptUnit);CivRegisterReplace<CivHooks::CvCity_getConscriptUnit>(host, &ReplaceCvCity_getConscriptUnit);

Code

6079UnitTypes CvCity::getConscriptUnit() const6080{6081	VALIDATE_OBJECT6082	UnitTypes eBestUnit = NO_UNIT;6083	int iBestValue = 0;60846085	for(int iI = 0; iI < GC.getNumUnitClassInfos(); iI++)6086	{6087		const UnitClassTypes eUnitClass = static_cast<UnitClassTypes>(iI);6088		CvUnitClassInfo* pkUnitClassInfo = GC.getUnitClassInfo(eUnitClass);6089		if(pkUnitClassInfo)6090		{6091			const UnitTypes eLoopUnit = (UnitTypes)getCivilizationInfo().getCivilizationUnits(iI);6092			if(eLoopUnit != NO_UNIT)6093			{6094				CvUnitEntry* pkUnitInfo = GC.getUnitInfo(eLoopUnit);6095				if(pkUnitInfo)6096				{6097					if(canTrain(eLoopUnit))6098					{6099						const int iValue = pkUnitInfo->GetConscriptionValue();6100						if(iValue > iBestValue)6101						{6102							iBestValue = iValue;6103							eBestUnit = eLoopUnit;6104						}6105					}6106				}6107			}6108		}6109	}61106111	return eBestUnit;6112}

Calls

Called by