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

inf-skillz style :]

+25 = 100%

+26 = 96%

:P

totaly awesome! I will test it ,if it works +1 from me :]

wow.!

i will test it for sure!

  • Author

Tested ,working.

+1 as i promised ya :>

thank you

just wondering if i register new config to get  amount of enchants

 

and i change it smth like this i mean ur code

 

for(int x=-Config.ENCHANT_CUSTOMBEGINING; x<Config.ENCHANT_MAX_WEAPON; x++) //By TheEnd
+					chance = Config.BLESSED_ENCHANT_CHANCE_WEAPON-x;

And i whana that it when custom begin example from +16 enchant rate go 2x lower and i dont whana that it go again 2x lower on 17 so what i need write? in this x++ x- etc

 

or i need register new max enchants example

for(int x=-Config.ENCHANT_CUSTOMBEGINING; x<Config.ENCHANT_MAX_WEAPON0; x++)
else for(int x=-Config.ENCHANT_CUSTOMBEGINING2; x<Config.ENCHANT_MAX_WEAPON1; x++) 
				chance = Config.BLESSED_ENCHANT_CHANCE_WEAPON-x;

 

and do lots of els whit lots config commands? whit different enchant mount? somebody answer plix ;p

if i register new commands of enchant rates and i do like this

 

  				if (_isWeapon)
				for(int i=-Config.ENCHANT_SAFE_MAX; i<Config.ENCHANT_15_WEAPON; i++)
				for(int 16=-Config.ENCHANT_15_WEAPON; 16<Config.ENCHANT_16_WEAPON; 16++)
				for(int 17=-Config.ENCHANT_16_WEAPON; 17<Config.ENCHANT_17_WEAPON; 17++)
				for(int 18=-Config.ENCHANT_17_WEAPON; 18<Config.ENCHANT_18_WEAPON; 18++)
				for(int 19=-Config.ENCHANT_18_WEAPON; 19<Config.ENCHANT_19_WEAPON; 19++)
				for(int 20=-Config.ENCHANT_19_WEAPON; 20<Config.ENCHANT_20_WEAPON; 20++)
				chance = Config.ENCHANT_CHANCE_WEAPON-i;
				chance = Config.ENCHANT_CHANCE_WEAPON-16;
				chance = Config.ENCHANT_CHANCE_WEAPON-17;
				chance = Config.ENCHANT_CHANCE_WEAPON-18;
				chance = Config.ENCHANT_CHANCE_WEAPON-19;
				chance = Config.ENCHANT_CHANCE_WEAPON-20;

 

it should check example from +16 then at 17 etc.. ofc what i will make at configs but how to do stable enchant rate from +3 till +15?

i need litlle help with that code... im use L2j server rev.679 and where i have put this .java file?

this system is quite limited, but it gave me an idea :)

thx for the code

  • 2 weeks later...

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.