Slot tracking update
This commit is contained in:
@@ -356,11 +356,11 @@ public class ItemProductionMsgHandler extends AbstractClientMsgHandler {
|
|||||||
|
|
||||||
private static void junkItem(int itemUUID, NPC vendor, ClientConnection origin) {
|
private static void junkItem(int itemUUID, NPC vendor, ClientConnection origin) {
|
||||||
|
|
||||||
Item targetItem;
|
Item virtualItem;
|
||||||
ManageNPCMsg outMsg;
|
ManageNPCMsg outMsg;
|
||||||
Dispatch dispatch;
|
Dispatch dispatch;
|
||||||
|
|
||||||
targetItem = Item.getFromCache(itemUUID);
|
virtualItem = Item.getFromCache(itemUUID);
|
||||||
|
|
||||||
PlayerCharacter player = origin.getPlayerCharacter();
|
PlayerCharacter player = origin.getPlayerCharacter();
|
||||||
|
|
||||||
@@ -369,7 +369,7 @@ public class ItemProductionMsgHandler extends AbstractClientMsgHandler {
|
|||||||
|
|
||||||
// junk nothing?
|
// junk nothing?
|
||||||
|
|
||||||
if (targetItem == null)
|
if (virtualItem == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// Cannot junk items without a forge!
|
// Cannot junk items without a forge!
|
||||||
@@ -377,20 +377,16 @@ public class ItemProductionMsgHandler extends AbstractClientMsgHandler {
|
|||||||
if (vendor.getBuilding() == null)
|
if (vendor.getBuilding() == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
WorkOrder workOrder = ForgeManager.itemWorkOrderLookup.get(targetItem);
|
WorkOrder workOrder = ForgeManager.itemWorkOrderLookup.get(virtualItem);
|
||||||
|
|
||||||
City city = workOrder.vendor.building.getCity();
|
City city = workOrder.vendor.building.getCity();
|
||||||
city.transactionLock.writeLock().lock();
|
city.transactionLock.writeLock().lock();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
workOrder.cooking.remove(targetItem);
|
workOrder.cooking.remove(virtualItem);
|
||||||
DbManager.removeFromCache(targetItem);
|
DbManager.removeFromCache(virtualItem);
|
||||||
|
ForgeManager.itemWorkOrderLookup.remove(virtualItem);
|
||||||
// WorkOrder exists until all items are completed or junked
|
|
||||||
// this is to hold a reference to the virtual item for serialization (NPCMsgHandler)
|
|
||||||
|
|
||||||
workOrder.slots_used = workOrder.slots_used - 1;
|
|
||||||
|
|
||||||
// Refresh vendor's inventory to client
|
// Refresh vendor's inventory to client
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user