blob: 1e95d189be6d05bea26d4dd391a266ee83ce2817 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001//--------------------------------------------------------------------------------
2// Name des Objects: Muellcontainer
3// Letzte Aenderung: 17.03.2001
4// Magier: Swift
5//--------------------------------------------------------------------------------
6
7#include "schrankladen.h"
8inherit LADEN("swift_std_container");
9
10#define VERSION_OBJ ".003"
11
12create()
13{
14 if (!clonep(TO)) return;
15 swift_std_container::create();
16 SetProp(P_SHORT, "Ein Muellcontainer");
17 SetProp(P_LONG, BS(
18 "Ein grosser Container aus Stahl, aus dem es nicht gerade angenehm duftet. "
19 +"Offensichtlich werden dort alle Sachen entsorgt, die Seher nicht gerne in "
20 +"ihrem Haus oder auf der Strasse herumliegen sehen.")
21 +"@@cnt_status@@");
22 AddId(({"muellcontainer", "container"}));
23 SetProp("cnt_version_obj", VERSION_OBJ);
24 SetProp(P_NAME, "Muellcontainer");
25 SetProp(P_GENDER, MALE);
26 SetProp(P_WEIGHT, 5000); // Gewicht 5 Kg
27 SetProp(P_MAX_WEIGHT, 1000000); // Es passen fuer 1000 kg Sachen rein.
28 SetProp(P_WEIGHT_PERCENT, 100); // Dafuer macht er auch nix leichter :)
29 SetProp(P_MAX_OBJECTS, 100); // Mehr sollte nicht sein, lt. Tiamak.
30 SetProp(P_VALUE, 0); // Kein materieller Wert. Ist eh nicht verkaufbar.
31 SetProp(P_NOBUY, 1); // Wird im Laden zerstoert, falls er verkauft wird.
32 SetProp(P_NOGET, "Das geht nicht. "+Name(WER,1)+" haftet wie magisch am Boden.\n");
33 SetProp(P_MATERIAL, ({MAT_STEEL, MAT_MISC_MAGIC}) );
34 SetProp(P_INFO, "Versuchs mal mit: \"skommandos "+QueryProp(P_IDS)[1]+"\" !\n");
35
36 AddSmells(({"container", "duft", "gestank"}), BS("Aus "+name(WEM,1)+" stinkt es "
37 +"schon ganz schoen, aber Deine Nase ist ja allerhand gewoehnt."));
38
39 AddCmd(({"wirf", "werf", "werfe"}), "wegwerfen");
40}
41
42int wegwerfen(string str)
43{
44 string was,inwas;
45 notify_fail("Was willst Du wo hinein werfen?\n");
46 if(!str) return 0;
47 if( sscanf(str, "%s in %s", was, inwas) != 2)
48 return 0;
49 if( present(inwas)==TO ) // Dies Objekt ist gemeint!
50 {
51 TP->command_me("stecke "+str);
52 return 1;
53 }
54 return 0;
55}
56
57varargs int PreventInsert(object ob)
58{
59 if( living(ob) )
60 {
61 write( BS("Lebewesen kannst Du nicht in "+name(WEN,1)+" werfen!"));
62 return 1;
63 }
64 else if( ob->QueryProp(P_VALUE) )
65 {
66 write( BS("Nur Dinge ohne materiellen Wert lassen sich in "
67 +name(WEN,1)+" werfen."));
68 return 1;
69 }
70 else if( ob->QueryProp(P_CURSED) )
71 {
72 write( BS("Verfluchte Dinge kannst Du nicht in "+name(WEN,1)+" werfen!"));
73 return 1;
74 }
75 else
76 return ::PreventInsert(ob);
77}
78
79void reset()
80{
81 int i;
82 object *inv;
83 ::reset();
84 inv=all_inventory(TO);
85 if(inv && sizeof(inv))
86 {
87 for(i=sizeof(inv)-1;i>=0;i--)
88 destruct(inv[i]);
89 tell_room(ETO, BS("Aus "+name(WEM,1)+" ertoent kurz ein Knistern und Knacken, "
90 +"dann ist wieder Ruhe."));
91 }
92}