From e9c019ac8455281446d7803dd7fdd883eb7d0fe2 Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Sat, 24 Aug 2019 12:20:26 +0000 Subject: [PATCH] Improvements for previous commit. --- .../model/actor/instance/PlayerInstance.java | 39 +++++++++---------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 8e5415db79..dea0fc10ed 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -34,6 +34,7 @@ import java.util.concurrent.Future; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.ReentrantLock; +import java.util.logging.Level; import org.l2jmobius.Config; import org.l2jmobius.commons.concurrent.ThreadPool; @@ -10375,37 +10376,27 @@ public class PlayerInstance extends Playable slot--; - if (_henna[slot] == null) + final HennaInstance henna = _henna[slot]; + if (henna == null) { return false; } - HennaInstance henna = _henna[slot]; + _henna[slot] = null; - try (Connection con = DatabaseFactory.getConnection()) + try (Connection con = DatabaseFactory.getConnection(); + PreparedStatement ps = con.prepareStatement(DELETE_CHAR_HENNA)) { - PreparedStatement statement = con.prepareStatement(DELETE_CHAR_HENNA); - statement.setInt(1, getObjectId()); - statement.setInt(2, slot + 1); - statement.setInt(3, getClassIndex()); - statement.execute(); - statement.close(); + ps.setInt(1, getObjectId()); + ps.setInt(2, slot + 1); + ps.setInt(3, _classIndex); + ps.execute(); } catch (Exception e) { - LOGGER.warning("could not remove char henna: " + e); + LOGGER.log(Level.SEVERE, "Failed removing character henna.", e); } - // Add the recovered dyes to the player's inventory and notify them. - getInventory().addItem("Henna", henna.getItemIdDye(), henna.getAmountDyeRequire() / 2, this, null); - - SystemMessage sm = new SystemMessage(SystemMessageId.EARNED_S2_S1_S); - sm.addItemName(henna.getItemIdDye()); - sm.addNumber(henna.getAmountDyeRequire() / 2); - sendPacket(sm); - - _henna[slot] = null; - // Calculate Henna modifiers of this PlayerInstance recalcHennaStats(); @@ -10415,6 +10406,14 @@ public class PlayerInstance extends Playable // Send Server->Client UserInfo packet to this PlayerInstance sendPacket(new UserInfo(this)); + // Add the recovered dyes to the player's inventory and notify them. + _inventory.addItem("Henna", henna.getItemIdDye(), henna.getAmountDyeRequire() / 2, this, null); + + SystemMessage sm = new SystemMessage(SystemMessageId.EARNED_S2_S1_S); + sm.addItemName(henna.getItemIdDye()); + sm.addNumber(henna.getAmountDyeRequire() / 2); + sendPacket(sm); + return true; }