Bazaar developer reference

CvDiplomacyAI::DoWeDislikedTheirProposal(PlayerTypes, DiploStatementTypes &)

Defined in
CvDiplomacyAI.cpp, line 16114
Class
CvDiplomacyAI
Hook name
CivHooks::CvDiplomacyAI_DoWeDislikedTheirProposal

Hooks

static bool BeforeCvDiplomacyAI_DoWeDislikedTheirProposal(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);static void AfterCvDiplomacyAI_DoWeDislikedTheirProposal(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);static void ReplaceCvDiplomacyAI_DoWeDislikedTheirProposal(void (*original)(CvDiplomacyAI*, PlayerTypes, DiploStatementTypes&), CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);CivRegisterBefore<CivHooks::CvDiplomacyAI_DoWeDislikedTheirProposal>(host, &BeforeCvDiplomacyAI_DoWeDislikedTheirProposal);CivRegisterAfter<CivHooks::CvDiplomacyAI_DoWeDislikedTheirProposal>(host, &AfterCvDiplomacyAI_DoWeDislikedTheirProposal);CivRegisterReplace<CivHooks::CvDiplomacyAI_DoWeDislikedTheirProposal>(host, &ReplaceCvDiplomacyAI_DoWeDislikedTheirProposal);

Code

16114void CvDiplomacyAI::DoWeDislikedTheirProposal(PlayerTypes ePlayer, DiploStatementTypes& eStatement)16115{16116	CvAssertMsg(ePlayer >= 0, "DIPLOMACY_AI: Invalid Player Index.  Please send Jon this with your last 5 autosaves and what changelist # you're playing.");16117	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.");1611816119	if(eStatement == NO_DIPLO_STATEMENT_TYPE)16120	{16121		DiploStatementTypes eTempStatement = NO_DIPLO_STATEMENT_TYPE;16122		bool bEffect = GetDislikedTheirProposalScore(ePlayer) != 0;16123		if (bEffect)16124		{16125			bool bSkip = false;16126			MajorCivOpinionTypes eOpinion = GetMajorCivOpinion(ePlayer);16127			MajorCivApproachTypes eApproach = GetMajorCivApproach(ePlayer, /*bHideTrueFeelings*/ true);16128			if(eOpinion >= MAJOR_CIV_OPINION_FAVORABLE)16129				bSkip = true;16130			if(eApproach == MAJOR_CIV_APPROACH_FRIENDLY)16131				bSkip = true;16132			if (!bSkip && GetChattiness() > GC.getGame().getJonRandNum(10, "Diplomacy AI: rand roll to see if we tell a player we disliked their World Congress proposal"))16133			{16134				eTempStatement = DIPLO_STATEMENT_WE_DISLIKED_THEIR_PROPOSAL;16135				int iTurnsBetweenStatements = GC.getOPINION_WEIGHT_WE_DISLIKED_THEIR_PROPOSAL_NUM_TURNS();1613616137				if(GetNumTurnsSinceStatementSent(ePlayer, eTempStatement) >= iTurnsBetweenStatements)16138					eStatement = eTempStatement;16139			}16140		}16141	}16142}

Calls

Called by