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}