Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ### Eclipse Workspace Patch 1.0
- #P aCis
- Index: gameserver/java/net/sf/l2j/Config.java
- ===================================================================
- --- gameserver/java/net/sf/l2j/Config.java (revision 90)
- +++ gameserver/java/net/sf/l2j/Config.java (working copy)
- @@ -34,6 +34,8 @@
- import java.util.logging.Logger;
- import javolution.util.FastList;
- +import javolution.util.FastMap;
- +import javolution.text.TypeFormat;
- import net.sf.l2j.util.StringUtil;
- /**
- @@ -322,9 +324,17 @@
- public static int ALT_GAME_FREIGHT_PRICE;
- /** Enchant */
- - public static int ENCHANT_CHANCE_WEAPON;
- - public static int ENCHANT_CHANCE_ARMOR;
- - public static int ENCHANT_CHANCE_JEWELRY;
- + public final static FastMap<Integer, Integer> NORMAL_WEAPON_ENCHANT_LEVEL = new FastMap<Integer, Integer>();
- + public final static FastMap<Integer, Integer> BLESS_WEAPON_ENCHANT_LEVEL = new FastMap<Integer, Integer>();
- + public final static FastMap<Integer, Integer> CRYTAL_WEAPON_ENCHANT_LEVEL = new FastMap<Integer, Integer>();
- +
- + public final static FastMap<Integer, Integer> NORMAL_ARMOR_ENCHANT_LEVEL = new FastMap<Integer, Integer>();
- + public final static FastMap<Integer, Integer> BLESS_ARMOR_ENCHANT_LEVEL = new FastMap<Integer, Integer>();
- + public final static FastMap<Integer, Integer> CRYSTAL_ARMOR_ENCHANT_LEVEL = new FastMap<Integer, Integer>();
- +
- + public final static FastMap<Integer, Integer> NORMAL_JEWELRY_ENCHANT_LEVEL = new FastMap<Integer, Integer>();
- + public final static FastMap<Integer, Integer> BLESS_JEWELRY_ENCHANT_LEVEL = new FastMap<Integer, Integer>();
- + public final static FastMap<Integer, Integer> CRYSTAL_JEWELRY_ENCHANT_LEVEL = new FastMap<Integer, Integer>();
- public static int ENCHANT_MAX_WEAPON;
- public static int ENCHANT_MAX_ARMOR;
- public static int ENCHANT_MAX_JEWELRY;
- @@ -917,9 +927,99 @@
- ALT_GAME_FREIGHTS = Boolean.parseBoolean(playersSettings.getProperty("AltGameFreights", "False"));
- ALT_GAME_FREIGHT_PRICE = Integer.parseInt(playersSettings.getProperty("AltGameFreightPrice", "1000"));
- - ENCHANT_CHANCE_WEAPON = Integer.parseInt(playersSettings.getProperty("EnchantChanceWeapon", "66"));
- - ENCHANT_CHANCE_ARMOR = Integer.parseInt(playersSettings.getProperty("EnchantChanceArmor", "66"));
- - ENCHANT_CHANCE_JEWELRY = Integer.parseInt(playersSettings.getProperty("EnchantChanceJewelry", "66"));
- + String[] propertySplit = playersSettings.getProperty("NormalWeaponEnchantLevel", "").split(";");
- + for(String readData : propertySplit)
- + {
- + String[] writeData = readData.split(",");
- + if(writeData.length != 2) continue;
- + try {
- + NORMAL_WEAPON_ENCHANT_LEVEL.put(TypeFormat.parseInt(writeData[0]), TypeFormat.parseInt(writeData[1]));
- + } catch(NumberFormatException nfe) {}
- + }
- +
- + propertySplit = playersSettings.getProperty("BlessWeaponEnchantLevel", "").split(";");
- + for(String readData : propertySplit)
- + {
- + String[] writeData = readData.split(",");
- + if(writeData.length != 2) continue;
- + try {
- + BLESS_WEAPON_ENCHANT_LEVEL.put(TypeFormat.parseInt(writeData[0]), TypeFormat.parseInt(writeData[1]));
- + } catch(NumberFormatException nfe) {}
- + }
- +
- + propertySplit = playersSettings.getProperty("CrystalWeaponEnchantLevel", "").split(";");
- + for(String readData : propertySplit)
- + {
- + String[] writeData = readData.split(",");
- + if(writeData.length != 2) continue;
- + try {
- + CRYTAL_WEAPON_ENCHANT_LEVEL.put(TypeFormat.parseInt(writeData[0]), TypeFormat.parseInt(writeData[1]));
- + } catch(NumberFormatException nfe) {}
- + }
- +
- + ////
- +
- + propertySplit = playersSettings.getProperty("NormalArmorEnchantLevel", "").split(";");
- + for(String readData : propertySplit)
- + {
- + String[] writeData = readData.split(",");
- + if(writeData.length != 2) continue;
- + try {
- + NORMAL_ARMOR_ENCHANT_LEVEL.put(TypeFormat.parseInt(writeData[0]), TypeFormat.parseInt(writeData[1]));
- + } catch(NumberFormatException nfe) {}
- + }
- +
- + propertySplit = playersSettings.getProperty("BlessArmorEnchantLevel", "").split(";");
- + for(String readData : propertySplit)
- + {
- + String[] writeData = readData.split(",");
- + if(writeData.length != 2) continue;
- + try {
- + BLESS_ARMOR_ENCHANT_LEVEL.put(TypeFormat.parseInt(writeData[0]), TypeFormat.parseInt(writeData[1]));
- + } catch(NumberFormatException nfe) {}
- + }
- +
- + propertySplit = playersSettings.getProperty("CrystalArmorEnchantLevel", "").split(";");
- + for(String readData : propertySplit)
- + {
- + String[] writeData = readData.split(",");
- + if(writeData.length != 2) continue;
- + try {
- + CRYSTAL_ARMOR_ENCHANT_LEVEL.put(TypeFormat.parseInt(writeData[0]), TypeFormat.parseInt(writeData[1]));
- + } catch(NumberFormatException nfe) {}
- + }
- +
- + ////
- +
- + propertySplit = playersSettings.getProperty("NormalJewelryEnchantLevel", "").split(";");
- + for(String readData : propertySplit)
- + {
- + String[] writeData = readData.split(",");
- + if(writeData.length != 2) continue;
- + try {
- + NORMAL_JEWELRY_ENCHANT_LEVEL.put(TypeFormat.parseInt(writeData[0]), TypeFormat.parseInt(writeData[1]));
- + } catch(NumberFormatException nfe) {}
- + }
- +
- + propertySplit = playersSettings.getProperty("BlessJewelryEnchantLevel", "").split(";");
- + for(String readData : propertySplit)
- + {
- + String[] writeData = readData.split(",");
- + if(writeData.length != 2) continue;
- + try {
- + BLESS_JEWELRY_ENCHANT_LEVEL.put(TypeFormat.parseInt(writeData[0]), TypeFormat.parseInt(writeData[1]));
- + } catch(NumberFormatException nfe) {}
- + }
- +
- + propertySplit = playersSettings.getProperty("CrystalJewelryEnchantLevel", "").split(";");
- + for(String readData : propertySplit)
- + {
- + String[] writeData = readData.split(",");
- + if(writeData.length != 2) continue;
- + try {
- + CRYSTAL_JEWELRY_ENCHANT_LEVEL.put(TypeFormat.parseInt(writeData[0]), TypeFormat.parseInt(writeData[1]));
- + } catch(NumberFormatException nfe) {}
- + }
- ENCHANT_MAX_WEAPON = Integer.parseInt(playersSettings.getProperty("EnchantMaxWeapon", "16"));
- ENCHANT_MAX_ARMOR = Integer.parseInt(playersSettings.getProperty("EnchantMaxArmor", "16"));
- ENCHANT_MAX_JEWELRY = Integer.parseInt(playersSettings.getProperty("EnchantMaxJewelry", "16"));
- @@ -1375,9 +1475,9 @@
- else if (pName.equalsIgnoreCase("MaximumWarehouseSlotsForClan")) WAREHOUSE_SLOTS_CLAN = Integer.parseInt(pValue);
- else if (pName.equalsIgnoreCase("MaximumFreightSlots")) FREIGHT_SLOTS = Integer.parseInt(pValue);
- - else if (pName.equalsIgnoreCase("EnchantChanceWeapon")) ENCHANT_CHANCE_WEAPON = Integer.parseInt(pValue);
- - else if (pName.equalsIgnoreCase("EnchantChanceArmor")) ENCHANT_CHANCE_ARMOR = Integer.parseInt(pValue);
- - else if (pName.equalsIgnoreCase("EnchantChanceJewelry")) ENCHANT_CHANCE_JEWELRY = Integer.parseInt(pValue);
- + // else if (pName.equalsIgnoreCase("EnchantChanceWeapon")) ENCHANT_CHANCE_WEAPON = Integer.parseInt(pValue);
- + // else if (pName.equalsIgnoreCase("EnchantChanceArmor")) ENCHANT_CHANCE_ARMOR = Integer.parseInt(pValue);
- + // else if (pName.equalsIgnoreCase("EnchantChanceJewelry")) ENCHANT_CHANCE_JEWELRY = Integer.parseInt(pValue);
- else if (pName.equalsIgnoreCase("EnchantMaxWeapon")) ENCHANT_MAX_WEAPON = Integer.parseInt(pValue);
- else if (pName.equalsIgnoreCase("EnchantMaxArmor")) ENCHANT_MAX_ARMOR = Integer.parseInt(pValue);
- else if (pName.equalsIgnoreCase("EnchantMaxJewelry")) ENCHANT_MAX_JEWELRY = Integer.parseInt(pValue);
- Index: gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestEnchantItem.java
- ===================================================================
- --- gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestEnchantItem.java (revision 90)
- +++ gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestEnchantItem.java (working copy)
- @@ -40,7 +40,13 @@
- {
- protected static final Logger _log = Logger.getLogger(Inventory.class.getName());
- private static final String _C__58_REQUESTENCHANTITEM = "[C] 58 RequestEnchantItem";
- - private static final int[] CRYSTAL_SCROLLS = { 731, 732, 949, 950, 953, 954, 957, 958, 961, 962 };
- + private static final int[] CRYSTAL_SCROLLS = { 731, 732, 949, 950, 953, 954, 957, 958, 961, 962 };
- + private static final int[] NORMAL_WEAPON_SCROLLS = { 729, 947, 951, 955, 959 };
- + private static final int[] BLESSED_WEAPON_SCROLLS = { 6569, 6571, 6573, 6575, 6577 };
- + private static final int[] CRYSTAL_WEAPON_SCROLLS = { 731, 949, 953, 957, 961 };
- + private static final int[] NORMAL_ARMOR_SCROLLS = { 730, 948, 952, 956, 960 };
- + private static final int[] BLESSED_ARMOR_SCROLLS = { 6570, 6572, 6574, 6576, 6578 };
- + private static final int[] CRYSTAL_ARMOR_SCROLLS = { 732, 950, 954, 958, 962 };
- private int _objectId;
- @@ -200,21 +206,150 @@
- int chance = 0;
- int maxEnchantLevel = 0;
- - if (item.getItem().getType2() == L2Item.TYPE2_WEAPON)
- - {
- - chance = Config.ENCHANT_CHANCE_WEAPON;
- - maxEnchantLevel = Config.ENCHANT_MAX_WEAPON;
- - }
- - else if (item.getItem().getType2() == L2Item.TYPE2_SHIELD_ARMOR)
- - {
- - chance = Config.ENCHANT_CHANCE_ARMOR;
- - maxEnchantLevel = Config.ENCHANT_MAX_ARMOR;
- - }
- - else if (item.getItem().getType2() == L2Item.TYPE2_ACCESSORY)
- - {
- - chance = Config.ENCHANT_CHANCE_JEWELRY;
- - maxEnchantLevel = Config.ENCHANT_MAX_JEWELRY;
- - }
- + if(item.getItem().getType2() == L2Item.TYPE2_WEAPON)
- + {
- + for(int normalweaponscroll : NORMAL_WEAPON_SCROLLS)
- + {
- + if(scroll.getItemId() == normalweaponscroll)
- + {
- + if(item.getEnchantLevel() + 1 > Config.NORMAL_WEAPON_ENCHANT_LEVEL.size())
- + {
- + chance = Config.NORMAL_WEAPON_ENCHANT_LEVEL.get(Config.NORMAL_WEAPON_ENCHANT_LEVEL.size());
- + }
- + else
- + {
- + chance = Config.NORMAL_WEAPON_ENCHANT_LEVEL.get(item.getEnchantLevel() + 1);
- + }
- + maxEnchantLevel = Config.ENCHANT_MAX_WEAPON;
- + }
- + }
- + for(int blessedweaponscroll : BLESSED_WEAPON_SCROLLS)
- + {
- + if(scroll.getItemId() == blessedweaponscroll)
- + {
- + if(item.getEnchantLevel() + 1 > Config.BLESS_WEAPON_ENCHANT_LEVEL.size())
- + {
- + chance = Config.BLESS_WEAPON_ENCHANT_LEVEL.get(Config.BLESS_WEAPON_ENCHANT_LEVEL.size());
- + }
- + else
- + {
- + chance = Config.BLESS_WEAPON_ENCHANT_LEVEL.get(item.getEnchantLevel() + 1);
- + }
- + maxEnchantLevel = Config.ENCHANT_MAX_WEAPON;
- + }
- + }
- + for(int crystalweaponscroll : CRYSTAL_WEAPON_SCROLLS)
- + {
- + if(scroll.getItemId() == crystalweaponscroll)
- + {
- + if(item.getEnchantLevel() + 1 > Config.CRYTAL_WEAPON_ENCHANT_LEVEL.size())
- + {
- + chance = Config.CRYTAL_WEAPON_ENCHANT_LEVEL.get(Config.CRYTAL_WEAPON_ENCHANT_LEVEL.size());
- + }
- + else
- + {
- + chance = Config.CRYTAL_WEAPON_ENCHANT_LEVEL.get(item.getEnchantLevel() + 1);
- + }
- + maxEnchantLevel = Config.ENCHANT_MAX_WEAPON;
- + }
- + }
- + }
- + else if(item.getItem().getType2() == L2Item.TYPE2_SHIELD_ARMOR)
- + {
- + for(int normalarmorscroll : NORMAL_ARMOR_SCROLLS)
- + {
- + if(scroll.getItemId() == normalarmorscroll)
- + {
- + if(item.getEnchantLevel() + 1 > Config.NORMAL_ARMOR_ENCHANT_LEVEL.size())
- + {
- + chance = Config.NORMAL_ARMOR_ENCHANT_LEVEL.get(Config.NORMAL_ARMOR_ENCHANT_LEVEL.size());
- + }
- + else
- + {
- + chance = Config.NORMAL_ARMOR_ENCHANT_LEVEL.get(item.getEnchantLevel() + 1);
- + }
- + maxEnchantLevel = Config.ENCHANT_MAX_ARMOR;
- + }
- + }
- + for(int blessedarmorscroll : BLESSED_ARMOR_SCROLLS)
- + {
- + if(scroll.getItemId() == blessedarmorscroll)
- + {
- + if(item.getEnchantLevel() + 1 > Config.BLESS_ARMOR_ENCHANT_LEVEL.size())
- + {
- + chance = Config.BLESS_ARMOR_ENCHANT_LEVEL.get(Config.BLESS_ARMOR_ENCHANT_LEVEL.size());
- + }
- + else
- + {
- + chance = Config.BLESS_ARMOR_ENCHANT_LEVEL.get(item.getEnchantLevel() + 1);
- + }
- + maxEnchantLevel = Config.ENCHANT_MAX_ARMOR;
- + }
- + }
- + for(int crystalarmorscroll : CRYSTAL_ARMOR_SCROLLS)
- + {
- + if(scroll.getItemId() == crystalarmorscroll)
- + {
- + if(item.getEnchantLevel() + 1 > Config.CRYSTAL_ARMOR_ENCHANT_LEVEL.size())
- + {
- + chance = Config.CRYSTAL_ARMOR_ENCHANT_LEVEL.get(Config.CRYSTAL_ARMOR_ENCHANT_LEVEL.size());
- + }
- + else
- + {
- + chance = Config.CRYSTAL_ARMOR_ENCHANT_LEVEL.get(item.getEnchantLevel() + 1);
- + }
- + maxEnchantLevel = Config.ENCHANT_MAX_ARMOR;
- + }
- + }
- + }
- + else if(item.getItem().getType2() == L2Item.TYPE2_ACCESSORY)
- + {
- + for(int normaljewelscroll : NORMAL_ARMOR_SCROLLS)
- + {
- + if(scroll.getItemId() == normaljewelscroll)
- + {
- + if(item.getEnchantLevel() + 1 > Config.NORMAL_JEWELRY_ENCHANT_LEVEL.size())
- + {
- + chance = Config.NORMAL_JEWELRY_ENCHANT_LEVEL.get(Config.NORMAL_JEWELRY_ENCHANT_LEVEL.size());
- + }
- + else
- + {
- + chance = Config.NORMAL_JEWELRY_ENCHANT_LEVEL.get(item.getEnchantLevel() + 1);
- + }
- + maxEnchantLevel = Config.ENCHANT_MAX_JEWELRY;
- + }
- + }
- + for(int blessedjewelscroll : BLESSED_ARMOR_SCROLLS)
- + {
- + if(scroll.getItemId() == blessedjewelscroll)
- + {
- + if(item.getEnchantLevel() + 1 > Config.BLESS_JEWELRY_ENCHANT_LEVEL.size())
- + {
- + chance = Config.BLESS_JEWELRY_ENCHANT_LEVEL.get(Config.BLESS_JEWELRY_ENCHANT_LEVEL.size());
- + }
- + else
- + {
- + chance = Config.BLESS_JEWELRY_ENCHANT_LEVEL.get(item.getEnchantLevel() + 1);
- + }
- + maxEnchantLevel = Config.ENCHANT_MAX_JEWELRY;
- + }
- + }
- + for(int crystaljewelscroll : CRYSTAL_ARMOR_SCROLLS)
- + {
- + if(scroll.getItemId() == crystaljewelscroll)
- + {
- + if(item.getEnchantLevel() + 1 > Config.CRYSTAL_JEWELRY_ENCHANT_LEVEL.size())
- + {
- + chance = Config.CRYSTAL_JEWELRY_ENCHANT_LEVEL.get(Config.CRYSTAL_JEWELRY_ENCHANT_LEVEL.size());
- + }
- + else
- + {
- + chance = Config.CRYSTAL_JEWELRY_ENCHANT_LEVEL.get(item.getEnchantLevel() + 1);
- + }
- + maxEnchantLevel = Config.ENCHANT_MAX_JEWELRY;
- + }
- + }
- + }
- if (item.getEnchantLevel() < Config.ENCHANT_SAFE_MAX
- || (item.getItem().getBodyPart() == L2Item.SLOT_FULL_ARMOR
- Index: gameserver/config/players.properties
- ===================================================================
- --- gameserver/config/players.properties (revision 90)
- +++ gameserver/config/players.properties (working copy)
- @@ -77,10 +77,35 @@
- #=============================================================
- # Enchant
- #=============================================================
- -# % Chance of succeding to enchant an item when it has a chance of breaking
- -EnchantChanceWeapon = 66
- -EnchantChanceArmor = 66
- -EnchantChanceJewelry = 66
- +#-------------------------------------------------------------
- +# Chance of Normal enchant scroll
- +#-------------------------------------------------------------
- +# Weapon
- +NormalWeaponEnchantLevel = 1,100;2,100;3,100;4,96;5,92;6,88;7,84;8,80;9,76;10,72;11,68;12,64;13,60;14,56;15,62;16,58;
- +# Armor
- +NormalArmorEnchantLevel = 1,100;2,100;3,100;4,96;5,92;6,88;7,84;8,80;9,76;10,72;11,68;12,64;13,60;14,56;15,62;16,58;
- +# Jewelry
- +NormalJewelryEnchantLevel = 1,100;2,100;3,100;4,95;5,90;6,85;7,80;8,75;9,70;10,65;11,60;12,55;13,50;14,45;15,40;16,35;
- +
- +#-------------------------------------------------------------
- +# Chance bless enchant scroll
- +#-------------------------------------------------------------
- +# Weapon
- +BlessWeaponEnchantLevel = 1,100;2,100;3,100;4,97;5,94;6,91;7,88;8,85;9,82;10,79;11,76;12,73;13,70;14,67;15,64;16,61;
- +# Armor
- +BlessArmorEnchantLevel = 1,100;2,100;3,100;4,97;5,94;6,91;7,88;8,85;9,82;10,79;11,76;12,73;13,70;14,67;15,64;16,61;
- +# Jewelry
- +BlessJewelryEnchantLevel = 1,100;2,100;3,100;4,96;5,92;6,88;7,84;8,80;9,76;10,72;11,68;12,64;13,60;14,56;15,62;16,58;
- +
- +#-------------------------------------------------------------
- +# Chance crystal scroll
- +#-------------------------------------------------------------
- +# Weapon
- +CrystalWeaponEnchantLevel = 1,100;2,100;3,100;4,98;5,96;6,94;7,92;8,90;9,88;10,86;11,84;12,82;13,80;14,78;15,76;16,74;
- +# Armor
- +CrystalArmorEnchantLevel = 1,100;2,100;3,100;4,98;5,96;6,94;7,92;8,90;9,88;10,86;11,84;12,82;13,80;14,78;15,76;16,74;
- +# Jewelry
- +CrystalJewelryEnchantLevel = 1,100;2,100;3,100;4,97;5,94;6,91;7,88;8,85;9,82;10,79;11,76;12,73;13,70;14,67;15,64;16,61;
- # Enchant limit [default = 16], 0 =unlimited
- EnchantMaxWeapon = 16
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement