|
|
@ -186,43 +186,8 @@ public enum MaintenanceManager { |
|
|
|
// If this is an R8 tree, validate that we can
|
|
|
|
// If this is an R8 tree, validate that we can
|
|
|
|
// cover the resources required
|
|
|
|
// cover the resources required
|
|
|
|
|
|
|
|
|
|
|
|
if (building.getRank() == 8) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hasResources = true; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (warehouse == null) |
|
|
|
|
|
|
|
hasResources = false; |
|
|
|
|
|
|
|
else { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
resourceValue = warehouse.getResources().get(Warehouse.stoneIB); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (resourceValue < 1500) |
|
|
|
|
|
|
|
hasResources = false; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
resourceValue = warehouse.getResources().get(Warehouse.lumberIB); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (resourceValue < 1500) |
|
|
|
|
|
|
|
hasResources = false; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
resourceValue = warehouse.getResources().get(Warehouse.galvorIB); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (resourceValue < 5) |
|
|
|
|
|
|
|
hasResources = false; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
resourceValue = warehouse.getResources().get(Warehouse.wormwoodIB); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (resourceValue < 5) |
|
|
|
|
|
|
|
hasResources = false; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
// Validation completed but has failed. We can derank
|
|
|
|
|
|
|
|
// the target building and early exit
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ((hasFunds == false) || |
|
|
|
|
|
|
|
((building.getRank() == 8) && !hasResources)) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (hasFunds == false) { |
|
|
|
return false; // Early exit for having failed to meet maintenance
|
|
|
|
return false; // Early exit for having failed to meet maintenance
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -247,58 +212,6 @@ public enum MaintenanceManager { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// Early exit as we're done if we're not an R8 tree
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (building.getRank() < 8) |
|
|
|
|
|
|
|
return true; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Now for the resources if it's an R8 tree
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Withdraw Stone
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
resourceValue = warehouse.getResources().get(Warehouse.stoneIB); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (DbManager.WarehouseQueries.updateStone(warehouse, resourceValue - 1500) == true) { |
|
|
|
|
|
|
|
warehouse.getResources().put(Warehouse.stoneIB, resourceValue - 1500); |
|
|
|
|
|
|
|
warehouse.AddTransactionToWarehouse(Enum.GameObjectType.Building, building.getObjectUUID(), Enum.TransactionType.WITHDRAWL, Resource.STONE, 1500); |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
Logger.error("stone update failed for warehouse of UUID:" + warehouse.getObjectUUID()); |
|
|
|
|
|
|
|
return true; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Withdraw Lumber
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
resourceValue = warehouse.getResources().get(Warehouse.lumberIB); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (DbManager.WarehouseQueries.updateLumber(warehouse, resourceValue - 1500) == true) { |
|
|
|
|
|
|
|
warehouse.getResources().put(Warehouse.lumberIB, resourceValue - 1500); |
|
|
|
|
|
|
|
warehouse.AddTransactionToWarehouse(Enum.GameObjectType.Building, building.getObjectUUID(), Enum.TransactionType.WITHDRAWL, Resource.LUMBER, 1500); |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
Logger.error("lumber update failed for warehouse of UUID:" + warehouse.getObjectUUID()); |
|
|
|
|
|
|
|
return true; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Withdraw Galvor
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
resourceValue = warehouse.getResources().get(Warehouse.galvorIB); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (DbManager.WarehouseQueries.updateGalvor(warehouse, resourceValue - 5) == true) { |
|
|
|
|
|
|
|
warehouse.getResources().put(Warehouse.galvorIB, resourceValue - 5); |
|
|
|
|
|
|
|
warehouse.AddTransactionToWarehouse(Enum.GameObjectType.Building, building.getObjectUUID(), Enum.TransactionType.WITHDRAWL, Resource.GALVOR, 5); |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
Logger.error("galvor update failed for warehouse of UUID:" + warehouse.getObjectUUID()); |
|
|
|
|
|
|
|
return true; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
resourceValue = warehouse.getResources().get(Warehouse.wormwoodIB); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (DbManager.WarehouseQueries.updateWormwood(warehouse, resourceValue - 5) == true) { |
|
|
|
|
|
|
|
warehouse.getResources().put(Warehouse.wormwoodIB, resourceValue - 5); |
|
|
|
|
|
|
|
warehouse.AddTransactionToWarehouse(Enum.GameObjectType.Building, building.getObjectUUID(), Enum.TransactionType.WITHDRAWL, Resource.WORMWOOD, 5); |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
Logger.error("wyrmwood update failed for warehouse of UUID:" + warehouse.getObjectUUID()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return true; |
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|