跳转到帖子
Facebook Instagram Twitter Youtube

Custom Enchant Skill List 安全强化技能


l2fater

已推荐帖子

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 

 

意见的链接
分享到其他站点

参与讨论

你可以现在发布并稍后注册。 如果你有帐户,现在就登录发布帖子。

游客
回帖…

×   粘贴为富文本.   粘贴为纯文本来代替

  只允许使用75个表情符号.

×   你的链接已自动嵌入.   显示为链接来代替

×   你之前的帖子已恢复.   清除编辑器

×   你无法直接粘贴图像。要从网址上传或插入图像。

天堂2中文开源社区L2FATER.CN

专注于玩家游戏体验的交流社区.

血玫瑰社区bbs.l2fater.cn

关于血玫瑰社区

Important Links

×
×
  • 创建新的...