From c99a13ca013d73e6776b54fdfae7cbe582828602 Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Mon, 16 May 2022 23:02:50 +0000 Subject: [PATCH] Fixed augmentation last stone display. Contributed by Index. --- .../RequestConfirmRefinerItem.java | 2 +- .../variation/RequestRefine.java | 33 ++++++++----------- .../ExPutIntensiveResultForVariationMake.java | 14 +++----- .../serverpackets/ExVariationResult.java | 7 ++-- .../RequestConfirmRefinerItem.java | 2 +- .../variation/RequestRefine.java | 33 ++++++++----------- .../ExPutIntensiveResultForVariationMake.java | 14 +++----- .../serverpackets/ExVariationResult.java | 7 ++-- 8 files changed, 46 insertions(+), 66 deletions(-) diff --git a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/RequestConfirmRefinerItem.java b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/RequestConfirmRefinerItem.java index f95c21b0bd..fbe18d9e4c 100644 --- a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/RequestConfirmRefinerItem.java +++ b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/RequestConfirmRefinerItem.java @@ -70,6 +70,6 @@ public class RequestConfirmRefinerItem extends AbstractRefinePacket return; } - player.sendPacket(new ExPutIntensiveResultForVariationMake(_refinerItemObjId, refinerItem.getId(), fee.getItemId(), fee.getItemCount())); + player.sendPacket(new ExPutIntensiveResultForVariationMake(_refinerItemObjId, refinerItem.getId(), 1)); } } diff --git a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/variation/RequestRefine.java b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/variation/RequestRefine.java index c66eb248f9..e9b8698c8d 100644 --- a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/variation/RequestRefine.java +++ b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/variation/RequestRefine.java @@ -84,14 +84,14 @@ public class RequestRefine extends AbstractRefinePacket if (!isValid(player, targetItem, mineralItem, feeItem, fee)) { - player.sendPacket(new ExVariationResult(0, 0, false)); + player.sendPacket(ExVariationResult.FAIL); player.sendPacket(SystemMessageId.AUGMENTATION_FAILED_DUE_TO_INAPPROPRIATE_CONDITIONS); return; } if (_feeCount <= 0) { - player.sendPacket(new ExVariationResult(0, 0, false)); + player.sendPacket(ExVariationResult.FAIL); player.sendPacket(SystemMessageId.AUGMENTATION_FAILED_DUE_TO_INAPPROPRIATE_CONDITIONS); return; } @@ -99,7 +99,7 @@ public class RequestRefine extends AbstractRefinePacket final long adenaFee = fee.getAdenaFee(); if ((adenaFee > 0) && (player.getAdena() < adenaFee)) { - player.sendPacket(new ExVariationResult(0, 0, false)); + player.sendPacket(ExVariationResult.FAIL); player.sendPacket(SystemMessageId.AUGMENTATION_FAILED_DUE_TO_INAPPROPRIATE_CONDITIONS); return; } @@ -107,14 +107,14 @@ public class RequestRefine extends AbstractRefinePacket final Variation variation = VariationData.getInstance().getVariation(mineralItem.getId()); if (variation == null) { - player.sendPacket(new ExVariationResult(0, 0, false)); + player.sendPacket(ExVariationResult.FAIL); return; } VariationInstance augment = VariationData.getInstance().generateRandomVariation(variation, targetItem); if (augment == null) { - player.sendPacket(new ExVariationResult(0, 0, false)); + player.sendPacket(ExVariationResult.FAIL); return; } @@ -137,35 +137,30 @@ public class RequestRefine extends AbstractRefinePacket } } + player.sendPacket(new ExVariationResult(augment.getOption1Id(), augment.getOption2Id(), true)); + // Consume the life stone. - if (!player.destroyItem("RequestRefine", mineralItem, 1, null, false)) - { - return; - } + player.destroyItem("RequestRefine", mineralItem, 1, null, false); // Consume the gemstones. - if ((feeItem != null) && !player.destroyItem("RequestRefine", feeItem, _feeCount, null, false)) + if (feeItem != null) { - return; + player.destroyItem("RequestRefine", feeItem, _feeCount, null, false); } // Consume Adena. - if ((adenaFee > 0) && !player.reduceAdena("RequestRefine", adenaFee, player, false)) + if (adenaFee > 0) { - return; + player.reduceAdena("RequestRefine", adenaFee, player, false); } + // Request (continues at ExApplyVariationOption). if (player.getRequest(VariationRequest.class) == null) { player.addRequest(new VariationRequest(player)); } - - VariationRequest request = player.getRequest(VariationRequest.class); + final VariationRequest request = player.getRequest(VariationRequest.class); request.setAugmentedItem(_targetItemObjId); - request.setMineralItem(_mineralItemObjId); request.setAugment(augment); - - player.sendPacket(new ExVariationResult(augment.getOption1Id(), augment.getOption2Id(), true)); - } } diff --git a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/serverpackets/ExPutIntensiveResultForVariationMake.java b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/serverpackets/ExPutIntensiveResultForVariationMake.java index 95c0c0e4e1..40db72d92d 100644 --- a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/serverpackets/ExPutIntensiveResultForVariationMake.java +++ b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/serverpackets/ExPutIntensiveResultForVariationMake.java @@ -23,17 +23,13 @@ public class ExPutIntensiveResultForVariationMake implements IClientOutgoingPack { private final int _refinerItemObjId; private final int _lifestoneItemId; - private final int _gemstoneItemId; - private final long _gemstoneCount; - private final int _unk2; + private final int _insertResult; - public ExPutIntensiveResultForVariationMake(int refinerItemObjId, int lifeStoneId, int gemstoneItemId, long gemstoneCount) + public ExPutIntensiveResultForVariationMake(int refinerItemObjId, int lifeStoneId, int insertResult) { _refinerItemObjId = refinerItemObjId; _lifestoneItemId = lifeStoneId; - _gemstoneItemId = gemstoneItemId; - _gemstoneCount = gemstoneCount; - _unk2 = 1; + _insertResult = insertResult; } @Override @@ -42,9 +38,7 @@ public class ExPutIntensiveResultForVariationMake implements IClientOutgoingPack OutgoingPackets.EX_PUT_INTENSIVE_RESULT_FOR_VARIATION_MAKE.writeId(packet); packet.writeD(_refinerItemObjId); packet.writeD(_lifestoneItemId); - packet.writeD(_gemstoneItemId); - packet.writeQ(_gemstoneCount); - packet.writeD(_unk2); + packet.writeC(_insertResult); return true; } } diff --git a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/serverpackets/ExVariationResult.java b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/serverpackets/ExVariationResult.java index 4fde190ae2..81c9ad66f9 100644 --- a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/serverpackets/ExVariationResult.java +++ b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/serverpackets/ExVariationResult.java @@ -19,11 +19,10 @@ package org.l2jmobius.gameserver.network.serverpackets; import org.l2jmobius.commons.network.PacketWriter; import org.l2jmobius.gameserver.network.OutgoingPackets; -/** - * Format: (ch)ddd - */ public class ExVariationResult implements IClientOutgoingPacket { + public static final ExVariationResult FAIL = new ExVariationResult(0, 0, false); + private final int _option1; private final int _option2; private final int _success; @@ -41,6 +40,8 @@ public class ExVariationResult implements IClientOutgoingPacket OutgoingPackets.EX_VARIATION_RESULT.writeId(packet); packet.writeD(_option1); packet.writeD(_option2); + packet.writeQ(0); // GemStoneCount + packet.writeQ(0); // NecessaryGemStoneCount packet.writeD(_success); return true; } diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/RequestConfirmRefinerItem.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/RequestConfirmRefinerItem.java index f95c21b0bd..fbe18d9e4c 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/RequestConfirmRefinerItem.java +++ b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/RequestConfirmRefinerItem.java @@ -70,6 +70,6 @@ public class RequestConfirmRefinerItem extends AbstractRefinePacket return; } - player.sendPacket(new ExPutIntensiveResultForVariationMake(_refinerItemObjId, refinerItem.getId(), fee.getItemId(), fee.getItemCount())); + player.sendPacket(new ExPutIntensiveResultForVariationMake(_refinerItemObjId, refinerItem.getId(), 1)); } } diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/variation/RequestRefine.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/variation/RequestRefine.java index c66eb248f9..e9b8698c8d 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/variation/RequestRefine.java +++ b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/variation/RequestRefine.java @@ -84,14 +84,14 @@ public class RequestRefine extends AbstractRefinePacket if (!isValid(player, targetItem, mineralItem, feeItem, fee)) { - player.sendPacket(new ExVariationResult(0, 0, false)); + player.sendPacket(ExVariationResult.FAIL); player.sendPacket(SystemMessageId.AUGMENTATION_FAILED_DUE_TO_INAPPROPRIATE_CONDITIONS); return; } if (_feeCount <= 0) { - player.sendPacket(new ExVariationResult(0, 0, false)); + player.sendPacket(ExVariationResult.FAIL); player.sendPacket(SystemMessageId.AUGMENTATION_FAILED_DUE_TO_INAPPROPRIATE_CONDITIONS); return; } @@ -99,7 +99,7 @@ public class RequestRefine extends AbstractRefinePacket final long adenaFee = fee.getAdenaFee(); if ((adenaFee > 0) && (player.getAdena() < adenaFee)) { - player.sendPacket(new ExVariationResult(0, 0, false)); + player.sendPacket(ExVariationResult.FAIL); player.sendPacket(SystemMessageId.AUGMENTATION_FAILED_DUE_TO_INAPPROPRIATE_CONDITIONS); return; } @@ -107,14 +107,14 @@ public class RequestRefine extends AbstractRefinePacket final Variation variation = VariationData.getInstance().getVariation(mineralItem.getId()); if (variation == null) { - player.sendPacket(new ExVariationResult(0, 0, false)); + player.sendPacket(ExVariationResult.FAIL); return; } VariationInstance augment = VariationData.getInstance().generateRandomVariation(variation, targetItem); if (augment == null) { - player.sendPacket(new ExVariationResult(0, 0, false)); + player.sendPacket(ExVariationResult.FAIL); return; } @@ -137,35 +137,30 @@ public class RequestRefine extends AbstractRefinePacket } } + player.sendPacket(new ExVariationResult(augment.getOption1Id(), augment.getOption2Id(), true)); + // Consume the life stone. - if (!player.destroyItem("RequestRefine", mineralItem, 1, null, false)) - { - return; - } + player.destroyItem("RequestRefine", mineralItem, 1, null, false); // Consume the gemstones. - if ((feeItem != null) && !player.destroyItem("RequestRefine", feeItem, _feeCount, null, false)) + if (feeItem != null) { - return; + player.destroyItem("RequestRefine", feeItem, _feeCount, null, false); } // Consume Adena. - if ((adenaFee > 0) && !player.reduceAdena("RequestRefine", adenaFee, player, false)) + if (adenaFee > 0) { - return; + player.reduceAdena("RequestRefine", adenaFee, player, false); } + // Request (continues at ExApplyVariationOption). if (player.getRequest(VariationRequest.class) == null) { player.addRequest(new VariationRequest(player)); } - - VariationRequest request = player.getRequest(VariationRequest.class); + final VariationRequest request = player.getRequest(VariationRequest.class); request.setAugmentedItem(_targetItemObjId); - request.setMineralItem(_mineralItemObjId); request.setAugment(augment); - - player.sendPacket(new ExVariationResult(augment.getOption1Id(), augment.getOption2Id(), true)); - } } diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/serverpackets/ExPutIntensiveResultForVariationMake.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/serverpackets/ExPutIntensiveResultForVariationMake.java index 95c0c0e4e1..40db72d92d 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/serverpackets/ExPutIntensiveResultForVariationMake.java +++ b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/serverpackets/ExPutIntensiveResultForVariationMake.java @@ -23,17 +23,13 @@ public class ExPutIntensiveResultForVariationMake implements IClientOutgoingPack { private final int _refinerItemObjId; private final int _lifestoneItemId; - private final int _gemstoneItemId; - private final long _gemstoneCount; - private final int _unk2; + private final int _insertResult; - public ExPutIntensiveResultForVariationMake(int refinerItemObjId, int lifeStoneId, int gemstoneItemId, long gemstoneCount) + public ExPutIntensiveResultForVariationMake(int refinerItemObjId, int lifeStoneId, int insertResult) { _refinerItemObjId = refinerItemObjId; _lifestoneItemId = lifeStoneId; - _gemstoneItemId = gemstoneItemId; - _gemstoneCount = gemstoneCount; - _unk2 = 1; + _insertResult = insertResult; } @Override @@ -42,9 +38,7 @@ public class ExPutIntensiveResultForVariationMake implements IClientOutgoingPack OutgoingPackets.EX_PUT_INTENSIVE_RESULT_FOR_VARIATION_MAKE.writeId(packet); packet.writeD(_refinerItemObjId); packet.writeD(_lifestoneItemId); - packet.writeD(_gemstoneItemId); - packet.writeQ(_gemstoneCount); - packet.writeD(_unk2); + packet.writeC(_insertResult); return true; } } diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/serverpackets/ExVariationResult.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/serverpackets/ExVariationResult.java index 4fde190ae2..81c9ad66f9 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/serverpackets/ExVariationResult.java +++ b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/serverpackets/ExVariationResult.java @@ -19,11 +19,10 @@ package org.l2jmobius.gameserver.network.serverpackets; import org.l2jmobius.commons.network.PacketWriter; import org.l2jmobius.gameserver.network.OutgoingPackets; -/** - * Format: (ch)ddd - */ public class ExVariationResult implements IClientOutgoingPacket { + public static final ExVariationResult FAIL = new ExVariationResult(0, 0, false); + private final int _option1; private final int _option2; private final int _success; @@ -41,6 +40,8 @@ public class ExVariationResult implements IClientOutgoingPacket OutgoingPackets.EX_VARIATION_RESULT.writeId(packet); packet.writeD(_option1); packet.writeD(_option2); + packet.writeQ(0); // GemStoneCount + packet.writeQ(0); // NecessaryGemStoneCount packet.writeD(_success); return true; }