Bazaar developer reference

CvDiplomacyAI::DoTheyFoiledOurProposal(PlayerTypes, DiploStatementTypes &)

Defined in
CvDiplomacyAI.cpp, line 16174
Class
CvDiplomacyAI
Hook name
CivHooks::CvDiplomacyAI_DoTheyFoiledOurProposal

Hooks

static bool BeforeCvDiplomacyAI_DoTheyFoiledOurProposal(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);static void AfterCvDiplomacyAI_DoTheyFoiledOurProposal(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);static void ReplaceCvDiplomacyAI_DoTheyFoiledOurProposal(void (*original)(CvDiplomacyAI*, PlayerTypes, DiploStatementTypes&), CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);CivRegisterBefore<CivHooks::CvDiplomacyAI_DoTheyFoiledOurProposal>(host, &BeforeCvDiplomacyAI_DoTheyFoiledOurProposal);CivRegisterAfter<CivHooks::CvDiplomacyAI_DoTheyFoiledOurProposal>(host, &AfterCvDiplomacyAI_DoTheyFoiledOurProposal);CivRegisterReplace<CivHooks::CvDiplomacyAI_DoTheyFoiledOurProposal>(host, &ReplaceCvDiplomacyAI_DoTheyFoiledOurProposal);

Code

16174void CvDiplomacyAI::DoTheyFoiledOurProposal(PlayerTypes ePlayer, DiploStatementTypes& eStatement)16175{16176	CvAssertMsg(ePlayer >= 0, "DIPLOMACY_AI: Invalid Player Index.  Please send Jon this with your last 5 autosaves and what changelist # you're playing.");16177	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.");1617816179	if(eStatement == NO_DIPLO_STATEMENT_TYPE)16180	{16181		DiploStatementTypes eTempStatement = NO_DIPLO_STATEMENT_TYPE;16182		bool bEffect = GetFoiledMyProposalScore(ePlayer) != 0;16183		if (bEffect)16184		{16185			bool bSkip = false;16186			MajorCivOpinionTypes eOpinion = GetMajorCivOpinion(ePlayer);16187			MajorCivApproachTypes eApproach = GetMajorCivApproach(ePlayer, /*bHideTrueFeelings*/ true);16188			if(eOpinion >= MAJOR_CIV_OPINION_FAVORABLE)16189				bSkip = true;16190			if(eApproach == MAJOR_CIV_APPROACH_FRIENDLY)16191				bSkip = true;16192			if (!bSkip)16193			{16194				eTempStatement = DIPLO_STATEMENT_THEY_FOILED_OUR_PROPOSAL;16195				int iTurnsBetweenStatements = GC.getOPINION_WEIGHT_THEY_FOILED_OUR_PROPOSAL_NUM_TURNS();1619616197				if(GetNumTurnsSinceStatementSent(ePlayer, eTempStatement) >= iTurnsBetweenStatements)16198					eStatement = eTempStatement;16199			}16200		}16201	}16202}

Calls

Called by