FUNKTION:
varargs int QueryLight(int emitting)
IMPLEMENTIERT:
/std/thing/light.c
/std/room/description.c
ARGUMENTE:
emitting (optional): Welche Lichtsorte wollen wir?
BESCHREIBUNG:
Diese Funktion liefert zurueck welcher Beleuchtungszustand
an oder in einem Objekt herrscht.
Wenn 'emitting' nicht gesetzt ist, so wird zurueckgegeben,
welche Lichtstufe 'innerhalb' des Objektes herrscht. Also zB
wie hell es in einem Raum ist. Dies ist die gebraeuchlichste
Variante.
Ist 'emitting' jedoch gesetzt, so wird zurueckgegeben, wieviel
Licht von diesem Objekt und seinem Inhalt ausgeht.
In Raeumen wird hier automatisch beruecksichtigt ob der Raum
in einem Gebaeude ist oder draussen und ob dort Nacht oder
Tag herrscht. Bei nicht in Gebaeuden liegenden Raeumen (P_INDOORS
ist also nicht gesetzt) wird nachts 1 vom Lichtlevel abgezogen.
RÜCKGABEWERT:
Der 'Lichtwert', siehe dazu auch P_LIGHT.
BEMERKUNG:
Die Efun set_light() ist komplett ohne Belang fuer das
Wunderland. Saemtliche Lichtverwaltung wird libintern erledigt.
Der eigentliche Prototyp der Funktion ist
varargs int QueryLight(int emitting, object *exclude).
Das exclude ist jedoch nicht libextern zu benutzen!
BEISPIEL:
if (this_player()->QueryLight() > 0) write("Es ist hell!\n");
else write("Es ist dunkel!\n");
SIEHE AUCH:
P_LIGHT, P_TRANSPARENT, set_light(E)
P_SEE_LIGHT, P_INDOORS, uhr(WL)
|