/**
   * Handles npc option 1.
   *
   * @param player The player.
   * @param packet The packet.
   */
  private void handleOption1(final Player player, Packet packet) {
    final int id = packet.getShort() & 0xFFFF;
    if (id < 0 || id >= Constants.MAX_NPCS) {
      return;
    }
    if (player.getCombatState().isDead()) {
      return;
    }
    player.getActionQueue().clearRemovableActions();

    final NPC npc = (NPC) World.getWorld().getNPCs().get(id);

    player
        .getActionSender()
        .sendDebugPacket(
            packet.getOpcode(),
            "NpcOpt1",
            new Object[] {"ID: " + npc.getDefinition().getId(), "Index: " + id});
    if (npc != null) {
      player.setInteractingEntity(InteractionMode.TALK, npc);
      Action action =
          new Action(player, 0) {
            @Override
            public void execute() {
              if (player.getCombatState().isDead()) {
                stop();
                return;
              }
              if (npc.getDefinition().getInteractionMenu()[0].startsWith("Talk")) {
                if (npc.getDefinition().getId() == 905) {
                  DialogueManager.openDialogue(player, 222);
                } else if (npc.getDefinition().getId() == 198) {
                  DialogueManager.openDialogue(player, 258);
                } else if (npc.getDefinition().getId() == 1597) {
                  DialogueManager.openDialogue(player, 241);
                } else {
                }
                if (npc.getDefinition().getName().toLowerCase().contains("banker")) {
                  DialogueManager.openDialogue(player, 0);
                } else {
                  String scriptName = "talkTo" + npc.getDefinition().getId();
                  if (!ScriptManager.getScriptManager()
                      .invokeWithFailTest(scriptName, player, npc)) {
                    //		player.getActionSender().sendMessage(npc.getDefinedName() + " does not want
                    // to talk.");
                  }
                }
                npc.setInteractingEntity(InteractionMode.TALK, player);
              }
              stop();
            }

            @Override
            public AnimationPolicy getAnimationPolicy() {
              return AnimationPolicy.RESET_ALL;
            }

            @Override
            public CancelPolicy getCancelPolicy() {
              return CancelPolicy.ALWAYS;
            }

            @Override
            public StackPolicy getStackPolicy() {
              return StackPolicy.NEVER;
            }
          };
      int distance = 1;
      if (npc.getDefinition().getName().toLowerCase().contains("banker")
          || npc.getDefinition().getName().toLowerCase().contains("emily")
          || npc.getDefinition().getName().toLowerCase().contains("zambo")) {
        distance = 2;
      }
      player.addCoordinateAction(
          player.getWidth(),
          player.getHeight(),
          npc.getLocation(),
          npc.getWidth(),
          npc.getHeight(),
          distance,
          action);
    }
  }