MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame^] | 1 | // (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 | |
| 8 | inherit "std/virtual/v_compiler"; |
| 9 | |
| 10 | create() |
| 11 | { |
| 12 | ::create(); |
| 13 | SetProp(P_STD_OBJECT, ROOM("stdlichtung")); |
| 14 | SetProp(P_COMPILER_PATH, ROOM("")); |
| 15 | } |
| 16 | |
| 17 | string 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 | |
| 33 | mixed 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 | |
| 133 | int NoParaObjects() { return 1; } |