diff --git a/src/engine/gameManager/MaintenanceManager.java b/src/engine/gameManager/MaintenanceManager.java index 2427d2f1..b9acd9b9 100644 --- a/src/engine/gameManager/MaintenanceManager.java +++ b/src/engine/gameManager/MaintenanceManager.java @@ -170,21 +170,6 @@ public enum MaintenanceManager { public static void HandleMaintenanceDerank(Building tol){ setMaintDateTime(tol, tol.maintDateTime.plusDays(1)); //failed to pay maintenance, set next date for tomorrow - if(tol.getRank() == 1) - destroyAllCityAssets(tol.getCity()); - try { - tol.destroyOrDerank(null); - }catch(Exception e){ - - } - } - public static void destroyAllCityAssets(City city){ - if(city == null) - Logger.error("Maintenance Failed To Find City To Destroy"); - for(Building building : city.getParent().zoneBuildingSet){ - building.setRank(-1); - DbManager.removeFromCache(building); - } - city.getParent().zoneBuildingSet.clear(); + tol.destroyOrDerank(null); } } diff --git a/src/engine/objects/City.java b/src/engine/objects/City.java index f52389af..72cc7d6e 100644 --- a/src/engine/objects/City.java +++ b/src/engine/objects/City.java @@ -1019,7 +1019,15 @@ public class City extends AbstractWorldObject { destroyCityThread.setName("deestroyCity:" + this.getName()); destroyCityThread.start(); } - + public static void destroyAllCityAssets(City city){ + if(city == null) + Logger.error("Maintenance Failed To Find City To Destroy"); + for(Building building : city.getParent().zoneBuildingSet){ + building.setRank(-1); + DbManager.removeFromCache(building); + } + city.getParent().zoneBuildingSet.clear(); + } public final void transfer(AbstractCharacter newOwner) { Thread transferCityThread = new Thread(new TransferCityThread(this, newOwner)); diff --git a/src/engine/workthreads/DestroyCityThread.java b/src/engine/workthreads/DestroyCityThread.java index c42741fa..1a979fb3 100644 --- a/src/engine/workthreads/DestroyCityThread.java +++ b/src/engine/workthreads/DestroyCityThread.java @@ -55,7 +55,7 @@ public class DestroyCityThread implements Runnable { cityZone = city.getParent(); formerGuild = city.getTOL().getGuild(); - + City.destroyAllCityAssets(city); // Former guild loses it's tree! if (DbManager.GuildQueries.SET_GUILD_OWNED_CITY(formerGuild.getObjectUUID(), 0)) {