query_prevent_shadow(L)
FUNKTION:
     varargs int query_prevent_shadow(object shadower)

PARAMETER:
     object shadower	- da Objekt, das eine Beschattung beantragt

BESCHREIBUNG:
     Diese Methode kann in Objekten definiert werden, die nicht beschattet
     werden wollen oder anhand des Objektes shadower entscheiden wollen ob
     sie beschattet werden wollen.

     Gibt die Funktion 0 zurueck, wird ein Shadow auf das Objekt erlaubt,
     sonst schlaegt es fehl.

BEISPIEL:
     // generell keine Beschattung
     int query_prevent_shadow(object who) {
      return 1;
     }

     // Beschattung durch offizielle Objekte erlaubt
     int query_prevent_shadow(object who) {
      if(who && !strstr(object_name(who),"/std/player"))
       return 0;
      return 1;
     }

SIEHE AUCH:
     Rechte:	     query_allow_shadow(M)
     Generell:	     shadow(E), unshadow(E)
     Informationen:  query_shadowing(E)

20. Mai 2004 Gloinson