浏览代码

Open thieves guild if building provides corresponding bonus

Ivan Savenko 1 年之前
父节点
当前提交
4c84379110
共有 1 个文件被更改,包括 10 次插入5 次删除
  1. 10 5
      client/windows/CCastleInterface.cpp

+ 10 - 5
client/windows/CCastleInterface.cpp

@@ -712,8 +712,6 @@ bool CCastleBuildings::buildingTryActivateCustomUI(BuildingID buildingToTest, Bu
 		return true;
 	}
 
-	// FIXME: implement correct visiting of thieves guild
-
 	if (!b->marketModes.empty())
 	{
 		switch (*b->marketModes.begin())
@@ -825,11 +823,18 @@ bool CCastleBuildings::buildingTryActivateCustomUI(BuildingID buildingToTest, Bu
 						enterBank();
 						return true;
 				}
-				return false;
-		default:
-			return false;
 		}
 	}
+
+	for (auto const & bonus : b->buildingBonuses)
+	{
+		if (bonus->type == BonusType::THIEVES_GUILD_ACCESS)
+		{
+			enterAnyThievesGuild();
+			return true;
+		}
+	}
+	return false;
 }
 
 void CCastleBuildings::enterBlacksmith(BuildingID building, ArtifactID artifactID)