Lpc Manpages

P_TMP_DEFEND_HOOK

NAME:
    P_TMP_DEFEND_HOOK              "defend_hook"

DEFINIERT IN:
    /sys/new_skills.h

BESCHREIBUNG:
    Mindestens 3-elementiges Array ({zeitpunkt, objekt, funktion, ...}).
    Die Funktion wird im 'objekt' mit den gleichen Parametern wie 'Defend'
    zu Beginn von 'Defend' (des Lebewesens) aufgerufen, wenn der 'zeitpunkt'
    noch nicht ueberschritten ist. Wenn die Funktion 0 zurueckgibt, wird
    'Defend' abgebrochen, ansonsten wird als Rueckgabe ein 3-elementiges
    Array ({schaden, schadenstypen, spell}) erwartet, die anstelle der
    'Defend' uebergebenen Werte verwendet werden. Ueber optionale Array-
    elemente koennen der Funktion weitere Parameter uebergeben werden.
    Diese Parameter muss sich die Funktion allerdings selbst aus dem Array
    herausholen.

DOKUMENTIERT:
    14.07.1996 von Mupfel
    05.02.2005 geaendert von Mupfel

BEISPIEL:
    In einem Spellbook wird ein Defend-Hook gesetzt. Der Hook-Funktion
    wird zusaetzlich noch ein Parameter uebergeben (in diesem Falle
    ein int).

    SetProp(P_TMP_DEFEND_HOOK, ({ time()+60,
                                  this_object(),
                                  "hook_func",
                                  zusatz_parameter })

    mixed hook_func(int dam, mixed dam_type, mixed spell, object enemy)
    {
      mixed res;
      object pl;
      int parm;

      if (!pl=previous_object() || !living(pl))
        return 0;

      if (!res=pl->QueryProp(P_TMP_DEFEND_HOOK))
        return 0;

      if (sizeof(res)<4) || !intp(parm=res[3]))
        return 0;

      // Mach was.... "parm" ist der optionale Parameter
      ...

      return ({dam, dam_type, spell});
    }

SIEHE AUCH:
    P_TMP_ATTACK_HOOK, P_TMP_ATTACK_MOD