Jump to content
  • 0

[Help] About a pvp reward


LoyLoy

Question

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

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

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
	 *

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

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