Bazaar developer reference

CvCity::getProductionTurnsLeft(int, int, int, int) const

Defined in
CvCity.cpp, line 4963
Class
CvCity
Hook name
CivHooks::CvCity_getProductionTurnsLeft_with_int_int_int_int_const

Hooks

static bool BeforeCvCity_getProductionTurnsLeft_with_int_int_int_int_const(const CvCity* self, int iProductionNeeded, int iProduction, int iFirstProductionDifference, int iProductionDifference, int& result);static void AfterCvCity_getProductionTurnsLeft_with_int_int_int_int_const(const CvCity* self, int iProductionNeeded, int iProduction, int iFirstProductionDifference, int iProductionDifference, int& result);static int ReplaceCvCity_getProductionTurnsLeft_with_int_int_int_int_const(int (*original)(const CvCity*, int, int, int, int), const CvCity* self, int iProductionNeeded, int iProduction, int iFirstProductionDifference, int iProductionDifference);CivRegisterBefore<CivHooks::CvCity_getProductionTurnsLeft_with_int_int_int_int_const>(host, &BeforeCvCity_getProductionTurnsLeft_with_int_int_int_int_const);CivRegisterAfter<CivHooks::CvCity_getProductionTurnsLeft_with_int_int_int_int_const>(host, &AfterCvCity_getProductionTurnsLeft_with_int_int_int_int_const);CivRegisterReplace<CivHooks::CvCity_getProductionTurnsLeft_with_int_int_int_int_const>(host, &ReplaceCvCity_getProductionTurnsLeft_with_int_int_int_int_const);

Code

4963int CvCity::getProductionTurnsLeft(int iProductionNeeded, int iProduction, int iFirstProductionDifference, int iProductionDifference) const4964{4965	VALIDATE_OBJECT4966	int iProductionLeft;4967	int iTurnsLeft;49684969	iProductionLeft = std::max(0, (iProductionNeeded - iProduction - iFirstProductionDifference));49704971	if(iProductionDifference == 0)4972	{4973		return iProductionLeft + 1;4974	}49754976	iTurnsLeft = (iProductionLeft / iProductionDifference);49774978	if((iTurnsLeft * iProductionDifference) < iProductionLeft)4979	{4980		iTurnsLeft++;4981	}49824983	iTurnsLeft++;49844985	return std::max(1, iTurnsLeft);4986}

Calls

Called by