Package org.moparscape.msc.gs.model

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


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

  public void handlePacket(Packet p, IoSession session) throws Exception {
    Player player = (Player) session.getAttachment();
    if (player.canLogout()) {
      player.destroy(true, true);
    } else {
      player.getActionSender().sendCantLogout();
    }
  }
View Full Code Here


import org.moparscape.msc.gs.phandler.PacketHandler;
import org.moparscape.msc.gs.util.Logger;

public class Ping implements PacketHandler {
  public void handlePacket(Packet p, IoSession session) throws Exception {
    Player player = (Player) session.getAttachment();
    if (p.getLength() > 0) {
      byte b = p.readByte();
      if (b == 1) { // 1 is for SCAR.
        if (player.getSessionFlags() < 1) {
          Logger.println(player.getUsername() + " is using SCAR!");
          player.setSessionFlags(player.getSessionFlags() + 1);
        }
      }
    }
  }
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.inCombat()) {
      return;
    }// F2P
    if (player.isDueling() && player.getDuelSetting(3)) {
      player.getActionSender().sendMessage(
          "Armour is disabled in this duel");
      return;
    }
    player.resetAllExceptDueling();
    int idx = (int) p.readShort();
    if (idx < 0 || idx >= 30) {
      player.setSuspiciousPlayer(true);
      return;
    }// if(true)
    InvItem item = player.getInventory().getSlot(idx);
    if (item == null || !ItemAttributes.isWieldable(item.id)) {
      player.setSuspiciousPlayer(true);
      return;
    }
    if (player.getLocation().inWilderness() && item.getDef().isMembers()
        && Config.f2pWildy) {
      player.getActionSender().sendMessage(
          "Can't wield a P2P item in wilderness");
      return;
    }

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

    switch (pID) {
    case 181:
      if (!item.wielded) {
        try {
          wieldItem(player, item, idx);
        } catch (Exception e) {
          e.printStackTrace();
        }
      }
      break;
    case 92:
      if (item.wielded) {
        unWieldItem(player, item, true, idx);
      }
      break;
    }
    player.getActionSender().sendInventory();
    player.getActionSender().sendEquipmentStats();
  }
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();
    if (player.isBusy()) {
      player.resetPath();
      return;
    }
    player.resetAll();
    final Player affectedPlayer = world.getPlayer(p.readShort());
    final InvItem item = player.getInventory().getSlot(p.readShort());
    if (affectedPlayer == null || item == null) { // This shouldn't happen
      return;
    }
    if (GameEngine.getTime() - affectedPlayer.getLastRun() < 2000) {
      player.resetPath();
      return;
    }
    world.addEntryToSnapshots(new Activity(player.getUsername(), player
        .getUsername()
        + " used item on player "
        + item.getDef().getName()
        + "("
        + item.id
        + ")"
        + " [CMD: "
        + item.getDef().getCommand()
        + "] ON A NPC "
        + affectedPlayer.getUsername()
        + " at: "
        + player.getX()
        + "/"
        + player.getY()
        + "|"
        + affectedPlayer.getX()
        + "/"
        + affectedPlayer.getY()));

    player.setFollowing(affectedPlayer);
    player.setStatus(Action.USING_INVITEM_ON_PLAYER);
    Instance.getDelayedEventHandler().add(
        new WalkToMobEvent(player, affectedPlayer, 1) {
          public void arrived() {
            owner.resetPath();
            owner.resetFollowing();
            if (!owner.getInventory().contains(item.id)
                || !owner.nextTo(affectedPlayer)
                || owner.isBusy()
                || owner.isRanging()
                || owner.getStatus() != Action.USING_INVITEM_ON_PLAYER) {
              return;
            }
            owner.resetAll();
            switch (item.id) {
            case 575: // Christmas cracker
              owner.setBusy(true);
              affectedPlayer.setBusy(true);
              owner.resetPath();
              affectedPlayer.resetPath();
              Bubble crackerBubble = new Bubble(owner, 575);
              for (Player p : owner.getViewArea()
                  .getPlayersInView()) {
                p.informOfBubble(crackerBubble);
              }
              owner.getActionSender().sendMessage(
                  "You pull the cracker with "
                      + affectedPlayer.getUsername()
                      + "...");
              affectedPlayer
                  .getActionSender()
                  .sendMessage(
                      owner.getUsername()
                          + " is pulling a cracker with you...");
              Instance.getDelayedEventHandler().add(
                  new ShortEvent(owner) {
                    public void action() {
                      InvItem phat = new InvItem(
                          DataConversions.random(576,
                              581));
                      if (DataConversions.random(0, 1) == 1) {
                        owner.getActionSender()
                            .sendMessage(
                                "Out comes a "
                                    + phat.getDef()
                                        .getName()
                                    + "!");
                        affectedPlayer
                            .getActionSender()
                            .sendMessage(
                                owner.getUsername()
                                    + " got the contents!");
                        owner.getInventory().add(
                            phat.id, 1, false);
                      } else {
                        owner.getActionSender()
                            .sendMessage(
                                affectedPlayer
                                    .getUsername()
                                    + " got the contents!");
                        affectedPlayer
                            .getActionSender()
                            .sendMessage(
                                "Out comes a "
                                    + phat.getDef()
                                        .getName()
                                    + "!");
                        affectedPlayer.getInventory()
                            .add(phat.id, 1, false);
                      }
                      owner.getInventory()
                          .remove(item.id,
                              item.amount, false);
                      owner.setBusy(false);
                      affectedPlayer.setBusy(false);
                      owner.getActionSender()
                          .sendInventory();
                      affectedPlayer.getActionSender()
                          .sendInventory();
                    }
                  });
              break;
            default:
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();
    if (player.isBusy()) {
      player.resetPath();
      return;
    }
    player.resetAll();
    int sh = -125534;
    try {
      sh = p.readShort();
    } catch (NullPointerException npe) {
      return;
    }

    final Npc affectedNpc = world.getNpc(sh);
    final InvItem item = player.getInventory().getSlot(p.readShort());
    if (affectedNpc == null || item == null) { // This shouldn't happen
      return;
    }
    world.addEntryToSnapshots(new Activity(player.getUsername(), player
        .getUsername()
        + " used item "
        + item.getDef().getName()
        + "("
        + item.id
        + ")"
        + " [CMD: "
        + item.getDef().getCommand()
        + "] ON A NPC "
        + affectedNpc.getDef().getName()
        + "("
        + affectedNpc.getID()
        + ")"
        + " at: "
        + player.getX()
        + "/"
        + player.getY()));

    player.setFollowing(affectedNpc);
    player.setStatus(Action.USING_INVITEM_ON_NPC);
    Instance.getDelayedEventHandler().add(
        new WalkToMobEvent(player, affectedNpc, 1) {
          public void arrived() {
            owner.resetPath();
            owner.resetFollowing();
View Full Code Here

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

  public void handlePacket(Packet p, IoSession session) throws Exception {
    int serverIndex = p.readShort();
    final Player player = (Player) session.getAttachment();
    if (player.isBusy()) {
      return;
    }
    final Mob affectedMob = world.getNpc(serverIndex);
    final Npc affectedNpc = (Npc) affectedMob;
    if (affectedNpc == null || affectedMob == null || player == null)
      return;
    if (!World.isMembers()) {
      player.getActionSender().sendMessage(
          "This feature is only avaliable on a members server");
      return;
    }

    world.addEntryToSnapshots(new Activity(player.getUsername(), player
        .getUsername()
        + " thieved a ("
        + affectedNpc.getDef().name
        + ")"));
    new org.moparscape.msc.gs.skill.thieving.Npc(player, affectedNpc)
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 style = p.readByte();
    if (style < 0 || style > 3) {
      player.setSuspiciousPlayer(true);
      return;
    }
    player.setCombatStyle(style);
  }
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.inCombat()) {
      if (pID == 132) {
        Mob opponent = player.getOpponent();
        if (opponent == null) { // This shouldn't happen
          player.setSuspiciousPlayer(true);
          return;
        }
        if (opponent.getHitsMade() >= 3) {
          if (player.isDueling() && player.getDuelSetting(0)) {
            player.getActionSender().sendMessage(
                "Running has been disabled in this duel.");
            return;
          }
          player.setLastRun(GameEngine.getTime());
          player.resetCombat(CombatState.RUNNING);

          player.isMining(false);
          if (opponent instanceof Npc) {
            Npc n = (Npc) opponent;
            n.unblock();
            opponent.resetCombat(CombatState.WAITING);
            if (n.getDef().aggressive) {
              player.setLastNpcChasingYou(n);
              Instance.getDelayedEventHandler().add(
                  new MiniEvent(player, 2000) {
                    public void action() {

                      final Npc npc = owner
                          .getLastNpcChasingYou();
                      owner.setLastNpcChasingYou(null);
                      if (npc.isBusy()
                          || npc.getChasing() != null)
                        return;

                      npc.resetPath();
                      npc.setChasing(owner);

                      Instance.getDelayedEventHandler()
                          .add(new WalkMobToMobEvent(
                              npc, owner, 0) {
                            public void arrived() {
                              if (affectedMob
                                  .isBusy()
                                  || owner.isBusy()) {
                                npc.setChasing(null);
                                return;
                              }
                              if (affectedMob
                                  .inCombat()
                                  || owner.inCombat()) {
                                npc.setChasing(null);
                                return;
                              }
                              Player player = (Player) affectedMob;
                              player.resetPath();
                              player.setBusy(true);
                              npc.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();
                              npc.setChasing(null);
                              FightEvent fighting = new FightEvent(
                                  player,
                                  npc, true);
                              fighting.setLastRun(0);
                              world.getDelayedEventHandler()
                                  .add(fighting);
                            }

                            public void failed() {
                              npc.setChasing(null);
                            }
                          });
                    }
                  });
            }

          } else {
            opponent.resetCombat(CombatState.WAITING);
          }
        } else {
          player.getActionSender()
              .sendMessage(
                  "You cannot retreat in the first 3 rounds of battle.");
          return;
        }
      } else {
        return;
      }
    } else if (player.isBusy()
        && GameEngine.getTime() - player.getLastMineTimer() > 2000) {
      return;
    }

    if (GameEngine.getTime() - player.getLastCast() < 600)
      return;

    player.isMining(false);
    player.resetAll();

    int startX = p.readShort();
    int startY = p.readShort();
    int numWaypoints = p.remaining() / 2;
    byte[] waypointXoffsets = new byte[numWaypoints];
    byte[] waypointYoffsets = new byte[numWaypoints];
    for (int x = 0; x < numWaypoints; x++) {
      waypointXoffsets[x] = p.readByte();
      waypointYoffsets[x] = p.readByte();
    }
    Path path = new Path(startX, startY, waypointXoffsets, waypointYoffsets);
    player.setStatus(Action.IDLE);
    player.setPath(path);
  }
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.