@Override protected void runImpl() { L2PcInstance player = getClient().getActiveChar(); if (player == null) return; if (_items == null) { player.setPrivateStoreType(L2PcInstance.STORE_PRIVATE_NONE); player.broadcastUserInfo(); return; } if (AttackStanceTaskManager.getInstance().getAttackStanceTask(player) || player.isInDuel()) { player.sendPacket( SystemMessage.getSystemMessage(SystemMessageId.CANT_OPERATE_PRIVATE_STORE_DURING_COMBAT)); player.sendPacket(ActionFailed.STATIC_PACKET); return; } if (player.isInsideZone(L2Character.ZONE_NOSTORE)) { player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NO_PRIVATE_WORKSHOP_HERE)); player.sendPacket(ActionFailed.STATIC_PACKET); return; } L2ManufactureList createList = new L2ManufactureList(); List<L2RecipeList> dwarfRecipes = Arrays.asList(player.getDwarvenRecipeBook()); List<L2RecipeList> commonRecipes = Arrays.asList(player.getCommonRecipeBook()); for (Recipe i : _items) { L2RecipeList list = RecipeController.getInstance().getRecipeList(i.getRecipeId()); if (!dwarfRecipes.contains(list) && !commonRecipes.contains(list)) { Util.handleIllegalPlayerAction( player, "Warning!! Player " + player.getName() + " of account " + player.getAccountName() + " tried to set recipe which he dont have.", Config.DEFAULT_PUNISH); return; } if (!i.addToList(createList)) { Util.handleIllegalPlayerAction( player, "Warning!! Character " + player.getName() + " of account " + player.getAccountName() + " tried to set price more than " + MAX_ADENA + " adena in Private Manufacture.", Config.DEFAULT_PUNISH); return; } } createList.setStoreName( player.getCreateList() != null ? player.getCreateList().getStoreName() : ""); player.setCreateList(createList); player.setPrivateStoreType(L2PcInstance.STORE_PRIVATE_MANUFACTURE); player.sitDown(); player.broadcastUserInfo(); player.sendPacket(new RecipeShopMsg(player)); player.broadcastPacket(new RecipeShopMsg(player)); }