Added public files
Roughly added all public files. Probably missed some, though.
diff --git a/doc/efun/first_inventory b/doc/efun/first_inventory
new file mode 100644
index 0000000..99be7fd
--- /dev/null
+++ b/doc/efun/first_inventory
@@ -0,0 +1,34 @@
+SYNOPSIS
+ object first_inventory();
+ object first_inventory(string ob);
+ object first_inventory(object ob);
+
+BESCHREIBUNG
+ Liefert das erste Objekt im Inventory von <obj>, wobei <obj> entweder
+ ein Objekt oder der Name eines Objekts ist. Wenn <obj> nicht angegeben
+ wird, wird standardmaessig this_object() verwendet.
+
+BEISPIELE
+ Diese Efun verwendet man am haeufigsten im folgenden Kontext:
+
+ for(obj=first_inventory(container);obj;obj=next_inventory(obj))
+ {
+ <irgendwelcher Code>
+ }
+
+ ACHTUNG: Wenn das Objekt <obj> innerhalb von <irgendwelcher Code>
+ bewegt wird, liefert next_inventory() ein Objekt aus dem neuen
+ Inventory von <obj>. Auch sollte next_inventory() nicht fuer
+ zerstoerte Objekte <obj> aufgerufen werden. Fuer den Fall, dass
+ <obj> bewegt und/oder zerstoert wird, ist folgende Loesung
+ vorzuziehen:
+
+ for(obj=first_inventory(container);obj;)
+ {
+ next=next_inventory(obj);
+ <irgendwelcher Code mit Moves oder Removes>
+ obj=next;
+ }
+
+SIEHE AUCH
+ next_inventory(E), all_inventory(E), environment(E), deep_inventory(E)