@ -1415,18 +1415,15 @@ public class ClientMessagePump implements NetMsgHandler {
				@@ -1415,18 +1415,15 @@ public class ClientMessagePump implements NetMsgHandler {
					 
			
		
	
		
			
				
					                            int  cost  =  me . magicValue ;   
			
		
	
		
			
				
					                            if ( npc . getContractID ( )  = =  1201  & &  me . getItemBase ( ) . getName ( ) . equals ( "Prospector" ) )   
			
		
	
		
			
				
					                                cost  =  50 ;   
			
		
	
		
			
				
					                            int  resourceCost  =  ( Warehouse . getSellStackSize ( me . getItemBase ( ) . getUUID ( ) )  *  Warehouse . getCostForResource ( me . getItemBase ( ) . getUUID ( ) ) ) ;   
			
		
	
		
			
				
					                            if  ( resourceCost  ! =  0 )   
			
		
	
		
			
				
					                                cost  =  resourceCost ;   
			
		
	
		
			
				
					                            if ( npc . contractUUID  = =  900  & &  me . getItemBase ( ) . getUUID ( )  = =  1705032 ) {   
			
		
	
		
			
				
					                                cost  =  1000000 ;   
			
		
	
		
			
				
					                            }   
			
		
	
		
			
				
					                            float  bargain  =  sourcePlayer . getBargain ( ) ;   
			
		
	
		
			
				
					                            float  profit  =  npc . getSellPercent ( sourcePlayer )  -  bargain ;   
			
		
	
		
			
				
					                            if ( me . getItemBase ( ) . getType ( ) . equals ( ItemType . POTION ) )   
			
		
	
		
			
				
					                                profit  - =  1 . 0f ;   
			
		
	
		
			
				
					                            if  ( profit  <  1 )   
			
		
	
		
			
				
					                                profit  =  1 ;   
			
		
	
		
			
				
					                            if ( npc . getContractID ( )  = =  900 ) {   
			
		
	
		
			
				
					                                cost  =  Warehouse . getCostForResource ( ib . getUUID ( ) )  *  Warehouse . getSellStackSize ( ib . getUUID ( ) ) ;   
			
		
	
		
			
				
					                            }   
			
		
	
		
			
				
					                            cost  * =  profit ;   
			
		
	
		
			
				
					                            if  ( gold . getNumOfItems ( )  -  cost  <  0 )  {   
			
		
	
		
			
				
					                                //dont' have enough goldItem exit!
   
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -1447,33 +1444,7 @@ public class ClientMessagePump implements NetMsgHandler {
				@@ -1447,33 +1444,7 @@ public class ClientMessagePump implements NetMsgHandler {
					 
			
		
	
		
			
				
					                                return ;   
			
		
	
		
			
				
					                            }   
			
		
	
		
			
				
					                            if ( me . getItemBase ( ) . getType ( ) . equals ( ItemType . RESOURCE )  & &  npc . getContractID ( )  = =  900 ) {   
			
		
	
		
			
				
					                                boolean  stacked  =  false ;   
			
		
	
		
			
				
					                                int  buystack  =  Warehouse . getSellStackSize ( me . getItemBase ( ) . getUUID ( ) ) ;   
			
		
	
		
			
				
					                                for ( Item  item  :  itemMan . getInventory ( ) ) {   
			
		
	
		
			
				
					                                    int  itemID  =  item . getItemBaseID ( ) ;   
			
		
	
		
			
				
					                                    int  meID  =  me . getItemBase ( ) . getUUID ( ) ;   
			
		
	
		
			
				
					                                    if ( itemID  = =  meID ) {   
			
		
	
		
			
				
					                                        if ( Warehouse . maxResources . isEmpty ( ) )   
			
		
	
		
			
				
					                                            Warehouse . getMaxResources ( ) ;   
			
		
	
		
			
				
					                                        int  maxStack  =  Warehouse . maxResources . get ( itemID ) ;   
			
		
	
		
			
				
					                                        if ( maxStack  >  item . getNumOfItems ( )  +  buystack ) {   
			
		
	
		
			
				
					                                            item . setNumOfItems ( item . getNumOfItems ( )  +  buystack ) ;   
			
		
	
		
			
				
					                                            stacked  =  true ;   
			
		
	
		
			
				
					                                            itemMan . updateInventory ( ) ;   
			
		
	
		
			
				
					                                            DbManager . ItemQueries . UPDATE_NUM_ITEMS ( item , item . getNumOfItems ( ) ) ;   
			
		
	
		
			
				
					                                            break ;   
			
		
	
		
			
				
					                                        }   
			
		
	
		
			
				
					                                    }   
			
		
	
		
			
				
					                                }   
			
		
	
		
			
				
					                                if ( ! stacked ) {   
			
		
	
		
			
				
					                                    buy  =  Item . createItemForPlayer ( sourcePlayer ,  ib ) ;   
			
		
	
		
			
				
					                                    if  ( buy  ! =  null )  {   
			
		
	
		
			
				
					                                        me . transferEnchants ( buy ) ;   
			
		
	
		
			
				
					                                        itemMan . addItemToInventory ( buy ) ;   
			
		
	
		
			
				
					                                        buy . setNumOfItems ( buystack ) ;   
			
		
	
		
			
				
					                                        DbManager . ItemQueries . UPDATE_NUM_ITEMS ( buy , buy . getNumOfItems ( ) ) ;   
			
		
	
		
			
				
					                                    }   
			
		
	
		
			
				
					                                }   
			
		
	
		
			
				
					                                handleResourcePurchase ( me , itemMan , npc , buy , sourcePlayer , ib ) ;   
			
		
	
		
			
				
					                            } else  {   
			
		
	
		
			
				
					                                buy  =  Item . createItemForPlayer ( sourcePlayer ,  ib ) ;   
			
		
	
		
			
				
					                                if  ( buy  ! =  null )  {   
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -1589,6 +1560,35 @@ public class ClientMessagePump implements NetMsgHandler {
				@@ -1589,6 +1560,35 @@ public class ClientMessagePump implements NetMsgHandler {
					 
			
		
	
		
			
				
					        }   
			
		
	
		
			
				
					    }   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    public  static  void  handleResourcePurchase ( MobEquipment  me ,  CharacterItemManager  itemMan ,  NPC  npc ,  Item  buy ,  PlayerCharacter  sourcePlayer ,  ItemBase  ib ) {   
			
		
	
		
			
				
					        boolean  stacked  =  false ;   
			
		
	
		
			
				
					        int  buystack  =  Warehouse . getSellStackSize ( me . getItemBase ( ) . getUUID ( ) ) ;   
			
		
	
		
			
				
					        for ( Item  item  :  itemMan . getInventory ( ) ) {   
			
		
	
		
			
				
					            int  itemID  =  item . getItemBaseID ( ) ;   
			
		
	
		
			
				
					            int  meID  =  me . getItemBase ( ) . getUUID ( ) ;   
			
		
	
		
			
				
					            if ( itemID  = =  meID ) {   
			
		
	
		
			
				
					                if ( Warehouse . maxResources . isEmpty ( ) )   
			
		
	
		
			
				
					                    Warehouse . getMaxResources ( ) ;   
			
		
	
		
			
				
					                int  maxStack  =  Warehouse . maxResources . get ( itemID ) ;   
			
		
	
		
			
				
					                if ( maxStack  >  item . getNumOfItems ( )  +  buystack ) {   
			
		
	
		
			
				
					                    item . setNumOfItems ( item . getNumOfItems ( )  +  buystack ) ;   
			
		
	
		
			
				
					                    stacked  =  true ;   
			
		
	
		
			
				
					                    itemMan . updateInventory ( ) ;   
			
		
	
		
			
				
					                    DbManager . ItemQueries . UPDATE_NUM_ITEMS ( item , item . getNumOfItems ( ) ) ;   
			
		
	
		
			
				
					                    break ;   
			
		
	
		
			
				
					                }   
			
		
	
		
			
				
					            }   
			
		
	
		
			
				
					        }   
			
		
	
		
			
				
					        if ( ! stacked ) {   
			
		
	
		
			
				
					            buy  =  Item . createItemForPlayer ( sourcePlayer ,  ib ) ;   
			
		
	
		
			
				
					            if  ( buy  ! =  null )  {   
			
		
	
		
			
				
					                me . transferEnchants ( buy ) ;   
			
		
	
		
			
				
					                itemMan . addItemToInventory ( buy ) ;   
			
		
	
		
			
				
					                buy . setNumOfItems ( buystack ) ;   
			
		
	
		
			
				
					                DbManager . ItemQueries . UPDATE_NUM_ITEMS ( buy , buy . getNumOfItems ( ) ) ;   
			
		
	
		
			
				
					            }   
			
		
	
		
			
				
					        }   
			
		
	
		
			
				
					    }   
			
		
	
		
			
				
					    private  static  void  Repair ( RepairMsg  msg ,  ClientConnection  origin )  {   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        PlayerCharacter  player  =  SessionManager . getPlayerCharacter ( origin ) ;