forked from MagicBane/Server
Refactor warehouse part two.
This commit is contained in:
@@ -219,7 +219,12 @@ public enum BuildingManager {
|
||||
break;
|
||||
case WAREHOUSE:
|
||||
|
||||
Warehouse warehouse = Warehouse.warehouseByBuildingUUID.get(building.getObjectUUID());
|
||||
City city = building.getCity();
|
||||
|
||||
if (city == null)
|
||||
return true;
|
||||
|
||||
Warehouse warehouse = city.warehouse;
|
||||
|
||||
if (warehouse == null)
|
||||
return false;
|
||||
|
||||
@@ -155,7 +155,7 @@ public enum MaintenanceManager {
|
||||
city = building.getCity();
|
||||
|
||||
if (city != null)
|
||||
warehouse = city.getWarehouse();
|
||||
warehouse = city.warehouse;
|
||||
|
||||
// Cache maintenance cost value
|
||||
|
||||
@@ -199,22 +199,22 @@ public enum MaintenanceManager {
|
||||
hasResources = false;
|
||||
else {
|
||||
|
||||
resourceValue = warehouse.resources.get(ItemBase.getItemBase(1580000));
|
||||
resourceValue = warehouse.resources.get(Enum.ResourceType.STONE);
|
||||
|
||||
if (resourceValue < 1500)
|
||||
hasResources = false;
|
||||
|
||||
resourceValue = warehouse.resources.get(ItemBase.getItemBase(1580004));
|
||||
resourceValue = warehouse.resources.get(Enum.ResourceType.LUMBER);
|
||||
|
||||
if (resourceValue < 1500)
|
||||
hasResources = false;
|
||||
|
||||
resourceValue = warehouse.resources.get(ItemBase.getItemBase(1580017));
|
||||
resourceValue = warehouse.resources.get(Enum.ResourceType.GALVOR);
|
||||
|
||||
if (resourceValue < 5)
|
||||
hasResources = false;
|
||||
|
||||
resourceValue = warehouse.resources.get(ItemBase.getItemBase(1580018));
|
||||
resourceValue = warehouse.resources.get(Enum.ResourceType.WORMWOOD);
|
||||
|
||||
if (resourceValue < 5)
|
||||
hasResources = false;
|
||||
@@ -248,14 +248,15 @@ public enum MaintenanceManager {
|
||||
if (overDraft > 0) {
|
||||
|
||||
resourceValue = warehouse.resources.get(ItemBase.getItemBase(7));
|
||||
warehouse.resources.put(Enum.ResourceType.GOLD, resourceValue - overDraft);
|
||||
|
||||
if (DbManager.WarehouseQueries.updateGold(warehouse, resourceValue - overDraft) == true) {
|
||||
warehouse.resources.put(Enum.ResourceType.GOLD, resourceValue - overDraft);
|
||||
Warehouse.AddTransactionToWarehouse(warehouse, Enum.GameObjectType.Building, building.getObjectUUID(), Enum.TransactionType.WITHDRAWL, Enum.ResourceType.GOLD, overDraft);
|
||||
} else {
|
||||
Logger.error("gold update failed for warehouse of UUID:" + warehouse.getObjectUUID());
|
||||
if (!DbManager.WarehouseQueries.UPDATE_WAREHOUSE(warehouse)) {
|
||||
warehouse.resources.put(Enum.ResourceType.GOLD, resourceValue);
|
||||
Logger.error("gold update failed for warehouse of city:" + warehouse.city.getName());
|
||||
return true;
|
||||
}
|
||||
|
||||
Warehouse.AddTransactionToWarehouse(warehouse, Enum.GameObjectType.Building, building.getObjectUUID(), Enum.TransactionType.WITHDRAWL, Enum.ResourceType.GOLD, overDraft);
|
||||
}
|
||||
|
||||
// Early exit as we're done if we're not an R8 tree
|
||||
@@ -268,47 +269,53 @@ public enum MaintenanceManager {
|
||||
// Withdraw Stone
|
||||
|
||||
resourceValue = warehouse.resources.get(Enum.ResourceType.STONE);
|
||||
warehouse.resources.put(Enum.ResourceType.STONE, resourceValue - 1500);
|
||||
|
||||
if (DbManager.WarehouseQueries.updateStone(warehouse, resourceValue - 1500) == true) {
|
||||
warehouse.resources.put(Enum.ResourceType.STONE, resourceValue - 1500);
|
||||
Warehouse.AddTransactionToWarehouse(warehouse, Enum.GameObjectType.Building, building.getObjectUUID(), Enum.TransactionType.WITHDRAWL, Enum.ResourceType.STONE, 1500);
|
||||
} else {
|
||||
Logger.error("stone update failed for warehouse of UUID:" + warehouse.getObjectUUID());
|
||||
if (!DbManager.WarehouseQueries.UPDATE_WAREHOUSE(warehouse)) {
|
||||
warehouse.resources.put(Enum.ResourceType.STONE, resourceValue);
|
||||
Logger.error("stone update failed for warehouse of city:" + warehouse.city.getName());
|
||||
return true;
|
||||
}
|
||||
|
||||
Warehouse.AddTransactionToWarehouse(warehouse, Enum.GameObjectType.Building, building.getObjectUUID(), Enum.TransactionType.WITHDRAWL, Enum.ResourceType.STONE, 1500);
|
||||
|
||||
// Withdraw Lumber
|
||||
|
||||
resourceValue = warehouse.resources.get(Enum.ResourceType.LUMBER);
|
||||
warehouse.resources.put(Enum.ResourceType.LUMBER, resourceValue - 1500);
|
||||
|
||||
if (DbManager.WarehouseQueries.updateLumber(warehouse, resourceValue - 1500) == true) {
|
||||
warehouse.resources.put(Enum.ResourceType.LUMBER, resourceValue - 1500);
|
||||
Warehouse.AddTransactionToWarehouse(warehouse, Enum.GameObjectType.Building, building.getObjectUUID(), Enum.TransactionType.WITHDRAWL, Enum.ResourceType.LUMBER, 1500);
|
||||
} else {
|
||||
Logger.error("lumber update failed for warehouse of UUID:" + warehouse.getObjectUUID());
|
||||
if (!DbManager.WarehouseQueries.UPDATE_WAREHOUSE(warehouse)) {
|
||||
warehouse.resources.put(Enum.ResourceType.STONE, resourceValue);
|
||||
Logger.error("lumber update failed for warehouse of city:" + warehouse.city.getName());
|
||||
return true;
|
||||
}
|
||||
|
||||
Warehouse.AddTransactionToWarehouse(warehouse, Enum.GameObjectType.Building, building.getObjectUUID(), Enum.TransactionType.WITHDRAWL, Enum.ResourceType.LUMBER, 1500);
|
||||
|
||||
// Withdraw Galvor
|
||||
|
||||
resourceValue = warehouse.resources.get(Enum.ResourceType.GALVOR);
|
||||
warehouse.resources.put(Enum.ResourceType.GALVOR, resourceValue - 5);
|
||||
|
||||
if (DbManager.WarehouseQueries.updateGalvor(warehouse, resourceValue - 5) == true) {
|
||||
warehouse.resources.put(Enum.ResourceType.GALVOR, resourceValue - 5);
|
||||
Warehouse.AddTransactionToWarehouse(warehouse, Enum.GameObjectType.Building, building.getObjectUUID(), Enum.TransactionType.WITHDRAWL, Enum.ResourceType.GALVOR, 5);
|
||||
} else {
|
||||
Logger.error("galvor update failed for warehouse of UUID:" + warehouse.getObjectUUID());
|
||||
if (!DbManager.WarehouseQueries.UPDATE_WAREHOUSE(warehouse)) {
|
||||
warehouse.resources.put(Enum.ResourceType.GALVOR, resourceValue);
|
||||
Logger.error("GALVOR update failed for warehouse of city:" + warehouse.city.getName());
|
||||
return true;
|
||||
}
|
||||
Warehouse.AddTransactionToWarehouse(warehouse, Enum.GameObjectType.Building, building.getObjectUUID(), Enum.TransactionType.WITHDRAWL, Enum.ResourceType.GALVOR, 5);
|
||||
|
||||
// Withdraw GWORMWOOD
|
||||
|
||||
resourceValue = warehouse.resources.get(Enum.ResourceType.WORMWOOD);
|
||||
warehouse.resources.put(Enum.ResourceType.WORMWOOD, resourceValue - 5);
|
||||
|
||||
if (!DbManager.WarehouseQueries.UPDATE_WAREHOUSE(warehouse)) {
|
||||
warehouse.resources.put(Enum.ResourceType.GALVOR, resourceValue);
|
||||
Logger.error("wyrmwood update failed for warehouse of city:" + warehouse.city.getName());
|
||||
return true;
|
||||
}
|
||||
|
||||
resourceValue = warehouse.resources.get(Enum.ResourceType.WORMWOOD);
|
||||
|
||||
if (DbManager.WarehouseQueries.updateWormwood(warehouse, resourceValue - 5) == true) {
|
||||
warehouse.resources.put(Enum.ResourceType.WORMWOOD, resourceValue - 5);
|
||||
Warehouse.AddTransactionToWarehouse(warehouse, Enum.GameObjectType.Building, building.getObjectUUID(), Enum.TransactionType.WITHDRAWL, Enum.ResourceType.WORMWOOD, 5);
|
||||
} else {
|
||||
Logger.error("wyrmwood update failed for warehouse of UUID:" + warehouse.getObjectUUID());
|
||||
}
|
||||
Warehouse.AddTransactionToWarehouse(warehouse, Enum.GameObjectType.Building, building.getObjectUUID(), Enum.TransactionType.WITHDRAWL, Enum.ResourceType.WORMWOOD, 5);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user