Addition of BLESS_ENCHT_AM_DOWN support.

Contributed by CostyKiller.
This commit is contained in:
MobiusDevelopment
2021-10-20 01:55:47 +00:00
parent cfc1d03d13
commit eaf795e34b
40 changed files with 126 additions and 65 deletions

View File

@@ -1172,7 +1172,7 @@
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="etcitem_type" val="BLESS_ENCHT_AM" />
<set name="etcitem_type" val="BLESS_ENCHT_AM_DOWN" />
<set name="immediate_effect" val="true" />
<set name="handler" val="EnchantScrolls" />
<skills>
@@ -1186,7 +1186,7 @@
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="etcitem_type" val="BLESS_ENCHT_AM" />
<set name="etcitem_type" val="BLESS_ENCHT_AM_DOWN" />
<set name="immediate_effect" val="true" />
<set name="handler" val="EnchantScrolls" />
<skills>
@@ -1200,7 +1200,7 @@
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="etcitem_type" val="BLESS_ENCHT_AM" />
<set name="etcitem_type" val="BLESS_ENCHT_AM_DOWN" />
<set name="immediate_effect" val="true" />
<set name="handler" val="EnchantScrolls" />
<skills>

View File

@@ -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,

View File

@@ -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;

View File

@@ -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;

View File

@@ -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,

View File

@@ -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

View File

@@ -1182,7 +1182,7 @@
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="etcitem_type" val="BLESS_ENCHT_AM" />
<set name="etcitem_type" val="BLESS_ENCHT_AM_DOWN" />
<set name="immediate_effect" val="true" />
<set name="handler" val="EnchantScrolls" />
<skills>
@@ -1196,7 +1196,7 @@
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="etcitem_type" val="BLESS_ENCHT_AM" />
<set name="etcitem_type" val="BLESS_ENCHT_AM_DOWN" />
<set name="immediate_effect" val="true" />
<set name="handler" val="EnchantScrolls" />
<skills>
@@ -1210,7 +1210,7 @@
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="etcitem_type" val="BLESS_ENCHT_AM" />
<set name="etcitem_type" val="BLESS_ENCHT_AM_DOWN" />
<set name="immediate_effect" val="true" />
<set name="handler" val="EnchantScrolls" />
<skills>

View File

@@ -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,

View File

@@ -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;

View File

@@ -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;

View File

@@ -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,

View File

@@ -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

View File

@@ -1181,7 +1181,7 @@
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="etcitem_type" val="BLESS_ENCHT_AM" />
<set name="etcitem_type" val="BLESS_ENCHT_AM_DOWN" />
<set name="immediate_effect" val="true" />
<set name="handler" val="EnchantScrolls" />
<skills>
@@ -1195,7 +1195,7 @@
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="etcitem_type" val="BLESS_ENCHT_AM" />
<set name="etcitem_type" val="BLESS_ENCHT_AM_DOWN" />
<set name="immediate_effect" val="true" />
<set name="handler" val="EnchantScrolls" />
<skills>
@@ -1209,7 +1209,7 @@
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="etcitem_type" val="BLESS_ENCHT_AM" />
<set name="etcitem_type" val="BLESS_ENCHT_AM_DOWN" />
<set name="immediate_effect" val="true" />
<set name="handler" val="EnchantScrolls" />
<skills>

View File

@@ -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,

View File

@@ -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;

View File

@@ -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;

View File

@@ -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,

View File

@@ -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

View File

@@ -1181,7 +1181,7 @@
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="etcitem_type" val="BLESS_ENCHT_AM" />
<set name="etcitem_type" val="BLESS_ENCHT_AM_DOWN" />
<set name="immediate_effect" val="true" />
<set name="handler" val="EnchantScrolls" />
<skills>
@@ -1195,7 +1195,7 @@
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="etcitem_type" val="BLESS_ENCHT_AM" />
<set name="etcitem_type" val="BLESS_ENCHT_AM_DOWN" />
<set name="immediate_effect" val="true" />
<set name="handler" val="EnchantScrolls" />
<skills>
@@ -1209,7 +1209,7 @@
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="etcitem_type" val="BLESS_ENCHT_AM" />
<set name="etcitem_type" val="BLESS_ENCHT_AM_DOWN" />
<set name="immediate_effect" val="true" />
<set name="handler" val="EnchantScrolls" />
<skills>

View File

@@ -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,

View File

@@ -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;

View File

@@ -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;

View File

@@ -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,

View File

@@ -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

View File

@@ -1181,7 +1181,7 @@
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="etcitem_type" val="BLESS_ENCHT_AM" />
<set name="etcitem_type" val="BLESS_ENCHT_AM_DOWN" />
<set name="immediate_effect" val="true" />
<set name="handler" val="EnchantScrolls" />
<skills>
@@ -1195,7 +1195,7 @@
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="etcitem_type" val="BLESS_ENCHT_AM" />
<set name="etcitem_type" val="BLESS_ENCHT_AM_DOWN" />
<set name="immediate_effect" val="true" />
<set name="handler" val="EnchantScrolls" />
<skills>
@@ -1209,7 +1209,7 @@
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="etcitem_type" val="BLESS_ENCHT_AM" />
<set name="etcitem_type" val="BLESS_ENCHT_AM_DOWN" />
<set name="immediate_effect" val="true" />
<set name="handler" val="EnchantScrolls" />
<skills>

View File

@@ -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,

View File

@@ -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;

View File

@@ -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;

View File

@@ -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,

View File

@@ -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

View File

@@ -1232,7 +1232,7 @@
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="etcitem_type" val="BLESS_ENCHT_AM" />
<set name="etcitem_type" val="BLESS_ENCHT_AM_DOWN" />
<set name="immediate_effect" val="true" />
<set name="handler" val="EnchantScrolls" />
<skills>
@@ -1246,7 +1246,7 @@
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="etcitem_type" val="BLESS_ENCHT_AM" />
<set name="etcitem_type" val="BLESS_ENCHT_AM_DOWN" />
<set name="immediate_effect" val="true" />
<set name="handler" val="EnchantScrolls" />
<skills>
@@ -1260,7 +1260,7 @@
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="etcitem_type" val="BLESS_ENCHT_AM" />
<set name="etcitem_type" val="BLESS_ENCHT_AM_DOWN" />
<set name="immediate_effect" val="true" />
<set name="handler" val="EnchantScrolls" />
<skills>

View File

@@ -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,

View File

@@ -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
*/

View File

@@ -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,

View File

@@ -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

View File

@@ -1232,7 +1232,7 @@
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="etcitem_type" val="BLESS_ENCHT_AM" />
<set name="etcitem_type" val="BLESS_ENCHT_AM_DOWN" />
<set name="immediate_effect" val="true" />
<set name="handler" val="EnchantScrolls" />
<skills>
@@ -1246,7 +1246,7 @@
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="etcitem_type" val="BLESS_ENCHT_AM" />
<set name="etcitem_type" val="BLESS_ENCHT_AM_DOWN" />
<set name="immediate_effect" val="true" />
<set name="handler" val="EnchantScrolls" />
<skills>
@@ -1260,7 +1260,7 @@
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="etcitem_type" val="BLESS_ENCHT_AM" />
<set name="etcitem_type" val="BLESS_ENCHT_AM_DOWN" />
<set name="immediate_effect" val="true" />
<set name="handler" val="EnchantScrolls" />
<skills>

View File

@@ -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,

View File

@@ -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
*/

View File

@@ -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,

View File

@@ -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