Bazaar developer reference

CvDeal::ChangeGoldPerTurnTrade(PlayerTypes, int, int)

Defined in
CvDealClasses.cpp, line 1422
Class
CvDeal
Hook name
CivHooks::CvDeal_ChangeGoldPerTurnTrade

Hooks

static bool BeforeCvDeal_ChangeGoldPerTurnTrade(CvDeal* self, PlayerTypes eFrom, int iNewAmount, int iDuration, bool& result);static void AfterCvDeal_ChangeGoldPerTurnTrade(CvDeal* self, PlayerTypes eFrom, int iNewAmount, int iDuration, bool& result);static bool ReplaceCvDeal_ChangeGoldPerTurnTrade(bool (*original)(CvDeal*, PlayerTypes, int, int), CvDeal* self, PlayerTypes eFrom, int iNewAmount, int iDuration);CivRegisterBefore<CivHooks::CvDeal_ChangeGoldPerTurnTrade>(host, &BeforeCvDeal_ChangeGoldPerTurnTrade);CivRegisterAfter<CivHooks::CvDeal_ChangeGoldPerTurnTrade>(host, &AfterCvDeal_ChangeGoldPerTurnTrade);CivRegisterReplace<CivHooks::CvDeal_ChangeGoldPerTurnTrade>(host, &ReplaceCvDeal_ChangeGoldPerTurnTrade);

Code

1422bool CvDeal::ChangeGoldPerTurnTrade(PlayerTypes eFrom, int iNewAmount, int iDuration)1423{1424	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.");1425	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.");1426	CvAssertMsg(eFrom == m_eFromPlayer || eFrom == m_eToPlayer, "DEAL: Changing 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.");14271428	TradedItemList::iterator it;1429	for(it = m_TradedItems.begin(); it != m_TradedItems.end(); ++it)1430	{1431		if(it->m_eItemType == TRADE_ITEM_GOLD_PER_TURN && it->m_eFromPlayer == eFrom)1432		{1433			if(IsPossibleToTradeItem(eFrom, GetOtherPlayer(eFrom), TRADE_ITEM_GOLD_PER_TURN, iNewAmount, iDuration))1434			{1435				it->m_iData1 = iNewAmount;1436				it->m_iDuration = iDuration;1437				it->m_iFinalTurn = iDuration + GC.getGame().getGameTurn();1438				return true;1439			}1440		}1441	}1442	return false;1443}

Calls

Called by