Bazaar developer reference

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}

Calls

Called by