Bazaar developer reference

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

Defined in
CvDiplomacyAI.cpp, line 14641
Class
CvDiplomacyAI
Hook name
CivHooks::CvDiplomacyAI_DoEmbassyOffer

Hooks

static bool BeforeCvDiplomacyAI_DoEmbassyOffer(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement, CvDeal* pDeal);static void AfterCvDiplomacyAI_DoEmbassyOffer(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement, CvDeal* pDeal);static void ReplaceCvDiplomacyAI_DoEmbassyOffer(void (*original)(CvDiplomacyAI*, PlayerTypes, DiploStatementTypes&, CvDeal*), CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement, CvDeal* pDeal);CivRegisterBefore<CivHooks::CvDiplomacyAI_DoEmbassyOffer>(host, &BeforeCvDiplomacyAI_DoEmbassyOffer);CivRegisterAfter<CivHooks::CvDiplomacyAI_DoEmbassyOffer>(host, &AfterCvDiplomacyAI_DoEmbassyOffer);CivRegisterReplace<CivHooks::CvDiplomacyAI_DoEmbassyOffer>(host, &ReplaceCvDiplomacyAI_DoEmbassyOffer);

Code

14640/// Possible Contact Statement - Embassy14641void CvDiplomacyAI::DoEmbassyOffer(PlayerTypes ePlayer, DiploStatementTypes& eStatement, CvDeal* pDeal)14642{14643	CvAssertMsg(ePlayer >= 0, "DIPLOMACY_AI: Invalid Player Index.  Please send Jon this with your last 5 autosaves and what changelist # you're playing.");14644	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.");1464514646	if(eStatement == NO_DIPLO_STATEMENT_TYPE)14647	{14648		if(GetPlayer()->GetDealAI()->MakeOfferForEmbassy(ePlayer, /*pDeal can be modified in this function*/ pDeal))14649		{14650			DiploStatementTypes eTempStatement = DIPLO_STATEMENT_EMBASSY_OFFER;14651			int iTurnsBetweenStatements = 20;1465214653			if ((GetNumTurnsSinceStatementSent(ePlayer, eTempStatement) >= iTurnsBetweenStatements) && GetNumTurnsSinceStatementSent(ePlayer, DIPLO_STATEMENT_EMBASSY_EXCHANGE) >= 10)14654				eStatement = eTempStatement;14655		}14656		else14657		{14658			// 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 at14659			pDeal->ClearItems();14660		}14661	}14662}

Calls

Called by