foundationI_fluffos_v1/
foundationI_fluffos_v1/bin/
foundationI_fluffos_v1/fluffos-2.9-ds2.12/
foundationI_fluffos_v1/fluffos-2.9-ds2.12/ChangeLog.old/
foundationI_fluffos_v1/fluffos-2.9-ds2.12/Win32/
foundationI_fluffos_v1/fluffos-2.9-ds2.12/compat/
foundationI_fluffos_v1/fluffos-2.9-ds2.12/compat/simuls/
foundationI_fluffos_v1/fluffos-2.9-ds2.12/include/
foundationI_fluffos_v1/fluffos-2.9-ds2.12/testsuite/
foundationI_fluffos_v1/fluffos-2.9-ds2.12/testsuite/clone/
foundationI_fluffos_v1/fluffos-2.9-ds2.12/testsuite/command/
foundationI_fluffos_v1/fluffos-2.9-ds2.12/testsuite/data/
foundationI_fluffos_v1/fluffos-2.9-ds2.12/testsuite/etc/
foundationI_fluffos_v1/fluffos-2.9-ds2.12/testsuite/include/
foundationI_fluffos_v1/fluffos-2.9-ds2.12/testsuite/inherit/
foundationI_fluffos_v1/fluffos-2.9-ds2.12/testsuite/inherit/master/
foundationI_fluffos_v1/fluffos-2.9-ds2.12/testsuite/log/
foundationI_fluffos_v1/fluffos-2.9-ds2.12/testsuite/single/
foundationI_fluffos_v1/fluffos-2.9-ds2.12/testsuite/single/tests/compiler/
foundationI_fluffos_v1/fluffos-2.9-ds2.12/testsuite/single/tests/efuns/
foundationI_fluffos_v1/fluffos-2.9-ds2.12/testsuite/single/tests/operators/
foundationI_fluffos_v1/fluffos-2.9-ds2.12/testsuite/u/
foundationI_fluffos_v1/fluffos-2.9-ds2.12/tmp/
foundationI_fluffos_v1/fluffos-2.9-ds2.12/windows/
foundationI_fluffos_v1/lib/
foundationI_fluffos_v1/lib/cmds/ambassador/
foundationI_fluffos_v1/lib/cmds/database/
foundationI_fluffos_v1/lib/cmds/soul/
foundationI_fluffos_v1/lib/daemon/include/
foundationI_fluffos_v1/lib/daemon/save/
foundationI_fluffos_v1/lib/daemon/services/
foundationI_fluffos_v1/lib/daemon/soul/
foundationI_fluffos_v1/lib/doc/build/
foundationI_fluffos_v1/lib/doc/build/room/
foundationI_fluffos_v1/lib/doc/build/virtual/
foundationI_fluffos_v1/lib/doc/driver/
foundationI_fluffos_v1/lib/doc/efun/
foundationI_fluffos_v1/lib/doc/etc/
foundationI_fluffos_v1/lib/doc/help/creator/
foundationI_fluffos_v1/lib/doc/help/hm/
foundationI_fluffos_v1/lib/doc/help/user/
foundationI_fluffos_v1/lib/doc/lpc/basic/
foundationI_fluffos_v1/lib/doc/lpc/data_types/
foundationI_fluffos_v1/lib/doc/lpc/etc/
foundationI_fluffos_v1/lib/doc/lpc/intermediate/
foundationI_fluffos_v1/lib/doc/lpc/types/
foundationI_fluffos_v1/lib/doc/mudlib/
foundationI_fluffos_v1/lib/doc/mudlib/features/
foundationI_fluffos_v1/lib/domains/Examples/etc/
foundationI_fluffos_v1/lib/domains/Examples/room/
foundationI_fluffos_v1/lib/domains/Examples/virtual/
foundationI_fluffos_v1/lib/domains/Examples/virtual/exaA/
foundationI_fluffos_v1/lib/domains/Examples/virtual/exaB/
foundationI_fluffos_v1/lib/domains/Examples/weapon/
foundationI_fluffos_v1/lib/domains/Standard/
foundationI_fluffos_v1/lib/domains/Standard/pools/
foundationI_fluffos_v1/lib/domains/Standard/std/
foundationI_fluffos_v1/lib/domains/Standard/xtra/
foundationI_fluffos_v1/lib/include/
foundationI_fluffos_v1/lib/news/
foundationI_fluffos_v1/lib/secure/cfg/
foundationI_fluffos_v1/lib/secure/cmds/adm/
foundationI_fluffos_v1/lib/secure/cmds/ambassador/
foundationI_fluffos_v1/lib/secure/cmds/mortal/
foundationI_fluffos_v1/lib/secure/etc/
foundationI_fluffos_v1/lib/secure/etc/approval/
foundationI_fluffos_v1/lib/secure/etc/elections/
foundationI_fluffos_v1/lib/secure/etc/mudlib/
foundationI_fluffos_v1/lib/secure/etc/quests/
foundationI_fluffos_v1/lib/secure/save/daemon/
foundationI_fluffos_v1/lib/secure/save/postal/d/descartes/
foundationI_fluffos_v1/lib/secure/save/users/d/
foundationI_fluffos_v1/lib/secure/std/
foundationI_fluffos_v1/lib/std/obj/
foundationI_fluffos_v1/lib/std/room/
foundationI_fluffos_v1/lib/std/user/
foundationI_fluffos_v1/lib/std/virtual/
foundationI_fluffos_v1/old/
foundationI_fluffos_v1/win32/
/*      
 *      /bin/user/_look.c
 *      from the Nightmare mudlib
 *      the command to look at stuff so that you might see!
 *      written by Descartes of Borg 16 january 1993
 *      based on the _look.c from the TMI mudlib
 *      modified by Bohemund 16 march 1994
 *        - some fixes for the sky
 */

#include <daemons.h>
#include <std.h>

inherit DAEMON;
 
int examine_object(string str);
void look_msg(object ob, string str);
 
int cmd_look(string str) {
  string tmp;
  
  if(stringp(str)) {
    if(sscanf(str, "in %s", tmp) == 1 || sscanf(str, "at %s", tmp) == 1)
      return examine_object(tmp);
    else return examine_object(str);
  }
  if(!((int)this_player()->query_invis()))
    say(this_player()->query_cap_name()+" looks at "+
	possessive(this_player())+" surroundings.");
  this_player()->describe_current_room(1);
  return 1;
}
 
int examine_object(string str) {
  object ob;
  object *obs, ob_list;
  int i;
 
  if(!str) return 0;
  ob = environment(this_player());
  if(effective_light(this_player()) < 1 && str != "sky") {
    write("It is too dark.");
    return 1;
  }
  if(total_light(this_player()) < 1) write("It is dark.");
  if(ob->id(str)) {
    look_msg(ob, str);
    write((string)ob->query_long(str));
    return 1;
  }
  ob = present(str, ob);
  if(ob) {
    look_msg(ob, str);
    write((string)ob->query_long(str));
    return 1;
  }
  ob = present(str, this_player());
  if(ob) {
    look_msg(ob, str);
    write((string)ob->query_long(str));
    return 1;
  }
  write("You do not notice that here.");
  return 1;
}
 
void look_msg(object ob, string str) {
  if((int)this_player()->query_invis()) return;
  if( ob != this_player() )
    if(living(ob)) {
      say(this_player()->query_cap_name()+" looks over "+
	  ob->query_cap_name()+"", ob);
      tell_object(ob, this_player()->query_cap_name() + " looks you over.");
    }
    else say(this_player()->query_cap_name()+" looks over the "+str+".");
}
 
void help() {
  write("Command: look\nSyntax: look [at object]\n"
        "If no object is specified this command makes you look "
        "around the room.  If an object is specified it lets you "
        "examine the object more closely.\n"
        "See also: describe, lines, ansi, autowrap, brief\n");
}