Initial warehouse refactor
This commit is contained in:
@@ -27,6 +27,7 @@ import org.pmw.tinylog.Logger;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.util.ArrayList;
|
||||
import java.util.EnumSet;
|
||||
import java.util.HashMap;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.ThreadLocalRandom;
|
||||
@@ -225,24 +226,23 @@ public enum BuildingManager {
|
||||
if (warehouse == null)
|
||||
return false;
|
||||
|
||||
for (ItemBase resourceBase : ItemBase.getResourceList()) {
|
||||
for (Enum.ResourceType resourceType : EnumSet.allOf(Enum.ResourceType.class)) {
|
||||
|
||||
template = ItemTemplate.itemTemplates.get(resourceBase.getUUID());
|
||||
|
||||
if (!player.getCharItemManager().hasRoomInventory(template.item_wt)) {
|
||||
if (!player.getCharItemManager().hasRoomInventory(resourceType.template.item_wt)) {
|
||||
ChatManager.chatSystemInfo(player, "You can not carry any more of that item.");
|
||||
return false;
|
||||
}
|
||||
if (warehouse.resources.get(resourceBase) == null)
|
||||
|
||||
if (warehouse.resources.get(resourceType) == null)
|
||||
continue;
|
||||
|
||||
int resourceAmount = warehouse.resources.get(resourceBase);
|
||||
int resourceAmount = warehouse.resources.get(resourceType);
|
||||
|
||||
if (resourceAmount <= 0)
|
||||
continue;
|
||||
|
||||
if (Warehouse.loot(warehouse, player, resourceBase, resourceAmount, true)) {
|
||||
ChatManager.chatInfoInfo(player, "You have looted " + resourceAmount + ' ' + template.item_base_name);
|
||||
if (Warehouse.loot(warehouse, player, resourceType, resourceAmount, true)) {
|
||||
ChatManager.chatInfoInfo(player, "You have looted " + resourceAmount + ' ' + resourceType.name());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -177,10 +177,10 @@ public enum LootManager {
|
||||
|
||||
if (ItemTemplate.itemTemplates.get(itemUUID).item_type.equals(Enum.ItemType.RESOURCE)) {
|
||||
int amount = ThreadLocalRandom.current().nextInt(tableRow.minSpawn, tableRow.maxSpawn + 1);
|
||||
return new MobLoot(mob, ItemBase.getItemBase(itemUUID), amount, false);
|
||||
return new MobLoot(mob, ItemTemplate.itemTemplates.get(itemUUID), amount, false);
|
||||
}
|
||||
|
||||
outItem = new MobLoot(mob, ItemBase.getItemBase(itemUUID), false);
|
||||
outItem = new MobLoot(mob, ItemTemplate.itemTemplates.get(itemUUID), false);
|
||||
|
||||
if(selectedRow.pModTable != 0){
|
||||
try {
|
||||
@@ -348,7 +348,7 @@ public enum LootManager {
|
||||
if (equipmentRoll > dropChance)
|
||||
continue;
|
||||
|
||||
MobLoot ml = new MobLoot(mob, me.getItemBase(), false);
|
||||
MobLoot ml = new MobLoot(mob, me.template, false);
|
||||
|
||||
if (ml != null && dropCount < 1) {
|
||||
ml.setIsID(true);
|
||||
@@ -369,7 +369,7 @@ public enum LootManager {
|
||||
if (chanceRoll > bse.dropChance)
|
||||
return;
|
||||
|
||||
MobLoot lootItem = new MobLoot(mob, ItemBase.getItemBase(bse.itemBase), true);
|
||||
MobLoot lootItem = new MobLoot(mob, ItemTemplate.itemTemplates.get(bse.itemBase), true);
|
||||
|
||||
if (lootItem != null)
|
||||
mob.getCharItemManager().addItemToInventory(lootItem);
|
||||
@@ -417,7 +417,7 @@ public enum LootManager {
|
||||
|
||||
//create the item from the table, quantity is always 1
|
||||
|
||||
MobLoot winnings = new MobLoot(playerCharacter, ItemBase.getItemBase(selectedItem.cacheID), 1, false);
|
||||
MobLoot winnings = new MobLoot(playerCharacter, ItemTemplate.itemTemplates.get(selectedItem.cacheID), 1, false);
|
||||
|
||||
if (winnings == null)
|
||||
return;
|
||||
|
||||
@@ -250,7 +250,7 @@ public enum MaintenanceManager {
|
||||
resourceValue = warehouse.resources.get(ItemBase.getItemBase(7));
|
||||
|
||||
if (DbManager.WarehouseQueries.updateGold(warehouse, resourceValue - overDraft) == true) {
|
||||
warehouse.resources.put(ItemBase.getItemBase(7), resourceValue - overDraft);
|
||||
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());
|
||||
@@ -267,10 +267,10 @@ public enum MaintenanceManager {
|
||||
|
||||
// Withdraw Stone
|
||||
|
||||
resourceValue = warehouse.resources.get(ItemBase.getItemBase(1580000));
|
||||
resourceValue = warehouse.resources.get(Enum.ResourceType.STONE);
|
||||
|
||||
if (DbManager.WarehouseQueries.updateStone(warehouse, resourceValue - 1500) == true) {
|
||||
warehouse.resources.put(ItemBase.getItemBase(1580000), resourceValue - 1500);
|
||||
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());
|
||||
@@ -279,10 +279,10 @@ public enum MaintenanceManager {
|
||||
|
||||
// Withdraw Lumber
|
||||
|
||||
resourceValue = warehouse.resources.get(ItemBase.getItemBase(1580004));
|
||||
resourceValue = warehouse.resources.get(Enum.ResourceType.LUMBER);
|
||||
|
||||
if (DbManager.WarehouseQueries.updateLumber(warehouse, resourceValue - 1500) == true) {
|
||||
warehouse.resources.put(ItemBase.getItemBase(1580004), resourceValue - 1500);
|
||||
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());
|
||||
@@ -291,20 +291,20 @@ public enum MaintenanceManager {
|
||||
|
||||
// Withdraw Galvor
|
||||
|
||||
resourceValue = warehouse.resources.get(ItemBase.getItemBase(1580017));
|
||||
resourceValue = warehouse.resources.get(Enum.ResourceType.GALVOR);
|
||||
|
||||
if (DbManager.WarehouseQueries.updateGalvor(warehouse, resourceValue - 5) == true) {
|
||||
warehouse.resources.put(ItemBase.getItemBase(1580017), resourceValue - 5);
|
||||
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());
|
||||
return true;
|
||||
}
|
||||
|
||||
resourceValue = warehouse.resources.get(ItemBase.getItemBase(1580018));
|
||||
resourceValue = warehouse.resources.get(Enum.ResourceType.WORMWOOD);
|
||||
|
||||
if (DbManager.WarehouseQueries.updateWormwood(warehouse, resourceValue - 5) == true) {
|
||||
warehouse.resources.put(ItemBase.getItemBase(1580018), resourceValue - 5);
|
||||
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());
|
||||
|
||||
Reference in New Issue
Block a user