Package org.moparscape.msc.gs.model

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


   */
  public static final World world = Instance.getWorld();
  private PrivacySettingUpdatePacketBuilder builder = new PrivacySettingUpdatePacketBuilder();

  public void handlePacket(Packet p, IoSession session) throws Exception {
    Player player = (Player) session.getAttachment();

    boolean[] newSettings = new boolean[4];
    for (int i = 0; i < 4; i++) {
      newSettings[i] = p.readByte() == 1;
    }

    builder.setPlayer(player);
    for (int i = 0; i < 4; i++) {
      builder.setIndex(i);
      if (newSettings[i] && !player.getPrivacySetting(i)) {
        builder.setOn(true);
      } else if (!newSettings[i] && player.getPrivacySetting(i)) {
        builder.setOn(false);
      } else {
        continue;
      }
      LSPacket packet = builder.getPacket();
      if (packet != null) {
        Instance.getServer().getLoginConnector().getSession()
            .write(packet);
      }
    }

    for (int i = 0; i < 4; i++) {
      player.setPrivacySetting(i, newSettings[i]);
    }
  }
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();
    Logger.event("[BOT] " + player.getUsername() + " ["
        + player.getUsernameHash() + "] was caught using Methoxy!");
  }
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.isInitialized()) {
      Logger.println("[WARNING] SessionRequest for already Initialized player!");
      return;
    }
    byte userByte = p.readByte();
    player.setClassName(p.readString().trim());
    long serverKey = Formulae.generateSessionKey(userByte);
    player.setServerKey(serverKey);
    RSCPacketBuilder pb = new RSCPacketBuilder();
    pb.setBare(true);
    pb.addLong(serverKey);
    session.write(pb.toPacket());
  }
View Full Code Here

  public static final World world = Instance.getWorld();
  private MiscPacketBuilder loginSender = Instance.getServer()
      .getLoginConnector().getActionSender();

  public void handlePacket(Packet p, IoSession session) throws Exception {
    Player player = (Player) session.getAttachment();
    int pID = ((RSCPacket) p).getID();

    long user = player.getUsernameHash();
    long friend = p.readLong();
    switch (pID) {
    case 168: // Add friend
      if (player.friendCount() >= 200) {
        player.getActionSender().sendMessage(
            "Your friend list is too full");
        return;
      }
      loginSender.addFriend(user, friend);
      player.addFriend(friend, 0);
      world.addEntryToSnapshots(new Activity(player.getUsername(), player
          .getUsername()
          + " added friend "
          + DataConversions.hashToUsername(friend)
          + " at: "
          + player.getX() + "/" + player.getY()));

      break;
    case 52: // Remove friend
      loginSender.removeFriend(user, friend);
      player.removeFriend(friend);
      world.addEntryToSnapshots(new Activity(player.getUsername(), player
          .getUsername()
          + " removed friend "
          + DataConversions.hashToUsername(friend)
          + " at: "
          + player.getX() + "/" + player.getY()));

      break;
    case 25: // Add ignore
      if (player.ignoreCount() >= 200) {
        player.getActionSender().sendMessage(
            "Your ignore list is too full");
        return;
      }
      loginSender.addIgnore(user, friend);
      player.addIgnore(friend);
      break;
    case 108: // Remove ignore
      loginSender.removeIgnore(user, friend);
      player.removeIgnore(friend);
      break;
    case 254: // Send PM
      try {
        byte[] data = p.getRemainingData();
        String s = DataConversions.byteToString(data, 0, data.length);
        s = s.toLowerCase();
        String k = s;
        s = s.replace(" ", "");
        s = s.replace(".", "");
        if (s.contains("runeblast")) {
          Logger.println(player.getUsername() + " pmed "
              + DataConversions.hashToUsername(friend) + ":" + k);
          AlertHandler.sendAlert(player.getUsername() + " pmed "
              + DataConversions.hashToUsername(friend) + ":" + k,
              2);
          return;
        }
        ArrayList<String> temp = new ArrayList<String>();
        temp.add(DataConversions.hashToUsername(friend));
        world.addEntryToSnapshots(new Chatlog(player.getUsername(),
            "(PM) " + k, temp));

        loginSender.sendPM(user, friend, player.isPMod(), data);
      } catch (NegativeArraySizeException e) {
        player.destroy(false);
      }
      break;
    }
  }
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 int idx = (int) p.readShort();
    if (idx < 0 || idx >= player.getInventory().size()) {
      player.setSuspiciousPlayer(true);
      return;
    }
    final InvItem item = player.getInventory().getSlot(idx);
    if (item == null) {
      player.setSuspiciousPlayer(true);
      return;
    }
    if (player.isPMod() && !player.isMod())
      return;

    // drop item after a path has finished
    if (player.pathHandler != null && !player.pathHandler.finishedPath()) {
      waitAndDrop(player, item);
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.resetPath();
      return;
    }
    player.resetAll();
    Mob affectedMob = null;
    int serverIndex = p.readShort();
    if (pID == 57) {
      affectedMob = world.getPlayer(serverIndex);
    } else if (pID == 73) {
      affectedMob = world.getNpc(serverIndex);
    }
    if (player.isPMod() && !player.isMod())
      return;
    if (affectedMob == null || affectedMob.equals(player)) {
      player.resetPath();
      return;
    }
    if (affectedMob instanceof Player) {
      Player pl = (Player) affectedMob;
      if (pl.inCombat() && player.getRangeEquip() < 0) {
        return;
      }

      if (pl.getLocation().inWilderness()
          && System.currentTimeMillis() - pl.getLastRun() < 3000) {
        return;
      }
    }

    player.setFollowing(affectedMob);
    player.setStatus(Action.ATTACKING_MOB);

    if (player.getRangeEquip() < 0) {
      Instance.getDelayedEventHandler().add(
          new WalkToMobEvent(player, affectedMob,
              affectedMob instanceof Npc ? 1 : 2) {
            public void arrived() {
              owner.resetPath();
              owner.resetFollowing();
              boolean cont = false;
              if (affectedMob instanceof Player) {
                Player opp = (Player) affectedMob;

                if (GameEngine.getTime()
                    - opp.getLastMineTimer() < 2000
                    && opp.isBusy())
                  cont = true;
              }
              if (affectedMob instanceof Player) {
                world.addEntryToSnapshots(new Activity(owner
                    .getUsername(), owner.getUsername()
                    + " attacked a Player ("
                    + ((Player) affectedMob).getUsername()
                    + ")"));
              } else {
                world.addEntryToSnapshots(new Activity(owner
                    .getUsername(), owner.getUsername()
                    + " attacked a NPC ("
                    + ((Npc) affectedMob).getDef().name
                    + ")"));
              }
              if (cont) {
                if (owner.isBusy()
                    || !owner.nextTo(affectedMob)
                    || !owner.checkAttack(affectedMob,
                        false)
                    || owner.getStatus() != Action.ATTACKING_MOB) {
                  return;
                }
              } else {
                if (owner.isBusy()
                    || affectedMob.isBusy()
                    || !owner.nextTo(affectedMob)
                    || !owner.checkAttack(affectedMob,
                        false)
                    || owner.getStatus() != Action.ATTACKING_MOB) {
                  return;
                }
              }
              if (affectedMob.getID() == 35) {
                owner.getActionSender()
                    .sendMessage(
                        "Delrith can not be attacked without the Silverlight sword");
                return;
              }
              if (affectedMob.getID() == 140
                  && affectedMob.getX() > 327
                  && affectedMob.getX() < 335
                  && affectedMob.getY() > 433
                  && affectedMob.getY() < 439) {
                owner.informOfNpcMessage(new ChatMessage(
                    affectedMob, "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();

              }

              owner.resetAll();
              owner.setStatus(Action.FIGHTING_MOB);
              if (affectedMob instanceof Player) {
                Player affectedPlayer = (Player) affectedMob;
                affectedPlayer.resetAll();
                affectedPlayer.setStatus(Action.FIGHTING_MOB);
                affectedPlayer.getActionSender().sendSound(
                    "underattack");
                affectedPlayer.getActionSender().sendMessage(
                    "You are under attack!");
                owner.setSkulledOn(affectedPlayer);
              }
              affectedMob.resetPath();

              owner.setLocation(affectedMob.getLocation(), true);
              for (Player p : owner.getViewArea()
                  .getPlayersInView()) {
                p.removeWatchedPlayer(owner);
              }

              owner.setBusy(true);
              owner.setSprite(9);
              /*
               * if(affectedMob instanceof Npc) { Npc n =
               * (Npc)affectedMob; for(Fighter p : n.fighters) {
               * p.useCombat = true; if(p.player == owner)
               * if(p.useMagic) { p.useMagic = false; break; } } }
               */
              owner.setOpponent(affectedMob);
              owner.setCombatTimer();
              affectedMob.setBusy(true);
              affectedMob.setSprite(8);
              affectedMob.setOpponent(owner);
              affectedMob.setCombatTimer();
              FightEvent fighting = new FightEvent(owner,
                  affectedMob);
              fighting.setLastRun(0);
              Instance.getDelayedEventHandler().add(fighting);
            }
          });
    } else {
      if (!new ProjectilePath(player.getX(), player.getY(),
          affectedMob.getX(), affectedMob.getY()).isValid()) {
        player.getActionSender().sendMessage(
            "I can't get a clear shot from here");
        player.resetPath();
        return;
      }
      if (Config.f2pWildy && player.getLocation().inWilderness()) {

        for (InvItem i : player.getInventory().getItems()) {
          if (i.id == 638 || i.id == 640 || i.id == 642
              || i.id == 644 || i.id == 646) {
            player.getActionSender()
                .sendMessage(
                    "You can not have any P2P arrows in your inventory in a F2P wilderness");
            return;
          }
        }

      }
      int radius = 7;
      if (player.getRangeEquip() == 59 || player.getRangeEquip() == 60)
        radius = 5;
      if (player.getRangeEquip() == 189)
        radius = 4;
      Instance.getDelayedEventHandler().add(
          new WalkToMobEvent(player, affectedMob, radius) {
            public void arrived() {
              owner.resetPath();
              if (owner.isBusy()
                  || !owner.checkAttack(affectedMob, true)
                  || owner.getStatus() != Action.ATTACKING_MOB) {
                return;
              }

              if (!new ProjectilePath(owner.getX(), owner.getY(),
                  affectedMob.getX(), affectedMob.getY())
                  .isValid()) {
                owner.getActionSender().sendMessage(
                    "I can't get a clear shot from here");
                owner.resetPath();
                return;
              }
              if (affectedMob instanceof Player) {
                world.addEntryToSnapshots(new Activity(owner
                    .getUsername(), owner.getUsername()
                    + " ranged a Player ("
                    + ((Player) affectedMob).getUsername()
                    + ")"));
              } else {
                world.addEntryToSnapshots(new Activity(owner
                    .getUsername(), owner.getUsername()
                    + " ranged a NPC ("
                    + ((Npc) affectedMob).getDef().name
                    + ")"));
              }
              if (affectedMob.getID() == 35) {
                owner.getActionSender()
                    .sendMessage(
                        "Delrith can not be attacked without the Silverlight sword");
                return;
              }
              owner.resetAll();
              owner.setStatus(Action.RANGING_MOB);
              if (affectedMob instanceof Player) {
                Player affectedPlayer = (Player) affectedMob;
                affectedPlayer.resetTrade();
                if (affectedPlayer.getMenuHandler() != null) {
                  affectedPlayer.resetMenuHandler();
                }
                if (affectedPlayer.accessingBank()) {
                  affectedPlayer.resetBank();
                }
                if (affectedPlayer.accessingShop()) {
                  affectedPlayer.resetShop();
                }
                if (affectedPlayer.getNpc() != null) {
                  affectedPlayer.getNpc().unblock();
                  affectedPlayer.setNpc(null);
                }
                owner.setSkulledOn(affectedPlayer);
              }
              if (Formulae.getRangeDirection(owner, affectedMob) != -1)
                owner.setSprite(Formulae.getRangeDirection(
View Full Code Here

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

  public void handlePacket(Packet p, IoSession session) throws Exception {
    long loggingIn = p.readLong();
    Player userToInform = world.getPlayer(p.readLong());
    if (userToInform == null) {
      return;
    }
    if (userToInform.isFriendsWith(loggingIn)) {
      userToInform.getActionSender().sendFriendUpdate(loggingIn, p.readShort());
    }
  }
View Full Code Here

    if (!owner.loggedIn() || !affectedPlayer.loggedIn()) {
      owner.resetCombat(CombatState.ERROR);
      affectedPlayer.resetCombat(CombatState.ERROR);
      return;
    }
    Player attacker, opponent;
    if (hits++ % 2 == 0) {
      attacker = owner;
      opponent = affectedPlayer;
    } else {
      attacker = affectedPlayer;
      opponent = owner;
    }
    if (opponent.getHits() <= 0) {
      attacker.resetCombat(CombatState.WON);
      opponent.resetCombat(CombatState.LOST);
      this.stop();
      return;
    }
    attacker.incHitsMade();
    attacker.setLastMoved();

    // int damage = (attacker instanceof Player && opponent instanceof
    // Player ? Formulae
    // .calcFightHit(attacker, opponent) : Formulae
    // .calcFightHitWithNPC(attacker, opponent));
    int damage = CombatFormulae.getNextHit(attacker, opponent);
    opponent.setLastDamage(damage);
    int newHp = opponent.getHits() - damage;
    opponent.setHits(newHp);
    ArrayList<Player> playersToInform = new ArrayList<Player>();
    playersToInform.addAll(opponent.getViewArea().getPlayersInView());
    playersToInform.addAll(attacker.getViewArea().getPlayersInView());
    for (Player p : playersToInform) {
      p.informOfModifiedHits(opponent);
    }
    String combatSound = damage > 0 ? "combat1b" : "combat1a";

    opponent.getActionSender().sendStat(3);
    opponent.getActionSender().sendSound(combatSound);
    attacker.getActionSender().sendSound(combatSound);

    if (newHp <= 0) {
      opponent.killedBy(attacker, true);
      int exp = DataConversions.roundUp(Formulae
          .combatExperience(opponent) / 4D);
      switch (attacker.getCombatStyle()) {
      case 0:
        for (int x = 0; x < 3; x++) {
          attacker.incExp(x, exp, true);
          attacker.getActionSender().sendStat(x);
        }
        break;
      case 1:
        attacker.incExp(2, exp * 3, true);
        attacker.getActionSender().sendStat(2);
        break;
      case 2:
        attacker.incExp(0, exp * 3, true);
        attacker.getActionSender().sendStat(0);
        break;
      case 3:
        attacker.incExp(1, exp * 3, true);
        attacker.getActionSender().sendStat(1);
        break;
      }
      attacker.incExp(3, exp, true);
      attacker.getActionSender().sendStat(3);

      attacker.resetCombat(CombatState.WON);
      opponent.resetCombat(CombatState.LOST);

      attacker.resetDueling();
      opponent.resetDueling();
      this.stop();
    }
  }
View Full Code Here

  public void handlePacket(Packet p, IoSession session) throws Exception {
    long uID = ((LSPacket) p).getUID();
    Logger.event("LOGIN_SERVER requested report information (uID: " + uID
        + ")");
    Player player = world.getPlayer(p.readLong());
    if (player == null) {
      return;
    }
    builder.setUID(uID);
    builder.setPlayer(player);
View Full Code Here

   *            The associated session
   * @param cause
   *            The exception thrown
   */
  public void exceptionCaught(IoSession session, Throwable cause) {
    Player p = (Player) session.getAttachment();

    if (p != null)
      p.getActionSender().sendLogout();
    session.close();
  }
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.