blob: dca7ba64089a7a7cb888c54b0b8a2d1e24439959 [file] [log] [blame]
// MorgenGrauen MUDlib
//
// $Id: netztot.c 8747 2014-04-26 13:08:47Z Zesstra $
#include <wizlevels.h>
#include <moving.h>
protected void create()
{
"/obj/sperrer"->NixGibts();
}
private void weg(object ob)
{
if (!objectp(ob))
return;
ob->remove();
if (ob)
destruct(ob);
}
private void wegraeumen(object ob)
{
object *x;
if (!objectp(ob))
return;
for (x=deep_inventory(ob);sizeof(x);x=x[1..])
weg(x[0]);
ob->move("/room/void",M_NOCHECK|M_SILENT);
weg(ob);
}
void reset()
{
set_next_reset(120);
foreach(object ob: all_inventory(this_object()))
{
if (interactive(ob))
{
catch(this_player()->move("/room/void",M_GO));
set_object_heart_beat(ob,1);
}
else if (!query_once_interactive(ob) && object_name(ob)!="/obj/sperrer")
call_out(#'wegraeumen,1,ob);
}
"/obj/sperrer"->upd();
}
void init()
{
if (!this_player())
return;
catch(this_player()->StopHuntingMode());
if (interactive(this_player()))
catch(this_player()->move("/room/void",M_GO));
if (!query_once_interactive(this_player()))
{
this_player()->remove();
if(this_player())
destruct(this_player());
}
set_object_heart_beat(this_player(),0);
}
public string int_long()
{
return "Dies ist der Netztotenraum. Es ist dunkel. Du siehst nichts.\n";
}
public string int_short()
{
return "Nichts zu sehen.\n";
}
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.
public string NotifyDestruct(object caller) {
if( (caller!=this_object() && !ARCH_SECURITY) || process_call() ) {
return "Du darfst den Netztotenraum nicht zerstoeren!\n";
}
}