blob: fab168d506a08014deb0927680743c75569ef435 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001#pragma strict_types
2
3inherit "/std/npc";
4
5#include <properties.h>
6#include <moving.h>
7
8void create()
9{
10 if (!clonep(this_object())) return;
11 ::create();
12
13 SetProp(P_SHORT,"Ein Muellschlucker");
14 SetProp(P_LONG,break_string(
15 "Der Muellschlucker gehoert zu Familie der Kleinsaurier und zeichnet "+
16 "sich durch ein sehr grosses Maul und nahezu unbegrenzten Appetit aus. "+
17 "Das einzige, was er nicht mag, sind Dinge, die materiellen Wert haben. "+
18 "Alles andere kann man ihm mit 'fuettere muellschlucker mit <name>' "+
19 "in den Rachen stopfen.",78));
20 SetProp(P_INFO,break_string(
21 "Dieser Muellschlucker verschlingt auch lose herumliegende Dinge. Also "+
22 "pass auf, was Du wegwirfst.",78));
23 SetProp(P_NAME,"Muellschlucker");
24 SetProp(P_GENDER, MALE);
25 SetProp(P_RACE,"saurier");
26 SetProp(P_ARTICLE,1);
Bugfix4ffdc3b2022-10-19 10:28:50 +020027 SetProp(P_SIZE, 60);
28 SetProp(P_WEIGHT, 7000);
MG Mud User88f12472016-06-24 23:31:02 +020029 AddId(({"muellschlucker","schlucker","kleinsaurier","saurier"}));
30 create_default_npc( 1 );
31 SetProp(P_XP,0);
32 SetProp(P_BODY,100);
33 SetProp(P_HANDS,({" mit dem alles verschlingenden Gebiss",20}));
34 SetProp(P_ALIGN, 0);
35 seteuid(getuid(this_object()));
36 SetProp(P_DEFAULT_INFO,"grunzt nur vor sich hin.\n");
37 SetProp(P_MSGIN,"rollt herein");
38 SetProp(P_MSGOUT,"rollt");
39 SetProp(P_MAX_WEIGHT, 200000);
40 AddCmd(({"fuetter","fuettere"}),"haps");
41 enable_commands();
42}
43
44int haps(string str)
45{
46 string s1,s2;
47 object ob;
48 notify_fail("Syntax: fuettere muellschlucker mit <name>\n");
49 if(!str)return 0;
50 if(sscanf(str,"%s mit %s",s1,s2)!=2)return 0;
51 if(!id(s1))return 0;
52 notify_fail("So etwas hast Du nicht.\n");
53 if((!ob=present(s2,this_player())) &&
54 (!ob=present(s2,environment()))) return 0;
bugfixd94d0932020-04-08 11:27:13 +020055 if(({int|string})ob->QueryProp(P_NODROP) || ({int})ob->QueryProp(P_NEVERDROP)){
MG Mud User88f12472016-06-24 23:31:02 +020056 write("Das kannst Du nicht wegwerfen.\n");
57 return 1;
58 }
59 if(living(ob)){
60 write("Der Muellschlucker frisst keine Lebewesen.\n");
61 return 1;
62 }
bugfixd94d0932020-04-08 11:27:13 +020063 if(({int})ob->QueryProp(P_VALUE)){
MG Mud User88f12472016-06-24 23:31:02 +020064 write("Das ist zu wertvoll, das vertraegt der Muellschlucker nicht.\n");
65 return 1;
66 }
Arathorn8c533332020-08-17 17:50:52 +020067 if (({int|string})ob->QueryProp(P_CURSED)) {
MG Mud User88f12472016-06-24 23:31:02 +020068 write("Verfluchte Dinge bekommen dem Muellschlucker nicht!\n");
69 return 1;
70 }
bugfixd94d0932020-04-08 11:27:13 +020071 ({int})ob->remove();
MG Mud User88f12472016-06-24 23:31:02 +020072 if(ob){
73 write("Aus irgendeinem Grund scheint das dem Muellschlucker nicht "+
74 "zu schmecken.\n");
75 return 1;
76 }
77 write("Mit einem lauten Ruelpsen verschlingt der Muellschlucker alles.\n");
78
79 return 1;
80}
81
82void reset()
83{
84 int i;
85 object *inv;
86 ::reset();
87
88 inv=all_inventory(this_object());
89 if(inv && sizeof(inv))
90 for(i=sizeof(inv)-1;i>=0;i--)
91 destruct(inv[i]);
92 command("nimm alles");
93}
94