Skip to content

[Share]Custom Enchant System

Featured Replies

I dont know If it will work...

I just thought it :D

 

Easily and Funny (if it work...)

 

Look how it is work...

Every Time you enchant your weapon - Armor- Jewel, you will get -1% chance ....

For example Safe is 3.

Change is 100%.

at +4 to +5 u will have 99%

etc

etc

 

Index: java/net/sf/l2j/gameserver/network/clientpackets/AbstractEnchantPacket.java
===================================================================
--- java/net/sf/l2j/gameserver/network/clientpackets/AbstractEnchantPacket.java	(revision 3474)
+++ java/net/sf/l2j/gameserver/network/clientpackets/AbstractEnchantPacket.java	(working copy)
@@ -88,7 +88,7 @@
			// check for maximum enchant level
			if (_maxEnchantLevel != 0 && enchantItem.getEnchantLevel() >= _maxEnchantLevel)
				return false;
-
+			
			if(_itemIds != null && Arrays.binarySearch(_itemIds, enchantItem.getItemId()) < 0)
				return false;

@@ -172,22 +172,27 @@
					return -1;

				if (_isWeapon)
-					chance = Config.BLESSED_ENCHANT_CHANCE_WEAPON;
+					for(int x=-Config.ENCHANT_SAFE_MAX; x<Config.ENCHANT_MAX_WEAPON; x++) //By TheEnd
+					chance = Config.BLESSED_ENCHANT_CHANCE_WEAPON-x;
				else if (isAccessory)
-					chance = Config.BLESSED_ENCHANT_CHANCE_JEWELRY;
+					for(int z=-Config.ENCHANT_SAFE_MAX; z< Config.ENCHANT_MAX_JEWELRY; z++)
+					chance = Config.BLESSED_ENCHANT_CHANCE_JEWELRY-z;
				else
+					for(int v=-Config.ENCHANT_SAFE_MAX_FULL; v< Config.ENCHANT_MAX_ARMOR; v++)
-					chance = Config.BLESSED_ENCHANT_CHANCE_ARMOR;
+                                      chance = Config.BLESSED_ENCHANT_CHANCE_ARMOR-v;
			}
			else
			{
				if (_isWeapon)
-					chance = Config.ENCHANT_CHANCE_WEAPON;
-				else if (isAccessory)
-					chance = Config.ENCHANT_CHANCE_JEWELRY;
+					for(int i=-Config.ENCHANT_SAFE_MAX; i<Config.ENCHANT_MAX_WEAPON; i++) //By TheEnd
+					chance = Config.ENCHANT_CHANCE_WEAPON-i;
+				else	if (isAccessory)
+					for(int d=-Config.ENCHANT_SAFE_MAX; d< Config.ENCHANT_MAX_JEWELRY; d++)
+					chance = Config.ENCHANT_CHANCE_JEWELRY-d;				
				else
-					chance = Config.ENCHANT_CHANCE_ARMOR;
+					for(int a=-Config.ENCHANT_SAFE_MAX_FULL; a< Config.ENCHANT_MAX_ARMOR; a++)
+					chance = Config.ENCHANT_CHANCE_ARMOR-a;
			}
			chance += _chanceAdd;

			if (supportItem != null)

or:

Index: java/net/sf/l2j/gameserver/network/clientpackets/AbstractEnchantPacket.java
===================================================================
--- java/net/sf/l2j/gameserver/network/clientpackets/AbstractEnchantPacket.java	(revision 3474)
+++ java/net/sf/l2j/gameserver/network/clientpackets/AbstractEnchantPacket.java	(working copy)
@@ -88,7 +88,7 @@
			// check for maximum enchant level
			if (_maxEnchantLevel != 0 && enchantItem.getEnchantLevel() >= _maxEnchantLevel)
				return false;
-
+			
			if(_itemIds != null && Arrays.binarySearch(_itemIds, enchantItem.getItemId()) < 0)
				return false;

@@ -172,22 +172,27 @@
					return -1;

				if (_isWeapon)
-					chance = Config.BLESSED_ENCHANT_CHANCE_WEAPON;
+					for(int x=-Config.ENCHANT_SAFE_MAX; x<Config.ENCHANT_MAX_WEAPON; x++) //By TheEnd
+					chance = Config.BLESSED_ENCHANT_CHANCE_WEAPON-x;
				else if (isAccessory)
-					chance = Config.BLESSED_ENCHANT_CHANCE_JEWELRY;
+					for(int z=-Config.ENCHANT_SAFE_MAX; z< Config.ENCHANT_MAX_JEWELRY; z++)
+					chance = Config.BLESSED_ENCHANT_CHANCE_JEWELRY-z;
				else
+					for(int a=-Config.ENCHANT_SAFE_MAX_FULL; a< Config.ENCHANT_MAX_ARMOR; a++)
- 					chance = Config.BLESSED_ENCHANT_CHANCE_ARMOR;
+                                      chance = Config.BLESSED_ENCHANT_CHANCE_ARMOR-a;
			}
			else
			{
				if (_isWeapon)
-					chance = Config.ENCHANT_CHANCE_WEAPON;
-				else if (isAccessory)
-					chance = Config.ENCHANT_CHANCE_JEWELRY;
+					for(int x=-Config.ENCHANT_SAFE_MAX; i<Config.ENCHANT_MAX_WEAPON; i++) //By TheEnd
+					chance = Config.ENCHANT_CHANCE_WEAPON-i;
+				else	if (isAccessory)
+					for(int z=-Config.ENCHANT_SAFE_MAX; d< Config.ENCHANT_MAX_JEWELRY; d++)
+					chance = Config.ENCHANT_CHANCE_JEWELRY-d;				
				else
-					chance = Config.ENCHANT_CHANCE_ARMOR;
+					for(int a=-Config.ENCHANT_SAFE_MAX_FULL; a< Config.ENCHANT_MAX_ARMOR; a++)
+					chance = Config.ENCHANT_CHANCE_ARMOR-a;
			}
			chance += _chanceAdd;

			if (supportItem != null)

Not Tested.

Credits: TheEnd

how can i change rates for example +3 100% and +4 90% ?

Just create few if/else or switch case, and use getItemEnchantLevel(); and check.

Just create few if/else or switch case, and use getItemEnchantLevel(); and check.

ok tnx 

and tnx theand for code :)

i have many red lines and i don't know what to do plz help me.

i have many red lines and i don't know what to do plz help me.

 

How can we help you without info about these errors?

WoW!

It's one of the best ideas i saw this month!

Goo work!I'm gonna use it for sure!

  • 2 weeks later...

Thanks dude,work and its a very good sistem.

Is usefull, but for who know what is that code :)

  • 4 months later...

looking for something like these for quite a time :) Thx, booyah

very nice work ^^

I use for sure !

  • 1 month later...

how it works??? safe +3 for +4 ? for +5 ? you fix by your own... i mean i can fix it ?

ie for every enchant I set installment?

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.