Bazaar developer reference

CvDiplomacyAI::DoKilledMySpyStatement(PlayerTypes, DiploStatementTypes &)

Defined in
CvDiplomacyAI.cpp, line 14207
Class
CvDiplomacyAI
Hook name
CivHooks::CvDiplomacyAI_DoKilledMySpyStatement

Hooks

static bool BeforeCvDiplomacyAI_DoKilledMySpyStatement(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);static void AfterCvDiplomacyAI_DoKilledMySpyStatement(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);static void ReplaceCvDiplomacyAI_DoKilledMySpyStatement(void (*original)(CvDiplomacyAI*, PlayerTypes, DiploStatementTypes&), CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);CivRegisterBefore<CivHooks::CvDiplomacyAI_DoKilledMySpyStatement>(host, &BeforeCvDiplomacyAI_DoKilledMySpyStatement);CivRegisterAfter<CivHooks::CvDiplomacyAI_DoKilledMySpyStatement>(host, &AfterCvDiplomacyAI_DoKilledMySpyStatement);CivRegisterReplace<CivHooks::CvDiplomacyAI_DoKilledMySpyStatement>(host, &ReplaceCvDiplomacyAI_DoKilledMySpyStatement);

Code

14207void CvDiplomacyAI::DoKilledMySpyStatement(PlayerTypes ePlayer, DiploStatementTypes& eStatement)14208{14209	CvAssertMsg(ePlayer >= 0, "DIPLOMACY_AI: Invalid Player Index.  Please send slewis your save file and version.");14210	CvAssertMsg(ePlayer < MAX_MAJOR_CIVS, "DIPLOMACY_AI: Invalid Player Index.  Please send slewis your save file and version.");1421114212	if(eStatement == NO_DIPLO_STATEMENT_TYPE)14213	{14214		if(m_pPlayer->GetEspionageAI()->m_aiTurnLastSpyDied[ePlayer] == GC.getGame().getGameTurn() - 1)14215		{14216			// Have we asked you to make a promise before?14217			if(IsPlayerBrokenSpyPromise(ePlayer) || IsPlayerIgnoredSpyPromise(ePlayer))14218			{14219				// We don't even want to bother with you again, so do nothing14220			}14221			else if(IsPlayerMadeSpyPromise(ePlayer))14222			{14223				// You broke the promise you made!14224				SetPlayerBrokenSpyPromise(ePlayer, true);14225				SetPlayerMadeSpyPromise(ePlayer, false);14226			}14227			// Otherwise, ask you to make a promise14228			else14229			{14230				DiploStatementTypes eTempStatement = DIPLO_STATEMENT_KILLED_MY_SPY;14231				int iTurnsBetweenStatements = 1;1423214233				if(GetNumTurnsSinceStatementSent(ePlayer, eTempStatement) >= iTurnsBetweenStatements)14234				{14235					eStatement = eTempStatement;14236				}14237			}14238		}14239	}14240}

Calls

Called by