Package org.moparscape.msc.gs.model

Examples of org.moparscape.msc.gs.model.Item


        if (item.getDef().isMembers() && !World.isMembers()) {
          owner.getActionSender().sendMessage(
              "The members item vanishes!");
          return;
        }
        world.registerItem(new Item(item.id, owner.getX(),
            owner.getY(), item.amount, owner));
        matchRunning = false;
      }
    });
  }
View Full Code Here


      Npc npc = (Npc) affectedMob;
      if (damage > 1 && npc.getID() == 477)
        damage = damage / 2;
    }
    if (!Formulae.looseArrow(damage)) {
      Item arrows = getArrows(arrowID);
      if (arrows == null) {
        world.registerItem(new Item(arrowID, affectedMob.getX(),
            affectedMob.getY(), 1, owner));
      } else {
        arrows.setAmount(arrows.getAmount() + 1);
      }
    }
    if (firstRun) {
      firstRun = false;
      if (affectedMob instanceof Player) {
View Full Code Here

    }
    player.resetAll();
    Point location = Point.location(p.readShort(), p.readShort());
    int id = p.readShort();
    final ActiveTile tile = world.getTile(location);
    final Item item = getItem(id, tile, player);

    if (item == null) {
      // player.setSuspiciousPlayer(true);
      player.resetPath();
      return;
    }

    if (!item.getDef().canTrade()) {
      if (item.droppedby() != 0
          && org.moparscape.msc.gs.tools.DataConversions
              .usernameToHash(player.getUsername()) != item
              .droppedby()) {
        player.getActionSender().sendMessage(
            "This item is non-tradable.");
        return;
      }
    }

    if (player.isPMod() && !player.isMod())
      return;
    if (item.getDef().isMembers() && !World.isMembers()) {
      player.getActionSender().sendMessage(
          "This feature is only avaliable on a members server");
      return;
    }

    player.setStatus(Action.TAKING_GITEM);
    boolean blocked = false;
    try {
      PathHandler pa = new PathHandler(player);
      for (int i : new int[] { 1, 2, 4, 8 }) {
        if (pa.isBlocking(location.getX(), location.getY(), i)) {
          blocked = true;
        }
      }
    } catch (Exception e) {
      e.printStackTrace();
    }
    int distance = blocked ? 1 : 0;
    Instance.getDelayedEventHandler().add(
        new WalkToPointEvent(player, location, distance, true) {
          public void arrived() {
            if (owner.isBusy() || owner.isRanging()
                || !tile.hasItem(item) || !owner.nextTo(item)
                || owner.getStatus() != Action.TAKING_GITEM) {
              return;
            }

            if (item.getID() == 23) {
              owner.getActionSender().sendMessage(
                  "I can't pick it up!");
              owner.getActionSender().sendMessage(
                  "I need a pot to hold it in.");
              return;
            }

            int[] Rares = { 576, 577, 578, 579, 580, 581, 828, 831,
                832, 1278, 593, 594, 795 };
            boolean pickedUpRare = false;
            if (item.getAmount() > 99999)
              pickedUpRare = true;

            for (int i = 0; i < Rares.length; i++) {
              if (item.getID() == Rares[i]) {
                pickedUpRare = true;
                break;
              }
            }
            owner.resetAll();
            InvItem invItem = new InvItem(item.getID(), item
                .getAmount());
            if (!owner.getInventory().canHold(invItem.id,
                invItem.amount)) {
              owner.getActionSender()
                  .sendMessage(
                      "You cannot pickup this item, your inventory is full!");
              return;
            }
            try {
              if (item.getID() == 59 && item.getX() == 106
                  && item.getY() == 1476) {
                Npc n = world.getNpc(37, 103, 107, 1476, 1479);

                if (n != null && !n.inCombat()) {
                  owner.informOfNpcMessage(new ChatMessage(n,
                      "Nobody steals from this gang!",
                      owner));
                  fight(owner, n);
                }
              } else if (item.getID() == 501
                  && item.getX() == 333 && item.getY() == 434) {
                Npc zam = world.getNpc(140, 328, 333, 433, 438,
                    true);
                if (zam != null && !zam.inCombat()) {
                  owner.informOfNpcMessage(new ChatMessage(
                      zam, "a curse be upon you", owner));
                  for (int i = 0; i < 3; i++) {
                    int stat = owner.getCurStat(i);
                    if (stat < 3)
                      owner.setCurStat(i, 0);
                    else
                      owner.setCurStat(i, stat - 3);
                  }
                  owner.getActionSender().sendStats();
                  fight(owner, zam);
                  return;
                }
              }
            } catch (Exception e) {
              e.printStackTrace();
            }

            if (pickedUpRare) {
              // Code goes here if they picked up some BS items.
              MiscPacketBuilder loginServer = Instance
                  .getServer().getLoginConnector()
                  .getActionSender();
              final long droppedby = item.droppedby();
              final long playerLong = org.moparscape.msc.gs.tools.DataConversions
                  .usernameToHash(owner.getUsername());
              loginServer.tradeLog(droppedby, playerLong,
                  item.getID(), item.getAmount(),
                  owner.getX(), owner.getY(), 3);
            }
            world.addEntryToSnapshots(new Activity(owner
                .getUsername(), owner.getUsername()
                + " picked up an item "
                + item.getDef().getName() + " (" + item.getID()
                + ") amount: " + item.getAmount() + " at: "
                + owner.getX() + "/" + owner.getY() + "|"
                + item.getX() + "/" + item.getY()));
            if (item.getAmount() > 10000000
                || Formulae.isRareItem(item.getID()))
              DataManager.reportHandler.submitDupeData(
                  owner.getUsername(),
                  owner.getUsernameHash());

            world.unregisterItem(item);
View Full Code Here

      if (tile.hasGameObject() && myItem.id != 135) {
        player.getActionSender().sendMessage(
            "You cannot do that here, please move to a new area.");
        return;
      }
      final Item item = getItem(id, tile, player);

      if (item == null || myItem == null) {
        player.setSuspiciousPlayer(true);
        player.resetPath();
        return;
      }
      world.addEntryToSnapshots(new Activity(player.getUsername(), player
          .getUsername()
          + " used item "
          + myItem.getDef().getName()
          + "("
          + myItem.id
          + ")"
          + " [CMD: "
          + myItem.getDef().getCommand()
          + "] ON A GROUND ITEM "
          + myItem.getDef().getName()
          + "("
          + myItem.id
          + ")"
          + " [CMD: "
          + myItem.getDef().getCommand()
          + "] at: "
          + player.getX() + "/" + player.getY()));

      player.setStatus(Action.USING_INVITEM_ON_GITEM);
      Instance.getDelayedEventHandler().add(
          new WalkToPointEvent(player, location, 1, false) {
            public void arrived() {
              if (owner.isBusy()
                  || owner.isRanging()
                  || !tile.hasItem(item)
                  || !owner.nextTo(item)
                  || owner.getStatus() != Action.USING_INVITEM_ON_GITEM) {
                return;
              }
              if (myItem == null || item == null)
                return;
              switch (item.getID()) {
              case 23:
                if (myItem.id == 135) {
                  if (owner.getInventory().remove(myItem.id,
                      myItem.amount, false))
                    return;
                  owner.getActionSender().sendMessage(
                      "You put the flour in the pot.");
                  Bubble bubble = new Bubble(owner, 135);
                  for (Player p : owner.getViewArea()
                      .getPlayersInView()) {
                    p.informOfBubble(bubble);
                  }
                  world.unregisterItem(item);
                  owner.getInventory().add(136, 1, false);
                  owner.getActionSender().sendInventory();
                  return;
                }
              case 14:
              case 632:
              case 633:
              case 634:
              case 635:
              case 636:
                handleFireMaking();
                break;
              default:
                owner.getActionSender().sendMessage(
                    "Nothing interesting happens.");
                return;
              }
            }

            private void handleFireMaking() {
              handleFireMaking((int) Math.ceil(owner
                  .getMaxStat(11) / 10));

            }

            private void handleFireMaking(int tries) {
              final int retries = --tries;
              final FiremakingDef def = EntityHandler
                  .getFiremakingDef(item.getID());
              if (!itemId(new int[] { 166 }) || def == null) {
                owner.getActionSender().sendMessage(
                    "Nothing interesting happens.");
                return;
              }
              if (owner.getCurStat(11) < def.getRequiredLevel()) {
                owner.getActionSender()
                    .sendMessage(
                        "You need at least "
                            + def.getRequiredLevel()
                            + " firemaking to light these logs.");
                return;
              }
              owner.setBusy(true);
              Bubble bubble = new Bubble(owner, 166);
              for (Player p : owner.getViewArea()
                  .getPlayersInView()) {
                p.informOfBubble(bubble);
              }
              owner.getActionSender().sendMessage(
                  "You attempt to light the logs...");
              Instance.getDelayedEventHandler().add(
                  new ShortEvent(owner) {
                    public void action() {
                      if (Formulae.lightLogs(def,
                          owner.getCurStat(11))) {
                        owner.getActionSender()
                            .sendMessage(
                                "They catch fire and start to burn.");
                        world.unregisterItem(item);
                        final GameObject fire = new GameObject(
                            item.getLocation(), 97,
                            0, 0);
                        world.registerGameObject(fire);
                        world.getDelayedEventHandler()
                            .add(new DelayedEvent(
                                null,
                                def.getLength()) {
                              public void run() {
                                if (tile.hasGameObject()
                                    && tile.getGameObject()
                                        .equals(fire)) {
                                  world.unregisterGameObject(fire);
                                  world.registerItem(new Item(
                                      181,
                                      tile.getX(),
                                      tile.getY(),
                                      1,
                                      null));
View Full Code Here

            "This type of spell cannot be used in a duel.");
        return;
      }
      ActiveTile t = world.getTile(p.readShort(), p.readShort());
      int itemId = p.readShort();
      Item affectedItem = null;
      for (Item i : t.getItems()) {
        if (i.getID() == itemId && i.visibleTo(player)) {
          affectedItem = i;
          break;
        }
View Full Code Here

TOP

Related Classes of org.moparscape.msc.gs.model.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.