diff --git a/src/engine/net/client/ClientMessagePump.java b/src/engine/net/client/ClientMessagePump.java index 7d566c34..e12876a3 100644 --- a/src/engine/net/client/ClientMessagePump.java +++ b/src/engine/net/client/ClientMessagePump.java @@ -9,6 +9,7 @@ package engine.net.client; +import engine.Enum; import engine.Enum.*; import engine.InterestManagement.WorldGrid; import engine.exception.MsgSendException; @@ -1583,6 +1584,11 @@ public class ClientMessagePump implements NetMsgHandler { // msg.setItemID(buy.getObjectUUID()); Dispatch dispatch = Dispatch.borrow(sourcePlayer, msg); DispatchMessage.dispatchMsgDispatch(dispatch, DispatchChannel.SECONDARY); + if(npc.getName().equals("Resource Merchant")){ + MobLoot resource = new MobLoot(npc,ItemBase.getItemBase(buy.getItemBaseID()), 1, true); + resource.magicValue = Warehouse.getCostForResource(buy.getItemBaseID()); + npc.getCharItemManager().addItemToInventory(resource); + } itemMan.updateInventory(); } diff --git a/src/engine/objects/Warehouse.java b/src/engine/objects/Warehouse.java index f96a5fcb..c24513fc 100644 --- a/src/engine/objects/Warehouse.java +++ b/src/engine/objects/Warehouse.java @@ -1334,4 +1334,75 @@ public class Warehouse extends AbstractWorldObject { return resourceType.elementOf(this.lockedResourceTypes); } + + public static int getCostForResource(int id){ + int newCost = 0; + switch(id){ + case 1580000://stone + newCost = 3000; + break; + case 1580001://truesteel + newCost = 50000; + break; + case 1580002://iron + newCost = 50000; + break; + case 1580003://adamant + newCost = 100000; + break; + case 1580004://lumber + newCost = 3000; + break; + case 1580005://oak + newCost = 30000; + break; + case 1580006://bronzewood + newCost = 30000; + break; + case 1580007://mandrake + newCost = 100000; + break; + case 1580008://coal + newCost = 30000; + break; + case 1580009://agate + newCost = 50000; + break; + case 1580010://diamond + newCost = 50000; + break; + case 1580011://onyx + newCost = 100000; + break; + case 1580012://azoth + newCost = 50000; + break; + case 1580013://orichalk + newCost = 30000; + break; + case 1580014://antimony + newCost = 100000; + break; + case 1580015://sulfur + newCost = 100000; + break; + case 1580016://quicksilver + newCost = 100000; + break; + case 1580017://galvor + newCost = 300000; + break; + case 1580018://wormwood + newCost = 300000; + break; + case 1580019://obsidian + newCost = 200000; + break; + case 1580020://bloodstone + newCost = 200000; + break; + } + + return newCost; + } }