CvDiplomacyAI::DoKilledCityStateStatement(PlayerTypes, DiploStatementTypes &, int &)
- Defined in
- CvDiplomacyAI.cpp, line 13849
- Class
- CvDiplomacyAI
- Hook name
CivHooks::CvDiplomacyAI_DoKilledCityStateStatement
Hooks
static bool BeforeCvDiplomacyAI_DoKilledCityStateStatement(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement, int& iData1);static void AfterCvDiplomacyAI_DoKilledCityStateStatement(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement, int& iData1);static void ReplaceCvDiplomacyAI_DoKilledCityStateStatement(void (*original)(CvDiplomacyAI*, PlayerTypes, DiploStatementTypes&, int&), CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement, int& iData1);CivRegisterBefore<CivHooks::CvDiplomacyAI_DoKilledCityStateStatement>(host, &BeforeCvDiplomacyAI_DoKilledCityStateStatement);CivRegisterAfter<CivHooks::CvDiplomacyAI_DoKilledCityStateStatement>(host, &AfterCvDiplomacyAI_DoKilledCityStateStatement);CivRegisterReplace<CivHooks::CvDiplomacyAI_DoKilledCityStateStatement>(host, &ReplaceCvDiplomacyAI_DoKilledCityStateStatement);
Code
13848/// Possible Contact Statement13849void CvDiplomacyAI::DoKilledCityStateStatement(PlayerTypes ePlayer, DiploStatementTypes& eStatement, int& iData1)13850{13851 CvAssertMsg(ePlayer >= 0, "DIPLOMACY_AI: Invalid Player Index. Please send Jon this with your last 5 autosaves and what changelist # you're playing.");13852 CvAssertMsg(ePlayer < MAX_MAJOR_CIVS, "DIPLOMACY_AI: Invalid Player Index. Please send Jon this with your last 5 autosaves and what changelist # you're playing.");1385313854 if(eStatement == NO_DIPLO_STATEMENT_TYPE)13855 {13856 if(IsPlayerMadeAttackCityStatePromise(ePlayer))13857 {13858 DiploStatementTypes eTempStatement = DIPLO_STATEMENT_KILLED_PROTECTED_CITY_STATE;13859 int iTurnsBetweenStatements = MAX_TURNS_SAFE_ESTIMATE;1386013861 if(GetNumTurnsSinceStatementSent(ePlayer, eTempStatement) >= iTurnsBetweenStatements)13862 {13863 PlayerTypes eMinorCiv = GetOtherPlayerProtectedMinorKilled(ePlayer);13864 if(eMinorCiv != NO_PLAYER)13865 {13866 CvAssert(eMinorCiv >= MAX_MAJOR_CIVS);13867 CvAssert(eMinorCiv < MAX_CIV_PLAYERS);1386813869 eStatement = eTempStatement;1387013871 iData1 = eMinorCiv;13872 }13873 }13874 }13875 }13876}