Lpc Manpages

WearFunc()

FUNKTION:
     int WearFunc(int silent);

DEFINIERT IN:
     eigenen Objekten, fuer /std/armour/combat.c

ARGUMENTE:
     silent
        Gibt an, ob innerhalb der Funktion Meldungen an den Spieler oder
        den Raum ausgegeben werden sollen.

BESCHREIBUNG:
     Mit dieser Funktion kann man pruefen, ob sich die Ruestung ruest von
     this_player() anziehen laesst oder nicht. Ausserdem lassen sich hier
     bestimmte Aktionen ausloesen, die nur bei getragener Ruestung wirksam
     werden sollen.
     Werden innerhalb der Funktion Ausgaben an den Spieler oder den Raum
     gmacht muss silent geprueft werden.
     Die WearFunc wird mit der Propertie P_WEAR_FUNC eingetragen.

     Kann die Ruestung angezogen werden, so muss ein Wert ungleich 0
     zurueckgegeben werden.

RUECKGABEWERT:
     0, wenn sich die Ruestung nicht anziehen laesst, ansonsten ungleich 0.

BEMERKUNGEN:
     Bei Schilden kann das Anziehen trotz eines Rueckgabewertes != 0 immer
     noch schief gehen, wenn der Spieler keine Hand mehr frei hat. Bevor man
     also bei Schilden eine Sonderfunktion aktiviert, sollte man in der
     WearFunc() testen, ob der Spieler noch ueber eine freie Hand verfuegt.
     
DOKUMENTIERT:
     08.05.1996 von Wargon@MorgenGrauen
     26.08.1996 modifiziert von Mupfel

BEISPIELE:
     Ein Helm, der nur von Elfen getragen werden kann:

     inherit "std/armour.c";

     #include <properties.h>

     create()
     {
       ::create();

       SetProp(P_ARMOUR_TYPE, AT_HELMET);
       /* zig weitere SetProp's, um den Helm zu konfigurieren */

       /* WearFunc() ist im Helm selbst zu finden */
       SetProp(P_WEAR_FUNC, this_object());
     }

     int WearFunc(object me)
     {
       if (this_player()->QueryProp(P_RACE) == "Elf")
         return 1;   /* Elfen duerfen den Helm tragen */

       /* Die anderen Rassen sollten zumindest erfahren, wieso
          sie den Helm nicht tragen koennen... */
       write( "Der Helm rutscht Dir immer ueber Deine runden "
             +"Ohren.\n" );
       return 0;
     }

     Gibt jetzt ein Nicht-Elf "trage helm" ein, so bekommt er die Meldung
     "Der Helm rutscht Dir immer ueber Deine runden Ohren.", Elfen dagegen
     passt das Teil wie angegossen.

SIEHE AUCH:
     DoWear(), P_WEAR_FUNC, /std/armour/combat.c