blob: b46b5a804d520df25a5948cc3b87983203c26122 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001/*
2Letzte Aenderung: 29.01.01 von Tilly (Zusatz-Abfrage in heart_beat() )
3 25.08.01 von Tiamak (Tillys Abfragen debuggt ;^)
4*/
5#pragma strong_types,rtt_checks
6
7inherit "/std/thing";
8#include <properties.h>
9#include <language.h>
10#include <moving.h>
11
12int alter;
13string furzerWER,furzerWESSEN;
14
15void create()
16{
17 if(!clonep(this_object())) return;
18 ::create();
19 SetProp(P_SHORT, 0);
20 SetProp(P_LONG, 0);
21 SetProp(P_INVIS,1);
22 SetProp(P_NAME, "Etwas");
23 SetProp(P_GENDER, 1);
24 SetProp(P_ARTICLE,0);
25 SetProp(P_NOGET,"Haeh?\n");
26 AddId("_furz_");
27 if (this_player())
28 AddId("Furz_"+getuid(this_player()));
29 alter = 0;
30 set_heart_beat(1);
31}
32
33void heart_beat()
34{
35 int i;
36 if(!environment())
37 {
38 set_heart_beat(0);
39 destruct(this_object());
40 return;
41 }
42 if(living(environment()))
43 {
44 set_heart_beat(0);
45 destruct(this_object());
46 return;
47 }
48 if (!alter)
49 tell_room(environment(), "Fuerchterlicher Gestank erfuellt den Raum.\n");
50 alter++;
51 if (!random(10))
52 {
53 i = random (5);
54 if (i==0)
55 tell_room(environment(), furzerWESSEN+" Furz stinkt wirklich grauenerregend.\n");
56 if (i==1)
57 tell_room(environment(), "Du haeltst Dir die Nase zu.\n");
58 if (i==2)
59 tell_room(environment(), "Widerliche Duenste erfuellen den Raum.\n");
60 if (i==3)
61 tell_room(environment(), "Der Furz riecht, als wuerde " + furzerWER +" innerlich verfaulen.\n");
62 if (i==4)
63 tell_room(environment(), "Du musst Dich beinah uebergeben, als " + furzerWESSEN + " Furz in Deine Nase kriecht.\n");
64 }
65 if (alter==45) {
66 tell_room(environment(), furzerWESSEN + " widerlicher Furz hat sich endlich verzogen.\n");
67 destruct(this_object());
68 }
69}
70
71
72void set_alter(int a)
73{ alter=a; }
74
75void set_furzer (object wer)
76{
77 if (objectp(wer))
78 {
79 furzerWER=wer->name(WER);
80 furzerWESSEN=wer->name(WESSEN);
81 AddId("Furz_"+getuid(wer));
82 }
83}
84
85varargs int move(mixed dest, int methods, string direction, string textout,string textin)
86{
87 int erg;
88 object otherfurz;
89
90 erg=::move(dest,methods,direction,textout,textin);
91
92 // Vanion, 24.09.02: Kann sein, dass das move nich klappt,
93 // dann sollte das Objekt weg.
94 if (erg != MOVE_OK || !environment(this_object()))
95 {
96 if (!remove()) destruct(this_object());
97 return 0;
98 }
99 if (this_player())
100 {
101 if (otherfurz=present("Furz_"+getuid(this_player())+" 2",environment()))
102 {
103 otherfurz->set_alter(0);
104 return remove();
105 }
106 }
107 return erg;
108}