Giant scrolls.
Contributed by Ofelin.
This commit is contained in:
@@ -99,7 +99,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -122,7 +122,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -145,7 +145,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -168,7 +168,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -191,7 +191,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -214,7 +214,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -237,7 +237,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -260,7 +260,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -283,7 +283,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -306,7 +306,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -329,7 +329,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -352,7 +352,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
|
@@ -1035,7 +1035,7 @@
|
|||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="commissionItemType" val="SCROLL_ENCHANT_WEAPON" />
|
<set name="commissionItemType" val="SCROLL_ENCHANT_WEAPON" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -1052,7 +1052,7 @@
|
|||||||
<set name="is_sellable" val="false" />
|
<set name="is_sellable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
||||||
|
@@ -958,7 +958,7 @@
|
|||||||
<set name="is_sellable" val="false" />
|
<set name="is_sellable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -975,7 +975,7 @@
|
|||||||
<set name="is_sellable" val="false" />
|
<set name="is_sellable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -992,7 +992,7 @@
|
|||||||
<set name="is_sellable" val="false" />
|
<set name="is_sellable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -1010,7 +1010,7 @@
|
|||||||
<set name="is_sellable" val="false" />
|
<set name="is_sellable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
||||||
@@ -1027,7 +1027,7 @@
|
|||||||
<set name="is_sellable" val="false" />
|
<set name="is_sellable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
||||||
@@ -1044,7 +1044,7 @@
|
|||||||
<set name="is_sellable" val="false" />
|
<set name="is_sellable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
||||||
|
@@ -42,6 +42,8 @@ public abstract class AbstractEnchantItem
|
|||||||
EtcItemType.BLESS_ENCHT_WP,
|
EtcItemType.BLESS_ENCHT_WP,
|
||||||
EtcItemType.ENCHT_AM,
|
EtcItemType.ENCHT_AM,
|
||||||
EtcItemType.ENCHT_WP,
|
EtcItemType.ENCHT_WP,
|
||||||
|
EtcItemType.GIANT_ENCHT_AM,
|
||||||
|
EtcItemType.GIANT_ENCHT_WP,
|
||||||
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_AM,
|
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_AM,
|
||||||
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_WP,
|
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_WP,
|
||||||
};
|
};
|
||||||
|
@@ -37,6 +37,7 @@ public final class EnchantScroll extends AbstractEnchantItem
|
|||||||
private final boolean _isWeapon;
|
private final boolean _isWeapon;
|
||||||
private final boolean _isBlessed;
|
private final boolean _isBlessed;
|
||||||
private final boolean _isSafe;
|
private final boolean _isSafe;
|
||||||
|
private final boolean _isGiant;
|
||||||
private final int _scrollGroupId;
|
private final int _scrollGroupId;
|
||||||
private Set<Integer> _items;
|
private Set<Integer> _items;
|
||||||
|
|
||||||
@@ -46,9 +47,10 @@ public final class EnchantScroll extends AbstractEnchantItem
|
|||||||
_scrollGroupId = set.getInt("scrollGroupId", 0);
|
_scrollGroupId = set.getInt("scrollGroupId", 0);
|
||||||
|
|
||||||
final ItemType type = getItem().getItemType();
|
final ItemType type = getItem().getItemType();
|
||||||
_isWeapon = (type == EtcItemType.ENCHT_ATTR_ANCIENT_CRYSTAL_ENCHANT_WP) || (type == EtcItemType.BLESS_ENCHT_WP) || (type == EtcItemType.ENCHT_WP);
|
_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);
|
_isBlessed = (type == EtcItemType.BLESS_ENCHT_AM) || (type == EtcItemType.BLESS_ENCHT_WP);
|
||||||
_isSafe = (type == EtcItemType.ENCHT_ATTR_CRYSTAL_ENCHANT_AM) || (type == EtcItemType.ENCHT_ATTR_CRYSTAL_ENCHANT_WP);
|
_isSafe = (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);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -73,6 +75,11 @@ public final class EnchantScroll extends AbstractEnchantItem
|
|||||||
return _isSafe;
|
return _isSafe;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isGiant()
|
||||||
|
{
|
||||||
|
return _isGiant;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return id of scroll group that should be used
|
* @return id of scroll group that should be used
|
||||||
*/
|
*/
|
||||||
|
@@ -42,6 +42,8 @@ public enum EtcItemType implements ItemType
|
|||||||
MATURECROP,
|
MATURECROP,
|
||||||
ENCHT_WP,
|
ENCHT_WP,
|
||||||
ENCHT_AM,
|
ENCHT_AM,
|
||||||
|
GIANT_ENCHT_WP,
|
||||||
|
GIANT_ENCHT_AM,
|
||||||
BLESS_ENCHT_WP,
|
BLESS_ENCHT_WP,
|
||||||
BLESS_ENCHT_AM,
|
BLESS_ENCHT_AM,
|
||||||
COUPON,
|
COUPON,
|
||||||
|
@@ -20,6 +20,7 @@ import java.util.logging.Logger;
|
|||||||
|
|
||||||
import com.l2jmobius.Config;
|
import com.l2jmobius.Config;
|
||||||
import com.l2jmobius.commons.network.PacketReader;
|
import com.l2jmobius.commons.network.PacketReader;
|
||||||
|
import com.l2jmobius.commons.util.Rnd;
|
||||||
import com.l2jmobius.gameserver.data.xml.impl.EnchantItemData;
|
import com.l2jmobius.gameserver.data.xml.impl.EnchantItemData;
|
||||||
import com.l2jmobius.gameserver.enums.ItemSkillType;
|
import com.l2jmobius.gameserver.enums.ItemSkillType;
|
||||||
import com.l2jmobius.gameserver.enums.UserInfoType;
|
import com.l2jmobius.gameserver.enums.UserInfoType;
|
||||||
@@ -183,8 +184,15 @@ public final class RequestEnchantItem implements IClientIncomingPacket
|
|||||||
final L2Item it = item.getItem();
|
final L2Item it = item.getItem();
|
||||||
// Increase enchant level only if scroll's base template has chance, some armors can success over +20 but they shouldn't have increased.
|
// Increase enchant level only if scroll's base template has chance, some armors can success over +20 but they shouldn't have increased.
|
||||||
if (scrollTemplate.getChance(activeChar, item) > 0)
|
if (scrollTemplate.getChance(activeChar, item) > 0)
|
||||||
|
{
|
||||||
|
if (scrollTemplate.isGiant())
|
||||||
|
{
|
||||||
|
item.setEnchantLevel(Math.min(item.getEnchantLevel() + 1 + Rnd.get(3), scrollTemplate.getMaxEnchantLevel()));
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
item.setEnchantLevel(item.getEnchantLevel() + 1);
|
item.setEnchantLevel(item.getEnchantLevel() + 1);
|
||||||
|
}
|
||||||
item.updateDatabase();
|
item.updateDatabase();
|
||||||
}
|
}
|
||||||
client.sendPacket(new EnchantResult(EnchantResult.SUCCESS, item));
|
client.sendPacket(new EnchantResult(EnchantResult.SUCCESS, item));
|
||||||
|
@@ -99,7 +99,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -122,7 +122,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -145,7 +145,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -168,7 +168,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -191,7 +191,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -214,7 +214,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -237,7 +237,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -260,7 +260,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -283,7 +283,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -306,7 +306,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -329,7 +329,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -352,7 +352,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
|
@@ -1035,7 +1035,7 @@
|
|||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="commissionItemType" val="SCROLL_ENCHANT_WEAPON" />
|
<set name="commissionItemType" val="SCROLL_ENCHANT_WEAPON" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -1052,7 +1052,7 @@
|
|||||||
<set name="is_sellable" val="false" />
|
<set name="is_sellable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
||||||
|
@@ -958,7 +958,7 @@
|
|||||||
<set name="is_sellable" val="false" />
|
<set name="is_sellable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -975,7 +975,7 @@
|
|||||||
<set name="is_sellable" val="false" />
|
<set name="is_sellable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -992,7 +992,7 @@
|
|||||||
<set name="is_sellable" val="false" />
|
<set name="is_sellable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -1010,7 +1010,7 @@
|
|||||||
<set name="is_sellable" val="false" />
|
<set name="is_sellable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
||||||
@@ -1027,7 +1027,7 @@
|
|||||||
<set name="is_sellable" val="false" />
|
<set name="is_sellable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
||||||
@@ -1044,7 +1044,7 @@
|
|||||||
<set name="is_sellable" val="false" />
|
<set name="is_sellable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
||||||
|
@@ -42,6 +42,8 @@ public abstract class AbstractEnchantItem
|
|||||||
EtcItemType.BLESS_ENCHT_WP,
|
EtcItemType.BLESS_ENCHT_WP,
|
||||||
EtcItemType.ENCHT_AM,
|
EtcItemType.ENCHT_AM,
|
||||||
EtcItemType.ENCHT_WP,
|
EtcItemType.ENCHT_WP,
|
||||||
|
EtcItemType.GIANT_ENCHT_AM,
|
||||||
|
EtcItemType.GIANT_ENCHT_WP,
|
||||||
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_AM,
|
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_AM,
|
||||||
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_WP,
|
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_WP,
|
||||||
};
|
};
|
||||||
|
@@ -37,6 +37,7 @@ public final class EnchantScroll extends AbstractEnchantItem
|
|||||||
private final boolean _isWeapon;
|
private final boolean _isWeapon;
|
||||||
private final boolean _isBlessed;
|
private final boolean _isBlessed;
|
||||||
private final boolean _isSafe;
|
private final boolean _isSafe;
|
||||||
|
private final boolean _isGiant;
|
||||||
private final int _scrollGroupId;
|
private final int _scrollGroupId;
|
||||||
private Set<Integer> _items;
|
private Set<Integer> _items;
|
||||||
|
|
||||||
@@ -46,9 +47,10 @@ public final class EnchantScroll extends AbstractEnchantItem
|
|||||||
_scrollGroupId = set.getInt("scrollGroupId", 0);
|
_scrollGroupId = set.getInt("scrollGroupId", 0);
|
||||||
|
|
||||||
final ItemType type = getItem().getItemType();
|
final ItemType type = getItem().getItemType();
|
||||||
_isWeapon = (type == EtcItemType.ENCHT_ATTR_ANCIENT_CRYSTAL_ENCHANT_WP) || (type == EtcItemType.BLESS_ENCHT_WP) || (type == EtcItemType.ENCHT_WP);
|
_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);
|
_isBlessed = (type == EtcItemType.BLESS_ENCHT_AM) || (type == EtcItemType.BLESS_ENCHT_WP);
|
||||||
_isSafe = (type == EtcItemType.ENCHT_ATTR_CRYSTAL_ENCHANT_AM) || (type == EtcItemType.ENCHT_ATTR_CRYSTAL_ENCHANT_WP);
|
_isSafe = (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);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -73,6 +75,11 @@ public final class EnchantScroll extends AbstractEnchantItem
|
|||||||
return _isSafe;
|
return _isSafe;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isGiant()
|
||||||
|
{
|
||||||
|
return _isGiant;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return id of scroll group that should be used
|
* @return id of scroll group that should be used
|
||||||
*/
|
*/
|
||||||
|
@@ -42,6 +42,8 @@ public enum EtcItemType implements ItemType
|
|||||||
MATURECROP,
|
MATURECROP,
|
||||||
ENCHT_WP,
|
ENCHT_WP,
|
||||||
ENCHT_AM,
|
ENCHT_AM,
|
||||||
|
GIANT_ENCHT_WP,
|
||||||
|
GIANT_ENCHT_AM,
|
||||||
BLESS_ENCHT_WP,
|
BLESS_ENCHT_WP,
|
||||||
BLESS_ENCHT_AM,
|
BLESS_ENCHT_AM,
|
||||||
COUPON,
|
COUPON,
|
||||||
|
@@ -20,6 +20,7 @@ import java.util.logging.Logger;
|
|||||||
|
|
||||||
import com.l2jmobius.Config;
|
import com.l2jmobius.Config;
|
||||||
import com.l2jmobius.commons.network.PacketReader;
|
import com.l2jmobius.commons.network.PacketReader;
|
||||||
|
import com.l2jmobius.commons.util.Rnd;
|
||||||
import com.l2jmobius.gameserver.data.xml.impl.EnchantItemData;
|
import com.l2jmobius.gameserver.data.xml.impl.EnchantItemData;
|
||||||
import com.l2jmobius.gameserver.enums.ItemSkillType;
|
import com.l2jmobius.gameserver.enums.ItemSkillType;
|
||||||
import com.l2jmobius.gameserver.enums.UserInfoType;
|
import com.l2jmobius.gameserver.enums.UserInfoType;
|
||||||
@@ -183,8 +184,15 @@ public final class RequestEnchantItem implements IClientIncomingPacket
|
|||||||
final L2Item it = item.getItem();
|
final L2Item it = item.getItem();
|
||||||
// Increase enchant level only if scroll's base template has chance, some armors can success over +20 but they shouldn't have increased.
|
// Increase enchant level only if scroll's base template has chance, some armors can success over +20 but they shouldn't have increased.
|
||||||
if (scrollTemplate.getChance(activeChar, item) > 0)
|
if (scrollTemplate.getChance(activeChar, item) > 0)
|
||||||
|
{
|
||||||
|
if (scrollTemplate.isGiant())
|
||||||
|
{
|
||||||
|
item.setEnchantLevel(Math.min(item.getEnchantLevel() + 1 + Rnd.get(3), scrollTemplate.getMaxEnchantLevel()));
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
item.setEnchantLevel(item.getEnchantLevel() + 1);
|
item.setEnchantLevel(item.getEnchantLevel() + 1);
|
||||||
|
}
|
||||||
item.updateDatabase();
|
item.updateDatabase();
|
||||||
}
|
}
|
||||||
client.sendPacket(new EnchantResult(EnchantResult.SUCCESS, item));
|
client.sendPacket(new EnchantResult(EnchantResult.SUCCESS, item));
|
||||||
|
@@ -99,7 +99,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -122,7 +122,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -145,7 +145,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -168,7 +168,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -191,7 +191,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -214,7 +214,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -237,7 +237,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -260,7 +260,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -283,7 +283,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -306,7 +306,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -329,7 +329,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -352,7 +352,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
|
@@ -1035,7 +1035,7 @@
|
|||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="commissionItemType" val="SCROLL_ENCHANT_WEAPON" />
|
<set name="commissionItemType" val="SCROLL_ENCHANT_WEAPON" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -1052,7 +1052,7 @@
|
|||||||
<set name="is_sellable" val="false" />
|
<set name="is_sellable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
||||||
|
@@ -958,7 +958,7 @@
|
|||||||
<set name="is_sellable" val="false" />
|
<set name="is_sellable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -975,7 +975,7 @@
|
|||||||
<set name="is_sellable" val="false" />
|
<set name="is_sellable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -992,7 +992,7 @@
|
|||||||
<set name="is_sellable" val="false" />
|
<set name="is_sellable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -1010,7 +1010,7 @@
|
|||||||
<set name="is_sellable" val="false" />
|
<set name="is_sellable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
||||||
@@ -1027,7 +1027,7 @@
|
|||||||
<set name="is_sellable" val="false" />
|
<set name="is_sellable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
||||||
@@ -1044,7 +1044,7 @@
|
|||||||
<set name="is_sellable" val="false" />
|
<set name="is_sellable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
||||||
|
@@ -42,6 +42,8 @@ public abstract class AbstractEnchantItem
|
|||||||
EtcItemType.BLESS_ENCHT_WP,
|
EtcItemType.BLESS_ENCHT_WP,
|
||||||
EtcItemType.ENCHT_AM,
|
EtcItemType.ENCHT_AM,
|
||||||
EtcItemType.ENCHT_WP,
|
EtcItemType.ENCHT_WP,
|
||||||
|
EtcItemType.GIANT_ENCHT_AM,
|
||||||
|
EtcItemType.GIANT_ENCHT_WP,
|
||||||
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_AM,
|
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_AM,
|
||||||
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_WP,
|
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_WP,
|
||||||
};
|
};
|
||||||
|
@@ -37,6 +37,7 @@ public final class EnchantScroll extends AbstractEnchantItem
|
|||||||
private final boolean _isWeapon;
|
private final boolean _isWeapon;
|
||||||
private final boolean _isBlessed;
|
private final boolean _isBlessed;
|
||||||
private final boolean _isSafe;
|
private final boolean _isSafe;
|
||||||
|
private final boolean _isGiant;
|
||||||
private final int _scrollGroupId;
|
private final int _scrollGroupId;
|
||||||
private Set<Integer> _items;
|
private Set<Integer> _items;
|
||||||
|
|
||||||
@@ -46,9 +47,10 @@ public final class EnchantScroll extends AbstractEnchantItem
|
|||||||
_scrollGroupId = set.getInt("scrollGroupId", 0);
|
_scrollGroupId = set.getInt("scrollGroupId", 0);
|
||||||
|
|
||||||
final ItemType type = getItem().getItemType();
|
final ItemType type = getItem().getItemType();
|
||||||
_isWeapon = (type == EtcItemType.ENCHT_ATTR_ANCIENT_CRYSTAL_ENCHANT_WP) || (type == EtcItemType.BLESS_ENCHT_WP) || (type == EtcItemType.ENCHT_WP);
|
_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);
|
_isBlessed = (type == EtcItemType.BLESS_ENCHT_AM) || (type == EtcItemType.BLESS_ENCHT_WP);
|
||||||
_isSafe = (type == EtcItemType.ENCHT_ATTR_CRYSTAL_ENCHANT_AM) || (type == EtcItemType.ENCHT_ATTR_CRYSTAL_ENCHANT_WP);
|
_isSafe = (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);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -73,6 +75,11 @@ public final class EnchantScroll extends AbstractEnchantItem
|
|||||||
return _isSafe;
|
return _isSafe;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isGiant()
|
||||||
|
{
|
||||||
|
return _isGiant;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return id of scroll group that should be used
|
* @return id of scroll group that should be used
|
||||||
*/
|
*/
|
||||||
|
@@ -42,6 +42,8 @@ public enum EtcItemType implements ItemType
|
|||||||
MATURECROP,
|
MATURECROP,
|
||||||
ENCHT_WP,
|
ENCHT_WP,
|
||||||
ENCHT_AM,
|
ENCHT_AM,
|
||||||
|
GIANT_ENCHT_WP,
|
||||||
|
GIANT_ENCHT_AM,
|
||||||
BLESS_ENCHT_WP,
|
BLESS_ENCHT_WP,
|
||||||
BLESS_ENCHT_AM,
|
BLESS_ENCHT_AM,
|
||||||
COUPON,
|
COUPON,
|
||||||
|
@@ -20,6 +20,7 @@ import java.util.logging.Logger;
|
|||||||
|
|
||||||
import com.l2jmobius.Config;
|
import com.l2jmobius.Config;
|
||||||
import com.l2jmobius.commons.network.PacketReader;
|
import com.l2jmobius.commons.network.PacketReader;
|
||||||
|
import com.l2jmobius.commons.util.Rnd;
|
||||||
import com.l2jmobius.gameserver.data.xml.impl.EnchantItemData;
|
import com.l2jmobius.gameserver.data.xml.impl.EnchantItemData;
|
||||||
import com.l2jmobius.gameserver.enums.ItemSkillType;
|
import com.l2jmobius.gameserver.enums.ItemSkillType;
|
||||||
import com.l2jmobius.gameserver.enums.UserInfoType;
|
import com.l2jmobius.gameserver.enums.UserInfoType;
|
||||||
@@ -183,8 +184,15 @@ public final class RequestEnchantItem implements IClientIncomingPacket
|
|||||||
final L2Item it = item.getItem();
|
final L2Item it = item.getItem();
|
||||||
// Increase enchant level only if scroll's base template has chance, some armors can success over +20 but they shouldn't have increased.
|
// Increase enchant level only if scroll's base template has chance, some armors can success over +20 but they shouldn't have increased.
|
||||||
if (scrollTemplate.getChance(activeChar, item) > 0)
|
if (scrollTemplate.getChance(activeChar, item) > 0)
|
||||||
|
{
|
||||||
|
if (scrollTemplate.isGiant())
|
||||||
|
{
|
||||||
|
item.setEnchantLevel(Math.min(item.getEnchantLevel() + 1 + Rnd.get(3), scrollTemplate.getMaxEnchantLevel()));
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
item.setEnchantLevel(item.getEnchantLevel() + 1);
|
item.setEnchantLevel(item.getEnchantLevel() + 1);
|
||||||
|
}
|
||||||
item.updateDatabase();
|
item.updateDatabase();
|
||||||
}
|
}
|
||||||
client.sendPacket(new EnchantResult(EnchantResult.SUCCESS, item));
|
client.sendPacket(new EnchantResult(EnchantResult.SUCCESS, item));
|
||||||
|
@@ -99,7 +99,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -122,7 +122,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -145,7 +145,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -168,7 +168,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -191,7 +191,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -214,7 +214,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -237,7 +237,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -260,7 +260,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -283,7 +283,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -306,7 +306,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -329,7 +329,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -352,7 +352,7 @@
|
|||||||
<set name="is_private_storeable" val="false" />
|
<set name="is_private_storeable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
|
@@ -1035,7 +1035,7 @@
|
|||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="commissionItemType" val="SCROLL_ENCHANT_WEAPON" />
|
<set name="commissionItemType" val="SCROLL_ENCHANT_WEAPON" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -1052,7 +1052,7 @@
|
|||||||
<set name="is_sellable" val="false" />
|
<set name="is_sellable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
||||||
|
@@ -958,7 +958,7 @@
|
|||||||
<set name="is_sellable" val="false" />
|
<set name="is_sellable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -975,7 +975,7 @@
|
|||||||
<set name="is_sellable" val="false" />
|
<set name="is_sellable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -992,7 +992,7 @@
|
|||||||
<set name="is_sellable" val="false" />
|
<set name="is_sellable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_WP" />
|
<set name="etcitem_type" val="GIANT_ENCHT_WP" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
@@ -1010,7 +1010,7 @@
|
|||||||
<set name="is_sellable" val="false" />
|
<set name="is_sellable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
||||||
@@ -1027,7 +1027,7 @@
|
|||||||
<set name="is_sellable" val="false" />
|
<set name="is_sellable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
||||||
@@ -1044,7 +1044,7 @@
|
|||||||
<set name="is_sellable" val="false" />
|
<set name="is_sellable" val="false" />
|
||||||
<set name="is_oly_restricted" val="true" />
|
<set name="is_oly_restricted" val="true" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="etcitem_type" val="ENCHT_AM" />
|
<set name="etcitem_type" val="GIANT_ENCHT_AM" />
|
||||||
<set name="handler" val="EnchantScrolls" />
|
<set name="handler" val="EnchantScrolls" />
|
||||||
<set name="immediate_effect" val="true" />
|
<set name="immediate_effect" val="true" />
|
||||||
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
||||||
|
@@ -42,6 +42,8 @@ public abstract class AbstractEnchantItem
|
|||||||
EtcItemType.BLESS_ENCHT_WP,
|
EtcItemType.BLESS_ENCHT_WP,
|
||||||
EtcItemType.ENCHT_AM,
|
EtcItemType.ENCHT_AM,
|
||||||
EtcItemType.ENCHT_WP,
|
EtcItemType.ENCHT_WP,
|
||||||
|
EtcItemType.GIANT_ENCHT_AM,
|
||||||
|
EtcItemType.GIANT_ENCHT_WP,
|
||||||
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_AM,
|
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_AM,
|
||||||
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_WP,
|
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_WP,
|
||||||
};
|
};
|
||||||
|
@@ -37,6 +37,7 @@ public final class EnchantScroll extends AbstractEnchantItem
|
|||||||
private final boolean _isWeapon;
|
private final boolean _isWeapon;
|
||||||
private final boolean _isBlessed;
|
private final boolean _isBlessed;
|
||||||
private final boolean _isSafe;
|
private final boolean _isSafe;
|
||||||
|
private final boolean _isGiant;
|
||||||
private final int _scrollGroupId;
|
private final int _scrollGroupId;
|
||||||
private Set<Integer> _items;
|
private Set<Integer> _items;
|
||||||
|
|
||||||
@@ -46,9 +47,10 @@ public final class EnchantScroll extends AbstractEnchantItem
|
|||||||
_scrollGroupId = set.getInt("scrollGroupId", 0);
|
_scrollGroupId = set.getInt("scrollGroupId", 0);
|
||||||
|
|
||||||
final ItemType type = getItem().getItemType();
|
final ItemType type = getItem().getItemType();
|
||||||
_isWeapon = (type == EtcItemType.ENCHT_ATTR_ANCIENT_CRYSTAL_ENCHANT_WP) || (type == EtcItemType.BLESS_ENCHT_WP) || (type == EtcItemType.ENCHT_WP);
|
_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);
|
_isBlessed = (type == EtcItemType.BLESS_ENCHT_AM) || (type == EtcItemType.BLESS_ENCHT_WP);
|
||||||
_isSafe = (type == EtcItemType.ENCHT_ATTR_CRYSTAL_ENCHANT_AM) || (type == EtcItemType.ENCHT_ATTR_CRYSTAL_ENCHANT_WP);
|
_isSafe = (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);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -73,6 +75,11 @@ public final class EnchantScroll extends AbstractEnchantItem
|
|||||||
return _isSafe;
|
return _isSafe;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isGiant()
|
||||||
|
{
|
||||||
|
return _isGiant;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return id of scroll group that should be used
|
* @return id of scroll group that should be used
|
||||||
*/
|
*/
|
||||||
|
@@ -42,6 +42,8 @@ public enum EtcItemType implements ItemType
|
|||||||
MATURECROP,
|
MATURECROP,
|
||||||
ENCHT_WP,
|
ENCHT_WP,
|
||||||
ENCHT_AM,
|
ENCHT_AM,
|
||||||
|
GIANT_ENCHT_WP,
|
||||||
|
GIANT_ENCHT_AM,
|
||||||
BLESS_ENCHT_WP,
|
BLESS_ENCHT_WP,
|
||||||
BLESS_ENCHT_AM,
|
BLESS_ENCHT_AM,
|
||||||
COUPON,
|
COUPON,
|
||||||
|
@@ -20,6 +20,7 @@ import java.util.logging.Logger;
|
|||||||
|
|
||||||
import com.l2jmobius.Config;
|
import com.l2jmobius.Config;
|
||||||
import com.l2jmobius.commons.network.PacketReader;
|
import com.l2jmobius.commons.network.PacketReader;
|
||||||
|
import com.l2jmobius.commons.util.Rnd;
|
||||||
import com.l2jmobius.gameserver.data.xml.impl.EnchantItemData;
|
import com.l2jmobius.gameserver.data.xml.impl.EnchantItemData;
|
||||||
import com.l2jmobius.gameserver.enums.ItemSkillType;
|
import com.l2jmobius.gameserver.enums.ItemSkillType;
|
||||||
import com.l2jmobius.gameserver.enums.UserInfoType;
|
import com.l2jmobius.gameserver.enums.UserInfoType;
|
||||||
@@ -183,8 +184,15 @@ public final class RequestEnchantItem implements IClientIncomingPacket
|
|||||||
final L2Item it = item.getItem();
|
final L2Item it = item.getItem();
|
||||||
// Increase enchant level only if scroll's base template has chance, some armors can success over +20 but they shouldn't have increased.
|
// Increase enchant level only if scroll's base template has chance, some armors can success over +20 but they shouldn't have increased.
|
||||||
if (scrollTemplate.getChance(activeChar, item) > 0)
|
if (scrollTemplate.getChance(activeChar, item) > 0)
|
||||||
|
{
|
||||||
|
if (scrollTemplate.isGiant())
|
||||||
|
{
|
||||||
|
item.setEnchantLevel(Math.min(item.getEnchantLevel() + 1 + Rnd.get(3), scrollTemplate.getMaxEnchantLevel()));
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
item.setEnchantLevel(item.getEnchantLevel() + 1);
|
item.setEnchantLevel(item.getEnchantLevel() + 1);
|
||||||
|
}
|
||||||
item.updateDatabase();
|
item.updateDatabase();
|
||||||
}
|
}
|
||||||
client.sendPacket(new EnchantResult(EnchantResult.SUCCESS, item));
|
client.sendPacket(new EnchantResult(EnchantResult.SUCCESS, item));
|
||||||
|
@@ -42,6 +42,8 @@ public abstract class AbstractEnchantItem
|
|||||||
EtcItemType.BLESS_ENCHT_WP,
|
EtcItemType.BLESS_ENCHT_WP,
|
||||||
EtcItemType.ENCHT_AM,
|
EtcItemType.ENCHT_AM,
|
||||||
EtcItemType.ENCHT_WP,
|
EtcItemType.ENCHT_WP,
|
||||||
|
EtcItemType.GIANT_ENCHT_AM,
|
||||||
|
EtcItemType.GIANT_ENCHT_WP,
|
||||||
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_AM,
|
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_AM,
|
||||||
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_WP,
|
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_WP,
|
||||||
};
|
};
|
||||||
|
@@ -37,6 +37,7 @@ public final class EnchantScroll extends AbstractEnchantItem
|
|||||||
private final boolean _isWeapon;
|
private final boolean _isWeapon;
|
||||||
private final boolean _isBlessed;
|
private final boolean _isBlessed;
|
||||||
private final boolean _isSafe;
|
private final boolean _isSafe;
|
||||||
|
private final boolean _isGiant;
|
||||||
private final int _scrollGroupId;
|
private final int _scrollGroupId;
|
||||||
private Set<Integer> _items;
|
private Set<Integer> _items;
|
||||||
|
|
||||||
@@ -46,9 +47,10 @@ public final class EnchantScroll extends AbstractEnchantItem
|
|||||||
_scrollGroupId = set.getInt("scrollGroupId", 0);
|
_scrollGroupId = set.getInt("scrollGroupId", 0);
|
||||||
|
|
||||||
final ItemType type = getItem().getItemType();
|
final ItemType type = getItem().getItemType();
|
||||||
_isWeapon = (type == EtcItemType.ENCHT_ATTR_ANCIENT_CRYSTAL_ENCHANT_WP) || (type == EtcItemType.BLESS_ENCHT_WP) || (type == EtcItemType.ENCHT_WP);
|
_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);
|
_isBlessed = (type == EtcItemType.BLESS_ENCHT_AM) || (type == EtcItemType.BLESS_ENCHT_WP);
|
||||||
_isSafe = (type == EtcItemType.ENCHT_ATTR_CRYSTAL_ENCHANT_AM) || (type == EtcItemType.ENCHT_ATTR_CRYSTAL_ENCHANT_WP);
|
_isSafe = (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);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -73,6 +75,11 @@ public final class EnchantScroll extends AbstractEnchantItem
|
|||||||
return _isSafe;
|
return _isSafe;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isGiant()
|
||||||
|
{
|
||||||
|
return _isGiant;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return id of scroll group that should be used
|
* @return id of scroll group that should be used
|
||||||
*/
|
*/
|
||||||
|
@@ -42,6 +42,8 @@ public enum EtcItemType implements ItemType
|
|||||||
MATURECROP,
|
MATURECROP,
|
||||||
ENCHT_WP,
|
ENCHT_WP,
|
||||||
ENCHT_AM,
|
ENCHT_AM,
|
||||||
|
GIANT_ENCHT_WP,
|
||||||
|
GIANT_ENCHT_AM,
|
||||||
BLESS_ENCHT_WP,
|
BLESS_ENCHT_WP,
|
||||||
BLESS_ENCHT_AM,
|
BLESS_ENCHT_AM,
|
||||||
COUPON,
|
COUPON,
|
||||||
|
@@ -20,6 +20,7 @@ import java.util.logging.Logger;
|
|||||||
|
|
||||||
import com.l2jmobius.Config;
|
import com.l2jmobius.Config;
|
||||||
import com.l2jmobius.commons.network.PacketReader;
|
import com.l2jmobius.commons.network.PacketReader;
|
||||||
|
import com.l2jmobius.commons.util.Rnd;
|
||||||
import com.l2jmobius.gameserver.data.xml.impl.EnchantItemData;
|
import com.l2jmobius.gameserver.data.xml.impl.EnchantItemData;
|
||||||
import com.l2jmobius.gameserver.enums.ItemSkillType;
|
import com.l2jmobius.gameserver.enums.ItemSkillType;
|
||||||
import com.l2jmobius.gameserver.enums.UserInfoType;
|
import com.l2jmobius.gameserver.enums.UserInfoType;
|
||||||
@@ -183,8 +184,15 @@ public final class RequestEnchantItem implements IClientIncomingPacket
|
|||||||
final L2Item it = item.getItem();
|
final L2Item it = item.getItem();
|
||||||
// Increase enchant level only if scroll's base template has chance, some armors can success over +20 but they shouldn't have increased.
|
// Increase enchant level only if scroll's base template has chance, some armors can success over +20 but they shouldn't have increased.
|
||||||
if (scrollTemplate.getChance(activeChar, item) > 0)
|
if (scrollTemplate.getChance(activeChar, item) > 0)
|
||||||
|
{
|
||||||
|
if (scrollTemplate.isGiant())
|
||||||
|
{
|
||||||
|
item.setEnchantLevel(Math.min(item.getEnchantLevel() + 1 + Rnd.get(3), scrollTemplate.getMaxEnchantLevel()));
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
item.setEnchantLevel(item.getEnchantLevel() + 1);
|
item.setEnchantLevel(item.getEnchantLevel() + 1);
|
||||||
|
}
|
||||||
item.updateDatabase();
|
item.updateDatabase();
|
||||||
}
|
}
|
||||||
client.sendPacket(new EnchantResult(EnchantResult.SUCCESS, item));
|
client.sendPacket(new EnchantResult(EnchantResult.SUCCESS, item));
|
||||||
|
Reference in New Issue
Block a user