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
	 *

  • 0
Posted

Can u add a specific area too? Like hunter village i mean if u enter only that zone to have that feature.

 

 

I will test it later... thanks you :)

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


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