Bazaar developer reference

CvTreasury::LogExpenditure(CvString, int, int)

Defined in
CvTreasury.cpp, line 864
Class
CvTreasury
Hook name
CivHooks::CvTreasury_LogExpenditure

Hooks

static bool BeforeCvTreasury_LogExpenditure(CvTreasury* self, CvString strExpenditure, int iAmount, int iColumn);static void AfterCvTreasury_LogExpenditure(CvTreasury* self, CvString strExpenditure, int iAmount, int iColumn);static void ReplaceCvTreasury_LogExpenditure(void (*original)(CvTreasury*, CvString, int, int), CvTreasury* self, CvString strExpenditure, int iAmount, int iColumn);CivRegisterBefore<CivHooks::CvTreasury_LogExpenditure>(host, &BeforeCvTreasury_LogExpenditure);CivRegisterAfter<CivHooks::CvTreasury_LogExpenditure>(host, &AfterCvTreasury_LogExpenditure);CivRegisterReplace<CivHooks::CvTreasury_LogExpenditure>(host, &ReplaceCvTreasury_LogExpenditure);

Code

864void CvTreasury::LogExpenditure(CvString strExpenditure, int iAmount, int iColumn)865{866	if(!(GC.getLogging() && GC.getAILogging()))867	{868		return;869	}870871	// don't log minor civs for now872	if(m_pPlayer->isMinorCiv())873	{874		return;875	}876877	static bool bFirstRun = true;878	bool bBuildHeader = false;879	CvString strHeader;880	if(bFirstRun)881	{882		bFirstRun = false;883		bBuildHeader = true;884	}885886	CvString strLog;887888	// Find the name of this civ and city889	CvString strPlayerName;890	strPlayerName = m_pPlayer->getCivilizationShortDescription();891	CvString strLogName;892893	// Open the log file894	if(GC.getPlayerAndCityAILogSplit())895	{896		strLogName = "ExpenditureLog_" + strPlayerName + ".csv";897	}898	else899	{900		strLogName = "ExpenditureLog.csv";901	}902903904	FILogFile* pLog;905	pLog = LOGFILEMGR.GetLog(strLogName, FILogFile::kDontTimeStamp);906907	CvString str;908909	// civ name910	TreasuryHelpers::AppendToLog(strHeader, strLog, "Civ Name", strPlayerName);911912	// turn913	TreasuryHelpers::AppendToLog(strHeader, strLog, "Turn", GC.getGame().getGameTurn());914915	// treasury at turn start916	TreasuryHelpers::AppendToLog(strHeader, strLog, "Treasury Before Purchase", m_pPlayer->GetTreasury()->GetGold());917	918	// Cost of Plot919	if (iColumn == 1){920		TreasuryHelpers::AppendToLog(strHeader, strLog, "Cost of Plot:", iAmount);921	}922	else{923		TreasuryHelpers::AppendToLog(strHeader, strLog, "Cost of Plot:", 0);924	}925	926	// City Expenditure and Amount927	if (iColumn == 2){928		TreasuryHelpers::AppendToLog(strHeader, strLog, "City Bought:", strExpenditure);929		TreasuryHelpers::AppendToLog(strHeader, strLog, "City Spent:", iAmount);930	}931	else{932		TreasuryHelpers::AppendToLog(strHeader, strLog, "City Bought:", "");933		TreasuryHelpers::AppendToLog(strHeader, strLog, "City Spent:", 0);934	}935	936	// Unit Upgrade and cost937	if (iColumn == 3){938		TreasuryHelpers::AppendToLog(strHeader, strLog, "Unit Upgraded:", strExpenditure);939		TreasuryHelpers::AppendToLog(strHeader, strLog, "Spent on Upgrade:", iAmount);940	}941	else{942		TreasuryHelpers::AppendToLog(strHeader, strLog, "Unit Upgrade:", "");943		TreasuryHelpers::AppendToLog(strHeader, strLog, "Spent on Upgrade:", 0);944	}945946	// City State Gifted and Amount947	if (iColumn == 4){948		TreasuryHelpers::AppendToLog(strHeader, strLog, "City State Gold Gifted:", strExpenditure);949		TreasuryHelpers::AppendToLog(strHeader, strLog, "Gold Gift Amount:", iAmount);950	}951	else{952		TreasuryHelpers::AppendToLog(strHeader, strLog, "City State Gold Gifted:", "");953		TreasuryHelpers::AppendToLog(strHeader, strLog, "Gold Gift Amount:", 0);954	}955	956	// City State Improved and Amount957	if (iColumn == 5){958		TreasuryHelpers::AppendToLog(strHeader, strLog, "City State Improved:", strExpenditure);959		TreasuryHelpers::AppendToLog(strHeader, strLog, "Gold for Improvement Amount:", iAmount);960	}961	else{962		TreasuryHelpers::AppendToLog(strHeader, strLog, "City State Improved:", "");963		TreasuryHelpers::AppendToLog(strHeader, strLog, "Gold for Improvement Amount:", 0);964	}965966	// City State Bought and Amount967	if (iColumn == 6){968		TreasuryHelpers::AppendToLog(strHeader, strLog, "City State Bought:", strExpenditure);969		TreasuryHelpers::AppendToLog(strHeader, strLog, "Bought for:", iAmount);970	}971	else{972		TreasuryHelpers::AppendToLog(strHeader, strLog, "City State Bought:", "");973		TreasuryHelpers::AppendToLog(strHeader, strLog, "Bought for:", 0);974	}975	976	// Emergency City Expenditure Unit and Amount977	if (iColumn == 7){978		TreasuryHelpers::AppendToLog(strHeader, strLog, "Emergency Unit:", strExpenditure);979		TreasuryHelpers::AppendToLog(strHeader, strLog, "Emergency Unit Cost:", iAmount);980	}981	else{982		TreasuryHelpers::AppendToLog(strHeader, strLog, "Emergency Unit:", "");983		TreasuryHelpers::AppendToLog(strHeader, strLog, "Emergency Unit Cost:", 0);984	}985	986	// Emergency City Expenditure Unit and Amount987	if (iColumn == 8){988		TreasuryHelpers::AppendToLog(strHeader, strLog, "Emergency Building:", strExpenditure);989		TreasuryHelpers::AppendToLog(strHeader, strLog, "Emergency Building Cost:", iAmount);990	}991	else{992		TreasuryHelpers::AppendToLog(strHeader, strLog, "Emergency Building:", "");993		TreasuryHelpers::AppendToLog(strHeader, strLog, "Emergency Building Cost:", 0);994	}995996	// Research Agreement and Amount997	if (iColumn == 9){998		TreasuryHelpers::AppendToLog(strHeader, strLog, "Research Agreement with:", strExpenditure);999		TreasuryHelpers::AppendToLog(strHeader, strLog, "Research Agreement Cost:", iAmount);1000	}1001	else{1002		TreasuryHelpers::AppendToLog(strHeader, strLog, "Research Agreement with:", "");1003		TreasuryHelpers::AppendToLog(strHeader, strLog, "Research Agreement Cost:", 0);1004	}10051006	if(bBuildHeader)1007	{1008		pLog->Msg(strHeader);1009	}1010	pLog->Msg(strLog);1011}

Calls

Called by