Всем привет. Столкнулся с проблемой при заточке стигм. Распишу по пуктам, объяснить сложновато) 1) Забиваете все слоты стигмами, оригинальными. 2) Берете любую стигму, любого класса и точите до +1 3) Тпшаетесь в другую локацию или в релог 4) Вуаля, у вас есть скил другово класса или же скилы стигм которые вы не одели. Может кто помочь с этой фичей? капнул сервис заточки. Что тут можно добавить или поменять, чтобы "заблокировать" присвоение скилов. Спойлер public static void enchantStigmaAct(Player player, Item parentItem, Item targetItem, int currentEnchant, boolean result) { if (result) { currentEnchant++; } else { currentEnchant = 0; } if (!player.getInventory().decreaseByObjectId(parentItem.getObjectId(), 1)) { AuditLogger.info(player, "Possible enchant hack, can't remove 2nd stigma."); return; } targetItem.setEnchantLevel(currentEnchant); if (targetItem.isEquipped()) { player.getGameStats().updateStatsVisually(); } ItemPacketService.updateItemAfterInfoChange(player, targetItem); if (targetItem.isEquipped()) { player.getEquipment().setPersistentState(PersistentState.UPDATE_REQUIRED); } else { player.getInventory().setPersistentState(PersistentState.UPDATE_REQUIRED); } if (result) { Stigma stigmaInfo = targetItem.getItemTemplate().getStigma(); for (Stigma.StigmaSkill sSkill : stigmaInfo.getSkills()) { String sSkillStack = DataManager.SKILL_DATA.getSkillTemplate(sSkill.getSkillId()).getStack(); for (PlayerSkillEntry psSkill : player.getSkillList().getStigmaSkills()) { if (psSkill.getSkillTemplate().getStack().equals(sSkillStack)) { SkillLearnService.removeSkill(player, psSkill.getSkillId()); player.getEffectController().removeEffect(psSkill.getSkillId()); } } } player.getSkillList().deleteHiddenStigmaSilent(player); //TODO block enchant to the max skill lvl Integer realSkillId = DataManager.SKILL_TREE_DATA.getStigmaTree().get(player.getRace()).get(DataManager.SKILL_DATA.getSkillTemplate(stigmaInfo.getSkills().get(0).getSkillId()).getStack()).get(targetItem.getEnchantLevel() + 1); if (realSkillId != null) { player.getSkillList().addStigmaSkill(player, realSkillId, 1); } else { log.error("No have Stigma skill for enchanted stigma item."); } StigmaService.recheckHiddenStigma(player); PacketSendUtility.sendPacket(player, SM_SYSTEM_MESSAGE.STR_MSG_STIGMA_ENCHANT_SUCCESS(new DescriptionId(targetItem.getNameId()))); } else { PacketSendUtility.sendPacket(player, SM_SYSTEM_MESSAGE.STR_MSG_STIGMA_ENCHANT_FAIL(new DescriptionId(targetItem.getNameId()))); player.getInventory().decreaseByObjectId(targetItem.getObjectId(), 1); } }