CvDiplomacyAI::DoRequestFriendDenounceStatement(PlayerTypes, DiploStatementTypes &, int &)
- Defined in
- CvDiplomacyAI.cpp, line 14468
- Class
- CvDiplomacyAI
- Hook name
CivHooks::CvDiplomacyAI_DoRequestFriendDenounceStatement
Hooks
static bool BeforeCvDiplomacyAI_DoRequestFriendDenounceStatement(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement, int& iData1);static void AfterCvDiplomacyAI_DoRequestFriendDenounceStatement(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement, int& iData1);static void ReplaceCvDiplomacyAI_DoRequestFriendDenounceStatement(void (*original)(CvDiplomacyAI*, PlayerTypes, DiploStatementTypes&, int&), CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement, int& iData1);CivRegisterBefore<CivHooks::CvDiplomacyAI_DoRequestFriendDenounceStatement>(host, &BeforeCvDiplomacyAI_DoRequestFriendDenounceStatement);CivRegisterAfter<CivHooks::CvDiplomacyAI_DoRequestFriendDenounceStatement>(host, &AfterCvDiplomacyAI_DoRequestFriendDenounceStatement);CivRegisterReplace<CivHooks::CvDiplomacyAI_DoRequestFriendDenounceStatement>(host, &ReplaceCvDiplomacyAI_DoRequestFriendDenounceStatement);
Code
14467/// Possible Contact Statement14468void CvDiplomacyAI::DoRequestFriendDenounceStatement(PlayerTypes ePlayer, DiploStatementTypes& eStatement, int& iData1)14469{14470 CvAssertMsg(ePlayer >= 0, "DIPLOMACY_AI: Invalid Player Index. Please send Jon this with your last 5 autosaves and what changelist # you're playing.");14471 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.");1447214473 if(eStatement == NO_DIPLO_STATEMENT_TYPE)14474 {14475 bool bRandFailed;1447614477 PlayerTypes eTarget = GetRequestFriendToDenounce(ePlayer, bRandFailed);14478 if(eTarget != NO_PLAYER)14479 {14480 DiploStatementTypes eTempStatement = DIPLO_STATEMENT_REQUEST_FRIEND_DENOUNCE;1448114482 if(GetNumTurnsSinceStatementSent(ePlayer, eTempStatement) >= 50 &&14483 GetNumTurnsSinceStatementSent(ePlayer, DIPLO_STATEMENT_REQUEST_FRIEND_DENOUNCE_RANDFAILED) >= 10)14484 {14485 if(!bRandFailed)14486 {14487 eStatement = eTempStatement;14488 iData1 = eTarget;14489 }14490 // Add this statement to the log so we don't evaluate it again until time has passed14491 else14492 {14493 DoAddNewStatementToDiploLog(ePlayer, DIPLO_STATEMENT_DENOUNCE_RANDFAILED);14494 }14495 }14496 }14497 }14498}