Bazaar developer reference

CvDiplomacyAI::LogStatementToPlayer(PlayerTypes, DiploStatementTypes)

Defined in
CvDiplomacyAI.cpp, line 27984
Class
CvDiplomacyAI
Hook name
CivHooks::CvDiplomacyAI_LogStatementToPlayer

Hooks

static bool BeforeCvDiplomacyAI_LogStatementToPlayer(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes eMessage);static void AfterCvDiplomacyAI_LogStatementToPlayer(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes eMessage);static void ReplaceCvDiplomacyAI_LogStatementToPlayer(void (*original)(CvDiplomacyAI*, PlayerTypes, DiploStatementTypes), CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes eMessage);CivRegisterBefore<CivHooks::CvDiplomacyAI_LogStatementToPlayer>(host, &BeforeCvDiplomacyAI_LogStatementToPlayer);CivRegisterAfter<CivHooks::CvDiplomacyAI_LogStatementToPlayer>(host, &AfterCvDiplomacyAI_LogStatementToPlayer);CivRegisterReplace<CivHooks::CvDiplomacyAI_LogStatementToPlayer>(host, &ReplaceCvDiplomacyAI_LogStatementToPlayer);

Code

27983/// AI sent a message to someone... what is it?!?!? :o27984void CvDiplomacyAI::LogStatementToPlayer(PlayerTypes ePlayer, DiploStatementTypes eMessage)27985{27986	if(GC.getLogging() && GC.getAILogging())27987	{27988		CvString strLogName;2798927990		CvString strOutBuf;27991		CvString strBaseString;2799227993		CvString playerName;27994		CvString otherPlayerName;2799527996		CvString strTemp;2799727998		playerName = GetPlayer()->getCivilizationShortDescription();2799928000		// Open the log file28001		if(GC.getPlayerAndCityAILogSplit())28002		{28003			strLogName = "DiplomacyAI_Messages_Log_" + playerName + ".csv";28004		}28005		else28006		{28007			strLogName = "DiplomacyAI_Messages_Log.csv";28008		}2800928010		FILogFile* pLog;28011		pLog = LOGFILEMGR.GetLog(strLogName, FILogFile::kDontTimeStamp);2801228013		// Turn number28014		strBaseString.Format("%03d, ", GC.getGame().getElapsedGameTurns());2801528016		// Our Name28017		strBaseString += playerName;2801828019		// Their Name28020		otherPlayerName = GET_PLAYER(ePlayer).getCivilizationShortDescription();28021		strBaseString += ", " + otherPlayerName;2802228023		strOutBuf = strBaseString;2802428025		MajorCivApproachTypes eApproach = GetMajorCivApproach(ePlayer, /*bHideTrueFeelings*/ false);2802628027		bool bMinorMessage = false;2802828029		switch(eMessage)28030		{28031		case DIPLO_STATEMENT_REQUEST_PEACE:28032			strTemp.Format("We request peace!!!");28033			break;28034		case DIPLO_STATEMENT_AGGRESSIVE_MILITARY_WARNING:28035			strTemp.Format("Your Military is stationed aggressively!");28036			break;28037		case DIPLO_STATEMENT_KILLED_PROTECTED_CITY_STATE:28038			strTemp.Format("You Killed a Protected City State!");28039			bMinorMessage = true;28040			break;28041		case DIPLO_STATEMENT_ATTACKED_PROTECTED_CITY_STATE:28042			strTemp.Format("You Attacked a Protected City State!");28043			bMinorMessage = true;28044			break;28045		case DIPLO_STATEMENT_BULLIED_PROTECTED_CITY_STATE:28046			strTemp.Format("You Bullied a Protected City State!");28047			bMinorMessage = true;28048			break;28049		case DIPLO_STATEMENT_EXPANSION_SERIOUS_WARNING:28050			strTemp.Format("Expansion SERIOUS Warning!");28051			break;28052		case DIPLO_STATEMENT_EXPANSION_WARNING:28053			strTemp.Format("Expansion Warning!");28054			break;28055		case DIPLO_STATEMENT_EXPANSION_BROKEN_PROMISE:28056			strTemp.Format("Expansion Broken Promise!");28057			break;28058		case DIPLO_STATEMENT_PLOT_BUYING_SERIOUS_WARNING:28059			strTemp.Format("Plot Buying SERIOUS Warning!");28060			break;28061		case DIPLO_STATEMENT_PLOT_BUYING_WARNING:28062			strTemp.Format("Plot Buying Warning!");28063			break;28064		case DIPLO_STATEMENT_PLOT_BUYING_BROKEN_PROMISE:28065			strTemp.Format("Plot Buying Broken Promise!");28066			break;28067		case DIPLO_STATEMENT_WE_ATTACKED_YOUR_MINOR:28068			strTemp.Format("Haha! We attacked your Minor!");28069			bMinorMessage = true;28070			break;28071		case DIPLO_STATEMENT_WE_BULLIED_YOUR_MINOR:28072			strTemp.Format("Haha! We bullied your Minor!");28073			bMinorMessage = true;28074			break;28075		case DIPLO_STATEMENT_WORK_WITH_US:28076			strTemp.Format("Wanna team up?");28077			break;28078		case DIPLO_STATEMENT_END_WORK_WITH_US:28079			strTemp.Format("***** We're done working with you. *****");28080			break;28081		case DIPLO_STATEMENT_DENOUNCE:28082			strTemp.Format("Denounce!");28083			break;28084		case DIPLO_STATEMENT_DENOUNCE_RANDFAILED:28085			strTemp.Format("Denounce RANDFAILED");28086			break;28087		case DIPLO_STATEMENT_END_WORK_AGAINST_SOMEONE:28088			strTemp.Format("***** We're done working against someone with you. *****");28089			break;28090		case DIPLO_STATEMENT_COOP_WAR_REQUEST:28091			strTemp.Format("Wanna coop war against someone?");28092			break;28093		case DIPLO_STATEMENT_COOP_WAR_TIME:28094			strTemp.Format("It's time to coop war against someone!");28095			break;28096		case DIPLO_STATEMENT_NOW_UNFORGIVABLE:28097			strTemp.Format("***** You are Unforgivable! *****");28098			break;28099		case DIPLO_STATEMENT_NOW_ENEMY:28100			strTemp.Format("***** You are an Enemy! *****");28101			break;28102		case DIPLO_STATEMENT_DEMAND:28103			strTemp.Format("***** Give in to my demands or else! *****");28104			break;28105		case DIPLO_STATEMENT_REQUEST:28106			strTemp.Format("***** Can you spare something for a friend? *****");28107			break;28108		case DIPLO_STATEMENT_REQUEST_RANDFAILED:28109			strTemp.Format("***** Request RANDFAILED *****");28110			break;28111		case DIPLO_STATEMENT_LUXURY_TRADE:28112			strTemp.Format("***** You have a Luxury I would like *****");28113			break;28114		case DIPLO_STATEMENT_OPEN_BORDERS_EXCHANGE:28115			strTemp.Format("Open Borders Exchange");28116			break;28117		case DIPLO_STATEMENT_OPEN_BORDERS_OFFER:28118			strTemp.Format("Open Borders Offer");28119			break;28120		case DIPLO_STATEMENT_PLAN_RESEARCH_AGREEMENT:28121			strTemp.Format("Research Plan");28122			break;28123		case DIPLO_STATEMENT_RESEARCH_AGREEMENT_OFFER:28124			strTemp.Format("Research Agreement Offer");28125			break;28126		case DIPLO_STATEMENT_RENEW_DEAL:28127			strTemp.Format("Renew Deal");28128			break;28129		case DIPLO_STATEMENT_INSULT:28130			strTemp.Format("Insult");28131			break;28132		case DIPLO_STATEMENT_COMPLIMENT:28133			if(eApproach == MAJOR_CIV_APPROACH_DECEPTIVE)28134			{28135				strTemp.Format("DECEPTIVE Compliment");28136			}28137			else28138			{28139				strTemp.Format("Compliment");28140			}28141			break;28142		case DIPLO_STATEMENT_BOOT_KISSING:28143			strTemp.Format("Boot Kissing");28144			break;28145		case DIPLO_STATEMENT_WARMONGER:28146			strTemp.Format("Warmonger!");28147			break;28148		case DIPLO_STATEMENT_DENOUNCE_FRIEND:28149			strTemp.Format("***** DENOUNCING A FRIEND *****");28150			break;28151		case DIPLO_STATEMENT_REQUEST_FRIEND_DENOUNCE:28152			strTemp.Format("***** DENOUNCE SOMEONE FOR ME? *****");28153			break;28154		case DIPLO_STATEMENT_REQUEST_FRIEND_DENOUNCE_RANDFAILED:28155			strTemp.Format("***** Denounce someone for me? RANDFAILED *****");28156			break;28157		case DIPLO_STATEMENT_REQUEST_FRIEND_WAR:28158			strTemp.Format("***** DECLARE WAR ON SOMEONE FOR ME? *****");28159			break;28160		case DIPLO_STATEMENT_ANGRY_BEFRIEND_ENEMY:28161			strTemp.Format("***** YOU BEFRIENDED AN ENEMY OF MINE! *****");28162			break;28163		case DIPLO_STATEMENT_ANGRY_BEFRIEND_ENEMY_RANDFAILED:28164			strTemp.Format("***** You befriended an enemy of mine! RANDFAILED *****");28165			break;28166		case DIPLO_STATEMENT_ANGRY_DENOUNCED_FRIEND:28167			strTemp.Format("***** YOU DENOUNCED A FRIEND OF MINE! *****");28168			break;28169		case DIPLO_STATEMENT_ANGRY_DENOUNCED_FRIEND_RANDFAILED:28170			strTemp.Format("***** You denounced a friend of mine! RANDFAILED *****");28171			break;28172		case DIPLO_STATEMENT_HAPPY_DENOUNCED_ENEMY:28173			strTemp.Format("***** YAY - YOU DENOUNCED AN ENEMY! *****");28174			break;28175		case DIPLO_STATEMENT_HAPPY_DENOUNCED_ENEMY_RANDFAILED:28176			strTemp.Format("***** Yay - you denounced an enemy! RANDFAILED *****");28177			break;28178		case DIPLO_STATEMENT_HAPPY_BEFRIENDED_FRIEND:28179			strTemp.Format("***** YAY - YOU BEFRIENDED A FRIEND! *****");28180			break;28181		case DIPLO_STATEMENT_HAPPY_BEFRIENDED_FRIEND_RANDFAILED:28182			strTemp.Format("***** Yay - you befriended a friend! RANDFAILED *****");28183			break;28184		case DIPLO_STATEMENT_FYI_BEFRIEND_HUMAN_ENEMY:28185			strTemp.Format("***** JUST FYI - I BEFRIENDED YOUR ENEMY! *****");28186			break;28187		case DIPLO_STATEMENT_FYI_BEFRIEND_HUMAN_ENEMY_RANDFAILED:28188			strTemp.Format("***** Just FYI - I befriended your enemy! RANDFAILED *****");28189			break;28190		case DIPLO_STATEMENT_FYI_DENOUNCED_HUMAN_FRIEND:28191			strTemp.Format("***** JUST FYI - I DENOUNCED YOUR FRIEND! *****");28192			break;28193		case DIPLO_STATEMENT_FYI_DENOUNCED_HUMAN_FRIEND_RANDFAILED:28194			strTemp.Format("***** Just FYI - I denounced your friend! RANDFAILED *****");28195			break;28196		case DIPLO_STATEMENT_FYI_DENOUNCED_HUMAN_ENEMY:28197			strTemp.Format("***** JUST FYI - I DENOUNCED YOUR ENEMY! *****");28198			break;28199		case DIPLO_STATEMENT_FYI_DENOUNCED_HUMAN_ENEMY_RANDFAILED:28200			strTemp.Format("***** Just FYI - I denounced your enemy! RANDFAILED *****");28201			break;28202		case DIPLO_STATEMENT_FYI_BEFRIEND_HUMAN_FRIEND:28203			strTemp.Format("***** JUST FYI - I BEFRIENDED YOUR FRIEND! *****");28204			break;28205		case DIPLO_STATEMENT_FYI_BEFRIEND_HUMAN_FRIEND_RANDFAILED:28206			strTemp.Format("***** Just FYI - I befriended your friend! RANDFAILED *****");28207			break;28208		case DIPLO_STATEMENT_SAME_POLICIES_AUTOCRACY:28209		case DIPLO_STATEMENT_SAME_POLICIES_FREEDOM:28210		case DIPLO_STATEMENT_SAME_POLICIES_ORDER:28211			strTemp.Format("***** Yay! We like the same late game social policy tree *****");28212			break;28213		case DIPLO_STATEMENT_WE_LIKED_THEIR_PROPOSAL:28214			strTemp.Format("***** We liked their World Congress proposal *****");28215			break;28216		case DIPLO_STATEMENT_WE_DISLIKED_THEIR_PROPOSAL:28217			strTemp.Format("***** We disliked their World Congress proposal *****");28218			break;28219		case DIPLO_STATEMENT_THEY_SUPPORTED_OUR_PROPOSAL:28220			strTemp.Format("***** They supported our World Congress proposal *****");28221			break;28222		case DIPLO_STATEMENT_THEY_FOILED_OUR_PROPOSAL:28223			strTemp.Format("***** They foiled our World Congress proposal *****");28224			break;28225		case DIPLO_STATEMENT_THEY_SUPPORTED_OUR_HOSTING:28226			strTemp.Format("***** They supported our World Congress hosting *****");28227			break;28228		case DIPLO_STATEMENT_YOUR_IDEOLOGY_CAUSING_CIVIL_UNREST_FREEDOM:28229		case DIPLO_STATEMENT_YOUR_IDEOLOGY_CAUSING_CIVIL_UNREST_ORDER:28230		case DIPLO_STATEMENT_YOUR_IDEOLOGY_CAUSING_CIVIL_UNREST_AUTOCRACY:28231			strTemp.Format("***** Your ideology is causing civil unrest in our civ *****");28232			break;28233		case DIPLO_STATEMENT_OUR_IDEOLOGY_CAUSING_CIVIL_UNREST_FREEDOM:28234		case DIPLO_STATEMENT_OUR_IDEOLOGY_CAUSING_CIVIL_UNREST_ORDER:28235		case DIPLO_STATEMENT_OUR_IDEOLOGY_CAUSING_CIVIL_UNREST_AUTOCRACY:28236			strTemp.Format("***** Taunt - our ideology is causing unrest in your civ *****");28237			break;28238		case DIPLO_STATEMENT_SWITCH_OUR_IDEOLOGY_FREEDOM:28239		case DIPLO_STATEMENT_SWITCH_OUR_IDEOLOGY_ORDER:28240		case DIPLO_STATEMENT_SWITCH_OUR_IDEOLOGY_AUTOCRACY:28241			strTemp.Format("***** Yay! They switched to our ideology *****");28242			break;28243		case DIPLO_STATEMENT_YOUR_CULTURE_INFLUENTIAL:28244			strTemp.Format("***** Your culture is now influential over us *****");28245			break;28246		case DIPLO_STATEMENT_OUR_CULTURE_INFLUENTIAL:28247			strTemp.Format("***** Taunt - Our culture is now influential over you *****");28248			break;28249		default:28250			strTemp.Format("Unknown message!!!");28251			break;28252		}2825328254		strOutBuf += ", " + strTemp;2825528256		// Don't log these messages for now - they have their own function28257		if(eMessage != DIPLO_STATEMENT_DENOUNCE &&28258		        eMessage != DIPLO_STATEMENT_COOP_WAR_REQUEST)28259			pLog->Msg(strOutBuf);2826028261		// Also send message to Minor Civ log if applicable28262		if(bMinorMessage)28263		{28264			// Open the log file28265			if(GC.getPlayerAndCityAILogSplit())28266				strLogName = "DiplomacyAI_MinorCiv_Log_" + playerName + ".csv";28267			else28268				strLogName = "DiplomacyAI_MinorCiv_Log.csv";2826928270			pLog = LOGFILEMGR.GetLog(strLogName, FILogFile::kDontTimeStamp);28271			pLog->Msg(strOutBuf);28272		}2827328274		OutputDebugString("\n");28275		OutputDebugString(strOutBuf);28276		OutputDebugString("\n");28277	}28278}

Calls

Called by