Index: src/server/zone/managers/city/CityManagerImplementation.cpp =================================================================== --- src/server/zone/managers/city/CityManagerImplementation.cpp (revision 5805) +++ src/server/zone/managers/city/CityManagerImplementation.cpp (working copy) @@ -189,6 +189,7 @@ byte maxCities = citiesAllowed->get(0); byte maxAtRank = citiesAllowed->get(rank - 1); byte totalCities = 0; + byte totalAtRank = 0; Locker _lock(_this.get()); @@ -200,7 +201,10 @@ if (cityZone == NULL || cityZone->getZoneName() != planetName) continue; - if (++totalCities > maxCities || totalCities > maxAtRank) { + if (city->getCityRank() == rank) + totalAtRank++; + + if (++totalCities > maxCities || totalAtRank >= maxAtRank) { return true; } }