P_UNIT_DECAY_FLAGS

NAME:
     P_UNIT_DECAY_FLAGS					"unit_decay_flags"

DEFINIERT IN:
     /sys/unit.h

BESCHREIBUNG:
     Mit dieser Prop kann das Zerfallsverhalten gesteuert werden, entweder
     fuer alle Clones durch Setzen in der Blueprint oder fuer einzelne Clones.

     In dieser Prop koennen momentan 4 Flags gesetzt werden:
     - NO_DECAY: 
          Zerfall ist abgeschaltet.
     - NO_DECAY_UNTIL_MOVE: 
          Der Zerfall ist solange ausgesetzt, bis dieses Objekt in ein anderes
          Env bewegt wird. Setzt also ein NPC beim AddItem() diese Prop,
          zerfaellt seine Unit nicht, bis sie bewegt wurde (Leiche, Spieler
          etc.). Hierbei zaehlt das move() nicht, wenn das Objekt noch kein
          Env hatte, es zaehlen nur Moves von einem Env in ein anderes Env.
          Dieses Flag sollte nur in Clones gesetzt werden.
     - INACCURATE_DECAY
          Sollen z.b. 45.34 Einheiten zerfallen, wird der Rest von 0.34
          normalerweise als Wahrscheinlichkeit aufgefasst, dass eine
          zusaetzliche Einheit zerfaellt. Dieses Flag sorgt dafuer, dass
          dieser Rest weggeworfen wird und einfach 45 Einheiten zerfallen.
          Gleichzeitig wird bei diesem Flag aber _immer min_ 1 Einheit
          zerstoert!
     - ABSOLUTE_DECAY
          P_UNIT_DECAY_QUOTA wird nicht als prozentualer Anteil aufgefasst,
          sondern als absolute Zahl, d.h. es zerfallen immer einfach
          P_UNIT_DECAY_QUOTA Einheiten.

     Diese Flags koennen z.B. genutzt werden, den Zerfall fuer einzelne
     Objekte temporaer oder dauerhaft abzuschalten, auch wenn alle anderen
     Clones weiterzerfallen.

     Diese Prop kann in der Blueprint gesetzt werden. In diesem Fall wird
     allerdings NO_DECAY_UNTIL_MOVE ignoriert, weil die BP ja nie bewegt
     wuerde. NO_DECAY in der BP schaltet den Zerfallsprozess (temporaer) fuer
     alle Clones aus. Ist nie ein Zerfall gewuenscht, sollte in der Blueprint
     aber besser P_UNIT_DECAY_INTERVAL auf 0 gesetzt werden!

     Ist die Prop in einem einzelnen Clone nicht explizit gesetzt,
     liefert ein klon->QueryProp(P_UNIT_DECAY_FLAGS) den in der Blueprint
     eingestellten Wert zurueck.
     
BEMERKUNGEN:
     * Setzt man diese Prop in einem Clone auf 0, wird der Wert aus der
       Blueprint zurueckgeben. Hierbei wird allerdings ein NO_DECAY_UNTIL_MOVE
       ausgefiltert, da dies den Zerfall fuer alle Objekte dauerhaft stoppen
       wuerde, weil BPs nicht bewegt werden.
     * Die Flags koennen "verodert" werden:
       SetProp(P_UNIT_DECAY_FLAGS, NO_DECAY_UNTIL_MOVE | ABSOLUTE_DECAY);

BEISPIEL:
     // Dieser NPC hat tolle Pfeile, die sollen aber nicht zerfallen, solange
     // sie im Inventar des NPCs sind:
     AddItem("/d/tolleregion/tollermagier/obj/pfeile", REFRESH_NONE,
         ([ P_AMOUNT: 50+random(50),
            P_UNIT_DECAY_FLAGS: NO_DECAY_UNTIL_MOVE ]) );

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

14.10.2007, Zesstra
