blob: 1cc4d5cd63c3afc2ff659f1875fa3d5529668b95 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001// (c) by Padreic (Padreic@mg.mud.de)
2
3#include <properties.h>
4#include <v_compiler.h>
5#include "../files.h"
6#include "/p/service/padreic/kraeuter/plant.h"
7
8inherit "std/virtual/v_compiler";
9
10create()
11{
12 ::create();
13 SetProp(P_STD_OBJECT, ROOM("stdlichtung"));
14 SetProp(P_COMPILER_PATH, ROOM(""));
15}
16
17string Validate(string file)
18{
19 file=::Validate(file);
20 switch(file) {
21 case "lichtungso":
22 case "lichtungo":
23 case "lichtungno":
24 case "lichtungn":
25 case "lichtungs":
26 case "lichtungnw":
27 case "lichtungw":
28 case "lichtungsw": return file;
29 default:
30 }
31}
32
33mixed CustomizeObject()
34{
35 string file;
36 file=Validate(::CustomizeObject());
37 if (!random(3)) PO->AddItem(NPC("laufeiche"), REFRESH_DESTRUCT, ([MNPC_HOME: ROOM(file)]) );
38 switch(file) {
39 case "lichtungno":
40 PO->AddExit("westen", ROOM("lichtungn"));
41 PO->AddExit("sueden", ROOM("lichtungo"));
42 PO->AddExit("suedwesten", ROOM("tuempel"));
43 PO->AddExit("suedosten", ROOM("weg2"));
44 PO->SetProp(EXTRA_LONG,
45 " Im Suedosten befindet sich der Waldweg, ueber den Du den Wald wieder "
46 +"verlassen kannst.");
47 return file;
48
49 case "lichtungo":
50 PO->AddExit("norden", ROOM("lichtungno"));
51 PO->AddExit("sueden", ROOM("lichtungso"));
52 PO->AddExit("westen", ROOM("tuempel"));
53 PO->AddExit("osten", ROOM("weg2"));
54 PO->SetProp(EXTRA_LONG,
55 " Im Osten befindet sich der Waldweg, ueber den Du den Wald wieder "
56 +"verlassen kannst.");
57 return file;
58
59 case "lichtungso":
60 PO->AddExit("westen", ROOM("lichtungs"));
61 PO->AddExit("norden", ROOM("lichtungo"));
62 PO->AddExit("nordwesten", ROOM("tuempel"));
63 PO->AddExit("nordosten", ROOM("weg2"));
64 PO->SetProp(EXTRA_LONG,
65 " Im Nordosten befindet sich der Waldweg, ueber den Du den Wald wieder "
66 +"verlassen kannst.");
67 PO->AddItem(NPC("riese"), REFRESH_DESTRUCT);
68 return file;
69
70 case "lichtungs":
71 PO->AddExit("westen", ROOM("lichtungsw"));
72 PO->AddExit("osten", ROOM("lichtungso"));
73 PO->AddExit("norden", ROOM("tuempel"));
74 PO->SetProp(EXTRA_LONG,
75 " In der Wiese siehst Du an einer Stelle etwas Klee wachsen.");
76 PO->AddPlant(BITTERKLEE);
77 // "klee" _nach_ dem AddPlant einfuegen, damit die restlichen Details
78 // wie Bitterklee trotzdem noch eingefuegt werden
79 PO->RemoveDetail(({"klee"}));
80 PO->AddDetail(({"stelle", "klee"}),
81 "Bei der Stelle scheint es sich unzweifelhaft um Bitterklee zu handeln.\n");
82 PO->AddCmd("sueden", "cmd_sueden");
83 return file;
84
85 case "lichtungn":
86 PO->AddExit("westen", ROOM("lichtungnw"));
87 PO->AddExit("osten", ROOM("lichtungno"));
88 PO->AddExit("sueden", ROOM("tuempel"));
89 PO->SetProp(EXTRA_LONG, " Am Rand der Wiese entdeckt Du einige kleine Pilze im Gras.");
90 PO->AddCmd(({"esse", "iss", "pflueck", "pfluecke"}), "cmd_pilze");
91 PO->AddDetail(({"pilz", "pilze", "schimmer"}),
92 "Die Pilze haben einen aeusserst seltsamen metallischem Schimmer und\n"
93 +"verbreiten einen sehr angenehmen suesslichen Duft im Raum.\n");
94 PO->AddSmells(({"pilz", "pilze"}),
95 "Die Pilze verbreiten einen sehr suesslichen Duft.\n");
96 PO->AddSmells("duft", "Der Duft ist eigentlich sehr befreiend und angenehm.\n");
97 return file;
98
99 case "lichtungnw":
100 PO->AddExit("westen", ROOM("schule"));
101 PO->AddExit("osten", ROOM("lichtungn"));
102 PO->AddExit("sueden", ROOM("lichtungw"));
103 PO->AddExit("suedosten", ROOM("tuempel"));
104 PO->SetProp(EXTRA_LONG,
105 " Nach Westen kannst Du ein Stueck in den Wald hinein gehn.");
106 return file;
107
108 case "lichtungw":
109 PO->AddExit("norden", ROOM("lichtungnw"));
110 PO->AddExit("sueden", ROOM("lichtungsw"));
111 PO->AddExit("osten", ROOM("tuempel"));
112 PO->SetProp(EXTRA_LONG, " Am Waldrand stehen einige blaeuliche Farne.");
113 PO->AddCmd(({"esse", "iss", "pflueck", "pfluecke"}), "cmd_farne");
114 PO->AddDetail(({"farn", "farne"}),
115 "Die blaeulichen Farne sind wirklich sehr merkwuerdig. soetwas hast Du bisher\n"
116 +"noch nirgendwo gesehn. Irgendetwas besonderes hat es sicherlich damit auf sich.\n");
117 return file;
118
119 case "lichtungsw":
120 PO->AddExit("osten", ROOM("lichtungs"));
121 PO->AddExit("norden", ROOM("lichtungw"));
122 PO->AddExit("nordosten", ROOM("tuempel"));
123 PO->AddExit("suedwesten", ROOM("stein"));
124 PO->SetProp(EXTRA_LONG,
125 " Nach Suedwesten kannst Du ein Stueck in den Wald hinein gehn.");
126 return file;
127
128 default: return 0;
129 }
130 return file;
131}
132
133int NoParaObjects() { return 1; }