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
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