1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-03-11 14:49:23 +02:00

Fix Brotherhood displaying Thieves Guild UI on click instead of Tavern

This commit is contained in:
Ivan Savenko 2025-02-23 14:46:04 +00:00
parent bc90f4f4aa
commit b6dd4460de

View File

@ -814,22 +814,26 @@ const CGHeroInstance * CCastleBuildings::getHero()
void CCastleBuildings::buildingClicked(BuildingID building)
{
BuildingID buildingToEnter = building;
for(;;)
std::vector<BuildingID> buildingsToTest;
for(BuildingID buildingToEnter = building;;)
{
const CBuilding *b = town->getTown()->buildings.find(buildingToEnter)->second;
if (buildingTryActivateCustomUI(buildingToEnter, building))
return;
buildingsToTest.push_back(buildingToEnter);
if (!b->upgrade.hasValue())
{
enterBuilding(building);
return;
}
break;
buildingToEnter = b->upgrade;
}
for(BuildingID buildingToEnter : boost::adaptors::reverse(buildingsToTest))
{
if (buildingTryActivateCustomUI(buildingToEnter, building))
return;
}
enterBuilding(building);
}
bool CCastleBuildings::buildingTryActivateCustomUI(BuildingID buildingToTest, BuildingID buildingTarget)