Lpc Manpages

NAME:
    P_DIS_FUNC                     "dis_func"          

DEFINIERT IN:
    /sys/disease.h

BESCHREIBUNG:
    Beliebige Funktion oder Closure, die zusammen mit dem call_out aufgerufen
    wird, der die Heilung der Krankheit steuert.
    Der Defaultwert ist 0.

BEISPIELE:
    Der Spieler soll mit 30% Wahrscheinlichkeit seine Waffe fallenlassen.

    inherit "/std/disease";

    #include <combat.h>       // Fuer DoUnwield
    #include <disease.h>
    #include <moving.h>       // Fuer M_PUT und M_SILENT
    #include <properties.h>

             void             func();

    void create()
    {
      if (!is_clone(this_object())) return;
      ::create();
      ...
      SetProp(P_DIS_FUNC, #'func);
      ...
    }

    void func()
    {
      object  ob, pl;
      
      pl = environment();

      if (objectp(pl) && interactive(pl))
      {
        ob = pl->QueryProp(P_WEAPON);
        
        if (random(100) > 69)
        {
          if (objectp(ob) && (ob->DoUnwield(1) == 1) &&
              (ob->move(environment(pl), M_PUT | M_SILENT) == 1))
          {
            tell_object(pl,
              "Du fuehlst Dich ploetzlich ganz schwach und zittrig.\nVor "
              "lauter Schwaeche laesst Du " + ob->name(WEN, 1) + 
              " fallen.\n");
            tell_room(break_string(environment(pl), pl->Name(WER, 1) +
              " faengt ploetzlich furchtbar an zu zittern und laesst " +
              ob->name(WEN, 1) + " fallen.", 78), ({pl}) );
          }
        }
      }
    }

DOKUMENTIERT:
    23.03.2003 von Rhyan

SIEHE AUCH:
    /std/disease.c, disease, P_DIS_CONTAGION, P_DIS_CURABLE, P_DIS_DAMAGE,
    P_DIS_END_MSG, P_DIS_IMMUNITY, P_DIS_INCUBATION, P_DIS_LETHAL, 
    P_DIS_LEVEL, P_DIS_LOOK, P_DIS_MSG, P_DIS_START_MSG, P_DIS_TIME