| Setokaiba |
03-10-2013 11:28 AM |
Multiplos Enchant Rates
Descrição: Com isso você poderá configurar diversos tipos de rates de enchat de itens.
Código:
Index: trunk/L2_GameServer_It/java/config/other.properties
===================================================================
--- trunk/L2_GameServer_It/java/config/other.properties (revision 1061)
+++ trunk/L2_GameServer_It/java/config/other.properties (working copy)
@@ -41,6 +41,8 @@
# % Chance of succeding to enchant an item when it has a chance of breaking
EnchantChanceWeapon = 68
+EnchantChanceBlessed = 75
+EnchantChanceCrystal = 100
EnchantChanceArmor = 52
EnchantChanceJewelry = 54
# Enchant limit [default = 0 (unlimited)]
Index: trunk/L2_GameServer_It/java/net/sf/l2j/Config.java
===================================================================
--- trunk/L2_GameServer_It/java/net/sf/l2j/Config.java (revision 1061)
+++ trunk/L2_GameServer_It/java/net/sf/l2j/Config.java (working copy)
@@ -857,6 +857,8 @@
/** Chance that an item will succesfully be enchanted */
public static int ENCHANT_CHANCE_WEAPON;
+ public static int ENCHANT_CHANCE_BLESSED;
+ public static int ENCHANT_CHANCE_CRYSTAL;
public static int ENCHANT_CHANCE_ARMOR;
public static int ENCHANT_CHANCE_JEWELRY;
/** Maximum level of enchantment */
@@ -1390,6 +1392,8 @@
/* chance to enchant an item over +3 */
ENCHANT_CHANCE_WEAPON = Integer.parseInt(otherSettings.getProperty("EnchantChanceWeapon", "68"));
+ ENCHANT_CHANCE_BLESSED = Integer.parseInt(otherSettings.getProperty("EnchantChanceBlessed", "75"));
+ ENCHANT_CHANCE_CRYSTAL = Integer.parseInt(otherSettings.getProperty("EnchantChanceCrystal", "100"));
ENCHANT_CHANCE_ARMOR = Integer.parseInt(otherSettings.getProperty("EnchantChanceArmor", "52"));
ENCHANT_CHANCE_JEWELRY = Integer.parseInt(otherSettings.getProperty("EnchantChanceJewelry", "54"));
/* limit on enchant */
@@ -2116,6 +2120,8 @@
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("EnchantChanceBlessed")) ENCHANT_CHANCE_BLESSED = Integer.parseInt(pValue);
+ else if (pName.equalsIgnoreCase("EnchantChanceCrystal")) ENCHANT_CHANCE_CRYSTAL = 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);
Index: trunk/L2_GameServer_It/java/net/sf/l2j/gameserver/clientpackets/RequestEnchantItem.java
===================================================================
--- trunk/L2_GameServer_It/java/net/sf/l2j/gameserver/clientpackets/RequestEnchantItem.java (revision 1061)
+++ trunk/L2_GameServer_It/java/net/sf/l2j/gameserver/clientpackets/RequestEnchantItem.java (working copy)
@@ -41,7 +41,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[] 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;
protected void readImpl()
@@ -184,21 +189,63 @@
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)
+ {
+ chance = Config.ENCHANT_CHANCE_WEAPON;
+ maxEnchantLevel = Config.ENCHANT_MAX_WEAPON;
+ }
+ for (int blessedweaponscroll : BLESSED_WEAPON_SCROLLS)
+ if (scroll.getItemId() == blessedweaponscroll)
+ {
+ chance = Config.ENCHANT_CHANCE_BLESSED;
+ maxEnchantLevel = Config.ENCHANT_MAX_WEAPON;
+ }
+ for (int crystalweaponscroll : CRYSTAL_WEAPON_SCROLLS)
+ if (scroll.getItemId() == crystalweaponscroll)
+ {
+ chance = Config.ENCHANT_CHANCE_CRYSTAL;
+ maxEnchantLevel = Config.ENCHANT_MAX_WEAPON;
+ }
+ else if (item.getItem().getType2() == L2Item.TYPE2_SHIELD_ARMOR)
+ for (int normalarmorscroll : NORMAL_ARMOR_SCROLLS)
+ if (scroll.getItemId() == normalarmorscroll)
+ {
+ chance = Config.ENCHANT_CHANCE_ARMOR;
+ maxEnchantLevel = Config.ENCHANT_MAX_ARMOR;
+ }
+ for (int blessedarmorscroll : BLESSED_ARMOR_SCROLLS)
+ if (scroll.getItemId() == blessedarmorscroll)
+ {
+ chance = Config.ENCHANT_CHANCE_BLESSED;
+ maxEnchantLevel = Config.ENCHANT_MAX_ARMOR;
+ }
+ for (int crystalarmorscroll : CRYSTAL_ARMOR_SCROLLS)
+ if (scroll.getItemId() == crystalarmorscroll)
+ {
+ chance = Config.ENCHANT_CHANCE_CRYSTAL;
+ maxEnchantLevel = Config.ENCHANT_MAX_ARMOR;
+ }
+ else if (item.getItem().getType2() == L2Item.TYPE2_ACCESSORY)
+ for (int normaljewelscroll : NORMAL_ARMOR_SCROLLS)
+ if (scroll.getItemId() == normaljewelscroll)
+ {
+ chance = Config.ENCHANT_CHANCE_JEWELRY;
+ maxEnchantLevel = Config.ENCHANT_MAX_JEWELRY;
+ }
+ for (int blessedjewelscroll : BLESSED_ARMOR_SCROLLS)
+ if (scroll.getItemId() == blessedjewelscroll)
+ {
+ chance = Config.ENCHANT_CHANCE_BLESSED;
+ maxEnchantLevel = Config.ENCHANT_MAX_JEWELRY;
+ }
+ for (int crystaljewelscroll : CRYSTAL_ARMOR_SCROLLS)
+ if (scroll.getItemId() == crystaljewelscroll)
+ {
+ chance = Config.ENCHANT_CHANCE_CRYSTAL;
+ maxEnchantLevel = Config.ENCHANT_MAX_JEWELRY;
+ }
if (item.getEnchantLevel() < Config.ENCHANT_SAFE_MAX
|| (item.getItem().getBodyPart() == L2Item.SLOT_FULL_ARMOR
|