CvUnit::GetGoldenAgeTurns() const
- Defined in
- CvUnit.cpp, line 10014
- Class
- CvUnit
- Hook name
CivHooks::CvUnit_GetGoldenAgeTurns
Hooks
static bool BeforeCvUnit_GetGoldenAgeTurns(const CvUnit* self, int& result);static void AfterCvUnit_GetGoldenAgeTurns(const CvUnit* self, int& result);static int ReplaceCvUnit_GetGoldenAgeTurns(int (*original)(const CvUnit*), const CvUnit* self);CivRegisterBefore<CivHooks::CvUnit_GetGoldenAgeTurns>(host, &BeforeCvUnit_GetGoldenAgeTurns);CivRegisterAfter<CivHooks::CvUnit_GetGoldenAgeTurns>(host, &AfterCvUnit_GetGoldenAgeTurns);CivRegisterReplace<CivHooks::CvUnit_GetGoldenAgeTurns>(host, &ReplaceCvUnit_GetGoldenAgeTurns);
Code
10014int CvUnit::GetGoldenAgeTurns() const10015{10016 int iGoldenAgeTurns = m_pUnitInfo->GetGoldenAgeTurns();1001710018 // Unit cannot perform a GA10019 if(iGoldenAgeTurns == 0)10020 return 0;1002110022 CvPlayerAI& kPlayer = GET_PLAYER(getOwner());1002310024 int iMinTurns = /*3*/ GC.getMIN_UNIT_GOLDEN_AGE_TURNS();10025 if(iGoldenAgeTurns < iMinTurns)10026 iGoldenAgeTurns = iMinTurns;1002710028 // Player mod10029 int iLengthModifier = kPlayer.getGoldenAgeModifier();1003010031 // Trait mod10032 iLengthModifier += kPlayer.GetPlayerTraits()->GetGoldenAgeDurationModifier();10033 if(iLengthModifier > 0)10034 iGoldenAgeTurns = iGoldenAgeTurns * (100 + iLengthModifier) / 100;1003510036 // Game Speed mod1003710038 iGoldenAgeTurns *= GC.getGame().getGameSpeedInfo().getGoldenAgePercent();10039 iGoldenAgeTurns /= 100;1004010041 if(iGoldenAgeTurns < 1)10042 iGoldenAgeTurns = 1;1004310044 return iGoldenAgeTurns;10045}
Calls
- CvGame::getGameSpeedInfo() const
- CvGameSpeedInfo::getGoldenAgePercent() const
- CvGlobals::getGame()
- CvGlobals::getMIN_UNIT_GOLDEN_AGE_TURNS()
- CvPlayer::getGoldenAgeModifier() const
- CvPlayer::GetPlayerTraits() const
- CvPlayerAI::getPlayer(PlayerTypes)
- CvPlayerTraits::GetGoldenAgeDurationModifier() const
- CvUnit::getOwner() const
- CvUnitEntry::GetGoldenAgeTurns() const