Bazaar developer reference

CvDiplomacyAI::DoCaughtYourSpyStatement(PlayerTypes, DiploStatementTypes &)

Defined in
CvDiplomacyAI.cpp, line 14149
Class
CvDiplomacyAI
Hook name
CivHooks::CvDiplomacyAI_DoCaughtYourSpyStatement

Hooks

static bool BeforeCvDiplomacyAI_DoCaughtYourSpyStatement(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);static void AfterCvDiplomacyAI_DoCaughtYourSpyStatement(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);static void ReplaceCvDiplomacyAI_DoCaughtYourSpyStatement(void (*original)(CvDiplomacyAI*, PlayerTypes, DiploStatementTypes&), CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);CivRegisterBefore<CivHooks::CvDiplomacyAI_DoCaughtYourSpyStatement>(host, &BeforeCvDiplomacyAI_DoCaughtYourSpyStatement);CivRegisterAfter<CivHooks::CvDiplomacyAI_DoCaughtYourSpyStatement>(host, &AfterCvDiplomacyAI_DoCaughtYourSpyStatement);CivRegisterReplace<CivHooks::CvDiplomacyAI_DoCaughtYourSpyStatement>(host, &ReplaceCvDiplomacyAI_DoCaughtYourSpyStatement);

Code

14149void CvDiplomacyAI::DoCaughtYourSpyStatement(PlayerTypes ePlayer, DiploStatementTypes& eStatement)14150{14151	CvAssertMsg(ePlayer >= 0, "DIPLOMACY_AI: Invalid Player Index.  Please send slewis your save file and version.");14152	CvAssertMsg(ePlayer < MAX_MAJOR_CIVS, "DIPLOMACY_AI: Invalid Player Index.  Please send slewis your save file and version.");1415314154	if(eStatement == NO_DIPLO_STATEMENT_TYPE)14155	{14156		if(m_pPlayer->GetEspionageAI()->m_aiTurnLastSpyCaught[ePlayer] == GC.getGame().getGameTurn())14157		{14158			// Have we asked you to make a promise before?14159			if(IsPlayerBrokenSpyPromise(ePlayer) || IsPlayerIgnoredSpyPromise(ePlayer))14160			{14161				// We don't even want to bother with you again, so do nothing14162			}14163			else if(IsPlayerMadeSpyPromise(ePlayer))14164			{14165				// You broke the promise you made!14166				SetPlayerBrokenSpyPromise(ePlayer, true);14167				SetPlayerMadeSpyPromise(ePlayer, false);14168			}14169			// Otherwise, ask you to make a promise14170			else14171			{14172				DiploStatementTypes eTempStatement = DIPLO_STATEMENT_CAUGHT_YOUR_SPY;14173				int iTurnsBetweenStatements = 1;1417414175				if(GetNumTurnsSinceStatementSent(ePlayer, eTempStatement) >= iTurnsBetweenStatements)14176				{14177					eStatement = eTempStatement;14178				}14179			}14180		}14181	}14182}

Calls

Called by