Bazaar developer reference

CvDiplomacyAI::DoDoFStatement(PlayerTypes, DiploStatementTypes &)

Defined in
CvDiplomacyAI.cpp, line 14370
Class
CvDiplomacyAI
Hook name
CivHooks::CvDiplomacyAI_DoDoFStatement

Hooks

static bool BeforeCvDiplomacyAI_DoDoFStatement(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);static void AfterCvDiplomacyAI_DoDoFStatement(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);static void ReplaceCvDiplomacyAI_DoDoFStatement(void (*original)(CvDiplomacyAI*, PlayerTypes, DiploStatementTypes&), CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);CivRegisterBefore<CivHooks::CvDiplomacyAI_DoDoFStatement>(host, &BeforeCvDiplomacyAI_DoDoFStatement);CivRegisterAfter<CivHooks::CvDiplomacyAI_DoDoFStatement>(host, &AfterCvDiplomacyAI_DoDoFStatement);CivRegisterReplace<CivHooks::CvDiplomacyAI_DoDoFStatement>(host, &ReplaceCvDiplomacyAI_DoDoFStatement);

Code

14369/// Possible Contact Statement14370void CvDiplomacyAI::DoDoFStatement(PlayerTypes ePlayer, DiploStatementTypes& eStatement)14371{14372	CvAssertMsg(ePlayer >= 0, "DIPLOMACY_AI: Invalid Player Index.  Please send Jon this with your last 5 autosaves and what changelist # you're playing.");14373	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.");1437414375	if(eStatement == NO_DIPLO_STATEMENT_TYPE)14376	{14377		// Have we already made the agreement?14378		if(!IsDoFAccepted(ePlayer))14379		{14380			if(IsDoFAcceptable(ePlayer))14381			{14382				DiploStatementTypes eTempStatement = DIPLO_STATEMENT_WORK_WITH_US;1438314384				if(GetNumTurnsSinceStatementSent(ePlayer, eTempStatement) >= 60 &&14385				        GetNumTurnsSinceStatementSent(ePlayer, DIPLO_STATEMENT_WORK_WITH_US_RANDFAILED) >= 10)14386				{14387					bool bSendStatement = true;1438814389					// Chance we don't actually send the message (don't want full predictability)14390					//if (GC.getGame().getJonRandNum(100, "Diplomacy AI: rand roll to see if we ask to work with a player") < 50)14391					//	bSendStatement = false;1439214393					if(bSendStatement)14394						eStatement = eTempStatement;1439514396					// Add this statement to the log so we don't evaluate it again until 10 turns has come back around14397					else14398						DoAddNewStatementToDiploLog(ePlayer, DIPLO_STATEMENT_WORK_WITH_US_RANDFAILED);14399				}14400			}14401		}14402	}14403}

Calls

Called by