P_UNIT_DECAY_MIN

NAME:
     P_UNIT_DECAY_MIN					                    "unit_decay_min"

DEFINIERT IN:
     /sys/unit.h

BESCHREIBUNG:
     Diese Prop bestimmt, wieviele Einheiten der Unitobjekten mindestens
     uebrig bleiben sollen. 
     Faellt die Menge eines Unitobjekts unter diesen Wert, zerfaellt diese
     Unit solange nicht weiter, bis der Wert wieder ueberschritten wird.
     Die Prop kann in der Blueprint und in den einzelnen Clones gesetzt
     werden.
     Ist die Prop in einem einzelnen Clone nicht explizit gesetzt,
     liefert ein QueryProp(P_UNIT_DECAY_MIN) den in der Blueprint
     eingestellten Wert zurueck und die Unit zerfaellt bis zu dieser
     Mindestmenge..
     D.h. man sollte diese Prop in der Blueprint setzen und in einzelnen
     Clones nur soweit diese abweichende Werte haben sollen.
     Es sind nur Werte zwischen 0 und 100 zulaessig. Auf diese Art laesst sich
     die minidestens uebrig bleibende Menge aller Clones durch Aendern einer
     Prop in der Blueprint aendern.

BEMERKUNGEN:
     * Setzt man diese Prop in einem Clone auf 0, wird der Wert aus er
       Blueprint zum Zerfall benutzt.
     * Will man fuer ein bestimmtes Unitobjekt kein Minimum haben, also dass
       dieses Objekt zerfaellt, bis nichts mehr da ist, die Blueprint hat aber
       einen Minimalwert gesetzt, sollte diese Prop im betreffenden Objekt auf
       -1 gesetzt werden.
     * Diese Prop sollte vorsichtig angewandt werden, da Spieler so den
       Zerfall von Units stoppen koennen, indem sie die Units entsprechend
       aufteilen, so dass jedes Einzelobjekt unter dem Minimum liegt.

BEISPIEL:
     // es soll min. 1 Einheit uebrig bleiben.
     SetProp(P_UNIT_DECAY_MIN, 1);

     // die Blueprint hat ein Minimum von 10 gesetzt, dieser Clone soll
     // aber zerfallen, bis nix mehr da ist.
     klon->SetProp(P_UNIT_DECAY_MIN, -1);

SIEHE AUCH:
     unit
     P_UNIT_DECAY_INTERVAL, P_UNIT_DECAY_FLAGS, P_UNIT_DECAY_QUOTA
     DoDecay, DoDecayMessage
     /std/unit.c

14.10.2007, Zesstra
