Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/doc/wiz/reputation b/doc/wiz/reputation
new file mode 100644
index 0000000..6e1ac20
--- /dev/null
+++ b/doc/wiz/reputation
@@ -0,0 +1,164 @@
+THEMA:
+  Reputationen
+
+
+ALLGEMEINE BESCHREIBUNG:
+  Man kann bei einer Gruppierung/Volk/Partei/etc. Ruf gewinnen oder verlieren 
+  und somit entweder deren Respekt erlangen oder auf ihrer Abschussliste 
+  landen.
+
+  Am Beispiel der Goblins im Walddorf Skoga: Dort gibt es das Freie Volk, das 
+  aus seinem Heimatdorf vertrieben wurde, und die Goblins, welche das Dorf
+  besetzt haben. Hilft man einer Seite, baut man Ruf auf und erhaelt 
+  beispielsweise Zugang zu Heilstellen und speziellen Items, waehrend die 
+  andere Seite zunehmend misstrauisch reagiert und einen schlussendlich ohne 
+  zu fragen attackiert.
+
+  Es muessen nicht immer mehrere Seiten involviert sein. Auch eine einzelne 
+  Partei ist denkbar, der man helfen kann und in deren Laeden/Kneipen man mit 
+  steigendem Ruf z.B. Verguenstigungen, mehr Informationen, Bonusitems und 
+  Aehnliches erhaelt.
+
+  Denkbar ist es auch, das Ganze zu vernetzen. Beispielsweise koennte ein 
+  Verwandter eines Mitglieds von obengenanntem Freien Volk vor den Angriffen 
+  ins Polargebiet umgezogen sein, aber von des Spielers Heldentaten gehoert 
+  haben und ihm so freundlicher gesonnen sein.
+
+
+METHODEN (s. a. einzelne Manpages):
+
+  int ChangeReputation(string repid, int value, int silent)
+      Die Funktion ist in jedem Spielerobjekt vordefiniert.
+      Vor der Aenderung wird ein Check auf die UID des ausfuehrenden Objektes
+      ausgefuehrt, "fremde" Reputationen darf man somit nicht veraendern.
+      Man kann aber selbstverstaendlich in begruendeten Faellen mit dem
+      zustaendigen Magier/Regionsmagier sprechen, ob man ebenfalls Zugriff
+      erhaelt. Eingetragen wird dies schlussendlich durch einen EM.
+
+
+  int GetReputation(string repid)
+      Ebenfalls im Spielerobjekt vordefiniert. Liefert den aktuellen Wert der
+      angegebenen Reputation zurueck.
+
+
+  mapping GetReputations()
+      Ebenso vordefiniert. Liefert ein Mapping aller im Spieler gespeicherten
+      Reputationen und ihrer Werte zurueck.
+
+
+BEISPIELE:
+
+  // Eine kleine Aufgabe fuer das "Freie Volk" bringt dem Spieler etwas 
+  // Ansehen.
+
+  void QuestGeloest(object pl) {
+    // Silent, wir geben eine eigene Meldung aus.
+    pl->ChangeReputation("freiesvolk", 250, 1);
+
+    tell_object(pl, "Du befreist einen Gefangenen. Das freie Volk wird es "
+      "Dir danken.\n");
+  }
+
+  // Ein NPC des "Schaedlspalta-Klans". Wenn er getoetet wird, verlieren die 
+  // toetenden Spieler Ruf bei dieser Fraktion.
+ 
+  #include <properties.h>
+
+  inherit "/std/npc.c";
+
+  void create() {
+    npc::create();
+    SetProp(P_SHORT, "Ein Goblin des Schaedlspalta-Klans");
+    ...
+  }
+
+  varargs void die(int poison, int ext) {
+    object *enemies;
+    int value;
+    // Begleit-NPCs brauchen keine Reputation
+    enemies = filter(PresentEnemies(), #'interactive);
+    // 50 Reputationsabzug pro Kill, aufgeteilt auf alle Gegner
+    value = -50 / sizeof(enemies);
+    foreach(object pl : enemies) {
+      pl->ChangeReputation("schaedlspalta", value);
+      // Optional koennte ihre "Feindfraktion" das gutheissen:
+      // pl->ChangeReputation("freiesvolk", abs(value));
+    }
+    return npc::die(poison, ext);
+  }
+
+  // Jeder beteiligte Feind kriegt nun eine Meldung, die in etwa lauten 
+  // koennte: "Dein Ansehen beim Schaedlspalta-Klan hat sich etwas 
+  // verschlechtert." Der NPC koennte nun Spieler automatisch angreifen, 
+  // sobald ihr Ruf zu tief gesunken ist:
+  
+  #include <reputation.h>
+
+  void init() {
+    npc::init();
+    if(objectp(this_player()) && !IsEnemy(this_player()) && 
+       this_player()->GetReputation("schaedlspalta") <= REP_DISLIKED)
+      InsertEnemy(this_player());
+  }
+
+  // Ein NPC rueckt bestimmte Informationen erst raus, sobald das Ansehen
+  // des Spielers hoch genug ist:
+
+  #include <properties.h>
+  #include <reputation.h>
+
+  inherit "/std/npc.c";
+
+  string InfoGeheimplan();
+
+  void create() {
+    npc::create();
+    SetProp(P_SHORT, "Der Kommandant des freien Volkes");
+    ...
+    AddInfo("geheimplan", #'InfoGeheimplan, "sagt: ");
+  }
+
+  string InfoGeheimplan() {
+    if(this_player()->GetReputation("freiesvolk") < REP_TRUSTED)
+      return "Das geht Dich ueberhaupt nichts an!";
+    return "Nun, ich vertraue Dir. Also, heute um Mitternacht ... ... ...";
+  }   
+
+  // Pruefung der (wichtigsten) Rueckgabewerte:
+
+  #include <reputations.h>
+  
+  void QuestGeloest(object pl) {
+    string msg;
+
+    // Sonstige Meldungen
+    ...
+
+    switch(pl->ChangeReputation("freiesvolk", 500, 1)) {
+      // Reputation bereits Max
+      case REP_RET_ALREADYMAX:
+        msg = "Dein Ansehen beim freien Volk kann sich nicht mehr weiter "
+              "verbessern.";
+        break;
+      // Reputation waere hoeher als Max geworden, daher auf Max gesetzt
+      case REP_RET_SUCCESSCUT:
+        msg = "Dein Ansehen beim freien Volk hat sich etwas verbessert, "
+              "aber weiter steigern kannst Du es nicht mehr.";
+        break;
+      // Reputation erfolgreich geaendert
+      case REP_RET_SUCCESS:
+        msg = "Dein Ansehen beim freien Volk hat sich etwas verbessert.";
+        break;
+      default:
+        // Technischer Fehler
+        break;
+    }
+
+    if(stringp(msg) && strlen(msg))
+      tell_object(pl, break_string(msg, 78));
+  }
+
+SIEHE AUCH: 
+
+LETZTE AENDERUNG:
+  2009-22-03, 12:30:00 von Nibel