Bazaar developer reference

CvLuaPlayer::lGetAvailableTenets(lua_State *)

Defined in
Lua/CvLuaPlayer.cpp, line 5433
Class
CvLuaPlayer
Hook name
CivHooks::CvLuaPlayer_lGetAvailableTenets

Hooks

static bool BeforeCvLuaPlayer_lGetAvailableTenets(lua_State* L, int& result);static void AfterCvLuaPlayer_lGetAvailableTenets(lua_State* L, int& result);static int ReplaceCvLuaPlayer_lGetAvailableTenets(int (*original)(lua_State*), lua_State* L);CivRegisterBefore<CivHooks::CvLuaPlayer_lGetAvailableTenets>(host, &BeforeCvLuaPlayer_lGetAvailableTenets);CivRegisterAfter<CivHooks::CvLuaPlayer_lGetAvailableTenets>(host, &AfterCvLuaPlayer_lGetAvailableTenets);CivRegisterReplace<CivHooks::CvLuaPlayer_lGetAvailableTenets>(host, &ReplaceCvLuaPlayer_lGetAvailableTenets);

Code

5432//<list of PolicyTypes> GetAvailableTenets(int iLevel);5433int CvLuaPlayer::lGetAvailableTenets(lua_State* L)5434{5435	CvPlayerAI* pkPlayer = GetInstance(L);5436	const int iLevel = lua_tointeger(L, 2);54375438	lua_createtable(L, 0, 0);5439	const int t = lua_gettop(L);5440	int idx = 1;54415442	PolicyBranchTypes eBranch = pkPlayer->GetPlayerPolicies()->GetLateGamePolicyTree();5443	if (eBranch != NO_POLICY_BRANCH_TYPE)5444	{5445		std::vector<PolicyTypes> availableTenets = pkPlayer->GetPlayerPolicies()->GetAvailableTenets(eBranch, iLevel);5446		for(std::vector<PolicyTypes>::iterator it = availableTenets.begin();5447			it!= availableTenets.end(); ++it)5448		{5449			const PolicyTypes ePolicy = (*it);5450			lua_pushinteger(L, ePolicy);5451			lua_rawseti(L, t, idx++);5452		}5453	}54545455	return 1;5456}

Calls

Called by