P_INTERNAL_EXTRA_LOOK-Dokumentation und Konstanten
* Dokumentation ueberarbeitet und praezisiert
* magic numbers fuer Rueckgabewerte und Schluessel durch
  Konstanten in Header/im Code ersetzt

Change-Id: I3d38867f24510ef4fc97d7f3cdf350e169a63ccd
diff --git a/doc/sphinx/lfun/RemoveExtraLook.rst b/doc/sphinx/lfun/RemoveExtraLook.rst
index 3a81693..ed2c04b 100644
--- a/doc/sphinx/lfun/RemoveExtraLook.rst
+++ b/doc/sphinx/lfun/RemoveExtraLook.rst
@@ -1,66 +1,81 @@
 RemoveExtraLook()
 =================
 
-RemoveExtraLook()
+FUNKTION
+--------
 
 int RemoveExtraLook(string key);
-----------------------------------------------------
-::
 
 DEFINIERT IN
 ------------
-::
-
-  /std/living/description.c
-
-BESCHREIBUNG
-------------
-::
-
-  Der Extralook erscheint in der Langbeschreibung des Lebewesens.
-  Eintraege koennen mit dieser Funktion (vorzeitig) wieder entfernt werden.
+    /std/living/description.c
 
 ARGUMENTE
 ---------
-::
+    - string key:
+      Schluessel, unter dem der Extralook registriert wurde ODER
+      Objektname des registrierenden Objektes
 
-  - string key:
-    Schluesselwort, unter dem der Eintrag, den man entfernen moechte, von
-    AddExtraLook() registriert wurde.
+BESCHREIBUNG
+------------
+    Der Extralook erscheint in der Langbeschreibung des Lebewesens.
 
-RUECKGABEWERTE
---------------
-::
-
-  > 0, falls der Eintrag erfolgreich entfernt wurde.
-  < 0 sonst.
-    -1: keinen (gueltigen) <key> uebergeben.
-    -2: kein Eintrag fuer <key> gefunden.
+    Eintraege koennen mit dieser Funktion (vorzeitig) wieder entfernt
+    werden. Dazu wird entweder der selbst festgelegte Schluessel oder
+    der implizite Schluessel `object_name()` des setzenden Objekts
+    benoetigt.
 
 BEMERKUNGEN
 -----------
-::
+    Beim Entfernen mit dieser Funktion wird die "Endemeldung" des entfernten
+    Eintrages nicht ausgegeben.
 
-  Beim Entfernen mit dieser Funktion wird die "Endemeldung" des entfernten
-  Eintrages nicht ausgegeben.
+RUECKGABEWERTE
+--------------
+    Siehe auch /sys/living/description.h fuer Konstanten.
+
+    - 1, falls der Eintrag erfolgreich entfernt wurde.
+    - < 0 sonst.
+
+      - -1: keinen (gueltigen) <key> uebergeben.
+      - -2: kein Eintrag fuer <key> gefunden.
 
 BEISPIELE
 ---------
-::
 
-  // Extralook registrieren.
-  living->AddExtraLook(
-    "@WER1 wird von einer Horde Daemonen verfolgt.",
-    1800,
-    // Ohne das gehts nicht, sonst gibt es keine ID, die man zum Loeschen
-    // verwenden koennte.
-    "ennox_daemonenhordenverfolgerlook");
-  // Nun kann der Eintrag auch wieder entfernt werden:
-  living->RemoveExtraLook("ennox_daemonenhordenverfolgerlook");
+.. code-block:: pike
+
+    // (1) Loeschen ueber expliziten Key
+    living->AddExtraLook(
+      "@WER1 wird von einer Horde Daemonen verfolgt.",
+      1800, "ennox_daemonenhordenverfolgerlook");
+
+    // Nun kann der Eintrag auch wieder entfernt werden:
+    living->RemoveExtraLook("ennox_daemonenhordenverfolgerlook");
+
+.. code-block:: pike
+
+    // (2) Loeschen ueber impliziten Objektnamen-Schluessel
+    living->AddExtraLook("Eine Sonnenblume ragt aus dem Ohr.")
+    // das ist nur aus dem gleichen Objekt heraus moeglich:
+    living->RemoveExtraLook(0);
+
+.. code-block:: pike
+
+    // (3) Loeschen ueber impliziten Objektnamen-Schluessel
+    string implizite_id = object_name(this_object());
+    living->AddExtraLook("Eine Sonnenblume ragt aus dem Ohr.")
+    // diese ID kann man natuerlich durch die Gegend schicken
+    living->RemoveExtraLook(implizite_id);
 
 SIEHE AUCH
 ----------
 
-  :doc:`AddExtraLook`
-  :doc:`../props/P_INTERNAL_EXTRA_LOOK`
-  :doc:`../props/P_EXTRA_LOOK`
+   Verwandt:
+     :doc:`AddExtraLook`, :doc:`../props/P_INTERNAL_EXTRA_LOOK`
+   Sonstiges:
+     :doc:`../sefun/replace_personal`, :doc:`../sefun/break_string`
+   Fuer Spielerobjekte:
+     :doc:`../props/P_EXTRA_LOOK`
+
+15. Jun 2017 Gloinson