Hooks
static bool BeforeCvLuaGame_lGetAvailableBonusBeliefs(lua_State* L, int& result);static void AfterCvLuaGame_lGetAvailableBonusBeliefs(lua_State* L, int& result);static int ReplaceCvLuaGame_lGetAvailableBonusBeliefs(int (*original)(lua_State*), lua_State* L);CivRegisterBefore<CivHooks::CvLuaGame_lGetAvailableBonusBeliefs>(host, &BeforeCvLuaGame_lGetAvailableBonusBeliefs);CivRegisterAfter<CivHooks::CvLuaGame_lGetAvailableBonusBeliefs>(host, &AfterCvLuaGame_lGetAvailableBonusBeliefs);CivRegisterReplace<CivHooks::CvLuaGame_lGetAvailableBonusBeliefs>(host, &ReplaceCvLuaGame_lGetAvailableBonusBeliefs);
Code
2376int CvLuaGame::lGetAvailableBonusBeliefs(lua_State* L)2377{2378#if defined(MOD_EVENTS_ACQUIRE_BELIEFS)2379 PlayerTypes ePlayer = (PlayerTypes)luaL_optint(L, 1, NO_PLAYER);2380 ReligionTypes eReligion = (ReligionTypes)luaL_optint(L, 2, NO_RELIGION);2381#endif23822383 lua_createtable(L, 0, 0);2384 const int t = lua_gettop(L);2385 int idx = 1;23862387#if defined(MOD_EVENTS_ACQUIRE_BELIEFS)2388 std::vector<BeliefTypes> availableBeliefs = GC.getGame().GetGameReligions()->GetAvailableBonusBeliefs(ePlayer, eReligion);2389#else2390 std::vector<BeliefTypes> availableBeliefs = GC.getGame().GetGameReligions()->GetAvailableBonusBeliefs();2391#endif2392 for(std::vector<BeliefTypes>::iterator it = availableBeliefs.begin();2393 it!= availableBeliefs.end(); ++it)2394 {2395 const BeliefTypes eBelief = (*it);2396 lua_pushinteger(L, eBelief);2397 lua_rawseti(L, t, idx++);2398 }23992400 return 1;2401}