Update von efun-Manpages aus Driversourcen.

Aktualisiert manpages, welche wenig oder nicht vom
MG modifizier wurden.

Change-Id: If70b4fc27cfd38cb9e98cb48328a48731969a76f
diff --git a/doc/efun/clone_object b/doc/efun/clone_object
index f622bef..3b6734f 100644
--- a/doc/efun/clone_object
+++ b/doc/efun/clone_object
@@ -1,23 +1,71 @@
-SYNOPSIS:
+SYNOPSIS
         object clone_object(string name)
+        object clone_object(object template)
 
-DESCRIPTION:
-        Clone a new object from definition name, and give it a new unique
-	name. Return the new object.
-        
-        The original, called blue print, used for cloning, should not be
-	used in the game, only be used for cloning. The cloned objects
-	contain only the data but the blue print also the function code.
-	The blue print is the one without a unique number at the end of
-	the object's object_name(). The clone_object() function never
-	returns a blue print.
-        
-        Note that the pathname must be complete, which means there are no
-        relative paths allowed.
+BESCHREIBUNG
+        Clont ein neues Objekt aus der Definiton <name> oder alternativ aus
+        dem Objekt <template>. In beiden Faellen wird dem Clon ein
+        individueller Name zugeordnet, dann wird der Clon zurueck gegeben.
 
-EXAMPLE:
-        object torch;
-        torch = clone_object("/obj/torch");
+        Das Original, Blueprint genannt, wird nur fuer das Clonen verwendet
+        und sollte deshalb nicht im Spiel genutzt werden. Die geclonten
+        Objekte enthalten nur Daten, der Blueprint hingegen auch den
+        Funktionscode.
 
-SEE ALSO:
-        destruct(E), move_object(E), uids(C)
+        Den Blueprint erkennt man daran, dass er keine Nummer im Objektnamen
+        traegt. clone_object() liefert niemals einen Blueprint zurueck.
+
+        Wenn der Blueprint existiert und einen heart_beat() aufweist, schaltet
+        clone_object() diesen aus.
+
+        Die Pfadangabe muss komplett sein. Relative Pfade sind nicht gestattet.
+        Wenn strikte EUIDs gefordert werden, muss das clonende Objekt eine
+        EUID != 0 haben.
+
+
+        -- Variablen Initialisierung --
+
+        Allgemein werden die Variablen in Blueprints und Clones gleichermassen
+        durch Aufruf der internen lfun __INIT() initialisiert.
+
+        Ist allerdings das #pragma share_variables in Effekt (entweder
+        explizit im Objekt angegeben, oder als allgemeine Laufzeitoption),
+        werden die Werte fuer die Klonvariable aus den _aktuellen_ Variablen
+        der Blueprint kopiert.
+
+        Variablen ohne explizite Initialisierung sind hiervon unbetroffen und
+        werden stets auf 0 gesetzt.
+
+
+BEISPIELE
+        // Clone eine Fackel (Name des Files nicht im Compat Format)
+        object fackel;
+        fackel = clone_object("/obj/fackel");
+
+        // Clone zwei Schluessel (Name des Files im Compat Format)
+        object key1, key2;
+        key1 = clone_object(load_object("obj/key"));
+        key2 = clone_object(key1);
+
+        // Create a specialized weapons blueprint.
+        --- std/weapon.c: --- 
+        #pragma share_variables
+        int weapon_class = 1;
+
+        --- broadsword.c: ---
+        inherit "/std/weapon";
+
+        int create() {
+            weapon_class = 2;
+            replace_program("/std/weapon");
+        }
+
+
+GESCHICHTE
+        Modifiziert in LDMud 3.2.6: es werden auch Objekte als Argument
+            akzeptiert.
+        LDMud 3.3.378 fuehrte das pragma share_variables ein.
+
+SIEHE AUCH
+        blueprint(E), clonep(E), destruct(E), clones(E), load_name(E),
+        load_object(E), move_object(E), uids(C), program_name(E), pragma(LPC)