P_SKILL_ATTRIBUTES
******************


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
