RemoveSkillAttributeModifier()

FUNKTION

public int RemoveSkillAttributeModifier(object caster, string atrname)

DEFINIERT IN

/std/living/skill_attributes.c

ARGUMENTE

<atrname>   string
            Name des Skill-Attributes, von dem der Modifikator geloescht
            werden soll.
            (Definiert in /sys/living/skill_attributes.h)

<caster>    object
            Objekt, dessen Modifikator wieder entfernt werden soll.

BESCHREIBUNG

Entfernt den Modifikator, den Object <caster> gesetzt hat, wieder. Dies
ist nur notwendig, wenn der Effekt vor Ablauf der Gueltigkeit des
Modifikators aufgehoben werden soll.

RUECKGABEWERT

SA_MOD_REMOVED         wenn der Modifikator geloescht wurde
SA_MOD_NOT_FOUND       wenn der Modifikator nicht gefunden wurde
Wenn man nur wissen will, ob die Operation erfolgreich war, empfiehlt es
sich, auf == SA_MOD_REMOVED zu pruefen.

BEISPIELE

// eine Waffe setzt im InformWield() einen Bonus auf SA_DAMAGE fuer 10min
protected void InformWield(object pl, int silent) {
  if (objectp(pl)) {
    if (pl->ModifySkillAttribute(SA_DAMAGE, 20, 600) == SA_MOD_OK)
      // Erfolgsmeldung an Spieler
    else
      // Misserfolgsmeldung an Spieler.
  }
}

// wenn der Spieler die Waffe vor Ablauf der 600s wegstecken will, muss
// der Bonus natuerlich auch wieder raus
protected void InformUnwield(object pl, int silent) {
  if (objectp(pl))
    pl->RemoveSkillAttributeModifier(this_object(), SA_DAMAGE);
    // falls kein solcher Mod mehr gesetzt war, liefert RSAM()
    // SA_MOD_NOT_FOUND zurueck. Auswertung des Rueckgabewertes ist
    // vernachlaessigt.
}

SIEHE AUCH

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

13.08.2008, Zesstra