rst gefixt, Files erzeugt
Update autoerzeugter Manapges
Change-Id: I68afa0ee3d81fefa13ebd61df096a31812f2a4d1
diff --git a/doc/efun-mg/environment b/doc/efun-mg/environment
new file mode 100644
index 0000000..be6b524
--- /dev/null
+++ b/doc/efun-mg/environment
@@ -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
+=========
+
+ // 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");
+ }