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