LoyLoy Posted August 21, 2011 Posted August 21, 2011 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
0 B1ggBoss Posted August 21, 2011 Posted August 21, 2011 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 LoyLoy Posted August 21, 2011 Author Posted August 21, 2011 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 :)
Question
LoyLoy
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
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 accountSign in
Already have an account? Sign in here.
Sign In Now