diff -u5 stock/character.cpp mod/character.cpp
--- stock/character.cpp	2012-06-11 21:11:18.000000000 -0500
+++ mod/character.cpp	2014-04-27 00:21:32.000000000 -0500
@@ -2244,21 +2244,29 @@
   }
 
   /*
    * Output the formatted list.
    */
-  for (iShow = 0; iShow < nShow; iShow++) {
-    if (is_npc () || IS_SET (actflags, PLR_COMBINE)) {
-      if (prgnShow[iShow] != 1) {
+  if ((g_world->hour() == 5
+    || g_world->hour() == 19)
+    && (!IS_SET (in_room->room_flags, ROOM_DARK))
+    && in_room->light < 1) {
+    for (iShow = 0; iShow < nShow; iShow++)
+    send_to_char ("Something is here.\r\n");
+    } else {
+    for (iShow = 0; iShow < nShow; iShow++) {
+      if (is_npc () || IS_SET (actflags, PLR_COMBINE)) {
+        if (prgnShow[iShow] != 1) {
         snprintf (buf, sizeof buf, "(%2d) ", prgnShow[iShow]);
         send_to_char (buf);
-      } else {
+        } else {
         send_to_char ("     ");
+        }
       }
+      send_to_char (prgpstrShow[iShow]);
+      send_to_char ("\r\n");
     }
-    send_to_char (prgpstrShow[iShow]);
-    send_to_char ("\r\n");
   }
 
   if (fShowNothing && nShow == 0) {
     if (is_npc () || IS_SET (actflags, PLR_COMBINE))
       send_to_char ("     ");
@@ -2430,15 +2438,21 @@
 
   for (rch = list.begin(); rch != list.end(); rch++) {
     if (*rch == this)
       continue;
 
-    if (can_see(*rch)) {
-      show_char_to_char_0 (*rch);
-    } else if (in_room->is_dark()
+    if (in_room->is_dark()
       && (*rch)->is_affected (AFF_INFRARED)) {
       send_to_char ("You see glowing red eyes watching YOU!\r\n");
+    } else if ((g_world->hour() == 5
+              || g_world->hour() == 19)
+              && (!IS_SET (in_room->room_flags, ROOM_DARK))
+              && in_room->light == 0) {
+                send_to_char ("Someone is here.\r\n");
+    }
+      else if (can_see(*rch)) {
+      show_char_to_char_0 (*rch);
     }
   }
 
   return;
 }
diff -u5 stock/commands.cpp mod/commands.cpp
--- stock/commands.cpp	2011-06-11 01:12:58.000000000 -0500
+++ mod/commands.cpp	2014-04-27 00:37:10.000000000 -0500
@@ -1409,19 +1409,31 @@
   argument = one_argument (argument, arg1);
   argument = one_argument (argument, arg2);
 
   if (arg1.empty() || !str_cmp (arg1, "auto")) {
     /* 'look' or 'look auto' */
+    // dusk or just before dawn
+    if ((g_world->hour() == 5
+      || g_world->hour() == 19)
+      && (!IS_SET (in_room->room_flags, ROOM_DARK))
+      && in_room->light < 1) {
+      send_to_char (
+        (number_range (0, 1) == 0) ?
+        "It's barely light enough to see anything.\r\n"
+        : "It's too dark to see exactly what's here.\r\n"
+      );
+    // normal light
+    } else {
     send_to_char (in_room->name);
     send_to_char ("\r\n");
 
     if (!is_npc () && IS_SET (actflags, PLR_AUTOEXIT))
       do_exits ("auto");
 
-    if (arg1.empty() || (!is_npc () && !IS_SET (actflags, PLR_BRIEF)))
-      send_to_char (in_room->description);
-
+    else if (!is_npc () && !IS_SET (actflags, PLR_BRIEF))
+    send_to_char (in_room->description);  
+    }
     show_list_to_char (in_room->contents, false, false);
     show_char_to_char (in_room->people);
     return;
   }