CvCity::updateExtraSpecialistYield(YieldTypes)
- Defined in
- CvCity.cpp, line 11040
- Class
- CvCity
- Hook name
CivHooks::CvCity_updateExtraSpecialistYield
Hooks
static bool BeforeCvCity_updateExtraSpecialistYield(CvCity* self, YieldTypes eYield);static void AfterCvCity_updateExtraSpecialistYield(CvCity* self, YieldTypes eYield);static void ReplaceCvCity_updateExtraSpecialistYield(void (*original)(CvCity*, YieldTypes), CvCity* self, YieldTypes eYield);CivRegisterBefore<CivHooks::CvCity_updateExtraSpecialistYield>(host, &BeforeCvCity_updateExtraSpecialistYield);CivRegisterAfter<CivHooks::CvCity_updateExtraSpecialistYield>(host, &AfterCvCity_updateExtraSpecialistYield);CivRegisterReplace<CivHooks::CvCity_updateExtraSpecialistYield>(host, &ReplaceCvCity_updateExtraSpecialistYield);
Code
11040void CvCity::updateExtraSpecialistYield(YieldTypes eYield)11041{11042 VALIDATE_OBJECT11043 int iOldYield;11044 int iNewYield;11045 int iI;1104611047 CvAssertMsg(eYield >= 0, "eYield expected to be >= 0");11048 CvAssertMsg(eYield < NUM_YIELD_TYPES, "eYield expected to be < NUM_YIELD_TYPES");1104911050 iOldYield = getExtraSpecialistYield(eYield);1105111052 iNewYield = 0;1105311054 for(iI = 0; iI < GC.getNumSpecialistInfos(); iI++)11055 {11056 iNewYield += getExtraSpecialistYield(eYield, ((SpecialistTypes)iI));11057 }1105811059 if(iOldYield != iNewYield)11060 {11061 m_aiExtraSpecialistYield.setAt(eYield, iNewYield);11062 CvAssert(getExtraSpecialistYield(eYield) >= 0);1106311064 ChangeBaseYieldRateFromSpecialists(eYield, (iNewYield - iOldYield));11065 }11066}