blob: 41647dab4eab19ee33e2d9ab91152de79a27bee3 [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001
MG Mud User88f12472016-06-24 23:31:02 +02002FindPotion()
Zesstra953f9972017-02-18 15:37:36 +01003************
MG Mud User88f12472016-06-24 23:31:02 +02004
MG Mud User88f12472016-06-24 23:31:02 +02005
Zesstra953f9972017-02-18 15:37:36 +01006FUNKTION
7========
MG Mud User88f12472016-06-24 23:31:02 +02008
Zesstra953f9972017-02-18 15:37:36 +01009 varargs int FindPotion(string s);
MG Mud User88f12472016-06-24 23:31:02 +020010
MG Mud User88f12472016-06-24 23:31:02 +020011
Zesstra953f9972017-02-18 15:37:36 +010012DEFINIERT IN
13============
MG Mud User88f12472016-06-24 23:31:02 +020014
Zesstra953f9972017-02-18 15:37:36 +010015 /std/player/potion.c
MG Mud User88f12472016-06-24 23:31:02 +020016
MG Mud User88f12472016-06-24 23:31:02 +020017
Zesstra953f9972017-02-18 15:37:36 +010018ARGUMENTE
19=========
20
21 string s
22 Ausgabetext. Wenn 0/Leerstring, wird Default verwendet.
23
24
25BESCHREIBUNG
26============
27
28 Diese Funktion gibt einem aufrufenden Spieler eventuell diesen ZT.
29
Zesstra953f9972017-02-18 15:37:36 +010030 Das aufrufende Spielerobjekt muss dafuer:
31 * diesen ZT im Potionmaster in seiner Liste eingetragen haben
32 * diesen ZT in der Liste der bekannten Traenke haben (durch
33 Orakel also fuer ihn auch freigeschaltet)
34 * darf keine Playerkills haben (P_KILLS)
35 * darf nicht im Editiermodus sein
36 * darf kein Geist sein (Ausnahme: Geisterschloss)
37
38 Wenn alle Kriterien erfolgreich erfuellt sind, wird 's' oder
39 "Du findest einen Zaubertrank, den Du sofort trinkst." ausgegeben
40 und dem Spieler ggf die Wahl der Attribute gegeben.
41
42
43RUeCKGABEWERT
44=============
45
46 0 bei Nichtvergabe, 1 bei erfolgreicher Vergabe.
47
48
49BEISPIELE
50=========
51
52 string detail_papiere() {
53 if (this_player()->FindPotion(
54 break_string("Beim Rumwuehlen in den Papieren entdeckst Du einen "
55 "kleinen Zaubertrank, den Du sofort trinkst.", 78)))
56 return "";
57 // Es muss ein String zurueckgegeben werden, da man sonst
58 // die Fehlermeldung "Sowas siehst du hier nicht." bekommt
59 else
60 return "Die Papiere sind alle unbeschriftet.\n";
61 }
62
63
Arathornee7ec862020-12-01 23:57:24 +010064HINWEISE
65========
66
67 Zaubertraenke duerfen nicht in Raeumen eingetragen werden, die in der
68 Parawelt liegen oder nur ueber Paraweltraeume zugaenglich sind.
69
70 Der Auswahldialog fuer die Attribute wird an this_interactive()
71 ausgegeben, d.h. das Kommando, das zum Aufruf von FindPotion() fuehrt,
72 muss von dem Spielerobjekt eingegeben werden, an dem FindPotion()
73 gerufen wird. Das bedeutet konkreter: Bei einem ZT, bei dem ein zweiter
74 Spieler ein Kommando eingibt, damit ein anderer Spieler einen ZT findet,
75 funktioniert nicht.
76
77
Zesstra953f9972017-02-18 15:37:36 +010078SIEHE AUCH
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)
MG Mud User88f12472016-06-24 23:31:02 +020085
Arathornee7ec862020-12-01 23:57:24 +01008619 Nov 2020 Arathorn