Hooks
static bool BeforeCvLuaPlayer_lGetInternationalTradeRouteScience(lua_State* L, int& result);static void AfterCvLuaPlayer_lGetInternationalTradeRouteScience(lua_State* L, int& result);static int ReplaceCvLuaPlayer_lGetInternationalTradeRouteScience(int (*original)(lua_State*), lua_State* L);CivRegisterBefore<CivHooks::CvLuaPlayer_lGetInternationalTradeRouteScience>(host, &BeforeCvLuaPlayer_lGetInternationalTradeRouteScience);CivRegisterAfter<CivHooks::CvLuaPlayer_lGetInternationalTradeRouteScience>(host, &AfterCvLuaPlayer_lGetInternationalTradeRouteScience);CivRegisterReplace<CivHooks::CvLuaPlayer_lGetInternationalTradeRouteScience>(host, &ReplaceCvLuaPlayer_lGetInternationalTradeRouteScience);
Code
3893int CvLuaPlayer::lGetInternationalTradeRouteScience(lua_State* L)3894{3895 CvPlayerAI* pkPlayer = GetInstance(L);3896 CvPlayerTrade* pPlayerTrade = pkPlayer->GetTrade();3897 CvCity* pOriginCity = CvLuaCity::GetInstance(L, 2, true);3898 CvCity* pDestCity = CvLuaCity::GetInstance(L, 3, true);3899 DomainTypes eDomain = (DomainTypes)lua_tointeger(L, 4);3900 bool bOrigin = lua_toboolean(L, 5);39013902 TradeConnection kTradeConnection;3903 kTradeConnection.m_iOriginX = pOriginCity->getX();3904 kTradeConnection.m_iOriginY = pOriginCity->getY();3905 kTradeConnection.m_iDestX = pDestCity->getX();3906 kTradeConnection.m_iDestY = pDestCity->getY();3907 kTradeConnection.m_eOriginOwner = pOriginCity->getOwner();3908 kTradeConnection.m_eDestOwner = pDestCity->getOwner();3909 kTradeConnection.m_eDomain = eDomain;39103911 if (pOriginCity->getOwner() != pDestCity->getOwner())3912 {3913 kTradeConnection.m_eConnectionType = TRADE_CONNECTION_INTERNATIONAL;3914 }39153916 int iResult = pPlayerTrade->GetTradeConnectionValueTimes100(kTradeConnection, YIELD_SCIENCE, bOrigin);3917 lua_pushinteger(L, iResult);39183919 return 1; 3920}