Manpage fuer ReceiveWave() und ReceiveDynWave()
Die fehlten leider noch...
Change-Id: Iaa3c15a032a5f9b172d0bd08298e71df4b0501cf
diff --git a/doc/sphinx/lfun/ReceiveDynWave.rst b/doc/sphinx/lfun/ReceiveDynWave.rst
new file mode 100644
index 0000000..567836b
--- /dev/null
+++ b/doc/sphinx/lfun/ReceiveDynWave.rst
@@ -0,0 +1,63 @@
+ReceiveWave()
+=============
+
+FUNKTION
+--------
+
+ public int ReceiveDynWave(struct wave_s wave, string msg_action = comm_guess_action(), object origin = previous_object());
+
+DEFINIERT IN
+------------
+
+ /std/living/comm.c
+
+ARGUMENTE
+---------
+
+ struct wave_s* wave
+ Die auszugebende Nachrichten mit Zusatzinformationen. (s.u.)
+ string action
+ action wird als <action> an ReceiveMsg() weitergegeben
+ object origin
+ Absenderobjekt der Nachricht (Default: previous_object())
+
+BESCHREIBUNG
+------------
+
+ Sendet die in <wave> angegebene Nachricht an den Empfaenger.
+
+ Im Unterschied zu ReceiveWave() wird ein Variable namens cl in <wave> vorher ausgewertet und kann dynamisch eine neue/geaenderte <wave> liefern, welche dann ausgegeben wird.
+
+ Hierbei ist <wave> also eine von wave_s erbende struct, welche (mindestens) eine Variable <cl> vom Typ closure zusaetzlich besitzt.
+
+RUECKGABEWERT
+-------------
+
+ Der Rueckgabe ist der Rueckgabewert von ReceiveMsg().
+
+BEISPIEL
+--------
+
+ .. code-block:: pike
+
+ // von wave_s abgeleitete struct
+ struct dynwave_s (wave_s) {
+ closure cl;
+ }
+ struct dynwave_s wave = (<dynwave_s> msg: "Pass auf! Ein boeser, schwarzer Drache!",
+ type: MT_LISTEN, prefix: "Humni ruft: ");
+ wave.cl = function struct wave_s (struct wave_s wave)
+ { wave.prefix = ({"Humni","Jof","Zook"})[random(3)] + " ruft: ";
+ return wave;
+ };
+ ReceiveWave(wave, MA_LISTEN);
+
+
+SIEHE AUCH
+----------
+
+ :doc:`ReceiveMsg`, :doc:`ReceiveWave`
+
+Letzte Aenderung: 30.07.2025, Zesstra
+
+
diff --git a/doc/sphinx/lfun/ReceiveWave.rst b/doc/sphinx/lfun/ReceiveWave.rst
new file mode 100644
index 0000000..d19b9bc
--- /dev/null
+++ b/doc/sphinx/lfun/ReceiveWave.rst
@@ -0,0 +1,66 @@
+ReceiveWave()
+=============
+
+FUNKTION
+--------
+
+ public int ReceiveWave(struct wave_s wave, string msg_action = comm_guess_action(), object origin = previous_object());
+
+DEFINIERT IN
+------------
+
+ /std/living/comm.c
+
+ARGUMENTE
+---------
+
+ struct wave_s* wave
+ Die auszugebende Nachrichten mit Zusatzinformationen. (s.u.)
+ string action
+ action wird als <action> an ReceiveMsg() weitergegeben
+ object origin
+ Absenderobjekt der Nachricht (Default: previous_object())
+
+BESCHREIBUNG
+------------
+
+ Sendet die in <wave> angegebene Nachricht an den Empfaenger.
+
+ <wave> ist meist eine struct wave_s. Diese fasst msg, msg_type und prefix fuer ReceiveMsg in eine Datenstruktur zusammen. Sie ist in /secure/simul_efun/comm.c definiert (und steht allen Programmen automatisch zur Verfuegung). Sie hat die Eintraege string msg, int type, string prefix.
+
+ <wave> kann jedoch auch eine von wave_s erbende struct sein, welche zusaetzliche Eintraege besitzt (die hier nicht benutzt werden). Damit kann man die Meldung mit anderen dazu gehoerenden Daten zusammenfassen.
+
+
+RUECKGABEWERT
+-------------
+
+ Der Rueckgabe ist der Rueckgabewert von ReceiveMsg().
+
+BEISPIEL
+--------
+
+ .. code-block:: pike
+
+ // Einfache Nachricht
+ this_player().ReceiveWave((<wave_s> msg: "Pass auf! Ein boeser, schwarzer Drache!",
+ type: MT_LISTEN, prefix: "Humni ruft: ") );
+ // von wave_s abgeleitete struct, welche einen einfach Zauberspruch beschreibt
+ struct spell_s (wave_s) {
+ int dam;
+ string* dam_type;
+ mapping si_spell;
+ }
+ struct spell_s sp = (<spell_s> msg: "Der Zauberer schleudert Dir einen Blitz entgegen.",
+ type: MT_LOOK|MT_FEEL, dam: 42, dam_type: DT_LIGHTNING,
+ sinfo: ([...]));
+ en.ReceiveWave(sp, MA_COMBAT);
+ en.Defend(sp.dam, sp.dam_type, sp.si_spell);
+
+
+SIEHE AUCH
+----------
+
+ :doc:`ReceiveMsg`, :doc:`ReceiveDynWave`
+
+Letzte Aenderung: 30.07.2025, Zesstra
+