Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/doc/lfun/RegisterHelperNPC b/doc/lfun/RegisterHelperNPC
new file mode 100644
index 0000000..170e8b1
--- /dev/null
+++ b/doc/lfun/RegisterHelperNPC
@@ -0,0 +1,87 @@
+RegisterHelperNPC()
+FUNKTION:
+     public int RegisterHelperNPC(object npc, int flags);
+
+DEFINIERT IN:
+     /std/player/combat.c
+     /sys/living/combat.h
+
+ARGUMENTE:
+     object npc
+       Objekt des helfenden NPC, der angemeldet werden soll.
+
+     int flags
+       ver-oder-te Konstanten, die die Art des Helfer-NPC beschreiben (s.u.)
+
+BESCHREIBUNG:
+     Mit dieser Funktion wird ein einem Spieler helfender NPC im Spieler
+     angemeldet. Hierdurch kann spaeter herausgefunden werden, welche NPC
+     einem Spieler helfen und ggf. den von diesen verursachten Schaden im
+     Kampf dem Spieler zuzurechnen.
+
+     Die Flags sind eine der folgenden Konstanten oder eine beliebige durch
+     ver-oder-ung gebildete Kombination.
+
+     Momentan gibt es 2 Klassen von Helfer-NPC:
+     + GUILD_HELPER: der Helfer-NPC ist ein Gilden-NPC
+     + MISC_HELPER:  der Helfer-NPC ist irgendein NPC, der nicht zu einer Gilde
+                     gehoert.
+
+     Zusaetzlich zu den Klassen gibt es noch weitere Flags, die etwas ueber
+     den Helfer-NPC sagen:
+
+     + EXCLUSIVE_HELPER: dieser Helfer-NPC duldet keinen weiteren NPC der
+                         gleichen Klasse.
+     + ACTIVE_HELPER: ist dieses Flag gesetzt, ist der NPC mehr als nur reiner
+                      Schlagfaenger.
+
+     Wird EXCLUSIVE_HELPER gesetzt und es ist in der gleichen Klasse schon ein
+     NPC angemeldet, schlaegt die Registrierung fehl.
+     Ist in der gleichen Klasse bereits ein NPC mit EXCLUSIVE_HELPER
+     angemeldet, schlaegt die Registierung ebenfalls fehl, auch wenn der neue
+     NPC kein EXCLUSIVE_HELPER setzt.
+
+RUeCKGABEWERT:
+     1, wenn die Registrierung erfolgreich war.
+     0 sonst. In diesem Fall darf der NPC dem Spieler NICHT helfen, weder
+       passiv (Schlagfaenger), noch aktiv.
+
+BEMERKUNGEN:
+     Diese Funktion setzt bei der Erfolg die Property P_HELPER_NPC in <npc>
+     auf passende Werte.
+     Bitte auf gar keinen Fall die numerischen Werte der Konstanten fuer
+     <flags> nutzen, diese koennen sich jederzeit aendern.
+
+BEISPIELE:
+     1. Ein nicht-exklusiver Gilden-NPC, der dem Spieler folgt.
+     if (spieler->RegisterHelperNPC(this_object(), GUILD_HELPER) == 1) {
+       move(environment(spieler), M_GO);
+       spieler->AddPursuer(this_object());
+       // meldung ausgebene...
+     }
+
+     2a. Ein exklusiver Nicht-Gilden-NPC
+     if (spieler->RegisterHelperNPC(this_object(),
+                                    MISC_HELPER|EXCLUSIVE_HELPER) == 1) {
+       move(environment(spieler), M_GO);
+     }
+
+     2b. Ein nicht-exklusiver Nicht-Gilde-NPC, der nach 2a. kommt.
+     if (spieler->RegisterHelperNPC(this_object(), MISC_HELPER) == 1) {
+       // ... wenn der NPC aus 2a noch existiert, trifft dies hier nie zu.
+     }
+
+     3. Ein exklusiver NPC, der weitere Gilden- und sonstige NPC ausschliesst
+        (Solche Kombination bitte mit der Gilden-Balance abstimmen.)
+     if (spieler->RegisterHelperNPC(this_object(), 
+                            MISC_HELPER|GUILD_HELPER|EXCLUSIVE_HELPER) == 1) {
+       move(environment(spieler), M_GO);
+     }
+
+     4. Die Registrierung ohne Klasse schlaegt fehl, z.B.:
+       spieler->RegisterHelperNPC(this_object(), 0);
+       spieler->RegisterHelperNPC(this_object(), EXCLUSIVE_HELPER);
+
+SIEHE AUCH:
+    UnregisterHelperNPC()
+    P_HELPER_NPC