CvLuaCity::lGetLeagueBuildingClassYieldChange(lua_State *)
- Defined in
- Lua/CvLuaCity.cpp, line 2704
- Class
- CvLuaCity
- Hook name
CivHooks::CvLuaCity_lGetLeagueBuildingClassYieldChange
Hooks
static bool BeforeCvLuaCity_lGetLeagueBuildingClassYieldChange(lua_State* L, int& result);static void AfterCvLuaCity_lGetLeagueBuildingClassYieldChange(lua_State* L, int& result);static int ReplaceCvLuaCity_lGetLeagueBuildingClassYieldChange(int (*original)(lua_State*), lua_State* L);CivRegisterBefore<CivHooks::CvLuaCity_lGetLeagueBuildingClassYieldChange>(host, &BeforeCvLuaCity_lGetLeagueBuildingClassYieldChange);CivRegisterAfter<CivHooks::CvLuaCity_lGetLeagueBuildingClassYieldChange>(host, &AfterCvLuaCity_lGetLeagueBuildingClassYieldChange);CivRegisterReplace<CivHooks::CvLuaCity_lGetLeagueBuildingClassYieldChange>(host, &ReplaceCvLuaCity_lGetLeagueBuildingClassYieldChange);
Code
2703//int GetLeagueBuildingClassYieldChange(eBuildingClass, eYieldType) const;2704int CvLuaCity::lGetLeagueBuildingClassYieldChange(lua_State* L)2705{2706 int iYieldFromBuilding = 0;27072708 CvCity* pkCity = GetInstance(L);2709 BuildingClassTypes eBuildingClass = (BuildingClassTypes)lua_tointeger(L, 2);2710 YieldTypes eYieldType = (YieldTypes)lua_tointeger(L, 3);27112712 CvBuildingClassInfo* pInfo = GC.getBuildingClassInfo(eBuildingClass);2713 if (pInfo && pInfo->getMaxGlobalInstances() != -1)2714 {2715 int iYieldChange = GC.getGame().GetGameLeagues()->GetWorldWonderYieldChange(pkCity->getOwner(), eYieldType);2716 if (iYieldChange != 0)2717 {2718 iYieldFromBuilding += iYieldChange;2719 }2720 }27212722 lua_pushinteger(L, iYieldFromBuilding);2723 return 1;2724}
Calls
- CvBuildingClassInfo::getMaxGlobalInstances() const
- CvCity::getOwner() const
- CvGame::GetGameLeagues()
- CvGameLeagues::GetWorldWonderYieldChange(PlayerTypes, YieldTypes)
- CvGlobals::getBuildingClassInfo(BuildingClassTypes)
- CvGlobals::getGame()
CvLuaScopedInstance::GetInstancelua_pushintegerlua_tointeger