CvTeamTechs::GetMaxResearchOverflow(TechTypes, PlayerTypes) const
- Defined in
- CvTechClasses.cpp, line 2281
- Class
- CvTeamTechs
- Hook name
CivHooks::CvTeamTechs_GetMaxResearchOverflow
Hooks
static bool BeforeCvTeamTechs_GetMaxResearchOverflow(const CvTeamTechs* self, TechTypes eTech, PlayerTypes ePlayer, int& result);static void AfterCvTeamTechs_GetMaxResearchOverflow(const CvTeamTechs* self, TechTypes eTech, PlayerTypes ePlayer, int& result);static int ReplaceCvTeamTechs_GetMaxResearchOverflow(int (*original)(const CvTeamTechs*, TechTypes, PlayerTypes), const CvTeamTechs* self, TechTypes eTech, PlayerTypes ePlayer);CivRegisterBefore<CivHooks::CvTeamTechs_GetMaxResearchOverflow>(host, &BeforeCvTeamTechs_GetMaxResearchOverflow);CivRegisterAfter<CivHooks::CvTeamTechs_GetMaxResearchOverflow>(host, &AfterCvTeamTechs_GetMaxResearchOverflow);CivRegisterReplace<CivHooks::CvTeamTechs_GetMaxResearchOverflow>(host, &ReplaceCvTeamTechs_GetMaxResearchOverflow);
Code
2281int CvTeamTechs::GetMaxResearchOverflow(TechTypes eTech, PlayerTypes ePlayer) const2282{2283 CvPlayer &kPlayer = GET_PLAYER(ePlayer);22842285 // 5 turns of science is a reasonable allowance of overflow (about equal to a standard research agreement award)2286 int iReturnValue = kPlayer.GetScienceTimes100() * 5; 22872288 // Alternatively let it be the raw cost of the tech (times 100)2289 CvTechEntry* pkTechInfo = GC.getTechInfo(eTech);2290 if(pkTechInfo == NULL)2291 {2292 return 0;2293 }22942295 int iCost = pkTechInfo->GetResearchCost() * 100;22962297 iReturnValue = max(iCost, iReturnValue);22982299 return iReturnValue;2300}