Package org.moparscape.msc.gs.model

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


    return DataConversions.random(0, 4) != 0;
  }

  public static boolean doorAtFacing(Entity e, int x, int y, int dir) {
    if (dir >= 0 && e instanceof GameObject) {
      GameObject obj = (GameObject) e;
      return obj.getType() == 1 && obj.getDirection() == dir
          && obj.isOn(x, y);
    }
    return false;
  }
View Full Code Here


    return levels[type];
  }

  public static boolean objectAtFacing(Entity e, int x, int y, int dir) {
    if (dir >= 0 && e instanceof GameObject) {
      GameObject obj = (GameObject) e;
      return obj.getType() == 0 && obj.getDirection() == dir
          && obj.isOn(x, y);
    }
    return false;
  }
View Full Code Here

                          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(
View Full Code Here

            owner.getActionSender().sendInventory();
          }

          private void doDoor() {
            owner.getActionSender().sendSound("opendoor");
            world.registerGameObject(new GameObject(object
                .getLocation(), 11, object.getDirection(),
                object.getType()));
            world.delayedSpawnObject(object.getLoc(), 1000);
          }
View Full Code Here

    if (tile == null) {
      player.setSuspiciousPlayer(true);
      player.resetPath();
      return;
    }
    GameObject object = tile.getGameObject();
    InvItem item;
    switch (pID) {
    case 36: // Use Item on Door
      int dir = p.readByte();
      item = player.getInventory().getSlot(p.readShort());
      if (object == null || object.getType() == 0 || item == null) { // This
        // shoudln't
        // happen
        player.setSuspiciousPlayer(true);
        return;
      }
      world.addEntryToSnapshots(new Activity(player.getUsername(), player
          .getUsername()
          + " used item on door"
          + item.getDef().getName()
          + "("
          + item.id
          + ")"
          + " [CMD: "
          + item.getDef().getCommand()
          + "] ON A DOOR ("
          + tile.getX()
          + "/"
          + tile.getY()
          + ") at: "
          + player.getX() + "/" + player.getY()));

      handleDoor(player, tile, object, dir, item);
      break;
    case 94: // Use Item on GameObject
      item = player.getInventory().getSlot(p.readShort());
      if (object == null || object.getType() == 1 || item == null) { // This
        // shoudln't
        // happen
        player.setSuspiciousPlayer(true);
        return;
      }
View Full Code Here

      if (player.getInventory().remove(796, 1, false)) {
        player.getActionSender().sendInventory();
        player.setBusy(true);
        player.getActionSender().sendMessage(
            "You open and plant the seed.");
        world.registerGameObject(new GameObject(player.getLocation(),
            490, 0, 0));
        final Point location = player.getLocation();
        Instance.getDelayedEventHandler().add(
            new DelayedEvent(null, 180000) {
              GameObject object = world.getTile(location)
View Full Code Here

  public void godSpellObject(Mob affectedMob, int spell) {

    switch (spell) {
    case 33:
      GameObject guthix = new GameObject(affectedMob.getLocation(), 1142,
          0, 0);
      world.registerGameObject(guthix);
      Instance.getDelayedEventHandler().add(
          new ObjectRemover(guthix, 500));
      break;
    case 34:
      GameObject sara = new GameObject(affectedMob.getLocation(), 1031,
          0, 0);
      world.registerGameObject(sara);
      Instance.getDelayedEventHandler().add(new ObjectRemover(sara, 500));
      break;
    case 35:
      GameObject zammy = new GameObject(affectedMob.getLocation(), 1036,
          0, 0);
      world.registerGameObject(zammy);
      Instance.getDelayedEventHandler()
          .add(new ObjectRemover(zammy, 500));
      break;
    case 47:
      GameObject charge = new GameObject(affectedMob.getLocation(), 1147,
          0, 0);
      world.registerGameObject(charge);
      Instance.getDelayedEventHandler().add(
          new ObjectRemover(charge, 500));
      break;
View Full Code Here

        player.resetPath();
        return;
      }
      player.resetAll();
      ActiveTile t = world.getTile(p.readShort(), p.readShort());
      final GameObject object = t.getGameObject();
      final int click = pID == 126 ? 0 : 1;
      if (object == null) {
        t.cleanItself();
        player.setSuspiciousPlayer(true);
        return;
      }
      world.addEntryToSnapshots(new Activity(player.getUsername(), player
          .getUsername()
          + " used a door ("
          + object.getID()
          + ") at: " + player.getX() + "/" + player.getY()));
     
      player.setStatus(Action.USING_DOOR);
      Instance.getDelayedEventHandler()
          .add(new WalkToPointEvent(player, object.getLocation(), 1,
              false) {
            public void arrived() {
              owner.resetPath();
              DoorDef def = object.getDoorDef();
              if (owner.isBusy() || owner.isRanging()
                  || !owner.nextTo(object) || def == null
                  || owner.getStatus() != Action.USING_DOOR) {
                return;
              }// /126
              if (object.getX() == 282 && object.getY() == 185)
                return;
              if (object.getX() == 285 && object.getY() == 185)
                return;
              if (object.getX() == 59 && object.getY() == 573)
                return;
              if (object.getX() == 196 && object.getY() == 3266)
                return;
              if (!Server.isMembers()) {
                if (object.getX() == 126
                    && object.getY() == 686)
                  return;
              }
              if (object.getID() == 77) {
                owner.getActionSender().sendMessage(
                    "You search the " + def.name + "...");
                Instance.getDelayedEventHandler().add(
                    new ShortEvent(owner) {
                      public void action() {
                        owner.getActionSender()
                            .sendMessage(
                                "You see a key but can't quite reach it");
                        return;
                      }
                    });
              }
              // if(object.getID() == 58) {
              // owner.getActionSender().sendMessage("It seems this wall can not be opened right now");
              // return;
              // }
              owner.resetAll();
              String command = (click == 0 ? def.getCommand1()
                  : def.getCommand2()).toLowerCase();
              Point telePoint = EntityHandler.getObjectTelePoint(
                  object.getLocation(), command);

              if (telePoint != null) {
                owner.teleport(telePoint.getX(),
                    telePoint.getY(), false);
              }

              else {

                if (command.equals("pick lock")) {
                  if (!World.isMembers()) {
                    owner.getActionSender()
                        .sendMessage(
                            "This feature is only avaliable on a members server");
                    return;
                  }
                  if (owner.isPacketSpam()) {
                    return;
                  }
                  owner.setSpam(true);
                  new Door(owner, object).pickLock();
                  return;
                }

                switch (object.getID()) {
                case 487:
                  if (object.getX() != 282
                      || object.getY() != 3020) {
                    break;
                  }
                  if (GameEngine.getTime()
                      - owner.getLastMoved() < 10000) {
                    owner.getActionSender()
                        .sendMessage(
                            "You must stand still for 10 seconds before using this");
                    return;
                  }
                  owner.teleport(567, 3330, false);
                  return;

                case 20:
                case 44:
                  replaceGameObject(1, true);
                  break;
                case 1:
                  replaceGameObject(2, false);
                  break;
                case 2:
                  replaceGameObject(1, true);
                  break;
                case 9:
                  replaceGameObject(8, false);
                  break;
                case 8:
                  replaceGameObject(9, true);
                  break;

                case 94:
                case 23:
                  owner.getActionSender().sendMessage(
                      "The door is locked");
                  break;
                case 112: // Fishing Guild Door
                  if (object.getX() != 586
                      || object.getY() != 524) {
                    break;
                  }
                  if (owner.getY() > 523) {
                    if (owner.getCurStat(10) < 68) {
                      owner.setBusy(true);
                      Npc masterFisher = world.getNpc(
                          368, 582, 588, 524, 527);
                      if (masterFisher != null) {
                        owner.informOfNpcMessage(new ChatMessage(
                            masterFisher,
                            "Hello only the top fishers are allowed in here",
                            owner));
                      }
                      world.getDelayedEventHandler().add(
                          new ShortEvent(owner) {
                            public void action() {
                              owner.setBusy(false);
                              owner.getActionSender()
                                  .sendMessage(
                                      "You need a fishing level of 68 to enter");
                            }
                          });
                    } else {
                      doDoor();
                      owner.teleport(586, 523, false);
                    }
                  } else {
                    doDoor();
                    owner.teleport(586, 524, false);
                  }
                  break;
                case 55:

                  if (true) {
                    owner.getActionSender()
                        .sendMessage(
                            "Currently closed off at the moment!");
                    return;
                  }
                  // Hi jacking for champs etc guild doors.
                  /*
                   * if (object.getX() == 150 && object.getY()
                   * == 554) { // Champs if (owner.getY() >=
                   * 554) { doDoor(); owner.teleport(150, 553,
                   * false); return; }
                   *
                   * doDoor(); owner.teleport(150, 554,
                   * false); return; } if (object.getX() ==
                   * 372 && object.getY() == 441) { // Heroes
                   * if (owner.getY() <= 440) { doDoor();
                   * owner.teleport(372, 441, false); return;
                   * } if (owner.getSkillTotal() < 850) {
                   * owner.getActionSender() .sendMessage(
                   * "You need a skill total of 850 or more to enter"
                   * ); return; } doDoor();
                   * owner.teleport(372, 440, false); return;
                   * } // Legends guild gate is done in //
                   * ObjectAction
                   *
                   * if (object.getX() != 268 || object.getY()
                   * != 3381) { break; } if (owner.getY() <=
                   * 3380) { if (owner.getCurStat(14) < 60) {
                   * owner.setBusy(true); Npc dwarf =
                   * world.getNpc(191, 265, 270, 3379, 3380);
                   * if (dwarf != null) {
                   * owner.informOfNpcMessage(new ChatMessage(
                   * dwarf,
                   * "Hello only the top miners are allowed in here"
                   * , owner)); }
                   * world.getDelayedEventHandler().add( new
                   * ShortEvent(owner) { public void action()
                   * { owner.setBusy(false);
                   * owner.getActionSender() .sendMessage(
                   * "You need a mining level of 60 to enter"
                   * ); } }); } else { doDoor();
                   * owner.teleport(268, 3381, false); } }
                   * else { doDoor(); owner.teleport(268,
                   * 3380, false); } break;
                   */
                case 68: // Crafting Guild Door
                  if (object.getX() != 347
                      || object.getY() != 601) {
                    return;
                  }
                  if (owner.getY() <= 600) {
                    if (owner.getCurStat(12) < 40) {
                      owner.setBusy(true);
                      Npc master = world.getNpc(231, 341,
                          349, 599, 612);
                      if (master != null) {
                        owner.informOfNpcMessage(new ChatMessage(
                            master,
                            "Hello only the top crafters are allowed in here",
                            owner));
                      }
                      world.getDelayedEventHandler().add(
                          new ShortEvent(owner) {
                            public void action() {
                              owner.setBusy(false);
                              owner.getActionSender()
                                  .sendMessage(
                                      "You need a crafting level of 40 to enter");
                            }
                          });
                    } else if (!owner.getInventory()
                        .wielding(191)) {
                      Npc master = world.getNpc(231, 341,
                          349, 599, 612);
                      if (master != null) {
                        owner.informOfNpcMessage(new ChatMessage(
                            master,
                            "Where is your apron?",
                            owner));
                      }
                    } else {
                      doDoor();
                      owner.teleport(347, 601, false);
                    }
                  } else {
                    doDoor();
                    owner.teleport(347, 600, false);
                  }
                  break;
                case 43: // Cooking Guild Door
                  if (object.getX() != 179
                      || object.getY() != 488) {
                    break;
                  }
                  if (owner.getY() >= 488) {
                    if (owner.getCurStat(7) < 32) {
                      owner.setBusy(true);
                      Npc chef = world.getNpc(133, 176,
                          181, 480, 487);
                      if (chef != null) {
                        owner.informOfNpcMessage(new ChatMessage(
                            chef,
                            "Hello only the top cooks are allowed in here",
                            owner));
                      }
                      world.getDelayedEventHandler().add(
                          new ShortEvent(owner) {
                            public void action() {
                              owner.setBusy(false);
                              owner.getActionSender()
                                  .sendMessage(
                                      "You need a cooking level of 32 to enter");
                            }
                          });
                    } else if (!owner.getInventory()
                        .wielding(192)) {
                      Npc chef = world.getNpc(133, 176,
                          181, 480, 487);
                      if (chef != null) {
                        owner.informOfNpcMessage(new ChatMessage(
                            chef,
                            "Where is your chef's hat?",
                            owner));
                      }
                    } else {
                      doDoor();
                      owner.teleport(179, 487, false);
                    }
                  } else {
                    doDoor();
                    owner.teleport(179, 488, false);
                  }
                  break;

                case 146: // Magic Guild Door
                  if (object.getX() != 599
                      || object.getY() != 757) {
                    break;
                  }
                  if (owner.getX() <= 598) {
                    if (owner.getCurStat(6) < 66) {
                      owner.setBusy(true);
                      Npc wizard = world.getNpc(513, 596,
                          597, 755, 758);
                      if (wizard != null) {
                        owner.informOfNpcMessage(new ChatMessage(
                            wizard,
                            "Hello only the top wizards are allowed in here",
                            owner));
                      }
                      world.getDelayedEventHandler().add(
                          new ShortEvent(owner) {
                            public void action() {
                              owner.setBusy(false);
                              owner.getActionSender()
                                  .sendMessage(
                                      "You need a magic level of 66 to enter");
                            }
                          });
                    } else {
                      doDoor();
                      owner.teleport(599, 757, false);
                    }
                  } else {
                    doDoor();
                    owner.teleport(598, 757, false);
                  }
                  break;
                case 74: // Heroes guild door
                  if (object.getX() != 372
                      || object.getY() != 441) {
                    return;
                  }
                  doDoor();
                  if (owner.getY() >= 441) {
                    owner.teleport(372, 440, false);
                  } else {
                    owner.teleport(372, 441, false);
                  }
                  break;
                case 22: // edge dungeon wall
                  if (object.getX() == 219
                      && object.getY() == 3282) {
                    owner.getActionSender().sendSound(
                        "secretdoor");
                    world.unregisterGameObject(object);
                    world.delayedSpawnObject(
                        object.getLoc(), 1000);
                    owner.getActionSender()
                        .sendMessage(
                            "You just went through a secret door");
                    if (owner.getX() <= 218) {
                      owner.teleport(219, 3282, false);
                    } else {
                      owner.teleport(218, 3282, false);
                    }
                  } else {
                    owner.getActionSender().sendMessage(
                        "Nothing interesting happens");
                  }
                  break;
                case 58: // Karamja -> cranador wall
                  if (object.getX() != 406
                      || object.getY() != 3518) {
                    return;
                  }
                  doDoor();
                  if (owner.getY() <= 3517) {
                    owner.teleport(406, 3518, false);
                  } else {
                    owner.teleport(406, 3517, false);
                  }
                  break;
                case 101: // Woodcutting guild secret
                  // exit
                  if (object.getX() != 540
                      || object.getY() != 445) {
                    return;
                  }
                  if (owner.getX() >= 540) {
                    owner.getActionSender().sendMessage(
                        "You push your way through");
                    owner.teleport(539, 445, false);
                  } else {
                    owner.getActionSender()
                        .sendMessage(
                            "You can't seem to get through");
                  }
                  break;
                case 38: // Black Knight Guard Door
                  if (object.getX() != 271
                      || object.getY() != 441) {
                    return;
                  }
                  if (owner.getX() <= 270) {
                    if (!owner.getInventory().wielding(7)
                        || !owner.getInventory()
                            .wielding(104)) {
                      owner.getActionSender()
                          .sendMessage(
                              "Only guards are allowed in there!");
                      return;
                    }
                    doDoor();
                    owner.teleport(271, 441, false);
                  } else {
                    doDoor();
                    owner.teleport(270, 441, false);
                  }
                  break;
                case 36: // Draynor mansion front door
                  if (object.getX() != 210
                      || object.getY() != 553) {
                    return;
                  }
                  if (owner.getY() >= 553) {
                    doDoor();
                    owner.teleport(210, 552, false);
                  } else {
                    owner.getActionSender().sendMessage(
                        "The door is locked shut");
                  }
                  break;
                case 37: // Draynor mansion back door
                  if (object.getX() != 199
                      || object.getY() != 551) {
                    return;
                  }
                  if (owner.getY() >= 551) {
                    doDoor();
                    owner.teleport(199, 550, false);
                  } else {
                    owner.getActionSender().sendMessage(
                        "The door is locked shut");
                  }
                  break;
                case 60: // Melzars made (coming out
                  // only)
                  if (owner.getX() > 337) {
                    doDoor();
                    owner.teleport(337, owner.getY(), false);
                  } else {
                    owner.getActionSender().sendMessage(
                        "The door is locked shut");
                  }
                  break;
                case 30: // Locked Doors
                  owner.getActionSender().sendMessage(
                      "The door is locked shut");
                  break;
                default:
                  ObjectAction.oam().trigger(
                      object.getID(),
                      new ObjectActionParam(owner,
                          object, click));
                  break;
                }
              }
            }

            private void doDoor() {
              owner.getActionSender().sendSound("opendoor");
              world.registerGameObject(new GameObject(object
                  .getLocation(), 11, object.getDirection(),
                  object.getType()));
              world.delayedSpawnObject(object.getLoc(), 1000);
            }

            private void replaceGameObject(int newID, boolean open) {
              if (open) {
                owner.getActionSender().sendMessage(
                    "The door swings open");
              } else {
                owner.getActionSender().sendMessage(
                    "The door creaks shut");
              }
              world.registerGameObject(new GameObject(object
                  .getLocation(), newID, object
                  .getDirection(), object.getType()));
              owner.getActionSender().sendSound(
                  open ? "opendoor" : "closedoor");
            }
          });
    } catch (Exception e) {
View Full Code Here

TOP

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

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.