Package npc.model

Source Code of npc.model.MammonsInstance

package npc.model;

import lineage2.gameserver.model.Player;
import lineage2.gameserver.model.instances.NpcInstance;
import lineage2.gameserver.model.items.ItemInstance;
import lineage2.gameserver.network.serverpackets.NpcHtmlMessage;
import lineage2.gameserver.network.serverpackets.SystemMessage2;
import lineage2.gameserver.network.serverpackets.components.CustomMessage;
import lineage2.gameserver.network.serverpackets.components.SystemMsg;
import lineage2.gameserver.templates.npc.NpcTemplate;

public class MammonsInstance extends NpcInstance
{

  private static final long serialVersionUID = 1796248576314922526L;

  private static final int ANCIENT_ADENA_ID = 5575;
  private static final int ADENA = 57;
  public static final String MAMMONS_HTML_PATH = "ssmammons/";

  public MammonsInstance(int objectId, NpcTemplate template)
  {
    super(objectId, template);
  }

  @Override
  public void onBypassFeedback(Player player, String command)
  {
    if(!canBypassCheck(player, this))
      return;
    super.onBypassFeedback(player, command);
    if(command.startsWith("bmarket"))
    {
      ItemInstance ancientAdena = player.getInventory().getItemByItemId(ANCIENT_ADENA_ID);
      long ancientAdenaAmount = ancientAdena != null ? ancientAdena.getCount() : 0L;
      int val = Integer.parseInt(command.substring(11, 12).trim());
      if(command.length() > 12)
        val = Integer.parseInt(command.substring(11, 13).trim());
      switch(val)
      {
        case 1:
          long ancientAdenaConvert = 0L;
          try
          {
            ancientAdenaConvert = Long.parseLong(command.substring(13).trim());
          }
          catch(NumberFormatException e)
          {
            player.sendMessage(new CustomMessage("common.IntegerAmount", player, new Object[0]));
            return;
          }
          catch(StringIndexOutOfBoundsException e)
          {
            player.sendMessage(new CustomMessage("common.IntegerAmount", player, new Object[0]));
            return;
          }
          if(ancientAdenaAmount < ancientAdenaConvert || ancientAdenaConvert < 1L)
          {
            player.sendPacket(SystemMsg.YOU_DO_NOT_HAVE_ENOUGH_ADENA);
            return;
          }
          if(player.getInventory().destroyItemByItemId(ANCIENT_ADENA_ID, ancientAdenaConvert))
          {
            player.addAdena(ancientAdenaConvert);
            player.sendPacket(SystemMessage2.removeItems(ANCIENT_ADENA_ID, ancientAdenaConvert));
            player.sendPacket(SystemMessage2.obtainItems(ADENA, ancientAdenaConvert, 0));
          }
          break;

        default:
          showChatWindow(player, "blkmrkt.htm", new Object[0]);
          break;
      }
    }
  }

  @Override
  public void showChatWindow(Player player, int val, Object... arg)
  {
    int npcId = getTemplate().npcId;
    String filename = MAMMONS_HTML_PATH;
    switch(npcId)
    {
      case 31092:
        filename = new StringBuilder().append(filename).append("blkmrkt.htm").toString();
        break;
      case 31113:
        filename = new StringBuilder().append(filename).append("merchmamm.htm").toString();
        break;
      case 31126:
        filename = new StringBuilder().append(filename).append("blksmithmam.htm").toString();
        break;
      case 33511:
        filename = new StringBuilder().append(filename).append("priestmam.htm").toString();
        break;
      default:
        filename = getHtmlPath(npcId, val, player);
        break;
    }
    player.sendPacket(new NpcHtmlMessage(player, this, filename, val));
  }
}
TOP

Related Classes of npc.model.MammonsInstance

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.