Jump to content
  • 0

[Help] About a pvp reward


Question

Posted

Hello guys i saw that topic

 

http://maxcheaters.com/forum/index.php?topic=48159.0

 

 

and i have some question about that i hope someone to help me :P...

 

Can i add as a feature reward an enchant by chance? For example 1 kill = 5% chance to make a random enchant on weapon/armor/jew? (to not give scroll but enchant.)

 

And if yes is it easy something like that?

 

 

EDIT: Sry for my bad english :P

2 answers to this question

Recommended Posts

  • 0
Posted

i just coded it, but did not test

 

### Eclipse Workspace Patch 1.0
#P L2J_Server
Index: java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java	(revision 4838)
+++ java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java	(working copy)
@@ -5675,9 +5675,73 @@
			// Send a Server->Client UserInfo packet to attacker with its Karma and PK Counter
			sendPacket(new UserInfo(this));
			sendPacket(new ExBrExtraUserInfo(this));
+			
+			chanceEnchantReward();
		}
	}

+	private final void chanceEnchantReward()
+	{
+		final int chance = 5; // 5% of chance to get an item enchanted
+		
+		final int producedChance = Rnd.get(100) + 1;
+		if(producedChance <= chance)
+		{	
+			FastList<L2ItemInstance> enchantableItems = new FastList<L2ItemInstance>();
+			PcInventory inv = getInventory();
+			for(L2ItemInstance itm : inv.getItems())
+				if(itm.isArmor() || itm.isWeapon())
+					enchantableItems.add(itm);
+		
+			L2ItemInstance enchantedItem = null;
+			boolean enchanted = false;
+			do
+			{
+				enchantedItem = enchantableItems.remove(Rnd.get(enchantableItems.size()));
+				if(enchantedItem.isWeapon())
+				{
+					if(((L2Weapon)enchantedItem.getItem()).isCrystallizable()
+							&& enchantedItem.getEnchantLevel() < Config.ENCHANT_MAX_WEAPON)
+					{
+						synchronized(inv)
+						{
+							enchantedItem.setEnchantLevel(enchantedItem.getEnchantLevel() + 1);
+							enchanted = true;
+						}
+					}
+				}
+				else if(enchantedItem.isArmor())
+				{
+					L2Armor armorItem = (L2Armor)enchantedItem.getItem();
+					if(armorItem.isCrystallizable())
+					{
+						if((armorItem.getType1() == L2Item.TYPE1_WEAPON_RING_EARRING_NECKLACE
+								&& enchantedItem.getEnchantLevel() < Config.ENCHANT_MAX_JEWELRY)
+								|| (armorItem.getType1() == L2Item.TYPE1_SHIELD_ARMOR
+								&& enchantedItem.getEnchantLevel() < Config.ENCHANT_MAX_ARMOR))
+						{
+							synchronized(inv)
+							{
+								enchantedItem.setEnchantLevel(enchantedItem.getEnchantLevel() + 1);
+								enchanted = true;
+							}
+						}
+					}	
+				}
+				
+				if(enchanted)
+				{
+					broadcastUserInfo();
+					sendPacket(new ItemList(this, false));
+					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_SUCCESSFULLY_ENCHANTED);
+					sm.addItemName(enchantedItem);
+					sendPacket(sm);
+				}
+			}
+			while(!enchanted);
+		}
+	}
+	
	/**
	 * Increase pk count, karma and send the info to the player
	 *

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
Answer this question...

×   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...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock