Added public files
Roughly added all public files. Probably missed some, though.
diff --git a/doc/wiz/potionmaster b/doc/wiz/potionmaster
new file mode 100644
index 0000000..6b8bfd2
--- /dev/null
+++ b/doc/wiz/potionmaster
@@ -0,0 +1,197 @@
+Der Potionmaster (/secure/potionmaster)
+=======================================
+
+BESCHREIBUNG
+
+ Funktion: Verwaltung der Zaubertraenke, die Spieler finden koennen.
+
+ Zaubertraenke koennen von beliebigen Objekten im Spiel vergeben werden.
+ Jeder Spruch ist in einer eigenen Datei in /secure/ARCH/ZT hinterlegt,
+ wobei der Dateiname das allgemeine Format <nr>.zt haben muss. <nr>
+ entspricht hierbei der ZT-Nummer.
+
+ Die Tips zu den Traenken werden vom Orakel /room/orakel ausgegeben,
+ sofern der Spieler genug Stufenpunkte fuer einen neuen Spruch erspielt
+ hat (siehe hierzu "hilfe zt"). Die Tips werden dabei aus den o.g. Dateien
+ eingelesen. Der ZT wird von dem vergebenden Objekt durch Aufruf von
+ FindPotion(string msg) im Spielerobjekt gutgeschrieben.
+
+ In dieser Datei sind die Funktionen des Potionmasters dokumentiert.
+ Inhalt:
+
+ 1. Zaubertraenke eintragen und aktivieren/deaktivieren
+ 2. Zaubertraenke in eine Liste einsortieren
+ 3. Zaubertraenke verlegen
+ 4. Daten zu Zaubertraenken abfragen
+ 5. Ein neuer ZT: Was tun?
+ 6. Format der Zaubertrank-Tips
+ 7. Wo finde ich eigentlich?
+ 8. Verschiedenes
+
+
+FUNKTIONEN
+
+1. Zaubertraenke eintragen und aktivieren/deaktivieren
+
+ int AddPotionroom(string room, int list)
+ Der Raum <room> wird als neuer ZT-Fundort eingetragen und in die Liste
+ mit der Nummer <list> eingefuegt. room muss hierbei der load_name()
+ des Objekts sein, unt <list> darf Werte von 0 bis 7 haben. Der ZT
+ wird dabei aktiviert.
+
+ Rueckgabewerte:
+ <num> Nummer des naechsten neuen ZTs, <num-1> ist die Nummer des
+ neu eingetragenen ZTs.
+ -1 Zugriff verweigert
+ -2 <room> kein String, <list> ist nicht im Bereich 0-7
+ -3 <room> ist nicht ladbar
+ -4 <room> vergibt schon einen (anderen) ZT
+ -6 Datei mit ZT-Spruch (/secure/ARCH/ZT/<num>.zt) existiert nicht.
+
+ int ActivateRoom(string room)
+ Der ZT im Raum <room> wird aktiviert, d.h. er kann aktiv von dem Raum
+ vergeben werden. Technisch wird er aus der Liste der inaktiven ZTs
+ ausgetragen. <room> muss hierbei der load_name() des Raumes sein.
+
+ Rueckgabewerte:
+ <num> Nummer des aktivierten ZTs
+ -1 Zugriff verweigert
+ -5 ungueltiger ZT (Raum ist nicht als ZT-Objekt eingetragen)
+ -8 <room> ist bereits aktiviert
+
+ int DeactivateRoom(string room)
+ Der ZT im Objekt <room> wird deaktiviert, d.h. er kann nicht mehr
+ von dem Objekt vergeben werden. Technisch wird er in die Liste der
+ inaktiven ZTs eingetragen. <room> muss hierbei der load_name() des
+ Raumes sein.
+
+ Rueckgabewerte:
+ <num> Nummer des geaenderten ZTs
+ -1 Zugriff verweigert
+ -5 ungueltiger ZT
+ -9 <room> ist bereits inaktiv
+
+2. Zaubertraenke in eine Liste einsortieren
+
+ int SetListNr(string room, int list)
+ Traegt den Zaubertrank in Raum <room> in die Liste <list> ein.
+ <room> muss hierbei der load_name() des Objekts sein.
+
+ Rueckgabewerte:
+ <num> Nummer des geaenderten ZTs
+ -1 Zugriff verweigert
+ -5 ungueltiger ZT
+ -7 <list> ausserhalb der zugelassenen Werte, d.h. <0 oder >7
+
+3. Zaubertraenke verlegen
+
+ int ChangeRoomPath(string old, string new)
+ Der Zaubertrank in Raum <old> wird in den Raum <new> umgetragen.
+
+ Rueckgabewerte:
+ <num> Nummer des erfolgreich geaenderten Zaubertranks
+ -1 Zugriff verweigert
+ -2 <new> oder <old> oder beide sind keine Strings
+ -3 <old> vergibt keinen ZT, es gibt also nichts zu verlegen, oder
+ <new> ist nicht ladbar, dorthin kann also nicht verlegt werden
+ -4 <new> hat schon einen Zaubertrank
+
+4. Daten zu Zaubertraenken abfragen
+
+ mixed QueryPotionData(int num)
+ Abfrage der Daten zu dem ZT mit der Nummer <num>. Ausgegeben wird ein
+ Mapping der Form ([ num : Raumpfad; Listennummer ])
+
+ int QueryInactivePotions()
+ Liefert ein Array mit den Nummern der aktuell deaktivierten ZTs zurueck.
+
+ int QueryActive(mixed potion)
+ Gibt zu einer ZT-Nummer oder einem Raumpfad an, ob der betreffende ZT
+ aktiv ist oder nicht. Wenn ja, wird die entsprechende ZT-Nummer
+ zurueckgegeben.
+
+ Rueckgabewerte:
+ <num> Nummer des abgefragten ZTs
+ -1 Zugriff verweigert
+ -5 ungueltiger ZT
+ -11 ZT ist nicht aktiv
+
+ string GetFilenameByNumber(int nr)
+ Abfrage des Dateinamens zu Zaubertrank Nummer <nr>.
+
+ Rueckgabewerte:
+ <num> Nummer des abgefragten ZTs
+ -1 Zugriff verweigert
+ -5 ungueltiger ZT
+
+ int HasPotion(object obj)
+ Abfrage der Zaubertranknummer, die von dem Objekt <obj> vergeben wird.
+
+ Rueckgabewerte:
+ <num> Nummer des abgefragten ZTs
+ -1 Zugriff verweigert
+ -3 Raum vergibt keinen ZT
+
+ int GetListByNumber(int nr)
+ Abfrage der Liste aktiver ZTs, in der der ZT mit der Nummer <nr>
+ eingetragen ist.
+ Rueckgabe: Nummer der Liste, in der der ZT enthalten ist, sonst -5.
+
+ int GetInactListByNumber(int nr)
+ Abfrage der Liste inaktiver ZTs, in der der ZT mit der Nummer <nr>
+ eingetragen ist.
+ Rueckgabe: Nummer der Liste, in der der ZT enthalten ist, sonst -10.
+
+5. Ein neuer ZT: Was tun?
+
+ AddPotionRoom(newroom, liste) aufrufen. Wenn ein Fehler auftritt, muss
+ noch der ZT-Tip in dem unter 6. beschriebenen Format hinterlegt werden.
+ Der zu verwendende Dateiname ist in der Fehlermeldung angegeben.
+
+6. Format der Zaubertrank-Tips
+
+ Ein Beispiel mit zwei Tips fuer denselben Zaubertrank:
+
+ Die Zaubermaus wollts wohl verstecken,
+ Im Buecherwald sollst nichts entdecken,
+ Denn Trinkgenuss ist dort verpoent,
+ So ist mans auch RL gewoehnt.
+ XXXXX
+ Der Raum ist prall und star gefuellt,
+ Mit viel Papier, das gern verhuellt
+ In Zauberbuchform manches Od,
+ Das hilft Dir dann aus Deiner Not.
+ %%%%%
+
+ Die Prozentzeichen sind das Endezeichen, danach koennen eventuelle
+ Kommentare stehen. XXXXX ist das Trennzeichen zwischen zwei Tips
+ zum selben ZT. Auswirkung ist, dass der Spieler bei jedem Aufruf
+ seiner Zaubertrank-Liste zufaellig einen Spruch aus der Liste
+ angezeigt bekommt.
+
+7. Wo finde ich eigentlich?
+
+ - die Zaubertrank-Tips: /secure/ARCH/ZT/*.zt
+ - die Gesamtliste der ZTs: /secure/ARCH/POTIONS.dump
+ - das Savefile des Potionmasters: /secure/ARCH/potions.o
+ - das Logfile fuer Aenderungen: /log/ARCH/POTIONS_MOD.log
+
+8. Verschiedenes
+
+ mixed TipLesen(int nr)
+ Das Orakel auf der Hochebene ruft die Zaubertrank-Tipps ab, diese
+ werden von der Platte gelesen und als String an das Orakel
+ zurueckgeliefert.
+ int DumpList()
+ Die Komplettliste der ZTs in das Dumpfile /secure/ARCH/POTIONS.dump
+ schreiben.
+
+SIEHE AUCH:
+ Spielerbefehle: zaubertraenke
+ Magierbefehle: traenke
+ Properties: P_POTIONROOMS, P_KNOWN_POTIONROOMS
+ Anleitung: wiz/zaubertraenke
+ ZT finden: FindPotion(L)
+
+2013-Mai-30 Arathorn
+