Lpc Manpages

RemoveFunc()

FUNKTION:
     int RemoveFunc(int silent);

DEFINIERT IN:
     eigenen Objekten, fuer /std/armour/combat.c
     
ARGUMENTE:
     silent
        Gibt an, ob innerhalb der Funktion ausgaben an den Spieler oder
        den Raum gemacht werden duerfen.

BESCHREIBUNG:
     Wenn das Ausziehen der Ruestung mit besonderen Aktionen verbunden sein
     soll, kann man diese in der RemoveFunc() realisieren.
     Werden innerhalb der Funktion Ausgaben an den Raum oder Spieler
     gemacht muss silent geprueft werden.
     Die RemoveFunc wird in der Ruestung mit SetRemoveFunc eingetragen.

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

BEMERKUNGEN:
     Verfluchte Ruestungen, die sich erst nach Entfernung des Fluches wieder
     ausziehen lassen, sollte man besser mit P_CURSED realisieren (man spart
     die RemoveFunc() ein).
     
DOKUMENTIERT:
     08.05.1996 von Wargon@MorgenGrauen
     09.08.1996 modifiziert von Mupfel

BEISPIELE:
     Ein Umhang, den man nur mit guter Einstellung wieder ausziehen kann:

     inherit "std/armour.c";

     #include <properties.h>

     create()
     {
       ::create();

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

       /* RemoveFunc() ist im Umhang selbst zu finden */
       SetRemoveFunc(this_object());
     }

     int RemoveFunc(object me)
     {
       if (this_player()->QueryProp(P_ALIGN) >= 0)
         return 1;   /* gute Charaktere koennen den Umhang ausziehen */

       /* Ansonsten geben wir einen entsprechenden Hinweis aus: */
       write( "Der Umhang wird von Deiner Bosheit so sehr "
             +"angezogen, dass Du ihn\nnicht mehr ausziehen kannst!\n");
       return 0;
     }

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