Bazaar developer reference

CvDiplomacyAI::DoWeLikedTheirProposal(PlayerTypes, DiploStatementTypes &)

Defined in
CvDiplomacyAI.cpp, line 16084
Class
CvDiplomacyAI
Hook name
CivHooks::CvDiplomacyAI_DoWeLikedTheirProposal

Hooks

static bool BeforeCvDiplomacyAI_DoWeLikedTheirProposal(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);static void AfterCvDiplomacyAI_DoWeLikedTheirProposal(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);static void ReplaceCvDiplomacyAI_DoWeLikedTheirProposal(void (*original)(CvDiplomacyAI*, PlayerTypes, DiploStatementTypes&), CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);CivRegisterBefore<CivHooks::CvDiplomacyAI_DoWeLikedTheirProposal>(host, &BeforeCvDiplomacyAI_DoWeLikedTheirProposal);CivRegisterAfter<CivHooks::CvDiplomacyAI_DoWeLikedTheirProposal>(host, &AfterCvDiplomacyAI_DoWeLikedTheirProposal);CivRegisterReplace<CivHooks::CvDiplomacyAI_DoWeLikedTheirProposal>(host, &ReplaceCvDiplomacyAI_DoWeLikedTheirProposal);

Code

16084void CvDiplomacyAI::DoWeLikedTheirProposal(PlayerTypes ePlayer, DiploStatementTypes& eStatement)16085{16086	CvAssertMsg(ePlayer >= 0, "DIPLOMACY_AI: Invalid Player Index.  Please send Jon this with your last 5 autosaves and what changelist # you're playing.");16087	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.");1608816089	if(eStatement == NO_DIPLO_STATEMENT_TYPE)16090	{16091		DiploStatementTypes eTempStatement = NO_DIPLO_STATEMENT_TYPE;16092		bool bEffect = GetLikedTheirProposalScore(ePlayer) != 0;16093		if (bEffect)16094		{16095			bool bSkip = false;16096			MajorCivOpinionTypes eOpinion = GetMajorCivOpinion(ePlayer);16097			MajorCivApproachTypes eApproach = GetMajorCivApproach(ePlayer, /*bHideTrueFeelings*/ true);16098			if(eOpinion <= MAJOR_CIV_OPINION_COMPETITOR)16099				bSkip = true;16100			if(eApproach == MAJOR_CIV_APPROACH_WAR || eApproach == MAJOR_CIV_APPROACH_HOSTILE)16101				bSkip = true;16102			if (!bSkip && GetChattiness() > GC.getGame().getJonRandNum(10, "Diplomacy AI: rand roll to see if we tell a player we liked their World Congress proposal"))16103			{16104				eTempStatement = DIPLO_STATEMENT_WE_LIKED_THEIR_PROPOSAL;16105				int iTurnsBetweenStatements = GC.getOPINION_WEIGHT_WE_LIKED_THEIR_PROPOSAL_NUM_TURNS();1610616107				if(GetNumTurnsSinceStatementSent(ePlayer, eTempStatement) >= iTurnsBetweenStatements)16108					eStatement = eTempStatement;16109			}16110		}16111	}16112}

Calls

Called by