Bazaar developer reference

finalImprovementUpgrade(ImprovementTypes, int)

Defined in
CvGameCoreUtils.cpp, line 490
Hook name
CivHooks::finalImprovementUpgrade

Hooks

static bool BeforefinalImprovementUpgrade(ImprovementTypes eImprovement, int iCount, ImprovementTypes& result);static void AfterfinalImprovementUpgrade(ImprovementTypes eImprovement, int iCount, ImprovementTypes& result);static ImprovementTypes ReplacefinalImprovementUpgrade(ImprovementTypes (*original)(ImprovementTypes, int), ImprovementTypes eImprovement, int iCount);CivRegisterBefore<CivHooks::finalImprovementUpgrade>(host, &BeforefinalImprovementUpgrade);CivRegisterAfter<CivHooks::finalImprovementUpgrade>(host, &AfterfinalImprovementUpgrade);CivRegisterReplace<CivHooks::finalImprovementUpgrade>(host, &ReplacefinalImprovementUpgrade);

Code

490ImprovementTypes finalImprovementUpgrade(ImprovementTypes eImprovement, int iCount)491{492	CvAssertMsg(eImprovement != NO_IMPROVEMENT, "Improvement is not assigned a valid value");493494	if(iCount > GC.getNumImprovementInfos())495	{496		return NO_IMPROVEMENT;497	}498499	if(GC.getImprovementInfo(eImprovement)->GetImprovementUpgrade() != NO_IMPROVEMENT)500	{501		return finalImprovementUpgrade(((ImprovementTypes)(GC.getImprovementInfo(eImprovement)->GetImprovementUpgrade())), (iCount + 1));502	}503	else504	{505		return eImprovement;506	}507}

Calls

Called by