Bazaar developer reference

CvDeal::AddResearchAgreement(PlayerTypes, int)

Defined in
CvDealClasses.cpp, line 1138
Class
CvDeal
Hook name
CivHooks::CvDeal_AddResearchAgreement

Hooks

static bool BeforeCvDeal_AddResearchAgreement(CvDeal* self, PlayerTypes eFrom, int iDuration);static void AfterCvDeal_AddResearchAgreement(CvDeal* self, PlayerTypes eFrom, int iDuration);static void ReplaceCvDeal_AddResearchAgreement(void (*original)(CvDeal*, PlayerTypes, int), CvDeal* self, PlayerTypes eFrom, int iDuration);CivRegisterBefore<CivHooks::CvDeal_AddResearchAgreement>(host, &BeforeCvDeal_AddResearchAgreement);CivRegisterAfter<CivHooks::CvDeal_AddResearchAgreement>(host, &AfterCvDeal_AddResearchAgreement);CivRegisterReplace<CivHooks::CvDeal_AddResearchAgreement>(host, &ReplaceCvDeal_AddResearchAgreement);

Code

1137/// Insert a Research Agreement1138void CvDeal::AddResearchAgreement(PlayerTypes eFrom, int iDuration)1139{1140	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.");1141	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.");1142	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.");11431144	if(IsPossibleToTradeItem(eFrom, GetOtherPlayer(eFrom), TRADE_ITEM_RESEARCH_AGREEMENT, iDuration))1145	{1146		CvTradedItem item;1147		item.m_eItemType = TRADE_ITEM_RESEARCH_AGREEMENT;1148		item.m_iDuration = iDuration;1149		//item.m_iFinalTurn = iDuration + GC.getGame().getGameTurn();1150		item.m_iFinalTurn = -1;1151		item.m_eFromPlayer = eFrom;1152		m_TradedItems.push_back(item);1153	}1154	else1155	{1156		CvAssertMsg(false, "DEAL: Trying to add an invalid Research Agreement item to a deal");1157	}1158}

Calls

Called by