blob: cd74b077a033215d464c4300d91694b705704223 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001// (c) by Padreic (Padreic@mg.mud.de)
2
3#include "../files.h"
4
5inherit ROOM("stdroom");
6
7void create()
8{
9 ::create();
10 SetProp(P_INDOORS, 0);
11 SetProp(P_LIGHT, 1);
12 SetProp(P_INT_SHORT, "Bei einem Stein");
13 AddSpecialDetail(({"ort", "wald", "platz"}), "_query_int_long");
14 AddDetail("stein",
15 "Der Stein ist, durch die Sonnenstrahlen ordentlich aufgeheizt, angenehm warm\n"
16 +"und bietet eigentlich den idealen Platz um es sich gut gehn zu lassen und in\n"
17 +"der Sonne zu liegen.\n");
18 AddDetail(({"sonne", "himmel", "sonnenstrahlen", "strahlen"}),
19 "Der blaue Himmel ist nahezu wolkenfrei und so strahlt die Sonne in voller\n"
20 +"Pracht oben am Himmel und ihre Strahlen prasseln auf Deine Haut.\n");
21 AddDetail(({"boden", "weg", "waldweg", "erde"}),
22 "Ein ganz normaler Waldweg halt, ein bisschen sandig, einige kleine Aestchen\n"
23 +"ganz normal halt.\n");
24 AddSpecialDetail("zeit", "det_zeit");
25 AddDetail(({"aestchen", "stoeckchen"}),
26 "Ganz kleine heruntergefallene Stoeckchen, durch reges drueber laufen\n"
27 +"im Laufe der Zeit kleingemalen und vom Wetter aufgeloest...\n");
28 AddDetail("wetter",
29 "Auch wenn hier heute die Sonne scheint, gibt es natuerlich auch hier\n"
30 +"gelegentlich verregnete Tage.\n");
31 AddDetail("tage", "Naja... allzuviele sind es jedoch nicht.\n");
32 AddDetail(({"nordosten", "lichtung", "ausgang", "weiher"}),
33 "Im Nordosten kannst Du immer noch die grosse Lichtung mit den wandernden Eichen\n"
34 +"und dem verwunschenen Weiher erkennen.\n");
35 AddDetail(({"eichen", "wandernde eichen"}),
36 "Im Nordosten auf der Lichtung hast Du vorhin wandernde Eichen gesehn,\n"
37 +"vielleicht solltest Du einfach nochmal zurueck gehn und sie Dir naeher\n"
38 +"anschaun.\n");
39 AddDetail(({"wolke", "wolken", "schaefchenwolke"}),
40 "Der Himmel ist eigentlich wolkenfrei nur hier und da zieht mal eine kleine\n"
41 +"Schaefchenwolke vorbei.\n");
42 AddExit("nordosten", ROOM("lichtungsw"));
43 AddItem(NPC("titina"), REFRESH_REMOVE, 1);
44 AddCmd(({"setz", "setze", "leg", "lege", "kletter", "klettere"}), "cmd_setzen");
45 AddCmd(({"steh", "stehe"}), "cmd_aufstehn");
46}
47
48#define STEIN WALDID("stein")
49
50void init()
51{
52 if (PL) PL->SetProp(STEIN, 0);
53 ::init();
54}
55
56static int cmd_aufstehn(string str)
57{
58 if (!PL->QueryProp(STEIN)) return 0;
59 if (str!="auf" && str!="von stein auf") {
60 notify_fail("Von was moechtest Du aufstehn?\n");
61 return 0;
62 }
63 PL->SetProp(STEIN, 0);
64 write("Du kletterst also vom Stein wieder runter und stehst auf.\n");
65 return 1;
66}
67
68#define VERB(x) (["setz": "setzt", "leg": "legst", "kletter": "kletterst"])[x]
69
70static int cmd_setzen(string str)
71{
72 string verb;
73 verb=query_verb();
74 if (verb && verb[<1]=='e') verb=verb[0..<2];
75 if (str!="auf stein" && str!="stein" && str!="von stein") {
76 notify_fail(BS("Wohin moechtest Du "
77 +(verb!="kletter" ? "Dich " : "")+verb+"en?"));
78 return 0;
79 }
80 if (PL->QueryProp(STEIN)) {
81 if (verb!="kletter" || str=="auf stein") {
82 write("Du sitzt doch bereits auf dem Stein!\n");
83 return 1;
84 }
85 PL->SetProp(STEIN, 0);
86 write("Du kletterst also vom Stein wieder runter und stehst auf.\n");
87 return 1;
88 }
89
90 write(BS("Entspannt "+VERB(verb)+" Du "+(verb!="kletter" ? "Dich " : "")
91 +"auf den Stein und geniesst die Sonne."));
92 PL->SetProp(STEIN, time());
93 return 1;
94}
95
96static string det_zeit()
97{ return "Wir haben genau "+dtime(time())[<8..]+".\n"; }
98
99static string _query_int_long()
100{
101 if (present(WALDID("fee"), ME))
102 return
103 "Hier mitten im Wald steht ein grosser Stein, auf dem Titina die wunderschoene\n"
104 +"Waldfee sitzt und sich in aller Ruhe ihr langes goldenes Haar kaemmt. Die\n"
105 +"Sonne strahlt genau auf den Stein und es ist wohl wirklich der gemuetlichste\n"
106 +"Ort auf Erden. Links und rechts vom Weg schliesst der dichte Wald an und so\n"
107 +"ist der einzige Ausgang Richtung Nordosten zurueck zur Lichtung.\n";
108 return "Hier mitten im Wald steht ein grosser Stein, der von der Sonne ordentlich\n"
109 +"aufgeheizt wird und ihn zu einem traumhaften Ort fuer alle Sonnenliebhaber\n"
110 +"macht. Links und rechts vom Weg schliesst direkt der dichte Wald an und so\n"
111 +"ist der einzige Ausgang Richtung Nordosten zurueck zur Lichtung.\n";
112}