Jump to content

[SHARE] Limit Max Enchant on some items


xMaylox

Recommended Posts

well, i saw in some servers that custom armors and weapons are overpowered and if people enchant them are even more. so i was thinking. why not limiting the max enchant of custom items? (my test server i limited raid jewls) so i did this:

 

Index: config/enchant.properties
===================================================================
--- config/enchant.properties	(revision 5187)
+++ config/enchant.properties	(working copy)
@@ -26,6 +26,10 @@
EnchantBreakArmorBlessed = False
EnchantBreakJewelryBlessed = False

+#Limit Enchant
+LimitItemsEnchant=0
+EnchantMaxList=0
+
# Enchant limit (unlimited on default)
EnchantMaxWeapon = 25
EnchantMaxArmor = 25
Index: src/main/java/com/l2jfree/Config.java
===================================================================
--- src/main/java/com/l2jfree/Config.java	(revision 5187)
+++ src/main/java/com/l2jfree/Config.java	(working copy)
@@ -600,6 +600,9 @@
	public static int			ENCHANT_DWARF_1_CHANCE;								// Dwarf enchant System Dwarf 1 chance?
	public static int			ENCHANT_DWARF_2_CHANCE;								// Dwarf enchant System Dwarf 2 chance?
	public static int			ENCHANT_DWARF_3_CHANCE;								// Dwarf enchant System Dwarf 3 chance?
+public static String            ALT_LIST_ENCHANTS;
+public static int			ENCHANT_MAX_LIST;
+public static FastList<Integer>		ALT_ENCHANTS_LIST		= new FastList<Integer>();	

	public static boolean		AUGMENT_EXCLUDE_NOTDONE;
	public static int			AUGMENTATION_NG_SKILL_CHANCE; // Chance to get a skill while using a NoGrade Life Stone
@@ -624,6 +627,17 @@
			ENCHANT_CHANCE_WEAPON = Integer.parseInt(enchantSettings.getProperty("EnchantChanceWeapon", "65"));
			ENCHANT_CHANCE_ARMOR = Integer.parseInt(enchantSettings.getProperty("EnchantChanceArmor", "65"));
			ENCHANT_CHANCE_JEWELRY = Integer.parseInt(enchantSettings.getProperty("EnchantChanceJewelry", "65"));
+
+/*Max list enchant*/
+                   
+ALT_LIST_ENCHANTS = enchantSettings.getProperty("LimitItemsEnchant", "0");
+ENCHANT_MAX_LIST  = Integer.parseInt(enchantSettings.getProperty("EnchantMaxList", "10"));
+ALT_ENCHANTS_LIST = new FastList<Integer>();
+			for (String id : ALT_LIST_ENCHANTS.split(","))
+			{
+				ALT_ENCHANTS_LIST.add(Integer.parseInt(id));
+			}
+
			/* item may break normal scroll */
			ENCHANT_BREAK_WEAPON = Boolean.parseBoolean(enchantSettings.getProperty("EnchantBreakWeapon", "True"));
			ENCHANT_BREAK_ARMOR = Boolean.parseBoolean(enchantSettings.getProperty("EnchantBreakArmor", "True"));
Index: src/main/java/com/l2jfree/gameserver/model/L2ItemInstance.java
===================================================================
--- src/main/java/com/l2jfree/gameserver/model/L2ItemInstance.java	(revision 5187)
+++ src/main/java/com/l2jfree/gameserver/model/L2ItemInstance.java	(working copy)
@@ -1735,4 +1735,9 @@
	{
		return Config.ALT_LIST_OLY_RESTRICTED_ITEMS.contains(_itemId);
	}
+
+        public boolean isEnchantList()
+	{
+		return Config.ALT_ENCHANTS_LIST.contains(_itemId);
+	}
}
Index: src/main/java/com/l2jfree/gameserver/network/clientpackets/RequestEnchantItem.java
===================================================================
--- src/main/java/com/l2jfree/gameserver/network/clientpackets/RequestEnchantItem.java	(revision 5187)
+++ src/main/java/com/l2jfree/gameserver/network/clientpackets/RequestEnchantItem.java	(working copy)
@@ -45,6 +45,7 @@
															{ 6569, 6570, 6571, 6572, 6573, 6574, 6575, 6576, 6577, 6578 };

	private int					_objectId;
+	private int maxEnchantList;

	/**
	 * packet type id 0x58
@@ -331,6 +332,15 @@
			return;
		}

+maxEnchantList = Config.ENCHANT_MAX_LIST;
+
+if (item.getEnchantLevel() >= maxEnchantList && item.isEnchantList())
+		{
+			activeChar.sendPacket(new SystemMessage(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITION));
+			activeChar.setActiveEnchantItem(null);
+			return;
+		}
+
		scroll = activeChar.getInventory().destroyItem("Enchant", scroll.getObjectId(), 1, activeChar, item);
		if (scroll == null)
		{

Link to comment
Share on other sites

In my opinion the costum things are op only if the admin is lame and make it overpowered with stats not with enchant also there are an easier way in datapack just remove the enchant line from the xml and its ready you dont get any enchant bonus.

 

Anyway nice share.

Link to comment
Share on other sites

In my opinion the costum things are op only if the admin is lame and make it overpowered with stats not with enchant also there are an easier way in datapack just remove the enchant line from the xml and its ready you dont get any enchant bonus.

 

Anyway nice share.

 

yap i agree just remove that line but its still a good share...

Link to comment
Share on other sites

well, i am not talking about really overpowered items like most of server. i am talking about items that giving some bonuses and some more p.def than usual so you may need to limit their enchant

Link to comment
Share on other sites

Realy good share it can also be used for custum armors or custom weapons and jewels!

Im amazed last days with all those java shares!

PS: I need to learn java :P

Link to comment
Share on other sites

well, i am not talking about really overpowered items like most of server. i am talking about items that giving some bonuses and some more p.def than usual so you may need to limit their enchant

 

Ok then..You are right because overpower items are not good in a server...

 

Im amazed last days with all those java shares!

PS: I need to learn java :P

 

Yap all these java shares are amazing but i agree with your PS because without java knowlege you can not use them..

Link to comment
Share on other sites

  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...