Added public files
Roughly added all public files. Probably missed some, though.
diff --git a/doc/wiz/material b/doc/wiz/material
new file mode 100644
index 0000000..cbf8022
--- /dev/null
+++ b/doc/wiz/material
@@ -0,0 +1,98 @@
+Materialien
+===========
+
+ Materialien in Morgengrauen koennen ueber die Property P_MATERIAL jedem
+ Objekt im Spiel zugeordnet werden. Ueber die Materialiendatenbank
+ stehen dafuer jede Menge Materialien zur Verfuegung. Wenn moeglich,
+ sollten diese auch benutzt werden, es werden Defaultmaterialien
+ gesetzt, diese entsprechen aber selten eurer Realitaet.
+
+ Die Materialiendatenbank /secure/materialdb.c haelt saemtliche
+ Informationen ueber die verwendbaren Materialien, die unter
+ /sys/thing/material.h aufgefuehrt sind. Es empfiehlt sich SEHR, Verweise
+ auf die MatDB nur in Form von MATERIALDB zu formulieren.
+ Sie verwaltet auch die Eigenschaften einzelner Materialien. Es gibt
+ diverse Materialiengruppen wie "entflammbar", "Metall", "biologisches
+ Material", denen die Materialien entsprechend zugeordnet sind. Diese
+ Informationen koennen mit entsprechenden Methoden abgerufen/ausgewertet
+ werden.
+ Darueber hinaus sind Materialien bei der Erkennung mit anderen
+ Materialien verwechselbar. Wie das genau funktioniert, ist in "man
+ materialerkennung" ausgefuehrt.
+
+ P_MATERIAL:
+ Die Property P_MATERIAL ist grundsaetzlich ein Mapping, in dem zu
+ jedem Material der Anteil an dem Objekt stehen sollte, Z.B. kann
+ ein Speer zu 80% aus Holz und zu 20% aus Metall (Speerspitze)
+ bestehen:
+
+ SetProp(P_MATERIAL, ([MAT_MISC_METAL:20,MAT_MISC_WOOD:80]))
+
+ (Zur Vereinfachung ist es erlaubt, bei SetProp ein einzelnes Material
+ oder ein Array aus Materialien anzugeben, beides wird automatisch
+ umgewandelt in ein Mapping mit gleichen Anteilen aller Materialien.)
+
+ Defaults für P_MATERIAL:
+ Waffen generell: ([MAT_MISC_METAL:100])
+ Schwerter: ([MAT_MISC_METAL:100])
+ Messer: ([MAT_MISC_METAL:80, MAT_MISC_WOOD:20])
+ Aexte: ([MAT_MISC_METAL:50, MAT_MISC_WOOD:50])
+ Speere: ([MAT_MISC_METAL:20, MAT_MISC_WOOD:80])
+ Keulen: ([MAT_MISC_WOOD:100])
+ Ruestungen generell: ([MAT_LEATHER:100])
+ Koerperruestungen, Helme,
+ Ringe, Amulette, Schilde: ([MAT_MISC_METAL:100])
+ Umhaenge, Hosen: ([MAT_CLOTH:100])
+ Handschuhe, Schuhe: ([MAT_LEATHER:100])
+ andere Dinge: ([MAT_MISC:100])
+
+ Uebersicht ueber die Methoden an Objekten (/std/thing/description):
+ int QueryMaterial(string mat):
+ - gibt % des Materialanteils von mat am Objekt zurueck
+ int QueryMaterialGroup(string grp):
+ - gibt % des Materialgruppenanteils von grp am Objekt zurueck
+ string MaterialList(int casus, mixed idinf):
+ - gibt String mit Zusammensetzung des Objektes zurueck
+
+ Uebersicht ueber die Methoden am Master (MATERIALDB):
+ string *GetMatMembership(string mat):
+ - alle Gruppen, in denen das Material mat ist
+ string *GetGroupMembers(string grp):
+ - alle Materialien, die in der Gruppe grp sind
+ string MaterialName(string mat, int casus, mixed idinf):
+ - ergibt die spielerlesbare Angabe eines Materials mat
+ string GroupName(string grp):
+ - ergibt spielerlesbare Angabe der Gruppe grp
+ string ConvMaterialList(mixed mats, int casus, mixed idinf):
+ - wird von MaterialList() mit den Materialien des Objektes gerufen
+ void Dump():
+ - schreibt Materialien und Gruppen in /p/daemon/save/MATERIALS
+ string *AllMaterials():
+ - Liste aller aktuellen Materialien
+ string *AllGroups():
+ - Liste aller aktuellen Gruppen
+
+ Falls euch ein Material fehlt:
+ - falls es kein genau passendes Material gibt, sollte man das am
+ ehesten passende MAT_MISC-Material verwenden.
+ - falls es sich lohnen wuerde, das bisher noch nicht definierte
+ Material einzubauen (wenn es haeufig genug verwendet wird), bitte
+ Mail an einen EM (-> man AddMaterial() )
+ - verschiedene Eigenschaften lassen sich kombinieren. Z.B. besteht
+ ein (unbekanntes) explosives Gas zu 100% aus Gas und zu 100% aus
+ explosivem Material. Insofern kann man es mit
+ SetProp(P_MATERIAL, ([MAT_MISC_GAS:100, MAT_MISC_EXPLOSIVE:100]))
+ zusammensetzen.
+
+SIEHE AUCH:
+ Konzepte: materialerkennung
+ Grundlegend: P_MATERIAL, /sys/thing/material.h
+ Methoden: QueryMaterial(), QueryMaterialGroup(), MaterialList(),
+ Listen: AllMaterials(), AllGroups(), Dump()
+ materialliste, materialgruppen
+ Master: AddMaterial(), ConvMaterialList(), MaterialGroup(),
+ GroupName(), MaterialName(),
+ GetGroupMembers(), GetMatMembership()
+ Sonstiges: P_MATERIAL_KNOWLEDGE
+
+7. Mai 2004 Gloinson