Bazaar developer reference

CvLuaPlayer::lGetPlayerBuildingClassHappiness(lua_State *)

Defined in
Lua/CvLuaPlayer.cpp, line 10301
Class
CvLuaPlayer
Hook name
CivHooks::CvLuaPlayer_lGetPlayerBuildingClassHappiness

Hooks

static bool BeforeCvLuaPlayer_lGetPlayerBuildingClassHappiness(lua_State* L, int& result);static void AfterCvLuaPlayer_lGetPlayerBuildingClassHappiness(lua_State* L, int& result);static int ReplaceCvLuaPlayer_lGetPlayerBuildingClassHappiness(int (*original)(lua_State*), lua_State* L);CivRegisterBefore<CivHooks::CvLuaPlayer_lGetPlayerBuildingClassHappiness>(host, &BeforeCvLuaPlayer_lGetPlayerBuildingClassHappiness);CivRegisterAfter<CivHooks::CvLuaPlayer_lGetPlayerBuildingClassHappiness>(host, &AfterCvLuaPlayer_lGetPlayerBuildingClassHappiness);CivRegisterReplace<CivHooks::CvLuaPlayer_lGetPlayerBuildingClassHappiness>(host, &ReplaceCvLuaPlayer_lGetPlayerBuildingClassHappiness);

Code

10301int CvLuaPlayer::lGetPlayerBuildingClassHappiness(lua_State* L)10302{10303	const BuildingClassTypes eOtherBuildingClass = (BuildingClassTypes)luaL_checkint(L, 2);1030410305	CvPlayer* pkPlayer = GetInstance(L);10306	if(pkPlayer)10307	{10308		int iChange = 0;1030910310		for(int iI = 0; iI < GC.getNumBuildingClassInfos(); iI++)10311		{10312			BuildingClassTypes eParentBuildingClass = (BuildingClassTypes) iI;1031310314			CvBuildingClassInfo* pkBuildingClassInfo = GC.getBuildingClassInfo(eParentBuildingClass);10315			if(!pkBuildingClassInfo)10316			{10317				continue;10318			}10319			10320			BuildingTypes eParentBuilding = (BuildingTypes)pkPlayer->getCivilizationInfo().getCivilizationBuildings(eParentBuildingClass);10321			if (eParentBuilding != NO_BUILDING && pkPlayer->countNumBuildings(eParentBuilding) > 0)10322			{10323				CvBuildingEntry* pkParentBuilding = GC.getBuildingInfo(eParentBuilding);10324				if (pkParentBuilding)10325				{10326					iChange += pkParentBuilding->GetBuildingClassHappiness(eOtherBuildingClass);10327				}10328			}10329		}1033010331		lua_pushinteger(L, iChange);1033210333		return 1;10334	}1033510336	return 0;10337	10338}

Calls

Called by