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