Hooks
static bool BeforeCvDiplomacyAI_DoAddNewStatementToDiploLog(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes eNewDiploLogStatement);static void AfterCvDiplomacyAI_DoAddNewStatementToDiploLog(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes eNewDiploLogStatement);static void ReplaceCvDiplomacyAI_DoAddNewStatementToDiploLog(void (*original)(CvDiplomacyAI*, PlayerTypes, DiploStatementTypes), CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes eNewDiploLogStatement);CivRegisterBefore<CivHooks::CvDiplomacyAI_DoAddNewStatementToDiploLog>(host, &BeforeCvDiplomacyAI_DoAddNewStatementToDiploLog);CivRegisterAfter<CivHooks::CvDiplomacyAI_DoAddNewStatementToDiploLog>(host, &AfterCvDiplomacyAI_DoAddNewStatementToDiploLog);CivRegisterReplace<CivHooks::CvDiplomacyAI_DoAddNewStatementToDiploLog>(host, &ReplaceCvDiplomacyAI_DoAddNewStatementToDiploLog);
Code
24491/// We talked to someone, so keep a record of it24492void CvDiplomacyAI::DoAddNewStatementToDiploLog(PlayerTypes ePlayer, DiploStatementTypes eNewDiploLogStatement)24493{24494 CvAssertMsg(ePlayer >= 0, "DIPLOMACY_AI: Invalid Player Index. Please send Jon this with your last 5 autosaves and what changelist # you're playing.");24495 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.");24496 CvAssertMsg(eNewDiploLogStatement >= 0, "DIPLOMACY_AI: Invalid Diplo Log Statement Type. Please send Jon this with your last 5 autosaves and what changelist # you're playing.");24497 CvAssertMsg(eNewDiploLogStatement < NUM_DIPLO_LOG_STATEMENT_TYPES, "DIPLOMACY_AI: Invalid Diplo Log Statement Type. Please send Jon this with your last 5 autosaves and what changelist # you're playing.");2449824499 // Bump current entries back so we can put the new one at index 024500 for(int iI = MAX_DIPLO_LOG_STATEMENTS - 1; iI > 0; iI--)24501 {24502 // Nothing in this entry to move?24503 if(m_ppaDiploStatementsLog[ePlayer][iI-1].m_eDiploLogStatement != NO_DIPLO_STATEMENT_TYPE)24504 {24505 m_ppaDiploStatementsLog[ePlayer][iI].m_eDiploLogStatement = m_ppaDiploStatementsLog[ePlayer][iI-1].m_eDiploLogStatement;24506 m_ppaDiploStatementsLog[ePlayer][iI].m_iTurn = m_ppaDiploStatementsLog[ePlayer][iI-1].m_iTurn;24507 }24508 }2450924510 m_ppaDiploStatementsLog[ePlayer][0].m_eDiploLogStatement = eNewDiploLogStatement;24511 m_ppaDiploStatementsLog[ePlayer][0].m_iTurn = 0;24512}