Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/doc/lfun/obsolete/AddHpHook b/doc/lfun/obsolete/AddHpHook
new file mode 100644
index 0000000..e227951
--- /dev/null
+++ b/doc/lfun/obsolete/AddHpHook
@@ -0,0 +1,29 @@
+********************* OBSOLETE LFUN ***********************************
+* Diese Efun bitte nicht mehr benutzen, sondern stattdessen die       *
+* Hooks (s. /doc/std/hooks).                                          *
+***********************************************************************
+AddHpHook()
+FUNKTION:
+     int AddHpHook(object ob)
+
+DEFINIERT IN:
+     /std/player/life.c
+
+ARGUMENTE:
+     ob - das Objekt, das sich eintragen moechte.
+
+BESCHREIBUNG:
+     Traegt ein Objekt in P_HP_HOOKS ein, wenn es nicht schon darin steht.
+
+     Aendern sich beim Spieler dann HP oder KP (nicht durch Set()), wird
+     an allen eingetragenen Objekten NotifyHpChange() gerufen.
+
+RUECKGABEWERT:
+     1, wenn Erfolg, 0 sonst
+
+SIEHE AUCH:
+     Gegenpart:	RemoveHpHook()
+     Props:	P_HP_HOOKS, P_HP
+     Verwandt:	reduce_hit_points(), do_damage(), buffer_hp()
+
+23.Feb.2004 Gloinson
diff --git a/doc/lfun/obsolete/AddInsertHook b/doc/lfun/obsolete/AddInsertHook
new file mode 100644
index 0000000..5e80272
--- /dev/null
+++ b/doc/lfun/obsolete/AddInsertHook
@@ -0,0 +1,59 @@
+********************* OBSOLETE LFUN ***********************************
+* Diese Efun bitte nicht mehr benutzen, sondern stattdessen die       *
+* Hooks (s. /doc/std/hooks).                                          *
+***********************************************************************
+AddInsertHook()
+
+FUNKTION:
+     void AddInsertHook(object ob);
+
+DEFINIERT IN:
+     /std/player/restrictions.c
+
+ARGUMENTE:
+     ob - Das Objekt, das informiert werden soll, wenn ein Objekt dem
+          Spielerinventar hinzugefuegt wurde.
+
+BESCHREIBUNG:
+     (Diese Funktionalitaet wurde ersetzt durch den allgemeinen Hook
+      H_HOOK_INSERT und ist nur noch aus Gruenden der Kompatibilitaet
+      vorhanden.)
+
+     Diese Funktion wird im Spielerobjekt aufgerufen, um das Objekt ob als
+     Hook-Listener anzumelden. Auf diese Weise eingetragene Listener
+     werden informiert, wenn ein Objekt ins Spielerinventar bewegt wurde.
+     Technisch wird die Bewegung ueber NotifyInsert() im Spielerobjekt
+     detektiert, und im Listener-Objekt wird die Funktion InsertNotify()
+     gerufen, die als Parameter das neu ins Spielerinventar bewegte Objekt
+     uebergeben bekommt.
+
+RUeCKGABEWERT:
+     keiner
+
+BEMERKUNGEN:
+     Das Listener-Objekt muss sich ebenfalls im Spielerinventar befinden,
+     ansonsten wird der eingetragene Hook wieder geloescht.
+
+BEISPIEL:
+     
+     a) Objekt "ob" wird im Spieler als Listener angemeldet:
+        this_player()->AddInsertHook(ob);
+
+     b) Objekt "new" wird ins Spielerinventar bewegt, das Spielerobjekt
+        informiert "ob" darueber:
+        ob->InsertNotify(new);
+
+     c) Das Listener-Objekt "ob" reagiert darauf, z.B. indem es die Fackel
+        loescht, sofern sie vorher brannte:
+        void InsertNotify(object new) {
+          if ( objectp(new) && new->id("\nfackel") && 
+               new->QueryProp(P_LIGHTED) )
+            new->unlight();
+          return;
+        }
+
+SIEHE AUCH:
+    NotifyInsert(), RemoveInsertHook(), QueryInsertHooks()
+
+----------------------------------------------------------------------------
+Last modified: 14.04.2010, Arathorn
diff --git a/doc/lfun/obsolete/ModifySkillAttributeOld b/doc/lfun/obsolete/ModifySkillAttributeOld
new file mode 100644
index 0000000..65d9afc
--- /dev/null
+++ b/doc/lfun/obsolete/ModifySkillAttributeOld
@@ -0,0 +1,90 @@
+ModifySkillAttributeOld()
+
+FUNKTION:
+    varargs int ModifySkillAttributeOld(object caster, string atrname, 
+                                        int value, int duration, mixed fun)
+
+DEFINIERT IN:
+    /std/living/skill_attributes.c
+
+ARGUMENTE:
+    <caster>    IGNORIERT
+                frueher Objekt, das die Modifikation vornimmt, heute ist
+                dieses Argument ohne Bedeutung und wird ignoriert.
+
+    <atrname>   STRING
+                Name des zu veraendernden Attributes
+                (Definiert in /sys/living/skill_attributes.h)
+
+    <value>     INT
+                Neuer Wert des Attributs (Standard: 100)
+
+    <duration>  INT
+                Dauer in Sekunden
+
+    <fun>       NICHT MEHR UNTERSTUETZT - ModifySkillAttribute() nutzen!!
+
+BESCHREIBUNG:
+    Diese Funktion existiert nur aus Kompatibilitaetsgruenden. Bitte in neuen
+    Objekten NICHT mehr verwenden und in alten nach Moeglichkeit ausbauen!
+
+    Aendert ein Skill-Attribut eines Living.
+    
+    Fuer <value> ist folgendes zu beachten:
+    Frueher handelte es sich um einen multiplikativen Faktor. 100 hatte die
+    Bedeutung von 1 und veraenderte nichts. Heute sind die Modifikatoren
+    additiv. Diese Funktion macht eine einfache Umrechnung, indem sie vom hier
+    uebergeben Wert 100 abzieht. (In der Annahme, dass frueher meist eh nur 
+    ein Modifikator zur gleichen Zeit aktiv war.)
+    Gibt man hier also hier eine 100 an, wird ein Modifikator von 0 einge-
+    tragen, der nichts aendert, bei 200 wird ein Modifikator von 100 einge-
+    tragen, bei 50 einer von -50, welcher das Skillattribute folglich 
+    reduziert.
+
+    Es sind momentan max. 5 gleichzeitige Skillattribute-Modifikatoren pro SA
+    zulaessig.
+
+RUECKGABEWERT:
+     0  wenn der Wert ungueltig ist oder aus sonstigem Grunde nicht gesetzt
+        werden konnte (fuer bessere Diagnostik -> ModifySkillAttribute()).
+    >0  wenn alles okay war
+
+BEMERKUNGEN:
+    Frueher musste ein setzendes Objekt ein groesseres P_LEVEL haben als das
+    Objekt, welches einen vorherigen Modifikator gesetzt hat, um diesen zu
+    ueberschreiben. Dies ist inzwischen ohne Bedeutung.
+
+BEISPIELE:
+    Ein NPC:
+
+    void
+    create() {
+    .
+    .
+    .
+    AddSpell(1, 1,
+      "Der fuerchterliche NPC haut Dir auf den Kopf.\n",
+      "Der fuerchterliche NPC haut @WEN auf den Kopf.\n",
+      DT_MAGIC, "schwaechen");
+    .
+    .
+    }
+
+    schwaechen(object enemy, int damage, mixed *dam_type) {
+      int ergebnis;
+      ergebnis = enemy->ModifySkillAttributeOld(this_object(), SA_QUALITY, 50, 5);
+      if (ergebnis > 0)
+          tell_object(enenmy, "Du fuehlst Dich ganz schwach.\n");
+    }
+    
+    Der NPC schwaecht seinen Gegner erheblich! Alles wird fuer 5 Sekunden um
+    50, d.h. 0.5 Skillattribute reduziert (50 - 100 => -50 als Modifikator).
+
+SIEHE AUCH:
+    P_SKILL_ATTRIBUTES, P_SKILL_ATTRIBUTE_OFFSETS,
+    ModifySkillAttribute, QuerySkillAttribute(),
+    RemoveSkillAttributeModifer(), QuerySkillAttributeModifier()
+
+-----------------------------------------------------------------------------
+07.08.2008 Zesstra
+
diff --git a/doc/lfun/obsolete/NotifyGiveQuest b/doc/lfun/obsolete/NotifyGiveQuest
new file mode 100644
index 0000000..7e29798
--- /dev/null
+++ b/doc/lfun/obsolete/NotifyGiveQuest
@@ -0,0 +1,37 @@
+********************* OBSOLETE LFUN ***********************************
+* Diese Efun bitte nicht mehr benutzen, sondern stattdessen die       *
+* Events (siehe "man events").                                        *
+***********************************************************************
+
+NotifyGiveQuest()
+
+FUNKTION:
+     void NotifyGiveQuest(object pl, string key);
+     
+DEFINIERT IN:
+     /std/gilden_ob.c
+     
+ARGUMENTE:
+     pl     Der Spieler, der eine Quest geloest hat.
+     key    Name der geloesten Quest.
+     
+BESCHREIBUNG:
+     Die Funktion wird in der Gilde des Spielers aufgerufen, wenn der 
+     Spieler eine gueltige Quest besteht - und zwar unabhaengig davon,
+     ob er sie bereits geloest hat, oder nicht.
+     
+RUECKGABEWERT:
+     keiner
+     
+BEMERKUNGEN:
+     Die Funktion ist dafuer gedacht, von Gildenprogrammierern ueberschrieben
+     zu werden, wenn beispielsweise bestimmte Quests als Aufstiegsbedingung
+     verlangt werden, diese aber in der entsprechenden Gilde geloest sein
+     muessen (z.B. Obergladiator als Level-5-Zauberer).
+     
+SIEHE AUCH:
+     /std/gilden_ob.c
+     /std/player/quests.c
+
+----------------------------------------------------------------------------
+Last modified: Fri Oct 4 10:17:00 1996 by Silvana
diff --git a/doc/lfun/obsolete/NotifyHpChange b/doc/lfun/obsolete/NotifyHpChange
new file mode 100644
index 0000000..6f82b03
--- /dev/null
+++ b/doc/lfun/obsolete/NotifyHpChange
@@ -0,0 +1,47 @@
+********************* OBSOLETE LFUN ***********************************
+* Diese Efun bitte nicht mehr benutzen, sondern stattdessen die       *
+* Hooks (s. /doc/std/hooks).                                          *
+***********************************************************************
+NotifyHpChange()
+
+FUNKTION:
+	void NotifyHpChange();
+
+DEFINIERT IN:
+	/std/player/life.c
+
+ARGUMENTE:
+	keine
+
+BESCHREIBUNG:
+	Wenn sich die Lebenspunkte eines Spielers aendern, so werden davon
+	auch andere Objekte unterrichtet, sofern diese mittels der Funktion
+	AddHpHook() bei eben diesem Spieler angemeldet wurden.
+	Fortan wird dann die Funktion NotifyHpChange() in diesen
+	angemeldeten Objekten aufgerufen, wenn sich die Property P_HP des
+	Spielers aendert. Es werden hierbei keine Argumente an
+	NotifyHpChange() uebergeben, die aktuellen Lebenspunkte kann man ja
+	auch ohne weiteres ueber die Property P_HP in Erfahrung bringen und
+	aeltere Werte muss man sich gesondert merken. Zu beachten ist, dass
+	die Property P_HP bei Aufruf der Funktion NotifyHpChange() bereits
+	den neuen Wert enthaelt.
+	Bei dem Spieler angemeldete Objekte, die von Lebenspunkteaenderungen
+	informiert werden sollen, werden automatisch aus der Liste entfernt,
+	wenn sie zerstoert wurden. Diese Liste ist in der Property
+	P_HP_HOOKS zu finden. Per Hand kann man sie auch explizit mittels
+	der Funktion RemoveHpHook() entfernen.
+	Stirbt ein Spieler, so wird die Funktion NotifyPlayerDeath()
+	aufgerufen und nicht NotifyHpChange()!
+
+RUeCKGABEWERT:
+	keiner
+
+BEISPIELE:
+	ist in Arbeit
+
+SIEHE AUCH:
+	P_HP, P_HP_HOOKS, AddHpHook(), RemoveHpHook(),
+	Defend(), do_damage(), NotifyPlayerDeath()
+
+----------------------------------------------------------------------------
+Last modified: Thu Nov 19 13:54:33 1998 by Patryn
diff --git a/doc/lfun/obsolete/QueryEnemy b/doc/lfun/obsolete/QueryEnemy
new file mode 100644
index 0000000..bf0b583
--- /dev/null
+++ b/doc/lfun/obsolete/QueryEnemy
@@ -0,0 +1,24 @@
+********************* OBSOLETE LFUN ***********************************
+FUNKTION:
+	object QueryEnemy();
+
+DEFINIERT IN:
+	/std/living/combat.c
+
+ARGUMENTE:
+	keine
+
+RUeCKGABEWERT:
+	gefundener Gegner
+
+BESCHREIBUNG:
+	Diese Funktion liefert zufaellig einen der anwesenden Gegner
+	zurueck, sofern keine Gegner bevorzugt ausgewaehlt werden.
+
+BEMERKUNGEN:
+  Diese Lfun existiert nicht mehr. Bitte SelectEnemy() benutzen.
+
+SIEHE AUCH:
+	SelectEnemy(), QueryPreferedEnemy(), P_PREFERED_ENEMY
+----------------------------------------------------------------------------
+07.02.2009, Zesstra
diff --git a/doc/lfun/obsolete/QueryInsertHooks b/doc/lfun/obsolete/QueryInsertHooks
new file mode 100644
index 0000000..c43d036
--- /dev/null
+++ b/doc/lfun/obsolete/QueryInsertHooks
@@ -0,0 +1,31 @@
+********************* OBSOLETE LFUN ***********************************
+* Diese Efun bitte nicht mehr benutzen, sondern stattdessen die       *
+* Hooks (s. /doc/std/hooks).                                          *
+***********************************************************************
+QueryInsertHooks()
+
+FUNKTION:
+     object *QueryInsertHooks();
+
+DEFINIERT IN:
+     /std/player/restrictions.c
+
+ARGUMENTE:
+     keine
+
+BESCHREIBUNG:
+     (Diese Funktionalitaet wurde ersetzt durch den allgemeinen Hook
+      H_HOOK_INSERT und ist nur noch aus Gruenden der Kompatibilitaet
+      vorhanden.)
+
+     Diese Funktion gibt die aktuell beim Spielerobjekt angemeldeten
+     Listener-Objekte zurueck.
+
+RUeCKGABEWERT:
+     Array aus Objektpointern oder leeres Array
+
+SIEHE AUCH:
+    NotifyInsert(), AddInsertHook(), RemoveInsertHook()
+
+----------------------------------------------------------------------------
+Last modified: 14.04.2010, Arathorn
diff --git a/doc/lfun/obsolete/QueryOptQP b/doc/lfun/obsolete/QueryOptQP
new file mode 100644
index 0000000..f6f72c5
--- /dev/null
+++ b/doc/lfun/obsolete/QueryOptQP
@@ -0,0 +1,25 @@
+QueryOptQP()
+
+FUNKTION:
+    int QueryOptQP()
+
+DEFINIERT IN:
+    /secure/questmaster.c
+
+ARGUMENTE:
+    keine
+
+RUECKGABEWERT:
+    Abenteuerpunkte der optionalen Quests
+
+BESCHREIBUNG:
+    Diese Funktion liefert die Abenteuerpunkte der optionalen
+    Abenteuer zurueck. 
+
+SIEHE AUCH:
+    GiveQuest, QueryQuest, /secure/questmaster.h, QueryGroupedKeys,
+    QueryMaxQP, QueryTotalQP
+
+----------------------------------------------------------------------------
+Zuletzt geaendert: Sam, 25. Nov 2000, 14:04:28 von Zook.
+
diff --git a/doc/lfun/obsolete/RemoveHpHook b/doc/lfun/obsolete/RemoveHpHook
new file mode 100644
index 0000000..d3177f1
--- /dev/null
+++ b/doc/lfun/obsolete/RemoveHpHook
@@ -0,0 +1,25 @@
+********************* OBSOLETE LFUN ***********************************
+* Diese Efun bitte nicht mehr benutzen, sondern stattdessen die       *
+* Hooks (s. /doc/std/hooks).                                          *
+***********************************************************************
+RemoveHpHook()
+FUNKTION:
+     int RemoveHpHook(object ob)
+
+DEFINIERT IN:
+     /std/player/life.c
+
+ARGUMENTE:
+     ob - das Objekt, das sich austragen moechte.
+
+BESCHREIBUNG:
+     Entfernt den Eintrag fuer dieses Objekt in P_HP_HOOKS.
+
+RUECKGABEWERT:
+     1, wenn Erfolg, 0 sonst
+
+SIEHE AUCH:
+     Gegenpart:	AddHpHook()
+     Props:	P_HP_HOOKS, P_HP
+
+23.Feb.2004 Gloinson
diff --git a/doc/lfun/obsolete/RemoveInsertHook b/doc/lfun/obsolete/RemoveInsertHook
new file mode 100644
index 0000000..f232eed
--- /dev/null
+++ b/doc/lfun/obsolete/RemoveInsertHook
@@ -0,0 +1,31 @@
+********************* OBSOLETE LFUN ***********************************
+* Diese Efun bitte nicht mehr benutzen, sondern stattdessen die       *
+* Hooks (s. /doc/std/hooks).                                          *
+***********************************************************************
+RemoveInsertHook()
+
+FUNKTION:
+     void RemoveInsertHook(object ob);
+
+DEFINIERT IN:
+     /std/player/restrictions.c
+
+ARGUMENTE:
+     ob - Das Objekt, das als Listener aus der Liste ausgetragen werden soll
+
+BESCHREIBUNG:
+     (Diese Funktionalitaet wurde ersetzt durch den allgemeinen Hook
+      H_HOOK_INSERT und ist nur noch aus Gruenden der Kompatibilitaet
+      vorhanden.)
+
+     Diese Funktion wird im Spielerobjekt aufgerufen, um ein als Listener
+     eingetragenes Hook-Objekt ob wieder auszutragen.
+
+RUeCKGABEWERT:
+     keiner
+
+SIEHE AUCH:
+    NotifyInsert(), AddInsertHook(), QueryInsertHooks()
+
+----------------------------------------------------------------------------
+Last modified: 14.04.2010, Arathorn
diff --git a/doc/lfun/obsolete/TestAttributeLock b/doc/lfun/obsolete/TestAttributeLock
new file mode 100644
index 0000000..126e931
--- /dev/null
+++ b/doc/lfun/obsolete/TestAttributeLock
@@ -0,0 +1,25 @@
+********************* OBSOLETE LFUN ***********************************
+TestAttributeLock()
+FUNKTION:
+     string TestAttributeLock(mapping check)
+
+DEFINIERT IN:
+     /std/living/attributes.c
+

+PARAMETER:

+     check	- Mapping mit Attributen: ([<attr>:<wert>])

+
+BESCHREIBUNG:
+     Prueft, ob eines der im Mapping enthaltenen Attribute blockiert

+     ist (bereits durch einen anderen Modifier belegt wurde).
+     
+     Da Modifier nicht mehr direkt blockieren ist diese Funktion obsolet
+     und in Livings inzwischen nicht mehr existent.
+
+SIEHE AUCH:
+     QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),

+     SetAttr(), SetAttribute(), SetRealAttribute(), UpdateAttributes(),

+     P_ATTRIBUTES, P_ATTRIBUTES_OFFSETS, P_ATTRIBUTES_MODIFIER,

+     P_X_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c

+
+11.05.2007, Zesstra
diff --git a/doc/lfun/obsolete/extra_look b/doc/lfun/obsolete/extra_look
new file mode 100644
index 0000000..753a8ed
--- /dev/null
+++ b/doc/lfun/obsolete/extra_look
@@ -0,0 +1,19 @@
+********************* VERALTETE LFUN ******************************
+* Diese LFUN ist veraltet. Bitte benutzt sie NICHT mehr, sondern  *
+* stattdessden AddExtraLook().                                    *
+*******************************************************************
+
+extra_look()
+
+FUNKTION:
+    string extra_look();
+
+BESCHREIBUNG:
+    Kann in Objekt definiert sein. Wenn ein Living (std/living/description)
+    das Objekt enthaelt, wird zu dessen long() der zurueckgegebene String
+    hinzugefuegt.
+
+SIEHE AUCH:
+    AddExtraLook()
+
+25.Jan 2015 Gloinson
diff --git a/doc/lfun/obsolete/paramove b/doc/lfun/obsolete/paramove
new file mode 100644
index 0000000..96686a2
--- /dev/null
+++ b/doc/lfun/obsolete/paramove
@@ -0,0 +1,45 @@
+****************************************************************************
+************************* VERALTETE LFUN ***********************************
+************************* DO NOT USE!    ***********************************
+****************************************************************************
+paramove()
+
+FUNKTION:
+     int paramove();
+
+DEFINIERT IN:
+     /std/room/para.c
+
+ARGUMENTE:
+     keine
+
+BESCHREIBUNG:
+     Bewegt den Spieler ggf. in eine Paralleldimension.
+
+RUeCKGABEWERT:
+     1, wenn der Spieler die Dimension gewechselt hat.
+
+BEISPIEL:
+     init(){
+       if(!paramove()) ::init();
+      }
+
+BEMERKUNGEN:
+     DIESE FUNKTION NICHT MEHR BENUTZEN!
+
+     Diese Funktion sollte nur aus einem init() aufgerufen werden!
+
+     Fuer die Entscheidung, in welchem Raum ein Spieler in Abhaengigkeit 
+     von P_PARA landet, ist die Funktion move() zustaendig. Als Magier 
+     muss man sich darum nicht gesondert kuemmern. Das heisst aber auch, 
+     dass beim Anschluss eines Normalweltraumes automatisch alle in dem 
+     Verzeichnis mit gleichem Namen vorhandenen Parallelweltraeume mit 
+     angeschlossen werden.
+
+     Deswegen ist paramove() veraltet und sollte nicht mehr genutzt werden.
+
+SIEHE AUCH:
+     /std/room/para.c, P_PARA, P_NO_PLAYERS, move
+
+----------------------------------------------------------------------------
+Last modified: 05.08.2007, Zesstra