CvCity::hurryProduction(HurryTypes) const
- Defined in
- CvCity.cpp, line 7582
- Class
- CvCity
- Hook name
CivHooks::CvCity_hurryProduction
Hooks
static bool BeforeCvCity_hurryProduction(const CvCity* self, HurryTypes eHurry, int& result);static void AfterCvCity_hurryProduction(const CvCity* self, HurryTypes eHurry, int& result);static int ReplaceCvCity_hurryProduction(int (*original)(const CvCity*, HurryTypes), const CvCity* self, HurryTypes eHurry);CivRegisterBefore<CivHooks::CvCity_hurryProduction>(host, &BeforeCvCity_hurryProduction);CivRegisterAfter<CivHooks::CvCity_hurryProduction>(host, &AfterCvCity_hurryProduction);CivRegisterReplace<CivHooks::CvCity_hurryProduction>(host, &ReplaceCvCity_hurryProduction);
Code
7582int CvCity::hurryProduction(HurryTypes eHurry) const7583{7584 VALIDATE_OBJECT7585 int iProduction = 0;75867587 CvHurryInfo* pkHurryInfo = GC.getHurryInfo(eHurry);7588 if(pkHurryInfo)7589 {7590 if(pkHurryInfo->getProductionPerPopulation() > 0)7591 {7592 iProduction = (100 * getExtraProductionDifference(hurryPopulation(eHurry) * GC.getGame().getProductionPerPopulation(eHurry))) / std::max(1, getHurryCostModifier(eHurry));7593 CvAssert(iProduction >= productionLeft());7594 }7595 else7596 {7597 iProduction = productionLeft();7598 }7599 }76007601 return iProduction;7602}
Calls
- CvCity::getExtraProductionDifference(int) const
- CvCity::getHurryCostModifier(HurryTypes, bool) const
- CvCity::hurryPopulation(HurryTypes) const
- CvCity::productionLeft() const
- CvGame::getProductionPerPopulation(HurryTypes)
- CvGlobals::getGame()
- CvGlobals::getHurryInfo(HurryTypes)
- CvHurryInfo::getProductionPerPopulation() const
std::max