CvPlayer::getProductionNeeded(ProjectTypes) const
- Defined in
- CvPlayer.cpp, line 8739
- Class
- CvPlayer
- Hook name
CivHooks::CvPlayer_getProductionNeeded_with_ProjectTypes_const
Hooks
static bool BeforeCvPlayer_getProductionNeeded_with_ProjectTypes_const(const CvPlayer* self, ProjectTypes eProject, int& result);static void AfterCvPlayer_getProductionNeeded_with_ProjectTypes_const(const CvPlayer* self, ProjectTypes eProject, int& result);static int ReplaceCvPlayer_getProductionNeeded_with_ProjectTypes_const(int (*original)(const CvPlayer*, ProjectTypes), const CvPlayer* self, ProjectTypes eProject);CivRegisterBefore<CivHooks::CvPlayer_getProductionNeeded_with_ProjectTypes_const>(host, &BeforeCvPlayer_getProductionNeeded_with_ProjectTypes_const);CivRegisterAfter<CivHooks::CvPlayer_getProductionNeeded_with_ProjectTypes_const>(host, &AfterCvPlayer_getProductionNeeded_with_ProjectTypes_const);CivRegisterReplace<CivHooks::CvPlayer_getProductionNeeded_with_ProjectTypes_const>(host, &ReplaceCvPlayer_getProductionNeeded_with_ProjectTypes_const);
Code
8739int CvPlayer::getProductionNeeded(ProjectTypes eProject) const8740{8741 int iProductionNeeded;87428743 iProductionNeeded = GC.getProjectInfo(eProject)->GetProductionCost();87448745 if(isMinorCiv())8746 {8747 iProductionNeeded *= GC.getMINOR_CIV_PRODUCTION_PERCENT();8748 iProductionNeeded /= 100;8749 }87508751 iProductionNeeded *= GC.getPROJECT_PRODUCTION_PERCENT();8752 iProductionNeeded /= 100;87538754 iProductionNeeded *= GC.getGame().getGameSpeedInfo().getCreatePercent();8755 iProductionNeeded /= 100;87568757 iProductionNeeded *= GC.getGame().getStartEraInfo().getCreatePercent();8758 iProductionNeeded /= 100;87598760 if(!isHuman() && !IsAITeammateOfHuman() && !isBarbarian())8761 {8762 if(isWorldProject(eProject))8763 {8764 iProductionNeeded *= GC.getGame().getHandicapInfo().getAIWorldCreatePercent();8765 iProductionNeeded /= 100;8766 }8767 else8768 {8769 iProductionNeeded *= GC.getGame().getHandicapInfo().getAICreatePercent();8770 iProductionNeeded /= 100;8771 }87728773 iProductionNeeded *= std::max(0, ((GC.getGame().getHandicapInfo().getAIPerEraModifier() * GetCurrentEra()) + 100));8774 iProductionNeeded /= 100;8775 }87768777 return std::max(1, iProductionNeeded);8778}
Calls
- CvEraInfo::getCreatePercent() const
- CvGame::getGameSpeedInfo() const
- CvGame::getHandicapInfo() const
- CvGame::getStartEraInfo() const
- CvGameSpeedInfo::getCreatePercent() const
- CvGlobals::getGame()
- CvGlobals::getMINOR_CIV_PRODUCTION_PERCENT()
- CvGlobals::getPROJECT_PRODUCTION_PERCENT()
- CvGlobals::getProjectInfo(ProjectTypes)
- CvHandicapInfo::getAICreatePercent() const
- CvHandicapInfo::getAIPerEraModifier() const
- CvHandicapInfo::getAIWorldCreatePercent() const
- CvPlayer::GetCurrentEra() const
- CvPlayer::IsAITeammateOfHuman() const
- CvPlayer::isBarbarian() const
- CvPlayer::isHuman() const
- CvPlayer::isMinorCiv() const
- CvProjectEntry::GetProductionCost() const
- isWorldProject(ProjectTypes)
std::max