Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.l2jserver.gameserver.model.actor.instance;
- import java.util.StringTokenizer;
- import com.l2jserver.gameserver.datatables.AugmentationData;
- import com.l2jserver.gameserver.datatables.ItemTable;
- import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
- import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
- import com.l2jserver.gameserver.network.serverpackets.InventoryUpdate;
- import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;
- import com.l2jserver.util.Rnd;
- public class L2ItemEnchanterInstance extends L2NpcInstance
- {
- /**
- * @param objectId
- * @param template
- * By Drake2wow
- */
- public L2ItemEnchanterInstance(int objectId, L2NpcTemplate template)
- {
- super(objectId, template);
- setInstanceType(InstanceType.L2ItemEnchanterInstance);
- }
- int ObjId=getObjectId();
- public static int WeapEnch=20;
- public static int ArmorEnch=20;
- int IngredientID=57;//adena
- int IeAmountWeap=300;//300 adena needed for weapons
- int IeAmountArmor=100;//100 adena needed for armors
- boolean flip=true;
- String IeName=ItemTable.getInstance().createDummyItem(IngredientID).getName();
- @Override
- public void showChatWindow(L2PcInstance player)
- { //WEAPONS on the initial screen;
- L2ItemInstance[] weap=player.getInventory().getWeaponsList();
- int size=weap.length;String DopWepText="";String bgcolor="";
- for (int i=0;i!=size;i++)
- {
- flip = !flip;
- String icon=weap[i].getItem().getIcon();String name=weap[i].getItemName();
- String Action = "Item "+String.valueOf(weap[i].getObjectId());
- bgcolor="";
- if (flip == true) bgcolor = "bgcolor=131210";
- DopWepText += "<table "+bgcolor+"><tr><td width=40><button action=\"bypass -h npc_"+ObjId+"_"+Action+"\" width=32 height=32 back=icon"+icon+" fore=icon."+icon+"></td><td width=220><table width=300><tr><td><font color=LEVEL>+"+WeapEnch+"</font> "+name+"<font color=a1a1a1></font> <font color=ae9977></font></td><td></td></tr><tr><td><font color=%col1%> "+IeAmountWeap+" "+IeName+"</font></td></tr></table></td></tr></table>";
- }
- NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
- html.setFile(player.getHtmlPrefix(), "data/html/drake2wow/700000.htm");
- int Q = 0;
- if (player.getInventory().getItemByItemId(IngredientID) != null) Q = (int) player.getInventory().getItemByItemId(IngredientID).getCount();
- html.replace("%type%", "Armors");
- html.replace("%objectId%", String.valueOf(ObjId));
- html.replace("%Quan%", String.valueOf(Q));
- html.replace("%Cur%", String.valueOf(IeName));
- html.replace("%HyperText%", String.valueOf(DopWepText));
- player.sendPacket(html);
- }
- @Override
- public void onBypassFeedback(L2PcInstance player, String command)
- {
- StringTokenizer st = new StringTokenizer(command, " ");
- String actualCommand = st.nextToken();
- if (actualCommand.equalsIgnoreCase("WeaponsGo"))
- {
- L2ItemInstance[] weap=player.getInventory().getWeaponsList();
- int size=weap.length;String DopWepText="";String bgcolor="";
- for (int i=0;i!=size;i++)
- {
- flip = !flip;
- String icon=weap[i].getItem().getIcon();String name=weap[i].getItemName();
- String Action = "Item "+String.valueOf(weap[i].getObjectId());
- bgcolor="";
- if (flip == true) bgcolor = "bgcolor=131210";
- DopWepText += "<table "+bgcolor+"><tr><td width=40><button action=\"bypass -h npc_"+ObjId+"_"+Action+"\" width=32 height=32 back=icon"+icon+" fore=icon."+icon+"></td><td width=220><table width=300><tr><td><font color=LEVEL>+"+WeapEnch+"</font> "+name+"<font color=a1a1a1></font> <font color=ae9977></font></td><td></td></tr><tr><td><font color=%col1%> "+IeAmountWeap+" "+IeName+"</font></td></tr></table></td></tr></table>";
- }
- NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
- html.setFile(player.getHtmlPrefix(), "data/html/drake2wow/700000.htm");
- int Q = 0;
- if (player.getInventory().getItemByItemId(IngredientID) != null) Q = (int) player.getInventory().getItemByItemId(IngredientID).getCount();
- html.replace("%type%", "Armors");
- html.replace("%objectId%", String.valueOf(ObjId));
- html.replace("%Quan%", String.valueOf(Q));
- html.replace("%Cur%", String.valueOf(IeName));
- html.replace("%HyperText%", String.valueOf(DopWepText));
- player.sendPacket(html);
- }
- if (actualCommand.equalsIgnoreCase("ArmorsGo"))
- {
- L2ItemInstance[] armor=player.getInventory().getArmorsList();
- int size=armor.length;String DopWepText="";String bgcolor="";
- for (int i=0;i!=size;i++)
- {
- flip = !flip;
- String icon=armor[i].getItem().getIcon();String name=armor[i].getItemName();
- String Action = "Item "+String.valueOf(armor[i].getObjectId());
- bgcolor="";
- if (flip == true) bgcolor = "bgcolor=131210";
- DopWepText += "<table "+bgcolor+"><tr><td width=40><button action=\"bypass -h npc_"+ObjId+"_"+Action+"\" width=32 height=32 back=icon"+icon+" fore=icon."+icon+"></td><td width=220><table width=300><tr><td><font color=LEVEL>+"+WeapEnch+"</font> "+name+"<font color=a1a1a1></font> <font color=ae9977></font></td><td></td></tr><tr><td><font color=%col1%> "+IeAmountArmor+" "+IeName+"</font></td></tr></table></td></tr></table>";
- }
- NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
- html.setFile(player.getHtmlPrefix(), "data/html/drake2wow/700000.htm");
- int Q = 0;
- if (player.getInventory().getItemByItemId(IngredientID) != null) Q = (int) player.getInventory().getItemByItemId(IngredientID).getCount();
- html.replace("%type%", "Weapons");
- html.replace("%objectId%", String.valueOf(ObjId));
- html.replace("%Quan%", String.valueOf(Q));
- html.replace("%Cur%", String.valueOf(IeName));
- html.replace("%HyperText%", String.valueOf(DopWepText));
- player.sendPacket(html);
- }
- if (actualCommand.equalsIgnoreCase("Item"))
- {
- String bbx = st.nextToken();int own=0;int ench=WeapEnch;int amount=IeAmountWeap;
- int id=Integer.valueOf(bbx);
- if (player.getInventory().getItemByObjectId(id) == null)
- {
- player.sendMessage("That item doesn't exist in your inventory");
- return;
- }
- L2ItemInstance item=player.getInventory().getItemByObjectId(id);
- if (item.isArmor())
- {
- ench=ArmorEnch;amount=IeAmountArmor;
- }
- if (player.getInventory().getItemByItemId(IngredientID)!=null)
- {
- own=(int) player.getInventory().getItemByItemId(IngredientID).getCount();
- if (own<amount)
- player.sendMessage("Incorect item count");
- else
- {
- item.setEnchantLevel(ench);
- player.destroyItemByItemId("Enchater", IngredientID, amount, player, true);
- player.sendMessage("Success: Your "+item.getItemName()+" has been enchanted to +"+ench);
- if (!item.isAugmented() && Rnd.get(100)<=25)
- item.setAugmentation(AugmentationData.getInstance().generateRandomAugmentation(Rnd.get(2,3), Rnd.get(7,9), 100));
- InventoryUpdate iu = new InventoryUpdate();
- iu.addModifiedItem(item);
- player.sendPacket(iu);
- player.broadcastUserInfo();
- }
- }
- }
- super.onBypassFeedback(player, command);
- }
- }
- gameserver/model/itemcontainer/PcInventory.java
- =================================================
- L2ItemInstance[] result = list.toArray(new L2ItemInstance[list.size()]);
- FastList.recycle(list);
- return result;
- }
- + public L2ItemInstance[] getWeaponsList()
- + {
- + FastList<L2ItemInstance> list = FastList.newInstance();
- + for (L2ItemInstance item : _items)
- + {
- + if (item != null && item.isEnchantable()==1 && item.isWeapon() && item.getEnchantLevel()<L2ItemEnchanterInstance.WeapEnch)
- + list.add(item);
- + }
- +
- + L2ItemInstance[] result = list.toArray(new L2ItemInstance[list.size()]);
- + FastList.recycle(list);
- + return result;
- + }
- + public L2ItemInstance[] getArmorsList()
- + {
- + FastList<L2ItemInstance> list = FastList.newInstance();
- + for (L2ItemInstance item : _items)
- + {
- + if (item != null && item.isEnchantable()==1 && item.isArmor() && item.getEnchantLevel()<L2ItemEnchanterInstance.ArmorEnch)
- +
- + list.add(item);
- + }
- +
- + L2ItemInstance[] result = list.toArray(new L2ItemInstance[list.size()]);
- + FastList.recycle(list);
- + return result;
- + }
- /**
- * Get all element items
- * @return
- */
- public L2ItemInstance[] getElementItems()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement