Laserlicht hace 1 año
padre
commit
43fc741a15
Se han modificado 2 ficheros con 9 adiciones y 4 borrados
  1. 1 4
      client/windows/CCastleInterface.cpp
  2. 8 0
      lib/constants/EntityIdentifiers.h

+ 1 - 4
client/windows/CCastleInterface.cpp

@@ -1910,10 +1910,7 @@ const CBuilding * CFortScreen::RecruitArea::getMyBuilding()
 	{
 		if (town->hasBuilt(myID))
 			build = town->town->buildings.at(myID);
-		if(myID != BuildingID::DWELL_LVL_8)
-			myID.advance(GameConstants::CREATURES_PER_TOWN - 1);
-		else
-			myID = BuildingID::DWELL_LVL_8_UP;
+		BuildingID::advanceDwelling(myID);
 	}
 
 	return build;

+ 8 - 0
lib/constants/EntityIdentifiers.h

@@ -352,6 +352,14 @@ public:
 		return (dwelling - DWELL_FIRST) / (GameConstants::CREATURES_PER_TOWN - 1);
 	}
 
+	static void advanceDwelling(BuildingIDBase & dwelling)
+	{
+		if(dwelling != BuildingIDBase::DWELL_LVL_8)
+			dwelling.advance(GameConstants::CREATURES_PER_TOWN - 1);
+		else
+			dwelling.advance(1);
+	}
+
 	bool IsSpecialOrGrail() const
 	{
 		return num == SPECIAL_1 || num == SPECIAL_2 || num == SPECIAL_3 || num == SPECIAL_4 || num == GRAIL;