浏览代码

third upgrade for 8th dwelling

Laserlicht 11 月之前
父节点
当前提交
b29d7e8cfd
共有 1 个文件被更改,包括 12 次插入6 次删除
  1. 12 6
      lib/constants/EntityIdentifiers.h

+ 12 - 6
lib/constants/EntityIdentifiers.h

@@ -298,7 +298,7 @@ public:
 		HORDE_2_UPGR,   GRAIL,         EXTRA_TOWN_HALL,   EXTRA_CITY_HALL, EXTRA_CAPITOL,
 		DWELL_FIRST=30, DWELL_LVL_2, DWELL_LVL_3, DWELL_LVL_4, DWELL_LVL_5, DWELL_LVL_6, DWELL_LAST=36,
 		DWELL_UP_FIRST=37,  DWELL_LVL_2_UP, DWELL_LVL_3_UP, DWELL_LVL_4_UP, DWELL_LVL_5_UP,
-		DWELL_LVL_6_UP, DWELL_UP_LAST=43, DWELL_LVL_8=150, DWELL_LVL_8_UP=151,
+		DWELL_LVL_6_UP, DWELL_UP_LAST=43, DWELL_LVL_8=150, DWELL_LVL_8_UP=151, //150-154 reserved for 8. creature with potential upgrades
 
 		DWELL_LVL_1 = DWELL_FIRST,
 		DWELL_LVL_7 = DWELL_LAST,
@@ -337,7 +337,10 @@ public:
 			if (it != tmp.end())
 				return std::distance(tmp.begin(), it);
 		}
-		return (dwelling - DWELL_FIRST) % (GameConstants::CREATURES_PER_TOWN - 1);
+		if(dwelling >= BuildingIDBase::DWELL_LVL_8 && dwelling < BuildingIDBase::DWELL_LVL_8 + 5)
+			return 7;
+		else
+			return (dwelling - DWELL_FIRST) % (GameConstants::CREATURES_PER_TOWN - 1);
 	}
 
 	static int getUpgradedFromDwelling(BuildingIDBase dwelling)
@@ -349,15 +352,18 @@ public:
 			if (it != tmp.end())
 				return i;
 		}
-		return (dwelling - DWELL_FIRST) / (GameConstants::CREATURES_PER_TOWN - 1);
+		if(dwelling >= BuildingIDBase::DWELL_LVL_8 && dwelling < BuildingIDBase::DWELL_LVL_8 + 5)
+			return dwelling - BuildingIDBase::DWELL_LVL_8;
+		else
+			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
+		if(dwelling >= BuildingIDBase::DWELL_LVL_8 && dwelling < BuildingIDBase::DWELL_LVL_8 + 5)
 			dwelling.advance(1);
+		else
+			dwelling.advance(GameConstants::CREATURES_PER_TOWN - 1);
 	}
 
 	bool IsSpecialOrGrail() const