diff --git a/(2) Vox Populi/Database Changes/City/Buildings/BuildingSweeps.sql b/(2) Vox Populi/Database Changes/City/Buildings/BuildingSweeps.sql index 5292f8c56d..fdeec42a80 100644 --- a/(2) Vox Populi/Database Changes/City/Buildings/BuildingSweeps.sql +++ b/(2) Vox Populi/Database Changes/City/Buildings/BuildingSweeps.sql @@ -386,15 +386,6 @@ WHERE Type IN ( 'BUILDING_TRAINSTATION' ); --- Likely unnecessary with Building_ClassNeededNowhere, just for clarity on tooltip -UPDATE Buildings -SET MutuallyExclusiveGroup = 15 -WHERE Type IN ( - 'BUILDING_AMERICA_SMITHSONIAN', - 'BUILDING_AMERICA_WESTPOINT', - 'BUILDING_AMERICA_SLATERMILL' -); - UPDATE Buildings SET MutuallyExclusiveGroup = 50 WHERE Type IN ( diff --git a/(2) Vox Populi/Database Changes/Text/en_US/UI/NewUIText.xml b/(2) Vox Populi/Database Changes/Text/en_US/UI/NewUIText.xml index dfb2f39fe4..5dda2fa5b0 100644 --- a/(2) Vox Populi/Database Changes/Text/en_US/UI/NewUIText.xml +++ b/(2) Vox Populi/Database Changes/Text/en_US/UI/NewUIText.xml @@ -3108,5 +3108,10 @@ Hidden Antiquity Site + + + + Exclusive Buildings: + diff --git a/(3a) EUI Compatibility Files/LUA/EUI_tooltip_library.lua b/(3a) EUI Compatibility Files/LUA/EUI_tooltip_library.lua index 6da26302f8..9b0cecccc5 100644 --- a/(3a) EUI Compatibility Files/LUA/EUI_tooltip_library.lua +++ b/(3a) EUI Compatibility Files/LUA/EUI_tooltip_library.lua @@ -1481,6 +1481,7 @@ local function GetHelpTextForBuilding( buildingID, bExcludeName, bExcludeHeader, -- Required Buildings: local buildings = table() + -- local for row in GameInfo.Building_PrereqBuildingClasses( thisBuildingType ) do local item = GetCivBuilding( activeCivilizationType, row.BuildingClassType ) if item then @@ -1492,17 +1493,37 @@ local function GetHelpTextForBuilding( buildingID, bExcludeName, bExcludeHeader, local item = GetCivBuilding( activeCivilizationType, row.BuildingClassType ) buildings:insertIf( item and not buildings[ item ] and BuildingColor( L(item.Description) ) ) end + -- global + items = {} + for classNeededAnywhere in DB.Query("SELECT Building_ClassNeededAnywhere.BuildingClassType FROM Building_ClassNeededAnywhere WHERE BuildingType = ?", building.Type) do + SetKey( items, classNeededAnywhere.BuildingClassType ) + end + for buildingClassType in pairs( items ) do + local item = GetCivBuilding( activeCivilizationType, buildingClassType ) + buildings:insertIf( item and TextColor( "[COLOR_YIELD_FOOD]", L(item.Description) ) ) + end + -- printing... + tips:insertIf( #buildings > 0 and L"TXT_KEY_PEDIA_REQ_BLDG_LABEL" .. " " .. buildings:concat(", ") ) + + -- Exclusive Buildings: + local buildings = table() + -- local items = {} if (building.MutuallyExclusiveGroup or -1) >= 0 then for row in GameInfo.Buildings{ MutuallyExclusiveGroup = building.MutuallyExclusiveGroup } do SetKey( items, row.BuildingClass ~= buildingClassType and row.BuildingClass ) end end + -- global + for classNeededNowhere in DB.Query("SELECT Building_ClassNeededNowhere.BuildingClassType FROM Building_ClassNeededNowhere WHERE BuildingType = ?", building.Type) do + SetKey( items, classNeededNowhere.BuildingClassType ) + end for buildingClassType in pairs( items ) do local item = GetCivBuilding( activeCivilizationType, buildingClassType ) buildings:insertIf( item and TextColor( "[COLOR_RED]", L(item.Description) ) ) end - tips:insertIf( #buildings > 0 and L"TXT_KEY_PEDIA_REQ_BLDG_LABEL" .. " " .. buildings:concat(", ") ) + -- printing... + tips:insertIf( #buildings > 0 and L"TXT_KEY_PEDIA_EXC_BLDG_LABEL" .. " " .. buildings:concat(", ") ) -- Local Resources Required: local resources = table()