Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Index: java/org/l2jmobius/gameserver/model/items/enchant/AbstractEnchantItem.java
- ===================================================================
- --- java/org/l2jmobius/gameserver/model/items/enchant/AbstractEnchantItem.java (revision 7809)
- +++ java/org/l2jmobius/gameserver/model/items/enchant/AbstractEnchantItem.java (working copy)
- @@ -39,6 +39,7 @@
- EtcItemType.ENCHT_ATTR_ANCIENT_CRYSTAL_ENCHANT_AM,
- EtcItemType.ENCHT_ATTR_ANCIENT_CRYSTAL_ENCHANT_WP,
- EtcItemType.BLESS_ENCHT_AM,
- + EtcItemType.BLESS_ENCHT_AM_DOWN,
- EtcItemType.BLESS_ENCHT_WP,
- EtcItemType.ENCHT_AM,
- EtcItemType.ENCHT_WP,
- @@ -56,6 +57,7 @@
- private final int _id;
- private final CrystalType _grade;
- + private final int _minEnchantLevel;
- private final int _maxEnchantLevel;
- private final double _bonusRate;
- @@ -71,6 +73,7 @@
- throw new IllegalAccessError();
- }
- _grade = set.getEnum("targetGrade", CrystalType.class, CrystalType.NONE);
- + _minEnchantLevel = set.getInt("maxEnchant", 0);
- _maxEnchantLevel = set.getInt("maxEnchant", 127);
- _bonusRate = set.getDouble("bonusRate", 0);
- }
- @@ -113,6 +116,14 @@
- public abstract boolean isWeapon();
- /**
- + * @return the minimum enchant level that this scroll/item can be used with
- + */
- + public int getMinEnchantLevel()
- + {
- + return _minEnchantLevel;
- + }
- +
- + /**
- * @return the maximum enchant level that this scroll/item can be used with
- */
- public int getMaxEnchantLevel()
- @@ -139,7 +150,7 @@
- {
- return false;
- }
- - else if ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel))
- + else if (((_minEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() < _minEnchantLevel)) && ((_maxEnchantLevel != 0) && (itemToEnchant.getEnchantLevel() >= _maxEnchantLevel)))
- {
- return false;
- }
- Index: java/org/l2jmobius/gameserver/model/items/enchant/EnchantScroll.java
- ===================================================================
- --- java/org/l2jmobius/gameserver/model/items/enchant/EnchantScroll.java (revision 7809)
- +++ java/org/l2jmobius/gameserver/model/items/enchant/EnchantScroll.java (working copy)
- @@ -35,6 +35,7 @@
- {
- private final boolean _isWeapon;
- private final boolean _isBlessed;
- + private final boolean _isBlessedDown;
- private final boolean _isSafe;
- private final boolean _isGiant;
- private final int _scrollGroupId;
- @@ -48,6 +49,7 @@
- final ItemType type = getItem().getItemType();
- _isWeapon = (type == EtcItemType.ENCHT_ATTR_ANCIENT_CRYSTAL_ENCHANT_WP) || (type == EtcItemType.BLESS_ENCHT_WP) || (type == EtcItemType.ENCHT_WP) || (type == EtcItemType.GIANT_ENCHT_WP);
- _isBlessed = (type == EtcItemType.BLESS_ENCHT_AM) || (type == EtcItemType.BLESS_ENCHT_WP) || (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP);
- + _isBlessedDown = (type == EtcItemType.BLESS_ENCHT_AM_DOWN);
- _isSafe = (type == EtcItemType.ENCHT_ATTR_ANCIENT_CRYSTAL_ENCHANT_AM) || (type == EtcItemType.ENCHT_ATTR_ANCIENT_CRYSTAL_ENCHANT_WP) || (type == EtcItemType.ENCHT_ATTR_CRYSTAL_ENCHANT_AM) || (type == EtcItemType.ENCHT_ATTR_CRYSTAL_ENCHANT_WP);
- _isGiant = (type == EtcItemType.GIANT_ENCHT_AM) || (type == EtcItemType.GIANT_ENCHT_WP);
- }
- @@ -59,7 +61,7 @@
- }
- /**
- - * @return {@code true} for blessed scrolls (enchanted item will remain on failure), {@code false} otherwise
- + * @return {@code true} for blessed scrolls (enchanted item will remain on failure and enchant value will reset to 0), {@code false} otherwise
- */
- public boolean isBlessed()
- {
- @@ -67,6 +69,14 @@
- }
- /**
- + * @return {@code true} for blessed scrolls (enchanted item will remain on failure and enchant value will go down by 1), {@code false} otherwise
- + */
- + public boolean isBlessedDown()
- + {
- + return _isBlessedDown;
- + }
- +
- + /**
- * @return {@code true} for safe-enchant scrolls (enchant level will remain on failure), {@code false} otherwise
- */
- public boolean isSafe()
- @@ -123,6 +133,10 @@
- {
- return false;
- }
- + else if ((isBlessedDown() && !supportItem.isBlessed()) || (!isBlessedDown() && supportItem.isBlessed()))
- + {
- + return false;
- + }
- else if ((isGiant() && !supportItem.isGiant()) || (!isGiant() && supportItem.isGiant()))
- {
- return false;
- Index: java/org/l2jmobius/gameserver/model/items/type/EtcItemType.java
- ===================================================================
- --- java/org/l2jmobius/gameserver/model/items/type/EtcItemType.java (revision 7809)
- +++ java/org/l2jmobius/gameserver/model/items/type/EtcItemType.java (working copy)
- @@ -46,6 +46,7 @@
- GIANT_ENCHT_AM,
- BLESS_ENCHT_WP,
- BLESS_ENCHT_AM,
- + BLESS_ENCHT_AM_DOWN,
- COUPON,
- ELIXIR,
- ENCHT_ATTR,
- Index: java/org/l2jmobius/gameserver/network/clientpackets/RequestEnchantItem.java
- ===================================================================
- --- java/org/l2jmobius/gameserver/network/clientpackets/RequestEnchantItem.java (revision 7809)
- +++ java/org/l2jmobius/gameserver/network/clientpackets/RequestEnchantItem.java (working copy)
- @@ -320,12 +320,19 @@
- player.broadcastUserInfo();
- }
- - if (scrollTemplate.isBlessed() || ((supportTemplate != null) && supportTemplate.isBlessed()))
- + if (scrollTemplate.isBlessed() || scrollTemplate.isBlessedDown() || ((supportTemplate != null) && supportTemplate.isBlessed()))
- {
- + // blessed enchant - enchant value down by 1
- + if (scrollTemplate.isBlessedDown())
- + {
- + item.setEnchantLevel(item.getEnchantLevel() - 1);
- + }
- + else
- // blessed enchant - clear enchant value
- - client.sendPacket(SystemMessageId.THE_BLESSED_ENCHANT_FAILED_THE_ENCHANT_VALUE_OF_THE_ITEM_BECAME_0);
- -
- - item.setEnchantLevel(0);
- + {
- + client.sendPacket(SystemMessageId.THE_BLESSED_ENCHANT_FAILED_THE_ENCHANT_VALUE_OF_THE_ITEM_BECAME_0);
- + item.setEnchantLevel(0);
- + }
- item.updateDatabase();
- client.sendPacket(new EnchantResult(EnchantResult.BLESSED_FAIL, 0, 0));
- if (Config.LOG_ITEM_ENCHANTS)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement