Bazaar developer reference

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}

Calls

Called by