NAME:
    P_SKILL_ATTRIBUTES        "skill_attr"

DEFINIERT IN:
    /sys/living/skill_attributes.h

BESCHREIBUNG:
    In dieser Prop stehen alle nicht-permanenten Modifikatoren der
    Skill-Attribute.
    Die Datenstruktur ist ein Mapping mit den SA-Namen als Schluessel und
    jeweils drei Werten pro Schluessel.
    Der erste Wert ist ein Array mit drei Werten: der Summe der stat.
    Modifier, dem Zeitpunkt an dem dies Summe ungueltig wird und der
    Gesamtzahl aktiver Modifikatoren.
    Der zweite Wert enthaelt ein Mapping mit allen statischen Modifikatoren
    und den Objekten dieser Mods als Schluessel. Die beiden Werte dieses
    Mappings sind der Wert des Modifikators (int) und die Ablaufzeit (int).
    Der dritte Wert enthaelt ein Mapping mit allen dynamischen
    Modifikatoren und den Objekten dieser Mods als Schluessel. Die beiden
    Werte dieses Mappings sind die zu rufende Closure (closure) und die
    Ablaufzeit des Mods (int).

    ([ SA_ATTR: ({Summe_Stat_Modifier, Zeitpunkt, AnzahlModifier, });
                ([ ob1:value;duration,
                   ob2:value;duration, ...]);  // stat. Modifier
                ([ ob1:closure;duration,
                   ob2:closure;duration, ...])     // dyn. Modifier
                ,
       SA_ATTR2: ({...}); ([]); ([]),
       SA_ATTR3: ({...}); ([]); ([]),
    ])

BEMERKUNGEN:
    Diese Property darf AUF GAR KEINEN FALL per Hand manipuliert werden,
    dafuer gibt es die Funktionen ModifySkillAttribute() und
    RemoveSkillAttributeModifier().
    Zum Auslesen stehen QuerySkillAttribute() und
    QuerySkillAttributeModifier() zur Verfuegung.

SIEHE AUCH:
    Skills Lernen:  LearnSkill, ModifySkill, LimitAbility
    * Nutzung:      UseSpell, UseSkill
    * Abfragen:     QuerySkill, QuerySkillAbility
    * Modifikation: ModifySkillAttribute, QuerySkillAttribute,
                    QuerySkillAttributeModifier, RemoveSkillAttributeModifier
      * Properties: P_SKILL_ATTRIBUTES, P_SKILL_ATTRIBUTE_OFFSETS
    * sonstig:      spruchermuedung, skill_info_liste
    * Properties:   P_NEWSKILLS

13.09.2008, Zesstra