Hooks
static bool BeforeCvLuaPlot_lCalculateImprovementYieldChange(lua_State* L, int& result);static void AfterCvLuaPlot_lCalculateImprovementYieldChange(lua_State* L, int& result);static int ReplaceCvLuaPlot_lCalculateImprovementYieldChange(int (*original)(lua_State*), lua_State* L);CivRegisterBefore<CivHooks::CvLuaPlot_lCalculateImprovementYieldChange>(host, &BeforeCvLuaPlot_lCalculateImprovementYieldChange);CivRegisterAfter<CivHooks::CvLuaPlot_lCalculateImprovementYieldChange>(host, &AfterCvLuaPlot_lCalculateImprovementYieldChange);CivRegisterReplace<CivHooks::CvLuaPlot_lCalculateImprovementYieldChange>(host, &ReplaceCvLuaPlot_lCalculateImprovementYieldChange);
Code
1633//int calculateImprovementYieldChange(ImprovementTypes eImprovement, YieldTypes eYield, PlayerTypes ePlayer, bool bOptimal, RouteTypes eAssumeThisRoute);1634int CvLuaPlot::lCalculateImprovementYieldChange(lua_State* L)1635{1636 CvPlot* pkPlot = GetInstance(L);1637 const ImprovementTypes eImprovement = (ImprovementTypes)lua_tointeger(L, 2);1638 const YieldTypes eYield = (YieldTypes)lua_tointeger(L,3);1639 const PlayerTypes ePlayer = (PlayerTypes)lua_tointeger(L, 4);1640 const bool bOptional = luaL_optbool(L, 5, false);1641#if defined(MOD_BUGFIX_LUA_API)1642 RouteTypes eRoute = (RouteTypes)luaL_optint(L, 5, NUM_ROUTE_TYPES);1643 if (lua_gettop(L) == 6)1644 eRoute = (RouteTypes)lua_tointeger(L, 6);1645#else1646 const RouteTypes eRoute = (RouteTypes)luaL_optint(L, 5, NUM_ROUTE_TYPES);1647#endif16481649 const int iResult = pkPlot->calculateImprovementYieldChange(eImprovement, eYield, ePlayer, bOptional, eRoute);1650 lua_pushinteger(L, iResult);1651 return 1;1652}