From fa068f74f6af4690316bdf8fb85d91c320995ba7 Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Mon, 29 Jul 2019 17:46:40 +0000 Subject: [PATCH] Fixed ensoul crystals lost after exchange. --- .../network/clientpackets/MultiSellChoose.java | 10 ++++++---- .../clientpackets/ensoul/RequestItemEnsoul.java | 2 ++ .../network/clientpackets/MultiSellChoose.java | 10 ++++++---- .../clientpackets/ensoul/RequestItemEnsoul.java | 2 ++ .../network/clientpackets/MultiSellChoose.java | 10 ++++++---- .../clientpackets/ensoul/RequestItemEnsoul.java | 2 ++ .../network/clientpackets/MultiSellChoose.java | 10 ++++++---- .../clientpackets/ensoul/RequestItemEnsoul.java | 2 ++ .../network/clientpackets/MultiSellChoose.java | 10 ++++++---- .../clientpackets/ensoul/RequestItemEnsoul.java | 2 ++ .../network/clientpackets/MultiSellChoose.java | 10 ++++++---- .../clientpackets/ensoul/RequestItemEnsoul.java | 2 ++ .../network/clientpackets/MultiSellChoose.java | 10 ++++++---- .../clientpackets/ensoul/RequestItemEnsoul.java | 2 ++ .../network/clientpackets/MultiSellChoose.java | 10 ++++++---- .../clientpackets/ensoul/RequestItemEnsoul.java | 2 ++ .../network/clientpackets/MultiSellChoose.java | 10 ++++++---- .../clientpackets/ensoul/RequestItemEnsoul.java | 2 ++ .../network/clientpackets/MultiSellChoose.java | 10 ++++++---- .../clientpackets/ensoul/RequestItemEnsoul.java | 2 ++ .../network/clientpackets/MultiSellChoose.java | 10 ++++++---- .../clientpackets/ensoul/RequestItemEnsoul.java | 2 ++ 22 files changed, 88 insertions(+), 44 deletions(-) diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java index b99d200609..41b39b1f6c 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java @@ -511,16 +511,18 @@ public class MultiSellChoose implements IClientIncomingPacket } if (_soulCrystalOptions != null) { - for (int i = 0; i < _soulCrystalOptions.length; i++) + int pos = -1; + for (EnsoulOption ensoul : _soulCrystalOptions) { - addedItem.addSpecialAbility(_soulCrystalOptions[i], i + 1, 1, false); + pos++; + addedItem.addSpecialAbility(ensoul, pos, 1, false); } } if (_soulCrystalSpecialOptions != null) { - for (int i = 0; i < _soulCrystalSpecialOptions.length; i++) + for (EnsoulOption ensoul : _soulCrystalSpecialOptions) { - addedItem.addSpecialAbility(_soulCrystalSpecialOptions[i], i + 1, 2, false); + addedItem.addSpecialAbility(ensoul, 0, 2, false); } } addedItem.updateDatabase(true); diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java index 7f529dac93..282072e8ef 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java @@ -243,6 +243,8 @@ public class RequestItemEnsoul implements IClientIncomingPacket item.applySpecialAbilities(); } player.sendPacket(new ExEnsoulResult(success, item)); + + item.updateDatabase(true); } static class EnsoulItemOption diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java index b99d200609..41b39b1f6c 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java @@ -511,16 +511,18 @@ public class MultiSellChoose implements IClientIncomingPacket } if (_soulCrystalOptions != null) { - for (int i = 0; i < _soulCrystalOptions.length; i++) + int pos = -1; + for (EnsoulOption ensoul : _soulCrystalOptions) { - addedItem.addSpecialAbility(_soulCrystalOptions[i], i + 1, 1, false); + pos++; + addedItem.addSpecialAbility(ensoul, pos, 1, false); } } if (_soulCrystalSpecialOptions != null) { - for (int i = 0; i < _soulCrystalSpecialOptions.length; i++) + for (EnsoulOption ensoul : _soulCrystalSpecialOptions) { - addedItem.addSpecialAbility(_soulCrystalSpecialOptions[i], i + 1, 2, false); + addedItem.addSpecialAbility(ensoul, 0, 2, false); } } addedItem.updateDatabase(true); diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java index 7f529dac93..282072e8ef 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java @@ -243,6 +243,8 @@ public class RequestItemEnsoul implements IClientIncomingPacket item.applySpecialAbilities(); } player.sendPacket(new ExEnsoulResult(success, item)); + + item.updateDatabase(true); } static class EnsoulItemOption diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java index b99d200609..41b39b1f6c 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java @@ -511,16 +511,18 @@ public class MultiSellChoose implements IClientIncomingPacket } if (_soulCrystalOptions != null) { - for (int i = 0; i < _soulCrystalOptions.length; i++) + int pos = -1; + for (EnsoulOption ensoul : _soulCrystalOptions) { - addedItem.addSpecialAbility(_soulCrystalOptions[i], i + 1, 1, false); + pos++; + addedItem.addSpecialAbility(ensoul, pos, 1, false); } } if (_soulCrystalSpecialOptions != null) { - for (int i = 0; i < _soulCrystalSpecialOptions.length; i++) + for (EnsoulOption ensoul : _soulCrystalSpecialOptions) { - addedItem.addSpecialAbility(_soulCrystalSpecialOptions[i], i + 1, 2, false); + addedItem.addSpecialAbility(ensoul, 0, 2, false); } } addedItem.updateDatabase(true); diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java index 7f529dac93..282072e8ef 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java @@ -243,6 +243,8 @@ public class RequestItemEnsoul implements IClientIncomingPacket item.applySpecialAbilities(); } player.sendPacket(new ExEnsoulResult(success, item)); + + item.updateDatabase(true); } static class EnsoulItemOption diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java index f50ec899f5..0e9c6a0d56 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java @@ -511,16 +511,18 @@ public class MultiSellChoose implements IClientIncomingPacket } if (_soulCrystalOptions != null) { - for (int i = 0; i < _soulCrystalOptions.length; i++) + int pos = -1; + for (EnsoulOption ensoul : _soulCrystalOptions) { - addedItem.addSpecialAbility(_soulCrystalOptions[i], i + 1, 1, false); + pos++; + addedItem.addSpecialAbility(ensoul, pos, 1, false); } } if (_soulCrystalSpecialOptions != null) { - for (int i = 0; i < _soulCrystalSpecialOptions.length; i++) + for (EnsoulOption ensoul : _soulCrystalSpecialOptions) { - addedItem.addSpecialAbility(_soulCrystalSpecialOptions[i], i + 1, 2, false); + addedItem.addSpecialAbility(ensoul, 0, 2, false); } } addedItem.updateDatabase(true); diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java index 7f529dac93..282072e8ef 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java @@ -243,6 +243,8 @@ public class RequestItemEnsoul implements IClientIncomingPacket item.applySpecialAbilities(); } player.sendPacket(new ExEnsoulResult(success, item)); + + item.updateDatabase(true); } static class EnsoulItemOption diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java index f50ec899f5..0e9c6a0d56 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java @@ -511,16 +511,18 @@ public class MultiSellChoose implements IClientIncomingPacket } if (_soulCrystalOptions != null) { - for (int i = 0; i < _soulCrystalOptions.length; i++) + int pos = -1; + for (EnsoulOption ensoul : _soulCrystalOptions) { - addedItem.addSpecialAbility(_soulCrystalOptions[i], i + 1, 1, false); + pos++; + addedItem.addSpecialAbility(ensoul, pos, 1, false); } } if (_soulCrystalSpecialOptions != null) { - for (int i = 0; i < _soulCrystalSpecialOptions.length; i++) + for (EnsoulOption ensoul : _soulCrystalSpecialOptions) { - addedItem.addSpecialAbility(_soulCrystalSpecialOptions[i], i + 1, 2, false); + addedItem.addSpecialAbility(ensoul, 0, 2, false); } } addedItem.updateDatabase(true); diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java index 7f529dac93..282072e8ef 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java @@ -243,6 +243,8 @@ public class RequestItemEnsoul implements IClientIncomingPacket item.applySpecialAbilities(); } player.sendPacket(new ExEnsoulResult(success, item)); + + item.updateDatabase(true); } static class EnsoulItemOption diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java index f50ec899f5..0e9c6a0d56 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java @@ -511,16 +511,18 @@ public class MultiSellChoose implements IClientIncomingPacket } if (_soulCrystalOptions != null) { - for (int i = 0; i < _soulCrystalOptions.length; i++) + int pos = -1; + for (EnsoulOption ensoul : _soulCrystalOptions) { - addedItem.addSpecialAbility(_soulCrystalOptions[i], i + 1, 1, false); + pos++; + addedItem.addSpecialAbility(ensoul, pos, 1, false); } } if (_soulCrystalSpecialOptions != null) { - for (int i = 0; i < _soulCrystalSpecialOptions.length; i++) + for (EnsoulOption ensoul : _soulCrystalSpecialOptions) { - addedItem.addSpecialAbility(_soulCrystalSpecialOptions[i], i + 1, 2, false); + addedItem.addSpecialAbility(ensoul, 0, 2, false); } } addedItem.updateDatabase(true); diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java index 7f529dac93..282072e8ef 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java @@ -243,6 +243,8 @@ public class RequestItemEnsoul implements IClientIncomingPacket item.applySpecialAbilities(); } player.sendPacket(new ExEnsoulResult(success, item)); + + item.updateDatabase(true); } static class EnsoulItemOption diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java index 9228fc6872..653c662e05 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java @@ -511,16 +511,18 @@ public class MultiSellChoose implements IClientIncomingPacket } if (_soulCrystalOptions != null) { - for (int i = 0; i < _soulCrystalOptions.length; i++) + int pos = -1; + for (EnsoulOption ensoul : _soulCrystalOptions) { - addedItem.addSpecialAbility(_soulCrystalOptions[i], i + 1, 1, false); + pos++; + addedItem.addSpecialAbility(ensoul, pos, 1, false); } } if (_soulCrystalSpecialOptions != null) { - for (int i = 0; i < _soulCrystalSpecialOptions.length; i++) + for (EnsoulOption ensoul : _soulCrystalSpecialOptions) { - addedItem.addSpecialAbility(_soulCrystalSpecialOptions[i], i + 1, 2, false); + addedItem.addSpecialAbility(ensoul, 0, 2, false); } } addedItem.updateDatabase(true); diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java index c2f9726e93..b18563d929 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java @@ -243,6 +243,8 @@ public class RequestItemEnsoul implements IClientIncomingPacket item.applySpecialAbilities(); } player.sendPacket(new ExEnsoulResult(success, item)); + + item.updateDatabase(true); } static class EnsoulItemOption diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java index 9228fc6872..653c662e05 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java @@ -511,16 +511,18 @@ public class MultiSellChoose implements IClientIncomingPacket } if (_soulCrystalOptions != null) { - for (int i = 0; i < _soulCrystalOptions.length; i++) + int pos = -1; + for (EnsoulOption ensoul : _soulCrystalOptions) { - addedItem.addSpecialAbility(_soulCrystalOptions[i], i + 1, 1, false); + pos++; + addedItem.addSpecialAbility(ensoul, pos, 1, false); } } if (_soulCrystalSpecialOptions != null) { - for (int i = 0; i < _soulCrystalSpecialOptions.length; i++) + for (EnsoulOption ensoul : _soulCrystalSpecialOptions) { - addedItem.addSpecialAbility(_soulCrystalSpecialOptions[i], i + 1, 2, false); + addedItem.addSpecialAbility(ensoul, 0, 2, false); } } addedItem.updateDatabase(true); diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java index c2f9726e93..b18563d929 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java @@ -243,6 +243,8 @@ public class RequestItemEnsoul implements IClientIncomingPacket item.applySpecialAbilities(); } player.sendPacket(new ExEnsoulResult(success, item)); + + item.updateDatabase(true); } static class EnsoulItemOption diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java index 9228fc6872..653c662e05 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java @@ -511,16 +511,18 @@ public class MultiSellChoose implements IClientIncomingPacket } if (_soulCrystalOptions != null) { - for (int i = 0; i < _soulCrystalOptions.length; i++) + int pos = -1; + for (EnsoulOption ensoul : _soulCrystalOptions) { - addedItem.addSpecialAbility(_soulCrystalOptions[i], i + 1, 1, false); + pos++; + addedItem.addSpecialAbility(ensoul, pos, 1, false); } } if (_soulCrystalSpecialOptions != null) { - for (int i = 0; i < _soulCrystalSpecialOptions.length; i++) + for (EnsoulOption ensoul : _soulCrystalSpecialOptions) { - addedItem.addSpecialAbility(_soulCrystalSpecialOptions[i], i + 1, 2, false); + addedItem.addSpecialAbility(ensoul, 0, 2, false); } } addedItem.updateDatabase(true); diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java index c2f9726e93..b18563d929 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java @@ -243,6 +243,8 @@ public class RequestItemEnsoul implements IClientIncomingPacket item.applySpecialAbilities(); } player.sendPacket(new ExEnsoulResult(success, item)); + + item.updateDatabase(true); } static class EnsoulItemOption diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java index 9228fc6872..653c662e05 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java @@ -511,16 +511,18 @@ public class MultiSellChoose implements IClientIncomingPacket } if (_soulCrystalOptions != null) { - for (int i = 0; i < _soulCrystalOptions.length; i++) + int pos = -1; + for (EnsoulOption ensoul : _soulCrystalOptions) { - addedItem.addSpecialAbility(_soulCrystalOptions[i], i + 1, 1, false); + pos++; + addedItem.addSpecialAbility(ensoul, pos, 1, false); } } if (_soulCrystalSpecialOptions != null) { - for (int i = 0; i < _soulCrystalSpecialOptions.length; i++) + for (EnsoulOption ensoul : _soulCrystalSpecialOptions) { - addedItem.addSpecialAbility(_soulCrystalSpecialOptions[i], i + 1, 2, false); + addedItem.addSpecialAbility(ensoul, 0, 2, false); } } addedItem.updateDatabase(true); diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java index c2f9726e93..b18563d929 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java @@ -243,6 +243,8 @@ public class RequestItemEnsoul implements IClientIncomingPacket item.applySpecialAbilities(); } player.sendPacket(new ExEnsoulResult(success, item)); + + item.updateDatabase(true); } static class EnsoulItemOption diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java index 9228fc6872..653c662e05 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/MultiSellChoose.java @@ -511,16 +511,18 @@ public class MultiSellChoose implements IClientIncomingPacket } if (_soulCrystalOptions != null) { - for (int i = 0; i < _soulCrystalOptions.length; i++) + int pos = -1; + for (EnsoulOption ensoul : _soulCrystalOptions) { - addedItem.addSpecialAbility(_soulCrystalOptions[i], i + 1, 1, false); + pos++; + addedItem.addSpecialAbility(ensoul, pos, 1, false); } } if (_soulCrystalSpecialOptions != null) { - for (int i = 0; i < _soulCrystalSpecialOptions.length; i++) + for (EnsoulOption ensoul : _soulCrystalSpecialOptions) { - addedItem.addSpecialAbility(_soulCrystalSpecialOptions[i], i + 1, 2, false); + addedItem.addSpecialAbility(ensoul, 0, 2, false); } } addedItem.updateDatabase(true); diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java index c2f9726e93..b18563d929 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/ensoul/RequestItemEnsoul.java @@ -243,6 +243,8 @@ public class RequestItemEnsoul implements IClientIncomingPacket item.applySpecialAbilities(); } player.sendPacket(new ExEnsoulResult(success, item)); + + item.updateDatabase(true); } static class EnsoulItemOption