Bazaar developer reference

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}

Calls

Called by