blob: e9737272b6b7ada7947b69a90d6631c2d2d2231e [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001// MorgenGrauen MUDlib
2//
3// $Id: netztot.c 8747 2014-04-26 13:08:47Z Zesstra $
4
5#include <wizlevels.h>
6#include <moving.h>
7
Zesstra@Morgengrauen1bc8c8a2016-09-07 20:50:11 +02008protected void create()
MG Mud User88f12472016-06-24 23:31:02 +02009{
MG Mud User88f12472016-06-24 23:31:02 +020010 "/obj/sperrer"->NixGibts();
11}
12
Zesstra@Morgengrauen1bc8c8a2016-09-07 20:50:11 +020013private void weg(object ob)
MG Mud User88f12472016-06-24 23:31:02 +020014{
15 if (!objectp(ob))
16 return;
17 ob->remove();
18 if (ob)
19 destruct(ob);
20}
21
Zesstra@Morgengrauen1bc8c8a2016-09-07 20:50:11 +020022private void wegraeumen(object ob)
MG Mud User88f12472016-06-24 23:31:02 +020023{
24 object *x;
Zesstra@Morgengrauen1bc8c8a2016-09-07 20:50:11 +020025
MG Mud User88f12472016-06-24 23:31:02 +020026 if (!objectp(ob))
27 return;
28 for (x=deep_inventory(ob);sizeof(x);x=x[1..])
29 weg(x[0]);
30 ob->move("/room/void",M_NOCHECK|M_SILENT);
31 weg(ob);
32}
33
Zesstra@Morgengrauen1bc8c8a2016-09-07 20:50:11 +020034void reset()
35{
36 set_next_reset(120);
MG Mud User88f12472016-06-24 23:31:02 +020037 foreach(object ob: all_inventory(this_object()))
38 {
39 if (interactive(ob))
40 {
41 catch(this_player()->move("/room/void",M_GO));
42 set_object_heart_beat(ob,1);
43 }
44 else if (!query_once_interactive(ob) && object_name(ob)!="/obj/sperrer")
Zesstra@Morgengrauen1bc8c8a2016-09-07 20:50:11 +020045 call_out(#'wegraeumen,1,ob);
MG Mud User88f12472016-06-24 23:31:02 +020046 }
MG Mud User88f12472016-06-24 23:31:02 +020047 "/obj/sperrer"->upd();
48}
49
Zesstra@Morgengrauen1bc8c8a2016-09-07 20:50:11 +020050void init()
MG Mud User88f12472016-06-24 23:31:02 +020051{
52 if (!this_player())
53 return;
54 catch(this_player()->StopHuntingMode());
55 if (interactive(this_player()))
56 catch(this_player()->move("/room/void",M_GO));
57 if (!query_once_interactive(this_player()))
58 {
59 this_player()->remove();
60 if(this_player())
61 destruct(this_player());
62 }
63 set_object_heart_beat(this_player(),0);
64}
65
Zesstra@Morgengrauen1bc8c8a2016-09-07 20:50:11 +020066public string int_long()
MG Mud User88f12472016-06-24 23:31:02 +020067{
68 return "Dies ist der Netztotenraum. Es ist dunkel. Du siehst nichts.\n";
69}
70
Zesstra@Morgengrauen1bc8c8a2016-09-07 20:50:11 +020071public string int_short()
MG Mud User88f12472016-06-24 23:31:02 +020072{
73 return "Nichts zu sehen.\n";
74}
75
Zesstra@Morgengrauen1bc8c8a2016-09-07 20:50:11 +020076public mixed QueryProp(string str)
MG Mud User88f12472016-06-24 23:31:02 +020077{
78 switch (str) {
79 case "int_long": return int_long();
80 case "int_short": return int_short();
81 }
Zesstra@Morgengrauen1bc8c8a2016-09-07 20:50:11 +020082 return 0;
MG Mud User88f12472016-06-24 23:31:02 +020083}
84
85// Nicht jeder Magier darf den Netztotenraum entsorgen.
Zesstra@Morgengrauen1bc8c8a2016-09-07 20:50:11 +020086public string NotifyDestruct(object caller) {
MG Mud User88f12472016-06-24 23:31:02 +020087 if( (caller!=this_object() && !ARCH_SECURITY) || process_call() ) {
88 return "Du darfst den Netztotenraum nicht zerstoeren!\n";
89 }
Arathorn2e288682021-09-14 14:29:38 +020090 return 0;
MG Mud User88f12472016-06-24 23:31:02 +020091}
92