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