Jump to content

[Share] Progressive enchant


Recommended Posts

Index: java/com/l2jserver/Config.java

===================================================================

--- java/com/l2jserver/Config.java   (revision 4086)

+++ java/com/l2jserver/Config.java   (working copy)

@@ -915,6 +928,10 @@

   public static int ENCHANT_MAX_JEWELRY;

   public static int ENCHANT_SAFE_MAX;

   public static int ENCHANT_SAFE_MAX_FULL;

+   public static boolean ENCHANT_STEP_ENABLED;

+   public static String ENCHANT_STEP_MODE;

+   public static int ENCHANT_STEP_STATIC;

+   public static double ENCHANT_STEP_DYNAMIC;

   public static int AUGMENTATION_NG_SKILL_CHANCE;

   public static int AUGMENTATION_NG_GLOW_CHANCE;

   public static int AUGMENTATION_MID_SKILL_CHANCE;

@@ -1425,6 +1447,10 @@

               ENCHANT_MAX_JEWELRY = Integer.parseInt(Character.getProperty("EnchantMaxJewelry", "0"));

               ENCHANT_SAFE_MAX = Integer.parseInt(Character.getProperty("EnchantSafeMax", "3"));

               ENCHANT_SAFE_MAX_FULL = Integer.parseInt(Character.getProperty("EnchantSafeMaxFull", "4"));

+               ENCHANT_STEP_ENABLED = Boolean.parseBoolean(Character.getProperty("EnchantStepEnabled", "False"));

+               ENCHANT_STEP_MODE = Character.getProperty("EnchantStepMode", "static");

+               ENCHANT_STEP_STATIC = Integer.parseInt(Character.getProperty("EnchantStepStatic", "3"));

+               ENCHANT_STEP_DYNAMIC = Double.parseDouble(Character.getProperty("EnchantStepDynamic", "0.95"));

               AUGMENTATION_NG_SKILL_CHANCE = Integer.parseInt(Character.getProperty("AugmentationNGSkillChance", "15"));

               AUGMENTATION_NG_GLOW_CHANCE = Integer.parseInt(Character.getProperty("AugmentationNGGlowChance", "0"));

               AUGMENTATION_MID_SKILL_CHANCE = Integer.parseInt(Character.getProperty("AugmentationMidSkillChance", "30"));

@@ -2730,7 +2771,10 @@

      else if (pName.equalsIgnoreCase("EnchantMaxJewelry")) ENCHANT_MAX_JEWELRY = Integer.parseInt(pValue);

      else if (pName.equalsIgnoreCase("EnchantSafeMax")) ENCHANT_SAFE_MAX = Integer.parseInt(pValue);

      else if (pName.equalsIgnoreCase("EnchantSafeMaxFull")) ENCHANT_SAFE_MAX_FULL = Integer.parseInt(pValue);

+      else if (pName.equalsIgnoreCase("EnchantStepEnabled")) ENCHANT_STEP_ENABLED = Boolean.parseBoolean(pValue);

+      else if (pName.equalsIgnoreCase("EnchantStepMode")) ENCHANT_STEP_MODE = pValue;

+      else if (pName.equalsIgnoreCase("EnchantStepStatic")) ENCHANT_STEP_STATIC = Integer.parseInt(pValue);

+      else if (pName.equalsIgnoreCase("EnchantStepDynamic")) ENCHANT_STEP_DYNAMIC = Double.parseDouble(pValue);

      else if (pName.equalsIgnoreCase("AugmentationNGSkillChance")) AUGMENTATION_NG_SKILL_CHANCE = Integer.parseInt(pValue);

      else if (pName.equalsIgnoreCase("AugmentationNGGlowChance")) AUGMENTATION_NG_GLOW_CHANCE = Integer.parseInt(pValue);

      else if (pName.equalsIgnoreCase("AugmentationMidSkillChance")) AUGMENTATION_MID_SKILL_CHANCE = Integer.parseInt(pValue);

Index: java/com/l2jserver/gameserver/network/clientpackets/AbstractEnchantPacket.java

===================================================================

--- java/com/l2jserver/gameserver/network/clientpackets/AbstractEnchantPacket.java   (revision 4075)

+++ java/com/l2jserver/gameserver/network/clientpackets/AbstractEnchantPacket.java   (working copy)

@@ -181,11 +181,36 @@

         else

         {

            if (_isWeapon)

-               chance = Config.ENCHANT_CHANCE_WEAPON;

+               if (Config.ENCHANT_STEP_ENABLED)

+               {

+                  if (Config.ENCHANT_STEP_MODE == "static")

+                      chance = Config.ENCHANT_CHANCE_WEAPON-(Config.ENCHANT_STEP_STATIC*(enchantItem.getEnchantLevel()-Config.ENCHANT_SAFE_MAX));

+                  else if (Config.ENCHANT_STEP_MODE == "dynamic")

+                     chance = (int) Math.round(Config.ENCHANT_CHANCE_WEAPON*Math.pow(Config.ENCHANT_STEP_DYNAMIC,(enchantItem.getEnchantLevel()-Config.ENCHANT_SAFE_MAX)));

+               }

+               else

+                  chance = Config.ENCHANT_CHANCE_WEAPON;

            else if (isAccessory)

-               chance = Config.ENCHANT_CHANCE_JEWELRY;

+               if (Config.ENCHANT_STEP_ENABLED)

+               {

+                   if (Config.ENCHANT_STEP_MODE == "static")

+                       chance = Config.ENCHANT_CHANCE_JEWELRY-(Config.ENCHANT_STEP_STATIC*(enchantItem.getEnchantLevel()-Config.ENCHANT_SAFE_MAX));

+                   else if (Config.ENCHANT_STEP_MODE == "dynamic")

+                      chance = (int) Math.round(Config.ENCHANT_CHANCE_JEWELRY*Math.pow(Config.ENCHANT_STEP_DYNAMIC,(enchantItem.getEnchantLevel()-Config.ENCHANT_SAFE_MAX)));

+               }

+               else

+                   chance = Config.ENCHANT_CHANCE_JEWELRY;

+              

            else

-               chance = Config.ENCHANT_CHANCE_ARMOR;

+               if (Config.ENCHANT_STEP_ENABLED)

+               {

+                   if (Config.ENCHANT_STEP_MODE == "static")

+                       chance = Config.ENCHANT_CHANCE_ARMOR-(Config.ENCHANT_STEP_STATIC*(enchantItem.getEnchantLevel()-Config.ENCHANT_SAFE_MAX));

+                   else if (Config.ENCHANT_STEP_MODE == "dynamic")

+                      chance = (int) Math.round(Config.ENCHANT_CHANCE_ARMOR*Math.pow(Config.ENCHANT_STEP_DYNAMIC,(enchantItem.getEnchantLevel()-Config.ENCHANT_SAFE_MAX)));

+               }

+               else

+                   chance = Config.ENCHANT_CHANCE_ARMOR;

         }

 

         chance += _chanceAdd;

 

### Eclipse Workspace Patch 1.0

#P L2_GameServer

Index: java/config/Character.properties

===================================================================

--- java/config/Character.properties   (revision 4088)

+++ java/config/Character.properties   (working copy)

@@ -319,6 +319,22 @@

EnchantSafeMax = 3

EnchantSafeMaxFull = 4

 

+# Enable/Disable progressive enchanting system (experimental).

+EnchantStepEnabled = False

+# Progressive enchanting mode. Values allowed = static, dynamic

+EnchantStepMode = static

+# If EnchantStepMode = static:

+# Value in percent (%). Reduced from enchant rate on each next enchant.

+# Example: +3 safe enchant. EnchantChanceWeapon = 66. EnchantStep = 3

+#+4 = 66%, +5 = 63%, +7 = 60%, +8 = 57% etc.

+# If EnchantStepMode = dynamic:

+# enchant chance is multiplied by (EnchantStep^(item enchant level)-safe enchant)

+# for example, if enchant step is 0.95

+# +10 = 66*(0.95^(10-4))

+# it only starts to make a real difference after +10,

+# so it's useful for servers with high max enchant.

+EnchantStepStatic = 3

+EnchantStepDynamic = 0.95

 

# ---------------------------------------------------------------------------

# Augmenting

Link to comment
Share on other sites

Locked.

Next stupid action like this will lead to a 1-week ban.

Stop leeching already posted topics, especially without adding credits.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share



×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disbaled AdBlock