From 5483e1a4b77e05768c6f211cb25f8e93fdd5d31a Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Mon, 18 Jul 2022 22:53:17 +0000 Subject: [PATCH] Cursed item enchant adjustments. Contributed by nasseka. --- .../clientpackets/enchant/RequestEnchantItem.java | 12 +++++++++--- .../enchant/multi/ExRequestMultiEnchantItemList.java | 12 +++++++++--- .../enchant/ResetEnchantItemFailRewardInfo.java | 2 +- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/enchant/RequestEnchantItem.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/enchant/RequestEnchantItem.java index e67d72c0f7..0cc814ff40 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/enchant/RequestEnchantItem.java +++ b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/enchant/RequestEnchantItem.java @@ -184,8 +184,14 @@ public class RequestEnchantItem implements IClientIncomingPacket case SUCCESS: { final ItemTemplate it = item.getTemplate(); + if (scrollTemplate.isCursed()) + { + // Blessed enchant: Enchant value down by 1. + client.sendPacket(SystemMessageId.THE_ENCHANT_VALUE_IS_DECREASED_BY_1); + item.setEnchantLevel(item.getEnchantLevel() - 1); + } // 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(player, item) > 0) + else if (scrollTemplate.getChance(player, item) > 0) { if (supportTemplate != null) { @@ -314,10 +320,10 @@ public class RequestEnchantItem implements IClientIncomingPacket player.broadcastUserInfo(); } - if (scrollTemplate.isBlessed() || scrollTemplate.isBlessedDown() /* || ((supportTemplate != null) && supportTemplate.isDown()) */ || ((supportTemplate != null) && supportTemplate.isBlessed())) + if (scrollTemplate.isBlessed() || scrollTemplate.isBlessedDown() || scrollTemplate.isCursed() /* || ((supportTemplate != null) && supportTemplate.isDown()) */ || ((supportTemplate != null) && supportTemplate.isBlessed())) { // Blessed enchant: Enchant value down by 1. - if (scrollTemplate.isBlessedDown() /* || ((supportTemplate != null) && supportTemplate.isDown()) */) + if (scrollTemplate.isBlessedDown() || scrollTemplate.isCursed() /* || ((supportTemplate != null) && supportTemplate.isDown()) */) { client.sendPacket(SystemMessageId.THE_ENCHANT_VALUE_IS_DECREASED_BY_1); item.setEnchantLevel(item.getEnchantLevel() - 1); diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/enchant/multi/ExRequestMultiEnchantItemList.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/enchant/multi/ExRequestMultiEnchantItemList.java index ddac323b4a..794f29ec75 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/enchant/multi/ExRequestMultiEnchantItemList.java +++ b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/enchant/multi/ExRequestMultiEnchantItemList.java @@ -167,8 +167,14 @@ public class ExRequestMultiEnchantItemList implements IClientIncomingPacket } case SUCCESS: { + if (scrollTemplate.isCursed()) + { + // Blessed enchant: Enchant value down by 1. + client.sendPacket(SystemMessageId.THE_ENCHANT_VALUE_IS_DECREASED_BY_1); + enchantItem.setEnchantLevel(enchantItem.getEnchantLevel() - 1); + } // 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(player, enchantItem) > 0) + else if (scrollTemplate.getChance(player, enchantItem) > 0) { enchantItem.setEnchantLevel(enchantItem.getEnchantLevel() + Math.min(Rnd.get(scrollTemplate.getRandomEnchantMin(), scrollTemplate.getRandomEnchantMax()), scrollTemplate.getMaxEnchantLevel())); enchantItem.updateDatabase(); @@ -206,10 +212,10 @@ public class ExRequestMultiEnchantItemList implements IClientIncomingPacket } } } - if (scrollTemplate.isBlessed() || scrollTemplate.isBlessedDown()) + if (scrollTemplate.isBlessed() || scrollTemplate.isBlessedDown() || scrollTemplate.isCursed()) { // Blessed enchant: Enchant value down by 1. - if (scrollTemplate.isBlessedDown()) + if (scrollTemplate.isBlessedDown() || scrollTemplate.isCursed()) { client.sendPacket(SystemMessageId.THE_ENCHANT_VALUE_IS_DECREASED_BY_1); enchantItem.setEnchantLevel(enchantItem.getEnchantLevel() - 1); diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/serverpackets/enchant/ResetEnchantItemFailRewardInfo.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/serverpackets/enchant/ResetEnchantItemFailRewardInfo.java index 3850869e90..5b36e60ae2 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/serverpackets/enchant/ResetEnchantItemFailRewardInfo.java +++ b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/serverpackets/enchant/ResetEnchantItemFailRewardInfo.java @@ -68,7 +68,7 @@ public class ResetEnchantItemFailRewardInfo implements IClientOutgoingPacket { addedItem.setEnchantLevel(0); } - else if (enchantScroll.isBlessedDown() /* || ((request.getSupportItem() != null) && (enchantSupportItem != null) && enchantSupportItem.isDown()) */) + else if (enchantScroll.isBlessedDown() || enchantScroll.isCursed() /* || ((request.getSupportItem() != null) && (enchantSupportItem != null) && enchantSupportItem.isDown()) */) { addedItem.setEnchantLevel(enchantItem.getEnchantLevel() - 1); }