Bazaar developer reference

CvDiplomacyAI::DoTheySupportedOurProposal(PlayerTypes, DiploStatementTypes &)

Defined in
CvDiplomacyAI.cpp, line 16144
Class
CvDiplomacyAI
Hook name
CivHooks::CvDiplomacyAI_DoTheySupportedOurProposal

Hooks

static bool BeforeCvDiplomacyAI_DoTheySupportedOurProposal(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);static void AfterCvDiplomacyAI_DoTheySupportedOurProposal(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);static void ReplaceCvDiplomacyAI_DoTheySupportedOurProposal(void (*original)(CvDiplomacyAI*, PlayerTypes, DiploStatementTypes&), CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);CivRegisterBefore<CivHooks::CvDiplomacyAI_DoTheySupportedOurProposal>(host, &BeforeCvDiplomacyAI_DoTheySupportedOurProposal);CivRegisterAfter<CivHooks::CvDiplomacyAI_DoTheySupportedOurProposal>(host, &AfterCvDiplomacyAI_DoTheySupportedOurProposal);CivRegisterReplace<CivHooks::CvDiplomacyAI_DoTheySupportedOurProposal>(host, &ReplaceCvDiplomacyAI_DoTheySupportedOurProposal);

Code

16144void CvDiplomacyAI::DoTheySupportedOurProposal(PlayerTypes ePlayer, DiploStatementTypes& eStatement)16145{16146	CvAssertMsg(ePlayer >= 0, "DIPLOMACY_AI: Invalid Player Index.  Please send Jon this with your last 5 autosaves and what changelist # you're playing.");16147	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.");1614816149	if(eStatement == NO_DIPLO_STATEMENT_TYPE)16150	{16151		DiploStatementTypes eTempStatement = NO_DIPLO_STATEMENT_TYPE;16152		bool bEffect = GetSupportedMyProposalScore(ePlayer) != 0;16153		if (bEffect)16154		{16155			bool bSkip = false;16156			MajorCivOpinionTypes eOpinion = GetMajorCivOpinion(ePlayer);16157			MajorCivApproachTypes eApproach = GetMajorCivApproach(ePlayer, /*bHideTrueFeelings*/ true);16158			if(eOpinion <= MAJOR_CIV_OPINION_COMPETITOR)16159				bSkip = true;16160			if(eApproach == MAJOR_CIV_APPROACH_WAR || eApproach == MAJOR_CIV_APPROACH_HOSTILE)16161				bSkip = true;16162			if (!bSkip)16163			{16164				eTempStatement = DIPLO_STATEMENT_THEY_SUPPORTED_OUR_PROPOSAL;16165				int iTurnsBetweenStatements = GC.getOPINION_WEIGHT_THEY_SUPPORTED_OUR_PROPOSAL_NUM_TURNS();1616616167				if(GetNumTurnsSinceStatementSent(ePlayer, eTempStatement) >= iTurnsBetweenStatements)16168					eStatement = eTempStatement;16169			}16170		}16171	}16172}

Calls

Called by