Giant scrolls.
Contributed by Ofelin.
This commit is contained in:
parent
e0df4e1992
commit
cef624e6cd
@ -99,7 +99,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -122,7 +122,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -145,7 +145,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -168,7 +168,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -191,7 +191,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -214,7 +214,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -237,7 +237,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -260,7 +260,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -283,7 +283,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -306,7 +306,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -329,7 +329,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -352,7 +352,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
|
@ -1035,7 +1035,7 @@
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<set name="commissionItemType" val="SCROLL_ENCHANT_WEAPON" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -1052,7 +1052,7 @@
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
||||
|
@ -958,7 +958,7 @@
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -975,7 +975,7 @@
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -992,7 +992,7 @@
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -1010,7 +1010,7 @@
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
||||
@ -1027,7 +1027,7 @@
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
||||
@ -1044,7 +1044,7 @@
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
||||
|
@ -42,6 +42,8 @@ public abstract class AbstractEnchantItem
|
||||
EtcItemType.BLESS_ENCHT_WP,
|
||||
EtcItemType.ENCHT_AM,
|
||||
EtcItemType.ENCHT_WP,
|
||||
EtcItemType.GIANT_ENCHT_AM,
|
||||
EtcItemType.GIANT_ENCHT_WP,
|
||||
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_AM,
|
||||
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_WP,
|
||||
};
|
||||
|
@ -37,6 +37,7 @@ public final class EnchantScroll extends AbstractEnchantItem
|
||||
private final boolean _isWeapon;
|
||||
private final boolean _isBlessed;
|
||||
private final boolean _isSafe;
|
||||
private final boolean _isGiant;
|
||||
private final int _scrollGroupId;
|
||||
private Set<Integer> _items;
|
||||
|
||||
@ -46,9 +47,10 @@ public final class EnchantScroll extends AbstractEnchantItem
|
||||
_scrollGroupId = set.getInt("scrollGroupId", 0);
|
||||
|
||||
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);
|
||||
_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
|
||||
@ -73,6 +75,11 @@ public final class EnchantScroll extends AbstractEnchantItem
|
||||
return _isSafe;
|
||||
}
|
||||
|
||||
public boolean isGiant()
|
||||
{
|
||||
return _isGiant;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return id of scroll group that should be used
|
||||
*/
|
||||
|
@ -42,6 +42,8 @@ public enum EtcItemType implements ItemType
|
||||
MATURECROP,
|
||||
ENCHT_WP,
|
||||
ENCHT_AM,
|
||||
GIANT_ENCHT_WP,
|
||||
GIANT_ENCHT_AM,
|
||||
BLESS_ENCHT_WP,
|
||||
BLESS_ENCHT_AM,
|
||||
COUPON,
|
||||
|
@ -20,6 +20,7 @@ import java.util.logging.Logger;
|
||||
|
||||
import com.l2jmobius.Config;
|
||||
import com.l2jmobius.commons.network.PacketReader;
|
||||
import com.l2jmobius.commons.util.Rnd;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.EnchantItemData;
|
||||
import com.l2jmobius.gameserver.enums.ItemSkillType;
|
||||
import com.l2jmobius.gameserver.enums.UserInfoType;
|
||||
@ -184,7 +185,14 @@ public final class RequestEnchantItem implements IClientIncomingPacket
|
||||
// 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)
|
||||
{
|
||||
item.setEnchantLevel(item.getEnchantLevel() + 1);
|
||||
if (scrollTemplate.isGiant())
|
||||
{
|
||||
item.setEnchantLevel(Math.min(item.getEnchantLevel() + 1 + Rnd.get(3), scrollTemplate.getMaxEnchantLevel()));
|
||||
}
|
||||
else
|
||||
{
|
||||
item.setEnchantLevel(item.getEnchantLevel() + 1);
|
||||
}
|
||||
item.updateDatabase();
|
||||
}
|
||||
client.sendPacket(new EnchantResult(EnchantResult.SUCCESS, item));
|
||||
|
@ -99,7 +99,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -122,7 +122,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -145,7 +145,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -168,7 +168,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -191,7 +191,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -214,7 +214,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -237,7 +237,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -260,7 +260,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -283,7 +283,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -306,7 +306,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -329,7 +329,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -352,7 +352,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
|
@ -1035,7 +1035,7 @@
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<set name="commissionItemType" val="SCROLL_ENCHANT_WEAPON" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -1052,7 +1052,7 @@
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
||||
|
@ -958,7 +958,7 @@
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -975,7 +975,7 @@
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -992,7 +992,7 @@
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -1010,7 +1010,7 @@
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
||||
@ -1027,7 +1027,7 @@
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
||||
@ -1044,7 +1044,7 @@
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
||||
|
@ -42,6 +42,8 @@ public abstract class AbstractEnchantItem
|
||||
EtcItemType.BLESS_ENCHT_WP,
|
||||
EtcItemType.ENCHT_AM,
|
||||
EtcItemType.ENCHT_WP,
|
||||
EtcItemType.GIANT_ENCHT_AM,
|
||||
EtcItemType.GIANT_ENCHT_WP,
|
||||
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_AM,
|
||||
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_WP,
|
||||
};
|
||||
|
@ -37,6 +37,7 @@ public final class EnchantScroll extends AbstractEnchantItem
|
||||
private final boolean _isWeapon;
|
||||
private final boolean _isBlessed;
|
||||
private final boolean _isSafe;
|
||||
private final boolean _isGiant;
|
||||
private final int _scrollGroupId;
|
||||
private Set<Integer> _items;
|
||||
|
||||
@ -46,9 +47,10 @@ public final class EnchantScroll extends AbstractEnchantItem
|
||||
_scrollGroupId = set.getInt("scrollGroupId", 0);
|
||||
|
||||
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);
|
||||
_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
|
||||
@ -73,6 +75,11 @@ public final class EnchantScroll extends AbstractEnchantItem
|
||||
return _isSafe;
|
||||
}
|
||||
|
||||
public boolean isGiant()
|
||||
{
|
||||
return _isGiant;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return id of scroll group that should be used
|
||||
*/
|
||||
|
@ -42,6 +42,8 @@ public enum EtcItemType implements ItemType
|
||||
MATURECROP,
|
||||
ENCHT_WP,
|
||||
ENCHT_AM,
|
||||
GIANT_ENCHT_WP,
|
||||
GIANT_ENCHT_AM,
|
||||
BLESS_ENCHT_WP,
|
||||
BLESS_ENCHT_AM,
|
||||
COUPON,
|
||||
|
@ -20,6 +20,7 @@ import java.util.logging.Logger;
|
||||
|
||||
import com.l2jmobius.Config;
|
||||
import com.l2jmobius.commons.network.PacketReader;
|
||||
import com.l2jmobius.commons.util.Rnd;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.EnchantItemData;
|
||||
import com.l2jmobius.gameserver.enums.ItemSkillType;
|
||||
import com.l2jmobius.gameserver.enums.UserInfoType;
|
||||
@ -184,7 +185,14 @@ public final class RequestEnchantItem implements IClientIncomingPacket
|
||||
// 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)
|
||||
{
|
||||
item.setEnchantLevel(item.getEnchantLevel() + 1);
|
||||
if (scrollTemplate.isGiant())
|
||||
{
|
||||
item.setEnchantLevel(Math.min(item.getEnchantLevel() + 1 + Rnd.get(3), scrollTemplate.getMaxEnchantLevel()));
|
||||
}
|
||||
else
|
||||
{
|
||||
item.setEnchantLevel(item.getEnchantLevel() + 1);
|
||||
}
|
||||
item.updateDatabase();
|
||||
}
|
||||
client.sendPacket(new EnchantResult(EnchantResult.SUCCESS, item));
|
||||
|
@ -99,7 +99,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -122,7 +122,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -145,7 +145,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -168,7 +168,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -191,7 +191,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -214,7 +214,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -237,7 +237,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -260,7 +260,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -283,7 +283,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -306,7 +306,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -329,7 +329,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -352,7 +352,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
|
@ -1035,7 +1035,7 @@
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<set name="commissionItemType" val="SCROLL_ENCHANT_WEAPON" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -1052,7 +1052,7 @@
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
||||
|
@ -958,7 +958,7 @@
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -975,7 +975,7 @@
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -992,7 +992,7 @@
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -1010,7 +1010,7 @@
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
||||
@ -1027,7 +1027,7 @@
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
||||
@ -1044,7 +1044,7 @@
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
||||
|
@ -42,6 +42,8 @@ public abstract class AbstractEnchantItem
|
||||
EtcItemType.BLESS_ENCHT_WP,
|
||||
EtcItemType.ENCHT_AM,
|
||||
EtcItemType.ENCHT_WP,
|
||||
EtcItemType.GIANT_ENCHT_AM,
|
||||
EtcItemType.GIANT_ENCHT_WP,
|
||||
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_AM,
|
||||
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_WP,
|
||||
};
|
||||
|
@ -37,6 +37,7 @@ public final class EnchantScroll extends AbstractEnchantItem
|
||||
private final boolean _isWeapon;
|
||||
private final boolean _isBlessed;
|
||||
private final boolean _isSafe;
|
||||
private final boolean _isGiant;
|
||||
private final int _scrollGroupId;
|
||||
private Set<Integer> _items;
|
||||
|
||||
@ -46,9 +47,10 @@ public final class EnchantScroll extends AbstractEnchantItem
|
||||
_scrollGroupId = set.getInt("scrollGroupId", 0);
|
||||
|
||||
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);
|
||||
_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
|
||||
@ -73,6 +75,11 @@ public final class EnchantScroll extends AbstractEnchantItem
|
||||
return _isSafe;
|
||||
}
|
||||
|
||||
public boolean isGiant()
|
||||
{
|
||||
return _isGiant;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return id of scroll group that should be used
|
||||
*/
|
||||
|
@ -42,6 +42,8 @@ public enum EtcItemType implements ItemType
|
||||
MATURECROP,
|
||||
ENCHT_WP,
|
||||
ENCHT_AM,
|
||||
GIANT_ENCHT_WP,
|
||||
GIANT_ENCHT_AM,
|
||||
BLESS_ENCHT_WP,
|
||||
BLESS_ENCHT_AM,
|
||||
COUPON,
|
||||
|
@ -20,6 +20,7 @@ import java.util.logging.Logger;
|
||||
|
||||
import com.l2jmobius.Config;
|
||||
import com.l2jmobius.commons.network.PacketReader;
|
||||
import com.l2jmobius.commons.util.Rnd;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.EnchantItemData;
|
||||
import com.l2jmobius.gameserver.enums.ItemSkillType;
|
||||
import com.l2jmobius.gameserver.enums.UserInfoType;
|
||||
@ -184,7 +185,14 @@ public final class RequestEnchantItem implements IClientIncomingPacket
|
||||
// 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)
|
||||
{
|
||||
item.setEnchantLevel(item.getEnchantLevel() + 1);
|
||||
if (scrollTemplate.isGiant())
|
||||
{
|
||||
item.setEnchantLevel(Math.min(item.getEnchantLevel() + 1 + Rnd.get(3), scrollTemplate.getMaxEnchantLevel()));
|
||||
}
|
||||
else
|
||||
{
|
||||
item.setEnchantLevel(item.getEnchantLevel() + 1);
|
||||
}
|
||||
item.updateDatabase();
|
||||
}
|
||||
client.sendPacket(new EnchantResult(EnchantResult.SUCCESS, item));
|
||||
|
@ -99,7 +99,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -122,7 +122,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -145,7 +145,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -168,7 +168,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -191,7 +191,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -214,7 +214,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -237,7 +237,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -260,7 +260,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -283,7 +283,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -306,7 +306,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -329,7 +329,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -352,7 +352,7 @@
|
||||
<set name="is_private_storeable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
|
@ -1035,7 +1035,7 @@
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<set name="commissionItemType" val="SCROLL_ENCHANT_WEAPON" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -1052,7 +1052,7 @@
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
||||
|
@ -958,7 +958,7 @@
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -975,7 +975,7 @@
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -992,7 +992,7 @@
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="is_stackable" val="true" />
|
||||
@ -1010,7 +1010,7 @@
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
||||
@ -1027,7 +1027,7 @@
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
||||
@ -1044,7 +1044,7 @@
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_oly_restricted" val="true" />
|
||||
<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="immediate_effect" val="true" />
|
||||
<set name="commissionItemType" val="SCROLL_ENCHANT_ARMOR" />
|
||||
|
@ -42,6 +42,8 @@ public abstract class AbstractEnchantItem
|
||||
EtcItemType.BLESS_ENCHT_WP,
|
||||
EtcItemType.ENCHT_AM,
|
||||
EtcItemType.ENCHT_WP,
|
||||
EtcItemType.GIANT_ENCHT_AM,
|
||||
EtcItemType.GIANT_ENCHT_WP,
|
||||
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_AM,
|
||||
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_WP,
|
||||
};
|
||||
|
@ -37,6 +37,7 @@ public final class EnchantScroll extends AbstractEnchantItem
|
||||
private final boolean _isWeapon;
|
||||
private final boolean _isBlessed;
|
||||
private final boolean _isSafe;
|
||||
private final boolean _isGiant;
|
||||
private final int _scrollGroupId;
|
||||
private Set<Integer> _items;
|
||||
|
||||
@ -46,9 +47,10 @@ public final class EnchantScroll extends AbstractEnchantItem
|
||||
_scrollGroupId = set.getInt("scrollGroupId", 0);
|
||||
|
||||
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);
|
||||
_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
|
||||
@ -73,6 +75,11 @@ public final class EnchantScroll extends AbstractEnchantItem
|
||||
return _isSafe;
|
||||
}
|
||||
|
||||
public boolean isGiant()
|
||||
{
|
||||
return _isGiant;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return id of scroll group that should be used
|
||||
*/
|
||||
|
@ -42,6 +42,8 @@ public enum EtcItemType implements ItemType
|
||||
MATURECROP,
|
||||
ENCHT_WP,
|
||||
ENCHT_AM,
|
||||
GIANT_ENCHT_WP,
|
||||
GIANT_ENCHT_AM,
|
||||
BLESS_ENCHT_WP,
|
||||
BLESS_ENCHT_AM,
|
||||
COUPON,
|
||||
|
@ -20,6 +20,7 @@ import java.util.logging.Logger;
|
||||
|
||||
import com.l2jmobius.Config;
|
||||
import com.l2jmobius.commons.network.PacketReader;
|
||||
import com.l2jmobius.commons.util.Rnd;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.EnchantItemData;
|
||||
import com.l2jmobius.gameserver.enums.ItemSkillType;
|
||||
import com.l2jmobius.gameserver.enums.UserInfoType;
|
||||
@ -184,7 +185,14 @@ public final class RequestEnchantItem implements IClientIncomingPacket
|
||||
// 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)
|
||||
{
|
||||
item.setEnchantLevel(item.getEnchantLevel() + 1);
|
||||
if (scrollTemplate.isGiant())
|
||||
{
|
||||
item.setEnchantLevel(Math.min(item.getEnchantLevel() + 1 + Rnd.get(3), scrollTemplate.getMaxEnchantLevel()));
|
||||
}
|
||||
else
|
||||
{
|
||||
item.setEnchantLevel(item.getEnchantLevel() + 1);
|
||||
}
|
||||
item.updateDatabase();
|
||||
}
|
||||
client.sendPacket(new EnchantResult(EnchantResult.SUCCESS, item));
|
||||
|
@ -42,6 +42,8 @@ public abstract class AbstractEnchantItem
|
||||
EtcItemType.BLESS_ENCHT_WP,
|
||||
EtcItemType.ENCHT_AM,
|
||||
EtcItemType.ENCHT_WP,
|
||||
EtcItemType.GIANT_ENCHT_AM,
|
||||
EtcItemType.GIANT_ENCHT_WP,
|
||||
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_AM,
|
||||
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_WP,
|
||||
};
|
||||
|
@ -37,6 +37,7 @@ public final class EnchantScroll extends AbstractEnchantItem
|
||||
private final boolean _isWeapon;
|
||||
private final boolean _isBlessed;
|
||||
private final boolean _isSafe;
|
||||
private final boolean _isGiant;
|
||||
private final int _scrollGroupId;
|
||||
private Set<Integer> _items;
|
||||
|
||||
@ -46,9 +47,10 @@ public final class EnchantScroll extends AbstractEnchantItem
|
||||
_scrollGroupId = set.getInt("scrollGroupId", 0);
|
||||
|
||||
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);
|
||||
_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
|
||||
@ -73,6 +75,11 @@ public final class EnchantScroll extends AbstractEnchantItem
|
||||
return _isSafe;
|
||||
}
|
||||
|
||||
public boolean isGiant()
|
||||
{
|
||||
return _isGiant;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return id of scroll group that should be used
|
||||
*/
|
||||
|
@ -42,6 +42,8 @@ public enum EtcItemType implements ItemType
|
||||
MATURECROP,
|
||||
ENCHT_WP,
|
||||
ENCHT_AM,
|
||||
GIANT_ENCHT_WP,
|
||||
GIANT_ENCHT_AM,
|
||||
BLESS_ENCHT_WP,
|
||||
BLESS_ENCHT_AM,
|
||||
COUPON,
|
||||
|
@ -20,6 +20,7 @@ import java.util.logging.Logger;
|
||||
|
||||
import com.l2jmobius.Config;
|
||||
import com.l2jmobius.commons.network.PacketReader;
|
||||
import com.l2jmobius.commons.util.Rnd;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.EnchantItemData;
|
||||
import com.l2jmobius.gameserver.enums.ItemSkillType;
|
||||
import com.l2jmobius.gameserver.enums.UserInfoType;
|
||||
@ -184,7 +185,14 @@ public final class RequestEnchantItem implements IClientIncomingPacket
|
||||
// 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)
|
||||
{
|
||||
item.setEnchantLevel(item.getEnchantLevel() + 1);
|
||||
if (scrollTemplate.isGiant())
|
||||
{
|
||||
item.setEnchantLevel(Math.min(item.getEnchantLevel() + 1 + Rnd.get(3), scrollTemplate.getMaxEnchantLevel()));
|
||||
}
|
||||
else
|
||||
{
|
||||
item.setEnchantLevel(item.getEnchantLevel() + 1);
|
||||
}
|
||||
item.updateDatabase();
|
||||
}
|
||||
client.sendPacket(new EnchantResult(EnchantResult.SUCCESS, item));
|
||||
|
Loading…
Reference in New Issue
Block a user