Hooks
static bool BeforeCvLuaPlayer_lGetInternationalTradeRouteTotal(lua_State* L, int& result);static void AfterCvLuaPlayer_lGetInternationalTradeRouteTotal(lua_State* L, int& result);static int ReplaceCvLuaPlayer_lGetInternationalTradeRouteTotal(int (*original)(lua_State*), lua_State* L);CivRegisterBefore<CivHooks::CvLuaPlayer_lGetInternationalTradeRouteTotal>(host, &BeforeCvLuaPlayer_lGetInternationalTradeRouteTotal);CivRegisterAfter<CivHooks::CvLuaPlayer_lGetInternationalTradeRouteTotal>(host, &AfterCvLuaPlayer_lGetInternationalTradeRouteTotal);CivRegisterReplace<CivHooks::CvLuaPlayer_lGetInternationalTradeRouteTotal>(host, &ReplaceCvLuaPlayer_lGetInternationalTradeRouteTotal);
Code
3863int CvLuaPlayer::lGetInternationalTradeRouteTotal(lua_State* L)3864{3865 CvPlayerAI* pkPlayer = GetInstance(L);3866 CvPlayerTrade* pPlayerTrade = pkPlayer->GetTrade();3867 CvCity* pOriginCity = CvLuaCity::GetInstance(L, 2, true);3868 CvCity* pDestCity = CvLuaCity::GetInstance(L, 3, true);3869 DomainTypes eDomain = (DomainTypes)lua_tointeger(L, 4);3870 bool bOrigin = lua_toboolean(L, 5);38713872 TradeConnection kTradeConnection;3873 kTradeConnection.m_iOriginX = pOriginCity->getX();3874 kTradeConnection.m_iOriginY = pOriginCity->getY();3875 kTradeConnection.m_iDestX = pDestCity->getX();3876 kTradeConnection.m_iDestY = pDestCity->getY();3877 kTradeConnection.m_eOriginOwner = pOriginCity->getOwner();3878 kTradeConnection.m_eDestOwner = pDestCity->getOwner();3879 kTradeConnection.m_eDomain = eDomain;38803881 if (pOriginCity->getOwner() != pDestCity->getOwner())3882 {3883 kTradeConnection.m_eConnectionType = TRADE_CONNECTION_INTERNATIONAL;3884 }38853886 int iResult = pPlayerTrade->GetTradeConnectionValueTimes100(kTradeConnection, YIELD_GOLD, bOrigin);3887 lua_pushinteger(L, iResult);38883889 return 1; 3890}