Dokumentation von F_REPLACE praezisiert
zusaetzlich ein passendes Beispiel ergaenzt
Change-Id: Ie8e95b306f095ac090e6b9fa81f1142e5c63afa3
diff --git a/doc/props/P_FISH b/doc/props/P_FISH
index 0fa259f..5449da9 100644
--- a/doc/props/P_FISH
+++ b/doc/props/P_FISH
@@ -35,10 +35,11 @@
haengt. Ist er zu schwer fuer die Angel und reisst ab, bleibt der
Koeder erhalten.
F_REPLACE
- Fisch soll sich beim Entfernen von der Angel verwandeln. Hierzu ist
- die Funktion ReplaceFish() im Fisch zu definieren, die sich um die
- Verwandlung kuemmert (z.B. Monster clonen und Fisch zerstoeren; ein
- Beispiel findet sich in /d/ebene/fraggle/angel2/obj/saegefisch.c).
+ Fisch soll sich beim Einholen der Angel verwandeln, technisch:
+ wenn er geclont und in die Angel bewegt wurde. Hierzu ist die
+ Funktion ReplaceFish() im Fisch zu definieren, die sich um die
+ Verwandlung kuemmert (z.B. Monster clonen und Fisch zerstoeren,
+ Beispiel siehe unten).
F_NOHEAL
Fisch heilt nicht bei Verzehr
@@ -83,10 +84,35 @@
Gewaesser wieder dem Normalwert.
+BEISPIEL
+========
+
+ protected void create() {
+ [...]
+ SetProp(P_FISH, F_REPLACE);
+ [...]
+ }
+
+ // ReplaceFish() wird per call_out() mit Funktionsnamen (d.h. als String)
+ // gerufen, daher muss die Sichtbarkeit public oder static sein.
+ static void ReplaceFish() {
+ tell_object(this_player(), break_string("Der Katzenhai glitscht Dir
+ "aus der Hand und streift seine Haut ab. Vor Dir steht eine "
+ "niedliche, schwarze Katze!", 78));
+ tell_room(environment(this_player()), break_string(
+ this_player()->Name(WEM)+" glitscht ein Katzenhai aus der Hand "
+ "und streift seine Haut ab. Ueberraschend steht eine niedliche, "
+ "schwarze Katze vor Dir!", 78));
+ object monster = clone_object("/d/irgendwo/irgendwer/mon/haikatze");
+ monster->move(environment(TP), M_GO|M_SILENT);
+ remove();
+ }
+
+
SIEHE AUCH
==========
Properties: P_WATER
Methoden: GetAquarium(L)
-Zuletzt geaendert: 2014-Aug-21, Arathorn
+Zuletzt geaendert: 2018-Jul-18, Arathorn
diff --git a/doc/sphinx/props/P_FISH.rst b/doc/sphinx/props/P_FISH.rst
index f91a4d8..20f7199 100644
--- a/doc/sphinx/props/P_FISH.rst
+++ b/doc/sphinx/props/P_FISH.rst
@@ -34,10 +34,11 @@
haengt. Ist er zu schwer fuer die Angel und reisst ab, bleibt der
Koeder erhalten.
F_REPLACE
- Fisch soll sich beim Entfernen von der Angel verwandeln. Hierzu ist
- die Funktion ReplaceFish() im Fisch zu definieren, die sich um die
- Verwandlung kuemmert (z.B. Monster clonen und Fisch zerstoeren; ein
- Beispiel findet sich in /d/ebene/fraggle/angel2/obj/saegefisch.c).
+ Fisch soll sich beim Einholen der Angel verwandeln, technisch:
+ wenn er geclont und in die Angel bewegt wurde. Hierzu ist die
+ Funktion ReplaceFish() im Fisch zu definieren, die sich um die
+ Verwandlung kuemmert (z.B. Monster clonen und Fisch zerstoeren,
+ Beispiel siehe unten).
F_NOHEAL
Fisch heilt nicht bei Verzehr
@@ -81,6 +82,32 @@
von -100 gesetzt hat und der Koeder +100, entspricht die Fischdichte im
Gewaesser wieder dem Normalwert.
+
+BEISPIEL
+--------
+::
+
+ protected void create() {
+ [...]
+ SetProp(P_FISH, F_REPLACE);
+ [...]
+ }
+
+ // ReplaceFish() wird per call_out() mit Funktionsnamen (d.h. als String)
+ // gerufen, daher muss die Sichtbarkeit public oder static sein.
+ static void ReplaceFish() {
+ tell_object(this_player(), break_string("Der Katzenhai glitscht Dir
+ "aus der Hand und streift seine Haut ab. Vor Dir steht eine "
+ "niedliche, schwarze Katze!", 78));
+ tell_room(environment(this_player()), break_string(
+ this_player()->Name(WEM)+" glitscht ein Katzenhai aus der Hand "
+ "und streift seine Haut ab. Ueberraschend steht eine niedliche, "
+ "schwarze Katze vor Dir!", 78));
+ object monster = clone_object("/d/irgendwo/irgendwer/mon/haikatze");
+ monster->move(environment(TP), M_GO|M_SILENT);
+ remove();
+ }
+
SIEHE AUCH
----------
::
@@ -89,5 +116,5 @@
Methoden: GetAquarium(L)
-Zuletzt geaendert: 2014-Aug-21, Arathorn
+Zuletzt geaendert: 2018-Jul-18, Arathorn