blob: 4e661fbe96c656ee0c855e7e29d62e4c2acb6b49 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001RemoveSkillAttributeModifier()
Zesstra953f9972017-02-18 15:37:36 +01002******************************
MG Mud User88f12472016-06-24 23:31:02 +02003
MG Mud User88f12472016-06-24 23:31:02 +02004
Zesstra953f9972017-02-18 15:37:36 +01005FUNKTION
6========
MG Mud User88f12472016-06-24 23:31:02 +02007
Zesstra953f9972017-02-18 15:37:36 +01008 public int RemoveSkillAttributeModifier(object caster, string atrname)
MG Mud User88f12472016-06-24 23:31:02 +02009
MG Mud User88f12472016-06-24 23:31:02 +020010
Zesstra953f9972017-02-18 15:37:36 +010011DEFINIERT IN
12============
MG Mud User88f12472016-06-24 23:31:02 +020013
Zesstra953f9972017-02-18 15:37:36 +010014 /std/living/skill_attributes.c
MG Mud User88f12472016-06-24 23:31:02 +020015
Zesstra953f9972017-02-18 15:37:36 +010016
17ARGUMENTE
18=========
19
20 <atrname> string
21 Name des Skill-Attributes, von dem der Modifikator geloescht
22 werden soll.
23 (Definiert in /sys/living/skill_attributes.h)
24
25 <caster> object
26 Objekt, dessen Modifikator wieder entfernt werden soll.
27
28
29BESCHREIBUNG
30============
31
32 Entfernt den Modifikator, den Object <caster> gesetzt hat, wieder. Dies
33 ist nur notwendig, wenn der Effekt vor Ablauf der Gueltigkeit des
34 Modifikators aufgehoben werden soll.
35
36
37RUECKGABEWERT
38=============
39
40 SA_MOD_REMOVED wenn der Modifikator geloescht wurde
41 SA_MOD_NOT_FOUND wenn der Modifikator nicht gefunden wurde
42 Wenn man nur wissen will, ob die Operation erfolgreich war, empfiehlt es
43 sich, auf == SA_MOD_REMOVED zu pruefen.
44
45
46BEISPIELE
47=========
48
49 // eine Waffe setzt im InformWield() einen Bonus auf SA_DAMAGE fuer 10min
50 protected void InformWield(object pl, int silent) {
51 if (objectp(pl)) {
52 if (pl->ModifySkillAttribute(SA_DAMAGE, 20, 600) == SA_MOD_OK)
53 // Erfolgsmeldung an Spieler
54 else
55 // Misserfolgsmeldung an Spieler.
56 }
57 }
58
59 // wenn der Spieler die Waffe vor Ablauf der 600s wegstecken will, muss
60 // der Bonus natuerlich auch wieder raus
61 protected void InformUnwield(object pl, int silent) {
62 if (objectp(pl))
63 pl->RemoveSkillAttributeModifier(this_object(), SA_DAMAGE);
64 // falls kein solcher Mod mehr gesetzt war, liefert RSAM()
65 // SA_MOD_NOT_FOUND zurueck. Auswertung des Rueckgabewertes ist
66 // vernachlaessigt.
67 }
68
69
70SIEHE AUCH
71==========
72
73 Skills Lernen: LearnSkill, ModifySkill, LimitAbility
74 * Nutzung: UseSpell, UseSkill
75 * Abfragen: QuerySkill, QuerySkillAbility
76 * Modifikation: ModifySkillAttribute, QuerySkillAttribute,
77 QuerySkillAttributeModifier
78 * Properties: P_SKILL_ATTRIBUTES, P_SKILL_ATTRIBUTE_OFFSETS
79 * sonstig: spruchermuedung, skill_info_liste
80 * Properties: P_NEWSKILLS
MG Mud User88f12472016-06-24 23:31:02 +020081
8213.08.2008, Zesstra