MG-spezifische Ergaenzen zu Driver efun manpages

neue Manpages, welche Ergaenzungen, Bemerkungen oder
Beispiele zu Manpages zu efuns aus dem Driver
enthalten.

Change-Id: Ia33f28857d5acc21f1ade3abe86a04052d8f6728
diff --git a/doc/sphinx/efun-mg/environment.rst b/doc/sphinx/efun-mg/environment.rst
new file mode 100644
index 0000000..04cf5c1
--- /dev/null
+++ b/doc/sphinx/efun-mg/environment.rst
@@ -0,0 +1,61 @@
+environment
+===========
+
+BEMERKUNGEN
+-----------
+
+  Blueprints, wie zum Beispiel Raeume haben oft kein environment(). Man sollte
+  daher ueberpruefen, ob ein environment() existiert, wenn man darin oder
+  darauf eine Funktion aufrufen will.
+
+BEISPIELE
+---------
+
+   .. code-block:: pike
+
+     // In der Variable "raum" steht der Raum, in dem sich der Spieler
+     // derzeit aufhaelt - das kann auch 0 sein!
+
+     raum = environment(this_player());
+
+     // Dieses Objekt hat noch kein environment, da es eben erst geclont
+     // wurde. Ergo steht in env eine 0.
+     obj = clone_object("/std/thing");
+     env = environment(obj);
+
+     // alle Methoden die auf Environment arbeiten, sollten das vorher
+     // pruefen - insbesondere tell_room()
+     if(this_player() && environment(this_player()) &&
+        objectp(o=present("schild",environment(this_player()))) {
+
+      write("Du klebst Deine Plakette auf "+o->name(WEN)+".\n");
+      tell_room(environment(this_player()), break_string(
+            this_player()->Name(WER)+" pappt einen Aufkleber auf "
+            +o->name(WEN)+".",78), ({this_player()}));
+     }
+
+     // wenn Dinge sehr offensichtlich in Leuten kaputtgehen wird es
+     // komplexer (man kann das natuerlich noch weiter schachteln oder
+     // ueber all_environment() versuchen zu loesen
+     if(environment()) {
+      object ee;
+      ee=environment(environment());
+      if(living(environment()))
+      {
+        tell_object(environment(),Name(WER)+" zerfaellt.\n");
+        if(ee)
+          tell_room(ee, environment()->Name(WESSEN)
+               +" "+name(RAW)+" zerfaellt.\n", ({environment()}));
+      }
+      else if(ee && living(ee))
+      {
+        if(environment()->QueryProp(P_TRANSPARENT))
+          tell_object(ee, Name(WER)+" zerfaellt in Deine"
+              + (environment()->QueryProp(P_PLURAL) ? "n" : 
+                  (environment()->QueryProp(P_GENDER)==FEMALE?"r":"m"))
+              + environment()->name(RAW)+".\n");
+      }
+      else
+        tell_room(environment(),Name(WER)+" zerfaellt.\n");
+     }
+