Bläddra i källkod

thievesGuild support

Laserlicht 1 år sedan
förälder
incheckning
9c1ce214fc

+ 5 - 0
client/windows/CCastleInterface.cpp

@@ -744,6 +744,7 @@ void CCastleBuildings::buildingClicked(BuildingID building, BuildingSubID::EBuil
 		case BuildingID::SPECIAL_1:
 		case BuildingID::SPECIAL_2:
 		case BuildingID::SPECIAL_3:
+		case BuildingID::SPECIAL_4:
 				switch (subID)
 				{
 				case BuildingSubID::NONE:
@@ -808,6 +809,10 @@ void CCastleBuildings::buildingClicked(BuildingID building, BuildingSubID::EBuil
 						enterBlacksmith(ArtifactID::BALLISTA);
 						break;
 
+				case BuildingSubID::THIEVES_GUILD:
+						enterAnyThievesGuild();
+						break;
+
 				default:
 						enterBuilding(building);
 						break;

+ 4 - 2
lib/CGameInfoCallback.cpp

@@ -224,15 +224,17 @@ void CGameInfoCallback::getThievesGuildInfo(SThievesGuildInfo & thi, const CGObj
 	ERROR_RET_IF(obj->ID == Obj::TOWN && !canGetFullInfo(obj), "Cannot get info about town guild object!");
 	//TODO: advmap object -> check if they're visited by our hero
 
-	if(obj->ID == Obj::TOWN  ||  obj->ID == Obj::TAVERN)
+	if(obj->ID == Obj::TOWN || obj->ID == Obj::TAVERN)
 	{
 		int taverns = 0;
 		for(auto town : gs->players[*getPlayerID()].towns)
 		{
 			if(town->hasBuilt(BuildingID::TAVERN))
 				taverns++;
+			
+			if(town->hasBuilt(BuildingSubID::THIEVES_GUILD))
+				taverns += 2;
 		}
-
 		gs->obtainPlayersStats(thi, taverns);
 	}
 	else if(obj->ID == Obj::DEN_OF_THIEVES)

+ 1 - 0
lib/constants/Enumerations.h

@@ -50,6 +50,7 @@ namespace BuildingSubID
 		EXPERIENCE_VISITING_BONUS,
 		LIGHTHOUSE,
 		TREASURY,
+		THIEVES_GUILD,
 		CUSTOM_VISITING_BONUS,
 		CUSTOM_VISITING_REWARD
 	};

+ 2 - 1
lib/constants/StringConstants.h

@@ -198,7 +198,8 @@ namespace MappedKeys
 		{ "knowledgeVisitingBonus", BuildingSubID::KNOWLEDGE_VISITING_BONUS },
 		{ "experienceVisitingBonus", BuildingSubID::EXPERIENCE_VISITING_BONUS },
 		{ "lighthouse", BuildingSubID::LIGHTHOUSE },
-		{ "treasury", BuildingSubID::TREASURY }
+		{ "treasury", BuildingSubID::TREASURY },
+		{ "thievesGuild", BuildingSubID::THIEVES_GUILD }
 	};
 
 	static const std::map<std::string, EMarketMode> MARKET_NAMES_TO_TYPES =