Bazaar developer reference

CvDiplomacyAI::DoOpenBordersOffer(PlayerTypes, DiploStatementTypes &, CvDeal *)

Defined in
CvDiplomacyAI.cpp, line 14720
Class
CvDiplomacyAI
Hook name
CivHooks::CvDiplomacyAI_DoOpenBordersOffer

Hooks

static bool BeforeCvDiplomacyAI_DoOpenBordersOffer(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement, CvDeal* pDeal);static void AfterCvDiplomacyAI_DoOpenBordersOffer(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement, CvDeal* pDeal);static void ReplaceCvDiplomacyAI_DoOpenBordersOffer(void (*original)(CvDiplomacyAI*, PlayerTypes, DiploStatementTypes&, CvDeal*), CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement, CvDeal* pDeal);CivRegisterBefore<CivHooks::CvDiplomacyAI_DoOpenBordersOffer>(host, &BeforeCvDiplomacyAI_DoOpenBordersOffer);CivRegisterAfter<CivHooks::CvDiplomacyAI_DoOpenBordersOffer>(host, &AfterCvDiplomacyAI_DoOpenBordersOffer);CivRegisterReplace<CivHooks::CvDiplomacyAI_DoOpenBordersOffer>(host, &ReplaceCvDiplomacyAI_DoOpenBordersOffer);

Code

14719/// Possible Contact Statement - Open Borders14720void CvDiplomacyAI::DoOpenBordersOffer(PlayerTypes ePlayer, DiploStatementTypes& eStatement, CvDeal* pDeal)14721{14722	CvAssertMsg(ePlayer >= 0, "DIPLOMACY_AI: Invalid Player Index.  Please send Jon this with your last 5 autosaves and what changelist # you're playing.");14723	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.");1472414725	if(eStatement == NO_DIPLO_STATEMENT_TYPE)14726	{14727		if(GetPlayer()->GetDealAI()->IsMakeOfferForOpenBorders(ePlayer, /*pDeal can be modified in this function*/ pDeal))14728		{14729			DiploStatementTypes eTempStatement = DIPLO_STATEMENT_OPEN_BORDERS_OFFER;14730			int iTurnsBetweenStatements = 20;1473114732			if(GetNumTurnsSinceStatementSent(ePlayer, eTempStatement) >= iTurnsBetweenStatements)14733				eStatement = eTempStatement;14734		}14735		else14736		{14737			// Clear out the deal if we don't want to offer it so that it's not tainted for the next trade possibility we look at14738			pDeal->ClearItems();14739		}14740	}14741}

Calls

Called by