Netztotenraum: reset statt callout
Die Genauigkeit von reset reicht voellig aus, daher
Netztotenraum auf reset() umgestellt, um Aufraeum-
arbeiten durchzufuehren.
Ein paar Funktionssignaturen praezisiert.
Und weg() und wegraeumen() nicht mehr oeffentlich -
war ja gruslig...
Change-Id: Ib64b82b09be725efda6265e01b79b9b4e02616ea
diff --git a/room/netztot.c b/room/netztot.c
index 341c46b..dca7ba6 100644
--- a/room/netztot.c
+++ b/room/netztot.c
@@ -5,13 +5,12 @@
#include <wizlevels.h>
#include <moving.h>
-create()
+protected void create()
{
- call_out("invcheck",120);
"/obj/sperrer"->NixGibts();
}
-weg(ob)
+private void weg(object ob)
{
if (!objectp(ob))
return;
@@ -20,10 +19,10 @@
destruct(ob);
}
-wegraeumen(ob)
+private void wegraeumen(object ob)
{
object *x;
-
+
if (!objectp(ob))
return;
for (x=deep_inventory(ob);sizeof(x);x=x[1..])
@@ -32,9 +31,9 @@
weg(ob);
}
-invcheck()
-{
- while(remove_call_out("invcheck")!=-1);
+void reset()
+{
+ set_next_reset(120);
foreach(object ob: all_inventory(this_object()))
{
if (interactive(ob))
@@ -43,13 +42,12 @@
set_object_heart_beat(ob,1);
}
else if (!query_once_interactive(ob) && object_name(ob)!="/obj/sperrer")
- call_out("wegraeumen",1,ob);
+ call_out(#'wegraeumen,1,ob);
}
- call_out("invcheck",120);
"/obj/sperrer"->upd();
}
-init()
+void init()
{
if (!this_player())
return;
@@ -65,26 +63,27 @@
set_object_heart_beat(this_player(),0);
}
-int_long()
+public string int_long()
{
return "Dies ist der Netztotenraum. Es ist dunkel. Du siehst nichts.\n";
}
-int_short()
+public string int_short()
{
return "Nichts zu sehen.\n";
}
-QueryProp(string str)
+public mixed QueryProp(string str)
{
switch (str) {
case "int_long": return int_long();
case "int_short": return int_short();
}
+ return 0;
}
// Nicht jeder Magier darf den Netztotenraum entsorgen.
-string NotifyDestruct(object caller) {
+public string NotifyDestruct(object caller) {
if( (caller!=this_object() && !ARCH_SECURITY) || process_call() ) {
return "Du darfst den Netztotenraum nicht zerstoeren!\n";
}