Hooks
static bool BeforeCvCity_getProductionTurnsLeft_with_BuildingTypes_int_const(const CvCity* self, BuildingTypes eBuilding, int iNum, int& result);static void AfterCvCity_getProductionTurnsLeft_with_BuildingTypes_int_const(const CvCity* self, BuildingTypes eBuilding, int iNum, int& result);static int ReplaceCvCity_getProductionTurnsLeft_with_BuildingTypes_int_const(int (*original)(const CvCity*, BuildingTypes, int), const CvCity* self, BuildingTypes eBuilding, int iNum);CivRegisterBefore<CivHooks::CvCity_getProductionTurnsLeft_with_BuildingTypes_int_const>(host, &BeforeCvCity_getProductionTurnsLeft_with_BuildingTypes_int_const);CivRegisterAfter<CivHooks::CvCity_getProductionTurnsLeft_with_BuildingTypes_int_const>(host, &AfterCvCity_getProductionTurnsLeft_with_BuildingTypes_int_const);CivRegisterReplace<CivHooks::CvCity_getProductionTurnsLeft_with_BuildingTypes_int_const>(host, &ReplaceCvCity_getProductionTurnsLeft_with_BuildingTypes_int_const);
Code
4857int CvCity::getProductionTurnsLeft(BuildingTypes eBuilding, int iNum) const4858{4859 VALIDATE_OBJECT4860 int iProduction;4861 int iFirstBuildingOrder;4862 int iProductionNeeded;4863 int iProductionModifier;48644865 iProduction = 0;48664867 iFirstBuildingOrder = getFirstBuildingOrder(eBuilding);48684869 if((iFirstBuildingOrder == -1) || (iFirstBuildingOrder == iNum))4870 {4871 iProduction += m_pCityBuildings->GetBuildingProductionTimes100(eBuilding);4872 }48734874 iProductionNeeded = getProductionNeeded(eBuilding) * 100;48754876 iProductionModifier = getProductionModifier(eBuilding);48774878 return getProductionTurnsLeft(iProductionNeeded, iProduction, getProductionDifferenceTimes100(iProductionNeeded, iProduction, iProductionModifier, false, (iNum == 0)), getProductionDifferenceTimes100(iProductionNeeded, iProduction, iProductionModifier, false, false));4879}