Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/doc/wiz/benennung b/doc/wiz/benennung
new file mode 100644
index 0000000..fe94ebc
--- /dev/null
+++ b/doc/wiz/benennung
@@ -0,0 +1,158 @@
+AUTOR   MG, den 22.08.92, Don Rumata
+	This file is part of the Morgengrauen-Mudlib from Jof and Rumata
+
+VERSION 1.1
+
+AKTUALISIERT: MG, den 14.10.93, Chris
+UEBERARBEITET: am 24.08.94 von Viper
+
+THEMA   BENENNUNG VON OBJEKTEN IM MorgenGrauen
+
+INHALT:
+	I.      Einleitung
+	II.     Funktionen, die alle Objekte besitzen muessen
+	III.    Unterstuetzung der Funktionen durch die MG_mudlib
+	IV.     Benennung von Raeumen
+	V.      Benennung von Monstern
+
+I.      EINLEITUNG
+
+	Jedes Objekt in der Mudlib muss auf folgende Weisen identifiziert
+	werden koennen:
+
+	1.)     Es muss einen Namen haben, der innerhalb eines Satzes das
+		Objekt bezeichnen kann.
+
+	2.)     Es muss eine Kurzbeschreibung besitzen.
+
+	3.)     Es muss eine ausfuehrliche Beschreibung besitzen.
+
+	4.)     Es muss eine Menge von Synonymen kennen, mit denen ein
+		Spieler das Objekt "ansprechen" kann.
+
+II.     FUNKTIONEN, DIE ALLE OBJEKTE BESITZEN MUESSEN
+
+	Jedes Objekt im MorgenGrauen sollte folgende Funktionen 
+	implementiert haben:
+
+	1.)     name( fall, dem )
+
+	Diese Funktion soll den Namen des Objektes im jeweiligen
+	Fall mit Artikel (wenn es einen besitzt) zurueckgeben, so
+	dass der Rueckgabewert in einen Satz eingearbeitet werden
+	kann.
+
+	"fall" dient zur Deklination des Objektnamens.
+
+	"dem" bestimmt, welche Artikel benutzt werden sollen.
+	Moegliche Werte fuer "dem":
+
+	0       Benutze unbestimmte Artikel.
+	
+	1       Benutze bestimmte Artikel.
+	
+	2       Benutze bestimmte Artikel, wenn sich mit dem Objekt
+		kein gleichartiges Objekt im selben Raum befindet,
+		sonst benutze einen unbestimmten.
+
+		Statt der 2 kann auch ein String uebergeben werden.
+		In diesem Fall wird getestet, ob sich ein Objekt mit
+		dem String als id im selben Raum befindet.
+
+	2.)     short()
+
+	Diese Funktion liefert eine Beschreibung, die ausgegeben
+	wird, wenn der Raum, in dem das Objekt sich befindet,
+	betrachtet wird.
+
+	3.)     long()
+
+	Diese Funktion liefert eine Beschreibung, die ausgegeben
+	wird, wenn das Objekt angeschaut wird. Im Unterschied zur
+	2.4.5 Mudlib wird die Beschreibung jedoch nicht ausgegeben,
+	sondern als return-Wert zurueckgegeben.
+
+	4.)     id( str )
+
+	Diese Funktion soll 1 zurueckgeben, wenn str eine Zeichen-
+	folge ist, die das Objekt bezeichnen koennte. Diese Zeichen-
+	folge wird in kleinen Buchstaben uebergeben.
+
+	5.)     _query_invis()
+
+	Wenn ein Objekt unsichtbar ist, soll es beim Aufruf dieser
+	Funktion 1 zurueckgeben. Sichtbare Objekte brauchen diese
+	Funktion nicht zu implementieren.
+
+III.    UNTERSTUETZUNG DER FUNKTIONEN DURCH DIE MG_MUDLIB
+
+	Wenn ein eigenes Objekt aus den Standardobjekten abgeleitet
+	wird, sind alle diese Funktionen bereits fertig definiert.
+	Es muessen beim Erzeugen der Objekte nur noch die entsprechenden
+	Werte mitgeteilt werden. Dieses geschieht mit folgenden Funk-
+	tionen, die am besten im create() aufgerufen werden.
+
+	1.)     SetProp( P_NAME, string );
+
+	In name() wird der uebergebene String dekliniert und automatisch
+	mit Artikeln versehen.  Diese Funktion bedenkt auch Faelle, an 
+	die ihr wahrscheinlich nie gedacht habt. Der Genitiv von der 
+	Lahme ist z.B. des Lahmen! Auch fuer andere Faelle bietet diese 
+	Funktion maechtige Unterstuetzung.
+
+	Wenn der String nicht mit Artikeln versehen werden soll, so kann
+	man das mittels der Funktion "SetProp(P_ARTICLE, 0 )" erreichen.
+
+	Damit die Funktion name() ueberhaupt den richtigen Artikel 
+	auswaehlen kann, muss man mit "SetProp( P_GENDER, gender)" das
+	Gechlecht des Objektes bekannt machen. Als gender kann man 
+	MALE oder 1, FEMALE oder 2 und NEUTER oder 0 verwenden.
+
+	Ist das Objekt unsichtbar, so darf string trotzdem nicht 0 sein;
+	stattdessen ist "SetProp( P_INVIS, 1 )" aufzurufen. (Die Zeile
+	"#include <properties.h>" nicht vergessen. :-))
+
+	Da dieses Verfahren sehr fehleranfaellig ist, ist fuer den Namen
+	ein Array von Namen zugelassen, so dass fuer jeden Fall ein Wort
+	uebergeben werden kann. Beispiel.:
+	SetProp( P_NAME, ({ "Mensch", "Menschen", "Menschen", "Menschen" }) );
+
+	2.)     SetProp( P_SHORT, string )
+	
+	In short() wird der uebergebene String ausgegeben. Mittels des
+	process_string-Mechanismus (siehe /doc/efun/process_string)
+	koennen auch varibale Teile in dem String vorkommen.
+	string braucht fuer unsichtbare Objekte nicht auf 0 gesetzt
+	werden.
+
+	3.)     SetProp( P_LONG, string )
+
+	Dito.
+
+	4.)     AddId( string );
+
+	Nehme den String in die Menge der Zeichenketten auf, auf die die
+	eingebaute id-Funktion mit 1 antworten soll.
+
+	5.)     Es reicht, SetProp( P_INVIS, 1 ) aufzurufen, wenn das
+	Objekt unsichtbar wird, und SetProp( P_INVIS, 0 ), wenn es wieder
+	sichtbar wird.
+
+IV.     BENENNUNG VON RAEUMEN
+
+	Bei Raeumen wird die long() bzw. short()-Beschreibung nur dann
+	benutzt, wenn der Raum *von aussen* angeschaut wird. Fuer eine
+	Beschreibung des Raumen von innen sind folgende Funktionen
+	bereitgestellt:
+
+	1.)     SetProp( P_INT_SHORT, string );
+
+	Gebe eine Beschreibung des Raumes fuer den "kurz"-Modus aus.
+
+	2.)     SetProp( P_INT_LONG, string );
+
+	Gebe eine ausfuehrliche Beschreibung des Raumes zurueck.
+
+V.      BENENNUNG VON MONSTERN
+
+	Siehe oben unter /doc/MG/BANISH.