diff --git a/OLD.d.dschungel b/OLD.d.dschungel
new file mode 100644
index 0000000..8fec4b7
--- /dev/null
+++ b/OLD.d.dschungel
@@ -0,0 +1,2116 @@
+Nur, um die 1970 endlich mal wegzukriegen... (Freund, 19. Jul 1993, 11:18:36):
+Ist eigentlich noch jemand fuer den Dschungel zustaendig?
+Osterhasi, den Dschungelhasen habe ich schooooon soooooooo laange
+nicht mehr gesehen...:(
+
+Morgengrauens FREUND.
+
+-----------------------------------------------------------------------------
+
+
+
+Standard-Dschungelraum :) (Angus, 12. Jul 1994, 18:20:42):
+Hallo !
+Moensch ist das leer hier :) Wird Zeit, dass der Dschungel "oeffnet"
+Leider kann das aber noch etwas dauern (zumindest mit meiner Quest im
+Dschungel),
+da ich aufgrund von Spielerbeschwerden (Stichwort "Spielspass") und des
+daraus
+resultierenden Labyrinth-Verbots, einen Teil besagter Quest voellig
+umschreiben
+muss... Keine Sorge, leichter wirds dadurch bestimmt nicht, es dauert halt
+etws
+laenger mit der Fertigstellung... (aber die besten Fiesheiten fallen einem ja
+bekanntlich ein, wenn man ueber was zweimal nachdenken muss ;)
+Um jedoch zu zeigen, dass ich einer derjenigen bin, der sich solche
+"Beschwerden"
+SCHWERST zu Herzen nimmt, und auch Besserung gelobt (wirklich, das Labyrinth
+war ja noch VIEL zu HARMLOS !!!), habe ich fuer den Dschungel einen Standard-
+Raum entworfen, der allen Spielerwuenschen jetzt und in der Zukunft gerecht
+werden sollte. Da es wie gessagt mit der Oeffnung noch etwas dauert, hier
+fuer die ganz Ungeduldigen ein kleiner Vorgeschmack aus meiner Quest :
+
+Du betrittst einen Raum, im Dschungel... Ueberall das selbe, Blaetter,
+Pflanzen,
+Baeume, gefaehrliche Tiere... (Ueberfluessige Details werden weggelassen !)
+OB DA IN DEM ASTLOCH WOHL EIN ZAUBERTRANK VERSTECKT SEIN KOENNTE ???? (Wage
+Hinweise auf eventuelle ZT's)
+Auf jeden Fall laeufst Du gen Norden in eine fiese Falle !!! (Auch Fallen
+sollten
+ersichtlich sein, BEVOR man sie betritt...)
+Das Monster in diesem Raum hat Level X, eine Ruestung von AC Y, und bringt Z
+XP,
+wenn man es Plaettet !! (So ist der Spieler optimal informiert !)
+Sage das Zauberwort, welches in die Rinde des Baumes geritzt ist (Syntax: UNT
+RINDE,
+dann: SAG ABRACADABRA) (Syntax-erklaerung nicht vergessen ;) und Du bekommst
+sofort 999 AP und kannst Seher werden, IST DAS NICHT SCHOEN ?? :)))
+(ZUUU schwer solls ja nun auch nicht werden !)
+Wenn Du hier deine Ausruestung verbuddelst, ueberdauert sie jeden Reboot,
+ausserdem gibts auf hier vergrabenes Geld sogar ZINSEN :)) (hiermit waere dem
+Wunsch nach einer Bank genuege getan !)
+Im Sueden gibt es ausserdem eine Megawaffe, die mit einem Schlag JEDES
+Monster zerlegt.
+
+HERZLICHEN GLUECKWUNSCH, DU HAST DAS MUD-SPIEL GEWONNEN !!!
+
+Naaa ??? Gefaellt das ??? :))
+Bleibt nur noch eine Frage: Wo ist DIESER TOLLE RAUM versteckt ?
+Viel Spass beim Suchen wuenscht
+           Angus, der Finstere !
+
+P.S.: Ach ja, eins haett ich fast vergessen: Der Raum hat EINEN Nachteil....
+      Es wird ihn nie geben... (er wuerde MIR den "Programmierspass"
+verderben !!)
+
+-----------------------------------------------------------------------------
+
+
+
+re-angus (Thorin, 12. Jul 1994, 18:45:48):
+Statt Dschungel sollte der Artikel in Witze, wenn du mich fragst. Aber du
+hast denselben merkwuerdigen Humor wie ich :))). Aber im Ernst : ich frag mich
+ob du dich wirklich auf die Fuesse getreten fuehlst, wenn nein, gut so, denn
+es ist zum besseren des
+MUDS, wenn doch, Pech gehabt :)))) Denn was anderes als Labs kann man
+wirklich von Magiern erwarten wie ich finde...
+Servus, Thorin
+
+-----------------------------------------------------------------------------
+
+
+
+Neues Quest (Sethos, 10. Aug 1994, 12:42:22):
+Hallo!
+
+Jetzt schreibe ich auch (zum Ersten mal in dieser Zeitung) was.
+Bald wird im Dschungel ein neues Quest angeschlossen werden, in
+dem es weniger um Schlachten und Metzeln geht. Ich habe absichtlich versucht,
+eine
+Quest zu schreiben, in der man auch jede Menge Spass haben soll. Die Meinung
+der Tester
+(dank an Drizzt, Kassandra, Tremor, Gatsby und Kirk, hoffentlich habe ich
+keinen vergessen)
+in dieser Hinsicht ist eindeutig positiv. Ich hoffe das auch die
+Spieler es so sehen werden. Also, aufgepasst, demnaechst gibnt es eine Quest
+mehr.
+Gruesse
+Sethos
+
+-----------------------------------------------------------------------------
+
+
+
+Neue Quest (Sethos, 15. Aug 1994, 18:00:58):
+Hi, ihr alle,
+jetzt ist es also soweit, im Dschungel (es wird ihn nun endlich
+geben) gibt es was zu tun. Es wird nicht mehr lange dauern,
+bis man in den Tiefen des gruenen Urwaldes nach dem
+Schicksal von Olaf Huusg forschen kann. Voll von
+Gefahren und noch voller von Unterhaltung,
+so hoffe ich, kann man sich als Urwald-
+faehrtensucher betaetigen. Ueber eine starke Resonanz, wie immer
+sie auch ausfaellt, wuerde ich mich sehr freuen.
+
+Also, viel Spass beim Questen, im neuen Abschnitt des MG.
+
+Viele Gruesse,
+
+Sethos
+
+-----------------------------------------------------------------------------
+
+
+
+Ofiziell offen! (Sethos, 17. Aug 1994, 12:39:27):
+
+Tiefer im Dschungel haben neuere Forschungen ein Dorf ausfindig gemacht.
+Geruechten zu Folge, soll es sich um ein Dorf der Wangas handeln. Eine
+friedliche Sippe, die im Dschungel ein gemuetliches Leben
+fuehren und niemanden etwas Boeses wollen. Hier, so
+die Forscher, soll es auch Arbeit fuer Spieler geben, doch
+genauere Informationen wollte das Team vorerst nicht
+preisgeben. Der Weg zum Dorf ist etwas beschwerlich, aber durchaus lohnend.
+Es soll im suedlichen
+Teil des Dschungel liegen. Soweit die Berichte.
+
+Auch im Namen von Gum, der momentan keine Zeit hat, soll ich
+allen Muddies viel Spass im neuen Gebiet des MG wuenschen.
+Der Dschungel und das Quest sind ofiziell offen, betretbar,
+spielbar und loesbar.
+
+
+Gruesse
+
+Sethos, Gum
+
+-----------------------------------------------------------------------------
+
+
+
+Zu der Huusg-Quest (Sethos, 25. Aug 1994, 17:59:36):
+Ich will hier noch einige Anmerkungen fuer Spieler der
+Huusg-Quest machen:
+
+1) Der Vogel ist NICHT an einen Raum gebunden, also nicht
+   in einem einzigen Raum warten, wo er erscheinen sollte
+   (hier wird er zwar in das Spiel eingefuegt, fliegt aber
+    kurz darauf weg, in einen anderen Teil dieses Dschungels).
+
+2) Man muss nicht die absolute Metzelorgie abziehen, um an
+   den Stein im Dorf zu gelangen.
+
+3) Gegen Ende der Quest sollte man sich reiflich ueberlegen,
+   ob man die Geister fordern soll oder nicht.
+   (Einige werden schon wissen, was ich damit meine.)
+
+So, das waren die haeufigsten Anfragen zu meiner Quest und
+nun weiter viel Spass beim Spielen,
+
+Sethos
+
+-----------------------------------------------------------------------------
+
+
+
+re: zu der huusge quest (Guldukat, 26. Aug 1994, 15:18:32):
+3) Gegen Ende der Quest sollte man sich reiflich ueberlegen,
+   ob man die Geister fordern soll oder nicht.
+   (Einige werden schon wissen, was ich damit meine.)
+
+ *grins*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: re: zu der huusge quest (Steve, 29. Aug 1994, 23:19:17):
+Ich hab nochmal die Huusg-Quest durchgespielt, aber ich komme einfach
+nicht darauf, wie man an den Schluessel zur Vitrine kommt, ohne den Waechter
+zu toeten.
+Weiss da jemand Rat ?
+
+             Ciao, Euer Steve
+
+
+-----------------------------------------------------------------------------
+
+
+
+Huusg-Quest (Guybrush, 28. Sep 1994, 14:51:59):
+Ich wuerd die Quest ja auch viel lieber ohne Gemetzel loesen, aber jetzt lauf
+ich seit sicher 3 (Spiel) Stunden durch das Dorf, finde aber keinen Hinweis.
+Soll ich Randale im Dorf machen (waechter-Gespraech) und wenn, dann wie? Soll
+ich mit den beiden anderen Waechtern Karten spielen? Ist was im Schrank? (der
+geht nicht auf). Wie beleidige ich den Haeuptling, den Stolz der Wache?
+
+	Guybrush, sich seine Gedanken machend...
+
+-----------------------------------------------------------------------------
+
+
+
+Credits ;-) (Angus, 10. Nov 1994, 18:11:47):
+Hier ein kleines Dankeschoen an alle, die mir beim Schreiben
+meiner Quest behilflich waren, im Speziellen:
+- Hate und Troy fuer Doku in /dev/brain ;)
+- Vrai fuer einen schnellen Hack... (jaaa... es laeuft!) :))
+- Gum fuer 6 (ja, sechs!) Seiten Typos ... (aehh...danke, denke ich...)
+- Kirk, Yantro und Toeter fuer exzessives Testen
+und nicht zuletzt Firma Erdinger fuer die nie versiegende
+Weissbierquelle... (*Hicks*)
+
+Weitere Typos, Bugs und aehnliches an mich,
+Flames und Gemecker -> /dev/null....
+
+   - Angus - Slayer Inc.&Co.
+
+-----------------------------------------------------------------------------
+
+
+
+Wangadorf (Isnogood, 16. Nov 1994, 13:28:57):
+Ist irgendetwas mit dem Wangadorf? Auf dem normalen weg scheint man nicht
+mehr hinzukommen?
+
+-----------------------------------------------------------------------------
+
+
+
+Tote Bedienung? (Sethos,  7. Dez 1994, 16:05:37):
+Fuer diesen, nun zugegeben etwas seltsamen Bug (wer will schon von einer
+halb verwesten Leiche bedient werden?), wurde im Zuge einiger Realitaets-
+anpassungen eine Angleichung an bestehende Formen vorgenommen.
+Wir versprechen, das derartige Abartigkeiten der Vergangenheit angehoehren
+und wuenschen viel Spass im Dschungelgebiet.
+
+Sethos
+
+P.S.: Jetzt aber nicht boese sein, wenn Ihr seht was passiert. (Keine
+Angst, es ist absolut ungefaehrlich!!)
+
+-----------------------------------------------------------------------------
+
+
+
+Knuddeln (Anatol, 20. Feb 1995, 13:24:53):
+
+High ihr alle.
+
+Es geschah am Wochenende, irgendwann gegen halb fuenf morgens, dass ein
+Magier namens Zuerileu auf der Allgemein-Ebene fragte, was denn eigentlich
+"knuddeln" nun genau sei.
+Zunaechst wollte ich mal herzhaft grinsen, dann fiel mir zum Glueck noch
+rechtzeitig ein, dass ich es ihm nicht haette erklaeren koennen.
+Die "Antworten" auf Zueris Frage waren aber allerdings auch nur sehr vage...
+
+Deshalb moechte ich das jetzt mal so in den Raum stellen:
+
+   Was genau ist "knuddeln"?
+
+Auf die Antworten (besonders auf die von Semira und Torfdueng) gespannt...
+
+Anatol (knuddelt und wird geknuddelt)
+
+PS: JA, dieser Artikel steht absichtlich in der falschen Rubrik. Die war eh
+leer und da stoerts auch keinen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Knuddeln (Cerebus, 20. Feb 1995, 13:33:01):
+#! rn=Anatol rt=793283093
+Moin, Moin!
+
+Hm.. Was ist Knuddeln?
+Zunaechst einmal muss ich sagen, dass ich mir das Wort auch im rl angewoehnt
+habe und oefter mal Freunde, WG-Kumpanen etc. knuddle.
+Meine Definition von 'Knuddeln' lautet:
+Das uneingeschraenkte Liebhaben von einer Person, ohne dabei
+(notwendigerweise) irgendwelche Hintergedanken (beischlafmaessiger Art :-)) zu
+haben.
+
+Diese Definition erfuellt die Kriterien a) Unverstaendlichkeit und b)
+Kompliziertheit und ist somit gelungen.
+
+Dreifach "Gut Rauch"
+Cerebus
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Knuddeln (Bongo, 20. Feb 1995, 14:24:37):
+#! rn=Cerebus rt=793283581
+Also unter knuddeln verstehe ich ein liebes in den Arm nehmen, druecken,
+und vielleicht auch mal Stupsen oder Knuffen. Halt einfach nur eine
+Art, jemanden zu zeigen, dass man ihn/sie sympathisch findet ohne
+in Gedanken so weit zu gehen und gleich an eine Anmache oder gar an Sex zu
+denken. Dafuer gibt es andere verben :-))
+
+-----------------------------------------------------------------------------
+
+
+
+ (Semira, 20. Feb 1995, 17:04:49):
+Alles Knuddeln oder was???
+
+Nun treibe ich hier schon fast 1 Jahr mein Unwesen und es gibt immer noch
+arme Muddies, denen ich die persoenliche Knuddeldefinition der Knuddelmaus
+noch nicht an eigenem Leib demonstriert hab??? Das erstaunt mich doch sehr!
+
+Bevor ich also zur Definition schreite hier erstmal eine herzliche Einladung
+an alle Knuddelfreunde und solche die es werden wollen zu einem umfassenden
+Knuddelseminar von und mit Semira.
+
+Aber nun zur Sache. Was ist Knuddeln? Knuddeln ist keine Taetigkeit, Knuddeln
+ist eine Lebensphilosophie (oder wie immer man das nach der Rechtschreibreform
+schreiben darf). Knuddeln ist der beste Weg lieben Leuten zu zeigen, dass man
+sie gerne hat und
+(mist textpuffer zu klein) skeptischen Leuten zu zeigen, was fuer ein netter
+Mensch/Muddie man ist. Funktioniert uebrigens in allen muds, auch in dem
+namens RL.
+
+Leider gibt es hier wie dort immernoch einige Unbelehrbare, die sich den
+neuen Horizonten verschliessen, die ihnen das Knuddeln eroeffnen koennte.
+Bedauernswerte, arme Wesen!
+
+Naja, ich arbeite jedenfalls daran, diese neue Lebensgefuehl ueberall zu
+verbreiten und gebe nicht auf auch die Skeptiker zu ueberzeugen...einige
+Mega-Skeptiker ausgenommen...denn fuer die ist die Knuddelenergie vergeudet!
+
+Hm, stelle gerade fest, dass es selbst mir nicht gelingt, Knuddeln
+abschliessend zu definieren. So bleibt Euch allen nur das Experiment, um die
+Wahrheit am eigenen Leib zu erfahren. Knuddelt, so werdet ihr geknuddelt. Oder
+sagt mir einfach Hallo, dann
+werdet ihr auch geknuddet. Ach eigentlich koennt Ihr machen, was Ihr wollt -
+ich knuddel Euch trotzdem.
+
+
+Tja, und so sage ich nun - von einem scrollendem Bildschirm und allmaehlich
+einsetzendem Knuddelentzug genervt - tschuessi ihrs. Fuehlt Euch geknuddelt!
+Es sei denn Ihr heisst T....
+
+Die schnurrende Knuddelmaus Semira - ist uebrigens fuer Anregungen immer
+dankbar!
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Knuddeln (Mateese, 20. Feb 1995, 19:03:07):
+#! rn=Anatol rt=793283093
+> Was genau ist "knuddeln"?
+Inzwischen fast nur noch laestig.
+ -- Mateese, gestandene Blut-Und-Schwert-Mudderin.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Knuddeln (Aranya, 21. Feb 1995, 14:57:35):
+#! rn=Anatol rt=793283093
+Tja, nach Semiras langem Artikel traut man sich ja fast gar nicht, noch was
+hinzuzufuegen...
+Trotzdem noch eine fuer mich sehr wichtige Ergaenzung zum bereits gesagten/
+geschriebenen (so Richtung Artikel 3 oder so): Knuddeln muss auch - zumin-
+dest fuer mich - so ein kleines Schuetteln beinhalten. Also mehr als umar-
+men oder druecken. Knuddeln eben. Knuddeln ist nicht statisch. Knuddeln ist
+dynamisch!
+Findet zumindest
+                Aranya
+
+PS: Endlich mal eine nette Diskussion in der MPA!
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Knuddeln (Dancer, 21. Feb 1995, 23:22:12):
+#! rn=Aranya rt=793375055
+Schuetteln? Ich meine eher so in Richtung Rubbeln..Schrubbeln...knuffig
+durchfluppen...sowas....also nicht so in der Art von Abdropfeln, sondern
+mehr hinterglurpfig kampfschnubbeln... aehm... ach...
+
+Dancer
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Knuddeln (Zuerileu, 22. Feb 1995, 01:43:32):
+#! rn=Dancer rt=793405332
+Sali zaeme,
+Ach irgentwie leuchtet mir die ganze sache schon ein was man darunter
+versteht.Aber ich kenne halt das schweizerdeutsche Wort nicht dafuer weil es
+kein speziellen Begriff dafuer giebt.
+Nun vielleicht 'schmusae' aber das ist auch wieder fuer Liebespaare, oder
+fruendschaftlichs Umarmae (freundschaftliches Umarmen) kommt der Sache schon
+naeher. tja was soll ich sagen ich stimme Semira zu und Anatol danke ich fuer
+das wirklich gute Thema und natuerlich allen die geschrieben haben und
+hoffentlich werden.! =:) Nun leider giebts so etwas wie knuddeln in real
+nicht, oder wennigstens meine Kollegen wuerden mich komisch anschauen wenn ich
+sie ploetzlich umarme und abknutsche (hihi mal abgesehen w
+... aemm mal abgesehen wie ich da bloed schauen wuerde =:) ) *scheiss
+editor*. Also mich koennt ihr auch knuddeln wenn ihr wollt und lass
+knuddelhasser, knuddelhasser sein (es werden nun keine Namen genannt, gell
+TD).
+
+Tschuess zaeme euer hoffentlich lieblingsmagier Zuerileu =:)
+
+-----------------------------------------------------------------------------
+
+
+
+Re:  (Acrimon, 22. Feb 1995, 02:15:37):
+#! rn=Semira rt=793296289
+Hallo Semira!
+
+Da interessiert mich jetzt aber doch, wie du das genau im RL machst, wenn du
+es schon so schlecht definieren kannst.
+Wie knuddelst Du im RL?
+
+Einen herzlichen Knuddler von mir
+Acrimon
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Knuddeln (Wargon, 22. Feb 1995, 09:47:11):
+#! rn=Dancer rt=793405332
+Kampfschnubbeln? Beziehst Du Dich da auf Semira? ;)
+  Sich eines leichten Grinsens nicht erwehren koennend,
+    Wargon
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Knuddeln (Puma, 22. Feb 1995, 12:12:41):
+#! rn=Dancer rt=793405332
+Aehhh...
+
+Schrubbeln ist etwas ganz anderes und hat eher was mit Teddybaeren und
+ihre Vorliebe fuer Skateboardfahren zu tun...
+
+..aber das ist ein anderes Thema ..  :))))
+
+
+PUMA
+
+(PP&P-Fan)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re:  (Roadrunner, 24. Feb 1995, 17:40:31):
+#! rn=Semira rt=793296289
+Tja, knuddelige Semira,
+
+Ich knuddle ja auch gerne, finde aber dass das manchmal etwas inflationaer
+gehandhabt wird.
+Damit es seinen Wert behaelt, der ja unbestreitbar vorhanden ist, sollte man
+vor allem neulingen zeigen, dass es zwar recht gerne gemacht wird, aber jeden
+voellig wahllos damit zu versorgen ist manchmal etwas zuviel. Ich war am
+anfang doch etwas irritiert.
+
+Mag sein, dass man als Hohenloher ein etwas reserviertes verhaeltnis zum
+knuddeln hat, aber mir geht es da wie vielen Volksstaemmen in Europa. ~r
+-- ich warte immer ein weilchen, bis ich anfange zu knuddeln und aehnliches.
+Abgesehen davon: Sei herzlich geknuddelt
+
+				Roadrunner
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re:  (Caradhras, 27. Feb 1995, 12:48:36):
+#! rn=Roadrunner rt=793644031
+Du bist Hohenloher?? An mein Herz. :-))) *kicher*
+Ansonsten muss ich Dir auch voellig beistimmen, aber VR ist nun
+mal nicht RL, in VR kann man viel mehr tun und lassen was man will.
+
+       tschoe              Caradhras
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3:  (Anthea, 28. Feb 1995, 16:00:58):
+#! rn=Caradhras rt=793885716
+Du hast im RL noch nie geknuddelt? Mei, scheinbar lauter verklemmte Leute
+hier...
+Einfach alles ein bisschen lockerer nehmen, dann koennen andere Leute das
+Knuddeln manchmal auch aktzeptieren. Bei einigen lasse ich es allerdings auch
+beim Versuch, wenn ich merke, dass die das in den falschen Hals kriegen :)
+
+          Anthea
+                     knuddelt auch gerne
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4:  (Dancer, 28. Feb 1995, 18:13:15):
+#! rn=Anthea rt=793983658
+Was bitte hat es mit Verklemmtheit zu tun, wenn man sich von Leuten
+antatschen laesst, die einem zuwider sind...
+Knuddeln ist eindeutig was fuer Leute, die man total sympathisch findet.
+
+Dancer
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5:  (Anthea, 28. Feb 1995, 19:34:27):
+#! rn=Dancer rt=793991595
+Habe ich behauptet, dass ich das bei JEDEM mache, dem ich begegne? aber auch
+einige Leute, die ich schon laenger kenne, haben irgendwie was dagegen,
+waehrend ander haben diese (Un)Sitte auch schon weitergetragen :)
+      Anthea
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3:  (Roadrunner,  1. Mar 1995, 10:30:37):
+#! rn=Caradhras rt=793885716
+STimmt wohl. vergesse ich gelegentlich, dass es hier doch viele Freiheiten
+gibt, die im RL nicht existieren. Aendert bei mir aber nichts daran, dass so
+ganz bestimmte Verhaltensweisen doch immer wieder durchdruecken.
+Tja jedenfalls freut es mich, dass hier sich auch heimat tummelt aus dem rl.
+
+                                    RR
+P.S. Kennst Du Tullau?
+
+-----------------------------------------------------------------------------
+
+
+
+Knuddeln (Grimmborn,  1. Mar 1995, 12:43:52):
+So, jetzt ist mal die Ketter der unglaublich spannenden Titel (Re^18:)
+durchbochen...
+Was ist knuddeln? Also, ich denke, ihr seid da alle auf dem falschen Dampfer.
+Knuddeln ist doch eindeutig eine Bezeichnung fuer hemmungslosen, suendigen
+Sex!
+Nix mit ein bischen schuetteln oder druecken, nein, dabei gehts zur Sache,
+aber wie!Deshalb finde ich das rknuddeln ja von der Vorstellung her auch so
+lustig.
+Aber in rl gleich jeden zu knuddeln, der einem ueber den Weg laeuft, ich
+weiss nicht... Was sagen denn die Leute dazu? Ist da schon oft die Polizei
+geholt worden, Erregung oeffentlichen Aergernisses oder so? Also, ich wuerd da
+ja schon dumm schauen, geb ich ja zu... ;-)
+
+Hmm, dumm, laenger kann ich mich vermutlich hier nicht mehr vorm Arbeiten
+druecken, ich muss mal was tun. :-(
+Fazit (haette ich fast vergessen): Ich weiss auch nicht genau, was knuddeln
+ist. Aber wen haette das blosse statement schon interessiert?
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Knuddeln (Loco,  1. Mar 1995, 14:59:58):
+#! rn=Grimmborn rt=794058232
+knuddeln != knulla. Auch wenns so aehnlich klingt...
+
+-----------------------------------------------------------------------------
+
+
+
+Knuddeln auch in RL (Gwyndon,  1. Mar 1995, 16:17:06):
+So, nun auch meine erste Nachricht in der MPA... (nicht dass ich glaube, Ihr
+haettet alle nur drauf gewartet, aber das ist einfach ein schoenes Thema) 
+:-))
+
+Knuddeln kommt aus dem Norddeutschen Raum (urspruenglich), wo auch so nette
+Worte wie 'Gnubbel' fuer zB einen kleinen Bleistiftrest entstanden sind. Und
+ganz zweifellos ist es eine Bezeichnung fuer einen lockeren, unkomplizierten
+Umgang mit netten anderen Menschen und mit Zaertlichkeit.
+Und wer meine Figur anschaut, oder wie T... abhoert (? *kopfschuettel*)
+weiss, dass ich das auch im MG gerne mache, ebenso spontan wie es manchmal
+(selten) vorkommt, dass ich jemand spontan mag und die Freundschaft anbiete...
+  Da hat das MG einen positiven Effekt auf mein RL: Es wird durch das MG
+normaler, zu tun, wonach mir sowieso eigentlich ist, naemlich Sympathie offen
+zu zeigen, wo sie da ist oder entsteht.
+   Und das funktioniert eben nicht nur im MG, wie Knuddlmaus Semira richtig
+festgestellt hat (*rknuddel semira /einfach so*), sondern im Multilinechat
+einer Mailbox ebenso wie in RL. Und wer rknuddel mal in RL ausprobieren
+moechte, sollte einfach mal versuchwen, alle Menschen zu moegen (wie ich das
+mit 2 Ausnahmen tue) und sich ueber einen schoenen Tag zu freuen, und dann
+Leute im Voruebergehen, Entgegenkommende auf dem Buergersteig, Nebenstehende
+an der Ampel, einfach anzulaecheln (_nicht_ grinsen, das ist nicht das
+Gleiche). Anlaecheln ist das, was in RL einem rknuddel am naechsten kommt. Und
+das mit der freundlichen Antwort funktioniert fast ebenso sicher wie ein
+rknuddel semira...
+   Alle, die in RL zu scheu (oder anders erzogen) sind, als dass sie einen
+netten Menschen einfach stubsen, knuffen, oder einen freund umarmen koennten,
+sollten vielleicht spasshalber mal ein Live-Rollenspiel ausprobieren. Und zwar
+keines mit ueblen Gegnern und Monstern, wo man schon aus Angst niemand naeher
+als 5m an sich ran laesst, und auch keines das kuerzer als 1 1/2 tage ist. In
+einer Rolle ist es (wie in VR) einfacher, normale Hemmungen zu ueberwinden.
+Probierts mal aus....  (jemand Interesse? 26-28.05. Steinsberg, Infos per
+anfrage an myra@uni-tuebingen.de - oder waere das jetzt eine anzeige gewesen?)
+
+Und tschuess...  seid zum Abschied, wenn Ihr moegt, herzlich geknuddelt, vor
+allem (Reihenfolge ist keine Wertung) Alena, Castaway, Dusty, Eileen, Etain,
+Jelantha, Magee, Semira ua...
+
+gez. Gwyndon, der kaum zum Questen kommt und froh ist, doch schon Ritter zu
+sein :-))
+
+-----------------------------------------------------------------------------
+
+
+
+Bezug:Knuddeln (Anatol, 20. Feb 1995, 13:24:53) (Toastbrot,  8. Mar 1995, 12:22:23):
+Knuddeln : Herzliches in die arme fallen.Auch umarmen genant.
+           Heftiges aneinanderdruecken zweier Koerper im Friedlichen sinne.
+
+Also zumindest sowas in der richtung.
+
+Toastbrot der es Liebt geknuddelt zu werden,und auch andere gern Knuddelt.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Toedliche Knuddelallergie?? :) (Zephyr, 13. Mar 1995, 22:30:40):
+Am Wasserfall.
+Nostradamus der RL-Seher.
+
+Du seufzt.
+Du knuddelst Nostradamus.
+
+Ploetzlich weicht alles Leben aus Nostradamus.
+
+[schau]
+Am Wasserfall.
+Nostradamus der RL-Seher (netztot).
+
+
+Zephyr, fassungslos
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Toedliche Knuddelallergie?? :) (Aranya, 15. Mar 1995, 15:50:25):
+#! rn=Zephyr rt=795130240
+Ist das jetzt die MUD-Antwort auf die sogenannte oder auch 'Lustseuche' AIDS?
+
+(Sorry, wenn ich jemandem auf den Schlips getreten sein sollte)
+
+-----------------------------------------------------------------------------
+
+
+
+Aenderung an der Mayaquest (Bertram,  3. Apr 1995, 11:58:54):
+Moin zusammen
+
+Ich habe heute die Sperre ausgebaut, die verhinderte, dass man die Quest
+mehrmals loest.
+
+              Viel Spass wuenscht  Bertram
+
+-----------------------------------------------------------------------------
+
+
+
+Let`s go Spielkinder! (Azzuro,  5. Jun 1995, 14:58:26):
+Explosive Bekanntmachung:
+
+Wolltest Du schon immer mal deinen Widersacher besiegen?
+Bist Du zu schwach fuer die Arena?
+
+Dann ab in den Dschungel und messt euch in einem Spiel.
+In Ohort wurde ein laengst vergessenes Hinterzimmer gefunden. Dort steht das
+legendenumwobene Spiel der Spiele. (oder auch das Spiel derer die Arbeiten
+sollten und es nicht tun.)
+
+Also nichts wie hin und deplaziert euren Widersacher auf der Rangliste.
+
+Aberr Vorrsicht: It's hot man.        *Bumm*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Let`s go Spielkinder! (Anthea,  5. Jun 1995, 17:08:03):
+#! rn=Azzuro rt=802357106
+>Aberr Vorrsicht: It's hot man.        *Bumm*
+Tja... was soll man da sagen:
+   Some like it hot :)
+  Anthea
+    (mag es lieber nass)
+
+-----------------------------------------------------------------------------
+
+
+
+Steppe entdeckt (Quinolin, 24. Jun 1995, 22:58:47):
+Hallo Abenteurer,
+
+mutige Forscher haben sich vor einiger Zeit auf den Weg gemacht, um den
+Uebergang zwischen der Wueste und dem Dschungel genaeuer zu erkunden.
+Jetzt sind sie zurueckgekehrt und haben von einer grossen Steppe und
+einer Feuchtsavanne berichtet. Auch ein neues Dorf wurde entdeckt. Mit
+einem bisher unbekannten Spiel, das die dortigen Buschmaenner gerne spielen.
+
+Also, macht euch auf den Weg und folgt den Spuren der Forscher ...
+
+
+Viele Gruesse, Quinolin.
+
+-----------------------------------------------------------------------------
+
+
+
+Leichenberge im Orkenhort (Romili, 19. Nov 1995, 17:44:01):
+
+Pex beklagt in letzter Zeit, dass er Berge von Leichen aus seinem
+Tunnel schaufeln muss. Zudem klagt er die mangelnde Risikobereit-
+schaft der Abenteurer an.
+Deshalb hat er seine Waechter angewiesen, nur noch solche Abenteurer
+mehrfach einzulassen, die bereit sind ein bisschen mehr einzusetzen
+als ihr armseliges Leben.
+
+i.A. Romili
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Leichenberge im Orkenhort (Asmodis, 20. Nov 1995, 10:37:51):
+#! rn=Romili rt=816799441
+Ach so, der Tunnel ist von dir, Romili ?
+Finde ich aber nicht gut, dass der Nachschub mit Fackeln und Nahrung nicht
+mehr durchkommt :(
+
+   Ciao, Asmodis (Einmal drin und nie wieder)
+
+-----------------------------------------------------------------------------
+
+
+
+Mitarbeit (Rikus, 22. Jan 1997, 22:54:28):
+Hi,
+
+wie ich hoerte, haben einige Interesse angemeldet, im Dschungel mitzuar-
+beiten. Wer also nette Ideen hat und/oder diese auch selbst umsetzen
+moechte, moege sich bitte bei mir melden.
+
+Rikus, auf Resonanz gespannt
+
+-----------------------------------------------------------------------------
+
+
+
+Baum umgefallen (Rikus,  3. Mar 1997, 23:25:34):
+Nicht nur im Wald und in der Wueste, nein auch im Dschungel faellt ab und
+zu ein Baum um und eroeffnet neue Wege...
+
+Viel Spass beim Suchen wuenscht Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Baum umgefallen (Fyt,  3. Mar 1997, 23:26:42):
+~#! rn=Rikus rt=857427934 rg=d.dschungel
+~#! tid=857427934
+
+Hm, ich hab schon lustigere Questankuendigungen gesehen *grins*
+
+Fyt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Baum umgefallen (Rikus,  3. Mar 1997, 23:30:40):
+~#! rn=Fyt rt=857428002 rg=d.dschungel
+~#! tid=857427934
+Das sollte ne Warnung sein :) rotfl
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+WWW-Seiten (Rikus,  3. Mar 1997, 23:38:45):
+Hi,
+Falls jemand Interesse und Lust hat, die WWW-Pages ds Dschungels zu
+erneuern/erweitern etc., moege sich bitte bei mir melden!
+
+Rikus.
+
+-----------------------------------------------------------------------------
+
+
+
+kleine Aenderung (Rikus,  7. Mar 1997, 15:09:31):
+Hi,
+in der Mine habe ich eine kleine Aenderung vorgenommen, also an die
+gerichtet, die sich dort vielleicht schon mal ein bisschen umgesehen
+haben...
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Lehrgang (Rikus, 11. Mar 1997, 18:59:47):
+Hi,
+da der Besitzer des Teiches in letzter Zeit nicht mehr so recht mit der
+Arbeit seines Waechters zufrieden sein konnte, hat er sich nach einem
+etwas staerkeren umgesehen.
+
+Rikus
+
+PS: Er hat zwar eine gute Ausbildung genossen, hat aber auch so seine
+    Fehler...
+
+-----------------------------------------------------------------------------
+
+
+
+Neues Angebot (Rikus, 22. Mar 1997, 19:51:43):
+Hi,
+seit 2 Tagen fuehrt der Wirt der Kneipe "Zur alten Mine" etwas neues in
+seinem Angebot. Vielleicht hilft es Euch in einer brenzligen Situation...
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+verlassene Huette entdeckt (Quinolin, 14. Apr 1997, 17:43:50):
+In der Steppe wurde vor kurzem eine alte, schon lange
+verlassene Huette entdeckt. Besonders viel gibt es dort nicht
+zu sehen. Aber damit es den Besuchern nicht zu langweilig wird,
+haben die ehemaligen Bewohner ein Spiel zurueckgelassen, dass man
+mit zwei bis vier Personen spielen kann.
+Viel Spass beim Ausprobieren wuenscht
+  Quinolin.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: verlassene Huette entdeckt (Atoz, 14. Apr 1997, 17:44:57):
+~#! rn=Quinolin rt=861032630 rg=d.dschungel
+~#! tid=861032630
+Was ist das denn? jemand nimmt nicht nur etwas nicht weg, sondern schliesst
+sogar was Neues an? Cool!
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: verlassene Huette entdeckt (Nasim, 14. Apr 1997, 22:10:54):
+~#! rn=Atoz rt=861032697 rg=d.dschungel
+~#! tid=861032630
+Ist bestimmt 'ne Falle.
+
+Nasim, Pessimist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: verlassene Huette entdeckt (Jasper, 14. Apr 1997, 22:25:18):
+~#! rn=Nasim rt=861048654 rg=d.dschungel
+~#! tid=861032630
+take it easy :)
+
+-----------------------------------------------------------------------------
+
+
+
+Erweiterung des Spiels (Quinolin, 10. Mai 1997, 13:16:25):
+Aufgrund des teilweise recht grossen Andrangs wurde das Spiel
+erweitert. Es koennen nun zwei bis maximal acht Spieler mitmachen.
+Ausserdem wurden einige Neuerungen eingebaut.
+Wen es interessiert, sollte das Schild aufmerksam lesen.
+ Quinolin.
+
+-----------------------------------------------------------------------------
+
+
+
+Bug in TIE-Liste entfernt (Quinolin,  4. Jun 1997, 17:45:46):
+Hallo, liebe T.I.E.-Fangemeinde !
+
+Zephyr hat mir heute mittag mitgeteilt, dass wohl
+etwas mit der Schnitt-Berechnung innerhalb der 
+Top-Liste wohl nicht stimmen kann. Es gab erhebliche
+Abweichungen von den Ergebnissen, die sie fuer sich
+selbst ausgerechnet hatte.
+Deshalb habe ich mich mal ans Werk gemacht und mal
+geschaut, woran das liegen koennte.
+Ich habe den Fehler gefunden und habe mein komplettes
+Log-File und dessen Auswertung umgeschrieben.
+Damit ist das Problem hoffentlich geloest.
+Weil ich sowieso grade am Umschreiben war, habe ich
+jetzt die Top- und die Schnittliste auf 20 erweitert.
+
+In den aktualisierten Top- und Schnittlisten sind 
+alle Spiele, die heute zwischen 12 und 17.30 absolviert
+wurden, nicht beruecksichtigt. Ich bitte um Verstaendnis.
+
+Bei weiteren "Beschwerden" bitte Mail an mich.
+
+Viel Spass weiterhin bei dem wohl besten Spiel in MG ...
+ wuenscht Euch (grinsend)
+   Quinolin.
+
+P.S. Dank nochmal an Zephyr fuer den Hinweis.
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Regionsmitarbeiter (Rikus, 29. Jun 1997, 00:17:55):
+Hallo!
+
+wieder einmal moechte ich diejenigen ansprechen, die vielleicht Lust
+verspueren, im Dschungel anzufangen. Zum einen sind viele der Regions-
+mitarbeiter einfach nicht mehr da, zum anderen hat der rest kaum noch
+Zeit, was zu machen. Ich bin also fuer alle Ideen, die Ihr mitbringt,
+offen und habe auch mehrere mehr als halbfertige Sachen rumliegen, die
+es wert sind, fertiggestellt zu werden...
+
+Danke, Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Wunderlampe geaendert (Romili,  6. Jul 1997, 15:06:48):
+Mit dem neuen ZT-System macht der Wunsch "Zaubertrank" in der Wunderlampe
+bzw. im Dschinn wirklich keinen Sinn mehr, da das Orakel im Prinzip diese
+Funktion uebernimmt.
+Ausserdem waere es schlecht, wenn der Dschinn ZT-Verstecke verraet, die
+ihr noch nicht bekommen koennt, weil sie vom Orakel noch nicht frei-
+geschaltet worden sind.
+Daher habe ich diesen Wunsch in der Wunderlampe deaktiviert.
+Ich wuerde gerne, diesen ehemals sehr attraktiven Wunsch, durch einen
+anderen ersetzen, und waere daher fuer Anregungen sehr dankbar.
+Bitte mailt mir Eure Ideen, da ich die Zeitung - im Gegensatz zu meiner
+Mail - nicht sehr oft lese.
+
+liebe Gruesse, Romili
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Wunderlampe geaendert (Asmodis,  7. Jul 1997, 14:17:05):
+~#! rn=Romili rt=868194408 rg=d.dschungel
+~#! tid=868194408
+Wie waers, wenn man einen Magier seiner Wahl loeschen koennte ? :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Wunderlampe geaendert (Fyt,  7. Jul 1997, 14:30:07):
+~#! rn=Asmodis rt=868277825 rg=d.dschungel
+~#! tid=868194408
+
+Au geil... dafuer wuerde ich dann glatt noch 'n Zweiti hochspielen ;-)
+
+Fyt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Wunderlampe geaendert (Asmodis,  7. Jul 1997, 15:14:56):
+~#! rn=Fyt rt=868278607 rg=d.dschungel
+~#! tid=868194408
+Jo, dafuer wuerde ich auch noch ein paar Tode einstecken :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Wunderlampe geaendert (Taragon,  7. Jul 1997, 17:49:59):
+~#! rn=Asmodis rt=868281296 rg=d.dschungel
+~#! tid=868194408
+bombige idee
+dafuer wuerd ich sogar mich selbst loeschen lassen und neu anfangen ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Wunderlampe geaendert (Mupfel,  7. Jul 1997, 23:28:10):
+~#! rn=Taragon rt=868290599 rg=d.dschungel
+~#! tid=868194408
+Ist es also schon so weit gekommen... *seufz*
+
+
+-mupfel-
+P.S.: mich doch nicht, oder? :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Wunderlampe geaendert (Lug,  8. Jul 1997, 01:18:28):
+~#! rn=Asmodis rt=868277825 rg=d.dschungel
+~#! tid=868194408
+Aeh Asmo:
+
+Pruuuuuuuuuuuuuuuuussssssttttt ;)
+
+-> Schmarren
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+ZT in alter Mine ??? (Taragon, 18. Jul 1997, 01:46:45):
+Hallo !
+
+Ich hab da ein Problem. Laut Orakel befindet sich in der alten Mine im
+Dschungel ein Zaubertrank. Ich habe aber nun schon seit Wochen versucht,
+diesen zu finden, doch sowohl mir als auch _einigen_ Spielern, die ich gefragt
+habe, faellt so langsam nichts mehr ein.
+Gibt es den ueberhaupt ? Wenn ja, meine ich, dass er etwas _zu_ bloed bzw.
+schwer versteckt wurde.
+
+Gruesse aus dem Allgaeu ;)
+  Taragon
+
+-----------------------------------------------------------------------------
+
+
+
+Re: ZT in alter Mine ??? (Acrimon, 21. Jul 1997, 17:07:03):
+~#! rn=Taragon rt=869183205 rg=d.dschungel
+~#! tid=869183205
+Es gibt ihn. Definitiv.
+Er ist eigentlich nicht schwer versteckt - dafuer aber stupide:
+man musz in einem Raum etwas tun, worauf man zwar leicht kommt, was aber in
+den anderen 8 Raeumen nur die Meldung "Wie bitte?" bringt.
+
+Acrimon, der Rote Ritter
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: ZT in alter Mine ??? (Mupfel, 23. Jul 1997, 05:57:26):
+~#! rn=Acrimon rt=869497623 rg=d.dschungel
+~#! tid=869183205
+Na genioes. Ich kenn 100te von Raeumen, wo ein Kommando/Detail Wie bitte/Nicht
+vorhanden gibt. Nen ZT dazwischen, den findet keiner :-)
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+take it easy (Rikus,  2. Nov 1997, 12:48:32):
+Hi,
+Take it Easy sollte nun auch bei Spielern gehen, die Grossbuchstaben im
+Namen verwendet haben.
+
+ciao, Rikus
+
+PS: ich meine damit das Spiel in Quinolins Huette.
+
+-----------------------------------------------------------------------------
+
+
+
+gefixt (Rikus, 10. Dez 1997, 22:11:40):
+Hiho,
+
+Bei den Kannibalen stirbt man nun nicht mehr im Gefaengis, falls man
+netztot wurde und bei Olaf Huusg habe ich bei Sim was gefixt.
+Bei weiteren Hinweisen/Ideen zu Gebieten lange nicht anwesender Magier
+bitte mail an mich!
+
+ciao, Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Aenderungen (Paracelsus, 18. Feb 1998, 13:23:27):
+Hi.
+
+Einige kleine Aenderungen, die in und um Katzmandu bzw. die Felinen
+gemacht wurden:
+
+a) Felinen koennen jetzt in der Abenteurergilde ein- bzw austreten, wenn
+   sie das moechten.
+
+b) Auf Wunsch der Initiative 'Sauberes MorgenGrauen - rettet die Umwelt'
+   koennen nicht mehr benutzbare Krallenspitzer jetzt im 'Felis Coloris'
+   zurueckgegeben werden. Gibt es sogar einige Muenzen fuer ;)
+
+c) Ab und zu wird es wohl einige neue Sachen im 'Felis Coloris' geben,
+   also gelegentlich mal nachsehen.
+
+Ansonsten kaempfe ich mich jetzt erstmal weiter durch die ganzen Typos und
+Ideen.
+
+Paracelsus.
+
+-----------------------------------------------------------------------------
+
+
+
+Aenderungen  (Cyrax, 22. Feb 1998, 14:55:30):
+was ist 'felis coloris' ??
+
+-----------------------------------------------------------------------------
+
+
+
+Mitarbeiter (Rikus,  4. Mar 1998, 11:13:00):
+Hi,
+nach dem "Ausscheiden" von Jennifer als Dschungelmagier bin ich
+auf der Suche nach Leuten, die gern bei mir was machen moechten.
+Zum einen gibt es Ideen und auch schon teilweise fertiges, was
+umgesetzt bzw. erweitert werden kann, zum anderen sind auch
+eigene Ideen sehr willkommen!
+Also meldet Euch bitte bei mir direkt oder per mail!
+
+Danke, Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Kneipen (Rikus,  5. Mar 1998, 22:42:23):
+Hi,
+die Kneipen sollten nun laut neuem System angepasst sein, seht
+ihr noch was, so bitte bei mir melden.
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Fellfarbe (Paracelsus, 10. Mar 1998, 00:35:34):
+Hi.
+
+Da einige Hobbits darum baten kann die Fellfarbe nun auch von Hobbits
+benutzt werden, auch wenn sie damit nur ihren Fusspelz (nein, nicht
+Fusspilz, pElz ;) faerben.
+
+Paracelsus.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Fellfarbe (Kartoffel, 11. Mar 1998, 00:37:57):
+~#! rn=Paracelsus rt=889486534 rg=d.dschungel
+~#! tid=889486534
+J U B E L !!!!
+
+Kartoffel - laesst Para hochleben und rennt sofort mal zum Laden
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Fellfarbe (Knurt, 11. Mar 1998, 01:15:42):
+~#! rn=Kartoffel rt=889569477 rg=d.dschungel
+~#! tid=889486534
+Auch JUBEL!
+Knurt (rennt Kartoffel hinterher)
+uebe
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Fellfarbe (Bottom, 11. Mar 1998, 15:28:08):
+~#! rn=Knurt rt=889571742 rg=d.dschungel
+~#! tid=889486534
+
+D O P P E L J U B E L !!!!
+
+Bottom - jubelt gerne :)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Fellfarbe (Kintara, 11. Mar 1998, 16:23:20):
+~#! rn=Paracelsus rt=889486534 rg=d.dschungel
+~#! tid=889486534
+JUCHEEE!!!
+Kintara hinterlaesst eine grosse Staubwolke......
+
+Kintara treibts gern bunt
+
+-----------------------------------------------------------------------------
+
+
+
+Neuer Mitarbeiter (Rikus, 12. Okt 1998, 14:09:42):
+Hi,
+ich begruesse Greifax als neuen (hoffentlich aktiven) Mitarbeiter. Wer
+sonst noch Lust hat, melde sich doch bitte bei mir. :)
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Neuer Mitarbeiter (Morgoth, 12. Okt 1998, 14:11:40):
+~#! rn=Rikus rt=908194182 rg=d.dschungel
+~#! tid=908194182
+Naja, wer will schon im Dschungel arbeiten? Andauernd dieser Regen, dumme
+Baeume, die eh alle gleich aussehen ;-))
+Nee nee, kein Dschungel...
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Neuer Mitarbeiter (Ark, 12. Okt 1998, 14:15:12):
+~#! rn=Morgoth rt=908194300 rg=d.dschungel
+~#! tid=908194182
+Ooooch, Ideen haette ich da schon, nur hat man halt nur ein Programmiererleben
+:-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Neuer Mitarbeiter (Rikus, 12. Okt 1998, 14:18:04):
+~#! rn=Morgoth rt=908194300 rg=d.dschungel
+~#! tid=908194182
+hm, da hab ich doch von Dir eine mail mit Erstkills... Ob ich die nach
+Deinem Artikel eben nach /dev/null schicke? :-)
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Neuer Mitarbeiter (Gando, 12. Okt 1998, 14:18:42):
+~#! rn=Morgoth rt=908194300 rg=d.dschungel
+~#! tid=908194182
+genau .. hier in bonn regnets genug. da geh ich lieber in die wueste
+Gando
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Neuer Mitarbeiter (Morgoth, 12. Okt 1998, 14:21:47):
+~#! rn=Rikus rt=908194684 rg=d.dschungel
+~#! tid=908194182
+Hey, es ist Deine Aufgabe, das einzutragen. Ich habe nur meine Meinung
+kundgetan. ;-)
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Neuer Mitarbeiter (Azzuro, 16. Okt 1998, 01:48:02):
+~#! rn=Morgoth rt=908194907 rg=d.dschungel
+~#! tid=908194182
+Halt Dich klein Morgoth, wenn im verlorenen Land nicht andauernd Baeume
+umfallen wuerden, waer es auch schon ein Dschungel. ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Katzmandu (Paracelsus, 17. Okt 1998, 00:33:38):
+So, in Katzmandu gibts jetzt auch Happa Happa zum Tanken.
+
+Para.
+
+-----------------------------------------------------------------------------
+
+
+
+Ausgaenge? (Rardian, 26. Feb 1999, 15:31:37):
+Neulich schlenderte ich mal wieder nichts boeses ahnend durch den Dschungel.
+Ich kam zu einer Stelle, wo ich wie immer den Spuren von Tieren folgen wollte,
+um hinauszugelangen (nahe bei dem Schild der Kannibalen), in der Raumbe-\
+schreibung steht immer noch, dass es keine sichtbaren Ausgaenge gebe, darunter
+stehen
+aber die beiden zur Verfuegung stehenden Ausgaenge, warum?
+Liegt das an meinem Level? Oder sehen das jetzt prinzipiell alle
+dschungelerfahrenen Felinen? Oder wie oder was?
+
+Rardian, sehr verwirrt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ausgaenge? (Rikus, 26. Feb 1999, 15:37:41):
+~#! rn=Rardian rt=920043097 rg=d.dschungel
+~#! tid=920043097
+Hi,
+setz doch bitte in dem Raum eine Bug-/Ideemeldung ab, dann seh ich auch,
+wo es genau ist und um was es geht. Bisher stehst Du in keinerlei
+Reportfiles aus dem Dschungel...
+Oder ruf einem Magier, wenn Du grade dort an der Stelle bist.
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Ausgaenge? (Mccauls, 28. Feb 1999, 21:15:11):
+~#! rn=Rikus rt=920043461 rg=d.dschungel
+~#! tid=920043097
+ich kann das phaenomaen bestaetigen.
+ging mir auch so ... dachte das muss evtl. so sein, da ich grad seher geworden
+bin
+
+McCauls, selten im Dschungel unterwegs
+
+-----------------------------------------------------------------------------
+
+
+
+re ausgaenge  (Spirill,  1. Mar 1999, 17:42:21):
+bei mir auch, und ich bin (noch) kein seher...soll wohl so sein..?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Ausgaenge? (Kuguar,  7. Mar 1999, 22:30:38):
+~#! rn=Mccauls rt=920236511 rg=d.dschungel
+~#! tid=920043097
+Ich sehe auch keine Ausgaenge. Aber im Dschungel finde ich das beim ersten mal
+O.K., da man sichnicht auskennt. Danach sollte das dann fuer einen aber
+eigendlich sichtbar sein, da man den Weg ja kennt. Ich weiss aber nicht wie
+kompliziert das zu programmieren ist....
+Kuguar
+
+-----------------------------------------------------------------------------
+
+
+
+Katzenjammer (Paracelsus, 20. Jun 1999, 22:31:44):
+Hi.
+
+Ich habe gerade mal einige technische Aenderungen an der Katzenjammer-
+Quest vorgenommen. Eigentlich sollte es da keine Probleme geben, aber
+ihr wisst ja, wie das manchmal ist.
+
+Auf eine bugfreie Umstellung hoffend,
+  Paracelsus.
+
+-----------------------------------------------------------------------------
+
+
+
+Mitarbeiter? (Rikus, 21. Jun 1999, 10:04:50):
+Hi,
+da sichnun eben wieder (nach Monaten/Jahren) ein Artikel in dieser Rubrik
+befand, wollte ich es gleich zum Anlass nehmen, nach (hoch)motivierten
+Mitarbeitern fuer meine Region zu suchen! Leider ist es so, dass die An-
+zahl der bisherigen aktiven Mitarbeiter gegen 0 (naja 1.5) konvergierte.
+Mailt mich doch bitte bei Interesse an!
+
+Thx, Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+wanted! (Rikus, 29. Okt 1999, 15:28:59):
+So, wieder mal mein alljaehrlicher Artikel zu diesem Thema: Wer moechte
+gern Mitarbeiter im Dschungel werden? Die Jobs da sind gutbezahlt :)
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Re: wanted! (Silvana, 29. Okt 1999, 15:43:15):
+~#! rn=Rikus rt=941203739 rg=d.dschungel
+~#! tid=941203739
+Aehm... Bezahlt...? Mach nen Angebot, vielleicht geh ich ja drauf ein, wenn
+Taramis fertig ist... ;-)
+
+  Silvana (nicht _ganz_ ernst)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: wanted! (Wurzel, 30. Okt 1999, 10:29:04):
+~#! rn=Silvana rt=941204595 rg=d.dschungel
+~#! tid=941203739
+ebenfalls. angebote per mail, sowas muss man ja nicht in der mpa auswalzen :)
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: wanted! (Tilly, 30. Okt 1999, 11:38:31):
+~#! rn=Wurzel rt=941272144 rg=d.dschungel
+~#! tid=941203739
+Oehm,
+zuechtet sich magier dafuer nicht Kinder? Nicht dass das bei mir geklappt
+haette, aber ... :)
+ - Tilly -
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: wanted! (Rikus, 30. Okt 1999, 20:03:58):
+~#! rn=Tilly rt=941276311 rg=d.dschungel
+~#! tid=941203739
+tja, irgendwie wizzt ihr mir alle vor der nase weg... :(
+
+rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: wanted! (Teddy, 30. Okt 1999, 20:04:24):
+~#! rn=Rikus rt=941306638 rg=d.dschungel
+~#! tid=941203739
+Selber zuechten, Rikus ;)
+
+Teddy, empfiehlt Fortpflanzung.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: wanted! (Bierchen, 31. Okt 1999, 16:19:20):
+~#! rn=Rikus rt=941306638 rg=d.dschungel
+~#! tid=941203739
+he!
+ich hab dir mal eines meiner plagen verkauft, wenn du die nicht richtig
+zuechtigen kannst... :)
+gruss,
+  - Bierchen -
+
+-----------------------------------------------------------------------------
+
+
+
+Re: wanted! (Tunixgut,  4. Nov 1999, 22:51:12):
+~#! rn=Rikus rt=941203739 rg=d.dschungel
+~#! tid=941203739
+Was GENAU heisst denn "gutbezahlt"??? ;o)
+
+'s Karate-Zwerchle - mit dem zweiten Vornamen "GOLDGIER"... ;o)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: wanted! (Anatol,  4. Nov 1999, 22:52:02):
+~#! rn=Tunixgut rt=941752272 rg=d.dschungel
+~#! tid=941203739
+Du kriegst im Dschungel ungefaehr drei- bis sechsmal so viel wie im Gebirge.
+
+Anatol
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: wanted! (Rikus,  4. Nov 1999, 22:52:10):
+~#! rn=Tunixgut rt=941752272 rg=d.dschungel
+~#! tid=941203739
+Gut heisst 1 Muenze pro fehlerfreier Codezeile, wobei Leerzeilen
+und Kommentare nicht zaehlen.
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: wanted! (Mahatmu,  5. Nov 1999, 08:54:40):
+~#! rn=Rikus rt=941752330 rg=d.dschungel
+~#! tid=941203739
+Nix, da mach ich nicht mit. Da wird ja seitenfuellender Code gefoerdert.
+Dabei kann man in LPC so schoen komprimieren :) (wie auch in C).
+
+Mahatmu
+
+-----------------------------------------------------------------------------
+
+
+
+Wunderlampe (Wim,  3. Feb 2000, 03:39:30):
+Besitzern einer Wunderlampe sei hiermit nahegelegt, einmal sich die Anwendung
+des Befehles "ende" angedeihen zu lassen.
+
+
+-----------------------------------------------------------------------------
+
+
+
+der dschungel lebt (noch) (Wurzel,  2. Nov 2001, 14:28:58):
+im dschungel gibt es, wie viele wissen, noch mehr als nur schlingpflanzen,
+baeume und insekten. gelegentlich finden mutige abenteurer auch ueberbleibsel
+und ruinen laengst untergegangener zivilisationen und abstruser religionen.
+unlaengst wurde eine ruine entdeckt, die auf einen dieser alten kulte
+zurueckgeht. sehr viel ist nicht bekannt ueber diese staette, nur dass sie
+einen ungewoehnlich starken einfluss auf schlangen ausuebt. eine expedition,
+die mehr in erfahrung bringen sollte, ist leider niemals zurueckgekehrt. es
+kann also davon ausgegangen werden, dass es unbekannte gefahren gibt, die
+dort in der ruine lauern...
+
+wurzel
+
+p.s. auch wenn es im dschungel heiss ist: zieht euch warm an.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: der dschungel lebt (noch) (Birdy,  2. Nov 2001, 14:37:35):
+~#! rn=Wurzel rt=1004707738 rg=d.dschungel
+~#! tid=1004707738
+Ueberlebt man dort, wenn man forscht oder waere es gesuender, dort nur mit
+vielen Freunden hinzugehen?
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: der dschungel lebt (noch) (Wurzel,  2. Nov 2001, 14:38:43):
+~#! rn=Birdy rt=1004708255 rg=d.dschungel
+~#! tid=1004707738
+kommt drauf an, was du vorhast. sich umzuschauen war noch nie eine schlechte
+idee.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: der dschungel lebt (noch) (Elberet,  2. Nov 2001, 14:38:57):
+~#! rn=Birdy rt=1004708255 rg=d.dschungel
+~#! tid=1004707738
+das steht doch da im artikel, nie wer zurueckgekehrt, sagt das nicht alles?
+Aber geh hin und schau nach, dann weisst es ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: der dschungel lebt (noch) (Pitfall,  2. Nov 2001, 14:39:10):
+~#! rn=Wurzel rt=1004708323 rg=d.dschungel
+~#! tid=1004707738
+for**** ist toedlich...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: der dschungel lebt (noch) (Boing,  2. Nov 2001, 14:39:24):
+~#! rn=Elberet rt=1004708337 rg=d.dschungel
+~#! tid=1004707738
+Kann es sein, dass Du Birdy loswerden willst? :)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: der dschungel lebt (noch) (Elberet,  2. Nov 2001, 14:40:20):
+~#! rn=Boing rt=1004708364 rg=d.dschungel
+~#! tid=1004707738
+noe, aber sterben fuer die forschung ist doch so schlimm nicht ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: der dschungel lebt (noch) (Ark,  2. Nov 2001, 14:49:31):
+~#! rn=Elberet rt=1004708420 rg=d.dschungel
+~#! tid=1004707738
+Ich winke mal mit dem 'Tod-dem-Nichtforschen' Faehnchen.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: der dschungel lebt (noch) (Ahab,  2. Nov 2001, 14:49:57):
+~#! rn=Ark rt=1004708971 rg=d.dschungel
+~#! tid=1004707738
+Du meinst wohl 'Tod den Nichtforschern'?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: der dschungel lebt (noch) (Elberet,  2. Nov 2001, 14:50:17):
+~#! rn=Ark rt=1004708971 rg=d.dschungel
+~#! tid=1004707738
+och, ich find sterben, wenn die atmosphaere stimmt, ok :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: der dschungel lebt (noch) (Ark,  2. Nov 2001, 14:51:28):
+~#! rn=Ahab rt=1004708997 rg=d.dschungel
+~#! tid=1004707738
+Neee, das stimmt schon so wie geschrieben ;^)
+
+Immer das Verhalten anprangern, keine Personen, hilft oft :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: der dschungel lebt (noch) (Montanus,  2. Nov 2001, 17:55:11):
+~#! rn=Ark rt=1004709088 rg=d.dschungel
+~#! tid=1004707738
+Also wenn das wie in Wilhelmsburg ist - man guckt sich unschuldig etwas um,
+faellt ploetzlich in ein Erdloch und wird, bevor man auch nur "licht"
+eintippen kann, von Schweinehunden zerfleischt - dann will ich da lieber nicht
+forschen. :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: der dschungel lebt (noch) (Terrorist,  2. Nov 2001, 17:58:30):
+~#! rn=Montanus rt=1004720111 rg=d.dschungel
+~#! tid=1004707738
+Angsthase, Schattenparker, Sitzpinkler ;)
+Heul doch! (c) Lug
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: der dschungel lebt (noch) (Janka,  3. Nov 2001, 08:43:28):
+~#! rn=Terrorist rt=1004720310 rg=d.dschungel
+~#! tid=1004707738
+Genau!
+Heul' doch. (c) Anatol
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: der dschungel lebt (noch) (Elendil,  4. Nov 2001, 12:31:23):
+~#! rn=Janka rt=1004773408 rg=d.dschungel
+~#! tid=1004707738
+Hi zusammen,
+
+ich moechte hier nur kurz darauf hinweisen, dass ihr vorsichtig
+zu dem neuen Gebiet gehen solltet, da die Falle auf dem Weg leicht
+buggt. D.h. wenn die Lanze einmal weg ist (das ist eine Vermutung)
+kann man sich nicht mehr befreien. Das bedeutet wiederum, ende oder
+
+Tod.
+
+Gruss Ele
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: der dschungel lebt (noch) (Wurzel,  4. Nov 2001, 15:12:38):
+~#! rn=Elendil rt=1004873483 rg=d.dschungel
+~#! tid=1004707738
+gegen buggende dschungelfallen kann ich wenig tun. es gibt jetzt aber noch
+eine weitere moeglichkeit, die ruine zu erreichen.
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: der dschungel lebt (noch) (Gor,  5. Nov 2001, 12:15:41):
+~#! rn=Elendil rt=1004873483 rg=d.dschungel
+~#! tid=1004707738
+Hehe, und wenn jeder nimm alles macht, nachdem er sich befreit hat, wird der
+danach sterben. ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: der dschungel lebt (noch) (Pest,  5. Nov 2001, 14:54:40):
+~#! rn=Janka rt=1004773408 rg=d.dschungel
+~#! tid=1004707738
+Exakt: Heul doch (c) Anatol und LOESCH DICH (c) Lug
+
+Ich war noch nie so ein sentimentaler Typ w[C[[3~          aeh Mist wie Anatol
+
+I.V.                                                                     
+Pest.
+Scheiss java...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: der dschungel lebt (noch) (Grimmborn,  5. Nov 2001, 15:07:09):
+~#! rn=Pest rt=1004968480 rg=d.dschungel
+~#! tid=1004707738
+Ich muss Dich leider korrigieren, das "loesch Dich" geht auf mich zurueck, und
+das "ende" auf das Treibsandhilfegeschrei moeglicherweise auch.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: der dschungel lebt (noch) (Janka,  9. Nov 2001, 01:06:52):
+~#! rn=Pest rt=1004968480 rg=d.dschungel
+~#! tid=1004707738
+Aber wenn schon dann bitte auch an das "'" hinter heul' denken, da ja hier ein
+"e" wegfaellt. 
+
+-----------------------------------------------------------------------------
+
+
+
+Re^13: der dschungel lebt (noch) (Tiamak,  9. Nov 2001, 17:44:51):
+~#! rn=Janka rt=1005264412 rg=d.dschungel
+~#! tid=1004707738
+Wieso faellt da ein "e" weg?
+
+
+Tiamak. Findet den Imperativ mit "heul" auch ohne zweites "e" vollstaendig.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^14: der dschungel lebt (noch) (Janka,  9. Nov 2001, 20:56:07):
+~#! rn=Tiamak rt=1005324291 rg=d.dschungel
+~#! tid=1004707738
+www.heul-doch.de
+oder aber auch:
+http://www.heul--doch.de.vu/
+wobei sich ein Besuch nicht lohnt :)
+
+-----------------------------------------------------------------------------
+
+
+
+Kannibalenfalle (Rikus, 16. Okt 2002, 11:00:10):
+... verhaelt sich nun leicht anders :)
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Wildrosen (Vardion, 19. Jun 2003, 22:50:04):
+Auf einer Lichtung im Dschungel hat die Natur einen Rosenbusch hervorgebracht.
+Die dort zu findenen Rosen werden euch bekannt vorkommen, sind aber doch ein
+klein wenig anders.
+
+Vardion
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Wildrosen (Zook, 19. Jun 2003, 23:04:05):
+~#! rn=Vardion rt=1056055804 rg=d.dschungel
+~#! tid=1056055804
+Und schon steigt die Menge der Rosen gewaltig an. ;)
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Wildrosen (Ahab, 19. Jun 2003, 23:04:28):
+~#! rn=Zook rt=1056056645 rg=d.dschungel
+~#! tid=1056055804
+Qualitaet spricht sich rum. :-)
+
+Ahoi!
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Wildrosen (Zook, 19. Jun 2003, 23:05:02):
+~#! rn=Ahab rt=1056056668 rg=d.dschungel
+~#! tid=1056055804
+Schleimer! 
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Wunderlampe und Dschinn von Romili (Rikus, 24. Mai 2005, 10:43:58):
+... hat Gabylon ueberarbeitet. Sollten irgendwelche Probleme auftauchen, so
+meldet Euch bitte direkt bei ihm. Es wurde der Code ueberarbeitet, die
+Funktionalitaet an sich ist wie bisher.
+
+Gruss, Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Wunderlampe (Ark, 11. Mai 2006, 16:50:14):
+Grad einen Bug in der Lampe gefixed (hoffentlich), der beim Heilwunsch die
+Haende blockierte. Deshalb bis auf weiteres von diesem Wunsch Abstand nehmen,
+bis nach Ende/Reboot eine "neue" Lampe im Inventar ist. Diese blinkt nicht,
+deshalb diese Information :-)
+Wundere mich eh, warum das niemand frueher bemerkt hat.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Hilf dem Heiler ;-) (Zesstra, 22. Mar 2007, 23:43:43):
+Huhu,
+
+dem Heiler in Katzmandu koennen neue (und alte) Spieler jetzt ein
+klitzekleines Bisschen behilflich sein. :-)
+Vielen Danke an Ark fuer Beratung und schnelles Testen und an Sator ebenfalls
+fuers Testen. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Die Quest "Schwert der Gnade"... (Arathorn, 11. Dez 2007, 21:51:37):
+... hatte unter der Haube einige Aenderungen noetig, die Zesstra und ich 
+heute abend erledigt haben. Sollten sich die NPCs im Questgebiet irgendwie
+anders verhalten als frueher, meldet Euch bitte kurz.
+
+Gruss, Arathorn.
+
+P.S. Die Quest an sich *sollte* nicht beeinflusst worden sein. ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Auch im Dschungel tut sich was! (Humni, 30. Jun 2008, 23:54:05):
+Huhu,
+
+naja. Ob sich viel tun wird? Jedenfalls bin ich erstmal temporaer dafuer da,
+im Dschungel ein wenig mit auszuhelfen. Ich bin nicht der RM, aber ich werde
+mal schauen, was zu tun ist, und sollte jemand im Dschungel ein problem haben,
+bin ich erstmal (oft sicher nur per Mail) dafuer da.
+
+So, dann schaue ich mal, welche Typos da so meiner harren und werde sicher
+weinen...
+
+(Nein, boese Drachen weinen nicht, die fressen nur die Leute auf. Merken.)
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Neuer RM (Ark, 18. Mai 2009, 11:06:17):
+Falls ihr besonders nervige/aergerliche Stellen schon jahrelang kennt und nie
+was getan wurde, dann schreibt mir. Ich werde das dann gleich mal angehen ...
+zaubern kann ich nicht, priorisieren schon :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Vier Elemente Quest (Ark, 21. Sep 2009, 12:15:40):
+Wer im Abgrund landet, hat jetzt auch eine Moeglichkeit, wieder an seine
+Besitztuemer zu gelangen.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Naturkatastrophe im Dschungel (Arathorn, 29. Sep 2012, 21:32:50):
+Hallo zusammen,
+
+wohl von den meisten unbemerkt, gab es heute im Dschungel ein kleineres 
+Erdbeben. Der Nabla trat kurzzeitig ueber die Ufer und hat etliches
+fortgeschwemmt, darunter bedauerlicherweise einige Tiere. Andere sind schon
+lange vor dem eigentlichen Beben geflohen und seither nicht wiedergekehrt.
+In der Zeit nach dem Ereignis haben allerdings einige neue Bewohner des
+Urwaldes die Gelegenheit beim Schopfe gepackt und sind in das betroffene
+Gebiet eingewandert.
+
+Wer sich persoenlich ein Bild von den Auswirkungen des Naturereignisses 
+machen moechte, ist herzlich eingeladen, den westlich von Katzmandu
+gelegenen Dschungel zu erkunden. Ich hoffe, es wird niemand von umfallenden
+Baeumen, herabstuerzenden Felsen oder sonstigen Nachwirkungen des Bebens
+unangenehm ueberrascht.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Forscher aufgemerkt (Miril, 20. Nov 2012, 23:05:59):
+Frei nach dem Motto: "Besser spaet als nie" wurde das Questgebiet zur Quest
+Schwert der Gnade fuer Forscher aufgewertet. Im Klartext: Es gibt dort jetzt
+FPs zu finden.
+
+Jaja, ihr werdet das jetzt fies und gemein finden und vielleicht ein bisschen
+rumjammern, aber seht es einfach als neue Chance, ein altes und vergessenes
+Gebiet noch einmal anzuschauen, um das Gedaechtnis aufzufrischen.
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Forscher aufgemerkt (Vanir, 20. Nov 2012, 23:33:40):
+~#! rn=Miril rt=1353449159 rg=d.dschungel
+~#! tid=1353449159
+Da kommen Erinnerungen an alte Zeiten. Das ich so eine Meldung noch mal lesen
+darf.
+V.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Forscher aufgemerkt (Ark, 20. Nov 2012, 23:50:31):
+~#! rn=Vanir rt=1353450820 rg=d.dschungel
+~#! tid=1353449159
+Deshalb "Gnade" :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Der Bibliothekar der Felinen (Arathorn, 26. Nov 2012, 22:45:03):
+Hallo zusammen,
+
+der Bibliothekar in Katzmandu sprach mich heute abend an. Er sagte, er
+wuerde sich sehr freuen, wenn ihn der eine oder andere interessierte
+Abenteurer gelegentlich besuchen wuerde, um ihm etwas zur Hand zu gehen.
+Er meinte, seine alten Knochen wuerden nicht mehr so gut mitspielen, wie
+noch vor einigen Jahren.
+
+Schaut doch mal bei ihm vorbei und helft ihm, wenn Ihr koennt.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Naturkatastrophe im Dschungel (Arathorn, 22. Dez 2012, 16:22:48):
+~#! rn=Arathorn rt=1348947170 rg=d.dschungel
+~#! tid=1348947170
+Hallo zusammen,
+
+im Gefolge des Erdbebens im Dschungel gab es vor einer Weile einige
+kleinere Nachbeben, die weitere Veraenderungen ausgeloest haben. Es ist
+bereits ein junger Forscher in den Urwald aufgebrochen, um sich die Sache
+einmal anzusehen, und wer es ihm gleichtun moechte, kann sich gerne
+ebenfalls dorthin begeben.
+
+Es ist allerdings vielleicht ratsam, zunaechst die Dschungelpost in 
+Katzmandu aufzusuchen, denn mir wurde berichtet, dass es im Zusammenhang
+mit der Erforschung des Dschungels zu Zwischenfaellen gekommen sei, und
+dass fuer die geneigten Abenteurer, die ebenfalls dorthin aufbrechen wollen,
+eine Nachricht hinterlegt worden sei.
+
+Viel Erfolg!
+Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Aufraeumarbeiten (Arathorn,  2. Sep 2013, 21:26:34):
+Hallo zusammen,
+
+ich habe heute mal eine gewisse Pyramide im Dschungel aufgesucht und einige
+laengst faellige Aufraeumarbeiten erledigt. In deren Zuge wurde auch ein
+Gang freigelegt, der weiter nach unten fuehrt.
+
+Vielleicht interessiert sich ja der ein oder andere furchtlose, abenteuer-
+lustige Recke dafuer, sich dort einmal genauer umzusehen?
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Es ist getan ... (Ark, 10. Nov 2014, 23:17:19):
+Als geuebter Schlangenbeschwoerer ist es mir gelungen, der Goettin ein Serum
+zu injizieren, welches verhindert, dass wertvolle Spielerausruestung verdaut
+wird. Diese Meduzin (Koagulierende Oralverabreichte Tenside Zur
+Energieregulierung) fuehrt dazu, dass alles moegliche im Verdauungstrakt
+verbleibt, es ist also "sicher" vor unbefugtem Zugriff ... solange der nicht
+zu lange auf sich warten laesst :-)
+Auf Rostmechanismen wurde die Meduzin nicht geprueft, aber der Schlangen-Tuev
+urteilt "Sehr gut".
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Der Sumpf des Erbarmens ... (Ark, 30. Aug 2015, 17:44:09):
+Im boesen Sumpf suedlich von Orkenhort hat eine guetige Fee dafuer gesorgt,
+dass die Leichen nicht mehr fuer immer verschwinden, sondern von Sumpfleuchten
+an feste Gefilde gezogen werden. Wer sich zufaellig dort aufhaelt, kann das
+sogar beobachten. Zum Helfen ist es allerdings zu spaet, nur die Ueberreste
+lassen sich dann noch bergen.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
