Ejemplo n.º 1
0
 @Override
 protected void execute() {
   int newAmount = 0;
   for (int i = 1; i <= amount; i++) {
     if (hasRequirements(player, buttonId, false, 1, pouchData)) {
       player.getInventory().remove(new Item(POUCH_ID, 1));
       player.getInventory().remove(new Item(SHARD_ID, 1));
       player.getInventory().remove(new Item(pouchData.getCharmId(), 1));
       player.getInventory().remove(new Item(pouchData.getSecondIngredientId(), 1));
       player.getInventory().add(new Item(pouchData.getPouchId(), 1));
       newAmount++;
     } else {
       break;
     }
   }
   if (newAmount == 0) {
     abort();
     return;
   }
   player.playAnimation(new Animation(725));
   player.playGraphics(new Graphic(1207));
   player
       .getSkill()
       .addExperience(
           Skill.SUMMONING, pouchData.getExp() * newAmount * Constants.SUMMONING_EXPERIENCE);
   player.sendMessage(
       "You infuse "
           + newAmount
           + " "
           + new Item(pouchData.getPouchId()).getDefinition().getName()
           + (newAmount > 1 ? "s" : "")
           + ".");
   abort();
 }
Ejemplo n.º 2
0
  /**
   * Checks whether or not that player has requirements to make the pouch.
   *
   * @param c The Player.
   * @param itemId The item id.
   * @param slot The slot of the item.
   */
  public static boolean hasRequirements(
      final Player player, final int buttonId, boolean inform, int amount, PouchData pouch) {
    if (inform) {
      if (player.getSkill().getLevelForExperience(Skill.SUMMONING) < pouch.getLevelRequired()) {
        player.sendMessage(
            "You need a summoning level of " + pouch.getLevelRequired() + " to create this pouch");
        return false;
      }
    }
    if (!player.getInventory().contains(POUCH_ID)) {
      if (inform) {
        player.sendMessage("You dont have a pouch to create this item.");
      }
      return false;
    }
    if (!player.getInventory().hasItem(new Item(SHARD_ID, pouch.getShardsRequired()))) {
      if (inform) {
        player.sendMessage(
            "You need " + pouch.getShardsRequired() + " shards to create this pouch.");
      }
      return false;
    }

    if (!player.getInventory().contains(pouch.getCharmId())) {
      if (inform) {
        player.sendMessage(
            "You need a "
                + new Item(pouch.getCharmId()).getDefinition().getName()
                + " to create this pouch.");
      }
      return false;
    }
    if (!player.getInventory().contains(pouch.getSecondIngredientId())) {
      if (inform) {
        player.sendMessage(
            "You need "
                + new Item(pouch.getSecondIngredientId()).getDefinition().getName()
                + " to create this pouch.");
      }
      return false;
    }
    player.setCurrentSkill(new CreatePouch(player, buttonId, amount));
    player.getCurrentSkill().start();
    return true;
  }