MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 1 | #pragma strict_types |
| 2 | |
| 3 | inherit "/std/npc"; |
| 4 | |
| 5 | #include <properties.h> |
| 6 | #include <moving.h> |
| 7 | |
| 8 | void 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); |
Bugfix | 4ffdc3b | 2022-10-19 10:28:50 +0200 | [diff] [blame] | 27 | SetProp(P_SIZE, 60); |
| 28 | SetProp(P_WEIGHT, 7000); |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 29 | 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 | |
| 44 | int 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; |
bugfix | d94d093 | 2020-04-08 11:27:13 +0200 | [diff] [blame] | 55 | if(({int|string})ob->QueryProp(P_NODROP) || ({int})ob->QueryProp(P_NEVERDROP)){ |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 56 | 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 | } |
bugfix | d94d093 | 2020-04-08 11:27:13 +0200 | [diff] [blame] | 63 | if(({int})ob->QueryProp(P_VALUE)){ |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 64 | write("Das ist zu wertvoll, das vertraegt der Muellschlucker nicht.\n"); |
| 65 | return 1; |
| 66 | } |
Arathorn | 8c53333 | 2020-08-17 17:50:52 +0200 | [diff] [blame] | 67 | if (({int|string})ob->QueryProp(P_CURSED)) { |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 68 | write("Verfluchte Dinge bekommen dem Muellschlucker nicht!\n"); |
| 69 | return 1; |
| 70 | } |
bugfix | d94d093 | 2020-04-08 11:27:13 +0200 | [diff] [blame] | 71 | ({int})ob->remove(); |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 72 | 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 | |
| 82 | void 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 | |