| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -1347,8 +1347,10 @@ public class CharacterItemManager { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        Item gold = this.getGoldInventory(); | 
					 | 
					 | 
					 | 
					        Item gold = this.getGoldInventory(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (cost <= 0 || (gold.getNumOfItems() - cost) < 0) | 
					 | 
					 | 
					 | 
					        if (cost <= 0 || (gold.getNumOfItems() - cost) < 0){ | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            ChatManager.chatSystemError((PlayerCharacter)this.getOwner(),"Not Enough Gold"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            return false; | 
					 | 
					 | 
					 | 
					            return false; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (this.getOwner() != null && this.getOwner().getObjectType().equals(GameObjectType.PlayerCharacter)) { | 
					 | 
					 | 
					 | 
					        if (this.getOwner() != null && this.getOwner().getObjectType().equals(GameObjectType.PlayerCharacter)) { | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -1362,7 +1364,7 @@ public class CharacterItemManager { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        // if the NPC is not slotted.
 | 
					 | 
					 | 
					 | 
					        // if the NPC is not slotted.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (vendorBuilding == null) { | 
					 | 
					 | 
					 | 
					        if (vendorBuilding == null) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					            ChatManager.chatSystemError((PlayerCharacter)this.getOwner(),"Failed To Modify Gold"); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            return this.modifyInventoryGold(-cost); | 
					 | 
					 | 
					 | 
					            return this.modifyInventoryGold(-cost); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -1374,31 +1376,36 @@ public class CharacterItemManager { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                if (pc.getClientConnection() != null) | 
					 | 
					 | 
					 | 
					                if (pc.getClientConnection() != null) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    ErrorPopupMsg.sendErrorPopup(pc, 206); | 
					 | 
					 | 
					 | 
					                    ErrorPopupMsg.sendErrorPopup(pc, 206); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            } | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					            ChatManager.chatSystemError((PlayerCharacter)this.getOwner(),"Strongbox Full"); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            return false; | 
					 | 
					 | 
					 | 
					            return false; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        // Update strongbox and inventory gold
 | 
					 | 
					 | 
					 | 
					        // Update strongbox and inventory gold
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (!this.modifyInventoryGold(-cost)) | 
					 | 
					 | 
					 | 
					        if (!this.modifyInventoryGold(-cost)) { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            ChatManager.chatSystemError((PlayerCharacter)this.getOwner(),"Modify Gold Fail 2"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            return false; | 
					 | 
					 | 
					 | 
					            return false; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        City buildingCity = vendorBuilding.getCity(); | 
					 | 
					 | 
					 | 
					        City buildingCity = vendorBuilding.getCity(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (buildingCity != null) { | 
					 | 
					 | 
					 | 
					        if (buildingCity != null) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            buildingCity.transactionLock.writeLock().lock(); | 
					 | 
					 | 
					 | 
					            buildingCity.transactionLock.writeLock().lock(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            try { | 
					 | 
					 | 
					 | 
					            try { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                if (!vendorBuilding.transferGold(buildingDeposit, true)) | 
					 | 
					 | 
					 | 
					                if (!vendorBuilding.transferGold(buildingDeposit, true)) { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                    ChatManager.chatSystemError((PlayerCharacter)this.getOwner(),"Failed Transfer Gold"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    return false; | 
					 | 
					 | 
					 | 
					                    return false; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            } catch (Exception e) { | 
					 | 
					 | 
					 | 
					            } catch (Exception e) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                Logger.error(e); | 
					 | 
					 | 
					 | 
					                Logger.error(e); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                ChatManager.chatSystemError((PlayerCharacter)this.getOwner(),"Catch Fail"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                return false; | 
					 | 
					 | 
					 | 
					                return false; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            } finally { | 
					 | 
					 | 
					 | 
					            } finally { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                buildingCity.transactionLock.writeLock().unlock(); | 
					 | 
					 | 
					 | 
					                buildingCity.transactionLock.writeLock().unlock(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            } | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } else if (!vendorBuilding.transferGold(buildingDeposit, true)) | 
					 | 
					 | 
					 | 
					        } else if (!vendorBuilding.transferGold(buildingDeposit, true)) { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            ChatManager.chatSystemError((PlayerCharacter)this.getOwner(),"Vendor Building Transfer Gold"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            return false; | 
					 | 
					 | 
					 | 
					            return false; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return true; | 
					 | 
					 | 
					 | 
					        return true; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |