Wrapper fuer ReceiveMsg()

Da die Wrapper im /std/room thematisch nirgendwo hin passten, wurde
/std/room/comm.c neu erstellt und ReceiveMsg() aus /std/room/items.c
dort hin verlegt.

Die lfun _notify() ist durch SendNotify() ueberfluessig und wurde
ersetzt.

Change-Id: Ia42d131228963cbf8023f6b1563c38f65a38bd63
diff --git a/std/player/base.c b/std/player/base.c
index 2b7d6fb..7f616d0 100644
--- a/std/player/base.c
+++ b/std/player/base.c
@@ -1338,7 +1338,7 @@
       if ( input_segments[1] == "" &&
            implode(input_segments[1..],"") == "" )
       {
-        _notify("Du hast hinter dem : nix eingegeben, bitte nochmal "
+        ReceiveNotify("Du hast hinter dem : nix eingegeben, bitte nochmal "
           "versuchen.\n", MA_UNKNOWN);
         // Eine neue Eingabe wird aber nur angefordert, wenn der aktuelle
         // Input ohnehin schon aus einem input_to()-Durchlauf stammte.
@@ -1384,7 +1384,7 @@
     smart_log(error_type, player_input, obj);
   }
   else
-    _notify("Eingabe abgebrochen.\n", MA_UNKNOWN);
+    ReceiveNotify("Eingabe abgebrochen.\n", MA_UNKNOWN);
   return 1;
 }
 
@@ -1438,12 +1438,12 @@
 {
   if (answer != "j" && answer != "ja")
   {
-    _notify("Eingabe abgebrochen.\n", MA_UNKNOWN);
+    ReceiveNotify("Eingabe abgebrochen.\n", MA_UNKNOWN);
     return;
   }
   if (!obj)
   {
-    _notify(sprintf("Leider existiert das Objekt nicht mehr, an dem Du "
+    ReceiveNotify(sprintf("Leider existiert das Objekt nicht mehr, an dem Du "
             "D%s melden wolltest.", desc), MA_UNKNOWN);
     return;
   }
@@ -1451,7 +1451,7 @@
   // ggf. will das Objekte selber loggen, dann wird nicht zentral geloggt.
   if (obj->SmartLog(0, myname, str, strftime("%d. %b %Y")))
   {
-    _notify(sprintf(
+    ReceiveNotify(sprintf(
        "Du hast an %s erfolgreich %s abgesetzt.\n"
        "Hinweis: Das Objekt selber hat die Meldung protokolliert.",
        (obj->IsRoom() ? "diesem Raum" : obj->name(WEM,1)),desc),
@@ -1461,14 +1461,14 @@
   {
     // Eintragung in die Fehler-DB
     string hashkey = ({string})ERRORD->LogReportedError(err);
-    _notify(sprintf(
+    ReceiveNotify(sprintf(
           "Ein kleiner Fehlerteufel hat D%s an %s unter der ID %s "
           "notiert.", desc,
           (obj->IsRoom() ? "diesem Raum" : obj->name(WEM,1)),
           hashkey || "N/A"),
         MA_UNKNOWN);
   }
-  _notify("Vielen Dank fuer die Hilfe.\n", MA_UNKNOWN);
+  ReceiveNotify("Vielen Dank fuer die Hilfe.\n", MA_UNKNOWN);
 }
 
 /** Loggt eine Spielermeldung an Magier.
@@ -1507,7 +1507,7 @@
       err[F_TYPE]=T_REPORTED_SYNTAX;
       break;
   }
-  _notify(sprintf(
+  ReceiveNotify(sprintf(
           "Du hast %s an %s mit der Beschreibung \"%s\" eingegeben. "
           "Wurde das richtige Zielobjekt ausgewaehlt und moechtest Du "
           "speichern?", desc,
diff --git a/std/player/comm.c b/std/player/comm.c
index 135d10e..a04200c 100644
--- a/std/player/comm.c
+++ b/std/player/comm.c
@@ -107,21 +107,13 @@
   report_cache = 0;
 }
 
-// uebermittelt eine MT_NOTIFICATION an this_object(), welche nicht ignoriert
-// werden kann und auch nicht gespeichert wird.
-protected void _notify(string msg, string action) {
-  ReceiveMsg(msg,
-             MT_NOTIFICATION|MSG_DONT_BUFFER|MSG_DONT_IGNORE|MSG_DONT_STORE,
-             action, 0, this_object());
-}
-
 protected void updates_after_restore(int newflag) {
   // Altes Ignoriere loeschen...
   mixed ign = Query(P_IGNORE,F_VALUE);
   if (!mappingp(ign))
   {
     if (pointerp(ign))
-      _notify(break_string(
+      ReceiveNotify(break_string(
         "Deine Ignoriere-Einstellungen wurden soeben geloescht, "
         "weil es eine Aktualisierung der Ignorierefunktion gab, "
         "bei der eine Konversion der Daten leider nicht "
@@ -980,7 +972,7 @@
   }
 
   beep_interval=({int})QueryProp(P_MESSAGE_BEEP);
-  _notify("Ton bei Mitteilungen: "+
+  ReceiveNotify("Ton bei Mitteilungen: "+
         (beep_interval ? "aller "+beep_interval+" Sekunden." : "aus."),
         query_verb());
   return 1;
@@ -996,7 +988,7 @@
     else return 0;
   }
 
-  _notify("Senderwiederholung bei Mitteilungen: "+ 
+  ReceiveNotify("Senderwiederholung bei Mitteilungen: "+ 
           (({int})QueryProp(P_MESSAGE_PREPEND) ?  "aus" : "ein")+".",
           query_verb());
 
@@ -1015,7 +1007,7 @@
   if(stringp(verb) && verb[0] == '\'') str = verb[1..] + " " + str;
   if (str==""||str==" "||!str)
   {
-    _notify("Was willst Du sagen?",MA_SAY);
+    ReceiveNotify("Was willst Du sagen?",MA_SAY);
     return 1;
   }
   msg=permutate(str);
@@ -1045,7 +1037,7 @@
 
   if (!(str=_unparsed_args()))
   {
-    _notify("Was willst Du rufen?",MA_SHOUT);
+    ReceiveNotify("Was willst Du rufen?",MA_SHOUT);
     return 1;
   }
   chars=sizeof(str)/2;
@@ -1073,15 +1065,15 @@
   if(!IS_LEARNER(this_player()))
   {
     if(QueryProp(P_GHOST)) {
-        _notify("So ganz ohne Koerper bekommst Du keinen Ton heraus.",
+        ReceiveNotify("So ganz ohne Koerper bekommst Du keinen Ton heraus.",
                 MA_SHOUT);
         return 1;
     }
     if (QueryProp(P_SP) <(chars+20))
     {
-      _notify("Du musst erst wieder magische Kraefte sammeln.",
+      ReceiveNotify("Du musst erst wieder magische Kraefte sammeln.",
               MA_SHOUT);
-      _notify("Tip: Benutz doch mal die Ebenen (Hilfe dazu mit 'hilfe "
+      ReceiveNotify("Tip: Benutz doch mal die Ebenen (Hilfe dazu mit 'hilfe "
               "Ebenen').", MA_SHOUT);
       return 1;
     }
@@ -1112,7 +1104,7 @@
 
   if (extern_call() && this_interactive()!=ME) return 1;
   if (!who || !msg) {
-    _notify("Was willst Du mitteilen?",MA_TELL);
+    ReceiveNotify("Was willst Du mitteilen?",MA_TELL);
     return 1;
   }
 
@@ -1152,7 +1144,7 @@
                                        SENDER:    getuid(ME),
                                        DATA:     msg ]), 1))
       {
-        _notify(ret, MA_TELL);
+        ReceiveNotify(ret, MA_TELL);
       }
       else
       {
@@ -1173,15 +1165,15 @@
     if (!stringp(it))
       switch(it) {
       case -1:
-        _notify("Das war nicht eindeutig!",MA_TELL);
+        ReceiveNotify("Das war nicht eindeutig!",MA_TELL);
         return 1;
       case -2:
-        _notify("Kein solcher Spieler!",MA_TELL);
+        ReceiveNotify("Kein solcher Spieler!",MA_TELL);
         return 1;
       }
     ob = find_player(it) || find_living(it);
     if(!ob) {
-      _notify("Kein solcher Spieler!",MA_TELL);
+      ReceiveNotify("Kein solcher Spieler!",MA_TELL);
       return 1;
     }
   }
@@ -1207,7 +1199,7 @@
     _recv(ob, msg, MSGFLAG_TELL, "Du teilst " + capitalize(it) + " mit: ");
   // oder irgendwas anderes an den Absender ausgeben...
   if (!visflag && interactive(ob))
-      _notify("Kein solcher Spieler!",MA_TELL);
+      ReceiveNotify("Kein solcher Spieler!",MA_TELL);
   else if (away = ({string})ob->QueryProp(P_AWAY))
       ReceiveMsg( break_string( away, 78, capitalize(it)
                            + " ist gerade nicht da: ", BS_INDENT_ONCE ),
@@ -1220,7 +1212,7 @@
       else
         away=time2string("%h %H und %m %M",i);
 
-      _notify(sprintf("%s ist seit %s voellig untaetig.",
+      ReceiveNotify(sprintf("%s ist seit %s voellig untaetig.",
               capitalize(it),away),
               MA_TELL);
     }
@@ -1269,12 +1261,12 @@
   if (!(str=_unparsed_args()) ||
        (sscanf(str, "%s zu %s", who, msg) != 2 &&
         sscanf(str, "%s %s", who, msg) !=2 )) {
-    _notify("Was willst Du wem zufluestern?",MA_SAY);
+    ReceiveNotify("Was willst Du wem zufluestern?",MA_SAY);
     return 1;
   }
   who = lower_case(who);
   if (!(ob = present(who, environment(this_player()))) || !living(ob)) {
-    _notify(capitalize(who)+" ist nicht in diesem Raum.",MA_SAY);
+    ReceiveNotify(capitalize(who)+" ist nicht in diesem Raum.",MA_SAY);
     return 1;
   }
 
@@ -1308,7 +1300,7 @@
   if (!(str=_unparsed_args()) ||
        (sscanf(str, "%s zu %s", who, msg) != 2 &&
         sscanf(str, "%s %s", who, msg) !=2 )) {
-    _notify("Was willst Du wem aus der Ferne zufluestern?",MA_EMOTE);
+    ReceiveNotify("Was willst Du wem aus der Ferne zufluestern?",MA_EMOTE);
     return 1;
   }
 
@@ -1318,21 +1310,21 @@
     if (!stringp(it))
       switch(it){
       case -1:
-        _notify("Das war nicht eindeutig!",MA_EMOTE);
+        ReceiveNotify("Das war nicht eindeutig!",MA_EMOTE);
         return 1;
       case -2:
-        _notify("Kein solcher Spieler!",MA_EMOTE);
+        ReceiveNotify("Kein solcher Spieler!",MA_EMOTE);
         return 1;
       }
     ob = find_player(it);
     if(!ob) ob = find_living(it);
     if(!ob){
-      _notify("Kein solcher Spieler!",MA_EMOTE);
+      ReceiveNotify("Kein solcher Spieler!",MA_EMOTE);
       return 1;
     }
   }
   if (environment(ob) == environment()) {
-    _notify("Wenn jemand neben Dir steht, nimm fluester.",MA_EMOTE);
+    ReceiveNotify("Wenn jemand neben Dir steht, nimm fluester.",MA_EMOTE);
     return 1;
   }
 
@@ -1347,7 +1339,7 @@
 
   // wenn Empfaenger invis und wir kein Magier , ggf. fakefehler ausgeben.
   if (ob->QueryProp(P_INVIS) && !IS_LEARNER(this_player())) {
-    _notify("Kein solcher Spieler!",MA_EMOTE);
+    ReceiveNotify("Kein solcher Spieler!",MA_EMOTE);
     return 1;
   }
   // sonst eigene Meldung via _recv() ausgeben.
@@ -1360,7 +1352,7 @@
 
 static int _converse(string arg)
 {
-  _notify("Mit '**' wird das Gespraech beendet.",MA_SAY);
+  ReceiveNotify("Mit '**' wird das Gespraech beendet.",MA_SAY);
   if (stringp(arg) && strstr(arg, "-s") == 0)
     input_to("_converse_more", INPUT_PROMPT, "]", 1);
   else
@@ -1371,7 +1363,7 @@
 static int _converse_more(mixed str, int silent)
 {
   if (str == "**") {
-    _notify("Ok.",MA_SAY);
+    ReceiveNotify("Ok.",MA_SAY);
     return 0;
   }
 
@@ -1390,7 +1382,7 @@
 
   str = _unparsed_args();
   if (!str||!sizeof(str)) {
-    _notify("Was willst Du den Magiern zurufen?",MA_SHOUT);
+    ReceiveNotify("Was willst Du den Magiern zurufen?",MA_SHOUT);
     return 1;
   }
   // Kontrollzeichen rausfiltern.
@@ -1413,7 +1405,7 @@
     return 0;
 
   if (!(str=_unparsed_args())) {
-    _notify("Was moechtest Du 'echoen'?", 0);
+    ReceiveNotify("Was moechtest Du 'echoen'?", 0);
     return 1;
   }
 
diff --git a/std/player/command.c b/std/player/command.c
index d342e90..30d1bf0 100644
--- a/std/player/command.c
+++ b/std/player/command.c
@@ -1101,27 +1101,27 @@
 {
   if (!stringp(cmd))
   {
-    _notify("Mit diesem Befehl kannst Du mithelfen, Syntaxen im MG zu "
+    ReceiveNotify("Mit diesem Befehl kannst Du mithelfen, Syntaxen im MG zu "
             "verbessern. Wenn Du einverstanden bist, speichern wir "
             "anonym (d.h. ohne Deinen Charnamen), welche Deiner Befehle "
             "erfolgreich und nicht erfolgreich waren. Uebliche "
             "Kommunikationsbefehle werden dabei nicht gespeichert.",
             0);
-    _notify("Mit 'syntaxsammlung ja' kannst Du die Speicherung einschalten, "
+    ReceiveNotify("Mit 'syntaxsammlung ja' kannst Du die Speicherung einschalten, "
             "mit 'syntaxsammlung nein' kannst Du sie ausschalten.",0);
-    _notify("Deine Befehle werden zur Zeit"
+    ReceiveNotify("Deine Befehle werden zur Zeit"
             + (QueryProp("_syntaxdb") ? " " : " NICHT ")
             + "gespeichert.", 0);
   }
   else if (cmd == "ja")
   {
     SetProp("_syntaxdb", 1);
-    _notify("Ab jetzt werden Deine Befehle gespeichert. Vielen Dank!", 0);
+    ReceiveNotify("Ab jetzt werden Deine Befehle gespeichert. Vielen Dank!", 0);
   }
   else
   {
     SetProp("_syntaxdb", 0);
-    _notify("Ab jetzt werden Deine Befehle NICHT gespeichert.", 0);
+    ReceiveNotify("Ab jetzt werden Deine Befehle NICHT gespeichert.", 0);
   }
   return 1;
 }