diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/stats/items/28500-28599.xml b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/stats/items/28500-28599.xml index 1c10cc50c7..bf07ce7152 100644 --- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/stats/items/28500-28599.xml +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/stats/items/28500-28599.xml @@ -1172,7 +1172,7 @@ - + @@ -1186,7 +1186,7 @@ - + @@ -1200,7 +1200,7 @@ - + diff --git a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/items/enchant/AbstractEnchantItem.java b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/items/enchant/AbstractEnchantItem.java index 2f252cf5db..83dd82e470 100644 --- a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/items/enchant/AbstractEnchantItem.java +++ b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/items/enchant/AbstractEnchantItem.java @@ -43,6 +43,8 @@ public abstract class AbstractEnchantItem EtcItemType.BLESS_ENCHT_WP, EtcItemType.ENCHT_AM, EtcItemType.ENCHT_WP, + EtcItemType.ENCHT_WP_DOWN, + EtcItemType.ENCHT_AM_DOWN, EtcItemType.GIANT_ENCHT_AM, EtcItemType.GIANT_ENCHT_WP, EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_AM, diff --git a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/items/enchant/EnchantScroll.java b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/items/enchant/EnchantScroll.java index a25d3414a7..5492a60dad 100644 --- a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/items/enchant/EnchantScroll.java +++ b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/items/enchant/EnchantScroll.java @@ -135,10 +135,6 @@ public class EnchantScroll extends AbstractEnchantItem { return false; } - else if ((isBlessedDown() && !supportItem.isBlessed()) || (!isBlessedDown() && supportItem.isBlessed())) - { - return false; - } else if ((isGiant() && !supportItem.isGiant()) || (!isGiant() && supportItem.isGiant())) { return false; diff --git a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/items/enchant/EnchantSupportItem.java b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/items/enchant/EnchantSupportItem.java index 13d6b5a2ee..12b33e468f 100644 --- a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/items/enchant/EnchantSupportItem.java +++ b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/items/enchant/EnchantSupportItem.java @@ -27,6 +27,7 @@ public class EnchantSupportItem extends AbstractEnchantItem { private final boolean _isWeapon; private final boolean _isBlessed; + private final boolean _isDown; private final boolean _isGiant; private final ItemType type; @@ -34,8 +35,9 @@ public class EnchantSupportItem extends AbstractEnchantItem { super(set); type = getItem().getItemType(); - _isWeapon = (type == EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP); + _isWeapon = (type == EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.ENCHT_WP_DOWN) || (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP); _isBlessed = (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP); + _isDown = (type == EtcItemType.ENCHT_AM_DOWN) || (type == EtcItemType.ENCHT_WP_DOWN); _isGiant = (type == EtcItemType.GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP); } @@ -50,6 +52,11 @@ public class EnchantSupportItem extends AbstractEnchantItem return _isBlessed; } + public boolean isDown() + { + return _isDown; + } + public boolean isGiant() { return _isGiant; diff --git a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/items/type/EtcItemType.java b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/items/type/EtcItemType.java index b352bd7fc0..5730665d9f 100644 --- a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/items/type/EtcItemType.java +++ b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/items/type/EtcItemType.java @@ -42,6 +42,8 @@ public enum EtcItemType implements ItemType MATURECROP, ENCHT_WP, ENCHT_AM, + ENCHT_AM_DOWN, + ENCHT_WP_DOWN, GIANT_ENCHT_WP, GIANT_ENCHT_AM, BLESS_ENCHT_WP, @@ -71,7 +73,6 @@ public enum EtcItemType implements ItemType SOULSHOT, SHAPE_SHIFTING_WP, BLESS_SHAPE_SHIFTING_WP, - // EIT_RESTORE_SHAPE_SHIFTING_WP, SHAPE_SHIFTING_WP_FIXED, SHAPE_SHIFTING_AM, BLESS_SHAPE_SHIFTING_AM, diff --git a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/RequestEnchantItem.java b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/RequestEnchantItem.java index 2042bbc2ca..4b47fafd0f 100644 --- a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/RequestEnchantItem.java +++ b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/RequestEnchantItem.java @@ -310,11 +310,12 @@ public class RequestEnchantItem implements IClientIncomingPacket player.broadcastUserInfo(); } - if (scrollTemplate.isBlessed() || scrollTemplate.isBlessedDown() || ((supportTemplate != null) && supportTemplate.isBlessed())) + if (scrollTemplate.isBlessed() || scrollTemplate.isBlessedDown() || ((supportTemplate != null) && supportTemplate.isDown()) || ((supportTemplate != null) && supportTemplate.isBlessed())) { // blessed enchant - enchant value down by 1 - if (scrollTemplate.isBlessedDown()) + if (scrollTemplate.isBlessedDown() || ((supportTemplate != null) && supportTemplate.isDown())) { + player.sendMessage("The enchant value is decreased by 1."); item.setEnchantLevel(item.getEnchantLevel() - 1); } else // blessed enchant - clear enchant value diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/stats/items/28500-28599.xml b/L2J_Mobius_05.0_Salvation/dist/game/data/stats/items/28500-28599.xml index 032c264df0..e7bf58493c 100644 --- a/L2J_Mobius_05.0_Salvation/dist/game/data/stats/items/28500-28599.xml +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/stats/items/28500-28599.xml @@ -1182,7 +1182,7 @@ - + @@ -1196,7 +1196,7 @@ - + @@ -1210,7 +1210,7 @@ - + diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/items/enchant/AbstractEnchantItem.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/items/enchant/AbstractEnchantItem.java index 2f252cf5db..83dd82e470 100644 --- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/items/enchant/AbstractEnchantItem.java +++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/items/enchant/AbstractEnchantItem.java @@ -43,6 +43,8 @@ public abstract class AbstractEnchantItem EtcItemType.BLESS_ENCHT_WP, EtcItemType.ENCHT_AM, EtcItemType.ENCHT_WP, + EtcItemType.ENCHT_WP_DOWN, + EtcItemType.ENCHT_AM_DOWN, EtcItemType.GIANT_ENCHT_AM, EtcItemType.GIANT_ENCHT_WP, EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_AM, diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/items/enchant/EnchantScroll.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/items/enchant/EnchantScroll.java index a25d3414a7..5492a60dad 100644 --- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/items/enchant/EnchantScroll.java +++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/items/enchant/EnchantScroll.java @@ -135,10 +135,6 @@ public class EnchantScroll extends AbstractEnchantItem { return false; } - else if ((isBlessedDown() && !supportItem.isBlessed()) || (!isBlessedDown() && supportItem.isBlessed())) - { - return false; - } else if ((isGiant() && !supportItem.isGiant()) || (!isGiant() && supportItem.isGiant())) { return false; diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/items/enchant/EnchantSupportItem.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/items/enchant/EnchantSupportItem.java index 13d6b5a2ee..12b33e468f 100644 --- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/items/enchant/EnchantSupportItem.java +++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/items/enchant/EnchantSupportItem.java @@ -27,6 +27,7 @@ public class EnchantSupportItem extends AbstractEnchantItem { private final boolean _isWeapon; private final boolean _isBlessed; + private final boolean _isDown; private final boolean _isGiant; private final ItemType type; @@ -34,8 +35,9 @@ public class EnchantSupportItem extends AbstractEnchantItem { super(set); type = getItem().getItemType(); - _isWeapon = (type == EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP); + _isWeapon = (type == EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.ENCHT_WP_DOWN) || (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP); _isBlessed = (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP); + _isDown = (type == EtcItemType.ENCHT_AM_DOWN) || (type == EtcItemType.ENCHT_WP_DOWN); _isGiant = (type == EtcItemType.GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP); } @@ -50,6 +52,11 @@ public class EnchantSupportItem extends AbstractEnchantItem return _isBlessed; } + public boolean isDown() + { + return _isDown; + } + public boolean isGiant() { return _isGiant; diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/items/type/EtcItemType.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/items/type/EtcItemType.java index b352bd7fc0..5730665d9f 100644 --- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/items/type/EtcItemType.java +++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/items/type/EtcItemType.java @@ -42,6 +42,8 @@ public enum EtcItemType implements ItemType MATURECROP, ENCHT_WP, ENCHT_AM, + ENCHT_AM_DOWN, + ENCHT_WP_DOWN, GIANT_ENCHT_WP, GIANT_ENCHT_AM, BLESS_ENCHT_WP, @@ -71,7 +73,6 @@ public enum EtcItemType implements ItemType SOULSHOT, SHAPE_SHIFTING_WP, BLESS_SHAPE_SHIFTING_WP, - // EIT_RESTORE_SHAPE_SHIFTING_WP, SHAPE_SHIFTING_WP_FIXED, SHAPE_SHIFTING_AM, BLESS_SHAPE_SHIFTING_AM, diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/RequestEnchantItem.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/RequestEnchantItem.java index 46bdcde623..e9ae48ef44 100644 --- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/RequestEnchantItem.java +++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/RequestEnchantItem.java @@ -310,11 +310,12 @@ public class RequestEnchantItem implements IClientIncomingPacket player.broadcastUserInfo(); } - if (scrollTemplate.isBlessed() || scrollTemplate.isBlessedDown() || ((supportTemplate != null) && supportTemplate.isBlessed())) + if (scrollTemplate.isBlessed() || scrollTemplate.isBlessedDown() || ((supportTemplate != null) && supportTemplate.isDown()) || ((supportTemplate != null) && supportTemplate.isBlessed())) { // blessed enchant - enchant value down by 1 - if (scrollTemplate.isBlessedDown()) + if (scrollTemplate.isBlessedDown() || ((supportTemplate != null) && supportTemplate.isDown())) { + player.sendMessage("The enchant value is decreased by 1."); item.setEnchantLevel(item.getEnchantLevel() - 1); } else // blessed enchant - clear enchant value diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/stats/items/28500-28599.xml b/L2J_Mobius_05.5_EtinasFate/dist/game/data/stats/items/28500-28599.xml index 3633c43846..d6d1760353 100644 --- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/stats/items/28500-28599.xml +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/stats/items/28500-28599.xml @@ -1181,7 +1181,7 @@ - + @@ -1195,7 +1195,7 @@ - + @@ -1209,7 +1209,7 @@ - + diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/items/enchant/AbstractEnchantItem.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/items/enchant/AbstractEnchantItem.java index 2f252cf5db..83dd82e470 100644 --- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/items/enchant/AbstractEnchantItem.java +++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/items/enchant/AbstractEnchantItem.java @@ -43,6 +43,8 @@ public abstract class AbstractEnchantItem EtcItemType.BLESS_ENCHT_WP, EtcItemType.ENCHT_AM, EtcItemType.ENCHT_WP, + EtcItemType.ENCHT_WP_DOWN, + EtcItemType.ENCHT_AM_DOWN, EtcItemType.GIANT_ENCHT_AM, EtcItemType.GIANT_ENCHT_WP, EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_AM, diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/items/enchant/EnchantScroll.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/items/enchant/EnchantScroll.java index a25d3414a7..5492a60dad 100644 --- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/items/enchant/EnchantScroll.java +++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/items/enchant/EnchantScroll.java @@ -135,10 +135,6 @@ public class EnchantScroll extends AbstractEnchantItem { return false; } - else if ((isBlessedDown() && !supportItem.isBlessed()) || (!isBlessedDown() && supportItem.isBlessed())) - { - return false; - } else if ((isGiant() && !supportItem.isGiant()) || (!isGiant() && supportItem.isGiant())) { return false; diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/items/enchant/EnchantSupportItem.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/items/enchant/EnchantSupportItem.java index 13d6b5a2ee..12b33e468f 100644 --- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/items/enchant/EnchantSupportItem.java +++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/items/enchant/EnchantSupportItem.java @@ -27,6 +27,7 @@ public class EnchantSupportItem extends AbstractEnchantItem { private final boolean _isWeapon; private final boolean _isBlessed; + private final boolean _isDown; private final boolean _isGiant; private final ItemType type; @@ -34,8 +35,9 @@ public class EnchantSupportItem extends AbstractEnchantItem { super(set); type = getItem().getItemType(); - _isWeapon = (type == EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP); + _isWeapon = (type == EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.ENCHT_WP_DOWN) || (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP); _isBlessed = (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP); + _isDown = (type == EtcItemType.ENCHT_AM_DOWN) || (type == EtcItemType.ENCHT_WP_DOWN); _isGiant = (type == EtcItemType.GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP); } @@ -50,6 +52,11 @@ public class EnchantSupportItem extends AbstractEnchantItem return _isBlessed; } + public boolean isDown() + { + return _isDown; + } + public boolean isGiant() { return _isGiant; diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/items/type/EtcItemType.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/items/type/EtcItemType.java index b352bd7fc0..5730665d9f 100644 --- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/items/type/EtcItemType.java +++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/items/type/EtcItemType.java @@ -42,6 +42,8 @@ public enum EtcItemType implements ItemType MATURECROP, ENCHT_WP, ENCHT_AM, + ENCHT_AM_DOWN, + ENCHT_WP_DOWN, GIANT_ENCHT_WP, GIANT_ENCHT_AM, BLESS_ENCHT_WP, @@ -71,7 +73,6 @@ public enum EtcItemType implements ItemType SOULSHOT, SHAPE_SHIFTING_WP, BLESS_SHAPE_SHIFTING_WP, - // EIT_RESTORE_SHAPE_SHIFTING_WP, SHAPE_SHIFTING_WP_FIXED, SHAPE_SHIFTING_AM, BLESS_SHAPE_SHIFTING_AM, diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/RequestEnchantItem.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/RequestEnchantItem.java index 46bdcde623..e9ae48ef44 100644 --- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/RequestEnchantItem.java +++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/RequestEnchantItem.java @@ -310,11 +310,12 @@ public class RequestEnchantItem implements IClientIncomingPacket player.broadcastUserInfo(); } - if (scrollTemplate.isBlessed() || scrollTemplate.isBlessedDown() || ((supportTemplate != null) && supportTemplate.isBlessed())) + if (scrollTemplate.isBlessed() || scrollTemplate.isBlessedDown() || ((supportTemplate != null) && supportTemplate.isDown()) || ((supportTemplate != null) && supportTemplate.isBlessed())) { // blessed enchant - enchant value down by 1 - if (scrollTemplate.isBlessedDown()) + if (scrollTemplate.isBlessedDown() || ((supportTemplate != null) && supportTemplate.isDown())) { + player.sendMessage("The enchant value is decreased by 1."); item.setEnchantLevel(item.getEnchantLevel() - 1); } else // blessed enchant - clear enchant value diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/stats/items/28500-28599.xml b/L2J_Mobius_06.0_Fafurion/dist/game/data/stats/items/28500-28599.xml index 523396ce37..8f6a2d61ea 100644 --- a/L2J_Mobius_06.0_Fafurion/dist/game/data/stats/items/28500-28599.xml +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/stats/items/28500-28599.xml @@ -1181,7 +1181,7 @@ - + @@ -1195,7 +1195,7 @@ - + @@ -1209,7 +1209,7 @@ - + diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/items/enchant/AbstractEnchantItem.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/items/enchant/AbstractEnchantItem.java index 2f252cf5db..83dd82e470 100644 --- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/items/enchant/AbstractEnchantItem.java +++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/items/enchant/AbstractEnchantItem.java @@ -43,6 +43,8 @@ public abstract class AbstractEnchantItem EtcItemType.BLESS_ENCHT_WP, EtcItemType.ENCHT_AM, EtcItemType.ENCHT_WP, + EtcItemType.ENCHT_WP_DOWN, + EtcItemType.ENCHT_AM_DOWN, EtcItemType.GIANT_ENCHT_AM, EtcItemType.GIANT_ENCHT_WP, EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_AM, diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/items/enchant/EnchantScroll.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/items/enchant/EnchantScroll.java index a25d3414a7..5492a60dad 100644 --- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/items/enchant/EnchantScroll.java +++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/items/enchant/EnchantScroll.java @@ -135,10 +135,6 @@ public class EnchantScroll extends AbstractEnchantItem { return false; } - else if ((isBlessedDown() && !supportItem.isBlessed()) || (!isBlessedDown() && supportItem.isBlessed())) - { - return false; - } else if ((isGiant() && !supportItem.isGiant()) || (!isGiant() && supportItem.isGiant())) { return false; diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/items/enchant/EnchantSupportItem.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/items/enchant/EnchantSupportItem.java index 13d6b5a2ee..12b33e468f 100644 --- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/items/enchant/EnchantSupportItem.java +++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/items/enchant/EnchantSupportItem.java @@ -27,6 +27,7 @@ public class EnchantSupportItem extends AbstractEnchantItem { private final boolean _isWeapon; private final boolean _isBlessed; + private final boolean _isDown; private final boolean _isGiant; private final ItemType type; @@ -34,8 +35,9 @@ public class EnchantSupportItem extends AbstractEnchantItem { super(set); type = getItem().getItemType(); - _isWeapon = (type == EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP); + _isWeapon = (type == EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.ENCHT_WP_DOWN) || (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP); _isBlessed = (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP); + _isDown = (type == EtcItemType.ENCHT_AM_DOWN) || (type == EtcItemType.ENCHT_WP_DOWN); _isGiant = (type == EtcItemType.GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP); } @@ -50,6 +52,11 @@ public class EnchantSupportItem extends AbstractEnchantItem return _isBlessed; } + public boolean isDown() + { + return _isDown; + } + public boolean isGiant() { return _isGiant; diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/items/type/EtcItemType.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/items/type/EtcItemType.java index b352bd7fc0..5730665d9f 100644 --- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/items/type/EtcItemType.java +++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/items/type/EtcItemType.java @@ -42,6 +42,8 @@ public enum EtcItemType implements ItemType MATURECROP, ENCHT_WP, ENCHT_AM, + ENCHT_AM_DOWN, + ENCHT_WP_DOWN, GIANT_ENCHT_WP, GIANT_ENCHT_AM, BLESS_ENCHT_WP, @@ -71,7 +73,6 @@ public enum EtcItemType implements ItemType SOULSHOT, SHAPE_SHIFTING_WP, BLESS_SHAPE_SHIFTING_WP, - // EIT_RESTORE_SHAPE_SHIFTING_WP, SHAPE_SHIFTING_WP_FIXED, SHAPE_SHIFTING_AM, BLESS_SHAPE_SHIFTING_AM, diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/RequestEnchantItem.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/RequestEnchantItem.java index 334c2c21f0..09e1260ad9 100644 --- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/RequestEnchantItem.java +++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/RequestEnchantItem.java @@ -312,11 +312,12 @@ public class RequestEnchantItem implements IClientIncomingPacket player.broadcastUserInfo(); } - if (scrollTemplate.isBlessed() || scrollTemplate.isBlessedDown() || ((supportTemplate != null) && supportTemplate.isBlessed())) + if (scrollTemplate.isBlessed() || scrollTemplate.isBlessedDown() || ((supportTemplate != null) && supportTemplate.isDown()) || ((supportTemplate != null) && supportTemplate.isBlessed())) { // blessed enchant - enchant value down by 1 - if (scrollTemplate.isBlessedDown()) + if (scrollTemplate.isBlessedDown() || ((supportTemplate != null) && supportTemplate.isDown())) { + player.sendMessage("The enchant value is decreased by 1."); item.setEnchantLevel(item.getEnchantLevel() - 1); } else // blessed enchant - clear enchant value diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/stats/items/28500-28599.xml b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/stats/items/28500-28599.xml index 523396ce37..8f6a2d61ea 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/stats/items/28500-28599.xml +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/stats/items/28500-28599.xml @@ -1181,7 +1181,7 @@ - + @@ -1195,7 +1195,7 @@ - + @@ -1209,7 +1209,7 @@ - + diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/items/enchant/AbstractEnchantItem.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/items/enchant/AbstractEnchantItem.java index 2f252cf5db..83dd82e470 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/items/enchant/AbstractEnchantItem.java +++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/items/enchant/AbstractEnchantItem.java @@ -43,6 +43,8 @@ public abstract class AbstractEnchantItem EtcItemType.BLESS_ENCHT_WP, EtcItemType.ENCHT_AM, EtcItemType.ENCHT_WP, + EtcItemType.ENCHT_WP_DOWN, + EtcItemType.ENCHT_AM_DOWN, EtcItemType.GIANT_ENCHT_AM, EtcItemType.GIANT_ENCHT_WP, EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_AM, diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/items/enchant/EnchantScroll.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/items/enchant/EnchantScroll.java index a25d3414a7..5492a60dad 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/items/enchant/EnchantScroll.java +++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/items/enchant/EnchantScroll.java @@ -135,10 +135,6 @@ public class EnchantScroll extends AbstractEnchantItem { return false; } - else if ((isBlessedDown() && !supportItem.isBlessed()) || (!isBlessedDown() && supportItem.isBlessed())) - { - return false; - } else if ((isGiant() && !supportItem.isGiant()) || (!isGiant() && supportItem.isGiant())) { return false; diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/items/enchant/EnchantSupportItem.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/items/enchant/EnchantSupportItem.java index 13d6b5a2ee..12b33e468f 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/items/enchant/EnchantSupportItem.java +++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/items/enchant/EnchantSupportItem.java @@ -27,6 +27,7 @@ public class EnchantSupportItem extends AbstractEnchantItem { private final boolean _isWeapon; private final boolean _isBlessed; + private final boolean _isDown; private final boolean _isGiant; private final ItemType type; @@ -34,8 +35,9 @@ public class EnchantSupportItem extends AbstractEnchantItem { super(set); type = getItem().getItemType(); - _isWeapon = (type == EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP); + _isWeapon = (type == EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.ENCHT_WP_DOWN) || (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP); _isBlessed = (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP); + _isDown = (type == EtcItemType.ENCHT_AM_DOWN) || (type == EtcItemType.ENCHT_WP_DOWN); _isGiant = (type == EtcItemType.GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP); } @@ -50,6 +52,11 @@ public class EnchantSupportItem extends AbstractEnchantItem return _isBlessed; } + public boolean isDown() + { + return _isDown; + } + public boolean isGiant() { return _isGiant; diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/items/type/EtcItemType.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/items/type/EtcItemType.java index b352bd7fc0..5730665d9f 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/items/type/EtcItemType.java +++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/items/type/EtcItemType.java @@ -42,6 +42,8 @@ public enum EtcItemType implements ItemType MATURECROP, ENCHT_WP, ENCHT_AM, + ENCHT_AM_DOWN, + ENCHT_WP_DOWN, GIANT_ENCHT_WP, GIANT_ENCHT_AM, BLESS_ENCHT_WP, @@ -71,7 +73,6 @@ public enum EtcItemType implements ItemType SOULSHOT, SHAPE_SHIFTING_WP, BLESS_SHAPE_SHIFTING_WP, - // EIT_RESTORE_SHAPE_SHIFTING_WP, SHAPE_SHIFTING_WP_FIXED, SHAPE_SHIFTING_AM, BLESS_SHAPE_SHIFTING_AM, diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/RequestEnchantItem.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/RequestEnchantItem.java index 4960971f01..418833115c 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/RequestEnchantItem.java +++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/RequestEnchantItem.java @@ -312,11 +312,12 @@ public class RequestEnchantItem implements IClientIncomingPacket player.broadcastUserInfo(); } - if (scrollTemplate.isBlessed() || scrollTemplate.isBlessedDown() || ((supportTemplate != null) && supportTemplate.isBlessed())) + if (scrollTemplate.isBlessed() || scrollTemplate.isBlessedDown() || ((supportTemplate != null) && supportTemplate.isDown()) || ((supportTemplate != null) && supportTemplate.isBlessed())) { // blessed enchant - enchant value down by 1 - if (scrollTemplate.isBlessedDown()) + if (scrollTemplate.isBlessedDown() || ((supportTemplate != null) && supportTemplate.isDown())) { + player.sendMessage("The enchant value is decreased by 1."); item.setEnchantLevel(item.getEnchantLevel() - 1); } else // blessed enchant - clear enchant value diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/stats/items/28500-28599.xml b/L2J_Mobius_08.2_Homunculus/dist/game/data/stats/items/28500-28599.xml index 258f60387f..eded547dd0 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/stats/items/28500-28599.xml +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/stats/items/28500-28599.xml @@ -1232,7 +1232,7 @@ - + @@ -1246,7 +1246,7 @@ - + @@ -1260,7 +1260,7 @@ - + diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/items/enchant/AbstractEnchantItem.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/items/enchant/AbstractEnchantItem.java index 4057d40d0a..83dd82e470 100644 --- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/items/enchant/AbstractEnchantItem.java +++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/items/enchant/AbstractEnchantItem.java @@ -39,6 +39,7 @@ public abstract class AbstractEnchantItem EtcItemType.ENCHT_ATTR_ANCIENT_CRYSTAL_ENCHANT_AM, EtcItemType.ENCHT_ATTR_ANCIENT_CRYSTAL_ENCHANT_WP, EtcItemType.BLESS_ENCHT_AM, + EtcItemType.BLESS_ENCHT_AM_DOWN, EtcItemType.BLESS_ENCHT_WP, EtcItemType.ENCHT_AM, EtcItemType.ENCHT_WP, diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/items/enchant/EnchantScroll.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/items/enchant/EnchantScroll.java index de95bf2228..5492a60dad 100644 --- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/items/enchant/EnchantScroll.java +++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/items/enchant/EnchantScroll.java @@ -37,6 +37,7 @@ public class EnchantScroll extends AbstractEnchantItem { private final boolean _isWeapon; private final boolean _isBlessed; + private final boolean _isBlessedDown; private final boolean _isSafe; private final boolean _isGiant; private final int _scrollGroupId; @@ -50,6 +51,7 @@ public class EnchantScroll extends AbstractEnchantItem final ItemType type = getItem().getItemType(); _isWeapon = (type == EtcItemType.ENCHT_ATTR_ANCIENT_CRYSTAL_ENCHANT_WP) || (type == EtcItemType.BLESS_ENCHT_WP) || (type == EtcItemType.ENCHT_WP) || (type == EtcItemType.GIANT_ENCHT_WP); _isBlessed = (type == EtcItemType.BLESS_ENCHT_AM) || (type == EtcItemType.BLESS_ENCHT_WP) || (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP); + _isBlessedDown = (type == EtcItemType.BLESS_ENCHT_AM_DOWN); _isSafe = (type == EtcItemType.ENCHT_ATTR_ANCIENT_CRYSTAL_ENCHANT_AM) || (type == EtcItemType.ENCHT_ATTR_ANCIENT_CRYSTAL_ENCHANT_WP) || (type == EtcItemType.ENCHT_ATTR_CRYSTAL_ENCHANT_AM) || (type == EtcItemType.ENCHT_ATTR_CRYSTAL_ENCHANT_WP); _isGiant = (type == EtcItemType.GIANT_ENCHT_AM) || (type == EtcItemType.GIANT_ENCHT_WP); } @@ -68,6 +70,14 @@ public class EnchantScroll extends AbstractEnchantItem return _isBlessed; } + /** + * @return {@code true} for blessed scrolls (enchanted item will remain on failure and enchant value will go down by 1), {@code false} otherwise + */ + public boolean isBlessedDown() + { + return _isBlessedDown; + } + /** * @return {@code true} for safe-enchant scrolls (enchant level will remain on failure), {@code false} otherwise */ diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/items/type/EtcItemType.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/items/type/EtcItemType.java index 5b0d743fe7..5730665d9f 100644 --- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/items/type/EtcItemType.java +++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/items/type/EtcItemType.java @@ -48,6 +48,7 @@ public enum EtcItemType implements ItemType GIANT_ENCHT_AM, BLESS_ENCHT_WP, BLESS_ENCHT_AM, + BLESS_ENCHT_AM_DOWN, COUPON, ELIXIR, ENCHT_ATTR, diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/network/clientpackets/RequestEnchantItem.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/network/clientpackets/RequestEnchantItem.java index 8c48ff20b0..16cb1b26af 100644 --- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/network/clientpackets/RequestEnchantItem.java +++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/network/clientpackets/RequestEnchantItem.java @@ -312,11 +312,12 @@ public class RequestEnchantItem implements IClientIncomingPacket player.broadcastUserInfo(); } - if (scrollTemplate.isBlessed() || ((supportTemplate != null) && supportTemplate.isDown()) || ((supportTemplate != null) && supportTemplate.isBlessed())) + if (scrollTemplate.isBlessed() || scrollTemplate.isBlessedDown() || ((supportTemplate != null) && supportTemplate.isDown()) || ((supportTemplate != null) && supportTemplate.isBlessed())) { // blessed enchant - enchant value down by 1 - if (((supportTemplate != null) && supportTemplate.isDown())) + if (scrollTemplate.isBlessedDown() || ((supportTemplate != null) && supportTemplate.isDown())) { + client.sendPacket(SystemMessageId.THE_ENCHANT_VALUE_IS_DECREASED_BY_1); item.setEnchantLevel(item.getEnchantLevel() - 1); } else // blessed enchant - clear enchant value diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/stats/items/28500-28599.xml b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/stats/items/28500-28599.xml index bcf253593b..e377e0987b 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/stats/items/28500-28599.xml +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/stats/items/28500-28599.xml @@ -1232,7 +1232,7 @@ - + @@ -1246,7 +1246,7 @@ - + @@ -1260,7 +1260,7 @@ - + diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/items/enchant/AbstractEnchantItem.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/items/enchant/AbstractEnchantItem.java index 4057d40d0a..83dd82e470 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/items/enchant/AbstractEnchantItem.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/items/enchant/AbstractEnchantItem.java @@ -39,6 +39,7 @@ public abstract class AbstractEnchantItem EtcItemType.ENCHT_ATTR_ANCIENT_CRYSTAL_ENCHANT_AM, EtcItemType.ENCHT_ATTR_ANCIENT_CRYSTAL_ENCHANT_WP, EtcItemType.BLESS_ENCHT_AM, + EtcItemType.BLESS_ENCHT_AM_DOWN, EtcItemType.BLESS_ENCHT_WP, EtcItemType.ENCHT_AM, EtcItemType.ENCHT_WP, diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/items/enchant/EnchantScroll.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/items/enchant/EnchantScroll.java index de95bf2228..5492a60dad 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/items/enchant/EnchantScroll.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/items/enchant/EnchantScroll.java @@ -37,6 +37,7 @@ public class EnchantScroll extends AbstractEnchantItem { private final boolean _isWeapon; private final boolean _isBlessed; + private final boolean _isBlessedDown; private final boolean _isSafe; private final boolean _isGiant; private final int _scrollGroupId; @@ -50,6 +51,7 @@ public class EnchantScroll extends AbstractEnchantItem final ItemType type = getItem().getItemType(); _isWeapon = (type == EtcItemType.ENCHT_ATTR_ANCIENT_CRYSTAL_ENCHANT_WP) || (type == EtcItemType.BLESS_ENCHT_WP) || (type == EtcItemType.ENCHT_WP) || (type == EtcItemType.GIANT_ENCHT_WP); _isBlessed = (type == EtcItemType.BLESS_ENCHT_AM) || (type == EtcItemType.BLESS_ENCHT_WP) || (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP); + _isBlessedDown = (type == EtcItemType.BLESS_ENCHT_AM_DOWN); _isSafe = (type == EtcItemType.ENCHT_ATTR_ANCIENT_CRYSTAL_ENCHANT_AM) || (type == EtcItemType.ENCHT_ATTR_ANCIENT_CRYSTAL_ENCHANT_WP) || (type == EtcItemType.ENCHT_ATTR_CRYSTAL_ENCHANT_AM) || (type == EtcItemType.ENCHT_ATTR_CRYSTAL_ENCHANT_WP); _isGiant = (type == EtcItemType.GIANT_ENCHT_AM) || (type == EtcItemType.GIANT_ENCHT_WP); } @@ -68,6 +70,14 @@ public class EnchantScroll extends AbstractEnchantItem return _isBlessed; } + /** + * @return {@code true} for blessed scrolls (enchanted item will remain on failure and enchant value will go down by 1), {@code false} otherwise + */ + public boolean isBlessedDown() + { + return _isBlessedDown; + } + /** * @return {@code true} for safe-enchant scrolls (enchant level will remain on failure), {@code false} otherwise */ diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/items/type/EtcItemType.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/items/type/EtcItemType.java index 5b0d743fe7..5730665d9f 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/items/type/EtcItemType.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/items/type/EtcItemType.java @@ -48,6 +48,7 @@ public enum EtcItemType implements ItemType GIANT_ENCHT_AM, BLESS_ENCHT_WP, BLESS_ENCHT_AM, + BLESS_ENCHT_AM_DOWN, COUPON, ELIXIR, ENCHT_ATTR, diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/RequestEnchantItem.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/RequestEnchantItem.java index 8c48ff20b0..16cb1b26af 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/RequestEnchantItem.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/RequestEnchantItem.java @@ -312,11 +312,12 @@ public class RequestEnchantItem implements IClientIncomingPacket player.broadcastUserInfo(); } - if (scrollTemplate.isBlessed() || ((supportTemplate != null) && supportTemplate.isDown()) || ((supportTemplate != null) && supportTemplate.isBlessed())) + if (scrollTemplate.isBlessed() || scrollTemplate.isBlessedDown() || ((supportTemplate != null) && supportTemplate.isDown()) || ((supportTemplate != null) && supportTemplate.isBlessed())) { // blessed enchant - enchant value down by 1 - if (((supportTemplate != null) && supportTemplate.isDown())) + if (scrollTemplate.isBlessedDown() || ((supportTemplate != null) && supportTemplate.isDown())) { + client.sendPacket(SystemMessageId.THE_ENCHANT_VALUE_IS_DECREASED_BY_1); item.setEnchantLevel(item.getEnchantLevel() - 1); } else // blessed enchant - clear enchant value