Package org.moparscape.msc.gs.model

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


      p.getActionSender().sendLogout();
    session.close();
  }

  public void messageReceived(IoSession session, Object message) {
    Player player = (Player) session.getAttachment();
    if (session.isClosing() || player.destroyed()) {
      return;
    }
    RSCPacket p = (RSCPacket) message;

    if (p.getID() == 55)
      player.addInterval();

    Instance.loggingService().tell(p, ActorRef.noSender());

    packets.add(p);
  }
View Full Code Here


   *
   * @param session
   *            The IO session which has been closed
   */
  public void sessionClosed(IoSession session) {
    Player player = (Player) session.getAttachment();
    if (!player.destroyed()) {
      player.destroy(false);
    }
  }
View Full Code Here

   */
  public static final World world = Instance.getWorld();

  public void handlePacket(Packet p, IoSession session) throws Exception {
    long sender = p.readLong();
    Player recipient = world.getPlayer(p.readLong());
    boolean avoidBlock = p.readByte() == 1;
    if (recipient == null || !recipient.loggedIn()) {
      return;
    }
    if (recipient.getPrivacySetting(1) && !recipient.isFriendsWith(sender)
        && !avoidBlock) {
      return;
    }
    if (recipient.isIgnoring(sender) && !avoidBlock) {
      return;
    }
    recipient.getActionSender().sendPrivateMessage(sender,
        p.getRemainingData());
  }
View Full Code Here

   *            The session in question
   * @param status
   *            The new idle status
   */
  public void sessionIdle(IoSession session, IdleStatus status) {
    Player player = (Player) session.getAttachment();
    if (!player.destroyed()) {
      player.destroy(false);
    }
    session.close();
  }
View Full Code Here

   * @param session
   *            The session opened
   */
  public void sessionOpened(IoSession session) {
    Constants.GameServer.ACCEPTED_CONNECTIONS++;
    session.setAttachment(new Player(session));
    session.setIdleTime(IdleStatus.BOTH_IDLE, 30);
    session.setWriteTimeout(30);
  }
View Full Code Here

      for (Player p : playersToInform) {
        p.informOfModifiedHits(affectedMob);
      }
      if (affectedMob instanceof Player) {
        Player affectedPlayer = (Player) affectedMob;
        affectedPlayer.getActionSender().sendStat(3);
      }
      owner.getActionSender().sendSound("shoot");
      owner.setArrowFired();
      if (newHp <= 0) {
        affectedMob.killedBy(owner, false);
        owner.resetRange();
        if (owner instanceof Player) {
          if (affectedMob instanceof Npc) {
            Npc npc = (Npc) affectedMob;

            npc.getSyndicate().distributeExp(npc);
          }
        }
      } else {
        if (owner instanceof Player && affectedMob instanceof Npc) // We're
                                      // ranging
                                      // an
                                      // NPC,
                                      // so
                                      // make
                                      // it
                                      // chase
                                      // the
                                      // player.
        {
          final Npc npc = (Npc) affectedMob;
          final Player player = (Player) owner;

          if (npc.isBusy() || npc.getChasing() != null)
            return;

          npc.resetPath();
          npc.setChasing(player);

          // Radius is 0 to prevent wallhacking by NPCs. Easiest
          // method I
          // can come up with for now.
          Instance.getDelayedEventHandler().add(
              new WalkMobToMobEvent(affectedMob, owner, 0) {
                public void arrived() {
                  if (affectedMob.isBusy() || player.isBusy()) {
                    npc.setChasing(null);
                    this.stop();
                    return;
                  }

                  npc.resetPath();
                  player.setBusy(true);
                  player.resetPath();
                  player.resetAll();

                  player.setStatus(Action.FIGHTING_MOB);
                  player.getActionSender().sendSound(
                      "underattack");
                  player.getActionSender().sendMessage(
                      "You are under attack!");

                  npc.setLocation(player.getLocation(), true);
                  for (Player p : npc.getViewArea()
                      .getPlayersInView())
                    p.removeWatchedNpc(npc);

                  player.setBusy(true);
                  player.setSprite(9);
                  player.setOpponent(npc);
                  player.setCombatTimer();

                  npc.setBusy(true);
                  npc.setSprite(8);
                  npc.setOpponent(player);
                  npc.setCombatTimer();
View Full Code Here

      if (!player.requiresOfferUpdate()) {
        continue;
      }
      player.setRequiresOfferUpdate(false);
      if (player.isTrading()) {
        Player affectedPlayer = player.getWishToTrade();
        if (affectedPlayer == null) {
          continue;
        }
        affectedPlayer.getActionSender().sendTradeItems();
      } else if (player.isDueling()) {
        Player affectedPlayer = player.getWishToDuel();
        if (affectedPlayer == null) {
          continue;
        }
        player.getActionSender().sendDuelSettingUpdate();
        affectedPlayer.getActionSender().sendDuelSettingUpdate();
        affectedPlayer.getActionSender().sendDuelItems();
      }
    }
  }
View Full Code Here

          player.getActionSender().sendFriendUpdate(userToLogout, 0);
        }
      }
      break;
    case 13:
      Player playerToInform = world.getPlayer(p.readLong());
      if (playerToInform != null && playerToInform.isFriendsWith(userToLogout)) {
        playerToInform.getActionSender().sendFriendUpdate(userToLogout, 0);
      }
      break;
    }
  }
View Full Code Here

  public static final World world = Instance.getWorld();

  public void handlePacket(Packet p, IoSession session) throws Exception {
    long uID = ((LSPacket) p).getUID();
    Logger.event("LOGIN_SERVER requested player logout (uID: " + uID + ")");
    Player player = world.getPlayer(p.readLong());
    if (player != null) {
      player.getActionSender().sendLogout();
      player.destroy(true);
    }
  }
View Full Code Here

   * World instance
   */
  public static final World world = Instance.getWorld();

  public void handlePacket(Packet p, IoSession session) throws Exception {
    Player player = (Player) session.getAttachment();
    int pID = ((RSCPacket) p).getID();
    if (player.isBusy()) {
      player.resetShop();
      return;
    }
    final Shop shop = player.getShop();
    if (shop == null) {
      player.setSuspiciousPlayer(true);
      player.resetShop();
      return;
    }
    int value;
    InvItem item;
    switch (pID) {
    case 253: // Close shop
      player.resetShop();
      world.addEntryToSnapshots(new Activity(player.getUsername(), player
          .getUsername()
          + " closed shop window at: "
          + player.getX()
          + "/" + player.getY()));

      break;
    case 128: // Buy item

      Short s = p.readShort();
      item = new InvItem(s, 1);
      world.addEntryToSnapshots(new Activity(player.getUsername(), player
          .getUsername()
          + " tried to buy item ("
          + s
          + "): "
          + player.getX() + "/" + player.getY()));

      if (item.getDef().isMembers() && !World.isMembers()) {
        player.getActionSender().sendMessage(
            "This feature is only avaliable on a members server");
        return;
      }
      value = p.readInt();
      if (value < item.getDef().basePrice) {
        Logger.println("[SHOPDUPE] " + player.getUsername()
            + " tried to buy " + item.getDef().name + " for "
            + value);
        return;
      }
      if (shop.countId(item.id) < 1)
        return;
      if (player.getInventory().countId(10) < value) {
        player.getActionSender().sendMessage(
            "You don't have enough money to buy that!");
        return;
      }
      List<InvItem> rec = new ArrayList<InvItem>();
      rec.add(item);
      List<InvItem> give = new ArrayList<InvItem>();
      give.add(new InvItem(10, value));
      if (!player.getInventory().canHold(rec, give)) {
        player.getActionSender().sendMessage(
            "You don't have room for that in your inventory");
        return;
      }
      int itemprice = Formulae.getPrice(
          shop.getItems().get(Formulae.getItemPos(shop, item.id)),
          shop, true);
      int sellprice = Formulae.getPrice(
          shop.getItems().get(Formulae.getItemPos(shop, item.id)),
          shop, false);
      if (itemprice == 0)
        return;

      if (sellprice >= itemprice)
        return;
      if (player.getInventory().remove(10, itemprice, false)) {
        shop.remove(item.id, item.amount, true);
        player.getInventory().add(item.id, item.amount, false);
        player.getActionSender().sendSound("coins");
        player.getActionSender().sendInventory();
        shop.updatePlayers();
      }
      break;
    case 255: // Sell item
      Short s1 = p.readShort();
      item = new InvItem(s1, 1);
      world.addEntryToSnapshots(new Activity(player.getUsername(), player
          .getUsername()
          + " tried to sell item ("
          + s1
          + "): "
          + player.getX() + "/" + player.getY()));

      value = p.readInt();
      if (!item.getDef().canTrade()) {
        player.getActionSender().sendMessage(
            "You cannot sell this item.");
        return;
      }
      if (item.getDef().isMembers() && !World.isMembers()) {
        player.getActionSender().sendMessage(
            "This feature is only avaliable on a members server");
        return;
      }
      if (player.getInventory().countId(item.id) < 1) {
        return;
      }
      if (!shop.shouldStock(item.id)) {
        return;
      }
      if (!shop.canHold(item.id, item.amount)) {
        player.getActionSender().sendMessage(
            "The shop is currently full!");
        return;
      }
      int itempricez;
      if (Formulae.getItemPos(shop, item.id) == -1) {
        itempricez = Formulae.getPrice(new InvItem(item.id, 0), shop,
            false);
      } else {
        itempricez = Formulae
            .getPrice(
                shop.getItems().get(
                    Formulae.getItemPos(shop, item.id)),
                shop, false);
      }

      if (player.getInventory().remove(item.id, item.amount, false)) {
        player.getInventory().add(10, itempricez, false);
        shop.add(item.id, item.amount, false);
        player.getActionSender().sendSound("coins");
        player.getActionSender().sendInventory();
        shop.updatePlayers();
      }
      break;
    }
  }
View Full Code Here

TOP

Related Classes of org.moparscape.msc.gs.model.Player

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.