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