I have a better option:
java/com/l2jserver/gameserver/network/clientpackets/AbstractEnchantPacket.java
### Eclipse Workspace Patch 1.0
#P L2J_Server
Index: java/com/l2jserver/gameserver/network/clientpackets/AbstractEnchantPacket.java
===================================================================
--- java/com/l2jserver/gameserver/network/clientpackets/AbstractEnchantPacket.java (revision 24)
+++ java/com/l2jserver/gameserver/network/clientpackets/AbstractEnchantPacket.java (working copy)
@@ -55,32 +55,6 @@
if (enchantItem == null)
return false;
- int type2 = enchantItem.getItem().getType2();
-
- // checking scroll type and configured maximum enchant level
- switch (type2)
- {
- // weapon scrolls can enchant only weapons
- case L2Item.TYPE2_WEAPON:
- if (!_isWeapon
- || (Config.ENCHANT_MAX_WEAPON > 0 && enchantItem.getEnchantLevel() >= Config.ENCHANT_MAX_WEAPON))
- return false;
- break;
- // armor scrolls can enchant only accessory and armors
- case L2Item.TYPE2_SHIELD_ARMOR:
- if (_isWeapon
- || (Config.ENCHANT_MAX_ARMOR > 0 && enchantItem.getEnchantLevel() >= Config.ENCHANT_MAX_ARMOR))
- return false;
- break;
- case L2Item.TYPE2_ACCESSORY:
- if (_isWeapon
- || (Config.ENCHANT_MAX_JEWELRY > 0 && enchantItem.getEnchantLevel() >= Config.ENCHANT_MAX_JEWELRY))
- return false;
- break;
- default:
- return false;
- }
-
// check for crystal types
if (_grade != enchantItem.getItem().getItemGradeSPlus())
return false;
@@ -202,56 +188,56 @@
// itemId, (isWeapon, isBlessed, isCrystal, isSafe, grade, max enchant level, chance increase, allowed item IDs)
// allowed items IDs must be sorted by ascending order
// Scrolls: Enchant Weapon
- _scrolls.put(729, new EnchantScroll(true, false, false, false, L2Item.CRYSTAL_A, 0, 0, null));
- _scrolls.put(947, new EnchantScroll(true, false, false, false, L2Item.CRYSTAL_B, 0, 0, null));
- _scrolls.put(951, new EnchantScroll(true, false, false, false, L2Item.CRYSTAL_C, 0, 0, null));
- _scrolls.put(955, new EnchantScroll(true, false, false, false, L2Item.CRYSTAL_D, 0, 0, null));
- _scrolls.put(959, new EnchantScroll(true, false, false, false, L2Item.CRYSTAL_S, 0, 0, null));
+ _scrolls.put(729, new EnchantScroll(true, false, false, true, L2Item.CRYSTAL_A, maxenchant(), 0, null));
+ _scrolls.put(947, new EnchantScroll(true, false, false, true, L2Item.CRYSTAL_B, maxenchant(), 0, null));
+ _scrolls.put(951, new EnchantScroll(true, false, false, true, L2Item.CRYSTAL_C, maxenchant(), 0, null));
+ _scrolls.put(955, new EnchantScroll(true, false, false, true, L2Item.CRYSTAL_D, maxenchant(), 0, null));
+ _scrolls.put(959, new EnchantScroll(true, false, false, true, L2Item.CRYSTAL_S, maxenchant(), 0, null));
// Scrolls: Enchant Armor
- _scrolls.put(730, new EnchantScroll(false, false, false, false, L2Item.CRYSTAL_A, 0, 0, null));
- _scrolls.put(948, new EnchantScroll(false, false, false, false, L2Item.CRYSTAL_B, 0, 0, null));
- _scrolls.put(952, new EnchantScroll(false, false, false, false, L2Item.CRYSTAL_C, 0, 0, null));
- _scrolls.put(956, new EnchantScroll(false, false, false, false, L2Item.CRYSTAL_D, 0, 0, null));
- _scrolls.put(960, new EnchantScroll(false, false, false, false, L2Item.CRYSTAL_S, 0, 0, null));
+ _scrolls.put(730, new EnchantScroll(false, false, false, true, L2Item.CRYSTAL_A, maxenchant(), 0, null));
+ _scrolls.put(948, new EnchantScroll(false, false, false, true, L2Item.CRYSTAL_B, maxenchant(), 0, null));
+ _scrolls.put(952, new EnchantScroll(false, false, false, true, L2Item.CRYSTAL_C, maxenchant(), 0, null));
+ _scrolls.put(956, new EnchantScroll(false, false, false, true, L2Item.CRYSTAL_D, maxenchant(), 0, null));
+ _scrolls.put(960, new EnchantScroll(false, false, false, true, L2Item.CRYSTAL_S, maxenchant(), 0, null));
// Blessed Scrolls: Enchant Weapon
- _scrolls.put(6569, new EnchantScroll(true, true, false, false, L2Item.CRYSTAL_A, 0, 0, null));
- _scrolls.put(6571, new EnchantScroll(true, true, false, false, L2Item.CRYSTAL_B, 0, 0, null));
- _scrolls.put(6573, new EnchantScroll(true, true, false, false, L2Item.CRYSTAL_C, 0, 0, null));
- _scrolls.put(6575, new EnchantScroll(true, true, false, false, L2Item.CRYSTAL_D, 0, 0, null));
- _scrolls.put(6577, new EnchantScroll(true, true, false, false, L2Item.CRYSTAL_S, 0, 0, null));
+ _scrolls.put(6569, new EnchantScroll(true, true, false, true, L2Item.CRYSTAL_A, blessedmaxenchant(), 0, null));
+ _scrolls.put(6571, new EnchantScroll(true, true, false, true, L2Item.CRYSTAL_B, blessedmaxenchant(), 0, null));
+ _scrolls.put(6573, new EnchantScroll(true, true, false, true, L2Item.CRYSTAL_C, blessedmaxenchant(), 0, null));
+ _scrolls.put(6575, new EnchantScroll(true, true, false, true, L2Item.CRYSTAL_D, blessedmaxenchant(), 0, null));
+ _scrolls.put(6577, new EnchantScroll(true, true, false, true, L2Item.CRYSTAL_S, blessedmaxenchant(), 0, null));
// Blessed Scrolls: Enchant Armor
- _scrolls.put(6570, new EnchantScroll(false, true, false, false, L2Item.CRYSTAL_A, 0, 0, null));
- _scrolls.put(6572, new EnchantScroll(false, true, false, false, L2Item.CRYSTAL_B, 0, 0, null));
- _scrolls.put(6574, new EnchantScroll(false, true, false, false, L2Item.CRYSTAL_C, 0, 0, null));
- _scrolls.put(6576, new EnchantScroll(false, true, false, false, L2Item.CRYSTAL_D, 0, 0, null));
- _scrolls.put(6578, new EnchantScroll(false, true, false, false, L2Item.CRYSTAL_S, 0, 0, null));
+ _scrolls.put(6570, new EnchantScroll(false, true, false, true, L2Item.CRYSTAL_A, blessedmaxenchant(), 0, null));
+ _scrolls.put(6572, new EnchantScroll(false, true, false, true, L2Item.CRYSTAL_B, blessedmaxenchant(), 0, null));
+ _scrolls.put(6574, new EnchantScroll(false, true, false, true, L2Item.CRYSTAL_C, blessedmaxenchant(), 0, null));
+ _scrolls.put(6576, new EnchantScroll(false, true, false, true, L2Item.CRYSTAL_D, blessedmaxenchant(), 0, null));
+ _scrolls.put(6578, new EnchantScroll(false, true, false, true, L2Item.CRYSTAL_S, blessedmaxenchant(), 0, null));
// Crystal Scrolls: Enchant Weapon
- _scrolls.put(731, new EnchantScroll(true, false, true, false, L2Item.CRYSTAL_A, 0, 0, null));
- _scrolls.put(949, new EnchantScroll(true, false, true, false, L2Item.CRYSTAL_B, 0, 0, null));
- _scrolls.put(953, new EnchantScroll(true, false, true, false, L2Item.CRYSTAL_C, 0, 0, null));
- _scrolls.put(957, new EnchantScroll(true, false, true, false, L2Item.CRYSTAL_D, 0, 0, null));
- _scrolls.put(961, new EnchantScroll(true, false, true, false, L2Item.CRYSTAL_S, 0, 0, null));
+ _scrolls.put(731, new EnchantScroll(true, false, true, true, L2Item.CRYSTAL_A, crystalmaxenchant(), 0, null));
+ _scrolls.put(949, new EnchantScroll(true, false, true, true, L2Item.CRYSTAL_B, crystalmaxenchant(), 0, null));
+ _scrolls.put(953, new EnchantScroll(true, false, true, true, L2Item.CRYSTAL_C, crystalmaxenchant(), 0, null));
+ _scrolls.put(957, new EnchantScroll(true, false, true, true, L2Item.CRYSTAL_D, crystalmaxenchant(), 0, null));
+ _scrolls.put(961, new EnchantScroll(true, false, true, true, L2Item.CRYSTAL_S, crystalmaxenchant(), 0, null));
// Crystal Scrolls: Enchant Armor
- _scrolls.put(732, new EnchantScroll(false, false, true, false, L2Item.CRYSTAL_A, 0, 0, null));
- _scrolls.put(950, new EnchantScroll(false, false, true, false, L2Item.CRYSTAL_B, 0, 0, null));
- _scrolls.put(954, new EnchantScroll(false, false, true, false, L2Item.CRYSTAL_C, 0, 0, null));
- _scrolls.put(958, new EnchantScroll(false, false, true, false, L2Item.CRYSTAL_D, 0, 0, null));
- _scrolls.put(962, new EnchantScroll(false, false, true, false, L2Item.CRYSTAL_S, 0, 0, null));
+ _scrolls.put(732, new EnchantScroll(false, false, true, true, L2Item.CRYSTAL_A, crystalmaxenchant(), 0, null));
+ _scrolls.put(950, new EnchantScroll(false, false, true, true, L2Item.CRYSTAL_B, crystalmaxenchant(), 0, null));
+ _scrolls.put(954, new EnchantScroll(false, false, true, true, L2Item.CRYSTAL_C, crystalmaxenchant(), 0, null));
+ _scrolls.put(958, new EnchantScroll(false, false, true, true, L2Item.CRYSTAL_D, crystalmaxenchant(), 0, null));
+ _scrolls.put(962, new EnchantScroll(false, false, true, true, L2Item.CRYSTAL_S, crystalmaxenchant(), 0, null));
// Weapon Enchant Scrolls
- _scrolls.put(20517, new EnchantScroll(true, false, false, false, L2Item.CRYSTAL_S, 0, 10, null));
- _scrolls.put(22006, new EnchantScroll(true, false, false, false, L2Item.CRYSTAL_D, 0, 10, null));
- _scrolls.put(22007, new EnchantScroll(true, false, false, false, L2Item.CRYSTAL_C, 0, 10, null));
- _scrolls.put(22008, new EnchantScroll(true, false, false, false, L2Item.CRYSTAL_B, 0, 10, null));
- _scrolls.put(22009, new EnchantScroll(true, false, false, false, L2Item.CRYSTAL_A, 0, 10, null));
+ _scrolls.put(20517, new EnchantScroll(true, false, false, true, L2Item.CRYSTAL_S, crystalmaxenchant(), 10, null));
+ _scrolls.put(22006, new EnchantScroll(true, false, false, true, L2Item.CRYSTAL_D, crystalmaxenchant(), 10, null));
+ _scrolls.put(22007, new EnchantScroll(true, false, false, true, L2Item.CRYSTAL_C, crystalmaxenchant(), 10, null));
+ _scrolls.put(22008, new EnchantScroll(true, false, false, true, L2Item.CRYSTAL_B, crystalmaxenchant(), 10, null));
+ _scrolls.put(22009, new EnchantScroll(true, false, false, true, L2Item.CRYSTAL_A, crystalmaxenchant(), 10, null));
// Armor Enchant Scrolls
- _scrolls.put(20518, new EnchantScroll(false, false, false, false, L2Item.CRYSTAL_S, 0, 10, null));
- _scrolls.put(22010, new EnchantScroll(false, false, false, false, L2Item.CRYSTAL_D, 0, 10, null));
- _scrolls.put(22011, new EnchantScroll(false, false, false, false, L2Item.CRYSTAL_C, 0, 10, null));
- _scrolls.put(22012, new EnchantScroll(false, false, false, false, L2Item.CRYSTAL_B, 0, 10, null));
- _scrolls.put(22013, new EnchantScroll(false, false, false, false, L2Item.CRYSTAL_A, 0, 10, null));
+ _scrolls.put(20518, new EnchantScroll(false, false, false, true, L2Item.CRYSTAL_S, crystalmaxenchant(), 10, null));
+ _scrolls.put(22010, new EnchantScroll(false, false, false, true, L2Item.CRYSTAL_D, crystalmaxenchant(), 10, null));
+ _scrolls.put(22011, new EnchantScroll(false, false, false, true, L2Item.CRYSTAL_C, crystalmaxenchant(), 10, null));
+ _scrolls.put(22012, new EnchantScroll(false, false, false, true, L2Item.CRYSTAL_B, crystalmaxenchant(), 10, null));
+ _scrolls.put(22013, new EnchantScroll(false, false, false, true, L2Item.CRYSTAL_A, crystalmaxenchant(), 10, null));
// Ancient Weapon Enchant Crystal
_scrolls.put(20519, new EnchantScroll(true, false, false, true, L2Item.CRYSTAL_S, 16, 10, null));
@@ -305,6 +291,22 @@
return _scrolls.get(scroll.getItemId());
}
+
+ private static int maxenchant()
+ {
+ return Config.MAX_ENCHANT;
+ }
+
+ private static int blessedmaxenchant()
+ {
+ return Config.BLESSED_MAX_ENCHANT;
+ }
+
+ private static int crystalmaxenchant()
+ {
+ return Config.CRYSTAL_MAX_ENCHANT;
+ }
+
/**
* Return enchant template for support item
*/
Configs:
# Max enchant with Simple scrolls ?
MaxEnchant = 8
# Max enchant with Blessed scrolls ?
BlessedMaxEnchant = 16
# Max enchant with Crystal scrolls ?
CrystalMaxEnchant = 26
Working on Freya(L2jServer)