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