CvTeamTechs::GetResearchCost(TechTypes) const
- Defined in
- CvTechClasses.cpp, line 2190
- Class
- CvTeamTechs
- Hook name
CivHooks::CvTeamTechs_GetResearchCost
Hooks
static bool BeforeCvTeamTechs_GetResearchCost(const CvTeamTechs* self, TechTypes eTech, int& result);static void AfterCvTeamTechs_GetResearchCost(const CvTeamTechs* self, TechTypes eTech, int& result);static int ReplaceCvTeamTechs_GetResearchCost(int (*original)(const CvTeamTechs*, TechTypes), const CvTeamTechs* self, TechTypes eTech);CivRegisterBefore<CivHooks::CvTeamTechs_GetResearchCost>(host, &BeforeCvTeamTechs_GetResearchCost);CivRegisterAfter<CivHooks::CvTeamTechs_GetResearchCost>(host, &AfterCvTeamTechs_GetResearchCost);CivRegisterReplace<CivHooks::CvTeamTechs_GetResearchCost>(host, &ReplaceCvTeamTechs_GetResearchCost);
Code
2189/// Accessor: what is the cost of researching this tech (taking all modifiers into account)2190int CvTeamTechs::GetResearchCost(TechTypes eTech) const2191{2192 CvAssertMsg(eTech != NO_TECH, "Tech is not assigned a valid value");2193 CvTechEntry* pkTechInfo = GC.getTechInfo(eTech);2194 if(pkTechInfo == NULL)2195 {2196 return 0;2197 }21982199 int iCost = pkTechInfo->GetResearchCost();22002201 CvHandicapInfo* pkHandicapInfo = GC.getHandicapInfo(m_pTeam->getHandicapType());2202 if(pkHandicapInfo)2203 {2204 iCost *= pkHandicapInfo->getResearchPercent();2205 iCost /= 100;2206 }22072208 //here22092210 iCost *= GC.getMap().getWorldInfo().getResearchPercent();2211 iCost /= 100;22122213 iCost *= GC.getGame().getGameSpeedInfo().getResearchPercent();2214 iCost /= 100;22152216 iCost *= GC.getGame().getStartEraInfo().getResearchPercent();2217 iCost /= 100;22182219 iCost *= std::max(0, ((GC.getTECH_COST_EXTRA_TEAM_MEMBER_MODIFIER() * (m_pTeam->getNumMembers() - 1)) + 100));2220 iCost /= 100;22212222 return std::max(1, iCost);2223}
Calls
- CvEraInfo::getResearchPercent() const
- CvGame::getGameSpeedInfo() const
- CvGame::getStartEraInfo() const
- CvGameSpeedInfo::getResearchPercent() const
- CvGlobals::getGame()
- CvGlobals::getHandicapInfo(HandicapTypes)
- CvGlobals::getMap()
- CvGlobals::getTECH_COST_EXTRA_TEAM_MEMBER_MODIFIER()
- CvGlobals::getTechInfo(TechTypes)
- CvHandicapInfo::getResearchPercent() const
- CvMap::getWorldInfo() const
- CvTeam::getHandicapType() const
- CvTeam::getNumMembers() const
- CvTechEntry::GetResearchCost() const
- CvWorldInfo::getResearchPercent() const
std::max
Called by
- CvPlayer::GetHurryGoldCost(HurryTypes) const
- CvPlayer::findPathLength(TechTypes, bool) const
- CvPlayer::getAdvancedStartTechCost(TechTypes, bool)
- CvPlayerTechs::GetResearchCost(TechTypes) const
- CvTeamTechs::ChangeResearchProgressPercent(TechTypes, int, PlayerTypes)
- CvTeamTechs::GetResearchLeft(TechTypes) const
- CvTeamTechs::SetResearchProgressTimes100(TechTypes, int, PlayerTypes, int, int)
- CvLuaTeamTech::lGetResearchCost(lua_State *)