Hooks
static bool BeforeCvLuaPlayer_lCanTrain(lua_State* L, int& result);static void AfterCvLuaPlayer_lCanTrain(lua_State* L, int& result);static int ReplaceCvLuaPlayer_lCanTrain(int (*original)(lua_State*), lua_State* L);CivRegisterBefore<CivHooks::CvLuaPlayer_lCanTrain>(host, &BeforeCvLuaPlayer_lCanTrain);CivRegisterAfter<CivHooks::CvLuaPlayer_lCanTrain>(host, &AfterCvLuaPlayer_lCanTrain);CivRegisterReplace<CivHooks::CvLuaPlayer_lCanTrain>(host, &ReplaceCvLuaPlayer_lCanTrain);
Code
1697//bool canTrain(UnitTypes eUnit, bool bContinue, bool bTestVisible);1698int CvLuaPlayer::lCanTrain(lua_State* L)1699{1700 CvPlayerAI* pkPlayer = GetInstance(L);1701 const UnitTypes eUnit = (UnitTypes) lua_tointeger(L, 2);1702 const bool bContinue = lua_toboolean(L, 3);1703 const bool bTestVisible = lua_toboolean(L, 4);1704 const bool bIgnoreCost = lua_toboolean(L, 5);1705 const bool bIgnoreUniqueUnitStatus = lua_toboolean(L, 6);17061707 const bool bResult = pkPlayer->canTrain(eUnit, bContinue, bTestVisible, bIgnoreCost, bIgnoreUniqueUnitStatus);1708 lua_pushboolean(L, bResult);1709 return 1;1710}