Browse Source

Resource Merchant

lakebane-master
FatBoy-DOTC 10 months ago
parent
commit
c14fd84d96
  1. 3
      src/engine/net/client/ClientMessagePump.java
  2. 8
      src/engine/objects/CharacterItemManager.java

3
src/engine/net/client/ClientMessagePump.java

@ -1407,6 +1407,9 @@ public class ClientMessagePump implements NetMsgHandler { @@ -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();

8
src/engine/objects/CharacterItemManager.java

@ -1348,7 +1348,7 @@ public class CharacterItemManager { @@ -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 { @@ -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 { @@ -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 { @@ -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;

Loading…
Cancel
Save