Hooks
static bool BeforeCvLuaPlot_lGetBestDefender(lua_State* L, int& result);static void AfterCvLuaPlot_lGetBestDefender(lua_State* L, int& result);static int ReplaceCvLuaPlot_lGetBestDefender(int (*original)(lua_State*), lua_State* L);CivRegisterBefore<CivHooks::CvLuaPlot_lGetBestDefender>(host, &BeforeCvLuaPlot_lGetBestDefender);CivRegisterAfter<CivHooks::CvLuaPlot_lGetBestDefender>(host, &AfterCvLuaPlot_lGetBestDefender);CivRegisterReplace<CivHooks::CvLuaPlot_lGetBestDefender>(host, &ReplaceCvLuaPlot_lGetBestDefender);
Code
710//CyUnit* getBestDefender(PlayerTypes eOwner, PlayerTypes eAttackingPlayer, CyUnit* pAttacker, bool bTestAtWar, bool bTestPotentialEnemy, bool bTestCanMove);711int CvLuaPlot::lGetBestDefender(lua_State* L)712{713 CvPlot* pkPlot = GetInstance(L);714 const PlayerTypes eOwner = (PlayerTypes)lua_tointeger(L, 2);715 const PlayerTypes eAttackingPlayer = (PlayerTypes)lua_tointeger(L, 3);716 CvUnit* pkAttacker = CvLuaUnit::GetInstance(L, 4, false);717 const bool bTestAtWar = luaL_optint(L, 5, 0);718 const bool bTestPotentialEnemy = luaL_optint(L, 6, 0);719 const bool bTestCanMove = luaL_optint(L, 7, 0);720 UnitHandle pkUnit = pkPlot->getBestDefender(eOwner, eAttackingPlayer, pkAttacker, bTestAtWar, bTestPotentialEnemy, bTestCanMove);721 CvLuaUnit::Push(L, pkUnit.pointer());722 return 1;723}