Bazaar developer reference

CvGameDeals::LogDealFailed(CvDeal *, bool, bool, bool)

Defined in
CvDealClasses.cpp, line 3798
Class
CvGameDeals
Hook name
CivHooks::CvGameDeals_LogDealFailed

Hooks

static bool BeforeCvGameDeals_LogDealFailed(CvGameDeals* self, CvDeal* pDeal, bool bNoRenew, bool bNotAccepted, bool bNotValid);static void AfterCvGameDeals_LogDealFailed(CvGameDeals* self, CvDeal* pDeal, bool bNoRenew, bool bNotAccepted, bool bNotValid);static void ReplaceCvGameDeals_LogDealFailed(void (*original)(CvGameDeals*, CvDeal*, bool, bool, bool), CvGameDeals* self, CvDeal* pDeal, bool bNoRenew, bool bNotAccepted, bool bNotValid);CivRegisterBefore<CivHooks::CvGameDeals_LogDealFailed>(host, &BeforeCvGameDeals_LogDealFailed);CivRegisterAfter<CivHooks::CvGameDeals_LogDealFailed>(host, &AfterCvGameDeals_LogDealFailed);CivRegisterReplace<CivHooks::CvGameDeals_LogDealFailed>(host, &ReplaceCvGameDeals_LogDealFailed);

Code

3797#if defined(MOD_AI_MP_DIPLOMACY)3798void CvGameDeals::LogDealFailed(CvDeal* pDeal, bool bNoRenew, bool bNotAccepted, bool bNotValid)3799{3800	if(GC.getLogging() && GC.getAILogging())3801	{3802		CvString strLogName;38033804		CvString strOutBuf;3805		CvString strBaseString;38063807		CvString playerName = GET_PLAYER(pDeal->GetFromPlayer()).getCivilizationShortDescription();3808		CvString otherPlayerName;38093810		CvString strTemp;38113812		// Open the log file3813		if(GC.getPlayerAndCityAILogSplit())3814		{3815			strLogName = "DiplomacyAI_Messages_Log_" + playerName + ".csv";3816		}3817		else3818		{3819			strLogName = "DiplomacyAI_Messages_Log.csv";3820		}38213822		FILogFile* pLog;3823		pLog = LOGFILEMGR.GetLog(strLogName, FILogFile::kDontTimeStamp);38243825		PlayerTypes eFromPlayer;3826		PlayerTypes eToPlayer;38273828		// Turn number3829		strBaseString.Format("%03d, ", GC.getGame().getElapsedGameTurns());38303831		if(bNoRenew)3832		{3833			strOutBuf = strBaseString + "FAILED: NOT RENEWED, ";3834		}3835		if(bNotAccepted)3836		{3837			strOutBuf = strBaseString + "CANCELED: NOT ACCEPTED, ";3838		}3839		if(bNotValid)3840		{3841			strOutBuf = strBaseString + "FAILED: NOT A VALID DEAL, ";3842		}3843		if(pDeal == NULL)3844		{3845			strOutBuf = strBaseString + "FAILED: NO DEAL FOUND";3846			pLog->Msg(strOutBuf);3847			return;3848		}3849		else if (!(bNoRenew || bNotAccepted || bNotValid))3850		{3851			strOutBuf = strBaseString + "FAILED: UNKNOWN, ";3852		}38533854		TradedItemList::iterator itemIter;3855		for(itemIter = pDeal->m_TradedItems.begin(); itemIter != pDeal->m_TradedItems.end(); ++itemIter)3856		{3857			38583859			eFromPlayer = itemIter->m_eFromPlayer;3860			eToPlayer = eFromPlayer == pDeal->m_eFromPlayer ? pDeal->m_eToPlayer : pDeal->m_eFromPlayer;38613862			playerName = GET_PLAYER(eFromPlayer).getCivilizationShortDescription();38633864			// Our Name3865			strBaseString += playerName;38663867			// Their Name3868			otherPlayerName = GET_PLAYER(eToPlayer).getCivilizationShortDescription();3869			strBaseString += ", " + otherPlayerName;38703871			// Peace Treaty deal?3872			if(pDeal->GetPeaceTreatyType() != NO_PEACE_TREATY_TYPE)3873			{3874				switch(pDeal->GetPeaceTreatyType())3875				{3876				case PEACE_TREATY_WHITE_PEACE:3877					strTemp.Format("***** WHITE PEACE *****");3878					break;3879				case PEACE_TREATY_ARMISTICE:3880					strTemp.Format("***** ARMISTICE *****");3881					break;3882				case PEACE_TREATY_SETTLEMENT:3883					strTemp.Format("***** SETTLEMENT *****");3884					break;3885				case PEACE_TREATY_BACKDOWN:3886					strTemp.Format("***** BACKDOWN *****");3887					break;3888				case PEACE_TREATY_SUBMISSION:3889					strTemp.Format("***** SUBMISSION *****");3890					break;3891				case PEACE_TREATY_SURRENDER:3892					strTemp.Format("***** SURRENDER *****");3893					break;3894				case PEACE_TREATY_CESSION:3895					strTemp.Format("***** CESSION *****");3896					break;3897				case PEACE_TREATY_CAPITULATION:3898					strTemp.Format("***** CAPITULATION *****");3899					break;3900				case PEACE_TREATY_UNCONDITIONAL_SURRENDER:3901					strTemp.Format("***** UNCONDITIONAL SURRENDER *****");3902					break;3903				default:3904					strTemp.Format("XXX NO VALID PEACE TREATY!!!");3905					break;3906				}3907				strOutBuf += ", " + strTemp;3908			}39093910			// Is someone surrendering?3911			if(pDeal->GetSurrenderingPlayer() != NO_PLAYER)3912			{3913				playerName = GET_PLAYER(pDeal->GetSurrenderingPlayer()).getCivilizationShortDescription();3914				int iWarScore = GET_PLAYER(eFromPlayer).GetDiplomacyAI()->GetWarScore(eToPlayer);3915				CvString strWarscore;3916				strWarscore.Format("%d", iWarScore);3917				strOutBuf += ", " + playerName + " is giving up" + " at a Warscore of: " + strWarscore;3918			}3919			// White Peace3920			else if(pDeal->GetPeaceTreatyType() == PEACE_TREATY_WHITE_PEACE)3921			{3922				strOutBuf += ", White Peace!";3923			}39243925			// Is this a demand?3926			if(pDeal->GetDemandingPlayer() != NO_PLAYER)3927			{3928				playerName = GET_PLAYER(pDeal->GetDemandingPlayer()).getCivilizationShortDescription();3929				strOutBuf += ", " + playerName + " has made a demand!";3930			}39313932			// Is this a request?3933			if(pDeal->GetRequestingPlayer() != NO_PLAYER)3934			{3935				playerName = GET_PLAYER(pDeal->GetRequestingPlayer()).getCivilizationShortDescription();3936				strOutBuf += ", " + playerName + " has made a request!";3937			}39383939			// What is this particular Trade item?3940			switch(itemIter->m_eItemType)3941			{3942			case TRADE_ITEM_GOLD:3943				strTemp.Format("***** Gold Trade: %d *****", itemIter->m_iData1);3944				break;3945			case TRADE_ITEM_GOLD_PER_TURN:3946				strTemp.Format("***** GPT Trade: %d *****", itemIter->m_iData1);3947				break;3948			case TRADE_ITEM_RESOURCES:3949				strTemp.Format("***** Resource Trade: ID %d *****", itemIter->m_iData1);3950				break;3951			case TRADE_ITEM_CITIES:3952			{3953				CvPlot* pPlot = GC.getMap().plot(itemIter->m_iData1, itemIter->m_iData2);3954				CvCity* pCity = 0;3955				if (pPlot)3956					pCity = pPlot->getPlotCity();3957				strTemp.Format("***** City Trade: ID %s *****", pCity ? pCity->getName().c_str() : "unknown" );3958				break;3959			}3960			case TRADE_ITEM_OPEN_BORDERS:3961				strTemp.Format("Open Borders Trade");3962				break;3963			case TRADE_ITEM_DEFENSIVE_PACT:3964				strTemp.Format("***** Defensive Pact Trade *****");3965				break;3966			case TRADE_ITEM_RESEARCH_AGREEMENT:3967				strTemp.Format("Research Agreement Trade");3968				break;3969			case TRADE_ITEM_PEACE_TREATY:3970				strTemp.Format("***** Peace Treaty Trade *****");3971				break;3972			case TRADE_ITEM_THIRD_PARTY_PEACE:3973				strTemp.Format("***** Third Party Peace Trade *****");3974				break;3975			case TRADE_ITEM_THIRD_PARTY_WAR:3976				strTemp.Format("***** Third Party War Trade *****");3977				break;3978			case TRADE_ITEM_VOTE_COMMITMENT:3979				strTemp.Format("***** Vote Commitment: ID %d, Choice %d *****", itemIter->m_iData1, itemIter->m_iData2);3980				break;3981			default:3982				strTemp.Format("***** UNKNOWN TRADE!!! *****");3983				break;3984			}3985			strOutBuf += ", " + strTemp;39863987			pLog->Msg(strOutBuf);3988		}3989	}3990}

Calls

Called by