diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index cd4a5de684..5d7e920be4 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -739,16 +739,21 @@ public abstract class Inventory extends ItemContainer final PlayerInstance player = (PlayerInstance) inventory.getOwner(); boolean remove = false; - // verify and remove normal set bonus + // Verify and remove normal set bonus if (verifyAndRemove(player, item, ItemInstance::getId)) { remove = true; } - // verify and remove visual set bonus - if (verifyAndRemove(player, item, ItemInstance::getVisualId)) + // Verify and remove visual set bonus + final int itemVisualId = item.getVisualId(); + if (itemVisualId > 0) { - remove = true; + final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId); + if ((stone != null) && (stone.getType() == AppearanceType.FIXED) && verifyAndRemove(player, item, ItemInstance::getVisualId)) + { + remove = true; + } } if (remove) diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 93e45bf372..2e17cf6fa4 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -745,16 +745,21 @@ public abstract class Inventory extends ItemContainer final PlayerInstance player = (PlayerInstance) inventory.getOwner(); boolean remove = false; - // verify and remove normal set bonus + // Verify and remove normal set bonus if (verifyAndRemove(player, item, ItemInstance::getId)) { remove = true; } - // verify and remove visual set bonus - if (verifyAndRemove(player, item, ItemInstance::getVisualId)) + // Verify and remove visual set bonus + final int itemVisualId = item.getVisualId(); + if (itemVisualId > 0) { - remove = true; + final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId); + if ((stone != null) && (stone.getType() == AppearanceType.FIXED) && verifyAndRemove(player, item, ItemInstance::getVisualId)) + { + remove = true; + } } if (remove) diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 93e45bf372..2e17cf6fa4 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -745,16 +745,21 @@ public abstract class Inventory extends ItemContainer final PlayerInstance player = (PlayerInstance) inventory.getOwner(); boolean remove = false; - // verify and remove normal set bonus + // Verify and remove normal set bonus if (verifyAndRemove(player, item, ItemInstance::getId)) { remove = true; } - // verify and remove visual set bonus - if (verifyAndRemove(player, item, ItemInstance::getVisualId)) + // Verify and remove visual set bonus + final int itemVisualId = item.getVisualId(); + if (itemVisualId > 0) { - remove = true; + final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId); + if ((stone != null) && (stone.getType() == AppearanceType.FIXED) && verifyAndRemove(player, item, ItemInstance::getVisualId)) + { + remove = true; + } } if (remove) diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 56a8b6a30f..c04334cd3a 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -745,16 +745,21 @@ public abstract class Inventory extends ItemContainer final PlayerInstance player = (PlayerInstance) inventory.getOwner(); boolean remove = false; - // verify and remove normal set bonus + // Verify and remove normal set bonus if (verifyAndRemove(player, item, ItemInstance::getId)) { remove = true; } - // verify and remove visual set bonus - if (verifyAndRemove(player, item, ItemInstance::getVisualId)) + // Verify and remove visual set bonus + final int itemVisualId = item.getVisualId(); + if (itemVisualId > 0) { - remove = true; + final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId); + if ((stone != null) && (stone.getType() == AppearanceType.FIXED) && verifyAndRemove(player, item, ItemInstance::getVisualId)) + { + remove = true; + } } if (remove) diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index d085094609..cbd1e9707b 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -750,16 +750,21 @@ public abstract class Inventory extends ItemContainer final PlayerInstance player = (PlayerInstance) inventory.getOwner(); boolean remove = false; - // verify and remove normal set bonus + // Verify and remove normal set bonus if (verifyAndRemove(player, item, ItemInstance::getId)) { remove = true; } - // verify and remove visual set bonus - if (verifyAndRemove(player, item, ItemInstance::getVisualId)) + // Verify and remove visual set bonus + final int itemVisualId = item.getVisualId(); + if (itemVisualId > 0) { - remove = true; + final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId); + if ((stone != null) && (stone.getType() == AppearanceType.FIXED) && verifyAndRemove(player, item, ItemInstance::getVisualId)) + { + remove = true; + } } if (remove) diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index d6d712d153..a66477f5ba 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -773,16 +773,21 @@ public abstract class Inventory extends ItemContainer final PlayerInstance player = (PlayerInstance) inventory.getOwner(); boolean remove = false; - // verify and remove normal set bonus + // Verify and remove normal set bonus if (verifyAndRemove(player, item, ItemInstance::getId)) { remove = true; } - // verify and remove visual set bonus - if (verifyAndRemove(player, item, ItemInstance::getVisualId)) + // Verify and remove visual set bonus + final int itemVisualId = item.getVisualId(); + if (itemVisualId > 0) { - remove = true; + final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId); + if ((stone != null) && (stone.getType() == AppearanceType.FIXED) && verifyAndRemove(player, item, ItemInstance::getVisualId)) + { + remove = true; + } } if (remove) diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index d6d712d153..a66477f5ba 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -773,16 +773,21 @@ public abstract class Inventory extends ItemContainer final PlayerInstance player = (PlayerInstance) inventory.getOwner(); boolean remove = false; - // verify and remove normal set bonus + // Verify and remove normal set bonus if (verifyAndRemove(player, item, ItemInstance::getId)) { remove = true; } - // verify and remove visual set bonus - if (verifyAndRemove(player, item, ItemInstance::getVisualId)) + // Verify and remove visual set bonus + final int itemVisualId = item.getVisualId(); + if (itemVisualId > 0) { - remove = true; + final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId); + if ((stone != null) && (stone.getType() == AppearanceType.FIXED) && verifyAndRemove(player, item, ItemInstance::getVisualId)) + { + remove = true; + } } if (remove) diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index da95a4aac5..7343f42775 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -766,16 +766,21 @@ public abstract class Inventory extends ItemContainer final PlayerInstance player = (PlayerInstance) inventory.getOwner(); boolean remove = false; - // verify and remove normal set bonus + // Verify and remove normal set bonus if (verifyAndRemove(player, item, ItemInstance::getId)) { remove = true; } - // verify and remove visual set bonus - if (verifyAndRemove(player, item, ItemInstance::getVisualId)) + // Verify and remove visual set bonus + final int itemVisualId = item.getVisualId(); + if (itemVisualId > 0) { - remove = true; + final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId); + if ((stone != null) && (stone.getType() == AppearanceType.FIXED) && verifyAndRemove(player, item, ItemInstance::getVisualId)) + { + remove = true; + } } if (remove) diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 93e45bf372..2e17cf6fa4 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -745,16 +745,21 @@ public abstract class Inventory extends ItemContainer final PlayerInstance player = (PlayerInstance) inventory.getOwner(); boolean remove = false; - // verify and remove normal set bonus + // Verify and remove normal set bonus if (verifyAndRemove(player, item, ItemInstance::getId)) { remove = true; } - // verify and remove visual set bonus - if (verifyAndRemove(player, item, ItemInstance::getVisualId)) + // Verify and remove visual set bonus + final int itemVisualId = item.getVisualId(); + if (itemVisualId > 0) { - remove = true; + final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId); + if ((stone != null) && (stone.getType() == AppearanceType.FIXED) && verifyAndRemove(player, item, ItemInstance::getVisualId)) + { + remove = true; + } } if (remove) diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 93e45bf372..2e17cf6fa4 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -745,16 +745,21 @@ public abstract class Inventory extends ItemContainer final PlayerInstance player = (PlayerInstance) inventory.getOwner(); boolean remove = false; - // verify and remove normal set bonus + // Verify and remove normal set bonus if (verifyAndRemove(player, item, ItemInstance::getId)) { remove = true; } - // verify and remove visual set bonus - if (verifyAndRemove(player, item, ItemInstance::getVisualId)) + // Verify and remove visual set bonus + final int itemVisualId = item.getVisualId(); + if (itemVisualId > 0) { - remove = true; + final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId); + if ((stone != null) && (stone.getType() == AppearanceType.FIXED) && verifyAndRemove(player, item, ItemInstance::getVisualId)) + { + remove = true; + } } if (remove) diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 37e44ceaab..b4b69e39bb 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -750,16 +750,21 @@ public abstract class Inventory extends ItemContainer final PlayerInstance player = (PlayerInstance) inventory.getOwner(); boolean remove = false; - // verify and remove normal set bonus + // Verify and remove normal set bonus if (verifyAndRemove(player, item, ItemInstance::getId)) { remove = true; } - // verify and remove visual set bonus - if (verifyAndRemove(player, item, ItemInstance::getVisualId)) + // Verify and remove visual set bonus + final int itemVisualId = item.getVisualId(); + if (itemVisualId > 0) { - remove = true; + final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId); + if ((stone != null) && (stone.getType() == AppearanceType.FIXED) && verifyAndRemove(player, item, ItemInstance::getVisualId)) + { + remove = true; + } } if (remove) diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 7ac140f2e4..e7d3123a69 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -773,16 +773,21 @@ public abstract class Inventory extends ItemContainer final PlayerInstance player = (PlayerInstance) inventory.getOwner(); boolean remove = false; - // verify and remove normal set bonus + // Verify and remove normal set bonus if (verifyAndRemove(player, item, ItemInstance::getId)) { remove = true; } - // verify and remove visual set bonus - if (verifyAndRemove(player, item, ItemInstance::getVisualId)) + // Verify and remove visual set bonus + final int itemVisualId = item.getVisualId(); + if (itemVisualId > 0) { - remove = true; + final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId); + if ((stone != null) && (stone.getType() == AppearanceType.FIXED) && verifyAndRemove(player, item, ItemInstance::getVisualId)) + { + remove = true; + } } if (remove) diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 7ac140f2e4..e7d3123a69 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -773,16 +773,21 @@ public abstract class Inventory extends ItemContainer final PlayerInstance player = (PlayerInstance) inventory.getOwner(); boolean remove = false; - // verify and remove normal set bonus + // Verify and remove normal set bonus if (verifyAndRemove(player, item, ItemInstance::getId)) { remove = true; } - // verify and remove visual set bonus - if (verifyAndRemove(player, item, ItemInstance::getVisualId)) + // Verify and remove visual set bonus + final int itemVisualId = item.getVisualId(); + if (itemVisualId > 0) { - remove = true; + final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId); + if ((stone != null) && (stone.getType() == AppearanceType.FIXED) && verifyAndRemove(player, item, ItemInstance::getVisualId)) + { + remove = true; + } } if (remove) diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 6ef4c07734..768bcc055c 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -766,16 +766,21 @@ public abstract class Inventory extends ItemContainer final PlayerInstance player = (PlayerInstance) inventory.getOwner(); boolean remove = false; - // verify and remove normal set bonus + // Verify and remove normal set bonus if (verifyAndRemove(player, item, ItemInstance::getId)) { remove = true; } - // verify and remove visual set bonus - if (verifyAndRemove(player, item, ItemInstance::getVisualId)) + // Verify and remove visual set bonus + final int itemVisualId = item.getVisualId(); + if (itemVisualId > 0) { - remove = true; + final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId); + if ((stone != null) && (stone.getType() == AppearanceType.FIXED) && verifyAndRemove(player, item, ItemInstance::getVisualId)) + { + remove = true; + } } if (remove) diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index cd4a5de684..5d7e920be4 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -739,16 +739,21 @@ public abstract class Inventory extends ItemContainer final PlayerInstance player = (PlayerInstance) inventory.getOwner(); boolean remove = false; - // verify and remove normal set bonus + // Verify and remove normal set bonus if (verifyAndRemove(player, item, ItemInstance::getId)) { remove = true; } - // verify and remove visual set bonus - if (verifyAndRemove(player, item, ItemInstance::getVisualId)) + // Verify and remove visual set bonus + final int itemVisualId = item.getVisualId(); + if (itemVisualId > 0) { - remove = true; + final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId); + if ((stone != null) && (stone.getType() == AppearanceType.FIXED) && verifyAndRemove(player, item, ItemInstance::getVisualId)) + { + remove = true; + } } if (remove)