Anpassungen Ebenen-Supervisoren

Diese Objekte brauchen noch die SV-Funktionalitaeten.

Change-Id: I08345bcb7488bb59202a0f597e5e15107ceec7c2
diff --git a/p/daemon/debug.c b/p/daemon/debug.c
index e7270df..3a92cb3 100644
--- a/p/daemon/debug.c
+++ b/p/daemon/debug.c
@@ -12,7 +12,7 @@
     d_end = d_start = e_end = e_start = file_size(__DEBUG_LOG__);
 }
 
-int check_ch_access( string ch, object pl, string cmd, string txt )
+int ch_check_access( string ch, object pl, string cmd, string txt )
 {
     mixed tmp;
     
diff --git a/room/death/death_room.c b/room/death/death_room.c
index 5669267..a7cc64e 100644
--- a/room/death/death_room.c
+++ b/room/death/death_room.c
@@ -16,6 +16,7 @@
 #include <new_skills.h>
 
 inherit "/std/room";
+nosave variables inherit "/std/channel_supervisor";
 
 mixed *players;
 mapping msgCache;
@@ -41,9 +42,10 @@
 
 public void create()
 {
-  if (IS_CLONE(this_object())) return;
+    if (IS_CLONE(this_object())) return;
     ::create();
-    
+    ch_read_init_file();
+
     players = ({});
     flush(0);
 
@@ -65,6 +67,15 @@
              "von denen geheimnisvolle Runen leuchten.\nTod.", 78, 0, 1 ) );
 }
 
+public varargs string name(int casus,int demon)
+{
+    return room::name(casus, demon);
+}
+
+public varargs string Name(int casus, int demon)
+{
+    return room::Name(casus, demon);
+}
 
 public void reset()
 {
diff --git a/secure/misc/twitter.c b/secure/misc/twitter.c
index 99245b2..b749072 100644
--- a/secure/misc/twitter.c
+++ b/secure/misc/twitter.c
@@ -17,8 +17,12 @@
 
 #define DEBUG(x) tell_object(find_player("rumata"),x+"\n")
 
-void create() {
-	seteuid(getuid());
+nosave variables inherit "/std/channel_supervisor";
+
+protected void create() {
+  ::create();
+	ch_read_init_file();
+  seteuid(getuid());
   CHMASTER->join("twitter",this_object());
 }
 
@@ -129,6 +133,10 @@
 	return "(Twitter)";
 }
 
+varargs string name( int casus, int demon ) {
+	return "twitter";
+}
+
 varargs string Name( int casus, int demon ) {
 	return "Twitter";
 }
diff --git a/secure/udp/channel.c b/secure/udp/channel.c
index 3592ffe..d640484 100644
--- a/secure/udp/channel.c
+++ b/secure/udp/channel.c
@@ -16,8 +16,17 @@
 #define COMMAND                "cmd"
 #define CHANNEL                "channel"
 
+inherit "/std/channel_supervisor";
+
 private nosave mixed _name_;
 
+protected void create()
+{
+  ::create();
+  ch_set_sv_name("<Intermud>");
+  ch_read_init_file();
+}
+
 int filter_listeners(object ob, string channel) {
     return ob->QueryProp(P_INTERMUD);
 }
@@ -81,8 +90,14 @@
   return 1;
 }
 
-string name() { return _name_ || "<Intermud>"; }
-string Name() {return capitalize(_name_ || "<Intermud>");}
+public varargs string name()
+{
+  return _name_ || "<Intermud>";
+}
+public varargs string Name()
+{
+  return capitalize(_name_ || "<Intermud>");
+}
 
 private void _send(string mud, mixed data, mapping request)
 {
diff --git a/std/corpse.c b/std/corpse.c
index 05d6424..43e117e 100644
--- a/std/corpse.c
+++ b/std/corpse.c
@@ -20,7 +20,8 @@
 
 //#define NEED_PROTOTYPES
 
-inherit "std/container";
+inherit "/std/container";
+nosave variables inherit "/std/channel_supervisor";
 
 #include <properties.h>
 #include <language.h>
@@ -51,7 +52,7 @@
 object _channel( object ob );
 void transform_into_pile();
 
-void create()
+protected void create()
 {
   if (object_name(ME) == __FILE__[0..<3]) {
     set_next_reset(-1);
@@ -70,7 +71,26 @@
     SetProp(P_ARTICLE, 1);
   }
   else
+  {
     SetProp( P_ARTICLE, 0 );
+    ch_read_init_file();
+    ch_set_sv_name("Lars");
+    CHMASTER->join("moerder",this_object());
+  }
+}
+
+public varargs string name(int casus,int demon)
+{
+  if (!clonep() && object_name(previous_object()) == CHMASTER)
+    return channel_supervisor::name(casus,demon);
+  return container::name(casus, demon);
+}
+
+public varargs string Name(int casus, int demon)
+{
+  if (!clonep() && object_name(previous_object()) == CHMASTER)
+    return channel_supervisor::name(casus,demon);
+  return container::Name(casus, demon);
 }
 
 /* Damit die Leiche nicht voll wird... */