Cursed item enchant adjustments.

Contributed by nasseka.
This commit is contained in:
MobiusDevelopment
2022-07-18 22:53:17 +00:00
parent a732e1a784
commit 5483e1a4b7
3 changed files with 19 additions and 7 deletions

View File

@@ -184,8 +184,14 @@ public class RequestEnchantItem implements IClientIncomingPacket
case SUCCESS: case SUCCESS:
{ {
final ItemTemplate it = item.getTemplate(); 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. // 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) if (supportTemplate != null)
{ {
@@ -314,10 +320,10 @@ public class RequestEnchantItem implements IClientIncomingPacket
player.broadcastUserInfo(); 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. // 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); client.sendPacket(SystemMessageId.THE_ENCHANT_VALUE_IS_DECREASED_BY_1);
item.setEnchantLevel(item.getEnchantLevel() - 1); item.setEnchantLevel(item.getEnchantLevel() - 1);

View File

@@ -167,8 +167,14 @@ public class ExRequestMultiEnchantItemList implements IClientIncomingPacket
} }
case SUCCESS: 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. // 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.setEnchantLevel(enchantItem.getEnchantLevel() + Math.min(Rnd.get(scrollTemplate.getRandomEnchantMin(), scrollTemplate.getRandomEnchantMax()), scrollTemplate.getMaxEnchantLevel()));
enchantItem.updateDatabase(); 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. // 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); client.sendPacket(SystemMessageId.THE_ENCHANT_VALUE_IS_DECREASED_BY_1);
enchantItem.setEnchantLevel(enchantItem.getEnchantLevel() - 1); enchantItem.setEnchantLevel(enchantItem.getEnchantLevel() - 1);

View File

@@ -68,7 +68,7 @@ public class ResetEnchantItemFailRewardInfo implements IClientOutgoingPacket
{ {
addedItem.setEnchantLevel(0); 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); addedItem.setEnchantLevel(enchantItem.getEnchantLevel() - 1);
} }