l2fater 发布于2021年12月15日 08:27 分享 发布于2021年12月15日 08:27 https://ghostbin.com/HrVef ### Eclipse Workspace Patch 1.0 #P aCis_gameserver Index: java/net/sf/l2j/gameserver/network/clientpackets/RequestExEnchantSkillInfo.java =================================================================== --- java/net/sf/l2j/gameserver/network/clientpackets/RequestExEnchantSkillInfo.java (revision 7) +++ java/net/sf/l2j/gameserver/network/clientpackets/RequestExEnchantSkillInfo.java (working copy) @@ -84,7 +84,9 @@ return; // Send ExEnchantSkillInfo packet. - ExEnchantSkillInfo esi = new ExEnchantSkillInfo(_skillId, _skillLevel, data.getCostSp(), data.getCostExp(), data.getRate(activeChar.getLevel())); + int fElem = 100 + Config.SAFE_ENCHANT; + int sElem = 140 + Config.SAFE_ENCHANT; + ExEnchantSkillInfo esi = new ExEnchantSkillInfo(_skillId, _skillLevel, data.getCostSp(), data.getCostExp(), (activeChar.isNoble() && ((_skillLevel > 130 && _skillLevel <= sElem) || (_skillLevel <= fElem))) ? 100 : data.getRate(activeChar.getLevel())); if (Config.ES_SP_BOOK_NEEDED) if (data.getItemId() != 0 && data.getItemCount() != 0) esi.addRequirement(4, data.getItemId(), data.getItemCount(), 0); Index: java/net/sf/l2j/Config.java =================================================================== --- java/net/sf/l2j/Config.java (revision 7) +++ java/net/sf/l2j/Config.java (working copy) @@ -52,6 +52,7 @@ public static final String SIEGE_FILE = "./config/siege.properties"; public static final String PARTY_EVENT_FILE = "./config/PartyEvent.properties"; public static final String VOTE_MANAGER_FILE = "./config/VoteManager.properties"; + public static final String ENCHANT_SKILL_FILE = "./config/CustomEnchantSkills.properties"; /** VoteManager Settings */ @@ -107,6 +108,10 @@ public static boolean ALT_MEMBERS_CAN_WITHDRAW_FROM_CLANWH; public static boolean REMOVE_CASTLE_CIRCLETS; + /** Enchant Skills */ + public static int SAFE_ENCHANT; + public static boolean REDUCE_BY_ONE; + /** Manor */ public static int ALT_MANOR_REFRESH_TIME; public static int ALT_MANOR_REFRESH_MIN; @@ -1056,6 +1061,12 @@ RED_RAID_MSG = ptEvent.getProperty("RedRaidMessage","And remember!! Your enemies are noobs! Go Go Go!"); } + private static final void loadEnchantSkills() + { + final ExProperties eSkills = initProperties(ENCHANT_SKILL_FILE); + SAFE_ENCHANT = eSkills.getProperty("SkillSafeEnchantMax", 15); + REDUCE_BY_ONE = eSkills.getProperty("ReduceEnchant", false); + } /** * Loads NPC settings.<br> * Such as champion monsters, NPC buffer, class master, wyvern, raid bosses and grand bosses, AI. @@ -1512,6 +1523,9 @@ // server settings loadServer(); + + // Enchant Skills + loadEnchantSkills(); } public static final void loadLoginServer() Index: java/net/sf/l2j/gameserver/network/clientpackets/RequestExEnchantSkill.java =================================================================== --- java/net/sf/l2j/gameserver/network/clientpackets/RequestExEnchantSkill.java (revision 7) +++ java/net/sf/l2j/gameserver/network/clientpackets/RequestExEnchantSkill.java (working copy) @@ -121,7 +121,9 @@ activeChar.removeExpAndSp(data.getCostExp(), data.getCostSp()); // Try to enchant skill. - if (Rnd.get(100) <= data.getRate(activeChar.getLevel())) + int fElem = 100 + Config.SAFE_ENCHANT; + int sElem = 140 + Config.SAFE_ENCHANT; + if ((activeChar.isNoble() && ((_skillLevel > 130 && _skillLevel <= sElem) || (_skillLevel <= fElem))) ? true : Rnd.get(100) <= data.getRate(activeChar.getLevel())) { activeChar.addSkill(skill, true); activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_SUCCEEDED_IN_ENCHANTING_THE_SKILL_S1).addSkillName(_skillId, _skillLevel)); @@ -131,7 +133,13 @@ activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_FAILED_TO_ENCHANT_THE_SKILL_S1).addSkillName(_skillId, _skillLevel)); if (_skillLevel > 100) { - _skillLevel = baseLvl; + if (Config.REDUCE_BY_ONE && activeChar.isNoble()) + { + if (_skillLevel > 140 || _skillLevel < 130) + _skillLevel-=2; + } + else + _skillLevel = baseLvl; activeChar.addSkill(SkillTable.getInstance().getInfo(_skillId, _skillLevel), true); } } CustomEnchantSkills.properties # ================================================================ # Enchant Skills setting # ================================================================ #If the char meet the conditions will enchant with 100% success rate #Till the this value #default 15 SkillSafeEnchantMax = 10 #If this is true and the enchant will fail , the skill enchantment will lost 1 enchant ReduceEnchant = true 引用 意见的链接 分享到其他站点 更多分享选项...
已推荐帖子
参与讨论
你可以现在发布并稍后注册。 如果你有帐户,现在就登录发布帖子。