CvTreasury::AverageIncome(int)
- Defined in
- CvTreasury.cpp, line 842
- Class
- CvTreasury
- Hook name
CivHooks::CvTreasury_AverageIncome
Hooks
static bool BeforeCvTreasury_AverageIncome(CvTreasury* self, int iTurns, double& result);static void AfterCvTreasury_AverageIncome(CvTreasury* self, int iTurns, double& result);static double ReplaceCvTreasury_AverageIncome(double (*original)(CvTreasury*, int), CvTreasury* self, int iTurns);CivRegisterBefore<CivHooks::CvTreasury_AverageIncome>(host, &BeforeCvTreasury_AverageIncome);CivRegisterAfter<CivHooks::CvTreasury_AverageIncome>(host, &AfterCvTreasury_AverageIncome);CivRegisterReplace<CivHooks::CvTreasury_AverageIncome>(host, &ReplaceCvTreasury_AverageIncome);
Code
841/// Average change in gold balance over N turns842double CvTreasury::AverageIncome(int iTurns)843{844 CvAssertMsg(iTurns > 0, "Invalid number of turns parameter");845846 if(m_GoldChangeForTurnTimes100.size() > 0)847 {848 int iSamples = 0;849 int iIndex = m_GoldChangeForTurnTimes100.size() - 1;850 int iTotal = 0;851852 while(iSamples < iTurns)853 {854 iTotal += m_GoldChangeForTurnTimes100[iIndex];855 iSamples++;856 }857858 return ((double)iTotal / (double)iSamples / 100);859 }860861 return 0;862}
Calls
std::vector::operator[]std::vector::size