RemoveKnownPotion()
===================

FUNKTION
--------
::

     int RemoveKnownPotion(int nr)

DEFINIERT IN
------------
::

     /std/player/potion.c

ARGUMENTE
---------
::

     int nr       Nummer eines ZTs

BESCHREIBUNG
------------
::

     Entfernt einen bekannten ZT aus einen Spieler. Nur vom Orakel rufbar.

RUeCKGABEWERT
-------------
::

     1  Erfolg
     -1 fehlende Berechtigung
     -2 Nummer nicht eingetragen

SIEHE AUCH
----------
::

     Sonstiges: zaubertraenke, /secure/potionmaster.c, /room/orakel.c
     Verwandt:  FindPotion(), AddKnownPotion(), InList()
     Props:     P_POTIONROOMS, P_KNOWN_POTIONROOMS

6.Feb 2016 Gloinson

