Bazaar developer reference

CvCityCulture::GetThemingTooltip(BuildingClassTypes) const

Defined in
CvCultureClasses.cpp, line 5173
Class
CvCityCulture
Hook name
CivHooks::CvCityCulture_GetThemingTooltip

Hooks

static bool BeforeCvCityCulture_GetThemingTooltip(const CvCityCulture* self, BuildingClassTypes eBuildingClass, CvString& result);static void AfterCvCityCulture_GetThemingTooltip(const CvCityCulture* self, BuildingClassTypes eBuildingClass, CvString& result);static CvString ReplaceCvCityCulture_GetThemingTooltip(CvString (*original)(const CvCityCulture*, BuildingClassTypes), const CvCityCulture* self, BuildingClassTypes eBuildingClass);CivRegisterBefore<CivHooks::CvCityCulture_GetThemingTooltip>(host, &BeforeCvCityCulture_GetThemingTooltip);CivRegisterAfter<CivHooks::CvCityCulture_GetThemingTooltip>(host, &AfterCvCityCulture_GetThemingTooltip);CivRegisterReplace<CivHooks::CvCityCulture_GetThemingTooltip>(host, &ReplaceCvCityCulture_GetThemingTooltip);

Code

5173CvString CvCityCulture::GetThemingTooltip(BuildingClassTypes eBuildingClass) const5174{5175	CvPlayer &kPlayer = GET_PLAYER(m_pCity->getOwner());5176	CvString szBonusString = "";5177	CvString szThemeDescription = "";5178	CvString szRtnValue = "";51795180	if (IsThemingBonusPossible(eBuildingClass))5181	{5182		BuildingTypes eBuilding = (BuildingTypes)kPlayer.getCivilizationInfo().getCivilizationBuildings(eBuildingClass);5183		CvBuildingEntry *pkBuilding = GC.GetGameBuildings()->GetEntry(eBuilding);5184		if (pkBuilding)5185		{5186			int iIndex = GetThemingBonusIndex(eBuildingClass);5187			if (iIndex >= 0)5188			{5189				szBonusString.Format("+%d: ", GetThemingBonus(eBuildingClass));51905191				if (pkBuilding->GetBuildingClassType() == (BuildingClassTypes)GC.getInfoTypeForString("BUILDINGCLASS_LOUVRE") ||5192					pkBuilding->GetBuildingClassType() == (BuildingClassTypes)GC.getInfoTypeForString("BUILDINGCLASS_HERMITAGE"))5193				{5194					szThemeDescription = GetLocalizedText(pkBuilding->GetThemingBonusInfo(iIndex)->GetDescription());5195				}5196				else5197				{5198					int iGreatWork = m_pCity->GetCityBuildings()->GetBuildingGreatWork(eBuildingClass, 0);5199					CvGreatWork work = GC.getGame().GetGameCulture()->m_CurrentGreatWorks[iGreatWork];5200					CvString szEraString = GC.getEraInfo(work.m_eEra)->getShortDesc();5201					CvString szCivAdj = GET_PLAYER(m_pCity->getOwner()).getCivilizationAdjectiveKey();5202					switch (iIndex)5203					{5204					case 0:5205					case 2:5206						szThemeDescription = GetLocalizedText(pkBuilding->GetThemingBonusInfo(iIndex)->GetDescription(), szEraString, szCivAdj);5207						break;5208					case 1:5209					case 3:5210						szCivAdj = "TXT_KEY_CO_WORLD_MUSEUM";5211						szThemeDescription = GetLocalizedText(pkBuilding->GetThemingBonusInfo(iIndex)->GetDescription(), szEraString, szCivAdj);5212						break;5213					case 4:5214					case 5:5215					case 7:5216						szThemeDescription = GetLocalizedText(pkBuilding->GetThemingBonusInfo(iIndex)->GetDescription(), szEraString);5217						break;5218					case 6:5219						szThemeDescription = GetLocalizedText(pkBuilding->GetThemingBonusInfo(iIndex)->GetDescription(), szCivAdj, szEraString);5220						break;5221					case 8:5222					case 10:5223						szThemeDescription = GetLocalizedText(pkBuilding->GetThemingBonusInfo(iIndex)->GetDescription(), szCivAdj);5224						break;5225					case 9:5226					case 11:5227						szCivAdj = "TXT_KEY_CO_WORLD_MUSEUM";5228						szThemeDescription = GetLocalizedText(pkBuilding->GetThemingBonusInfo(iIndex)->GetDescription(), szCivAdj);5229						break;5230					}5231				}5232				szRtnValue = szBonusString + szThemeDescription;5233			}5234			else5235			{5236				szRtnValue = GetLocalizedText("TXT_KEY_CO_NO_THEME");5237				szRtnValue += "[NEWLINE][NEWLINE]";5238				szRtnValue += GetLocalizedText(pkBuilding->GetThemingBonusHelp());5239			}5240		}5241	}52425243	return szRtnValue;5244}

Calls

Called by