diff --git a/doc/std/pub b/doc/std/pub
new file mode 100644
index 0000000..21544a7
--- /dev/null
+++ b/doc/std/pub
@@ -0,0 +1,95 @@
+Um die Funktionalitaet einer Kneipe nutzen zu koennen, muss der Raum eine
+der folgenden Dateien importieren:
+
+'/std/pub.c'         - die Komplettloesung inclusive der Abhaengigkeit zu
+                       '/std/room'
+
+'/std/room/pub.c'    - die Mindestloesung, bei der man selbst die Abhaengig-
+                       keit zu einem Raum definieren muss
+
+------------------------------------------------------------------------------
+Eine Zusammenfassung der Pub-Properties (fuer genaueres siehe manpages)
+aus '/sys/pub.h'
+
+P_NPC_FASTHEAL       - NPCs tanken hier auf die "schnelle" Art
+
+P_NO_STD_DRINK       - Der Pub soll keine Standard-Getraenke anbieten
+
+P_PUB_UNAVAILABLE    - Meldung, wenn etwas nicht mehr vorhanden ist
+
+P_PUB_NOT_ON_MENU    - Meldung, wenn etwas nicht im Menue steht
+
+P_PUB_NO_MONEY       - Meldung, wenn Spieler nicht genug Geld hat
+
+P_PUB_NO_KEEPER      - Meldung, wenn der P_KEEPER nicht anwesend ist
+
+aus '/sys/room/description.h'
+
+P_KEEPER             - Id des Kneipeninhabers, der anwesend sein muss, 
+                       damit die Kneipe genutzt werden kann
+
+------------------------------------------------------------------------------
+Methoden zur Manipulation des Menues (fuer genaueres siehe manpages)
+
+AddToMenu            - fuegt einen Eintrag zum Menue hinzu
+
+RemoveFromMenu       - entfernt einen Eintrag aus dem Menue
+
+------------------------------------------------------------------------------
+Ablauf und Manipulationsmoeglichkeiten in einer Kneipe
+
+Wunsch wurde ueber 'kaufe', 'bestelle' oder 'spendiere' abgegeben:
+
+search_what()        - prueft, dass nicht mehrere Wuensche auf einmal
+                       geaeussert werden und ruft consume_something() auf
+
+consume_something()  - prueft die Anwesenheit der beteiligten Personen
+                     - prueft die Anwesenheit des Kneipenbesitzers
+                     - prueft das Ignorieren beim Spendieren
+                     - prueft die Verfuegbarkeit von genuegend Geld beim
+                       Besteller ( check_solvency() )
+                     - prueft die Verfuegbarkeit des Gewuenschten
+                       ( CheckAvailability() )
+                     - prueft, ob der Empfaenger in der Lage ist, das
+                       Bestellte zu konsumieren
+                       ( ueber empfaenger->consume(testonly) )
+
+                     - fuehrt die Bezahlung durch ( do_pay() )
+                     - fuehrt die Vergabe von FPs durch ( GiveEP() )
+                     - entnimmt das Bestellte aus der Menge des Angebotes
+                       ( DecreaseAvailibility() )
+                     - prueft, ob eine Verzoegerung der Lieferung erfolgen
+                       soll und uebergibt im Negativfall gleich an
+                       do_deliver()
+                     - Ausgabe der Meldungen zur Bestellung
+                     - verzoegerter Aufruf von do_deliver()
+                     
+do_deliver()         - prueft nochmal die Anwesenheit des Empfaengers
+                     - prueft, ob Heilung erlaubt ist (ueber Pubmaster)
+                     - prueft P_NPC_FASTHEAL und korrigiert die Angaben, die
+                       aus dem Menueeintrag kommen
+                     - fuehrt das Konsumieren beim Empfaenger durch
+                       ( empfaenger->consume() )
+                     - Ausgabe der Meldung zum Konsumieren
+
+pub_init()           - Moeglichkeit fuer Magier, die Werte der angebotenen
+                       Speisen und Getraenke zu ueberpruefen
+                     - erweiterte Moeglichkeiten zum Pruefen von korrekten
+                       Menueeintraegen bietet das Pub-Tool
+                       ( '/obj/tools/pubtool.c' )
+
+Hinweis: Um diese Pruefungen und Aktionen sicher zu gewaehrleisten, sollte
+         man consume_something oder do_deliver NICHT ueberschreiben!
+         Das fuehrt bei Aenderungen mit grosser Wahrscheinlichkeit zu
+         Problemen!
+         Ueberschreibt besser die Methoden, die die Funktionalitaet
+         beinhaltet, die ihr wirklich anpassen wollt.
+         Falls das nicht geht, sprecht lieber mit einem RM+, ob eine Loesung
+         dafuer gefunden werden kann. Der Standard-Pub wurde in der
+         Vergangenheit so immer modularer und besser.
+
+
+SIEHE AUCH: AddToMenu, RemoveFromMenu, consume, QueryMoney, AddMoney 
+
+------------------------------------------------------------------------------
+Last modified: Son Apr 11 19:28:00 2010 by Caldra
