Bazaar developer reference

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

Defined in
CvDiplomacyAI.cpp, line 14566
Class
CvDiplomacyAI
Hook name
CivHooks::CvDiplomacyAI_DoLuxuryTrade

Hooks

static bool BeforeCvDiplomacyAI_DoLuxuryTrade(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement, CvDeal* pDeal);static void AfterCvDiplomacyAI_DoLuxuryTrade(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement, CvDeal* pDeal);static void ReplaceCvDiplomacyAI_DoLuxuryTrade(void (*original)(CvDiplomacyAI*, PlayerTypes, DiploStatementTypes&, CvDeal*), CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement, CvDeal* pDeal);CivRegisterBefore<CivHooks::CvDiplomacyAI_DoLuxuryTrade>(host, &BeforeCvDiplomacyAI_DoLuxuryTrade);CivRegisterAfter<CivHooks::CvDiplomacyAI_DoLuxuryTrade>(host, &AfterCvDiplomacyAI_DoLuxuryTrade);CivRegisterReplace<CivHooks::CvDiplomacyAI_DoLuxuryTrade>(host, &ReplaceCvDiplomacyAI_DoLuxuryTrade);

Code

14565/// Possible Contact Statement - Luxury Trade14566void CvDiplomacyAI::DoLuxuryTrade(PlayerTypes ePlayer, DiploStatementTypes& eStatement, CvDeal* pDeal)14567{14568	CvAssertMsg(ePlayer >= 0, "DIPLOMACY_AI: Invalid Player Index.  Please send Jon this with your last 5 autosaves and what changelist # you're playing.");14569	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.");1457014571	if(eStatement == NO_DIPLO_STATEMENT_TYPE)14572	{14573		if(GetPlayer()->GetDealAI()->IsMakeOfferForLuxuryResource(ePlayer, /*pDeal can be modified in this function*/ pDeal))14574		{14575			DiploStatementTypes eTempStatement = DIPLO_STATEMENT_LUXURY_TRADE;14576			int iTurnsBetweenStatements = 20;1457714578			if(GetNumTurnsSinceStatementSent(ePlayer, eTempStatement) >= iTurnsBetweenStatements)14579				eStatement = eTempStatement;14580		}14581		else14582		{14583			// 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 at14584			pDeal->ClearItems();14585		}14586	}14587}

Calls

Called by