
CannotSee()
***********


FUNKTION
========

   varargs int CannotSee(int silent);


DEFINIERT IN
============

   /std/living/light.c


ARGUMENTE
=========

   silent - Wenn ungleich 0, wird an das Lebewesen keine Meldung
            ausgegeben, wenn es nichts sehen kann.


BESCHREIBUNG
============

   Diese Funktion prueft, ob das Lebewesen etwas sehen kann oder nicht.
   Hierbei werden sowohl das Lichtlevel mit saemtlichen Modifikatoren,
   als auch Nachtsicht und die Property P_BLIND beruecksichtigt.

   Wenn die Funktion ohne Argument aufgerufen wird, wird eine Meldung an
   das Lebewesen ausgegeben, falls es blind ist. Diese Meldung ist entweder
   der Inhalt von P_BLIND, sofern dort ein String eingetragen ist, oder
   aber die Standardmeldung "Du bist blind.".


RUeCKGABEWERT
=============

   0, wenn das Lebewesen etwas sehen kann
   1, wenn das Lebewesen wegen Blindheit nichts sehen kann
   2, wenn das Lebewesen wegen zu wenig Licht bzw. mangels Nachtsicht nichts
      sehen kann


SIEHE AUCH
==========

   P_BLIND, P_LIGHT_MODIFIER, P_PLAYER_LIGHT

Last modified: 2022-11-23 Arathorn
