FindPotion() ============ FUNKTION -------- :: varargs int FindPotion(string s); DEFINIERT IN ------------ :: /std/player/potion.c ARGUMENTE --------- :: string s Ausgabetext. Wenn 0/Leerstring, wird Default verwendet. BESCHREIBUNG ------------ :: Diese Funktion gibt einem aufrufenden Spieler eventuell diesen ZT. Das aufrufende Spielerobjekt muss dafuer: * diesen ZT im Potionmaster in seiner Liste eingetragen haben * diesen ZT in der Liste der bekannten Traenke haben (durch Orakel also fuer ihn auch freigeschaltet) * darf keine Playerkills haben (P_KILLS) * darf nicht im Editiermodus sein * darf kein Geist sein (Ausnahme: Geisterschloss) Wenn alle Kriterien erfolgreich erfuellt sind, wird 's' oder "Du findest einen Zaubertrank, den Du sofort trinkst." ausgegeben und dem Spieler ggf die Wahl der Attribute gegeben. RUeCKGABEWERT ------------- :: 0 bei Nichtvergabe, 1 bei erfolgreicher Vergabe. BEISPIELE --------- :: string detail_papiere() { if (this_player()->FindPotion( break_string("Beim Rumwuehlen in den Papieren entdeckst Du einen " "kleinen Zaubertrank, den Du sofort trinkst.", 78))) return ""; // Es muss ein String zurueckgegeben werden, da man sonst // die Fehlermeldung "Sowas siehst du hier nicht." bekommt else return "Die Papiere sind alle unbeschriftet.\n"; } HINWEISE -------- :: Zaubertraenke duerfen nicht in Raeumen eingetragen werden, die in der Parawelt liegen oder nur ueber Paraweltraeume zugaenglich sind. Der Auswahldialog fuer die Attribute wird an this_interactive() ausgegeben, d.h. das Kommando, das zum Aufruf von FindPotion() fuehrt, muss von dem Spielerobjekt eingegeben werden, an dem FindPotion() gerufen wird. Das bedeutet konkreter: Bei einem ZT, bei dem ein zweiter Spieler ein Kommando eingibt, damit ein anderer Spieler einen ZT findet, funktioniert nicht. SIEHE AUCH ---------- :: Sonstiges: zaubertraenke, /secure/potionmaster.c, /room/orakel.c Verwandt: AddKnownPotion(), RemoveKnownPotion(), InList() Props: P_POTIONROOMS, P_KNOWN_POTIONROOMS Befehl: traenke (fuer Magier zum Einschalten des Findens von ZTs) 19 Nov 2020 Arathorn