blob: 26a9f6c73377ee5a177927e42e44d66073debdd0 [file] [log] [blame]
Zesstra18626972017-01-31 10:38:27 +01001CheckSpellFatigue()
2===================
3
4FUNKTION
5--------
6::
7
8 public varargs int CheckSpellFatigue(string key)
9
10DEFINIERT IN
11------------
12::
13
14 /std/living/skills.c
15 /std/player/skills.c
16 /sys/living/skills.h
17
18ARGUMENTE
19---------
20::
21
22 string key : Eindeutiger Name des Spruches, einer Gruppe von Spruechen
23 oder 0 fuer die globale Spruchermuedung.
24
25BESCHREIBUNG
26------------
27::
28
29 Diese Funktion dient zum Pruefen von individuellen Spruchermuedungen
30 (Spellfatigue, Spruchsperren).
31 Hiermit lassen sich unabhaengige Ermuedungen/Sperren fuer einzelne
32 Sprueche oder Gruppen von Spruechen gestalten.
33
34 Wird <key> nicht angegeben oder ist 0, wird die globale Spruchsperre
35 geprueft (identisch zu der Property P_NEXT_SPELL_TIME), anderenfalls
36 die unter <key> gespeicherte Spruchermuedung.
37 Prueft man einen Eintrag ohne Angabe von <key> ist das Ergebnis dieser
38 Funktion identisch zur Abfrage von P_NEXT_SPELL_TIME.
39
40RUeCKGABEWERT
41-------------
42::
43
44 0 Spruchermuedung existiert nicht oder ist abgelaufen.
45
46 >0 Spruchermuedung ist noch nicht abgelaufen, Rueckgabewert ist die
47 Zeit, bei der dieser Eintrag ablaeuft. Der Spruch darf _nicht_
48 ausgefuehrt werden.
49
50BEISPIELE
51---------
52::
53
54 Ein Spell gehoert zu einer Gruppe von Spells mit dem Namen 'extrasuess'.
55 Er darf nur ausgefuehrt werden, wenn seit 5s kein anderer Spruch aus der
56 Gruppe ausgefuehrt wurde.
57 if (ob->CheckSpellFatigue("extrasuess") {
58 // alte Sperre noch nicht abgelaufen.
59 tell_object(ob, "Deine unendliche Schokotorte ist noch nicht wieder "
60 "nachgewachsen.\n");
61 return ... ;
62 }
63
64BEMERKUNGEN
65-----------
66::
67
68 Die genauen Zeitdauern koennen von Spielern beeinflusst werden, sie
69 unterliegen der jeweiligen Einstellung von 'spruchermuedung', d.h. koennen
70 auf volle 2s aufgerundet werden.
71 Auch wenn diese Funktion zum Verwalten von beliebigen Zeitsperren genutzt
72 werden koennen, beschraenkt euch bitte auf Spruchermuedungen und benutzt
73 ansonsten check_and_update_timed_key(). Falls ihr diesbzgl. weitere/andere
74 Wuensche habt, sprecht den/die Mudlib-EM an.
75
76SIEHE AUCH
77----------
78::
79
80 SetSpellFatigue(L), DeleteSpellFatigue(L)
81 P_NEXT_SPELL_TIME
82 spruchermuedung
83
84
8527.03.2010, Zesstra
86