Bazaar developer reference

CvPlayerTrade::GetTradeConnectionGPTValueTimes100(const TradeConnection &, YieldTypes, bool, bool)

Defined in
CvTradeClasses.cpp, line 2027
Class
CvPlayerTrade
Hook name
CivHooks::CvPlayerTrade_GetTradeConnectionGPTValueTimes100

Hooks

static bool BeforeCvPlayerTrade_GetTradeConnectionGPTValueTimes100(CvPlayerTrade* self, const TradeConnection& kTradeConnection, YieldTypes eYield, bool bAsOriginPlayer, bool bOriginCity, int& result);static void AfterCvPlayerTrade_GetTradeConnectionGPTValueTimes100(CvPlayerTrade* self, const TradeConnection& kTradeConnection, YieldTypes eYield, bool bAsOriginPlayer, bool bOriginCity, int& result);static int ReplaceCvPlayerTrade_GetTradeConnectionGPTValueTimes100(int (*original)(CvPlayerTrade*, const TradeConnection&, YieldTypes, bool, bool), CvPlayerTrade* self, const TradeConnection& kTradeConnection, YieldTypes eYield, bool bAsOriginPlayer, bool bOriginCity);CivRegisterBefore<CivHooks::CvPlayerTrade_GetTradeConnectionGPTValueTimes100>(host, &BeforeCvPlayerTrade_GetTradeConnectionGPTValueTimes100);CivRegisterAfter<CivHooks::CvPlayerTrade_GetTradeConnectionGPTValueTimes100>(host, &AfterCvPlayerTrade_GetTradeConnectionGPTValueTimes100);CivRegisterReplace<CivHooks::CvPlayerTrade_GetTradeConnectionGPTValueTimes100>(host, &ReplaceCvPlayerTrade_GetTradeConnectionGPTValueTimes100);

Code

2027int CvPlayerTrade::GetTradeConnectionGPTValueTimes100(const TradeConnection& kTradeConnection, YieldTypes eYield, bool bAsOriginPlayer, bool bOriginCity)2028{2029	if (bAsOriginPlayer)2030	{2031		if (GC.getGame().GetGameTrade()->IsConnectionInternational(kTradeConnection))2032		{2033			if (eYield == YIELD_GOLD)2034			{2035				int iX, iY;2036				if (bOriginCity)2037				{2038					iX = kTradeConnection.m_iOriginX;2039					iY = kTradeConnection.m_iOriginY;2040				}2041				else2042				{2043					iX = kTradeConnection.m_iDestX;2044					iY = kTradeConnection.m_iDestY;2045				}20462047				CvPlot* pPlot = GC.getMap().plot(iX, iY);20482049				CvAssertMsg(pPlot, "CvPlayerTrade - plot is null");2050				if (!pPlot)2051				{2052					return 0;2053				}20542055				CvCity* pCity = pPlot->getPlotCity();2056				CvAssertMsg(pCity, "CvPlayerTrade - pCity is null");	2057				if (!pCity)2058				{2059					return 0;2060				}20612062				int iDivisor = GC.getINTERNATIONAL_TRADE_CITY_GPT_DIVISOR();2063				if (iDivisor == 0)2064				{2065					iDivisor = 1;2066				}2067				return pCity->getYieldRateTimes100(eYield, true) / iDivisor;2068			}2069		}2070	}2071	else2072	{2073		return 0;2074	}20752076	return 0;2077}

Calls

Called by