Package l2p.gameserver.model.instances

Source Code of l2p.gameserver.model.instances.L2WeaverInstance

package l2p.gameserver.model.instances;

import java.util.StringTokenizer;

import l2p.extensions.multilang.CustomMessage;
import l2p.extensions.scripts.Functions;
import l2p.gameserver.cache.Msg;
import l2p.gameserver.model.L2Drop;
import l2p.gameserver.model.L2Player;
import l2p.gameserver.templates.L2NpcTemplate;
import l2p.util.Rnd;

public class L2WeaverInstance extends L2MerchantInstance
{
  public L2WeaverInstance(int objectId, L2NpcTemplate template)
  {
    super(objectId, template);
  }

  @Override
  public void onBypassFeedback(L2Player player, String command)
  {
    if(!canBypassCheck(player, this))
    {
      return;
    }
    StringTokenizer st = new StringTokenizer(command, " ");
    String actualCommand = st.nextToken();
    if(actualCommand.equalsIgnoreCase("unseal"))
    {
      int cost = Integer.parseInt(st.nextToken()); // cost
      int id = Integer.parseInt(st.nextToken()); // item id pin or pouch
      if(player.getAdena() < cost)
      {
        player.sendPacket(Msg.YOU_DO_NOT_HAVE_ENOUGH_ADENA);
        return;
      }
      if(Functions.removeItem(player, id, 1) != 1)
      {
        player.sendPacket(Msg.YOU_DO_NOT_HAVE_ENOUGH_REQUIRED_ITEMS);
        return;
      }
      player.reduceAdena(cost, true);
      int chance = Rnd.get(L2Drop.MAX_CHANCE);
      switch(id)
      {
        case 13898: // Sealed Magic Pin (C-Grade)
          if(chance < 350000) // Low-Grade Magic Pin (C-Grade)            35%
          {
            Functions.addItem(player, 13902, 1);
          }
          else if(chance < 550000) // Mid-Grade Magic Pin (C-Grade)       20%
          {
            Functions.addItem(player, 13903, 1);
          }
          else if(chance < 650000) // High-Grade Magic Pin (C-Grade)      10%
          {
            Functions.addItem(player, 13904, 1);
          }
          else if(chance < 730000) // Top-Grade Magic Pin (C-Grade)       8%
          {
            Functions.addItem(player, 13905, 1);
          }
          else
          {
            informFail(player, id);
          }
          break;
        case 13899: // Sealed Magic Pin (B-Grade)
          if(chance < 350000) // Low-Grade Magic Pin (B-Grade)            35%
          {
            Functions.addItem(player, 13906, 1);
          }
          else if(chance < 550000) // Mid-Grade Magic Pin (B-Grade)       20%
          {
            Functions.addItem(player, 13907, 1);
          }
          else if(chance < 650000) // High-Grade Magic Pin (B-Grade)      10%
          {
            Functions.addItem(player, 13908, 1);
          }
          else if(chance < 730000) // Top-Grade Magic Pin (B-Grade)       8%
          {
            Functions.addItem(player, 13909, 1);
          }
          else
          {
            informFail(player, id);
          }
          break;
        case 13900: // Sealed Magic Pin (A-Grade)
          if(chance < 350000) // Low-Grade Magic Pin (A-Grade)            35%
          {
            Functions.addItem(player, 13910, 1);
          }
          else if(chance < 550000) // Mid-Grade Magic Pin (B-Grade)       20%
          {
            Functions.addItem(player, 13911, 1);
          }
          else if(chance < 650000) // High-Grade Magic Pin (A-Grade)      10%
          {
            Functions.addItem(player, 13912, 1);
          }
          else if(chance < 730000) // Top-Grade Magic Pin (A-Grade)       8%
          {
            Functions.addItem(player, 13913, 1);
          }
          else
          {
            informFail(player, id);
          }
          break;
        case 13901: // Sealed Magic Pin (S-Grade)
          if(chance < 350000) // Low-Grade Magic Pin (S-Grade)            35%
          {
            Functions.addItem(player, 13914, 1);
          }
          else if(chance < 550000) // Mid-Grade Magic Pin (S-Grade)       20%
          {
            Functions.addItem(player, 13915, 1);
          }
          else if(chance < 650000) // High-Grade Magic Pin (S-Grade)      10%
          {
            Functions.addItem(player, 13916, 1);
          }
          else if(chance < 730000) // Top-Grade Magic Pin (S-Grade)       8%
          {
            Functions.addItem(player, 13917, 1);
          }
          else
          {
            informFail(player, id);
          }
          break;
        case 13918: // Sealed Magic Pouch (C-Grade)
          if(chance < 350000) // Low-Grade Magic Pouch (C-Grade)            35%
          {
            Functions.addItem(player, 13922, 1);
          }
          else if(chance < 550000) // Mid-Grade Magic Pouch (C-Grade)       20%
          {
            Functions.addItem(player, 13923, 1);
          }
          else if(chance < 650000) // High-Grade Magic Pouch (C-Grade)      10%
          {
            Functions.addItem(player, 13924, 1);
          }
          else if(chance < 730000) // Top-Grade Magic Pouch (C-Grade)       8%
          {
            Functions.addItem(player, 13925, 1);
          }
          else
          {
            informFail(player, id);
          }
          break;
        case 13919: // Sealed Magic Pouch (B-Grade)
          if(chance < 350000) // Low-Grade Magic Pouch (B-Grade)            35%
          {
            Functions.addItem(player, 13926, 1);
          }
          else if(chance < 550000) // Mid-Grade Magic Pouch (B-Grade)       20%
          {
            Functions.addItem(player, 13927, 1);
          }
          else if(chance < 650000) // High-Grade Magic Pouch (B-Grade)      10%
          {
            Functions.addItem(player, 13928, 1);
          }
          else if(chance < 730000) // Top-Grade Magic Pouch (B-Grade)       8%
          {
            Functions.addItem(player, 13929, 1);
          }
          else
          {
            informFail(player, id);
          }
          break;
        case 13920: // Sealed Magic Pouch (A-Grade)
          if(chance < 350000) // Low-Grade Magic Pouch (A-Grade)            35%
          {
            Functions.addItem(player, 13930, 1);
          }
          else if(chance < 550000) // Mid-Grade Magic Pouch (A-Grade)       20%
          {
            Functions.addItem(player, 13931, 1);
          }
          else if(chance < 650000) // High-Grade Magic Pouch (A-Grade)      10%
          {
            Functions.addItem(player, 13932, 1);
          }
          else if(chance < 730000) // Top-Grade Magic Pouch (A-Grade)       8%
          {
            Functions.addItem(player, 13933, 1);
          }
          else
          {
            informFail(player, id);
          }
          break;
        case 13921: // Sealed Magic Pouch (S-Grade)
          if(chance < 350000) // Low-Grade Magic Pouch (S-Grade)            35%
          {
            Functions.addItem(player, 13934, 1);
          }
          else if(chance < 550000) // Mid-Grade Magic Pouch (S-Grade)       20%
          {
            Functions.addItem(player, 13935, 1);
          }
          else if(chance < 650000) // High-Grade Magic Pouch (S-Grade)      10%
          {
            Functions.addItem(player, 13936, 1);
          }
          else if(chance < 730000) // Top-Grade Magic Pouch (S-Grade)       8%
          {
            Functions.addItem(player, 13937, 1);
          }
          else
          {
            informFail(player, id);
          }
          break;
        case 14902: // Sealed Magic Rune Clip (A-Grade)
          if(chance < 350000) // Low-level Magic Rune Clip (A-Grade)        35%
          {
            Functions.addItem(player, 14906, 1);
          }
          else if(chance < 550000) // Mid-level Magic Rune Clip (A-Grade)   20%
          {
            Functions.addItem(player, 14907, 1);
          }
          else if(chance < 650000) // High-level Magic Rune Clip (A-Grade)  10%
          {
            Functions.addItem(player, 14908, 1);
          }
          else if(chance < 730000) // Top-level Magic Rune Clip (A-Grade)   8%
          {
            Functions.addItem(player, 14909, 1);
          }
          else
          {
            informFail(player, id);
          }
          break;
        case 14903: // Sealed Magic Rune Clip (S-Grade)
          if(chance < 350000) // Low-level Magic Rune Clip (S-Grade)        35%
          {
            Functions.addItem(player, 14910, 1);
          }
          else if(chance < 550000) // Mid-level Magic Rune Clip (S-Grade)   20%
          {
            Functions.addItem(player, 14911, 1);
          }
          else if(chance < 650000) // High-level Magic Rune Clip (S-Grade)  10%
          {
            Functions.addItem(player, 14912, 1);
          }
          else if(chance < 730000) // Top-level Magic Rune Clip (S-Grade)   8%
          {
            Functions.addItem(player, 14913, 1);
          }
          else
          {
            informFail(player, id);
          }
          break;
        case 14904: // Sealed Magic Ornament (A-Grade)
          if(chance < 350000) // Low-grade Magic Ornament (A-Grade)         35%
          {
            Functions.addItem(player, 14914, 1);
          }
          else if(chance < 550000) // Mid-grade Magic Ornament (A-Grade)    20%
          {
            Functions.addItem(player, 14915, 1);
          }
          else if(chance < 650000) // High-grade Magic Ornament (A-Grade)   10%
          {
            Functions.addItem(player, 14916, 1);
          }
          else if(chance < 730000) // Top-grade Magic Ornament (A-Grade)    8%
          {
            Functions.addItem(player, 14917, 1);
          }
          else
          {
            informFail(player, id);
          }
          break;
        case 14905: // Sealed Magic Ornament (S-Grade)
          if(chance < 350000) // Low-grade Magic Ornament (S-Grade)         35%
          {
            Functions.addItem(player, 14918, 1);
          }
          else if(chance < 550000) // Mid-grade Magic Ornament (S-Grade)    20%
          {
            Functions.addItem(player, 14919, 1);
          }
          else if(chance < 650000) // High-grade Magic Ornament (S-Grade)   10%
          {
            Functions.addItem(player, 14920, 1);
          }
          else if(chance < 730000) // Top-grade Magic Ornament (S-Grade)    8%
          {
            Functions.addItem(player, 14921, 1);
          }
          else
          {
            informFail(player, id);
          }
          break;
        default:
          return;
      }
    }
    else
    {
      super.onBypassFeedback(player, command);
    }
  }

  private void informFail(L2Player player, int itemId)
  {
    player.sendMessage(new CustomMessage("l2p.gameserver.model.instances.L2WeaverInstance.failed", player).addItemName(itemId));
    Functions.npcSay(this, "What a predicament... my attempts were unsuccessful.");
  }
}
TOP

Related Classes of l2p.gameserver.model.instances.L2WeaverInstance

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.