rendered paste bodyIndex: D:/Documents and Settings/Administrator/My Documents/workspace/L2_GameServer_Commit/java/net/sf/l2j/gameserver/clientpackets/RequestEnchantItem.java
===================================================================
--- D:/Documents and Settings/Administrator/My Documents/workspace/L2_GameServer_Commit/java/net/sf/l2j/gameserver/clientpackets/RequestEnchantItem.java (revision 1874)
+++ D:/Documents and Settings/Administrator/My Documents/workspace/L2_GameServer_Commit/java/net/sf/l2j/gameserver/clientpackets/RequestEnchantItem.java (working copy)
@@ -57,7 +57,7 @@
L2ItemInstance scroll = activeChar.getActiveEnchantItem();
if (item == null || scroll == null)
{
- activeChar.setActiveEnchantItem(null);
+ activeChar.setActiveEnchantItem(null);
return;
}
@@ -95,10 +95,18 @@
return;
}
}
+
int itemType2 = item.getItem().getType2();
boolean enchantItem = false;
boolean blessedScroll = false;
int crystalId = 0;
+
+ if (item.getEnchantLevel() > 10 && scroll.isCrystalScroll())
+ {
+ activeChar.sendPacket(new SystemMessage(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITION));
+ activeChar.setActiveEnchantItem(null);
+ return;
+ }
/** pretty code ;D */
switch (item.getItem().getCrystalType())
@@ -183,16 +191,6 @@
return;
}
- // Get the scroll type - Yesod
- if (scroll.getItemId() >= 6569 && scroll.getItemId() <= 6578)
- blessedScroll = true;
- else
- for (int crystalscroll : CRYSTAL_SCROLLS)
- if(scroll.getItemId() == crystalscroll)
- {
- blessedScroll = true; break;
- }
-
scroll = activeChar.getInventory().destroyItem("Enchant", scroll.getObjectId(), 1, activeChar, item);
if(scroll == null)
{
@@ -225,6 +223,25 @@
chance = Config.ENCHANT_CHANCE_JEWELRY;
maxEnchantLevel = Config.ENCHANT_MAX_JEWELRY;
}
+
+ // Get the scroll type - Yesod
+ if (scroll.getItemId() >= 6569 && scroll.getItemId() <= 6578)
+ {
+ blessedScroll = true;
+ }
+ else
+ {
+ for (int crystalscroll : CRYSTAL_SCROLLS)
+ {
+ if(scroll.getItemId() == crystalscroll)
+ {
+ // 100% chance for crystal scrolls
+ chance = 100;
+ blessedScroll = true;
+ break;
+ }
+ }
+ }
if (item.getEnchantLevel() < Config.ENCHANT_SAFE_MAX
|| (item.getItem().getBodyPart() == L2Item.SLOT_FULL_ARMOR
@@ -382,4 +399,4 @@
{
return _C__58_REQUESTENCHANTITEM;
}
-}
+}
\ No newline at end of file
Index: D:/Documents and Settings/Administrator/My Documents/workspace/L2_GameServer_Commit/java/net/sf/l2j/gameserver/model/L2ItemInstance.java
===================================================================
--- D:/Documents and Settings/Administrator/My Documents/workspace/L2_GameServer_Commit/java/net/sf/l2j/gameserver/model/L2ItemInstance.java (revision 1874)
+++ D:/Documents and Settings/Administrator/My Documents/workspace/L2_GameServer_Commit/java/net/sf/l2j/gameserver/model/L2ItemInstance.java (working copy)
@@ -420,6 +420,25 @@
{
return _itemId;
}
+
+ public boolean isCrystalScroll()
+ {
+ switch (getItem().getItemId())
+ {
+ case 731: // CSEWA
+ case 732: // CSEAA
+ case 949: //CSEWB
+ case 950: //CSEAB
+ case 953: //CSEWC
+ case 954: //CSEAC
+ case 957: //CSEWD
+ case 958: //CSEAD
+ case 961: //CSEWS
+ case 962: //CSEAS
+ return true;
+ }
+ return false;
+ }
/**
* Returns the quantity of crystals for crystallization