Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * This program is free software: you can redistribute it and/or modify it under
- * the terms of the GNU General Public License as published by the Free Software
- * Foundation, either version 3 of the License, or (at your option) any later
- * version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- * details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program. If not, see <http://www.gnu.org/licenses/>.
- */
- package com.l2jhellas.gameserver.model.actor.instance;
- import java.util.StringTokenizer;
- import com.l2jhellas.gameserver.ai.CtrlIntention;
- import com.l2jhellas.gameserver.datatables.xml.AugmentationData;
- import com.l2jhellas.gameserver.model.L2Augmentation;
- import com.l2jhellas.gameserver.model.L2ItemInstance;
- import com.l2jhellas.gameserver.network.SystemMessageId;
- import com.l2jhellas.gameserver.network.serverpackets.ActionFailed;
- import com.l2jhellas.gameserver.network.serverpackets.ExShowScreenMessage;
- import com.l2jhellas.gameserver.network.serverpackets.ExVariationCancelResult;
- import com.l2jhellas.gameserver.network.serverpackets.ExVariationResult;
- import com.l2jhellas.gameserver.network.serverpackets.InventoryUpdate;
- import com.l2jhellas.gameserver.network.serverpackets.MyTargetSelected;
- import com.l2jhellas.gameserver.network.serverpackets.NpcHtmlMessage;
- import com.l2jhellas.gameserver.network.serverpackets.SkillList;
- import com.l2jhellas.gameserver.network.serverpackets.SocialAction;
- import com.l2jhellas.gameserver.network.serverpackets.StatusUpdate;
- import com.l2jhellas.gameserver.network.serverpackets.SystemMessage;
- import com.l2jhellas.gameserver.network.serverpackets.ValidateLocation;
- import com.l2jhellas.gameserver.network.serverpackets.ExShowScreenMessage.SMPOS;
- import com.l2jhellas.gameserver.templates.L2NpcTemplate;
- import com.l2jhellas.gameserver.templates.L2WeaponType;
- import com.l2jhellas.util.Rnd;
- /**
- * Author AbsolutePower
- */
- public final class L2FastAugByAbsoInstance extends L2NpcInstance
- {
- public L2FastAugByAbsoInstance(int objectId, L2NpcTemplate template)
- {
- super(objectId, template);
- }
- @Override
- public void onBypassFeedback(L2PcInstance player, String command)
- {
- if(player==null)
- return;
- final StringTokenizer st = new StringTokenizer(command, " ");
- final String currentcommand = st.nextToken();
- final String letsSliptIt = currentcommand;
- final String[] nowTheId = letsSliptIt.split("-");
- final String OurSplititCommand = nowTheId[0];
- final String FinallyWeHaveObjectId = nowTheId[1];
- if(OurSplititCommand.startsWith("showremlist"))
- {
- showListWindowForRemove(player);
- player.sendPacket(new ActionFailed());
- }
- else if(OurSplititCommand.startsWith("showauglist"))
- {
- showListWindow(player);
- player.sendPacket(new ActionFailed());
- }
- else if(OurSplititCommand.startsWith("tryremove"))
- {
- final L2ItemInstance item = player.getInventory().getItemByObjectId(Integer.parseInt(FinallyWeHaveObjectId));
- if(item == null )
- {
- player.sendPacket(new ActionFailed());
- return;
- }
- if (item.isEquipped())
- {
- player.disarmWeapons();
- player.broadcastUserInfo();
- }
- item.removeAugmentation();
- player.sendPacket(new ExVariationCancelResult(1));
- InventoryUpdate iu = new InventoryUpdate();
- iu.addModifiedItem(item);
- player.sendPacket(iu);
- player.sendPacket(new SkillList());
- SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.AUGMENTATION_HAS_BEEN_SUCCESSFULLY_REMOVED_FROM_YOUR_S1);
- sm.addItemName(item);
- player.sendPacket(sm);
- showListWindowForRemove(player);
- player.sendPacket(new ActionFailed());
- }
- else if(OurSplititCommand.startsWith("tryaug"))
- {
- if (player.getInventory().getInventoryItemCount(57, 0) < 200000)
- {
- player.sendMessage("You do not have enough adena!");
- player.sendPacket(new ActionFailed());
- return;
- }
- final L2ItemInstance item = player.getInventory().getItemByObjectId(Integer.parseInt(FinallyWeHaveObjectId));
- if(item == null )
- {
- player.sendPacket(new ActionFailed());
- return;
- }
- if (item.isEquipped())
- {
- player.disarmWeapons();
- player.broadcastUserInfo();
- }
- final L2Augmentation aug = AugmentationData.getInstance().generateRandomAugmentation(item,2,2);
- item.setAugmentation(aug);
- final int stat12 = 0x0000FFFF & aug.getAugmentationId();
- final int stat34 = aug.getAugmentationId() >> 16;
- player.sendPacket(new ExVariationResult(stat12, stat34, 1));
- InventoryUpdate iu = new InventoryUpdate();
- iu.addModifiedItem(item);
- player.sendPacket(iu);
- StatusUpdate su = new StatusUpdate(player.getObjectId());
- su.addAttribute(StatusUpdate.CUR_LOAD, player.getCurrentLoad());
- player.sendPacket(su);
- showListWindow(player);
- player.getInventory().reduceAdena("FastAugh", 200000, player, null);
- player.sendPacket(SystemMessageId.THE_ITEM_WAS_SUCCESSFULLY_AUGMENTED);
- if(item.getAugmentation().getSkill()!=null)
- {
- player.sendPacket(new ExShowScreenMessage("You have " + item.getAugmentation().getSkill().getName(), 5000, SMPOS.TOP_CENTER, true));
- player.sendPacket(new SkillList());
- }
- player.sendPacket(new ActionFailed());
- }
- super.onBypassFeedback(player, command);
- player.sendPacket(new ActionFailed());
- }
- public void showListWindow(L2PcInstance player)
- {
- NpcHtmlMessage nhm = new NpcHtmlMessage(5);
- StringBuilder tb = new StringBuilder("");
- String Rem = "RemoveAug";
- tb.append("<html><head><title>By AbsolutePower</title></head><body>");
- tb.append("<center>");
- tb.append("<table width=\"250\" cellpadding=\"5\" bgcolor=\"000000\">");
- tb.append("<tr>");
- tb.append("<td width=\"45\" valign=\"top\" align=\"center\"><img src=\"L2ui_ch3.menubutton4\" width=\"38\" height=\"38\"></td>");
- tb.append("<td valign=\"top\"><font color=\"FF6600\">AugmentHelper</font>");
- tb.append("<br1><font color=\"00FF00ju\">" + player.getName() + "</font>, use this menu for fast augment :)<br1></td>");
- tb.append("</tr>");
- tb.append("</table>");
- tb.append("</center>");
- tb.append("<center>");
- tb.append("<br>");
- for (L2ItemInstance item : player.getInventory().getItems())
- {
- if(!item.isAugmented() && item.getItemType() instanceof L2WeaponType && item.isEquipable() && !item.isQuestItem())
- {
- if(item!=null)
- tb.append("<button value=\""+item.getItemName()+"\" action=\"bypass -h npc_" + getObjectId() + "_tryaug-"+item.getObjectId()+"\" width=204 height=20 back=\"sek.cbui75\" fore=\"sek.cbui75\"><br>");
- //tb.append("<table border=0 width=\"100%\">");
- // tb.append("<tr><td><img src=\""+IconJava.getIcon(item.getItemId())+"\"width=\"32\"height=\"32\"></td>"
- //+"<td>"+"<button value=\""+item.getItemName()+"\" action=\"bypass -h npc_"+getObjectId()+"_tryaug-"+item.getObjectId()+"\"width=204 height=21 back=\"sek.cbui75\" fore=\"sek.cbui75\"><br>"+"</td>"+"<td>+"+item.getEnchantLevel()+"</td></tr></table>");
- }
- }
- tb.append("<br>");
- tb.append("<button value=\""+Rem+"\" action=\"bypass -h npc_" + getObjectId() + "_showremlist-1"+"\" width=204 height=20 back=\"sek.cbui75\" fore=\"sek.cbui75\"><br>");
- tb.append("</center>");
- tb.append("</body></html>");
- nhm.setHtml(tb.toString());
- player.sendPacket(nhm);
- }
- public void showListWindowForRemove(L2PcInstance player)
- {
- NpcHtmlMessage nhm = new NpcHtmlMessage(5);
- StringBuilder tb = new StringBuilder("");
- String Rem = "GobackToAugList";
- tb.append("<html><head><title>By AbsolutePower</title></head><body>");
- tb.append("<center>");
- tb.append("<table width=\"250\" cellpadding=\"5\" bgcolor=\"000000\">");
- tb.append("<tr>");
- tb.append("<td width=\"45\" valign=\"top\" align=\"center\"><img src=\"L2ui_ch3.menubutton4\" width=\"38\" height=\"38\"></td>");
- tb.append("<td valign=\"top\"><font color=\"FF6600\">AugmentHelper</font>");
- tb.append("<br1><font color=\"00FF00ju\">" + player.getName() + "</font>, use this menu for fast augment :)<br1></td>");
- tb.append("</tr>");
- tb.append("</table>");
- tb.append("</center>");
- tb.append("<center>");
- tb.append("<br>");
- for (L2ItemInstance item : player.getInventory().getItems())
- {
- if(item.isAugmented() && item.getItemType() instanceof L2WeaponType && item.isEquipable() && !item.isQuestItem())
- {
- if(item!=null)
- tb.append("<button value=\""+item.getItemName()+"\" action=\"bypass -h npc_" + getObjectId() + "_tryremove-"+item.getObjectId()+"\" width=204 height=20 back=\"sek.cbui75\" fore=\"sek.cbui75\"><br>");
- //tb.append("<table border=0 width=\"100%\">");
- // tb.append("<tr><td><img src=\""+IconJava.getIcon(item.getItemId())+"\"width=\"32\"height=\"32\"></td>"
- //+"<td>"+"<button value=\""+item.getItemName()+"\" action=\"bypass -h npc_"+getObjectId()+"_tryaug-"+item.getObjectId()+"\"width=204 height=21 back=\"sek.cbui75\" fore=\"sek.cbui75\"><br>"+"</td>"+"<td>+"+item.getEnchantLevel()+"</td></tr></table>");
- }
- }
- tb.append("<br>");
- tb.append("<button value=\""+Rem+"\" action=\"bypass -h npc_" + getObjectId() + "_showauglist-1"+"\" width=204 height=20 back=\"sek.cbui75\" fore=\"sek.cbui75\"><br>");
- tb.append("</center>");
- tb.append("</body></html>");
- nhm.setHtml(tb.toString());
- player.sendPacket(nhm);
- }
- @Override
- public void onAction(L2PcInstance player)
- {
- if (this != player.getTarget())
- {
- player.setTarget(this);
- player.sendPacket(new MyTargetSelected(getObjectId(), player.getLevel() - getLevel()));
- player.sendPacket(new ValidateLocation(this));
- }
- else if (isInsideRadius(player, INTERACTION_DISTANCE, false, false))
- {
- SocialAction sa = new SocialAction(this.getObjectId(), Rnd.get(8));
- broadcastPacket(sa);
- player.setLastFolkNPC(this);
- showListWindow(player);
- player.sendPacket(ActionFailed.STATIC_PACKET);
- }
- else {
- player.getAI().setIntention(CtrlIntention.AI_INTENTION_INTERACT, this);
- player.sendPacket(ActionFailed.STATIC_PACKET);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment