|  |  | @ -28,6 +28,15 @@ import java.util.concurrent.atomic.AtomicInteger; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | public enum ForgeManager implements Runnable { |  |  |  | public enum ForgeManager implements Runnable { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     // MB Dev notes:
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     // Class handles all forge rolling requests for the game.
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     //
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     // WorkOrders may be submitted from any thread: usually (ItemProductionMsgHandler)
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     // as concurrency is managed by the same lock used by the warehouse (city.cityTransactionLock)
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     // WorkOrders are persisted then reconstituted at bootstrap from table dyn.workorders
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     //
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     // p.s. this class replaces garbage that looked like it was written by a crack head.
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     FORGE_MANAGER; |  |  |  |     FORGE_MANAGER; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     public static final BlockingQueue<WorkOrder> forge = new DelayQueue<>(); |  |  |  |     public static final BlockingQueue<WorkOrder> forge = new DelayQueue<>(); | 
			
		
	
	
		
		
			
				
					|  |  | @ -39,7 +48,7 @@ public enum ForgeManager implements Runnable { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     public void run() { |  |  |  |     public void run() { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         WorkOrder workOrder = null; |  |  |  |         WorkOrder workOrder; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         while (true) { |  |  |  |         while (true) { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -363,7 +372,7 @@ public enum ForgeManager implements Runnable { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         int modifier = 0; |  |  |  |         int modifier = 0; | 
			
		
	
		
		
			
				
					
					|  |  |  |         ModTypeTableEntry modTypeTableEntry = null; |  |  |  |         ModTypeTableEntry modTypeTableEntry = null; | 
			
		
	
		
		
			
				
					
					|  |  |  |         ModTableEntry modTableEntry = null; |  |  |  |         ModTableEntry modTableEntry; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         int rollForModifier; |  |  |  |         int rollForModifier; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         switch (itemModType) { |  |  |  |         switch (itemModType) { | 
			
		
	
	
		
		
			
				
					|  |  | 
 |