Bazaar developer reference

CvDeal::AddGoldPerTurnTrade(PlayerTypes, int, int)

Defined in
CvDealClasses.cpp, line 954
Class
CvDeal
Hook name
CivHooks::CvDeal_AddGoldPerTurnTrade

Hooks

static bool BeforeCvDeal_AddGoldPerTurnTrade(CvDeal* self, PlayerTypes eFrom, int iAmount, int iDuration);static void AfterCvDeal_AddGoldPerTurnTrade(CvDeal* self, PlayerTypes eFrom, int iAmount, int iDuration);static void ReplaceCvDeal_AddGoldPerTurnTrade(void (*original)(CvDeal*, PlayerTypes, int, int), CvDeal* self, PlayerTypes eFrom, int iAmount, int iDuration);CivRegisterBefore<CivHooks::CvDeal_AddGoldPerTurnTrade>(host, &BeforeCvDeal_AddGoldPerTurnTrade);CivRegisterAfter<CivHooks::CvDeal_AddGoldPerTurnTrade>(host, &AfterCvDeal_AddGoldPerTurnTrade);CivRegisterReplace<CivHooks::CvDeal_AddGoldPerTurnTrade>(host, &ReplaceCvDeal_AddGoldPerTurnTrade);

Code

953/// Insert a gold per turn trade954void CvDeal::AddGoldPerTurnTrade(PlayerTypes eFrom, int iAmount, int iDuration)955{956	CvAssertMsg(iAmount >= 0, "DEAL: Trying to add a negative amount of GPT to a deal.  Please send Jon this with your last 5 autosaves and what changelist # you're playing.");957	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.");958	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.");959	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.");960961	if(IsPossibleToTradeItem(eFrom, GetOtherPlayer(eFrom), TRADE_ITEM_GOLD_PER_TURN, iAmount, iDuration))962	{963		CvTradedItem item;964		item.m_eItemType = TRADE_ITEM_GOLD_PER_TURN;965		item.m_iDuration = iDuration;966		//item.m_iFinalTurn = iDuration + GC.getGame().getGameTurn();967		item.m_iFinalTurn = -1;968		item.m_iData1 = iAmount;969		item.m_eFromPlayer = eFrom;970		m_TradedItems.push_back(item);971	}972	else973	{974		CvAssertMsg(false, "DEAL: Trying to add an invalid GPT amount to a deal");975	}976}

Calls

Called by