Package games.stendhal.server.entity.item

Examples of games.stendhal.server.entity.item.Item


            corpse.add(itemToDrop);
            numberOfDrops += quantityToDrop;
            drops.add(itemToDrop);
          }
        } else if (object.first() instanceof Item) {
          Item justItem = (Item) object.first();
          object.second().remove(object.first().getID());
          new ItemLogger().equipAction(player, (Entity) object.first(),
                  new String[]{"slot", player.getName(), object.second().getName()},
                  new String[]{"slot", player.getName(), "content"});
View Full Code Here


        // be dropped.
        for (final RPObject objectInSlot : slot) {
          // don't drop special quest rewards as there is no way to
          // get them again
          if (objectInSlot instanceof Item) {
            final Item itemInSlot = (Item) objectInSlot;
            if (itemInSlot.isBound() || itemInSlot.isUndroppableOnDeath()) {
              continue;
            }
          }
           
          objects.add(new Pair<RPObject, RPSlot>(objectInSlot, slot));
View Full Code Here

   *            If the activity was successful.
   */
  @Override
  protected void onFinished(final Player player, final boolean successful) {
    if (successful) {
      final Item item = SingletonRepository.getEntityManager().getItem(
          itemName);

      player.equipOrPutOnGround(item);
      player.incHarvestedForItem(itemName, 1);
        SingletonRepository.getAchievementNotifier().onObtain(player);
View Full Code Here

  public boolean acceptOffer(final Offer offer, final Player acceptingPlayer) {
    if (getSlot(OFFERS_SLOT_NAME).has(offer.getID()) && offer.hasItem()) {
      int price = offer.getPrice().intValue();
      // Take the money; free items should always succeed
      if ((price == 0) || acceptingPlayer.drop("money", price)) {
        Item item = offer.getItem();
        offer.getSlot(Offer.OFFER_ITEM_SLOT_NAME).remove(item.getID());
        acceptingPlayer.equipOrPutOnGround(item);
        // Do not give trading bonus for accepting free items
        boolean reward = offer.shouldReward(acceptingPlayer)
            && price > 0;
        final Earning earning = new Earning(offer.getPrice(),
            offer.getOfferer(), reward);
        this.getSlot(EARNINGS_SLOT_NAME).add(earning);
        this.getSlot(OFFERS_SLOT_NAME).remove(offer.getID());
        if (reward) {
          applyTradingBonus(acceptingPlayer);
        }

        // log the item movement
        String slotName = null;
        String target = "ground";
        if (item.getContainerSlot() != null) {
          slotName = item.getContainerSlot().getName();
          target = "slot";
        }
        new ItemLogger()
            .addLogItemEventCommand(new LogSimpleItemEventCommand(
                item, acceptingPlayer, "market-to-" + target,
                item.get("name"), Integer
                    .toString(getQuantity(item)),
                "accept offer", slotName));

        this.getZone().storeToDatabase();
        return true;
View Full Code Here

   *            the offer to remove
   * @param p
   *            the removing player
   */
  public void removeOffer(Offer o, Player p) {
    Item item = o.getItem();
    String itemName = item.getName();
   
    o.getSlot(Offer.OFFER_ITEM_SLOT_NAME).remove(item.getID());
    p.equipOrPutOnGround(item);

    getSlot(OFFERS_SLOT_NAME).remove(o.getID());

    getExpiredOffers().remove(o);
    getSlot(EXPIRED_OFFERS_SLOT_NAME).remove(o.getID());

    getZone().storeToDatabase();

    // log the item movement
    String slotName = null;
    String target = "ground";
    if (item.getContainerSlot() != null) {
      slotName = item.getContainerSlot().getName();
      target = "slot";
    }
    new ItemLogger().addLogItemEventCommand(new LogSimpleItemEventCommand(item, p,
            "market-to-" + target, itemName, Integer
                .toString(getQuantity(item)), "remove offer",
View Full Code Here

   * @param offerToRemove
   */
  public void removeExpiredOffer(Offer offerToRemove) {
    this.getSlot(EXPIRED_OFFERS_SLOT_NAME).remove(offerToRemove.getID());

    Item item = offerToRemove.getItem();
    if (item != null) {
      new ItemLogger().destroy(null, this.getSlot(EXPIRED_OFFERS_SLOT_NAME),
          item, "timeout");
    }

View Full Code Here

    en.step(player, "no");
    assertEquals("Ok, well just let me know if I can #help you with anything else.", getReply(npc));
    en.step(player, "bye");
    assertEquals("Bye.", getReply(npc));

    Item apple= ItemTestHelper.createItem("apple", 1);
    player.getSlot("bag").add(apple);
    Item arandula = ItemTestHelper.createItem("arandula", 3);
    player.getSlot("bag").add(arandula);
    Item porcini = ItemTestHelper.createItem("porcini", 1);
    player.getSlot("bag").add(porcini);

    //-----------------------------------------------------------------
    // bring some of the ingredients. try to take one twice

    en.step(player, "hi");
    assertEquals("Hi again. I can #heal you, or if you brought me #ingredients I'll happily take those!", getReply(npc));
    en.step(player, "ingredients");
    assertEquals("I need 3 #apples, 5 #'sprigs of arandula', a #'button mushroom', a #porcino, and 2 #'pieces of wood'. Did you bring something?", getReply(npc));
    en.step(player, "wood");
    assertEquals("You don't have a piece of wood with you!", getReply(npc));
    en.step(player, "woos"); // misspelled "wood"
    assertEquals("You don't have a piece of wood with you!", getReply(npc));
    en.step(player, "arandula");
    assertEquals("Good, do you have anything else?", getReply(npc));
    en.step(player, "apple");
    assertEquals("Good, do you have anything else?", getReply(npc));
    en.step(player, "porcino");
    assertEquals("Good, do you have anything else?", getReply(npc));
    en.step(player, "porcini");
    assertEquals("You have already brought 1 porcino for me but thank you anyway.", getReply(npc));
    en.step(player, "porcinis"); // misspelled "porcini"
    assertEquals("You have already brought 1 porcino for me but thank you anyway.", getReply(npc));
    en.step(player, "no");
    assertEquals("Ok, well just let me know if I can #help you with anything else.", getReply(npc));
    en.step(player, "bye");
    assertEquals("Bye.", getReply(npc));

    final int xp = player.getXP();
    Item apples2= ItemTestHelper.createItem("apple", 2);
    player.getSlot("bag").add(apples2);
    Item arandula2 = ItemTestHelper.createItem("arandula", 2);
    player.getSlot("bag").add(arandula2);
    Item wood = ItemTestHelper.createItem("wood", 2);
    player.getSlot("bag").add(wood);
    Item mushroom = ItemTestHelper.createItem("button mushroom", 1);
    player.getSlot("bag").add(mushroom);

    // ----------------------------------------------------------
    // bring remaining ingredients and check reward
    en.step(player, "hi");
View Full Code Here

   */
  @Override
  protected void onFinished(final Player player, final boolean successful) {
    if (successful) {
      final String itemName = items[Rand.rand(items.length)];
      final Item item = SingletonRepository.getEntityManager().getItem(itemName);
      int amount = 1;
      if (itemName.equals("water"))
           {
        /*
         * Bound powerful items.
         */
        item.setBoundTo(player.getName());
     
      }

      player.equipOrPutOnGround(item);
      player.sendPrivateText("You were lucky and filled "
View Full Code Here

  private RPObject cloneItem(final RPObject item) throws NoSuchMethodException,
      InstantiationException, IllegalAccessException,
      InvocationTargetException {
    final Class< ? > clazz = item.getClass();
    final Constructor< ? > ctor = clazz.getConstructor(clazz);
    final Item clone = (Item) ctor.newInstance(item);
    return clone;
  }
View Full Code Here

    en.step(player, "yes");
    assertEquals("*sniff* Thanks a lot! *smile*", getReply(npc));

    // -----------------------------------------------
   
    final Item teddy = ItemTestHelper.createItem("teddy");
    teddy.setEquipableSlots(Arrays.asList("bag"));
    player.equipToInventoryOnly(teddy);
    assertTrue(player.isEquipped("teddy"));

    System.out.println(player.getSlot("!quests"));
    System.out.println(player.getSlot("lhand"));
View Full Code Here

TOP

Related Classes of games.stendhal.server.entity.item.Item

Copyright © 2018 www.massapicom. 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.