blob: d63d953740ce2ba42754f39668bb433ba174aead [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001FindPotion()
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 varargs int FindPotion(string s);
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/player/potion.c
MG Mud User88f12472016-06-24 23:31:02 +020015
MG Mud User88f12472016-06-24 23:31:02 +020016
Zesstra953f9972017-02-18 15:37:36 +010017ARGUMENTE
18=========
19
20 string s
21 Ausgabetext. Wenn 0/Leerstring, wird Default verwendet.
22
23
24BESCHREIBUNG
25============
26
27 Diese Funktion gibt einem aufrufenden Spieler eventuell diesen ZT.
28
Zesstra953f9972017-02-18 15:37:36 +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
41
42RUeCKGABEWERT
43=============
44
45 0 bei Nichtvergabe, 1 bei erfolgreicher Vergabe.
46
47
48BEISPIELE
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
62
Arathornee7ec862020-12-01 23:57:24 +010063HINWEISE
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
Zesstra953f9972017-02-18 15:37:36 +010077SIEHE AUCH
78==========
79
80 Sonstiges: zaubertraenke, /secure/potionmaster.c, /room/orakel.c
81 Verwandt: AddKnownPotion(), RemoveKnownPotion(), InList()
82 Props: P_POTIONROOMS, P_KNOWN_POTIONROOMS
83 Befehl: traenke (fuer Magier zum Einschalten des Findens von ZTs)
MG Mud User88f12472016-06-24 23:31:02 +020084
Arathornee7ec862020-12-01 23:57:24 +01008519 Nov 2020 Arathorn