blob: a43c90e0d438d0f042ccb30b5cac6726b9dc4781 [file] [log] [blame]
Zesstra18626972017-01-31 10:38:27 +01001FindPotion()
2============
3
4FUNKTION
5--------
6::
7
8 varargs int FindPotion(string s);
9
10DEFINIERT IN
11------------
12::
13
14 /std/player/potion.c
15
16ARGUMENTE
17---------
18::
19
20 string s
21 Ausgabetext. Wenn 0/Leerstring, wird Default verwendet.
22
23BESCHREIBUNG
24------------
25::
26
27 Diese Funktion gibt einem aufrufenden Spieler eventuell diesen ZT.
28
Zesstra18626972017-01-31 10:38:27 +010029 Das aufrufende Spielerobjekt muss dafuer:
30 * diesen ZT im Potionmaster in seiner Liste eingetragen haben
31 * diesen ZT in der Liste der bekannten Traenke haben (durch
32 Orakel also fuer ihn auch freigeschaltet)
33 * darf keine Playerkills haben (P_KILLS)
34 * darf nicht im Editiermodus sein
35 * darf kein Geist sein (Ausnahme: Geisterschloss)
36
37 Wenn alle Kriterien erfolgreich erfuellt sind, wird 's' oder
38 "Du findest einen Zaubertrank, den Du sofort trinkst." ausgegeben
39 und dem Spieler ggf die Wahl der Attribute gegeben.
40
41RUeCKGABEWERT
42-------------
43::
44
45 0 bei Nichtvergabe, 1 bei erfolgreicher Vergabe.
46
47BEISPIELE
48---------
49::
50
51 string detail_papiere() {
52 if (this_player()->FindPotion(
53 break_string("Beim Rumwuehlen in den Papieren entdeckst Du einen "
54 "kleinen Zaubertrank, den Du sofort trinkst.", 78)))
55 return "";
56 // Es muss ein String zurueckgegeben werden, da man sonst
57 // die Fehlermeldung "Sowas siehst du hier nicht." bekommt
58 else
59 return "Die Papiere sind alle unbeschriftet.\n";
60 }
61
Arathornee7ec862020-12-01 23:57:24 +010062HINWEISE
63--------
64::
65
66 Zaubertraenke duerfen nicht in Raeumen eingetragen werden, die in der
67 Parawelt liegen oder nur ueber Paraweltraeume zugaenglich sind.
68
69 Der Auswahldialog fuer die Attribute wird an this_interactive()
70 ausgegeben, d.h. das Kommando, das zum Aufruf von FindPotion() fuehrt,
71 muss von dem Spielerobjekt eingegeben werden, an dem FindPotion()
72 gerufen wird. Das bedeutet konkreter: Bei einem ZT, bei dem ein zweiter
73 Spieler ein Kommando eingibt, damit ein anderer Spieler einen ZT findet,
74 funktioniert nicht.
75
76
Zesstra18626972017-01-31 10:38:27 +010077SIEHE AUCH
78----------
79::
80
81 Sonstiges: zaubertraenke, /secure/potionmaster.c, /room/orakel.c
82 Verwandt: AddKnownPotion(), RemoveKnownPotion(), InList()
83 Props: P_POTIONROOMS, P_KNOWN_POTIONROOMS
84 Befehl: traenke (fuer Magier zum Einschalten des Findens von ZTs)
85
Arathornee7ec862020-12-01 23:57:24 +01008619 Nov 2020 Arathorn
Zesstra18626972017-01-31 10:38:27 +010087