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}