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... */