| 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 |