| P_X_ATTR_MOD |
| ************ |
| |
| |
| NAME |
| ==== |
| |
| P_X_ATTR_MOD "extern_attributes_modifier" |
| |
| |
| DEFINIERT IN |
| ============ |
| |
| /sys/living/attributes.h |
| |
| |
| BESCHREIBUNG |
| ============ |
| |
| Mapping, das die Attribute des Spielers veraendert, der das Objekt bei |
| sich hat. |
| |
| Zu beachten: |
| Diese Property bitte _ausschliesslich_ mit SetProp aendern, weil damit |
| gleichzeitig UpdateAttributes() im Lebewesen aufgerufen und ggf. das |
| Objekt als Statmodifizierer registriert wird. |
| |
| Diese Property ist fuer Krankheiten, Flueche etc. gedacht. Bei |
| Waffen/Ruestungen, die die Attribute beeinflussen sollen, verwendet |
| man besser P_M_ATTR_MOD. |
| |
| P_X_ATTR_MOD und P_M_ATTR_MOD duerfen einen gemeinsamen kumulierten |
| positiven Grenzwert nicht ueberschreiten. Dieser Grenzwert, |
| CUMULATIVE_ATTR_LIMIT, ist in /sys/living/attributes.h definiert. |
| |
| |
| BEMERKUNGEN |
| =========== |
| |
| Die Methode /std/thing/restrictions::_set_extern_attributes_modifier() |
| benachrichtigt tragende Livings ueber Aenderungen. |
| Bitte beim "Loeschen" der Prop nicht den Wert des jew. Attributes im |
| uebergebenen Mapping als 0 uebergeben, sondern das Key/Werte-Paar ganz |
| entfernen und bzw. ein leeres Mapping oder 0 uebergeben. |
| |
| |
| BEISPIEL |
| ======== |
| |
| // Dem Lebewesen, das das Objekt bei sich hat, wird 2 von A_INT abgezogen |
| SetProp(P_X_ATTR_MOD,([A_INT:-2])); |
| |
| // Stats wiederherstellen: |
| SetProp(P_X_ATTR_MOD,([])); |
| |
| |
| SIEHE AUCH |
| ========== |
| |
| QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(), |
| SetAttribute(), SetRealAttribute(), UpdateAttributes(), |
| SetTimedAttrModifier(), QueryTimedAttrModifier(), |
| DeleteTimedAttrModifier(), |
| P_X_HEALTH_MOD, P_M_HEALTH_MOD, P_ATTRIBUTES, P_ATTRIBUTES_OFFSETS, |
| P_TIMED_ATTR_MOD, P_M_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c |
| |
| 02.02.2016, Gloinson |