forked from MagicBane/Server
Resource Merchant
This commit is contained in:
@@ -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();
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user