|  |  | @ -130,6 +130,11 @@ public class ItemProductionMsgHandler extends AbstractClientMsgHandler { | 
			
		
	
		
		
			
				
					
					|  |  |  |         WorkOrder workOrder = ForgeManager.itemWorkOrderLookup.get(virtualItem); |  |  |  |         WorkOrder workOrder = ForgeManager.itemWorkOrderLookup.get(virtualItem); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         City city = workOrder.vendor.building.getCity(); |  |  |  |         City city = workOrder.vendor.building.getCity(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if (city == null) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             return; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         ; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         city.transactionLock.writeLock().lock(); |  |  |  |         city.transactionLock.writeLock().lock(); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         try { |  |  |  |         try { | 
			
		
	
	
		
		
			
				
					|  |  | @ -286,7 +291,7 @@ public class ItemProductionMsgHandler extends AbstractClientMsgHandler { | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     // Method completes an item that has been previously rolled
 |  |  |  |     // Method completes an item that has been previously rolled
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     // adding it to the NPC's inventory
 |  |  |  |     // adding it to the Vendor inventory
 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     private static void recycleItem(HashMap<Integer, Integer> itemList, NPC vendor, ClientConnection origin) { |  |  |  |     private static void recycleItem(HashMap<Integer, Integer> itemList, NPC vendor, ClientConnection origin) { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -398,9 +403,8 @@ public class ItemProductionMsgHandler extends AbstractClientMsgHandler { | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (workOrder == null) |  |  |  |         if (workOrder == null) | 
			
		
	
		
		
			
				
					
					|  |  |  |             return; |  |  |  |             return; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (workOrder.cooking.contains(virtualItem) == false) |  |  |  |         if (!workOrder.cooking.contains(virtualItem)) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             return; |  |  |  |             return; | 
			
		
	
		
		
			
				
					
					|  |  |  |         ; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         City city = workOrder.vendor.building.getCity(); |  |  |  |         City city = workOrder.vendor.building.getCity(); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -418,11 +422,11 @@ public class ItemProductionMsgHandler extends AbstractClientMsgHandler { | 
			
		
	
		
		
			
				
					
					|  |  |  |             // Update total_to_produce accounting for the slot being
 |  |  |  |             // Update total_to_produce accounting for the slot being
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             // removed while workOrder is not completed.
 |  |  |  |             // removed while workOrder is not completed.
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             if (workOrder.runCompleted == false) |  |  |  |             if (!workOrder.runCompleted) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                 if (workOrder.multiple_slot_request && workOrder.slots_used > 1) { |  |  |  |                 if (workOrder.multiple_slot_request && workOrder.slots_used > 1) { | 
			
		
	
		
		
			
				
					
					|  |  |  |                 int itemsPerSlot = workOrder.total_to_produce / workOrder.slots_used; |  |  |  |                     int itemsPerSlot = workOrder.total_to_produce / workOrder.slots_used; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 workOrder.total_to_produce = workOrder.total_to_produce - itemsPerSlot; |  |  |  |                     workOrder.total_to_produce = workOrder.total_to_produce - itemsPerSlot; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |                 } | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             // Slot is no longer allocated to this workOrder.
 |  |  |  |             // Slot is no longer allocated to this workOrder.
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -476,9 +480,7 @@ public class ItemProductionMsgHandler extends AbstractClientMsgHandler { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             player.charItemManager.buyFromNPC(targetItem, vendor); |  |  |  |             player.charItemManager.buyFromNPC(targetItem, vendor); | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         player.charItemManager.updateInventory(); |  |  |  |         player.charItemManager.updateInventory(); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
	
		
		
			
				
					|  |  | 
 |