blob: 21c4d22243bb8c2ffbba680cb1855fd8278e1882 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001inherit "std/room";
2#include <properties.h>
3#include <wizlevels.h>
4
5void create()
6{
7 ::create();
8 SetProp(P_LIGHT, 1 );
9 SetProp(P_INT_SHORT, "Der Muellraum" );
10 SetProp(P_INDOORS, 1);
11 SetProp(P_NEVER_CLEAN, 1);
12 SetProp(P_INT_LONG,break_string(
13 "Dieser Raum ist vollkommen leer und anscheinend riiiiiiesig gross. "
14 "Du kannst seine Aussmasse nichtmals abschaetzen. Naja. Muss wohl auch "
15 "so sein, denn hier kommen alle Clones rein, die einige Sekunden "
16 "nach ihrer Erstellung noch kein Zuhause (Environment) gefunden haben. "
17 "Wenn Du das magische Kommando 'welt' gibst, wirst Du wieder in Deine Welt\n"
18 "zurueckversetzt werden."));
19 AddExit("welt", "/gilden/abenteurer");
20}
21
22// rekursiv zerstoeren
23private void rec_remove(object ob) {
24 object *inv=all_inventory(ob);
25 if (sizeof(inv)) {
26 filter(inv, #'rec_remove);
27 }
28 ob->remove(1);
29 if (objectp(ob)) destruct(ob);
30}
31
32int clean_me() {
33 object *inv=all_inventory(this_object());
34 int isize=sizeof(inv);
35 if (isize>100) {
36 //aeltestes Objekt, was kein Spieler ist, zerstoeren. Pruefung auf Spieler
37 //ist Paranoia, eigentlich sollte hier nie einer hinkommen koennen, ausser
38 //magier, und um die waers dann nicht schade. *g*
39 for (isize--; isize--; ) {
40 if (!query_once_interactive(inv[isize])) {
41 rec_remove(inv[isize]);
42 return(1);
43 }
44 }
45 }
46 return 0;
47}
48
49varargs int PreventInsert(object pl) {
50
51 if (!objectp(pl))
52 return 1;
53 clean_me();
54 return 0;
55}
56
57varargs int PreventInsertLiving(object pl) {
58
59 // keine Spieler. ;-)
60 if (!objectp(pl) ||
61 (query_once_interactive(pl) && !IS_LEARNER(pl)))
62 return 1;
63
64 clean_me();
65 return 0;
66}
67