Bazaar developer reference

CvDeal::AddResourceTrade(PlayerTypes, ResourceTypes, int, int)

Defined in
CvDealClasses.cpp, line 999
Class
CvDeal
Hook name
CivHooks::CvDeal_AddResourceTrade

Hooks

static bool BeforeCvDeal_AddResourceTrade(CvDeal* self, PlayerTypes eFrom, ResourceTypes eResource, int iAmount, int iDuration);static void AfterCvDeal_AddResourceTrade(CvDeal* self, PlayerTypes eFrom, ResourceTypes eResource, int iAmount, int iDuration);static void ReplaceCvDeal_AddResourceTrade(void (*original)(CvDeal*, PlayerTypes, ResourceTypes, int, int), CvDeal* self, PlayerTypes eFrom, ResourceTypes eResource, int iAmount, int iDuration);CivRegisterBefore<CivHooks::CvDeal_AddResourceTrade>(host, &BeforeCvDeal_AddResourceTrade);CivRegisterAfter<CivHooks::CvDeal_AddResourceTrade>(host, &AfterCvDeal_AddResourceTrade);CivRegisterReplace<CivHooks::CvDeal_AddResourceTrade>(host, &ReplaceCvDeal_AddResourceTrade);

Code

998/// Insert a resource trade999void CvDeal::AddResourceTrade(PlayerTypes eFrom, ResourceTypes eResource, int iAmount, int iDuration)1000{1001	CvAssertMsg(iAmount >= 0, "DEAL: Trying to add a negative amount of a Resource to a deal.  Please send Jon this with your last 5 autosaves and what changelist # you're playing.");1002	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.");1003	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.");1004	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.");10051006	if(IsPossibleToTradeItem(eFrom, GetOtherPlayer(eFrom), TRADE_ITEM_RESOURCES, eResource, iAmount))1007	{1008		CvTradedItem item;1009		item.m_eItemType = TRADE_ITEM_RESOURCES;1010		item.m_iDuration = iDuration;1011		//item.m_iFinalTurn = iDuration + GC.getGame().getGameTurn();1012		item.m_iFinalTurn = -1;1013		item.m_iData1 = (int)eResource;1014		item.m_iData2 = iAmount;1015		item.m_eFromPlayer = eFrom;1016		m_TradedItems.push_back(item);1017	}1018	else1019	{1020		CvAssertMsg(false, "DEAL: Trying to add an invalid Resource to a deal");1021	}1022}

Calls

Called by