diff --git a/src/engine/server/world/WorldServer.java b/src/engine/server/world/WorldServer.java index a4d25f99..7b82074e 100644 --- a/src/engine/server/world/WorldServer.java +++ b/src/engine/server/world/WorldServer.java @@ -632,36 +632,39 @@ public class WorldServer { } //add extra vendors for lakebane try { - NPC runeMerchant = NPC.createNPC("Runey", 1200, Vector3fImmutable.ZERO, Guild.getGuild(6), ZoneManager.getZoneByUUID(656), (short) 70, null); - runeMerchant.sellPercent = 0; Building sdrHut = BuildingManager.getBuilding(27979); - runeMerchant.buildingUUID = sdrHut.getObjectUUID(); - runeMerchant.building = sdrHut; - NPCManager.slotCharacterInBuilding(runeMerchant); - runeMerchant.setLoc(runeMerchant.bindLoc); - for(MobEquipment item : runeMerchant.contract.getSellInventory()){ - item.magicValue = 10000000; + if (sdrHut.getHirelings().size() < 1) { + NPC runeMerchant = NPC.createNPC("Runey", 1200, Vector3fImmutable.ZERO, Guild.getGuild(6), ZoneManager.getZoneByUUID(656), (short) 70, null); + runeMerchant.sellPercent = 0; + runeMerchant.buildingUUID = sdrHut.getObjectUUID(); + runeMerchant.building = sdrHut; + NPCManager.slotCharacterInBuilding(runeMerchant); + runeMerchant.setLoc(runeMerchant.bindLoc); + for (MobEquipment item : runeMerchant.contract.getSellInventory()) { + item.magicValue = 10000000; + } } } catch(Exception e){ Logger.error("FAILED TO ADD RUNE MERCHANT"); } try { - - NPC resourceMerchant = NPC.createNPC("Resource Merchant", 960124, Vector3fImmutable.ZERO, Guild.getGuild(6), ZoneManager.getZoneByUUID(656), (short) 70, null); - resourceMerchant.sellPercent = 0; - resourceMerchant.contract.vendorDialog = VendorDialog.getVendorDialog(623); Building sdrHut = BuildingManager.getBuilding(27984); - resourceMerchant.buildingUUID = sdrHut.getObjectUUID(); - resourceMerchant.building = sdrHut; - NPCManager.slotCharacterInBuilding(resourceMerchant); - resourceMerchant.setLoc(resourceMerchant.bindLoc); - resourceMerchant.contract.getSellInventory().clear(); - for(int resourceID : Warehouse.getMaxResources().keySet()){ - if(resourceID == 7 || resourceID == 1580021) - continue; - MobEquipment me = new MobEquipment(ItemBase.getItemBase(resourceID), 0, 0); - resourceMerchant.contract.getSellInventory().add(me); + if(sdrHut.getHirelings().size() < 2) { + NPC resourceMerchant = NPC.createNPC("Resource Merchant", 830, Vector3fImmutable.ZERO, Guild.getGuild(6), ZoneManager.getZoneByUUID(656), (short) 70, null); + resourceMerchant.sellPercent = 0; + resourceMerchant.contract.vendorDialog = VendorDialog.getVendorDialog(623); + resourceMerchant.buildingUUID = sdrHut.getObjectUUID(); + resourceMerchant.building = sdrHut; + NPCManager.slotCharacterInBuilding(resourceMerchant); + resourceMerchant.setLoc(resourceMerchant.bindLoc); + //resourceMerchant.contract.getSellInventory().clear(); + for(int resourceID : Warehouse.getMaxResources().keySet()){ + if(resourceID == 7 || resourceID == 1580021) + continue; + MobLoot resource = new MobLoot(resourceMerchant,ItemBase.getItemBase(resourceID), 1, true); + resourceMerchant.getCharItemManager().addItemToInventory(resource); + } } } catch(Exception e){