From 48a4fd64439a34407f9fb3fd795450ba38dc6081 Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Thu, 5 May 2022 22:28:13 +0000 Subject: [PATCH] Applying new augments should remove existing. Contributed by nasseka. --- .../variation/ExApplyVariationOption.java | 25 +++++++++---------- .../variation/ExApplyVariationOption.java | 25 +++++++++---------- 2 files changed, 24 insertions(+), 26 deletions(-) diff --git a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/variation/ExApplyVariationOption.java b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/variation/ExApplyVariationOption.java index d51bc1e9ff..ee423335ec 100644 --- a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/variation/ExApplyVariationOption.java +++ b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/variation/ExApplyVariationOption.java @@ -59,6 +59,17 @@ public class ExApplyVariationOption implements IClientIncomingPacket final int option1Id = augment.getOption1Id(); final int option2Id = augment.getOption2Id(); + // Unequip item. + final InventoryUpdate iu = new InventoryUpdate(); + if (targetItem.isEquipped()) + { + for (Item itm : player.getInventory().unEquipItemInSlotAndRecord(targetItem.getLocationSlot())) + { + iu.addModifiedItem(itm); + } + player.broadcastUserInfo(); + } + if ((targetItem.getObjectId() != _enchantedObjectId) || (_option1 != option1Id) || (_option2 != option2Id)) { player.sendPacket(new ApplyVariationOption(0, 0, 0, 0)); @@ -73,21 +84,9 @@ public class ExApplyVariationOption implements IClientIncomingPacket targetItem.setAugmentation(augment, true); - // Unequip item. - final InventoryUpdate iu = new InventoryUpdate(); - if (targetItem.isEquipped()) - { - for (Item itm : player.getInventory().unEquipItemInSlotAndRecord(targetItem.getLocationSlot())) - { - iu.addModifiedItem(itm); - } - player.broadcastUserInfo(); - } - iu.addModifiedItem(targetItem); player.sendInventoryUpdate(iu); - - player.removeRequest(VariationRequest.class); player.sendPacket(new ApplyVariationOption(1, _enchantedObjectId, _option1, _option2)); + player.removeRequest(VariationRequest.class); } } \ No newline at end of file diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/variation/ExApplyVariationOption.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/variation/ExApplyVariationOption.java index d51bc1e9ff..ee423335ec 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/variation/ExApplyVariationOption.java +++ b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/variation/ExApplyVariationOption.java @@ -59,6 +59,17 @@ public class ExApplyVariationOption implements IClientIncomingPacket final int option1Id = augment.getOption1Id(); final int option2Id = augment.getOption2Id(); + // Unequip item. + final InventoryUpdate iu = new InventoryUpdate(); + if (targetItem.isEquipped()) + { + for (Item itm : player.getInventory().unEquipItemInSlotAndRecord(targetItem.getLocationSlot())) + { + iu.addModifiedItem(itm); + } + player.broadcastUserInfo(); + } + if ((targetItem.getObjectId() != _enchantedObjectId) || (_option1 != option1Id) || (_option2 != option2Id)) { player.sendPacket(new ApplyVariationOption(0, 0, 0, 0)); @@ -73,21 +84,9 @@ public class ExApplyVariationOption implements IClientIncomingPacket targetItem.setAugmentation(augment, true); - // Unequip item. - final InventoryUpdate iu = new InventoryUpdate(); - if (targetItem.isEquipped()) - { - for (Item itm : player.getInventory().unEquipItemInSlotAndRecord(targetItem.getLocationSlot())) - { - iu.addModifiedItem(itm); - } - player.broadcastUserInfo(); - } - iu.addModifiedItem(targetItem); player.sendInventoryUpdate(iu); - - player.removeRequest(VariationRequest.class); player.sendPacket(new ApplyVariationOption(1, _enchantedObjectId, _option1, _option2)); + player.removeRequest(VariationRequest.class); } } \ No newline at end of file