From c14fd84d96799fae35fdee7e78166796bd2b2b5e Mon Sep 17 00:00:00 2001 From: FatBoy-DOTC Date: Thu, 22 Feb 2024 20:11:22 -0600 Subject: [PATCH] Resource Merchant --- src/engine/net/client/ClientMessagePump.java | 3 +++ src/engine/objects/CharacterItemManager.java | 8 +------- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/engine/net/client/ClientMessagePump.java b/src/engine/net/client/ClientMessagePump.java index 2df894ef..8c305915 100644 --- a/src/engine/net/client/ClientMessagePump.java +++ b/src/engine/net/client/ClientMessagePump.java @@ -1407,6 +1407,9 @@ public class ClientMessagePump implements NetMsgHandler { return; } int cost = me.getMagicValue(); + int resourceCost = Warehouse.getCostForResource(me.getItemBase().getUUID()); + if(resourceCost != 0) + cost = resourceCost; float bargain = sourcePlayer.getBargain(); diff --git a/src/engine/objects/CharacterItemManager.java b/src/engine/objects/CharacterItemManager.java index 9d97e8ba..2a1d7e81 100644 --- a/src/engine/objects/CharacterItemManager.java +++ b/src/engine/objects/CharacterItemManager.java @@ -1348,7 +1348,7 @@ public class CharacterItemManager { Item gold = this.getGoldInventory(); if (cost <= 0 || (gold.getNumOfItems() - cost) < 0){ - ChatManager.chatSystemError((PlayerCharacter)this.getOwner(),"Not Enough Gold"); + ChatManager.chatSystemError((PlayerCharacter)this.getOwner(),"Not Enough Gold: " + "COST: " + cost); return false; } @@ -1364,7 +1364,6 @@ public class CharacterItemManager { // if the NPC is not slotted. if (vendorBuilding == null) { - ChatManager.chatSystemError((PlayerCharacter)this.getOwner(),"Failed To Modify Gold"); return this.modifyInventoryGold(-cost); } @@ -1376,14 +1375,12 @@ public class CharacterItemManager { if (pc.getClientConnection() != null) ErrorPopupMsg.sendErrorPopup(pc, 206); } - ChatManager.chatSystemError((PlayerCharacter)this.getOwner(),"Strongbox Full"); return false; } // Update strongbox and inventory gold if (!this.modifyInventoryGold(-cost)) { - ChatManager.chatSystemError((PlayerCharacter)this.getOwner(),"Modify Gold Fail 2"); return false; } City buildingCity = vendorBuilding.getCity(); @@ -1392,18 +1389,15 @@ public class CharacterItemManager { buildingCity.transactionLock.writeLock().lock(); try { if (!vendorBuilding.transferGold(buildingDeposit, true)) { - ChatManager.chatSystemError((PlayerCharacter)this.getOwner(),"Failed Transfer Gold"); return false; } } catch (Exception e) { Logger.error(e); - ChatManager.chatSystemError((PlayerCharacter)this.getOwner(),"Catch Fail"); return false; } finally { buildingCity.transactionLock.writeLock().unlock(); } } else if (!vendorBuilding.transferGold(buildingDeposit, true)) { - ChatManager.chatSystemError((PlayerCharacter)this.getOwner(),"Vendor Building Transfer Gold"); return false; } return true;