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
BaseVector::operator[]- CvDiplomacyAI::GetNumTurnsSinceStatementSent(PlayerTypes, DiploStatementTypes)
- CvDiplomacyAI::IsPlayerBrokenSpyPromise(PlayerTypes)
- CvDiplomacyAI::IsPlayerIgnoredSpyPromise(PlayerTypes)
- CvDiplomacyAI::IsPlayerMadeSpyPromise(PlayerTypes)
- CvDiplomacyAI::SetPlayerBrokenSpyPromise(PlayerTypes, bool)
- CvDiplomacyAI::SetPlayerMadeSpyPromise(PlayerTypes, bool)
- CvGame::getGameTurn()
- CvGlobals::getGame()
- CvPlayer::GetEspionageAI() const