Hooks
static bool BeforeCvLuaUnit_lCanMoveOrAttackInto(lua_State* L, int& result);static void AfterCvLuaUnit_lCanMoveOrAttackInto(lua_State* L, int& result);static int ReplaceCvLuaUnit_lCanMoveOrAttackInto(int (*original)(lua_State*), lua_State* L);CivRegisterBefore<CivHooks::CvLuaUnit_lCanMoveOrAttackInto>(host, &BeforeCvLuaUnit_lCanMoveOrAttackInto);CivRegisterAfter<CivHooks::CvLuaUnit_lCanMoveOrAttackInto>(host, &AfterCvLuaUnit_lCanMoveOrAttackInto);CivRegisterReplace<CivHooks::CvLuaUnit_lCanMoveOrAttackInto>(host, &ReplaceCvLuaUnit_lCanMoveOrAttackInto);
Code
821//bool canMoveOrAttackInto(CyPlot* pPlot, bool bDeclareWar = false, bDestination = false);822int CvLuaUnit::lCanMoveOrAttackInto(lua_State* L)823{824 CvUnit* pkUnit = GetInstance(L);825 CvPlot* pkPlot = CvLuaPlot::GetInstance(L, 2);826 const bool bDeclareWar = luaL_optint(L, 3, 0);827 const bool bDestination = luaL_optint(L, 4, 0);828829 byte bMoveFlags = 0;830 if(bDeclareWar)831 {832 bMoveFlags |= CvUnit::MOVEFLAG_DECLARE_WAR;833 }834 if(bDestination)835 {836 bMoveFlags |= CvUnit::MOVEFLAG_DESTINATION;837 }838839 bool bResult = false;840 if(pkPlot)841 {842#if defined(MOD_API_LUA_EXTENSIONS) && defined(MOD_BUGFIX_MINOR)843 bResult = pkUnit->canMoveOrAttackInto(*pkPlot, bMoveFlags);844#else845 pkUnit->canMoveOrAttackInto(*pkPlot, bMoveFlags);846#endif847 }848849 lua_pushboolean(L, bResult);850 return 1;851}