Bazaar developer reference

EconomicAIHelpers::IsTestStrategy_LosingMoney(EconomicAIStrategyTypes, CvPlayer *)

Defined in
CvEconomicAI.cpp, line 3927
Hook name
CivHooks::EconomicAIHelpers_IsTestStrategy_LosingMoney

Hooks

static bool BeforeEconomicAIHelpers_IsTestStrategy_LosingMoney(EconomicAIStrategyTypes eStrategy, CvPlayer* pPlayer, bool& result);static void AfterEconomicAIHelpers_IsTestStrategy_LosingMoney(EconomicAIStrategyTypes eStrategy, CvPlayer* pPlayer, bool& result);static bool ReplaceEconomicAIHelpers_IsTestStrategy_LosingMoney(bool (*original)(EconomicAIStrategyTypes, CvPlayer*), EconomicAIStrategyTypes eStrategy, CvPlayer* pPlayer);CivRegisterBefore<CivHooks::EconomicAIHelpers_IsTestStrategy_LosingMoney>(host, &BeforeEconomicAIHelpers_IsTestStrategy_LosingMoney);CivRegisterAfter<CivHooks::EconomicAIHelpers_IsTestStrategy_LosingMoney>(host, &AfterEconomicAIHelpers_IsTestStrategy_LosingMoney);CivRegisterReplace<CivHooks::EconomicAIHelpers_IsTestStrategy_LosingMoney>(host, &ReplaceEconomicAIHelpers_IsTestStrategy_LosingMoney);

Code

3926/// "Losing Money" Player Strategy: Stop building military if in a financial downturn3927bool EconomicAIHelpers::IsTestStrategy_LosingMoney(EconomicAIStrategyTypes eStrategy, CvPlayer* pPlayer)3928{3929	CvEconomicAIStrategyXMLEntry* pStrategy = pPlayer->GetEconomicAI()->GetEconomicAIStrategies()->GetEntry(eStrategy);3930	int iInterval = pStrategy->GetMinimumNumTurnsExecuted();39313932	// Need a certain number of turns of history before we can turn this on3933	if(GC.getGame().getGameTurn() <= iInterval)3934	{3935		return false;3936	}39373938	// Is average income below desired threshold over past X turns?3939	return (pPlayer->GetTreasury()->AverageIncome(iInterval) < (double)pStrategy->GetWeightThreshold() /* 2 */);3940}

Calls

Called by