Bazaar developer reference

CvDeal::AddTradeAgreement(PlayerTypes, int)

Defined in
CvDealClasses.cpp, line 1161
Class
CvDeal
Hook name
CivHooks::CvDeal_AddTradeAgreement

Hooks

static bool BeforeCvDeal_AddTradeAgreement(CvDeal* self, PlayerTypes eFrom, int iDuration);static void AfterCvDeal_AddTradeAgreement(CvDeal* self, PlayerTypes eFrom, int iDuration);static void ReplaceCvDeal_AddTradeAgreement(void (*original)(CvDeal*, PlayerTypes, int), CvDeal* self, PlayerTypes eFrom, int iDuration);CivRegisterBefore<CivHooks::CvDeal_AddTradeAgreement>(host, &BeforeCvDeal_AddTradeAgreement);CivRegisterAfter<CivHooks::CvDeal_AddTradeAgreement>(host, &AfterCvDeal_AddTradeAgreement);CivRegisterReplace<CivHooks::CvDeal_AddTradeAgreement>(host, &ReplaceCvDeal_AddTradeAgreement);

Code

1160/// Insert a Trade Agreement1161void CvDeal::AddTradeAgreement(PlayerTypes eFrom, int iDuration)1162{1163	CvAssertMsg(iDuration >= 0, "DEAL: Trying to add a negative duration to a TradeItem.  Please send Jon this with your last 5 autosaves and what changelist # you're playing.");1164	CvAssertMsg(iDuration < GC.getGame().getEstimateEndTurn() * 2, "DEAL: Trade item has a crazy long duration (probably invalid).  Please send Jon this with your last 5 autosaves and what changelist # you're playing.");1165	CvAssertMsg(eFrom == m_eFromPlayer || eFrom == m_eToPlayer, "DEAL: Adding deal item for a player that's not actually in this deal!  Please send Jon this with your last 5 autosaves and what changelist # you're playing.");11661167	if(IsPossibleToTradeItem(eFrom, GetOtherPlayer(eFrom), TRADE_ITEM_TRADE_AGREEMENT, iDuration))1168	{1169		CvTradedItem item;1170		item.m_eItemType = TRADE_ITEM_TRADE_AGREEMENT;1171		item.m_iDuration = iDuration;1172		//item.m_iFinalTurn = iDuration + GC.getGame().getGameTurn();1173		item.m_iFinalTurn = -1;1174		item.m_eFromPlayer = eFrom;1175		m_TradedItems.push_back(item);1176	}1177	else1178	{1179		CvAssertMsg(false, "DEAL: Trying to add an invalid Trade Agreement item to a deal");1180	}1181}

Calls

Called by