Hooks
static bool BeforeCvLuaPlayer_lGetInternationalTradeRoutePolicyBonus(lua_State* L, int& result);static void AfterCvLuaPlayer_lGetInternationalTradeRoutePolicyBonus(lua_State* L, int& result);static int ReplaceCvLuaPlayer_lGetInternationalTradeRoutePolicyBonus(int (*original)(lua_State*), lua_State* L);CivRegisterBefore<CivHooks::CvLuaPlayer_lGetInternationalTradeRoutePolicyBonus>(host, &BeforeCvLuaPlayer_lGetInternationalTradeRoutePolicyBonus);CivRegisterAfter<CivHooks::CvLuaPlayer_lGetInternationalTradeRoutePolicyBonus>(host, &AfterCvLuaPlayer_lGetInternationalTradeRoutePolicyBonus);CivRegisterReplace<CivHooks::CvLuaPlayer_lGetInternationalTradeRoutePolicyBonus>(host, &ReplaceCvLuaPlayer_lGetInternationalTradeRoutePolicyBonus);
Code
3781int CvLuaPlayer::lGetInternationalTradeRoutePolicyBonus(lua_State* L)3782{3783 CvPlayerAI* pkPlayer = GetInstance(L);3784 CvPlayerTrade* pPlayerTrade = pkPlayer->GetTrade();3785 CvCity* pOriginCity = CvLuaCity::GetInstance(L, 2, true);3786 CvCity* pDestCity = CvLuaCity::GetInstance(L, 3, true);3787 DomainTypes eDomain = (DomainTypes)lua_tointeger(L, 4);37883789 TradeConnection kTradeConnection;3790 kTradeConnection.m_iOriginX = pOriginCity->getX();3791 kTradeConnection.m_iOriginY = pOriginCity->getY();3792 kTradeConnection.m_iDestX = pDestCity->getX();3793 kTradeConnection.m_iDestY = pDestCity->getY();3794 kTradeConnection.m_eOriginOwner = pOriginCity->getOwner();3795 kTradeConnection.m_eDestOwner = pDestCity->getOwner();3796 kTradeConnection.m_eDomain = eDomain;3797 kTradeConnection.m_eConnectionType = TRADE_CONNECTION_INTERNATIONAL;37983799 int iResult = pPlayerTrade->GetTradeConnectionPolicyValueTimes100(kTradeConnection, YIELD_GOLD);3800 lua_pushinteger(L, iResult);3801 return 1;3802}