Hooks
static bool BeforeCvLuaGame_lGetAvailableFollowerBeliefs(lua_State* L, int& result);static void AfterCvLuaGame_lGetAvailableFollowerBeliefs(lua_State* L, int& result);static int ReplaceCvLuaGame_lGetAvailableFollowerBeliefs(int (*original)(lua_State*), lua_State* L);CivRegisterBefore<CivHooks::CvLuaGame_lGetAvailableFollowerBeliefs>(host, &BeforeCvLuaGame_lGetAvailableFollowerBeliefs);CivRegisterAfter<CivHooks::CvLuaGame_lGetAvailableFollowerBeliefs>(host, &AfterCvLuaGame_lGetAvailableFollowerBeliefs);CivRegisterReplace<CivHooks::CvLuaGame_lGetAvailableFollowerBeliefs>(host, &ReplaceCvLuaGame_lGetAvailableFollowerBeliefs);
Code
2322int CvLuaGame::lGetAvailableFollowerBeliefs(lua_State* L)2323{2324#if defined(MOD_EVENTS_ACQUIRE_BELIEFS)2325 PlayerTypes ePlayer = (PlayerTypes)luaL_optint(L, 1, NO_PLAYER);2326 ReligionTypes eReligion = (ReligionTypes)luaL_optint(L, 2, NO_RELIGION);2327#endif23282329 lua_createtable(L, 0, 0);2330 const int t = lua_gettop(L);2331 int idx = 1;23322333#if defined(MOD_EVENTS_ACQUIRE_BELIEFS)2334 std::vector<BeliefTypes> availableBeliefs = GC.getGame().GetGameReligions()->GetAvailableFollowerBeliefs(ePlayer, eReligion);2335#else2336 std::vector<BeliefTypes> availableBeliefs = GC.getGame().GetGameReligions()->GetAvailableFollowerBeliefs();2337#endif2338 for(std::vector<BeliefTypes>::iterator it = availableBeliefs.begin();2339 it!= availableBeliefs.end(); ++it)2340 {2341 const BeliefTypes eBelief = (*it);2342 lua_pushinteger(L, eBelief);2343 lua_rawseti(L, t, idx++);2344 }23452346 return 1;2347}