diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/config/Character.ini b/L2J_Mobius_1.0_Ertheia/dist/game/config/Character.ini index ad39971526..4587c68f49 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/config/Character.ini +++ b/L2J_Mobius_1.0_Ertheia/dist/game/config/Character.ini @@ -412,8 +412,15 @@ AugmentationBlackList = 6656,6657,6658,6659,6660,6661,6662,8191,10170,10314,1374 # Allows alternative augmentation of PvP items. # Default: False -AltAllowAugmentPvPItems = false +AltAllowAugmentPvPItems = False +# Enable Trade/Drop/Sell for augmented items. +# Default: False +AltAllowAugmentTrade = False + +# Enable Destroy/Crystalize for augmented items. +# Default: True +AltAllowAugmentDestroy = True # --------------------------------------------------------------------------- # Karma diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/Config.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/Config.java index 9ed261c79a..2152b12247 100644 --- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/Config.java +++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/Config.java @@ -799,6 +799,8 @@ public final class Config public static boolean DISABLE_OVER_ENCHANTING; public static int[] AUGMENTATION_BLACKLIST; public static boolean ALT_ALLOW_AUGMENT_PVP_ITEMS; + public static boolean ALT_ALLOW_AUGMENT_TRADE; + public static boolean ALT_ALLOW_AUGMENT_DESTROY; public static double HP_REGEN_MULTIPLIER; public static double MP_REGEN_MULTIPLIER; public static double CP_REGEN_MULTIPLIER; @@ -1555,6 +1557,8 @@ public final class Config Arrays.sort(AUGMENTATION_BLACKLIST); ALT_ALLOW_AUGMENT_PVP_ITEMS = Character.getBoolean("AltAllowAugmentPvPItems", false); + ALT_ALLOW_AUGMENT_TRADE = Character.getBoolean("AltAllowAugmentTrade", false); + ALT_ALLOW_AUGMENT_DESTROY = Character.getBoolean("AltAllowAugmentDestroy", true); ALT_GAME_KARMA_PLAYER_CAN_BE_KILLED_IN_PEACEZONE = Character.getBoolean("AltKarmaPlayerCanBeKilledInPeaceZone", false); ALT_GAME_KARMA_PLAYER_CAN_SHOP = Character.getBoolean("AltKarmaPlayerCanShop", true); ALT_GAME_KARMA_PLAYER_CAN_TELEPORT = Character.getBoolean("AltKarmaPlayerCanTeleport", true); diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java index 0a6a203609..2599fd98d0 100644 --- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java +++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java @@ -779,6 +779,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isDropable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isDropable(); } @@ -788,6 +792,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isDestroyable() { + if (!Config.ALT_ALLOW_AUGMENT_DESTROY && isAugmented()) + { + return false; + } return _item.isDestroyable(); } @@ -797,6 +805,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isTradeable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isTradeable(); } @@ -806,6 +818,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isSellable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isSellable(); } diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java index 61b88962de..f09ac7f682 100644 --- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java +++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java @@ -99,13 +99,7 @@ public final class RequestCrystallizeItem implements IClientIncomingPacket if (inventory != null) { final L2ItemInstance item = inventory.getItemByObjectId(_objectId); - if (item == null) - { - client.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - - if (item.isHeroItem()) + if ((item == null) || item.isHeroItem() || (!Config.ALT_ALLOW_AUGMENT_DESTROY && item.isAugmented())) { client.sendPacket(ActionFailed.STATIC_PACKET); return; diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java index 5e0ad65f1a..c92719afcd 100644 --- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java +++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java @@ -86,13 +86,7 @@ public class RequestCrystallizeEstimate implements IClientIncomingPacket } final L2ItemInstance item = activeChar.getInventory().getItemByObjectId(_objectId); - if ((item == null) || item.isShadowItem() || item.isTimeLimitedItem()) - { - client.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - - if (item.isHeroItem()) + if ((item == null) || item.isShadowItem() || item.isTimeLimitedItem() || item.isHeroItem() || (!Config.ALT_ALLOW_AUGMENT_DESTROY && item.isAugmented())) { client.sendPacket(ActionFailed.STATIC_PACKET); return; @@ -189,6 +183,5 @@ public class RequestCrystallizeEstimate implements IClientIncomingPacket { client.sendPacket(SystemMessageId.CRYSTALLIZATION_CANNOT_BE_PROCEEDED_BECAUSE_THERE_ARE_NO_ITEMS_REGISTERED); } - } } diff --git a/L2J_Mobius_2.5_Underground/dist/game/config/Character.ini b/L2J_Mobius_2.5_Underground/dist/game/config/Character.ini index 05ad1b6616..4b207362b3 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/config/Character.ini +++ b/L2J_Mobius_2.5_Underground/dist/game/config/Character.ini @@ -412,8 +412,15 @@ AugmentationBlackList = 6656,6657,6658,6659,6660,6661,6662,8191,10170,10314,1374 # Allows alternative augmentation of PvP items. # Default: False -AltAllowAugmentPvPItems = false +AltAllowAugmentPvPItems = False +# Enable Trade/Drop/Sell for augmented items. +# Default: False +AltAllowAugmentTrade = False + +# Enable Destroy/Crystalize for augmented items. +# Default: True +AltAllowAugmentDestroy = True # --------------------------------------------------------------------------- # Karma diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/Config.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/Config.java index 5c4075fb11..f557245c44 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/Config.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/Config.java @@ -806,6 +806,8 @@ public final class Config public static boolean DISABLE_OVER_ENCHANTING; public static int[] AUGMENTATION_BLACKLIST; public static boolean ALT_ALLOW_AUGMENT_PVP_ITEMS; + public static boolean ALT_ALLOW_AUGMENT_TRADE; + public static boolean ALT_ALLOW_AUGMENT_DESTROY; public static double HP_REGEN_MULTIPLIER; public static double MP_REGEN_MULTIPLIER; public static double CP_REGEN_MULTIPLIER; @@ -1570,6 +1572,8 @@ public final class Config Arrays.sort(AUGMENTATION_BLACKLIST); ALT_ALLOW_AUGMENT_PVP_ITEMS = Character.getBoolean("AltAllowAugmentPvPItems", false); + ALT_ALLOW_AUGMENT_TRADE = Character.getBoolean("AltAllowAugmentTrade", false); + ALT_ALLOW_AUGMENT_DESTROY = Character.getBoolean("AltAllowAugmentDestroy", true); ALT_GAME_KARMA_PLAYER_CAN_BE_KILLED_IN_PEACEZONE = Character.getBoolean("AltKarmaPlayerCanBeKilledInPeaceZone", false); ALT_GAME_KARMA_PLAYER_CAN_SHOP = Character.getBoolean("AltKarmaPlayerCanShop", true); ALT_GAME_KARMA_PLAYER_CAN_TELEPORT = Character.getBoolean("AltKarmaPlayerCanTeleport", true); diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java index c1f93a332f..9b40177c0f 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java @@ -786,6 +786,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isDropable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isDropable(); } @@ -795,6 +799,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isDestroyable() { + if (!Config.ALT_ALLOW_AUGMENT_DESTROY && isAugmented()) + { + return false; + } return _item.isDestroyable(); } @@ -804,6 +812,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isTradeable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isTradeable(); } @@ -813,6 +825,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isSellable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isSellable(); } diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java index 61b88962de..f09ac7f682 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java @@ -99,13 +99,7 @@ public final class RequestCrystallizeItem implements IClientIncomingPacket if (inventory != null) { final L2ItemInstance item = inventory.getItemByObjectId(_objectId); - if (item == null) - { - client.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - - if (item.isHeroItem()) + if ((item == null) || item.isHeroItem() || (!Config.ALT_ALLOW_AUGMENT_DESTROY && item.isAugmented())) { client.sendPacket(ActionFailed.STATIC_PACKET); return; diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java index 5e0ad65f1a..c92719afcd 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java @@ -86,13 +86,7 @@ public class RequestCrystallizeEstimate implements IClientIncomingPacket } final L2ItemInstance item = activeChar.getInventory().getItemByObjectId(_objectId); - if ((item == null) || item.isShadowItem() || item.isTimeLimitedItem()) - { - client.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - - if (item.isHeroItem()) + if ((item == null) || item.isShadowItem() || item.isTimeLimitedItem() || item.isHeroItem() || (!Config.ALT_ALLOW_AUGMENT_DESTROY && item.isAugmented())) { client.sendPacket(ActionFailed.STATIC_PACKET); return; @@ -189,6 +183,5 @@ public class RequestCrystallizeEstimate implements IClientIncomingPacket { client.sendPacket(SystemMessageId.CRYSTALLIZATION_CANNOT_BE_PROCEEDED_BECAUSE_THERE_ARE_NO_ITEMS_REGISTERED); } - } } diff --git a/L2J_Mobius_3.0_Helios/dist/game/config/Character.ini b/L2J_Mobius_3.0_Helios/dist/game/config/Character.ini index 05ad1b6616..4b207362b3 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/config/Character.ini +++ b/L2J_Mobius_3.0_Helios/dist/game/config/Character.ini @@ -412,8 +412,15 @@ AugmentationBlackList = 6656,6657,6658,6659,6660,6661,6662,8191,10170,10314,1374 # Allows alternative augmentation of PvP items. # Default: False -AltAllowAugmentPvPItems = false +AltAllowAugmentPvPItems = False +# Enable Trade/Drop/Sell for augmented items. +# Default: False +AltAllowAugmentTrade = False + +# Enable Destroy/Crystalize for augmented items. +# Default: True +AltAllowAugmentDestroy = True # --------------------------------------------------------------------------- # Karma diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/Config.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/Config.java index 3c0680a100..47013ac733 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/Config.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/Config.java @@ -807,6 +807,8 @@ public final class Config public static boolean DISABLE_OVER_ENCHANTING; public static int[] AUGMENTATION_BLACKLIST; public static boolean ALT_ALLOW_AUGMENT_PVP_ITEMS; + public static boolean ALT_ALLOW_AUGMENT_TRADE; + public static boolean ALT_ALLOW_AUGMENT_DESTROY; public static double HP_REGEN_MULTIPLIER; public static double MP_REGEN_MULTIPLIER; public static double CP_REGEN_MULTIPLIER; @@ -1578,6 +1580,8 @@ public final class Config Arrays.sort(AUGMENTATION_BLACKLIST); ALT_ALLOW_AUGMENT_PVP_ITEMS = Character.getBoolean("AltAllowAugmentPvPItems", false); + ALT_ALLOW_AUGMENT_TRADE = Character.getBoolean("AltAllowAugmentTrade", false); + ALT_ALLOW_AUGMENT_DESTROY = Character.getBoolean("AltAllowAugmentDestroy", true); ALT_GAME_KARMA_PLAYER_CAN_BE_KILLED_IN_PEACEZONE = Character.getBoolean("AltKarmaPlayerCanBeKilledInPeaceZone", false); ALT_GAME_KARMA_PLAYER_CAN_SHOP = Character.getBoolean("AltKarmaPlayerCanShop", true); ALT_GAME_KARMA_PLAYER_CAN_TELEPORT = Character.getBoolean("AltKarmaPlayerCanTeleport", true); diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java index c1f93a332f..9b40177c0f 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java @@ -786,6 +786,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isDropable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isDropable(); } @@ -795,6 +799,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isDestroyable() { + if (!Config.ALT_ALLOW_AUGMENT_DESTROY && isAugmented()) + { + return false; + } return _item.isDestroyable(); } @@ -804,6 +812,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isTradeable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isTradeable(); } @@ -813,6 +825,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isSellable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isSellable(); } diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java index 61b88962de..f09ac7f682 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java @@ -99,13 +99,7 @@ public final class RequestCrystallizeItem implements IClientIncomingPacket if (inventory != null) { final L2ItemInstance item = inventory.getItemByObjectId(_objectId); - if (item == null) - { - client.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - - if (item.isHeroItem()) + if ((item == null) || item.isHeroItem() || (!Config.ALT_ALLOW_AUGMENT_DESTROY && item.isAugmented())) { client.sendPacket(ActionFailed.STATIC_PACKET); return; diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java index 5e0ad65f1a..c92719afcd 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java @@ -86,13 +86,7 @@ public class RequestCrystallizeEstimate implements IClientIncomingPacket } final L2ItemInstance item = activeChar.getInventory().getItemByObjectId(_objectId); - if ((item == null) || item.isShadowItem() || item.isTimeLimitedItem()) - { - client.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - - if (item.isHeroItem()) + if ((item == null) || item.isShadowItem() || item.isTimeLimitedItem() || item.isHeroItem() || (!Config.ALT_ALLOW_AUGMENT_DESTROY && item.isAugmented())) { client.sendPacket(ActionFailed.STATIC_PACKET); return; @@ -189,6 +183,5 @@ public class RequestCrystallizeEstimate implements IClientIncomingPacket { client.sendPacket(SystemMessageId.CRYSTALLIZATION_CANNOT_BE_PROCEEDED_BECAUSE_THERE_ARE_NO_ITEMS_REGISTERED); } - } } diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/config/Character.ini b/L2J_Mobius_4.0_GrandCrusade/dist/game/config/Character.ini index ccc06f3895..8e91be3fa1 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/config/Character.ini +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/config/Character.ini @@ -412,8 +412,15 @@ AugmentationBlackList = 6656,6657,6658,6659,6660,6661,6662,8191,10170,10314,1374 # Allows alternative augmentation of PvP items. # Default: False -AltAllowAugmentPvPItems = false +AltAllowAugmentPvPItems = False +# Enable Trade/Drop/Sell for augmented items. +# Default: False +AltAllowAugmentTrade = False + +# Enable Destroy/Crystalize for augmented items. +# Default: True +AltAllowAugmentDestroy = True # --------------------------------------------------------------------------- # Karma diff --git a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/Config.java b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/Config.java index 345ec9b4e3..fb5b6c6407 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/Config.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/Config.java @@ -800,6 +800,8 @@ public final class Config public static boolean DISABLE_OVER_ENCHANTING; public static int[] AUGMENTATION_BLACKLIST; public static boolean ALT_ALLOW_AUGMENT_PVP_ITEMS; + public static boolean ALT_ALLOW_AUGMENT_TRADE; + public static boolean ALT_ALLOW_AUGMENT_DESTROY; public static double HP_REGEN_MULTIPLIER; public static double MP_REGEN_MULTIPLIER; public static double CP_REGEN_MULTIPLIER; @@ -1571,6 +1573,8 @@ public final class Config Arrays.sort(AUGMENTATION_BLACKLIST); ALT_ALLOW_AUGMENT_PVP_ITEMS = Character.getBoolean("AltAllowAugmentPvPItems", false); + ALT_ALLOW_AUGMENT_TRADE = Character.getBoolean("AltAllowAugmentTrade", false); + ALT_ALLOW_AUGMENT_DESTROY = Character.getBoolean("AltAllowAugmentDestroy", true); ALT_GAME_KARMA_PLAYER_CAN_BE_KILLED_IN_PEACEZONE = Character.getBoolean("AltKarmaPlayerCanBeKilledInPeaceZone", false); ALT_GAME_KARMA_PLAYER_CAN_SHOP = Character.getBoolean("AltKarmaPlayerCanShop", true); ALT_GAME_KARMA_PLAYER_CAN_TELEPORT = Character.getBoolean("AltKarmaPlayerCanTeleport", true); diff --git a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java index ee78c165cc..a2092facf2 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java @@ -786,6 +786,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isDropable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isDropable(); } @@ -795,6 +799,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isDestroyable() { + if (!Config.ALT_ALLOW_AUGMENT_DESTROY && isAugmented()) + { + return false; + } return _item.isDestroyable(); } @@ -804,6 +812,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isTradeable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isTradeable(); } @@ -813,6 +825,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isSellable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isSellable(); } diff --git a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java index 61b88962de..f09ac7f682 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java @@ -99,13 +99,7 @@ public final class RequestCrystallizeItem implements IClientIncomingPacket if (inventory != null) { final L2ItemInstance item = inventory.getItemByObjectId(_objectId); - if (item == null) - { - client.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - - if (item.isHeroItem()) + if ((item == null) || item.isHeroItem() || (!Config.ALT_ALLOW_AUGMENT_DESTROY && item.isAugmented())) { client.sendPacket(ActionFailed.STATIC_PACKET); return; diff --git a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java index 5e0ad65f1a..c92719afcd 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java @@ -86,13 +86,7 @@ public class RequestCrystallizeEstimate implements IClientIncomingPacket } final L2ItemInstance item = activeChar.getInventory().getItemByObjectId(_objectId); - if ((item == null) || item.isShadowItem() || item.isTimeLimitedItem()) - { - client.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - - if (item.isHeroItem()) + if ((item == null) || item.isShadowItem() || item.isTimeLimitedItem() || item.isHeroItem() || (!Config.ALT_ALLOW_AUGMENT_DESTROY && item.isAugmented())) { client.sendPacket(ActionFailed.STATIC_PACKET); return; @@ -189,6 +183,5 @@ public class RequestCrystallizeEstimate implements IClientIncomingPacket { client.sendPacket(SystemMessageId.CRYSTALLIZATION_CANNOT_BE_PROCEEDED_BECAUSE_THERE_ARE_NO_ITEMS_REGISTERED); } - } } diff --git a/L2J_Mobius_5.0_Salvation/dist/game/config/Character.ini b/L2J_Mobius_5.0_Salvation/dist/game/config/Character.ini index 0e6932704d..052d535ea1 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/config/Character.ini +++ b/L2J_Mobius_5.0_Salvation/dist/game/config/Character.ini @@ -412,8 +412,15 @@ AugmentationBlackList = 6656,6657,6658,6659,6660,6661,6662,8191,10170,10314,1374 # Allows alternative augmentation of PvP items. # Default: False -AltAllowAugmentPvPItems = false +AltAllowAugmentPvPItems = False +# Enable Trade/Drop/Sell for augmented items. +# Default: False +AltAllowAugmentTrade = False + +# Enable Destroy/Crystalize for augmented items. +# Default: True +AltAllowAugmentDestroy = True # --------------------------------------------------------------------------- # Karma diff --git a/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/Config.java b/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/Config.java index 345ec9b4e3..fb5b6c6407 100644 --- a/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/Config.java +++ b/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/Config.java @@ -800,6 +800,8 @@ public final class Config public static boolean DISABLE_OVER_ENCHANTING; public static int[] AUGMENTATION_BLACKLIST; public static boolean ALT_ALLOW_AUGMENT_PVP_ITEMS; + public static boolean ALT_ALLOW_AUGMENT_TRADE; + public static boolean ALT_ALLOW_AUGMENT_DESTROY; public static double HP_REGEN_MULTIPLIER; public static double MP_REGEN_MULTIPLIER; public static double CP_REGEN_MULTIPLIER; @@ -1571,6 +1573,8 @@ public final class Config Arrays.sort(AUGMENTATION_BLACKLIST); ALT_ALLOW_AUGMENT_PVP_ITEMS = Character.getBoolean("AltAllowAugmentPvPItems", false); + ALT_ALLOW_AUGMENT_TRADE = Character.getBoolean("AltAllowAugmentTrade", false); + ALT_ALLOW_AUGMENT_DESTROY = Character.getBoolean("AltAllowAugmentDestroy", true); ALT_GAME_KARMA_PLAYER_CAN_BE_KILLED_IN_PEACEZONE = Character.getBoolean("AltKarmaPlayerCanBeKilledInPeaceZone", false); ALT_GAME_KARMA_PLAYER_CAN_SHOP = Character.getBoolean("AltKarmaPlayerCanShop", true); ALT_GAME_KARMA_PLAYER_CAN_TELEPORT = Character.getBoolean("AltKarmaPlayerCanTeleport", true); diff --git a/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java b/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java index ee78c165cc..a2092facf2 100644 --- a/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java +++ b/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java @@ -786,6 +786,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isDropable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isDropable(); } @@ -795,6 +799,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isDestroyable() { + if (!Config.ALT_ALLOW_AUGMENT_DESTROY && isAugmented()) + { + return false; + } return _item.isDestroyable(); } @@ -804,6 +812,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isTradeable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isTradeable(); } @@ -813,6 +825,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isSellable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isSellable(); } diff --git a/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java b/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java index f918eb66c5..186b20703c 100644 --- a/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java +++ b/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java @@ -99,13 +99,7 @@ public final class RequestCrystallizeItem implements IClientIncomingPacket if (inventory != null) { final L2ItemInstance item = inventory.getItemByObjectId(_objectId); - if (item == null) - { - client.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - - if (item.isHeroItem()) + if ((item == null) || item.isHeroItem() || (!Config.ALT_ALLOW_AUGMENT_DESTROY && item.isAugmented())) { client.sendPacket(ActionFailed.STATIC_PACKET); return; diff --git a/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java b/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java index 5e0ad65f1a..c92719afcd 100644 --- a/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java +++ b/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java @@ -86,13 +86,7 @@ public class RequestCrystallizeEstimate implements IClientIncomingPacket } final L2ItemInstance item = activeChar.getInventory().getItemByObjectId(_objectId); - if ((item == null) || item.isShadowItem() || item.isTimeLimitedItem()) - { - client.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - - if (item.isHeroItem()) + if ((item == null) || item.isShadowItem() || item.isTimeLimitedItem() || item.isHeroItem() || (!Config.ALT_ALLOW_AUGMENT_DESTROY && item.isAugmented())) { client.sendPacket(ActionFailed.STATIC_PACKET); return; @@ -189,6 +183,5 @@ public class RequestCrystallizeEstimate implements IClientIncomingPacket { client.sendPacket(SystemMessageId.CRYSTALLIZATION_CANNOT_BE_PROCEEDED_BECAUSE_THERE_ARE_NO_ITEMS_REGISTERED); } - } } diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/config/Character.ini b/L2J_Mobius_5.5_EtinasFate/dist/game/config/Character.ini index 0e6932704d..052d535ea1 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/config/Character.ini +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/config/Character.ini @@ -412,8 +412,15 @@ AugmentationBlackList = 6656,6657,6658,6659,6660,6661,6662,8191,10170,10314,1374 # Allows alternative augmentation of PvP items. # Default: False -AltAllowAugmentPvPItems = false +AltAllowAugmentPvPItems = False +# Enable Trade/Drop/Sell for augmented items. +# Default: False +AltAllowAugmentTrade = False + +# Enable Destroy/Crystalize for augmented items. +# Default: True +AltAllowAugmentDestroy = True # --------------------------------------------------------------------------- # Karma diff --git a/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/Config.java b/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/Config.java index 345ec9b4e3..fb5b6c6407 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/Config.java +++ b/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/Config.java @@ -800,6 +800,8 @@ public final class Config public static boolean DISABLE_OVER_ENCHANTING; public static int[] AUGMENTATION_BLACKLIST; public static boolean ALT_ALLOW_AUGMENT_PVP_ITEMS; + public static boolean ALT_ALLOW_AUGMENT_TRADE; + public static boolean ALT_ALLOW_AUGMENT_DESTROY; public static double HP_REGEN_MULTIPLIER; public static double MP_REGEN_MULTIPLIER; public static double CP_REGEN_MULTIPLIER; @@ -1571,6 +1573,8 @@ public final class Config Arrays.sort(AUGMENTATION_BLACKLIST); ALT_ALLOW_AUGMENT_PVP_ITEMS = Character.getBoolean("AltAllowAugmentPvPItems", false); + ALT_ALLOW_AUGMENT_TRADE = Character.getBoolean("AltAllowAugmentTrade", false); + ALT_ALLOW_AUGMENT_DESTROY = Character.getBoolean("AltAllowAugmentDestroy", true); ALT_GAME_KARMA_PLAYER_CAN_BE_KILLED_IN_PEACEZONE = Character.getBoolean("AltKarmaPlayerCanBeKilledInPeaceZone", false); ALT_GAME_KARMA_PLAYER_CAN_SHOP = Character.getBoolean("AltKarmaPlayerCanShop", true); ALT_GAME_KARMA_PLAYER_CAN_TELEPORT = Character.getBoolean("AltKarmaPlayerCanTeleport", true); diff --git a/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java b/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java index ee78c165cc..a2092facf2 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java +++ b/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java @@ -786,6 +786,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isDropable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isDropable(); } @@ -795,6 +799,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isDestroyable() { + if (!Config.ALT_ALLOW_AUGMENT_DESTROY && isAugmented()) + { + return false; + } return _item.isDestroyable(); } @@ -804,6 +812,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isTradeable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isTradeable(); } @@ -813,6 +825,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isSellable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isSellable(); } diff --git a/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java b/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java index f918eb66c5..186b20703c 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java +++ b/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java @@ -99,13 +99,7 @@ public final class RequestCrystallizeItem implements IClientIncomingPacket if (inventory != null) { final L2ItemInstance item = inventory.getItemByObjectId(_objectId); - if (item == null) - { - client.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - - if (item.isHeroItem()) + if ((item == null) || item.isHeroItem() || (!Config.ALT_ALLOW_AUGMENT_DESTROY && item.isAugmented())) { client.sendPacket(ActionFailed.STATIC_PACKET); return; diff --git a/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java b/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java index 5e0ad65f1a..c92719afcd 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java +++ b/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java @@ -86,13 +86,7 @@ public class RequestCrystallizeEstimate implements IClientIncomingPacket } final L2ItemInstance item = activeChar.getInventory().getItemByObjectId(_objectId); - if ((item == null) || item.isShadowItem() || item.isTimeLimitedItem()) - { - client.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - - if (item.isHeroItem()) + if ((item == null) || item.isShadowItem() || item.isTimeLimitedItem() || item.isHeroItem() || (!Config.ALT_ALLOW_AUGMENT_DESTROY && item.isAugmented())) { client.sendPacket(ActionFailed.STATIC_PACKET); return; @@ -189,6 +183,5 @@ public class RequestCrystallizeEstimate implements IClientIncomingPacket { client.sendPacket(SystemMessageId.CRYSTALLIZATION_CANNOT_BE_PROCEEDED_BECAUSE_THERE_ARE_NO_ITEMS_REGISTERED); } - } } diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/config/Character.ini b/L2J_Mobius_CT_2.6_HighFive/dist/game/config/Character.ini index a62842ce42..6bdbf6fcf5 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/config/Character.ini +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/config/Character.ini @@ -481,7 +481,16 @@ AugmentationBlackList = 6656,6657,6658,6659,6660,6661,6662,8191,10170,10314,1374 # Allows alternative augmentation of PvP items. # Default: False -AltAllowAugmentPvPItems = false +AltAllowAugmentPvPItems = False + +# Enable Trade/Drop/Sell for augmented items. +# Default: False +AltAllowAugmentTrade = False + +# Enable Destroy/Crystalize for augmented items. +# Default: True +AltAllowAugmentDestroy = True + # --------------------------------------------------------------------------- # Karma diff --git a/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/Config.java b/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/Config.java index 896a937b2c..74cbb8112d 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/Config.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/Config.java @@ -957,6 +957,8 @@ public final class Config public static boolean RETAIL_LIKE_AUGMENTATION_ACCESSORY; public static int[] AUGMENTATION_BLACKLIST; public static boolean ALT_ALLOW_AUGMENT_PVP_ITEMS; + public static boolean ALT_ALLOW_AUGMENT_TRADE; + public static boolean ALT_ALLOW_AUGMENT_DESTROY; public static double HP_REGEN_MULTIPLIER; public static double MP_REGEN_MULTIPLIER; public static double CP_REGEN_MULTIPLIER; @@ -1846,6 +1848,8 @@ public final class Config Arrays.sort(AUGMENTATION_BLACKLIST); ALT_ALLOW_AUGMENT_PVP_ITEMS = Character.getBoolean("AltAllowAugmentPvPItems", false); + ALT_ALLOW_AUGMENT_TRADE = Character.getBoolean("AltAllowAugmentTrade", false); + ALT_ALLOW_AUGMENT_DESTROY = Character.getBoolean("AltAllowAugmentDestroy", true); ALT_GAME_KARMA_PLAYER_CAN_BE_KILLED_IN_PEACEZONE = Character.getBoolean("AltKarmaPlayerCanBeKilledInPeaceZone", false); ALT_GAME_KARMA_PLAYER_CAN_SHOP = Character.getBoolean("AltKarmaPlayerCanShop", true); ALT_GAME_KARMA_PLAYER_CAN_TELEPORT = Character.getBoolean("AltKarmaPlayerCanTeleport", true); diff --git a/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java b/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java index 0ab4785dcd..9af9dad191 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java @@ -744,6 +744,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isDropable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isDropable(); } @@ -753,6 +757,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isDestroyable() { + if (!Config.ALT_ALLOW_AUGMENT_DESTROY && isAugmented()) + { + return false; + } return _item.isDestroyable(); } @@ -762,6 +770,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isTradeable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isTradeable(); } @@ -771,6 +783,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isSellable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isSellable(); } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java b/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java index af2cc7e7ca..453f91fd57 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java @@ -95,17 +95,12 @@ public final class RequestCrystallizeItem implements IClientIncomingPacket if (inventory != null) { final L2ItemInstance item = inventory.getItemByObjectId(_objectId); - if (item == null) + if ((item == null) || item.isHeroItem() || (!Config.ALT_ALLOW_AUGMENT_DESTROY && item.isAugmented())) { activeChar.sendPacket(ActionFailed.STATIC_PACKET); return; } - if (item.isHeroItem()) - { - return; - } - if (_count > item.getCount()) { _count = activeChar.getInventory().getItemByObjectId(_objectId).getCount(); diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/config/Character.ini b/L2J_Mobius_Classic_2.0_Saviors/dist/game/config/Character.ini index 400cd738ea..f878688044 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/config/Character.ini +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/config/Character.ini @@ -335,6 +335,7 @@ MentorPenaltyForMenteeComplete = 1 # Default: 2 MentorPenaltyForMenteeLeave = 2 + # --------------------------------------------------------------------------- # Enchanting # --------------------------------------------------------------------------- @@ -356,6 +357,7 @@ EnchantBlackList = 7816,7817,7818,7819,7820,7821,7822,7823,7824,7825,7826,7827,7 # Default: True DisableOverEnchanting = True + # --------------------------------------------------------------------------- # Augmenting # --------------------------------------------------------------------------- @@ -367,7 +369,16 @@ AugmentationBlackList = 6656,6657,6658,6659,6660,6661,6662,8191,10170,10314,1374 # Allows alternative augmentation of PvP items. # Default: False -AltAllowAugmentPvPItems = false +AltAllowAugmentPvPItems = False + +# Enable Trade/Drop/Sell for augmented items. +# Default: False +AltAllowAugmentTrade = False + +# Enable Destroy/Crystalize for augmented items. +# Default: True +AltAllowAugmentDestroy = True + # --------------------------------------------------------------------------- # Karma diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/Config.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/Config.java index bc3c134f5d..b466a43f94 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/Config.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/Config.java @@ -795,6 +795,8 @@ public final class Config public static boolean DISABLE_OVER_ENCHANTING; public static int[] AUGMENTATION_BLACKLIST; public static boolean ALT_ALLOW_AUGMENT_PVP_ITEMS; + public static boolean ALT_ALLOW_AUGMENT_TRADE; + public static boolean ALT_ALLOW_AUGMENT_DESTROY; public static double HP_REGEN_MULTIPLIER; public static double MP_REGEN_MULTIPLIER; public static double CP_REGEN_MULTIPLIER; @@ -1505,6 +1507,8 @@ public final class Config Arrays.sort(AUGMENTATION_BLACKLIST); ALT_ALLOW_AUGMENT_PVP_ITEMS = Character.getBoolean("AltAllowAugmentPvPItems", false); + ALT_ALLOW_AUGMENT_TRADE = Character.getBoolean("AltAllowAugmentTrade", false); + ALT_ALLOW_AUGMENT_DESTROY = Character.getBoolean("AltAllowAugmentDestroy", true); ALT_GAME_KARMA_PLAYER_CAN_BE_KILLED_IN_PEACEZONE = Character.getBoolean("AltKarmaPlayerCanBeKilledInPeaceZone", false); ALT_GAME_KARMA_PLAYER_CAN_SHOP = Character.getBoolean("AltKarmaPlayerCanShop", true); ALT_GAME_KARMA_PLAYER_CAN_TELEPORT = Character.getBoolean("AltKarmaPlayerCanTeleport", true); diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java index 2740bbf60c..e509f29f2a 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java @@ -786,6 +786,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isDropable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isDropable(); } @@ -795,6 +799,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isDestroyable() { + if (!Config.ALT_ALLOW_AUGMENT_DESTROY && isAugmented()) + { + return false; + } return _item.isDestroyable(); } @@ -804,6 +812,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isTradeable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isTradeable(); } @@ -813,6 +825,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isSellable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isSellable(); } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java index 61b88962de..f09ac7f682 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java @@ -99,13 +99,7 @@ public final class RequestCrystallizeItem implements IClientIncomingPacket if (inventory != null) { final L2ItemInstance item = inventory.getItemByObjectId(_objectId); - if (item == null) - { - client.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - - if (item.isHeroItem()) + if ((item == null) || item.isHeroItem() || (!Config.ALT_ALLOW_AUGMENT_DESTROY && item.isAugmented())) { client.sendPacket(ActionFailed.STATIC_PACKET); return; diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java index 5e0ad65f1a..c92719afcd 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java @@ -86,13 +86,7 @@ public class RequestCrystallizeEstimate implements IClientIncomingPacket } final L2ItemInstance item = activeChar.getInventory().getItemByObjectId(_objectId); - if ((item == null) || item.isShadowItem() || item.isTimeLimitedItem()) - { - client.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - - if (item.isHeroItem()) + if ((item == null) || item.isShadowItem() || item.isTimeLimitedItem() || item.isHeroItem() || (!Config.ALT_ALLOW_AUGMENT_DESTROY && item.isAugmented())) { client.sendPacket(ActionFailed.STATIC_PACKET); return; @@ -189,6 +183,5 @@ public class RequestCrystallizeEstimate implements IClientIncomingPacket { client.sendPacket(SystemMessageId.CRYSTALLIZATION_CANNOT_BE_PROCEEDED_BECAUSE_THERE_ARE_NO_ITEMS_REGISTERED); } - } } diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/config/Character.ini b/L2J_Mobius_Classic_2.1_Zaken/dist/game/config/Character.ini index 400cd738ea..f878688044 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/config/Character.ini +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/config/Character.ini @@ -335,6 +335,7 @@ MentorPenaltyForMenteeComplete = 1 # Default: 2 MentorPenaltyForMenteeLeave = 2 + # --------------------------------------------------------------------------- # Enchanting # --------------------------------------------------------------------------- @@ -356,6 +357,7 @@ EnchantBlackList = 7816,7817,7818,7819,7820,7821,7822,7823,7824,7825,7826,7827,7 # Default: True DisableOverEnchanting = True + # --------------------------------------------------------------------------- # Augmenting # --------------------------------------------------------------------------- @@ -367,7 +369,16 @@ AugmentationBlackList = 6656,6657,6658,6659,6660,6661,6662,8191,10170,10314,1374 # Allows alternative augmentation of PvP items. # Default: False -AltAllowAugmentPvPItems = false +AltAllowAugmentPvPItems = False + +# Enable Trade/Drop/Sell for augmented items. +# Default: False +AltAllowAugmentTrade = False + +# Enable Destroy/Crystalize for augmented items. +# Default: True +AltAllowAugmentDestroy = True + # --------------------------------------------------------------------------- # Karma diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/Config.java b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/Config.java index e507a8571f..1c863383e6 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/Config.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/Config.java @@ -795,6 +795,8 @@ public final class Config public static boolean DISABLE_OVER_ENCHANTING; public static int[] AUGMENTATION_BLACKLIST; public static boolean ALT_ALLOW_AUGMENT_PVP_ITEMS; + public static boolean ALT_ALLOW_AUGMENT_TRADE; + public static boolean ALT_ALLOW_AUGMENT_DESTROY; public static double HP_REGEN_MULTIPLIER; public static double MP_REGEN_MULTIPLIER; public static double CP_REGEN_MULTIPLIER; @@ -1509,6 +1511,8 @@ public final class Config Arrays.sort(AUGMENTATION_BLACKLIST); ALT_ALLOW_AUGMENT_PVP_ITEMS = Character.getBoolean("AltAllowAugmentPvPItems", false); + ALT_ALLOW_AUGMENT_TRADE = Character.getBoolean("AltAllowAugmentTrade", false); + ALT_ALLOW_AUGMENT_DESTROY = Character.getBoolean("AltAllowAugmentDestroy", true); ALT_GAME_KARMA_PLAYER_CAN_BE_KILLED_IN_PEACEZONE = Character.getBoolean("AltKarmaPlayerCanBeKilledInPeaceZone", false); ALT_GAME_KARMA_PLAYER_CAN_SHOP = Character.getBoolean("AltKarmaPlayerCanShop", true); ALT_GAME_KARMA_PLAYER_CAN_TELEPORT = Character.getBoolean("AltKarmaPlayerCanTeleport", true); diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java index 2740bbf60c..e509f29f2a 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java @@ -786,6 +786,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isDropable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isDropable(); } @@ -795,6 +799,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isDestroyable() { + if (!Config.ALT_ALLOW_AUGMENT_DESTROY && isAugmented()) + { + return false; + } return _item.isDestroyable(); } @@ -804,6 +812,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isTradeable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isTradeable(); } @@ -813,6 +825,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isSellable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isSellable(); } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java index 61b88962de..f09ac7f682 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java @@ -99,13 +99,7 @@ public final class RequestCrystallizeItem implements IClientIncomingPacket if (inventory != null) { final L2ItemInstance item = inventory.getItemByObjectId(_objectId); - if (item == null) - { - client.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - - if (item.isHeroItem()) + if ((item == null) || item.isHeroItem() || (!Config.ALT_ALLOW_AUGMENT_DESTROY && item.isAugmented())) { client.sendPacket(ActionFailed.STATIC_PACKET); return; diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java index 5e0ad65f1a..c92719afcd 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java @@ -86,13 +86,7 @@ public class RequestCrystallizeEstimate implements IClientIncomingPacket } final L2ItemInstance item = activeChar.getInventory().getItemByObjectId(_objectId); - if ((item == null) || item.isShadowItem() || item.isTimeLimitedItem()) - { - client.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - - if (item.isHeroItem()) + if ((item == null) || item.isShadowItem() || item.isTimeLimitedItem() || item.isHeroItem() || (!Config.ALT_ALLOW_AUGMENT_DESTROY && item.isAugmented())) { client.sendPacket(ActionFailed.STATIC_PACKET); return; @@ -189,6 +183,5 @@ public class RequestCrystallizeEstimate implements IClientIncomingPacket { client.sendPacket(SystemMessageId.CRYSTALLIZATION_CANNOT_BE_PROCEEDED_BECAUSE_THERE_ARE_NO_ITEMS_REGISTERED); } - } } diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/config/Character.ini b/L2J_Mobius_Classic_2.2_Antharas/dist/game/config/Character.ini index 2da405f0a6..140c07108a 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/config/Character.ini +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/config/Character.ini @@ -335,6 +335,7 @@ MentorPenaltyForMenteeComplete = 1 # Default: 2 MentorPenaltyForMenteeLeave = 2 + # --------------------------------------------------------------------------- # Enchanting # --------------------------------------------------------------------------- @@ -356,6 +357,7 @@ EnchantBlackList = 7816,7817,7818,7819,7820,7821,7822,7823,7824,7825,7826,7827,7 # Default: True DisableOverEnchanting = True + # --------------------------------------------------------------------------- # Augmenting # --------------------------------------------------------------------------- @@ -367,7 +369,16 @@ AugmentationBlackList = 6656,6657,6658,6659,6660,6661,6662,8191,10170,10314,1374 # Allows alternative augmentation of PvP items. # Default: False -AltAllowAugmentPvPItems = false +AltAllowAugmentPvPItems = False + +# Enable Trade/Drop/Sell for augmented items. +# Default: False +AltAllowAugmentTrade = False + +# Enable Destroy/Crystalize for augmented items. +# Default: True +AltAllowAugmentDestroy = True + # --------------------------------------------------------------------------- # Karma diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/Config.java b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/Config.java index e507a8571f..1c863383e6 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/Config.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/Config.java @@ -795,6 +795,8 @@ public final class Config public static boolean DISABLE_OVER_ENCHANTING; public static int[] AUGMENTATION_BLACKLIST; public static boolean ALT_ALLOW_AUGMENT_PVP_ITEMS; + public static boolean ALT_ALLOW_AUGMENT_TRADE; + public static boolean ALT_ALLOW_AUGMENT_DESTROY; public static double HP_REGEN_MULTIPLIER; public static double MP_REGEN_MULTIPLIER; public static double CP_REGEN_MULTIPLIER; @@ -1509,6 +1511,8 @@ public final class Config Arrays.sort(AUGMENTATION_BLACKLIST); ALT_ALLOW_AUGMENT_PVP_ITEMS = Character.getBoolean("AltAllowAugmentPvPItems", false); + ALT_ALLOW_AUGMENT_TRADE = Character.getBoolean("AltAllowAugmentTrade", false); + ALT_ALLOW_AUGMENT_DESTROY = Character.getBoolean("AltAllowAugmentDestroy", true); ALT_GAME_KARMA_PLAYER_CAN_BE_KILLED_IN_PEACEZONE = Character.getBoolean("AltKarmaPlayerCanBeKilledInPeaceZone", false); ALT_GAME_KARMA_PLAYER_CAN_SHOP = Character.getBoolean("AltKarmaPlayerCanShop", true); ALT_GAME_KARMA_PLAYER_CAN_TELEPORT = Character.getBoolean("AltKarmaPlayerCanTeleport", true); diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java index 2740bbf60c..e509f29f2a 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java @@ -786,6 +786,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isDropable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isDropable(); } @@ -795,6 +799,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isDestroyable() { + if (!Config.ALT_ALLOW_AUGMENT_DESTROY && isAugmented()) + { + return false; + } return _item.isDestroyable(); } @@ -804,6 +812,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isTradeable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isTradeable(); } @@ -813,6 +825,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isSellable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isSellable(); } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java index 61b88962de..f09ac7f682 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java @@ -99,13 +99,7 @@ public final class RequestCrystallizeItem implements IClientIncomingPacket if (inventory != null) { final L2ItemInstance item = inventory.getItemByObjectId(_objectId); - if (item == null) - { - client.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - - if (item.isHeroItem()) + if ((item == null) || item.isHeroItem() || (!Config.ALT_ALLOW_AUGMENT_DESTROY && item.isAugmented())) { client.sendPacket(ActionFailed.STATIC_PACKET); return; diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java index 5e0ad65f1a..c92719afcd 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java @@ -86,13 +86,7 @@ public class RequestCrystallizeEstimate implements IClientIncomingPacket } final L2ItemInstance item = activeChar.getInventory().getItemByObjectId(_objectId); - if ((item == null) || item.isShadowItem() || item.isTimeLimitedItem()) - { - client.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - - if (item.isHeroItem()) + if ((item == null) || item.isShadowItem() || item.isTimeLimitedItem() || item.isHeroItem() || (!Config.ALT_ALLOW_AUGMENT_DESTROY && item.isAugmented())) { client.sendPacket(ActionFailed.STATIC_PACKET); return; @@ -189,6 +183,5 @@ public class RequestCrystallizeEstimate implements IClientIncomingPacket { client.sendPacket(SystemMessageId.CRYSTALLIZATION_CANNOT_BE_PROCEEDED_BECAUSE_THERE_ARE_NO_ITEMS_REGISTERED); } - } } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/config/Character.ini b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/config/Character.ini index 2da405f0a6..140c07108a 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/config/Character.ini +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/config/Character.ini @@ -335,6 +335,7 @@ MentorPenaltyForMenteeComplete = 1 # Default: 2 MentorPenaltyForMenteeLeave = 2 + # --------------------------------------------------------------------------- # Enchanting # --------------------------------------------------------------------------- @@ -356,6 +357,7 @@ EnchantBlackList = 7816,7817,7818,7819,7820,7821,7822,7823,7824,7825,7826,7827,7 # Default: True DisableOverEnchanting = True + # --------------------------------------------------------------------------- # Augmenting # --------------------------------------------------------------------------- @@ -367,7 +369,16 @@ AugmentationBlackList = 6656,6657,6658,6659,6660,6661,6662,8191,10170,10314,1374 # Allows alternative augmentation of PvP items. # Default: False -AltAllowAugmentPvPItems = false +AltAllowAugmentPvPItems = False + +# Enable Trade/Drop/Sell for augmented items. +# Default: False +AltAllowAugmentTrade = False + +# Enable Destroy/Crystalize for augmented items. +# Default: True +AltAllowAugmentDestroy = True + # --------------------------------------------------------------------------- # Karma diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/Config.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/Config.java index e507a8571f..1c863383e6 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/Config.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/Config.java @@ -795,6 +795,8 @@ public final class Config public static boolean DISABLE_OVER_ENCHANTING; public static int[] AUGMENTATION_BLACKLIST; public static boolean ALT_ALLOW_AUGMENT_PVP_ITEMS; + public static boolean ALT_ALLOW_AUGMENT_TRADE; + public static boolean ALT_ALLOW_AUGMENT_DESTROY; public static double HP_REGEN_MULTIPLIER; public static double MP_REGEN_MULTIPLIER; public static double CP_REGEN_MULTIPLIER; @@ -1509,6 +1511,8 @@ public final class Config Arrays.sort(AUGMENTATION_BLACKLIST); ALT_ALLOW_AUGMENT_PVP_ITEMS = Character.getBoolean("AltAllowAugmentPvPItems", false); + ALT_ALLOW_AUGMENT_TRADE = Character.getBoolean("AltAllowAugmentTrade", false); + ALT_ALLOW_AUGMENT_DESTROY = Character.getBoolean("AltAllowAugmentDestroy", true); ALT_GAME_KARMA_PLAYER_CAN_BE_KILLED_IN_PEACEZONE = Character.getBoolean("AltKarmaPlayerCanBeKilledInPeaceZone", false); ALT_GAME_KARMA_PLAYER_CAN_SHOP = Character.getBoolean("AltKarmaPlayerCanShop", true); ALT_GAME_KARMA_PLAYER_CAN_TELEPORT = Character.getBoolean("AltKarmaPlayerCanTeleport", true); diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java index 2740bbf60c..e509f29f2a 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/model/items/instance/L2ItemInstance.java @@ -786,6 +786,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isDropable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isDropable(); } @@ -795,6 +799,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isDestroyable() { + if (!Config.ALT_ALLOW_AUGMENT_DESTROY && isAugmented()) + { + return false; + } return _item.isDestroyable(); } @@ -804,6 +812,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isTradeable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isTradeable(); } @@ -813,6 +825,10 @@ public final class L2ItemInstance extends L2Object */ public boolean isSellable() { + if (Config.ALT_ALLOW_AUGMENT_TRADE && isAugmented()) + { + return true; + } return !isAugmented() && _item.isSellable(); } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java index 61b88962de..f09ac7f682 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/network/clientpackets/RequestCrystallizeItem.java @@ -99,13 +99,7 @@ public final class RequestCrystallizeItem implements IClientIncomingPacket if (inventory != null) { final L2ItemInstance item = inventory.getItemByObjectId(_objectId); - if (item == null) - { - client.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - - if (item.isHeroItem()) + if ((item == null) || item.isHeroItem() || (!Config.ALT_ALLOW_AUGMENT_DESTROY && item.isAugmented())) { client.sendPacket(ActionFailed.STATIC_PACKET); return; diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java index 5e0ad65f1a..c92719afcd 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/network/clientpackets/crystalization/RequestCrystallizeEstimate.java @@ -86,13 +86,7 @@ public class RequestCrystallizeEstimate implements IClientIncomingPacket } final L2ItemInstance item = activeChar.getInventory().getItemByObjectId(_objectId); - if ((item == null) || item.isShadowItem() || item.isTimeLimitedItem()) - { - client.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - - if (item.isHeroItem()) + if ((item == null) || item.isShadowItem() || item.isTimeLimitedItem() || item.isHeroItem() || (!Config.ALT_ALLOW_AUGMENT_DESTROY && item.isAugmented())) { client.sendPacket(ActionFailed.STATIC_PACKET); return; @@ -189,6 +183,5 @@ public class RequestCrystallizeEstimate implements IClientIncomingPacket { client.sendPacket(SystemMessageId.CRYSTALLIZATION_CANNOT_BE_PROCEEDED_BECAUSE_THERE_ARE_NO_ITEMS_REGISTERED); } - } }