MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame^] | 1 | // (c) by Padreic (Padreic@mg.mud.de) |
| 2 | |
| 3 | // Ein Raum zum schoenen einbinden eines Seherhauses in den Wald |
| 4 | |
| 5 | #include "../files.h" |
| 6 | #include <moving.h> |
| 7 | |
| 8 | inherit ROOM("stdroom"); |
| 9 | |
| 10 | void create() |
| 11 | { |
| 12 | ::create(); |
| 13 | SetProp(P_INDOORS, 1); |
| 14 | SetProp(P_LIGHT, 1); |
| 15 | SetProp(P_INT_SHORT, "Mitten im Wald"); |
| 16 | SetProp(P_INT_LONG, |
| 17 | "Du stehst nun inmitten des Zauberwalds genau vor einer riesigen Buche unter\n" |
| 18 | +"der jemand eine kleine Huette gebaut hat. Ringsumher stehen weitere Buesche\n" |
| 19 | +"und Baeume und bilden eine dichte Vegetation, doch im Vergleich zu dieser\n" |
| 20 | +"riesigen Buche wirkt alles andere wirklich mickrig. Durch das dichte\n" |
| 21 | +"Blaetterdach dringt nur wenig Licht und so wundert es auch nicht das der\n" |
| 22 | +"Boden hier relativ feucht ist und die Pflanzen so gut gedeihen koennen. Nach\n" |
| 23 | +"Norden fuehrt als einziger Ausgang ein kleiner Trampelpfad zur Lichtung.\n"); |
| 24 | AddDetail(({"natur", "wald", "zauberwald"}), QueryProp(P_INT_LONG)); |
| 25 | AddDetail(({"buesche", "baeume", "vegetation", "pflanzen", "farne"}), |
| 26 | "Rings um die Huette herscht eine wilde Vegetation. Es wachsen verschiedenste\n" |
| 27 | +"Farne und Buesche und eine vielfalt verschiedenster Baeume. Alles zusammen\n" |
| 28 | +"bildet eine fast undurchdringliche Vegetation.\n"); |
| 29 | AddDetail(({"licht", "blaetterdach"}), |
| 30 | "Durch das relativ dichte Blaetterdach der hohen Baeume, faellt eigentlich nur\n" |
| 31 | +"sehr wenig Licht durch und so ist es hier doch schon relativ duester, auch\n" |
| 32 | +"wenn man noch nicht unbedingt eine eigene Lichtquelle braucht um etwas sehen\n" |
| 33 | +"zu koennen.\n"); |
| 34 | AddDetail("lichtquelle", |
| 35 | "Eine eigene Lichtquelle ist hier nicht unbedingt erforderlich, da dann doch\n" |
| 36 | +"noch genuegend Licht durch das Blaetterdach durchdringt.\n"); |
| 37 | AddDetail("himmel", |
| 38 | "Es scheint Dir als wuerde die Sonne gerade scheinen, auch wen das dichte\n" |
| 39 | +"Blaetterdach die meisten Sonnenstrahlen nicht hindurch laesst.\n"); |
| 40 | AddDetail("boden", |
| 41 | "Der Boden ist hier eigentlich, mit Ausnahme des Trampelpfads natuerlich,\n" |
| 42 | +"ziemlich zugewachsen und von zahlreichen Pflanzen ueberwuchert.\n"); |
| 43 | AddDetail("erde", |
| 44 | "Die Erde ist hier ueberall ein wenig lehmig, aber wirklich besonderes kannst\n" |
| 45 | +"Du an der Erde nicht entdecken.\n"); |
| 46 | AddDetail(({"trampelpfad", "ausgang", "pfad"}), |
| 47 | "Der Trampelpfad scheint doch relativ oft benutzt zu werden, denn die Erde ist\n" |
| 48 | +"fast voellig bloss gelegt und die wenigen Pflanzen die dann doch versuchen ihn\n" |
| 49 | +"zu bewachsen sind fast alle niedergetrampelt.\n"); |
| 50 | AddDetail(({"lichtung", "norden"}), |
| 51 | "Vielleicht solltest Du einfach dem Trampelpfad nach Norden folgen und Dir die\n" |
| 52 | +"Lichtung einfach aus der Naehe anschauen.\n"); |
| 53 | AddDetail(({"buche", "riesige buche"}), |
| 54 | "Eichen sollst Du weichen, Buchen sollst Du suchen!\n"); |
| 55 | AddDetail(({"eiche", "eichen"}), |
| 56 | "Du siehst zwar alles moegliche an Baeumen hier, aber Eichen befinden sich zum\n" |
| 57 | +"Glueck nicht dadrunter.\n"); |
| 58 | AddDetail(({"glueck", "frage"}), |
| 59 | "Ob es soetwas wie Glueck ueberhaupt gibt, ist wohl eher eine philosophische\n" |
| 60 | +"Frage und etwas wo man stundenlang drueber diskutieren koennte. Fuer den\n" |
| 61 | +"Moment beschliesst Du jedenfalls lieber die schoene Natur zu geniessen und\n" |
| 62 | +"dem zwitschern der Voegel zu lauschen, als Dich mit soetwas zu beschaeftigen.\n"); |
| 63 | AddDetail(({"voegel", "zipfel", "baumzipfel", "zipfel der baeume"}), |
| 64 | "Oben in den Zipfeln der Baeume kannst Du wage einige Voegel erkennen, doch um\n" |
| 65 | +"diese naeher spezifizieren zu koennen, sind diese dann doch zu weit weg.\n"); |
| 66 | AddDetail("moment", |
| 67 | "Geniesse den Moment und lebe Dein Leben!\n"); |
| 68 | AddDetail("ruhe", |
| 69 | "Die Ruhe wird hier und da lediglich vom zwitschern einiger Voegel unterbrochen.\n"); |
| 70 | AddSpecialDetail(({"huette"}), "det_huette"); |
| 71 | AddSounds(SENSE_DEFAULT, |
| 72 | "Es ist hier wirklich herrlich ruhig und nur hier und da hoerst Du das\n" |
| 73 | +"zwitschern einiger Voegel. Natur pur.\n"); |
| 74 | AddSounds(({"voegel", "zwitschern", "voegel zwitschern"}), |
| 75 | "Du lauschst dem zwitschern der Voegel und geniesst die himmlische Ruhe.\n"); |
| 76 | AddCmd(({"such", "suche"}), "cmd_suchen"); |
| 77 | AddCmd(({"geniess", "geniesse"}), "cmd_geniessen"); |
| 78 | AddCmd(({"leb", "lebe"}), "cmd_leben"); |
| 79 | AddCmd(({"kletter", "klettere"}), "cmd_klettern"); |
| 80 | AddExit("norden", ROOM("lichtungs")); |
| 81 | } |
| 82 | |
| 83 | static string det_huette() |
| 84 | // Langbeschreibung nicht fest setzen, damit der Spieler sie selbst |
| 85 | // aendern kann. |
| 86 | { |
| 87 | object ob; |
| 88 | if (ob=present("\nmorgeneshaus", ME)) |
| 89 | return ob->long(); |
| 90 | } |
| 91 | |
| 92 | static int cmd_suchen(string str) |
| 93 | { |
| 94 | notify_fail("WAS moechtest Du suchen?\n"); |
| 95 | if (str!="buchen" && str!="buche") return 0; |
| 96 | write("Du brauchst nicht lange suchen und schon entdeckt Du eine riesige Buche vor\n" |
| 97 | +"Dir, aber eigentlich waere es wohl auch eher erstaunlich, wenn Du diese\n" |
| 98 | +"riesige Buche direkt vor Deiner Nase uebersehen wuerdest :).\n"); |
| 99 | return 1; |
| 100 | } |
| 101 | |
| 102 | static int cmd_geniessen(string str) |
| 103 | { |
| 104 | notify_fail("WAS moechtest Du geniessen?\n"); |
| 105 | if (str!="moment" && str!="den moment" && str!="ruhe") return 0; |
| 106 | write("Du haeltst einen Moment inne und geniesst die himmlische Ruhe, die nur durch\n" |
| 107 | +"das zwitschern einiger Voegel durchbrochen aber nicht gestoert wird.\n"); |
| 108 | return 1; |
| 109 | } |
| 110 | |
| 111 | static int cmd_leben(string str) |
| 112 | { |
| 113 | notify_fail("WAS moechtest Du leben?\n"); |
| 114 | if (str!="leben" && str!="mein leben" && str!="dein leben") return 0; |
| 115 | write("Nun, wenn die Welt so einfach waere das Du mit einem simplen Kommando Dein\n" |
| 116 | +"ganzes Leben steuern koenntest, dann waer die Welt doch wirklich langweilig,\n" |
| 117 | +"oder? Ich will doch stark hoffen, das es sooo weit noch nicht bei Dir ist :).\n"); |
| 118 | return 1; |
| 119 | } |
| 120 | |
| 121 | static int cmd_klettern(string str) |
| 122 | { |
| 123 | notify_fail("WOHIN oder WORAUF moechtest Du klettern?\n"); |
| 124 | if (member(({"auf baum", "auf baumzipfel", "baum hoch", |
| 125 | "buche hoch", "auf buche"}), str)==-1) return 0; |
| 126 | write("Du versuchst vergeblich die riesige Buche hochzuklettern, doch die unteren\n" |
| 127 | +"Aeste haengen leider bereits viel zu hoch, um diese erklimmen zu koennen.\n"); |
| 128 | return 1; |
| 129 | } |