P_DISABLE_ATTACK
================

NAME
----
::

    P_DISABLE_ATTACK              "disable_attack"              

DEFINIERT IN
------------
::

    /sys/properties.h

BESCHREIBUNG
------------
::

    Das Lebewesen kann nicht angreifen. Beim Setzen der Property ist es
    wichtig, SetProp() zu benutzen und die Anzahl der Kampfrunden anzugeben,
    die das Lebewesen paralysiert sein soll.

    Ein negativer Wert ist nicht gueltig. Bei mehr als 30 Kampfrunden wird
    die Paralyse auf 30 Kampfrunden gekappt.

    Fuer jede Paralyse bekommt ein Living eine ebenso lange Schutzzeit nach
    der Paralyse gewaehrt. Versucht man, vor Ablauf der Paralyse
    P_DISABLE_ATTACK hoeher zu setzen (oder setzt man innerhalb der folgenden
    Schutzzeit P_DISABLE_ATTACK auf > 0), wird DISABLE_TOO_EARLY von SetProp
    zurueck gegeben.
    Eine Reduktion von einem P_DISABLE_ATTACK ist moeglich, allerdings
    reduziert dies _nicht_ eine einmal gesetzte Schutzzeit.

    Einen Gegner,der nie paralysiert werden koennen soll, kann man einfach
    per 

    Set(P_DISABLE_ATTACK, function int () {return 0;}, F_SET_METHOD);

    erstellen, da bei diesem der Wert von P_DISABLE_ATTACK nicht mehr mit
    einem normalen SetProp()-Aufruf geaendert werden kann.

BEISPIELE
---------
::

    // Gegner 17 Runden lang paralysieren, ohne Ruecksicht auf fruehere P.
    // (in diesem Moment ist das Living bis time() + 4 * 17 vor laengerer
    //  oder erneuter Paralyse geschuetzt)
    en->SetProp(P_DISABLE_ATTACK, 17);
    // Der Gegner kann jetzt fuer 34 Kampfrunden nicht erneut paralysiert
    // werden.
    // Paralyse reduzieren auf 10 Kampfrunden
    en->SetProp(P_DISABLE_ATTACK, 10);
    // Die Schutzzeit ist immer noch bei 34 Kampfrunden, nicht bei 20.

SIEHE AUCH
----------
::

    P_NEXT_DISABLE_ATTACK

19.08.2014, Zesstra

