WhiteFace Posted May 27, 2010 Posted May 27, 2010 hey guys i am back again,well i dont know if this code has been shared before but i searched and didnt find it well here is the explanation: with this code u can set your custom rate enchant on every enchant you like,let me show you 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 With this u can change ur enchant,my opinion is better the static +# 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 i found it on l2jserver forum Enjoy Quote
Apithanos Posted June 1, 2010 Posted June 1, 2010 thanks for the share dude ;) vey usefull :) i will test it when i find time :) Quote
kas23 Posted June 3, 2010 Posted June 3, 2010 i tested but always is broke for +7..i have safe +6 and i make it static with 2 and enchant rate is 100%..after +6 it will be 98 right?and always broke :/ Quote
WhiteFace Posted June 4, 2010 Author Posted June 4, 2010 i tested but always is broke for +7..i have safe +6 and i make it static with 2 and enchant rate is 100%..after +6 it will be 98 right?and always broke :/ no it startes from +4 and it goes 3 down like +3 100% +4 97% +5 94% +6 91% +7 88% and bla bla if u want to change it see this line ENCHANT_STEP_STATIC = Integer.parseInt(Character.getProperty("EnchantStepStatic", "3")); and u can change 3 to 1 and it will go like 100% then 99% then 98% ;) Quote
agapitos Posted June 4, 2010 Posted June 4, 2010 its very good share already some svrs have it good job :) Quote
xMaylox Posted June 5, 2010 Posted June 5, 2010 no it startes from +4 and it goes 3 down like +3 100% +4 97% +5 94% +6 91% +7 88% and bla bla if u want to change it see this line ENCHANT_STEP_STATIC = Integer.parseInt(Character.getProperty("EnchantStepStatic", "3")); and u can change 3 to 1 and it will go like 100% then 99% then 98% ;) there is already a setting for this. no need to change the code. +# 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 Quote
mitsugoya Posted June 6, 2010 Posted June 6, 2010 I've got this problem too, my safe is +4 and it always broke at +5, i've checked the enchantitem.log and this is what is written in. [07 juin 0:18:50] Success, Character:Irini [268479840] Account:azerty IP:XX.XX.XX.XX, +1 Dynasty Phantom(1) [268480194], Scroll: Enchant Weapon (S)(94) [268479903], 100 [07 juin 0:18:55] Success, Character:Irini [268479840] Account:azerty IP:XX.XX.XX.XX, +2 Dynasty Phantom(1) [268480194], Scroll: Enchant Weapon (S)(93) [268479903], 100 [07 juin 0:19:00] Success, Character:Irini [268479840] Account:azerty IP:XX.XX.XX.XX, +3 Dynasty Phantom(1) [268480194], Scroll: Enchant Weapon (S)(92) [268479903], 100 [07 juin 0:19:05] Success, Character:Irini [268479840] Account:azerty IP:XX.XX.XX.XX, +4 Dynasty Phantom(1) [268480194], Scroll: Enchant Weapon (S)(91) [268479903], 100 [07 juin 0:19:10] Blessed Fail, Character:Irini [268479840] Account:azerty IP:XX.XX.XX.XX, Dynasty Phantom(1) [268480194], Blessed Scroll: Enchant Weapon (S)(48) [268479920], 0 As you can see, at +5 the enchant rate is 0% success. Any idea to fix it ? Thx by advance Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.