Bazaar developer reference

CvGameDeals::LogDealComplete(CvDeal *)

Defined in
CvDealClasses.cpp, line 3605
Class
CvGameDeals
Hook name
CivHooks::CvGameDeals_LogDealComplete

Hooks

static bool BeforeCvGameDeals_LogDealComplete(CvGameDeals* self, CvDeal* pDeal);static void AfterCvGameDeals_LogDealComplete(CvGameDeals* self, CvDeal* pDeal);static void ReplaceCvGameDeals_LogDealComplete(void (*original)(CvGameDeals*, CvDeal*), CvGameDeals* self, CvDeal* pDeal);CivRegisterBefore<CivHooks::CvGameDeals_LogDealComplete>(host, &BeforeCvGameDeals_LogDealComplete);CivRegisterAfter<CivHooks::CvGameDeals_LogDealComplete>(host, &AfterCvGameDeals_LogDealComplete);CivRegisterReplace<CivHooks::CvGameDeals_LogDealComplete>(host, &ReplaceCvGameDeals_LogDealComplete);

Code

3605void CvGameDeals::LogDealComplete(CvDeal* pDeal)3606{3607	if(GC.getLogging() && GC.getAILogging())3608	{3609		CvString strLogName;36103611		CvString strOutBuf;3612		CvString strBaseString;36133614#if defined(MOD_AI_MP_DIPLOMACY)3615		CvString playerName = GET_PLAYER(pDeal->GetFromPlayer()).getCivilizationShortDescription();3616#else3617		CvString playerName;3618#endif3619		CvString otherPlayerName;36203621		CvString strTemp;36223623		// Open the log file3624		if(GC.getPlayerAndCityAILogSplit())3625		{3626			strLogName = "DiplomacyAI_Messages_Log_" + playerName + ".csv";3627		}3628		else3629		{3630			strLogName = "DiplomacyAI_Messages_Log.csv";3631		}36323633		FILogFile* pLog;3634		pLog = LOGFILEMGR.GetLog(strLogName, FILogFile::kDontTimeStamp);36353636		PlayerTypes eFromPlayer;3637		PlayerTypes eToPlayer;36383639		TradedItemList::iterator itemIter;3640		for(itemIter = pDeal->m_TradedItems.begin(); itemIter != pDeal->m_TradedItems.end(); ++itemIter)3641		{3642			// Turn number3643			strBaseString.Format("%03d, ", GC.getGame().getElapsedGameTurns());36443645			eFromPlayer = itemIter->m_eFromPlayer;3646			eToPlayer = eFromPlayer == pDeal->m_eFromPlayer ? pDeal->m_eToPlayer : pDeal->m_eFromPlayer;36473648			playerName = GET_PLAYER(eFromPlayer).getCivilizationShortDescription();36493650			// Our Name3651			strBaseString += playerName;36523653			// Their Name3654			otherPlayerName = GET_PLAYER(eToPlayer).getCivilizationShortDescription();3655			strBaseString += ", " + otherPlayerName;36563657			strOutBuf = strBaseString + ", , ";36583659			// Peace Treaty deal?3660			if(pDeal->GetPeaceTreatyType() != NO_PEACE_TREATY_TYPE)3661			{3662				switch(pDeal->GetPeaceTreatyType())3663				{3664				case PEACE_TREATY_WHITE_PEACE:3665					strTemp.Format("***** WHITE PEACE *****");3666					break;3667				case PEACE_TREATY_ARMISTICE:3668					strTemp.Format("***** ARMISTICE *****");3669					break;3670				case PEACE_TREATY_SETTLEMENT:3671					strTemp.Format("***** SETTLEMENT *****");3672					break;3673				case PEACE_TREATY_BACKDOWN:3674					strTemp.Format("***** BACKDOWN *****");3675					break;3676				case PEACE_TREATY_SUBMISSION:3677					strTemp.Format("***** SUBMISSION *****");3678					break;3679				case PEACE_TREATY_SURRENDER:3680					strTemp.Format("***** SURRENDER *****");3681					break;3682				case PEACE_TREATY_CESSION:3683					strTemp.Format("***** CESSION *****");3684					break;3685				case PEACE_TREATY_CAPITULATION:3686					strTemp.Format("***** CAPITULATION *****");3687					break;3688				case PEACE_TREATY_UNCONDITIONAL_SURRENDER:3689					strTemp.Format("***** UNCONDITIONAL SURRENDER *****");3690					break;3691				default:3692					strTemp.Format("XXX NO VALID PEACE TREATY!!!");3693					break;3694				}3695				strOutBuf += ", " + strTemp;3696			}36973698			// Is someone surrendering?3699			if(pDeal->GetSurrenderingPlayer() != NO_PLAYER)3700			{3701				playerName = GET_PLAYER(pDeal->GetSurrenderingPlayer()).getCivilizationShortDescription();3702#if defined(MOD_AI_MP_DIPLOMACY)3703				if (MOD_AI_MP_DIPLOMACY) {3704					int iWarScore = GET_PLAYER(eFromPlayer).GetDiplomacyAI()->GetWarScore(eToPlayer);3705					CvString strWarscore;3706					strWarscore.Format("%d", iWarScore);3707					strOutBuf += ", " + playerName + " is giving up" + " at a Warscore of: " + strWarscore;3708				} else3709#endif3710				strOutBuf += ", " + playerName + " is giving up!";3711			}3712			// White Peace3713			else if(pDeal->GetPeaceTreatyType() == PEACE_TREATY_WHITE_PEACE)3714			{3715				strOutBuf += ", White Peace!";3716			}37173718			// Is this a demand?3719			if(pDeal->GetDemandingPlayer() != NO_PLAYER)3720			{3721				playerName = GET_PLAYER(pDeal->GetDemandingPlayer()).getCivilizationShortDescription();3722				strOutBuf += ", " + playerName + " has made a demand!";3723			}37243725			// Is this a request?3726			if(pDeal->GetRequestingPlayer() != NO_PLAYER)3727			{3728				playerName = GET_PLAYER(pDeal->GetRequestingPlayer()).getCivilizationShortDescription();3729				strOutBuf += ", " + playerName + " has made a request!";3730			}37313732			// What is this particular Trade item?3733			switch(itemIter->m_eItemType)3734			{3735			case TRADE_ITEM_GOLD:3736				strTemp.Format("***** Gold Trade: %d *****", itemIter->m_iData1);3737				break;3738			case TRADE_ITEM_GOLD_PER_TURN:3739				strTemp.Format("***** GPT Trade: %d *****", itemIter->m_iData1);3740				break;3741			case TRADE_ITEM_RESOURCES:3742				strTemp.Format("***** Resource Trade: ID %d *****", itemIter->m_iData1);3743				break;3744			case TRADE_ITEM_CITIES:3745#if defined(MOD_AI_MP_DIPLOMACY)3746			{3747				CvPlot* pPlot = GC.getMap().plot(itemIter->m_iData1, itemIter->m_iData2);3748				CvCity* pCity = 0;3749				if (pPlot)3750					pCity = pPlot->getPlotCity();3751				if (pCity)3752					strTemp.Format("***** City Trade: %s *****", pCity->getName().c_str());3753				else3754					strTemp.Format("***** City Trade: (%d, %d) *****", itemIter->m_iData1, itemIter->m_iData2);3755				break;3756			}3757#else3758				strTemp.Format("***** City Trade: ID %d %d *****", itemIter->m_iData1, itemIter->m_iData2);3759				break;3760#endif3761			case TRADE_ITEM_OPEN_BORDERS:3762				strTemp.Format("Open Borders Trade");3763				break;3764			case TRADE_ITEM_DEFENSIVE_PACT:3765				strTemp.Format("***** Defensive Pact Trade *****");3766				break;3767			case TRADE_ITEM_RESEARCH_AGREEMENT:3768				strTemp.Format("Research Agreement Trade");3769				break;3770			case TRADE_ITEM_PEACE_TREATY:3771				strTemp.Format("***** Peace Treaty Trade *****");3772				break;3773			case TRADE_ITEM_THIRD_PARTY_PEACE:3774				strTemp.Format("***** Third Party Peace Trade *****");3775				break;3776			case TRADE_ITEM_THIRD_PARTY_WAR:3777				strTemp.Format("***** Third Party War Trade *****");3778				break;3779			case TRADE_ITEM_VOTE_COMMITMENT:3780				strTemp.Format("***** Vote Commitment: ID %d, Choice %d *****", itemIter->m_iData1, itemIter->m_iData2);3781				break;3782			default:3783				strTemp.Format("***** UNKNOWN TRADE!!! *****");3784				break;3785			}3786			strOutBuf += ", " + strTemp;37873788			pLog->Msg(strOutBuf);37893790			OutputDebugString("\n");3791			OutputDebugString(strOutBuf);3792			OutputDebugString("\n");3793		}3794	}3795}

Calls

Called by