well as we all know in interlude there is no config for blessed - crystal enchant rates...
you have to add them yourself.
here is the patch which is shared a couple of times here :
Index: trunk/gameserver/java/config/other.properties
===================================================================
--- trunk/gameserver/java/config/other.properties (revision 5)
+++ trunk/gameserver/java/config/other.properties (working copy)
@@ -135,4 +135,11 @@
AltSubClassWithoutQuests = True
+
+EnchantChanceWeaponCrystal = 100
+EnchantChanceArmorCrystal = 100
+EnchantChanceJewelryCrystal = 100
+EnchantChanceWeaponBlessed = 85
+EnchantChanceArmorBlessed = 85
+EnchantChanceJewelryBlessed = 85
\ No newline at end of file
Index: trunk/gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestEnchantItem.java
===================================================================
--- trunk/gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestEnchantItem.java (revision 2)
+++ trunk/gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestEnchantItem.java (working copy)
@@ -39,8 +39,10 @@
public final class RequestEnchantItem extends L2GameClientPacket
{
protected static final Logger _log = Logger.getLogger(Inventory.class.getName());
+ private static final int[] ENCHANT_SCROLLS = { 729, 730, 947, 948, 951, 952, 955, 956, 959, 960 };
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[] BLESSED_SCROLLS = { 6569, 6570, 6571, 6572, 6573, 6574, 6575, 6576, 6577, 6578 };
private int _objectId;
@@ -56,6 +58,13 @@
L2PcInstance activeChar = getClient().getActiveChar();
if (activeChar == null || _objectId == 0) return;
+ if (activeChar.isProcessingTransaction())
+ {
+ activeChar.sendPacket(new SystemMessage(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITION));
+ activeChar.setActiveEnchantItem(null);
+ return;
+ }
+
if (activeChar.isProcessingTransaction())
{
activeChar.sendPacket(new SystemMessage(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITION));
@@ -195,27 +204,96 @@
return;
}
- SystemMessage sm;
+ / SystemMessage sm = new
+ // SystemMessage(SystemMessageId.ENCHANT_SCROLL_CANCELLED);
+ // activeChar.sendPacket(sm);
+ SystemMessage sm;
+ int chance = 0;
+ int maxEnchantLevel = 0;
+ if (item.getItem().getType2() == L2Item.TYPE2_WEAPON)
+ {
+ maxEnchantLevel = Config.ENCHANT_MAX_WEAPON;
+ for (int scrollId : ENCHANT_SCROLLS)
+ {
+ if (scroll.getItemId() == scrollId)
+ {
+ chance = Config.ENCHANT_CHANCE_WEAPON;
+ break;
+ }
+ }
+ for (int scrollId : CRYSTAL_SCROLLS)
+ {
+ if (scroll.getItemId() == scrollId)
+ {
+ chance = Config.ENCHANT_CHANCE_WEAPON_CRYSTAL;
+
+ break;
+ }
+ }
+ for (int scrollId : BLESSED_SCROLLS)
+ {
+ if (scroll.getItemId() == scrollId)
+ {
+ chance = Config.ENCHANT_CHANCE_WEAPON_BLESSED;
+ break;
+ }
+ }
+ } else if (item.getItem().getType2() == L2Item.TYPE2_SHIELD_ARMOR)
+ {
+ maxEnchantLevel = Config.ENCHANT_MAX_ARMOR;
+ for (int scrollId : ENCHANT_SCROLLS)
+ {
+ if (scroll.getItemId() == scrollId)
+ {
+ chance = Config.ENCHANT_CHANCE_ARMOR;
+ break;
+ }
+ }
+ for (int scrollId : CRYSTAL_SCROLLS)
+ {
+ if (scroll.getItemId() == scrollId)
+ {
+ chance = Config.ENCHANT_CHANCE_ARMOR_CRYSTAL;
+ break;
+ }
+ }
+ for (int scrollId : BLESSED_SCROLLS)
+ {
+ if (scroll.getItemId() == scrollId)
+ {
+ chance = Config.ENCHANT_CHANCE_ARMOR_BLESSED;
+ break;
+ }
+ }
+ } else if (item.getItem().getType2() == L2Item.TYPE2_ACCESSORY)
+ {
+ maxEnchantLevel = Config.ENCHANT_MAX_JEWELRY;
+ for (int scrollId : ENCHANT_SCROLLS)
+ {
+ if (scroll.getItemId() == scrollId)
+ {
+ chance = Config.ENCHANT_CHANCE_JEWELRY;
+ break;
+ }
+ }
+ for (int scrollId : CRYSTAL_SCROLLS)
+ {
+ if (scroll.getItemId() == scrollId)
+ {
+ chance = Config.ENCHANT_CHANCE_JEWELRY_CRYSTAL;
+ break;
+ }
+ }
+ for (int scrollId : BLESSED_SCROLLS)
+ {
+ if (scroll.getItemId() == scrollId)
+ {
+ chance = Config.ENCHANT_CHANCE_JEWELRY_BLESSED;
+ break;
+ }
+ }
+ }
- 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.getEnchantLevel() < Config.ENCHANT_SAFE_MAX
|| (item.getItem().getBodyPart() == L2Item.SLOT_FULL_ARMOR
&& item.getEnchantLevel() < Config.ENCHANT_SAFE_MAX_FULL))
Index: trunk/gameserver/java/net/sf/l2j/Config.java
===================================================================
--- trunk/gameserver/java/net/sf/l2j/Config.java (revision 2)
+++ trunk/gameserver/java/net/sf/l2j/Config.java (working copy)
@@ -194,6 +194,14 @@
/** maximum level of safe enchantment for full body armor*/
public static int ENCHANT_SAFE_MAX_FULL;
+
+ /** Chance blessed-crystal enchants */
+ public static int ENCHANT_CHANCE_WEAPON_CRYSTAL;
+ public static int ENCHANT_CHANCE_ARMOR_CRYSTAL;
+ public static int ENCHANT_CHANCE_JEWELRY_CRYSTAL;
+ public static int ENCHANT_CHANCE_WEAPON_BLESSED;
+ public static int ENCHANT_CHANCE_ARMOR_BLESSED;
+ public static int ENCHANT_CHANCE_JEWELRY_BLESSED;
/** Lottery */
public static int ALT_LOTTERY_PRIZE;
@@ -924,6 +932,9 @@
ENCHANT_SAFE_MAX_FULL = Integer.parseInt(otherSettings.getProperty("EnchantSafeMaxFull", "4"));
+ ENCHANT_CHANCE_WEAPON_CRYSTAL = Integer.parseInt(otherSettings.getProperty("EnchantChanceWeaponCrystal", "100"));
+ ENCHANT_CHANCE_ARMOR_CRYSTAL = Integer.parseInt(otherSettings.getProperty("EnchantChanceArmorCrystal", "100"));
+ ENCHANT_CHANCE_JEWELRY_CRYSTAL = Integer.parseInt(otherSettings.getProperty("EnchantChanceJewelryCrystal", "100"));
+ ENCHANT_CHANCE_WEAPON_BLESSED = Integer.parseInt(otherSettings.getProperty("EnchantChanceWeaponBlessed", "85"));
+ ENCHANT_CHANCE_ARMOR_BLESSED = Integer.parseInt(otherSettings.getProperty("EnchantChanceArmorBlessed", "85"));
+ ENCHANT_CHANCE_JEWELRY_BLESSED = Integer.parseInt(otherSettings.getProperty("EnchantChanceJewelryBlessed", "85"));
+
PS : Credits : i do not remember
PS2: Apply the patch manually
PS3 :If you need anything else hit the pm button ;)