Start Info Community Spielen
 
 

Morgengrauner Dokumentation

Dateipfad: /home/mud/mudlib/doc/lfun/CheckLightType

CheckLightType()
****************


FUNKTION
========

   varargs int CheckLightType(int lighttype, int mode);


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

   /std/thing/description.c


ARGUMENTE
=========

   lighttype
     Auf diesen Lichttyp wird getestet.
   mode
     Die Methode, nach der der Lichttyp ueberprueft wird.


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

   Die Funktion prueft, ob der uebergebene lighttype mit dem in
   P_LIGHT_TYPE definierten Lichttyp uebereinstimmt.

   Dabei kann in verschiedenen Modi getestet werden:

   LT_CHECK_ANY
     Es wird geprueft, ob mindestens einer der in lighttype ueber
     gebenen Lichttypen im Objekt vorhanden ist. Dies ist das
     Standardverhalten (default) der Funktion.

   LT_CHECK_ALL
     Es wird geprueft, ob alle in lighttype definierten Lichttypen
     vorhanden sind. Es koennen aber auch mehr Lichttypen definiert
     sein.

   LT_CHECK_MATCH
     Es wird geprueft, ob genau die in lighttype definierten Licht-
     tyen definiert sind, sind mehr oder weniger vorhanden, gibt die
     Funktion 0 zurueck.

   LT_CHECK_NONE
     Es wird geprueft, ob keiner der uebergebenen Lichttypen vorhanden
     sind. Ob sonst noch andere Lichttypen vorhanden sind, ist dabei
     egal.


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

   0 wenn die geprueften Bedingungen nicht korrekt sind, sonst
   ein Wert ungleich 0.


BEISPIELE
=========

   In einem Raum scheint die Sonne, ausserdem gibt es dort ein Lager-
   feuer und ein Objekt mit magischem Gluehen (meine Phantasie streikt
   grad):

   raum->SetProp( P_LIGHT_TYPE, LT_SUN|LT_OPEN_FIRE|LT_GLOWING );

   Es soll getestet werden, ob an in dem Raum Tageslicht herrscht:

   raum->CheckLightType(LT_DAYLIGHT, LT_CHECK_ANY);
   raum->CheckLightType(LT_DAYLIGHT); // gleichwertig

   Die Funktion ergibt wahr, da LT_DAYLIGHT unter anderem LT_SUN ent-
   haelt (vgl man P_LIGHT_TYPES).

   Es soll getestet werden, dass weder Mond noch Sterne im Raum sind:

   raum->CheckLightType(LT_MOON|LT_STARS, LT_CHECK_NONE);

   Die Funktion ergibt wahr, da die beiden nicht gesetzt sind.

   Es soll geprueft werden, ob Mond und Sterne im Raum leuchten:

   raum->CheckLightType(LT_MOON|LT_STARS, LT_CHECK_ALL);

   Die Funktion ergibt falsch, da keins der beiden Lichter vorhanden
   ist. Sie ergaebe aber auch falsch, wenn einer der beiden Typen
   vorhanden waer. Nur wenn beide vorhanden sind, gibt LT_CHECK_ALL
   wahr.


BEMERKUNG
=========

   Lighttypes haben nichts mit dem Lichtsystem zu tun. Sie dienen
   nur der Beschreibung der Lichtverhaeltnisse an/in einem Objekt.
   Objekte mit verschiedenen Lichtverhaeltnissen beeinflussen sich
   gegenseitig nicht.


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


/std/thing/description.c, /std/thing/lighttypes.h, P_LIGHT_TYPE

Last modified: Fri Jun 11 20:47:33 2004 by Vanion


zurück zur Übersicht

YOUTUBE | FACEBOOK | TWITTER | DISCORD | FEEDBACK | IMPRESSUM | DATENSCHUTZ 1992–2023 © MorgenGrauen.