diff --git a/OLD.d.ebene b/OLD.d.ebene
new file mode 100644
index 0000000..a016c24
--- /dev/null
+++ b/OLD.d.ebene
@@ -0,0 +1,10828 @@
+Umbau der Ebene beendet (Hazel,  1. Feb 1993, 16:29:57):
+Moin
+
+heute morgen hab' ich den groben Umbau der Ebene beendet.
+Das heisst, das alle Wege und Orte, da bleiben wo sie sind.
+Das heisst nicht, dass nicht mehr an Details gearbeitet wird.
+Da mir bei der Heidenarbeit bestimmt viele fehler unterlaufen sind
+bitte ich um Hinweise in Hinsicht darauf.
+
+Hazel
+-----------------------------------------------------------------------------
+
+
+
+F&E (Rochus, 10. Nov 1993, 15:20:18):
+Vor kurzem wurde im Grimmswald ein Pfad entdeckt, der zur
+Forschungs- und Entwicklungsabteilung des MUDs, Institut fuer Monsterdesign
+fuehrt. Mutige Abenteurer, koennen sich dort ja mal ansehen,
+was sie bald erwarten wird. Aber Vorsicht, es sollen sich schon
+so einige Leute in dem Gebaeude verirrt haben...
+.
+-----------------------------------------------------------------------------
+
+
+
+Genesis-Hoehle freigegeben (Kobayashi, 21. Dez 1993, 13:22:41):
+Port Vain - Ein Hoehlenforscher hat vor einigen Wochen eine Hoehle
+in den Drachenzinnen entdeckt. Nach dem die Fa. Kobayashi & Co.
+die Hoehle abgesichert hat, wurde sie nun der Oeffentlichkeit
+vorgestellt. Besucher und Abenteurer koennen jetzt auch die Hoehle
+betreten. Der Eingang liegt zwischen der Hoehle der Hoehlengnome
+und Mirils Turm.
+Beim Betreten der Hoehlen ist aeusserste Vorsicht angebracht, da
+die Tierwelt noch nicht erforscht wurde. Niemand weiss, was fuer
+Kreaturen sich in den dunklen Ecken der Hoehlen verstecken.
+
+                                                             -K&C
+							     -HEL
+
+-----------------------------------------------------------------------------
+
+
+
+Zunehmende Maulwurfpopulation (Spindel, 22. Jan 1994, 17:52:47):
+Port Vain : Die Maulwurfpopulation insbesondere westlich des Ostwalles
+hat in letzter Zeit enorm zugenommen.
+Der Tierschutzbund aeusserte die Vermutung, es laege daran, dass die
+geselligen Tierchen durch die Aufschuettung des Walls und die ungewoehnlich
+starken Regenfaelle der letzten Zeit von ihrem urspruenglichen
+Siedlungsgebiet, dem Duncton-Wald, abgeschnitten wurden.
+Das Bauamt von Port Vain teilte hingegen die Befuerchtung mit, dass die
+Ansiedlung der Maulwuerfe in Verbindung mit den Regenfaellen zu einer
+Untergrabung bzw. Unterspuelung das Walles fuehren koenne.
+Regenabflussrohre wurden vorsorglich angelegt. Es bestehe keinerlei
+Anlass zur Beunruhigung.
+                                    i.A.  Spindel
+
+-----------------------------------------------------------------------------
+
+
+
+Umbauten in Port Vain (Rochus, 26. Jan 1994, 18:31:59):
+In Port Vain hat sich heute einiges getan. Die Hauptpost ist jetzt in
+einen Neubau umgezogen, die neue Kapelle wurde eroeffnet und Frank hat
+endlich seinen gewunschten Zugang zur Hafenstrasse fuer seine
+Abenteurerkneipe bekommen - daher hat er seinen Zugang zur Gilde geschlossen.
+Ach, und noch etwas: Die Abkuerzung zwischen dem zukuenftigen Stadthaus
+und dem Marktplatz wurde gesperrt, weil der Anfang der Hafenstrasse
+endlich fertiggestellt wurde.
+
+                                       (Rochus)
+
+-----------------------------------------------------------------------------
+
+
+
+Duncton-Quelltexte (Tryfan, 22. Feb 1994, 15:53:19):
+Liebe Elfen, Menschen, Zwerge und andere MG-ler,
+
+ um der Wahrheit Genuege zu tun, werde ich hier die Quellen, die von mir 
+fuer das Duncton-Quest herangezogen wurden, dalegen. Denn das vielfache 
+Lob fuer die tolle Story kann ich leider nicht fuer mich in Anspruch
+nehmen.
+ Die besten Geschichten schreibt immer noch das Leben selber und so beruht
+auch die Geschichte von Bracken aus Duncton auf wahren Gegebenheiten. Sie
+ist Inhalt des siebten Heiligen Buches in den Heiligen Schriftensammlungen
+von Uffington. Damit bildet sie die Rahmenhandlung der grossen, bedeutenden 
+mythologischen  Abhandlung 'Der Weg zur Stille', die von Boswell nach 
+seiner Rueckkehr aus Duncton in Uffington niedergeschreiben wurde. Diese
+Lehre wurde von meinem Enkel Woodruff im Rahmen seiner 'Erzaehlungen zur
+Laengsten Nacht' aufbereitet und mit meiner eigenen Geschichte und der 
+Geschichte des unvergessenen Beechen, Sohn Boswells,fuer die Nachwelt 
+erhalten. 
+
+ Uebersetzt in die Sprache der Menschen wurde sie von William Horwood:
+1. Der Stein von Duncton   Hobbit Press/Klett-Cotta    ISBN 3 608 95147 4    
+1. Duncton Wood            Arrow Books                  ??       ???
+2. Duncton Quest           Arrow Books                 ISBN 0 09 960620 8
+3. Duncton Found           Arrow Books                 ISBN 0 09 968300 8
+
+ Ich habe versucht, die Umsetzung in ein spielbares Quest so eng wie 
+moeglich an den Tatsachen anzulehnen. Dieses war auf Grund der Laenge
+der Orginaltexte nicht immer moeglich. Insbesondere fehlt der fuer das 
+Gesamtverstaendniss nicht unwichtige Teil der Reise Brackens in das
+kalte, duestere Saibot, Geburtsort Mandrakes. Dorthin wurde mein Vater 
+von Skiet geschickt, um sich vor dem Stein zu beweisen, bevor er nach
+Duncton zurueckkehren sollte. Es bestehen Ueberlegungen diesen Teil noch
+in das Quest zu integrieren.
+
+			Tryfan  ;)  
+
+-----------------------------------------------------------------------------
+
+
+
+Goblin-Lager entdeckt (Rochus, 22. Apr 1994, 17:40:20):
+Wie aus zuverlaessigen Quellen berichtet wurde, sind in der unmittelbaren
+Naehe von Port Vain groessere mengen an Goblins gesichtet worden.
+Ueberlebende berichteten von einem groesseren Lager, in dem sich
+mehrere gut ausgeruestete Goblins angesiedelt haben.
+
+-----------------------------------------------------------------------------
+
+
+
+noch mehr Duncton-Texte (Tryfan, 20. Jul 1994, 12:29:03):
+Liebe Elfen, Menschen, Zwerge und Magier
+
+ nach laengeren Nachforschungen in den Heiligen Schriftensamlungen von 
+Uffington und nachdem ich meine Privatbibliothek nochmal durchstoebert
+habe, kann ich nun sagen, wo man die Uebersetzungen der Duncton-Schriften
+von Woodruff aus Arbor Low findet.
+
+1. Duncton Wood         Arrow Books			ISBN 0 09 944300 7
+2. Duncton Quest        Arrow Books                     ISBN 0 09 960620 8
+3. Duncton Found        Arrow Books                     ISBN 0 09 968300 8 
+
+ Fuer seine unermuetliche Hilfe beim Heraussuchen sei Spindel aus Seven 
+Barrows gedankt.
+  Ganz besonders moechte ich mich auch bei Nirdavo aus Koeln fuer seine 
+wertvollen Hinweise auf die Uebersetzungen der modernen Duncton-Texte von 
+William Horwood bedanken.
+
+4. Duncton Tales	Harper Collins Publishers	ISBN 0 00 647218 4
+5. Duncton Rising       Harper Collins Publishers	ISBN 0 00 647302 4
+6. Duncton Stone        Harper Collins Publishers       ISBN 0 00 647601 5
+
+	Tryfan aus Duncton
+       ( Weisser Maulwurf )
+
+-----------------------------------------------------------------------------
+
+
+
+kleine Aenderung in Duncton (Tryfan, 21. Jul 1994, 11:35:19):
+Einer dieser dummdreisten Waechter versperrt einem jetzt den Ausgang aus
+dem System zum Stein, wenn Mandrake sich dort aufhaelt, um zu verhindern,
+dass man ihm ohne eigenes Verschulden in der Klauen geraet.
+Wer es mit Gewalt versucht, ist selber schuld.
+Ist doch nett, oder?
+Tryfan
+
+-----------------------------------------------------------------------------
+
+
+
+Warning! (Catweazle, 31. Aug 1994, 17:28:56):
+[Verlegt von d.wald, Mephisto, 29. Aug 1994, 23:08:20]:
+So eine Falle hab ich im Leben noch nicht gesehen,wie sie Rochus in der
+Architektenquest eingebaut hat.Echt nett,der Schacht!
+Fast Null Ueberlebenschance!Grats,Rochus!
+
+ein ziemlich frustrierter Mephisto
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Warning! (Catweazle, 31. Aug 1994, 17:29:04):
+[Verlegt von d.wald, Caradhras, 29. Aug 1994, 23:17:01]:
+Hat Rochus da einmal zuviel Grimmzahns Fallen gelesen? :-))
+Aber troeste Dich, Meph, ich bin auch schon an Rochus' Wespen hopps
+gegangen, die mir mit voller Ruestung und BS-Schwert innerhalb so ein
+bis zwei sekunden 202 hp runtergehaut haben. *grins* ich hab nur
+noch gesehen, dass da Wespen im Raum waren und schon kam
+die huebsche Todessequenz.... Reizend ;-)
+
+	Caradhras
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Warning! (Catweazle, 31. Aug 1994, 17:29:06):
+[Verlegt von d.wald, Silvana, 30. Aug 1994, 10:33:06]:
+Was heist hier Falle??? Mich hat da noch niemand angegriffen. Und wer
+DEUTLICHE Warnungen nicht liest, ist selbst Schuld.... Ach, so: Um der
+Archie-Schacht gings.
+Silvana - hat nichts gegen Schachtmochster.
+
+-----------------------------------------------------------------------------
+
+
+
+schacht (Catweazle, 31. Aug 1994, 17:29:06):
+[Verlegt von d.wald, Bongo, 30. Aug 1994, 10:41:20]:
+Soviel ich weiss, ist man im Schacht gar nicht gezwungen zu kaempfen.
+Es geht auch anders. :-)
+BONGO
+
+-----------------------------------------------------------------------------
+
+
+
+Re: schacht (Catweazle, 31. Aug 1994, 17:29:09):
+[Verlegt von d.wald, Beldin, 30. Aug 1994, 18:13:46]:
+
+Soweit Rochus MIR mal gesagt hat sollte man (laut der DEUTLICHEN Warnung) gar
+nicht erst REINSPRINGEN - selbst schuld ;)
+
+Grinsend 		Beldin (FLuganfaenger)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: schacht (Asmodis,  1. Sep 1994, 18:01:44):
+Wieso? Reinspringen ist doch gar nicht so gefaehrlich!
+Man muss nur das richtige Quest-tool dabeihaben :)
+
+                       Ciao, Asmodis
+
+-----------------------------------------------------------------------------
+
+
+
+Auf erneute Anfrage: Die Duncton Texte (Tryfan, 30. Sep 1994, 21:18:45):
+Liebe Elfen, Menschen, Zwerge und Magier
+
+ nach laengeren Nachforschungen in den Heiligen Schriftensamlungen von 
+Uffington und nachdem ich meine Privatbibliothek nochmal durchstoebert
+habe, kann ich nun sagen, wo man die Uebersetzungen der Duncton-Schriften
+von Woodruff aus Arbor Low findet.
+
+1. Duncton Wood         Arrow Books			ISBN 0 09 944300 7
+2. Duncton Quest        Arrow Books                     ISBN 0 09 960620 8
+3. Duncton Found        Arrow Books                     ISBN 0 09 968300 8 
+
+ Fuer seine unermuetliche Hilfe beim Heraussuchen sei Spindel aus Seven 
+Barrows gedankt.
+  Ganz besonders moechte ich mich auch bei Nirdavo aus Koeln fuer seine 
+wertvollen Hinweise auf die Uebersetzungen der modernen Duncton-Texte von 
+William Horwood bedanken.
+
+4. Duncton Tales	Harper Collins Publishers	ISBN 0 00 647218 4
+5. Duncton Rising       Harper Collins Publishers	ISBN 0 00 647302 4
+6. Duncton Stone        Harper Collins Publishers       ISBN 0 00 647601 5
+
+	Tryfan aus Duncton
+       ( Weisser Maulwurf )
+
+-----------------------------------------------------------------------------
+
+
+
+Die Daemonen sind los... (Zardoz, 26. Okt 1994, 13:29:45):
+Suedlich der Drachenhorter Landstrasse steht schon seit ewigen Zeiten ein
+riesiger, schwarzer Monolith. Er ist ueberhaupt nicht neu oder vom Himmel
+gefallen;
+bis jetzt sind nur alle an dem Weg, der zu diesem seltsamen Berg fuehrt,
+vorbeigelaufen ohne ihn zu bemerken.
+Was andererseits auch nur zu raten ist, denn das Betreten ist verboten!!
+Dort leben naemlich Daemonen, die in Frieden gelassen werden wollen.
+"Heldenhafte" Abenteurer finden dort nur den Tod...
+
+-----------------------------------------------------------------------------
+
+
+
+Dynamit (Zardoz,  2. Nov 1994, 15:27:45):
+Achtung! Ich habe den Fehler jetzt behoben, der es ermoeglichte Dynamit mit
+in die Daemonenburg zu nehmen. Also Vorsicht! Das Dynamit kann sich unter
+dem Einfluss der Magie des Gesteins spontan entzuenden.
+Ciao......Zardoz
+P.S. Das Dynamit entzuendet sich, nicht die Zuendschnur!
+
+-----------------------------------------------------------------------------
+
+
+
+Waechter im Elfendorf (Isnogood, 15. Nov 1994, 03:06:06):
+Hi,
+
+Es ist ja irgendwie logisch, wenn die waechter im Elfendorf nicht mehr
+tatenlos zusehen, wenn einer von ihnen abgemurkst wird, aber ein kleiner
+Hinweis auf die Aenderung waere schon angebracht gewesen
+
+Isnogood
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Waechter im Elfendorf (Asmodis, 15. Nov 1994, 05:02:40):
+#! rn=Isnogood rt=784865166
+Aenderung? War das nicht schon immer so ?
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Waechter im Elfendorf (Boing, 15. Nov 1994, 14:05:54):
+#! rn=Asmodis rt=784872160
+Immer nicht, aber es ist schon SEHR lange so ...
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Waechter im Elfendorf (Isnogood, 15. Nov 1994, 15:45:51):
+#! rn=Asmodis rt=784872160
+Nein Asmo, definitiv nicht, ich hab schon oefters Waechter fertiggemacht, die
+mir was gemopst hatten, ist noch nie passiert
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Waechter im Elfendorf (Isnogood, 15. Nov 1994, 15:47:20):
+#! rn=Boing rt=784904754
+Also Donnerstag war es noch nicht so, da hab ich noch die Waechter
+plattgemacht und ab freitag war es anders.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Waechter im Elfendorf (Boing, 15. Nov 1994, 15:48:59):
+#! rn=Isnogood rt=784910840
+Die Waechter sind MINDESTENS seit April unveraendert, und das stimmt,
+ich hab das Datum der Dateien angeschaut.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Waechter im Elfendorf (Toeter, 15. Nov 1994, 19:47:06):
+#! rn=Isnogood rt=784910840
+Dann war wahrscheinlich der Turmwaechter alle, der sorgt naemlich fuer
+die Kooperation.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Waechter im Elfendorf (Isnogood, 16. Nov 1994, 13:24:54):
+#! rn=Boing rt=784910939
+kann es dann sein, dass sie sich anders verhalten, wenn sie was geklaut
+haben?
+,
+
+-----------------------------------------------------------------------------
+
+
+
+Auch Daemonen lernen dazu... (Zardoz,  5. Dez 1994, 18:37:08):
+Daemonen waren noch nie besonders dumm....deshalb ist es ab jetzt nicht mehr
+ratsam Saeurebaelle gegen Saeuredaemonen zu verwenden
+ciao Zardoz (der seine Daemonen liebt)
+
+-----------------------------------------------------------------------------
+
+
+
+Warnung vor dem Drachen (Zardoz, 15. Dez 1994, 11:42:14):
+Es kommt wie es kommen musste. Die Daemonen zuechten jetzt Drachen um sich zu
+verstaerken. Diese Daemonendrachen sind in noch nie dargewesener Form gemein
+und hinterhaeltig. Deshalb hab ich vor ihrer Hoehle auch ein paar Waechter
+gestellt.
+Und da ihr es eh nicht lassen koennt, die Drachen zu belaestigen wuensche ich
+euch schonmal viel Spass... :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Neues aus dem Grimmswald... (Calum, 19. Dez 1994, 22:12:08):
+
+Seltsame Geruechte ranken sich um den Grimmswald und die Geheimnisse, die
+in seinem Schatten verborgen sind. Man spricht von verborgenen Plaetzen, die
+noch nie ein Mensch gesehen hat; man spricht von Wesen, die das Licht des
+Tages so sehr scheuen, dass sie sich nie aus dem Dunkelheit des Waldes
+hervorwagen; man spricht von Dingen, in denen eine geheimnisvolle, unbekannte
+Magie wohnt. Doch alle diese Geschichten verblassen gegenueber dem, was sich
+die Waldbewohner in den letzten Tagen nur fluesternd zu erzaehlen wagen: Dem
+Geruecht von einer Stadt, die sich westlich vom Grimmswald befindet, und
+vielleicht schon seit Jahrhunderten von keinem lebenden Wesen mehr betreten
+wurde.
+
+Die genaueste und vertrauenswuerdigste Schilderung, die von dieser Stadt
+existiert, stammt von einem Holzfaeller namens Garon, dessen Huette an der
+Biegung des Grimmsweges steht. Er berichtete, dass er und sein Bruder Taron
+sich eines Tages im Grimmswald verirrten, und auf ihrer Suche auf einen Weg
+trafen, der in ein unerforschtes Gebiet westlich des Grimmswaldes fuehrt.
+Dort
+angegriffen wurden. Garon konnte fliehen, waehrend sein Bruder weniger Glueck
+hatte: Er wurde toedlich verwundet, und starb, nachdem er sich mit letzter
+Kraft aus der Stadt herausgeschleppt hatte.
+
+Wie wahr diese Geschichte und die weiteren Geruechte sind, kann niemand
+sagen; jedoch hat sich in letzter Zeit die Anzahl der Personen, die sich im
+Grimmswald verirrt haben, und nie wieder aufgetaucht sind, drastisch erhoeht.
+Auch wenn sich mit jedem Tag die Erzaehlungen ueber sagenhafte Schaetze,
+magische Gegenstaende und ungeahnte Reichtuemer in dieser Stadt mehren,
+sollte sich niemand leichtsinnig vom Glanz dieser Dinge verblenden lassen.
+Jedoch steht es jedem frei, selbst das Innere dieser Stadt zu erforschen -
+auf eigene Gefahr hin...
+
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Kleine Aenderung in Duncton (Tryfan,  4. Jan 1995, 15:11:51):
+Da die Umweltverschmutzung durch zurueckgelassene Ausruestungsgegenstaende
+von gestorbener Spieler in Duncton langsam dramatische Ausmasse annimmt,
+haben die Maulwuerfe zur Selbsthilfe gegriffen und werden sich ihrer auf der
+Maulwurfwiese entledigen. Dort kann der Muell dann vom Besitzter eingesammelt
+werden.
+Der Verlust der Ausruestung sollte also kein Grund mehr fuer die Benutztung
+von Musterloesungen sein. Der Verlust der Ausruestung im Todesfall wollte ich
+sagen.
+Tryfan
+
+-----------------------------------------------------------------------------
+
+
+
+Neues aus Moron! (Calum,  7. Jan 1995, 19:18:48):
+
+Das Staedtische Bauamt in Moron gibt hiermit bekannt, dass alle Fehler
+und Typos in der Stadt, ueber die bisher Beschwerden eingegangen sind, in
+einer dreitaegigen Grossaktion beseitigt wurden. Natuerlich werden auch
+weiterhin alle Beschwerden dankend zur Kenntnis genommen.
+
+Ausserdem hat der achtarmige Priester der Akademie freundlicherweise
+alle Waffen, die er den Spielern bisher abgeholt hat, den Priestern des
+Xanti-Tempels zur Verfuegung gestellt, die wiederum den Erloes aus dem
+Verkauf dieser Waffen dazu benutzt haben, um einige zusaetzliche Glocken
+fuer den Tempel-Turm anzuschaffen. Der Grosswesir moechte im Uebrigen
+noch darauf hinweisen, dass ihm die alte Glockenmelodie nicht mehr
+so recht gefallen hat; er sucht zur Zeit nach einer neuen Melodie (die er
+spaetestens im naechsten Jahrhundert gefunden haben wird), und
+experimentiert solange mit verschiedenen mehr oder weniger
+wohlklingenden Tonfolgen herum.
+
+Drittens machen die Lehrer der Akademie darauf aufmerksam, dass sich
+die Praesenz der magischen Kraefte in der Stadt auf viele Gegenstaende,
+daher vielleicht erst einmal mit magischen Hilfsmitteln zu Leibe
+ruecken.
+
+Viertens soll ich von Anne ausrichten, dass sie jedem, der sie in
+der Bibliothek besucht, gerne ihre Hilfe und einen Schluck Viez anbietet;
+dass sie sich jedoch, wenn sie weiterhin von gewissen Leuten staendig
+zusammengeschlagen wird, mit allen Tricks gegen diese zur Wehr
+setzen wird.
+
+Und ganz zuletzt noch etwas in eigener Sache!!!
+Vielen, vielen Dank an alle, die mir beim Programmieren und beim Testen
+in irgendeiner Weise geholfen haben - vor allem
+* an Loco, ohne den ich nur halb so viel LPC koennen wuerde
+* an Puma, ohne den ich gar kein LPC koennen wuerde :-)
+* an Vrai, Hate, Wargon, Dancer und Kobayashi, die auch meine duemmsten
+  Fragen auf dem LPC-Kanal beantwortet haben
+* an Rochus, der den uebelsten Bug (Rausschmeisser) im Schnellverfahren
+  beseitigt hat
+* an Kieselstein, Asmodis, Toeter, Ryne, Zephyr, Rudiratter, Anatol und
+  alle anderen Spieler, die mit ihren Bug-, Typo-, Idee- und Info-
+  Meldungen auch den letzten verborgenen Fehler ans Tageslicht gezerrt
+  haben (und vielleicht auch noch weiterhin tun werden ;-)  )
+
+
+         - Calum -
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Noch eine Aenderung in Duncton (Tryfan, 11. Jan 1995, 18:23:08):
+Hi
+bisher war es mir ziemlich egal, dass einige Leute Spass daran gefunden
+haben, mit Musterloesungen durch Duncton zu rauschen  -selber Schuld-
+Da ich aber einige ziemlich weit im Quest antreffen musste, die keine Ahnung
+hatten, um was es eigentlich ging, werden einige NPC's nicht mehr direkt
+auf bestimmte Dinge, die offensichtlich in den Musterloesungen stehen,
+antworten. Denn dieses betrifft insbesondere Leute, die das Quest eigentlich
+ohne Musterloesungen machen wollen, aber von anderen foermlich ueberrannt
+werden, und dann ploetzlich ohne Kenntnisse alleine da stehen.
+Tryfan
+PS.: Mir ist klar, dass man die Musterloesungen 'nachruesten' kann, das kann
+ich aber auch.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Noch eine Aenderung in Duncton (Ronda, 11. Jan 1995, 20:28:46):
+#! rn=Tryfan rt=789844988
+Hi Tryfan!
+...hoffentlich schaffe ichs jetzt mit Kobold und allen Ebenen aus, auch
+selber
+lesen zu koennen, was ich schreibe...
+Ich hoffe, dass nicht ich Dich dazu veranlasst habe, die Quest zu er-
+weitern... Ich habs gemacht wie immer: Beim Wanderer gefragt, worums geht-
+der erzaehlt leider fast nichts!!!- rin ins Loch und umgeschaut...
+Tja, dann rennt man rum und zeichnet nen Plan... Einer der Mw erzaehlt was
+von nem weisen Mw,
+der duest davon- und drin ist man im Schlamassel... Ich weiss leider immer
+noch nicht, wer mir mehr zur Quest gesagt haette!!!
+Ich denke also, dass es nicht unbedingt die Leute mit Loesung sein muessen,
+die nicht durchkommen-die kommen mit Loesung ueberall durch!
+Also lass bitte die Quest so wie sie ist - sonst ist sie fuer Loesungslose
+noch viel schwerer...
+Tschuess,   Ronda (die sich grade durch die Oma-Quest hackt...)
+
+Ps: Ich schaffe es immer, Quests zu vermurksen... =:)
+Deshalb habe ich immer noch 8 (JA! A C H T!!!) 7. Steine v. Duncton...
+wo kann ich die loswerden??? Ueber Kieswerke nachgruebelnd... R.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Noch eine Aenderung in Duncton (Fyt, 11. Jan 1995, 21:18:48):
+#! rn=Ronda rt=789852526
+
+Die Duncton-Quest ist so ziemlich die beste, die mir bis jetzt
+unter die Finger gekommen ist und auch eine der wenigen, die ich
+(fast) ohne Hilfe gespielt habe.
+Deshalb finde ich es auch bedauerlich, wenn jemand gerade zu
+dieser Quest ne Musterloesung verwendet, ich glaub, die ist nicht noetig...
+
+und deshalb begruesse ich es ausdruecklich, wenn Tryfan die Quest
+ab und zu 'n isschen umbaut :) Schliesslich wollen auch Zweitis
+was zu knabbern haben :)
+
+Fyt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Noch eine Aenderung in Duncton (Ronda, 11. Jan 1995, 21:25:16):
+#! rn=Fyt rt=789855528
+...noch ne Ergaenzung:
+Klar! Wenn Du die Quest UMBAUST, ists ok, aber schwerer sollte sie - glaub
+ich - nicht werden...
+                   Ronda
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Noch eine Aenderung in Duncton (Dancer, 14. Jan 1995, 15:32:43):
+#! rn=Ronda rt=789855916
+Guggug :)
+
+Da das Thema gerade aufkommt, moechte ich auch mal was dazu sagen.
+
+Ich habe als Spieler (ok da waren es noch paar weniger Quests) keine
+Quests gepspielt, die man nicht ohne Komplettloesung prima loesen konnte.
+Sicher gibt es hier und da mal Syntaxprobleme, aber ich habe es noch nie
+erlebt, dass irgendwo Informationen einfach vergessen wurden oder ueber-
+sehen. Sowas passiert naemlich einfach nicht, weil es dazu VIEL zu lange
+dauert so eine Quest zu entwickeln. Manchmal kommt es mir vor, die Leute
+denken, es dauert genausolange, sie zu programmieren wie sie durchzu-
+spielen.
+Es ist jedoch so, dass man als Programmierer auch noch auf die Sachen
+achten muss, die Spieler machen sollen, sondern auch noch auf alles,
+was sie machen KOENNTEN. Dazu kommt dann noch, dass bei einigen Quests
+(den gut programmierten) auch noch hunderte von Abfragen drinnenstecken,
+die bestimmte Reaktionen steuern, fuer die GLEICHE Aktion, die Spieler
+eingeben. Es gibt ja auch Unterschiede, ob das Eingegebene von jemandem
+stammt,
+der die Quest schon geloescht hat, noch gar nicht offiziell damit
+angefangen hat, oder mittendrinnen steckt.
+Ich persoenlich finde es nicht nur aergerlich, sondern echt frustrierend,
+wenn dann jemand da in 10 Minuten durchrennt, weil die Zahlen in seiner
+Info wichtiger zu sein scheinen als der Spielspass.
+
+Dancer - seit April 1994 mit Romili an einer Quest bastelnd.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Noch eine Aenderung in Duncton! (Eros, 14. Jan 1995, 15:44:11):
+Also ich hab die Quest vor der Aenderung gespielt und auch inzwischen nach
+der Aenderung.
+Mein Urteil: die Quest ist eindeutig nicht schwerer geworden. Dies kann ich
+versichern.
+Ich finde sogar den neuen Loesungsansatz von Tryfan interessanter als er
+vorher war.
+Die Aenderung sorgt lediglich dafuer das man sich in das Maulwurfwesen noch
+besser hineinfuehlen kann. An dieser Stelle ein dickes Lob an Tryfan und seine
+Quest.
+See you all
+EROS!
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Noch eine Aenderung in Duncton (Gundur, 14. Jan 1995, 16:08:06):
+#! rn=Dancer rt=790093963
+Gundur nickt zustimmend....
+
+-----------------------------------------------------------------------------
+
+
+
+Auf wiederholte Anfrage: Die Duncton Texte (Tryfan, 17. Jan 1995, 15:36:24):
+Liebe Elfen, Menschen, Zwerge und Magier
+
+ nach laengeren Nachforschungen in den Heiligen Schriftensamlungen von 
+Uffington und nachdem ich meine Privatbibliothek nochmal durchstoebert
+habe, kann ich nun sagen, wo man die Uebersetzungen der Duncton-Schriften
+von Woodruff aus Arbor Low findet.
+
+1. Duncton Wood         Arrow Books			ISBN 0 09 944300 7
+2. Duncton Quest        Arrow Books                     ISBN 0 09 960620 8
+3. Duncton Found        Arrow Books                     ISBN 0 09 968300 8 
+
+ Fuer seine unermuetliche Hilfe beim Heraussuchen sei Spindel aus Seven 
+Barrows gedankt.
+  Ganz besonders moechte ich mich auch bei Nirdavo aus Koeln fuer seine 
+wertvollen Hinweise auf die Uebersetzungen der modernen Duncton-Texte von 
+William Horwood bedanken.
+
+4. Duncton Tales	Harper Collins Publishers	ISBN 0 00 647218 4
+5. Duncton Rising       Harper Collins Publishers	ISBN 0 00 647302 4
+6. Duncton Stone        Harper Collins Publishers       ISBN 0 00 647601 5
+
+	Tryfan aus Duncton
+       ( Weisser Maulwurf )
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Noch eine Aenderung in Duncton (Flintnail, 26. Jan 1995, 12:51:15):
+#! rn=Tryfan rt=789844988
+Huhu...hm....worueber diskutiert ihr hier:)
+
+Die Duncton Quest, ist auch nach meinem Dafuerhalten mit das beste an Quests,
+was das MG zu bieten hat...und wer hier mit ner Komplettloesung reinrauscht is
+selbst schuld:)
+In dieser Quest MUSS man KEINEN evt. toedlichen Kampf austragen...es gibt
+nicht zuviele NPC's sie ist raeumlich begrenzt auf ein bestimmtes Areal ( das
+sogar je nach Fortschritt in mehrere Teile gegliedert ist...was will ein
+Quester mehr???:)
+Sicher ...es ist schwer die richtigen Fragen zu stellen...aber fast ueberall
+sind Notausgaenge, falls man wirklich nicht mehr weiter weiss und raus will.
+Schade, Tryf, das du sie aendern musst...ich kann nur hoffen das sie dadurch
+noch besser wird, und nicht schlechter! Hier noch mal mein Vorschlag an die
+Mags...fuehrt einfach eine Seher-aequivalente HighPlayerStufe ein...fuer
+diejenigen unter uns, die nicht questen wollen, aber muessen, um den
+Seherstatus zu erlangen...Schwertmeister oder sowat:) ...denn ich befuerchte,
+das nicht nur Tryfan das Problem haben wird !
+
+        Flintnail...ein bisschen enttaeuscht...
+
+-----------------------------------------------------------------------------
+
+
+
+Kneipe in der Daemonenburg entdeckt! (Zardoz, 26. Jan 1995, 16:07:31):
+Wie aus gut unterrichteten Kreisen bekannt wurde, soll es in der
+Daemonenburg jetzt die uebelste Kneipe im MorgenGrauen geben (laut
+Schild vor der Tuer). Allerdings sollen angeblich die Daemonen einen
+Schutz eingebaut haben, damit sie nicht von herumstreunenden Abenteurern
+bei ihren Saufgelagen gestoert werden.
+
+-----------------------------------------------------------------------------
+
+
+
+Fraggle-Kristallschluessel (Fraggle, 13. Feb 1995, 14:13:09):
+Eine kleine Aenderung:
+Der Kristallschluessel laesst sich jetzt mit vernichte kristallschluessel
+vernichten. Also, wer ihn nicht mehr braucht, kann ihn so loswerden.
+(Wenns nicht klappt, muesst ihr (wie ueblich) erst "ende" eintippen, und nach
+dem neueinloggen das Kommando ausfuehren.
+Fraggle
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Noch eine Aenderung in Duncton (Xanthia, 16. Feb 1995, 23:17:27):
+#! rn=Flintnail rt=791121075
+So. Jetzt moechte ich auch mal was zu den Quests schreiben.
+Also ich muss sagen, dass Duncton-Quest gehoert wirklich zu den besten,
+die ich bisher gemacht habe.
+Was mich nur immer enorm aufregt sind solche Labyrinthe wie beim
+Rasselketten-Quest oder solche Labs halt, die sich immer veraendern.
+Die koennen einem den Spielspass doch sehr vermiesen. Ich bin der
+Meinung, wenn man als Quest-Entwickler keine Lust zu einem langen Quest
+hat, dann soll man es lieber lassen, anstatt solche Zeitstrecker-Labs
+einzubauen, nur damit das Quest auch schoen lange dauert.
+Da faellt mir auch gerade noch das Oktopus-Quest ein, das auch sehr
+nervig sein kann, wenn man immer vor dem naechsten Reset noch schnell
+alle zig Tausend Moeglichkeiten durchprobieren muss.
+Dann doch lieber so schoene lange Quests wie das Duncton.
+
+In Hoffnung auf viele schoene Quests.
+
+Xanthia
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Noch eine Aenderung in Duncton (Asmodis, 17. Feb 1995, 02:19:13):
+#! rn=Xanthia rt=792973047
+Also, das Rasselketten-Lab ist doch ganz einfach aufgebaut.
+Es ist dreidimensional mit den Massen 5x5x5 .
+Ausserdem kommt man da gut durch mit Hilfe des Amuletts.
+
+                               Ciao, Asmodis
+&&
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Noch eine Aenderung in Duncton (Yendi, 17. Feb 1995, 18:01:28):
+#! rn=Xanthia rt=792973047
+Oktopus fand ich gut... Sobald Du einmal die Karte fertig hattest, war es
+kein Problem mehr, nur noch Logik. Schoen. :)
+
+-----------------------------------------------------------------------------
+
+
+
+Woerterbuch (Zardoz, 20. Feb 1995, 10:40:50):
+Im Verlag Langenschweit ist nun die zweite, ueberarbeitete Fassung des
+beliebten Woerterbuchs: DAEMONISCH-VERSTAENDLICH erschienen.
+
+viel Spass
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Noch eine Aenderung in Duncton (Aranya, 21. Feb 1995, 15:02:27):
+#! rn=Asmodis rt=792983953
+Also, auch wenn ich die Duncton-Quest fuer die mit Abstand beste
+halte, die ich bisher gemacht habe - atmosphaerisch und so - muss ich sagen,
+dass ich das Rasselkettenlab am meisten von allen Labs mag. Wenn man's ein-
+mal kapiert hat, dann hat man keine Probleme damit (ich musste allerdings
+ziemlich lange suchen, aber das ist eine andere Geschichte).
+
+Das wollte
+            Aranya
+                nur gesagt haben.
+
+-----------------------------------------------------------------------------
+
+
+
+Saeuredaemonen (Zardoz,  7. Mar 1995, 16:00:09):
+Kleine Ankuendigung: Die Saeuredaemonen haben nun eine neue
+Verteidigungsmoeglichkeit erlernt. Viel Spass! :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Saeuredaemonen (Wargon,  7. Mar 1995, 16:05:38):
+#! rn=Zardoz rt=794588409
+Wer hat den Spass? Die Daemonen oder die Spieler? ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Neues aus Duncton (Tryfan, 30. Mar 1995, 13:25:49):
+Hi Leute
+
+ Also, da ist mir doch grade eine merkwuerdige Meldung in die Pfoten 
+geflattert:
+
+
+>        Verwirrte Abenteurer am Ostwall gesichtet!
+>
+> Immer mehr verwirrte Abenteurer werden am Ostwall aufgegriffen. Sie sind
+>fast alle maennlich und berichten, sie haetten nicht nur die Gestalt eines
+>Maulwurfes angenommen, sondern auch noch eine Geschlechtsumwandlung erlebt!
+> Weibliche Abenteurer hingegen berichten, dass sie nun endlich auch mit
+>ihrem natuerlichen Geschlecht in Duncton gewesen seien und nicht mehr mit
+>'Bracken' sondern 'Rebekka' angeredet wurden. Die meisten waren davon sehr
+>angetan, da sie sich so in einen echten maennlichen Maulwurf verlieben
+>konnten.
+
+ Ich kann dazu nur folgendes sagen:
+Man wird sich in absehbarer Zeit in gewissen Grenzen aussuchen koennen, ob 
+man als maennlcher oder weiblicher Maulwurf nach Duncton gehen will. 
+ Es wird kein neues Quest geben, aber eine voellig neue Duntonerfahrung.
+Auch Spieler, die Duncton schon als Bracken erlebt haben, sind herzlich 
+eingeladen, es nochmal als Rebekka zu besuchen. Einiges wird ihnen bekannt
+vorkommen, vieles ist aber voellig neu.
+
+ Wozu sind die dummen Wuermer in der Aeltestenkammer gut? 
+ Warum hat Ruun Rebekka in die Hoehle der Wurzeln gejagt?
+ Was wollte Rebekka ueberhaupt draussen im Wald?
+ Was hat es mit Mandrake auf sich?
+ Und, warum nannte Rebekka ihren Sohn (mich) Tryfan?
+
+Auf all dies gibt das Duncton aus weiblicher Sicht die Antworten.
+
+ Also nochmal zur Klarstellung, jeder kann Duncton sowohl als weiblicher
+als auch als maennlicher Maulwurf erleben, egal welches Spielergeschlecht 
+'er' hat, egal ob 'sie' das Quest schon geloest hat. Das Quest kann man 
+beiderlei Geschlechts loesen, wenn man es noch nicht geloest hat.  
+ Die versteckten Zt's kann man auch unabhaengig vom Maulwurfgeschlecht 
+finden. Hat man sie schon gefunden, hat es keinen Sinn nach weiteren Zt im
+jeweils anderen Maulwurfgeschlecht zu suchen.
+
+ Das ganze hat einzig und alleine den Sinn, dem Wunsch einige, hauptsaechlich
+weiblichen Spieler zu entsprechen, Duncton auch als weiblicher Maulwurf
+spielen zu koennen. Und wer den leibhaftigen Bracken, den er selbst mal
+verkoerpert hat, 'life' erleben will, der soll es ruhig nochmal als 
+weiblicher Maulwurf versuchen.
+  
+ Ich wuensche allen viel Spass dabei. 
+
+	Tryfan aus Duncton
+       ( Weisser Maulwurf )
+
+
+P.S: Die alte Dunctonversion bleibt bestehen so wie sie ist. Sie ist von 
+     der Aenderung nicht beruehrt. Die Neuerung tritt fruehestens dieses 
+     Wochenende in Kraft.
+
+-----------------------------------------------------------------------------
+
+
+
+'Weibliches Duncton' eroeffnet (Tryfan,  1. Apr 1995, 10:47:17):
+Hi Leute
+
+ So, es ist endlich so weit. Ich habe die neue Dunctonversion angeschlossen.
+Also nicht wundern, wenn jetzt ein paar Sachen neu sind, wenn man nach Duncton
+geht. Wie gesagt, die alte Version besteht weiterhin unveraendert. 
+ Ich hoffe, es laeuft alles halbwegs problemlos. Schreibt fleissig typo, 
+idee usw.. 
+ 
+ Vielen Dank an Kirk und Rochus fuer die vertrauensvolle Abnahme und Silvana
+fuer ihre hartnaeckige Anregung. 
+ 
+ Vor allem sei aber den vielen fleissigen Sehern gedankt, die mit einigen
+Zweities getestet und kritisiert haben.
+
+	Tryfan aus Duncton
+       ( Weisser Maulwurf )
+
+-----------------------------------------------------------------------------
+
+
+
+Sackgasse im Raetselstein? (Bloodyharry,  1. Apr 1995, 23:40:12):
+Hallo Quester.
+
+Im Raetselsteinquest habe ich die Raetselsteinpartitur und wollte sie
+Tasmin Ferrence uebergeben. Er verweigert aber die Annahme mit der Begrruen-
+dung, dass er schon eine von mir hat. Das kann aber nicht sein, denn ich halt
+e sie ja noch in meinen Haenden. Folglich passiert auch nichts weiter.
+Weder erhalte ich irgendeine Post noch erscheinen in Harmony die Saenger um
+meine Partitur zu testen. Wie auch.
+Es scheint, ich bin hier in einer Sackgasse gelandet.
+Ich habe auch keine Ahnung, ob mir da ueberhaupt jemand helfen kann.
+Bisherige Antworten waren da eher negativ.
+Insgesamt wuerde ich auch sagen, ist es ein relativ schwieriges Quest.
+Also besser auslassen!
+
+ciao,
+   Harry
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Sackgasse im Raetselstein? (Acrimon,  2. Apr 1995, 00:08:14):
+#! rn=Bloodyharry rt=796772412
+Exakt dasselbe wie Bloodyharry ist mir auch damals passiert, als ich damals
+meine Raetselsteinpartitur abgeben wollte.
+Es ist anzunehmen, dasz in der Raetselsteinquest ein grober Bug steckt.
+Ich kann mich noch erinnern, dasz ich noch etwa drei Wochen, bevor ich die
+Raetselsteinquest begonnen habe, sie schon einmal beginnen wollte. Ich habe
+Tasmin auch nach allem Noetigen gefragt, als ich den Archivar dann aber nach
+der Partitur gefragt habe, hat er (soweit ich mich erinnern kann) gesagt, er
+werde sie anfertigen. Am diesem Tag habe ich es nicht geschafft, die Partitur
+zu bekommen.
+Das war aus meiner Erinnerung, es kann durchaus sein, dasz das damals ein
+wenig anders abgelaufen ist.
+Hoffentlich findet Troy den Fehler.
+Viel Glueck, Troy!
+
+Grusz, Euer Groszer
+Acrimon
+
+-----------------------------------------------------------------------------
+
+
+
+Entschaedigung in Duncton (Tryfan, 23. Apr 1995, 09:36:45):
+Hi
+ es gibt mal wieder was neues aus Duncton.
+Es sollte ab sofort jetzt auch in Duncton die uebliche Entschaedigung fuer
+die Ausruestung geben, die man bei sich trug, als man nach Duncton ging,
+wenn es zu einem Crash oder Reboot des MorgenGrauens kommt.
+ Die Entschaedigung manifestiert sich in einem Maulwurffell, das man nun in
+Duncton mit sich rumtraegt.
+ Bugs bitte ich umgehend zu melden. ('hilfe fehler')
+
+	Tryfan aus Duncton
+       ( Weisser Maulwurf )
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Entschaedigung in Duncton (Bloodyharry, 23. Apr 1995, 15:31:08):
+#! rn=Tryfan rt=798622605
+Hallo Tryfan,
+
+das finde ich sehr sinnvoll. Aber es haette mir auch gereicht, wenn ich
+vorher eine entsprechende Warnung erhalten heatte.
+
+ciao, Bloody Harry
+
+-----------------------------------------------------------------------------
+
+
+
+Saeuredaemonen (Zardoz, 11. Mai 1995, 14:47:21):
+Tja, die Saeuredaemonen haben einen neuen Verbuendeten im Kampf gegen
+Spieler, die ihnen die Saeurebaelle wegnehmen wollen. Lasst euch
+ueberraschen :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Nochmal Daemonen (was sonst) (Zardoz, 11. Mai 1995, 15:33:03):
+Es ist jetzt in der Daemonenburg eine neue Daemonenart gesichtet worden.
+Sie soll sich besonders in verstaubten Raeumen aufhalten.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Nochmal Daemonen (was sonst) (Rochus, 11. Mai 1995, 15:36:28):
+#! rn=Zardoz rt=800199183
+Meinst Du "besonders in verstaubten Raeumen" oder
+"in besonders verstaubten Raeumen"? :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Groessen in Duncton (Tryfan, 12. Mai 1995, 11:49:01):
+Hi
+ Vorsicht Karateka. Die Maulwuerfe haben nun eine definierte Groesse. Sie
+entspricht ihrer Groesse in RL. Allerdings passt sich die Groesse der
+Spieler, die nach Duncton gehen und zum Maulwurf werden, diesem an. 
+Man sollte daran denken, dass man als relativ kleiner, junger Maulwurf
+in Duncton rumlaeuft, egal ob weiblich oder maennlich.
+
+	Tryfan aus Duncton
+	(Weisser Maulwurf)
+
+-----------------------------------------------------------------------------
+
+
+
+Hilfe !!! (Fraggle, 17. Mai 1995, 10:46:44):
+
+------------------------------------------------------------------------------
+ANZEIGE:
+
+ Ich, Sam Harkwind vermisse seit langer Zeit mein Logbuch der S.S.Haikiller.
+ Vor vielen Jahren, als ich noch zur See fuhr, jagdte ich den schwarzen
+ Hai, ein garstiges Vieh. Es hatte meinem Bruder Hans einst das Bein
+ abgebissen. Doch leider erlitt ich unterwegs Schiffbruch. Ein Saegefisch
+ hatte mir auf hoher See einfach die Planken unter den Fuessen weggesaegt.
+ Dabei ging sowohl mein Kahn unter als auch das Logbuch verloren. Ich hoffe
+ nun, auf diesem Wege einen mutigen Abenteurer zu finden, der mir das Buch
+ wiederbeschaffen kann. Angebote bitte privat an:
+
+ Sam Harkwind
+Hafenstrasse
+Port Vain
+
+
+------------------------------------------------------------------------------
+
+
+-----------------------------------------------------------------------------
+
+
+
+Neue Quest (Fraggle, 17. Mai 1995, 10:53:31):
+Es gibt jetzt in Port Vain eine neue Quest, und da ich ja ab und zu dazu
+lerne (und sich bei der Red-Fraggle-Quest ja einige Abenteurer beklagt hatten
+:)
+laesst sich diese Quest nun Rudelweise loesen, sofern ihr etwas Ruecksicht
+uebt. Also kein Warten mehr, bis der vor euch fertig ist!
+
+Mein Dank gilt Gatsby und Kirk fuer das Testen sowie allen, die mich mit
+konstruktiven Vorschlaegen unterstuetzt haben.
+
+ Gruss
+
+ Fraggle
+
+-----------------------------------------------------------------------------
+
+
+
+Anne! :-) (Calum, 28. Mai 1995, 11:36:22):
+Nachdem es in letzter Zeit gehaeuft vorkam, dass bestimmte Spieler
+staendig in Moron bei Anne standen und sie per Skript killten,
+habe ich Anne jetzt unsterblich (aber NICHT unangreifbar) gemacht.
+In Zukunft steht sie also wieder fuer alle wissenshungrigen Spieler
+zur Verfuegung.
+
+       - Calum
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Anne! :-) (Jof, 29. Mai 1995, 09:02:06):
+#! rn=Calum rt=801653782
+ Das ist schlecht - bitte aender das wieder. Unsterbliche, aber angreifbare
+Monster sind a) endlose EP-Quellen, weil jeder Schlag EP bringt und b) ideale
+Karate-Trainingsopfer, weil man endlos Abwehr ueben kann ohne das das
+Viech stirbt. Also bitte: aendern.
+
+ Jof
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Anne! :-) (Jaf, 29. Mai 1995, 13:48:02):
+#! rn=Jof rt=801730926
+
+Hm... also Anne als Karate-Gegner lohnt sich nicht, die ist zu stark,
+da kommt man aus dem saufen nicht raus. Aber ich faend's schon netter,
+wenn man sie wieder killen koennte *grins*
+
+Fyt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Anne! :-) (Stahldorn, 29. Mai 1995, 15:23:58):
+#! rn=Jaf rt=801748082
+Ja, genau! Macht Anne wieder mortal und banisht dafuer Kelder und Steve.
+*grummel*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Anne! :-) (Asmodis, 29. Mai 1995, 18:57:27):
+#! rn=Stahldorn rt=801753838
+Aeh, Stahli, du hast ja in den letzten Tagen selbst Anne reihenweise
+umgebracht, also bitte auch Bellicus und Alxx banishen :)
+
+                     Ciao, Asmodis
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Anne! :-) (Asmodis, 29. Mai 1995, 18:57:57):
+#! rn=Asmodis rt=801766647
+Uebrigens, NPCs sind zum killen da, darin sehe ich ihren
+Lebenszweck, nix anderes :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Anne! :-) (Baron, 30. Mai 1995, 00:58:30):
+#! rn=Asmodis rt=801766677
+NPCs ja, aber doch nicht Anne! :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Anne! :-) (Stahldorn, 30. Mai 1995, 08:26:54):
+#! rn=Asmodis rt=801766647
+Ich hab den Alxx nur hingestellt, weil es mir auf die Nerven gegangen ist,
+dass Kelder sie per Script immer wieder gemeuchelt hat. Frueher hab ich die
+Anne auch manchmal gekillt, weil der Viez recht praktisch und angenehm ist,
+aber Du musst ja alles uebertreiben und sie per Automatik umbringen und alle
+Vieze fuer Dich behalten. Als ob sie Dein NPC waer. Jetzt hat keiner mehr den
+Viez und ich finde das schade und bin schon ein klein wenig sauer auf Dich.
+
+  STAHL.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Anne! :-) (Snuggle, 30. Mai 1995, 14:23:07):
+#! rn=Stahldorn rt=801815214
+
+Macht Anne sterblich, aber lasst sie mit einem Schlag 150 LP anziehn.
+(oder wieviel Kelder auch immer hat), oder lasst Anne einfach
+in Ruhe, wenn Ihr das Viez nicht grad dringend zum mitnehmen braucht..
+
+augenzwinkernd
+Snuggle (waere als Mage auch sauer,wenn sein Lieblings-NPC staendig per
+script gekillt wird :-) )
+
+-----------------------------------------------------------------------------
+
+
+
+Sam Harkwinds Logbuch (Fraggle,  2. Jun 1995, 10:12:58):
+Hallo!
+
+Der Teufel in der Logbuch-Quest ist in letzter Zeit etwas zu oft veraeppelt
+worden und hat nun die Geduld verloren. Also seit in Zukunft etwas
+vorsichtiger, wenn ihr Unschuldige verleumdet.
+
+Fraggle
+
+P.S.: Das betrifft in erster Linie Spieler mit Komplettloesungen etc.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Lokalidee (Nudei,  7. Jun 1995, 11:42:04):
+An alle Regionsmagier und -mitarbeiter1
+
+Es geht doch nichts ueber ein gemuetliches Tanken in gepflegter Atmosphaere,
+wo sich der PSieler wohlfuelt, fue ein Schwaetzechen innehaelt, und die
+Inflation im Mud bekaempft, indem er seine Muenzen beim Fenster raushaut.
+Die Kneipen sind allesamt liebevoll eingerichtet, doch eine Baridee fehtl
+bislang.
+Der echte, urwienerige Heurige.
+Es ist unbestritten, dass die Wiener Gastspieler an Zahlk zunehmen. Wie waere
+es, ihnen einen kleinen Gefallen zu tun, und ein neues Lokal aufzumachen, wo
+sie sich noch wohler fuel ein neues Lokal zur verfuegung zu stellen, wo sie
+sich noch wohler fuehlen als anderswo?
+Dort, bei einen Liter Heurigen, einem Weissen Spritzer und Schmalzbrot, bei
+zarter Schrammelmusik ("Die alte Engelmacherin vom Diamanterngrund..."),
+koennte das Wienerharz (-Herz) hoeher schlagen.
+
+Da diese Idee dermassen prachtvoll ist, bedarf sie keiner weiteren
+Unterstuetzung, trotzdem wuerde mich der einschlaegighe Fachkommentar 
+interessieren.
+Deswegen, auf Bald!
+
+Nudei der Stammgast.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Lokalidee (Mupfel, 10. Jun 1995, 07:50:55):
+#! rn=Nudei rt=802518124
+wir haben doch genug wiener magier nudei...
+du musst sie nur etwas 'anspitzen' :-)
+
+-mupfel-
+(frag eventuell den frederick mal...)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Lokalidee (Pteppic, 12. Jun 1995, 07:59:37):
+#! rn=Mupfel rt=802763455
+
+seit wann is frederick magier? nur nicht die muds verwechseln, -mupfel-. :-)
+aber ansonsten wuerd ich das von mir aus uebernehmen mit dem heurigen.
+
+pteppic
+
+-----------------------------------------------------------------------------
+
+
+
+Lokalideee (Nudei, 12. Jun 1995, 10:18:34):
+grts, Herr illuminierter Pteppic!
+
+Will mich gerne in den Dienst der Sahce stellen und mit einer fundierten
+Beschreibung eines heurigens dienene. teile bitte mit, ob meine Mitarbeit von
+nutzen sein koennte!
+
+PS: Warum bist Du noch nicht auf der Liste der DER IRRE WELTRAUMPROLET-
+Leser? Wird aber Zeit, ich koennte doch tatsaechlich 50g an Porto sparen, wenn
+ich mehr oesterreichische Leser haett ...;)
+
+Nudei, Schriftleitung des DiWp und Heurigenstammgast.
+
+-----------------------------------------------------------------------------
+
+
+
+Narrenball (Li, 19. Jun 1995, 11:11:31):
+Eine kleine Aenderung (Vereinfachung) an der Quest:
+die vier zettel kann man nun alle mit der gleichen Syntax finden.
+
+Li
+
+-----------------------------------------------------------------------------
+
+
+
+Mal wieder Daemonen... (Zardoz, 23. Jun 1995, 14:30:03):
+Ich bin nach langer Zeit mal wieder durch die Daemonenburg gewandert und
+musste zu meiner Verblueffung feststellen, dass die Waechter im Wachraum
+neuerdings einen neuen Gegenstand aufbewahren, der mir vorher nie aufgefallen
+ist. Wozu der wohl gut sein soll?
+Vielleicht findet ihr es ja raus...
+Ciao
+         Zardoz
+
+-----------------------------------------------------------------------------
+
+
+
+Quiz (Zardoz, 29. Jun 1995, 16:17:45):
+Da ich jetzt schon von mehreren gehoert habe, dass sie die Rubrik "quiz"
+abbestellt haben, moechte ich auch hier darauf hinweisen, dass ich einen
+Fragebogen ueber die Daemonenburg erstellt habe, den jeder anfordern
+kann, der meint er kenne sich dort aus, oder wolle sie sich in naechster
+Zeit anschauen. Es gibt auch was zu gewinnen, also strengt euch an :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Quiz (Cuchullin, 29. Jun 1995, 16:20:21):
+#! rn=Zardoz rt=804435465
+
+Stimmt so nicht ganz. Ich hab ihn auch anfordern koennen und war noch kein
+einziges mal in der Daemonenburg...
+
+Cuch ;)
+
+PS: Ja, ich hab ihn auch bekommen ;)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Jaja! (Bendeigid, 29. Jun 1995, 21:43:23):
+Cuchullin, natuerlich stimmt's: lies mal genau!
+Ich kann es nur empfehlen: Mitmachen, mitgewinnen!
+
+*gespannt sei*
+
+Z'par Servu,
+            Bendeigid
+
+-----------------------------------------------------------------------------
+
+
+
+Narrenball (Li,  3. Jul 1995, 08:52:44):
+Hi!
+eine kleine Aenderung in der Narrenballquest. Man kann einen gewissen
+Geheimmechanismus nun auf mehrere Arten betaetigen, nicht mehr nur mit dem
+alten (zugegeben nicht ganz passenden) Verb.
+Bye!
+Li
+
+-----------------------------------------------------------------------------
+
+
+
+Daemonenburg (Zardoz,  6. Jul 1995, 10:02:58):
+Die Daemonenburg ist zu Testzwecken zur Zeit geschlossen.
+
+-----------------------------------------------------------------------------
+
+
+
+Oeffentliche Entschuldigung: (Fraggle,  6. Jul 1995, 10:59:14):
+Hi Zusammen!
+
+Punkto Sam Harkwinds Logbuch muss ich mich hier in aller Form entschuldigen!
+Es gab einen schweren Fehler, der einen der Loesungswege betraf:
+In einem Raum fehlte ein WICHTIGES Detail, ohne das man einen bestimmten
+Namen nicht erfahren konnte. Leider hab ich das jetzt erst festgestellt,
+aber komischerweise haben einige Leute (die das betraf) die Quest trotzdem
+geloest, was ich mir im nachhinein fast nicht erklaeren kann.
+(Es sei denn, da hat nen Magier nachgeschaut, allerdings habe ich keine
+Bug-Meldung gefunden)
+Wie dem auch sei, wer glaubt, dass es ihn betraefe, moege sich notfalls bei
+mir melden oder besser (da ich selten da bin wg. Diplomprf.-Vorbereitung)
+In dem Raum mit dem zerbrochenem Fenster nochmal die Raumbeschreibung
+durchlesen. Der Name sollte dann zu finden sein.
+
+Nochmals, tut mir leid und soll nicht wieder vorkommen!
+
+ Gruss
+
+   Fraggle
+
+-----------------------------------------------------------------------------
+
+
+
+Daemonenburg (Zardoz,  6. Jul 1995, 12:24:30):
+Die Daemonenburg ist vorlaeufig wieder geoeffnet. Allerdings werde ich sie
+bald wieder fuer kurze Zeit schliesen muessen. Dafuer gibts dann aber auch
+eine Erweiterung....
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Daemonenburg (Anakin,  6. Jul 1995, 12:43:07):
+#! rn=Zardoz rt=805026270
+Ja Erweiterung. Apropos....Wann gibt es ne Erweiterung der SSP Boing?
+
+Anakin.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Daemonenburg (Rxtech,  6. Jul 1995, 12:44:01):
+#! rn=Anakin rt=805027387
+man koennte ja vom eistitanen aus beim trollohr auf dem friedhof rauskommen
+
+bin ich bloed heute (heute? )
+
+Rx
+
+-----------------------------------------------------------------------------
+
+
+
+Quiz zur Daemonenburg (Zardoz,  8. Jul 1995, 00:21:42):
+So, damit ihr es nicht vergesst, es gibt ein Quiz zur Daemonenburg, dass
+noch ca. 2 Wochen laufen wird, da staendig sich noch welche anmelden.
+Wer also Lust hat mitzumachen kann bei mir einen Fragebogen anfordern.
+
+-----------------------------------------------------------------------------
+
+
+
+Seherhaeuser (Rochus, 10. Jul 1995, 11:46:06):
+Also, da immer wieder Anfragen kommen:
+Es gab frueher Beschwerden von Spielern, die auf ihren
+Wegen tausenden von Seherhaeusern begegnet sind.
+Ich lasse daher keine Seherhaeuser auf der Akademiestrasse,
+der Drachenhorter Landstrasse und der Hauptstrasse
+sowie auf den Strassen von Port Vain zu.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Seherhaeuser (Asmodis, 10. Jul 1995, 12:35:21):
+#! rn=Rochus rt=805369566
+Hmm, vielleicht koennte man das so loesen, dass man die Haeuser in die
+Beschreibung
+mit einflechtet, wie das teilweise schon geschehen ist und nicht nochmal
+extra auffuehrt !!
+
+-----------------------------------------------------------------------------
+
+
+
+Monolith (Zardoz, 10. Jul 1995, 13:27:04):
+So, nach langem hin und her und drunter und drueber wurde jetzt endgueltig
+ein See im Monolithen entdeckt. Viel Spass beim Baden, ihr Schmutzfinken
+(TM Putzteufel).
+
+-----------------------------------------------------------------------------
+
+
+
+reply auf 'Rubrik 14: entwicklung, Artikel: 148 von 150' (Mupfel, 10. Jul 1995, 13:56:44):
+eins vorweg: da allgemein & entwicklung voll sind, schreib ich alo hier...)
+
+was vielleicht moeglich waer, waere den kellner nach speisen/getraenken zu
+fragen.
+aanakin hat fuers al ne kneipe geproggt in der man die kellneren nach den
+drinks fragen kann und sie gibt die mixrezepte an. das finde ich ganz witzig.
+koennte ja vielleicht sich der daenische koch zu fischrezepten auslassen oder
+so....
+
+-mupf-
+
+-----------------------------------------------------------------------------
+
+
+
+Re: reply auf 'Rubrik 14: entwicklung, Artikel: 148 von 150' (Anakin, 10. Jul 1995, 14:06:34):
+#! rn=Mupfel rt=805377404
+Hmm, man kann sie auch nach ganz anderen Sachen fragen....:)
+Anakin.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: reply auf 'Rubrik 14: entwicklung, Artikel: 148 von 150' (Grimmborn, 11. Jul 1995, 13:29:11):
+#! rn=Mupfel rt=805377404
+
+Tja, so eine Kneipe gibts hier doch schon, Mupfel. Ein gelegentlich eher
+lebensrettendes feature, daher bin ich da schonmal gegen... ;-)
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Duncton-Ausgaenge (Tryfan, 23. Jul 1995, 13:49:44):
+Hi
+ wie vielen wohl schon aufgefallen ist, diene die Regenrohre in Duncton als
+Ausgaenge aus der Quest. Diese ist keine boese Absicht von mir, sondern soll
+jedem ermoeglichen aus der Quest auszusteigen, wenn er dieses wuenscht. 
+Natuerlich muss man dann das Quest erneut beginnen. Es sollte niemand 
+gezwungen sein, eine Quest an einem Stueck spielen zu muessen.
+ Leider waren aber einige Rohre so ungeschickt angebracht, dass Spieler, 
+ohne es zu wollen, das Quest verlassen haben. Deshalb habe ich an einigen 
+Stellen nun zusaetzliche 'Abfragen' installiert. D.h.: Beim ersten Versuch 
+wird man nochmal darauf hingewiesen, dass man das Quest verlassen wuerde. 
+Wiederholt man den Versuch, wird man rausgelassen.
+ Natuerlich kann man das ganze vermeiden, wenn man sich die Raumbeschreibung
+durchlesen wuerde. Aber wer macht das schon?! ;)
+
+    Tryfan aus Duncton
+    (Weisser Maulwurf)
+
+-----------------------------------------------------------------------------
+
+
+
+Glaswuerfel erweitert (Bertram, 26. Jul 1995, 13:33:07):
+Hi
+
+Wie mir zu Ohren kam, wurde der Galswuerfel im Neandertal um eine neue
+Funktion erweitert.
+
+Viel Spass damit wuenscht
+                              Bertram
+
+
+-----------------------------------------------------------------------------
+
+
+
+Goblinhexer, Drache, Flammenkugeln (Rochus, 27. Jul 1995, 16:50:11):
+Zuerst die gute Nachricht:
+An der Staerke vom Hexer und Drachen hat sich nichts geaendert.
+Flammenkugeln helfen gegen Feuerempfindliche Wesen auch besser.
+Jetzt die schlechte Nachricht:
+Diese Monster schaetzen die Faehigkeiten ihrer Gegner jetzt besser ein.
+Die Flammenkugeln koennen jetzt auch durch Ruestungen abgeschwaecht werden
+und sind gegen Feuer-resistente Wesen schlechter.
+
+So, ich hoffe, jetzt geht nicht wieder das grosse Geschrei los :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Goblinhexer, Drache, Flammenkugeln (Anakin, 27. Jul 1995, 16:56:04):
+#! rn=Rochus rt=806856611
+Naja eigentlich ist das ja logisch. Sowas aehnliches machen ja schon andere
+MOnster mit Feuerbaellen.
+
+Anakin.
+
+-----------------------------------------------------------------------------
+
+
+
+Cu Sith (Rochus, 27. Jul 1995, 17:04:15):
+In einer Parallelwelt wurde kuerzlich der gefuerchtete Cu Sith entdeckt.
+Viel Spass bei der Suche danach!
+Ach, noch etwas: Huetet Euch vor den Killer-Kaninchen in seiner Umgebung :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Cu Sith (Rochus, 27. Jul 1995, 17:17:20):
+#! rn=Rochus rt=806857455
+PS: Das Viech ist eigentlich fuer mehrere Seher zusammen gedacht,
+also beschwert Euch nicht wenn ihr ihn alleine nicht oder
+nicht lebend genug schafft :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Cu Sith (Asmodis, 27. Jul 1995, 19:12:40):
+#! rn=Rochus rt=806858240
+Jaja, wir haben ihn schon angetestet :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Cu Sith (Caradhras, 28. Jul 1995, 16:36:18):
+#! rn=Asmodis rt=806865160
+Huh, ein Cu Sith in MG? *freu* :-))
+Wo issn der genau in der Parallelwelt?
+Und wann legen wir ihn um? :-)
+
+        tschuess           Caradhras
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Cu Sith (Jaf, 28. Jul 1995, 18:06:12):
+#! rn=Caradhras rt=806942178
+
+In der Heide, n w von der Nablafurt.
+
+Fyt.
+
+Umhauen? Das arme Schosshuendchen?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Cu Sith (Asmodis, 28. Jul 1995, 19:09:09):
+#! rn=Jaf rt=806947572
+Hmm, haben ihn doch erst gestern umgelegt :)
+
+-----------------------------------------------------------------------------
+
+
+
+Erweiterung von Braddon's Laden (Rochus,  3. Aug 1995, 19:48:03):
+In diesem Laden ist jetzt "kaufe ausruestung" moeglich.
+Dabei werden dann Waffen und Ruestungen ausgesucht, die moeglichst gut sind,
+man sich noch leisten kann, noch tragen kann, und, bei Waffen,
+auch zuecken kann.
+Das ganze kostet eine kleine Beratungsgebuehr.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Erweiterung von Braddon's Laden (Lechuck,  3. Aug 1995, 19:52:07):
+#! rn=Rochus rt=807472083
+Das sit eine der besten Neuerungen, die es bisher gegeben hat.
+Echt toll, Rochus :))
+Guybrush, ist beeindruckt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Erweiterung von Braddon's Laden (Morgon,  3. Aug 1995, 19:53:29):
+#! rn=Lechuck rt=807472327
+Genau, finde ich auch genial.
+        (Nur schade das der nie was fuer mich hat! ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Erweiterung von Braddon's Laden (Rochus,  3. Aug 1995, 20:26:27):
+#! rn=Morgon rt=807472409
+Naja, wenn der nichts hat kann er auch nichts Gutes aussuchen :)
+Uebrigens, wenn man bereits eine Waffe hat wird natuerlich keine angeboten,
+wenn man schon Schuhe hat sind im Angebot keine Schuhe usw.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Erweiterung von Braddon's Laden (Raffi,  4. Aug 1995, 21:06:48):
+#! rn=Rochus rt=807474387
+gilt das (das nichhts angeboten wird wenn schon was von der entsprechenden
+sorte da ist)
+auch wenn braddon eigentlich was besseres haette ?
+
+oder kann man sich vieleicht sogar eine empfehlung geben lassen (nattuerlich
+unter bezahlung der gebuehr)
+ohne zu kaufewn ?
+
+gruss h.
+
+-----------------------------------------------------------------------------
+
+
+
+Gerade in PV (Raffi,  2. Sep 1995, 01:20:50):
+Ist mir gerade ueber den weg gelaufen :
+
+Strasse scheint es sich um die Ueberreste der alten Akademie zu handeln.
+Es gibt zwei sichtbare Ausgaenge: sueden und norden.
+Ein kleiner Swabedoodah.
+Der kleine Swabedoodah sagt: Die Pelzchen halten schoen warm.
+<Hick>! Oh, Tschuldigung.
+> unt swabedoodah
+Das die Swabedoodahs klein sein sollen hast Du schon mal gehoert, jedoch ist
+das wohl untertrieben gewesen! Dieser Swabedoodah ist vielleicht 80 cm gross,
+funkelnde hellblaue Augen und fuer seine Groesse erstaunlich langes
+hellbraunes Haar. Ueber seiner Schulter traegt er einen kleinen Sack der
+anscheinend randvoll ist. Er laechelt Dich freundschaftlich an. So wie er
+aussieht hat er wohl noch nicht viel von den schrecklichen Dingen erlebt, die
+das Leben so mit sich bringt.
+
+Er ist absolut fit.
+Er traegt bei sich:
+Ein Pelzbeutel.
+>
+Der Swabedoodah schleicht hinaus nach Sueden.
+
+Was ist den dass ?
+
+oder war dss  nur eine Schnappshalu ?
+
+Gruss
+H.
+
+-----------------------------------------------------------------------------
+
+
+
+Neulich in PV (Raffi,  4. Sep 1995, 16:05:31):
+Gerade in PV
+
+> schau
+Der Strandweg knickt hier von Norden nach Osten ab. Weiter im Osten ist
+der Strand von Port Vain zu sehen. Im Norden liegt das Stadtzentrum von
+Port Vain. Im Westen befindet sich ein Laden, im Suedwesten fuehrt eine
+kleine Seitengasse daran vorbei.
+Es gibt vier sichtbare Ausgaenge: westen, suedwesten, norden und osten.
+2 Wattwuermer.
+> unt wattwuermer
+Sowas siehst Du hier nicht!
+> unt wuermer
+Sowas siehst Du hier nicht!
+> unt 2 wattwuermer
+Sowas siehst Du hier nicht!
+> schau
+Der Strandweg knickt hier von Norden nach Osten ab. Weiter im Osten ist
+der Strand von Port Vain zu sehen. Im Norden liegt das Stadtzentrum von
+Port Vain. Im Westen befindet sich ein Laden, im Suedwesten fuehrt eine
+kleine Seitengasse daran vorbei.
+Es gibt vier sichtbare Ausgaenge: westen, suedwesten, norden und osten.
+2 Wattwuermer.
+> [Beileid:Perle] Mann so schnell sind doch die Todessequenzen gar nicht
+
+Wiedermal voellig ratlos
+Gruss
+H.
+
+-----------------------------------------------------------------------------
+
+
+
+Neues aus Duncton (Tryfan, 18. Sep 1995, 17:37:36):
+Hi,
+ die neue Spielerbeschreibung, die ich echt nett finde, hat doch einige
+Aenderungen in Duncton noetig gemacht, oder zumindest nahegelegt. Man macht
+nun eine wirkliche Mutation durch, wenn man zum Maulwurf wird, die sogar
+zur Geschlechtsumwandlung fuehren kann. Aber keine Angst, beim Verlassen
+von Duncton nimmt man wieder seine alte Gestalt an. 
+ Ein kleines Problem dabei ist, dass die vollstaendige Beschreibung sich
+erst nach 'quit' oder einem Reboot einstellen wird. Somit kann es zwischen-
+zeitlich zu etwas komischen Spielerbeschreibung in Duncton kommen. Ich bitte
+das zu entschuldigen. 
+			Tryfan aus Duncton
+ 
+
+-----------------------------------------------------------------------------
+
+
+
+Aussichtsturm (Zardoz,  5. Okt 1995, 11:57:21):
+Ich wuerde mal gerne den Aussichtsturm des Monolithen erweitern. Allerdings
+kenne ich die neuen Gebiete des MorgenGrauens nicht, und wuerde deshalb
+euch (Spieler) bitten, mir mal eine Beschreibung zu schicken.
+Ich braeuchte noch:
+-Fernwest
+-Den westlichen Waldweg
+-Das Geisterschloss
+- *gruebel* Was gibts denn sonst noch? Kenn mich gar nicht mehr aus :-)
+Naja, einfach mal bei mir melden.....
+
+Ciao Zardoz
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Aussichtsturm (Rxtech,  5. Okt 1995, 13:57:03):
+#! rn=Zardoz rt=812890641
+Hm, da gaebs zum einen die Rodelbahn, die is ziemlich neu.
+Ausserdem hat Morgoth ne neue Insel gebaut. Frag mal Cara, oder Kiesel, die
+koennen die
+sicher gut beschreiben
+
+Rx
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Aussichtsturm (Fyt,  5. Okt 1995, 21:18:13):
+#! rn=Rxtech rt=812897823
+Ach naja, bei der neuen Insel sollte ein 'grep P_INT_LONG * | uniq' reichen.
+Kann mir nicht vorstellen, dass das mehr als 30 Zeilen gibt...
+
+Fyt.
+Ach ja: *Laestermode off*
+
+-----------------------------------------------------------------------------
+
+
+
+Neukymrisch (Tryfan,  6. Okt 1995, 10:55:56):
+Hi
+ die etwas herberen Maulis in Saibod sprechen jetzt etwas verstaendlicher,
+insofern als ihre Sprache ins Schriftsprachliche uebersetzt wurde.
+Die Uebersetzung war mir Dank der Hilfe von Lug Samildanach, Herrscher der 
+Sidhe, moeglich. Diolch! :)
+ Dieses hilft im wesentlichen nur den Spielern besonders, die das Neukym-
+rische beherrschen, traegt aber im allgemeinen zur Authentizitaet bei. 
+	Tryfan aus Duncton
+
+-----------------------------------------------------------------------------
+
+
+
+(Es klappert die Muehle) Am rauschenden Bach (Raffi, 10. Okt 1995, 17:24:40):
+
+                                Ein Bach
+Ein Bach, der aus der Quelle im Norden gespeist wird fliesst in sanfter Kurve
+nach Westen. Dort scheint er noch breiter zu werden.
+Es gibt drei sichtbare Ausgaenge: osten, westen und nordwesten.
+> o
+                                Am Fluss
+Aus dem kleinen Baechlein ist schon ein breiter Fluss geworden, offenbar gibt
+es noch andere Quellen als die im Norden. Der Strom fliesst gemaechlich
+weiter
+Richtung Suedosten, im Osten scheint der Weg zu einer Aue zu fuehren.
+Es gibt drei sichtbare Ausgaenge: osten, westen und suedosten.
+Ein Fischotter.
+
+Aha Der Bach fliest also nach westen, und wird dort breiter - und im Osten
+ist dann ein Fluss daraus geworden :)
+
+Es ist immer wieder erfrischend sich scheinbar bekannte Stellen erneut
+genau anzuschauen :)
+
+Gruss
+H.
+
+-----------------------------------------------------------------------------
+
+
+
+Ant-Feuer-Ring (Rochus, 18. Okt 1995, 17:57:10):
+Ich habe den Anti-Feuer-Ring etwas abgeschwaecht
+(sollte aber immer noch sehr gut sein)
+und dafuer den vollstrecker etwas verbessert...
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ant-Feuer-Ring (Jurry,  2. Nov 1995, 15:49:34):
+#! rn=Rochus rt=814035430
+habs gemerkt.. kieselstein und ich wurden mit vorsicht 150 bzw 120 mal eben
+ins netz der toten geschickt :(:(, fersteh ich nicht, fluchtrichtung hat nicht
+eingesetzt, hast du vieleicht vergessen fluchtrichtung abzufragen ?
+
+-----------------------------------------------------------------------------
+
+
+
+Daemonenburg (Zardoz,  7. Nov 1995, 15:48:54):
+Leider ist durch eine Verschiebung des Raum-Zeit-Gefueges ein Ausgang
+aus der Daemonenburg veraendert worden. Er fuehrt jetzt woanders hin...
+
+Ciao          Zardoz
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Merlin nun schon wieder :-) (Mango, 14. Nov 1995, 14:07:08):
+#! rn=Hardil rt=816351484
+tja wie ich gemerkt habe reicht schon ein teile merlin mit wo ist :)
+um zu erfahren was mit ihm los ist :)
+
+Mango.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Neues von der Daemonenburg (Zardoz, 16. Nov 1995, 12:21:16):
+Es soll was neues in der Daemonenburg geben...
+
+-----------------------------------------------------------------------------
+
+
+
+Einige nette neue Monster... (Rochus, 16. Nov 1995, 21:20:07):
+Ich habe einige neue Monster angeschlossen, um die zu finden
+sollte man jedoch gute Beleuchtung dabei haben...
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Neues von der Daemonenburg (Aranya, 17. Nov 1995, 15:34:18):
+#! rn=Zardoz rt=816520876
+War das jetzt ne Bitte?
+
+Aranya
+      NNN.
+--> muell
+
+-----------------------------------------------------------------------------
+
+
+
+Abruestung (Rochus, 29. Nov 1995, 18:03:35):
+So, ich habe mal etwas Abruestung bei den Massenvenichtungswaffen
+betrieben, von denen deutlich zu viele im Spiel sind.
+Momentan gibt es 124 Flammenkugeln, 337 Saeurebaelle und 404 Voodoonadeln!
+Ein Spieler lagert momentan 163 Stueck in seinem Seherhaus!
+Deswegen gibt es jetzt a) in der Parallelwelt hinter den beiden
+Drachen etwas weniger und b) nutzt der Goblinhexer jetzt seine
+Flammenkugeln auch zur Verteidigung, wenn er kurz vorm Ende steht,
+und nicht nur wie bisher nur gegen sehr gut *eingeschaetzte* Spieler.
+Ich weiss dass die Flammenkugeln mengenmaessig das kleinste Problem
+sind - hoffentlich ziehen Zardoz und Schrumpfi nach (Schrumpfi
+hat schon begonnen, wenn ich das richtig gesehen habe...)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Abruestung (Asmodis, 29. Nov 1995, 18:06:30):
+#! rn=Rochus rt=817664615
+hmm, 850 stueck massenvernichtungswaffen sind doch bei ueber 100
+Spielern gar nicht so viel, da entfallen hoechstens 2 oder 3 stueck auf einen
+:)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Abruestung (Raffi, 29. Nov 1995, 18:35:33):
+#! rn=Asmodis rt=817664790
+
+Asmodis du bist wohl statistikfan ? (Glaube nur den Statistiken die du
+selbst gefaelscht hast) :)..... Das mag ja so stimmen - ich hab aber noch nie
+eine dieser waffen gesehen.
+
+Die Monster schwieriger (oder gar inteligenter) zu machen ist m.E. der
+falsche weg - die HL Spieler koennen dann trotzdem Horten - besser waere es
+die jeweis 'verteilte' Menge zu verringern. Dann ergibt sich das mit der
+Gesammtmenge von alleine. (Zaehl doch mal einer wieviele Goboringe oder
+Diddelmaeuse im Spiel sind).
+
+Gruss
+H.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Abruestung (Cuchullin, 29. Nov 1995, 18:41:29):
+#! rn=Raffi rt=817666533
+
+
+Artillerie (also Flammenkugeln, Saeurebaelle, etc) waren aus Magiersicht
+ebenso wie der Bumerang noch nie sonderlich beliebt.
+Es ist einfach unmoeglich, ein Monster zu planen, wenn der Einsatz von
+solchen Waffen es in kuerzester Zeit ableben lassen wuerde.
+Ein Monster zu konzipieren, an dem einfach mehrere Spieler kloppen muessen,
+um es zu killen, ist nur dann moeglich, wenn es gegen die Artillerie
+vollkommen immun ist. Und das ist ja auch nicht das Gelbe vom Ei.
+
+Koennte es verstehen, wenn es morgen keine Bumis und keine Ari mehr gaebe,
+Cuch.-
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Abruestung (Boing, 29. Nov 1995, 18:50:30):
+#! rn=Cuchullin rt=817666889
+An sich ist das ja schon eine gute Sache mit der Artillerie und den
+Bumerangs, es macht Kaempfe fuer den Spieler etwas interessanter, weil
+er halt ein bisschen mehr machen kann als nur zuschauen, wie die normale
+Kampfroutine ablaeuft (Bla trifft Dich, Du triffst Bla ... usw.).
+Allerdings geht halt nicht nur der Reiz sondern auch die Balance
+verloren, wenn es diese Dinge im Uebermass gibt. Insofern waere eine
+Abruestung sehr zu begruessen.
+tschuess,
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Abruestung (Raffi, 29. Nov 1995, 18:52:43):
+#! rn=Boing rt=817667430
+
+Hmmmmm..... Das ist aussnahmsweise mal ein Punkt mit dem ich mitt Cuch* voll
+uebereinstimme - lasst uns Bummis & co einfach abschaffen - oder zumindest
+WIRKLICH selten zu machen.
+
+Gruss
+H.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Abruestung (Mahatma, 29. Nov 1995, 18:56:39):
+#! rn=Raffi rt=817667563
+Bumis abschaffen? Wo kommen wir denn da hin? Da muss ich mir ja doch eine
+neue Gilde suchen, das will ich aber nicht. Ich bin mit den Bumis zufrieden,
+und die Beschaffung der Geschosse ist gefaehrlich genug.
+Mahatma
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Abruestung (Nudei, 30. Nov 1995, 08:06:28):
+#! rn=Mahatma rt=817667799
+Doch, doch, Leute!
+
+Wenn im Gegenzug die Monster geschwaecht werden bzw. fuer mehrere Spieler
+zugaenglich, dann sofort WEG mit schwerem Geraet. Z.B. der SAlamander in Tarko
+Reub *wargon anlaechel*.
+Fuer einen Lag-Spieler ist es sowieso sinnlos, denn schon ein gewoehnlciher
+Feuerball ist reiner selbstmord, wenn man dafuer drei runden ohne waffe
+dasteht, weil das lag eine befehlsuebertragung behindert. dann kann ich gleich
+drauf verzichten.
+Also, weg damit.
+
+Nudei, Schriftleitung DiWp.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Abruestung (Yantro, 30. Nov 1995, 08:30:21):
+#! rn=Boing rt=817667430
+
+Das dieser Artikel eine Antwort auf Boing ist, ist rein zufaellig und hat nix
+zu sagen.... :)
+
+Zum Thema Artillerie kann ich eigentlich nur sagen, dass es fuer eine
+'normalen' Spieler sehr schwer und fuer die meisten sogar unmoeglich ist, an
+das Zeug heranzukommen. Das Problem liegt dann auch nicht in der Schwierigkeit
+der Monster, sondern in der Artillerie selber. Macht doch die Monster nicht
+schwerer und verbaut damit jedem NICHT-SUPER-SEHER die Moeglichkeit auf die
+Nutzung der Waffen. Vielmehr sollte man zb dafuer sorgen, dass die Sachen
+nicht mehr so lange Haltbar sind. Wieso muss eine Flammkugel oder ein
+Saeureball ewig halten? Wieso nicht weg damit nach einem Halben Tag. Wieso
+sollte die Voodoonadeln nicht einfach nach ein paar resets ihre Wirkung
+verlieren? Denkt mal in die Richtung nach und dann koennt ihr das Herankommen
+an die Sachen so lassen... Nur gelagert werden sie dann nicht mehr....
+
+                     Yantro (naiv) ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Abruestung (Li, 30. Nov 1995, 08:58:48):
+#! rn=Yantro rt=817716621
+Yantro, du bist vieleicht naiv(jedenfalls nach deinem Nachsatz), aber die
+idee ist
+doch klasse!
+Li(unterstuetzt diese Version des Abruestens Voll und Ganz)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Abruestung (Baron, 30. Nov 1995, 09:33:53):
+#! rn=Yantro rt=817716621
+Prima Idee!
+Ohne die huebschen kleinen Dingerchen ist das Kaempfen hier weniger
+interessant. Wenn man die Haltbarkeit begrenzen wuerd koennten die Spieler das
+Zeug nicht mehr in beliebigen Mengen horten und der Zweck waere doch erreicht?
+Baron - meint das auch.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Abruestung (Paracelsus, 30. Nov 1995, 10:29:00):
+#! rn=Baron rt=817720433
+Ich will auch mal senfen ;)
+Also ich denke die Artillerie sollte durchaus bleiben. Wenn man also die
+Haltbarkeit reduziert (z.B. auf 5 Resets), sollte das als Aenderung schon
+fast reichen. Vielleicht sollte man die Arti-Sachen auch so umaendern, dass
+sie sich bei einem "schlafe ein" einfach aufloesen.
+
+Para.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Abruestung (Grimmborn, 30. Nov 1995, 10:29:13):
+#! rn=Baron rt=817720433
+
+Nein, das Problem waere damit natuerlich nicht geloest. Das Problem ist
+naemlich, dass pro reset eine bestimmte Anzahl Artillerie zu haben ist.
+Das Problem ist nur verlagert: die vorhandenen Waffen muessen schneller
+verbraucht werden. Ob das den Reiz vermindert, sich die zu holen? Immerhin
+wird der moegliche Schaden so voll ausgeschoepft, waehrend im Moment immer die
+Moeglichkeit besteht, dass 1000 Kugeln&Co im reboot untergehen.
+Nichtsdestotrotz macht das einen besseren Eindruck wenn nicht so viel von dem
+Zeug brachliegt, und ein Angriff auf einen (normalen) Schmetterling mit 5
+Flammenkugeln hat halt auch was. Overkill in Reinstform...
+
+Noch nicht ganz wach, aber auch fuer die Kugeln m.b.H.,
+
+                   Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Abruestung (Yantro, 30. Nov 1995, 10:33:36):
+#! rn=Grimmborn rt=817723753
+
+Hmmm Grimmilein ;),
+
+ich denke Du hast das mit der Resetsteuerung nicht so ganz verstanden:
+
+Wenn ein GobHexer 5 Kugeln hat, dann kann man die sich holen... die naechsten
+5 Kugeln aber erst beim reset des Hexers! Wenn nun die Kugeln NUR 5 Resets
+lang halten und sich dann aufloesen, dann gibt es im MG zu einem Zeitpunkt
+immer hoechstens *rechnerechne* 25 Flammkugeln (oder 30??)... zumindest aber
+nicht mehr Hunderte...
+
+Selbiges gilt fuer die anderen Sachen...
+
+                 Yantro;)
+
+-----------------------------------------------------------------------------
+
+
+
+re:(Was wies ich wieviel): Abruestung (Roesti, 30. Nov 1995, 10:47:42):
+Also das abruesten durch vergammeln von artillerie find ich gut...
+Wuerd es aber nicht ueber die Resets laufen lassen sondern ueber die
+online-Zeit.Sonst snd naemlich die Gearsch...Aeh wie auch immer ...
+die sich die Dinger mit ach und Krach besorgt haben , aber in die VL
+muessen... (oder nen Rechnerabsturtz haben oder weis der Geier was noch...
+
+Hat natuerlich auch nachteile....
+
+Roesti ueberlegt sich noch was anderes.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: re:(Was wies ich wieviel): Abruestung (Grimmborn, 30. Nov 1995, 11:02:15):
+#! rn=Roesti rt=817724862
+
+weil hier gewisse Leute scheints zu daemlich sind:
+Wo ist die Abreustung, wenn man statt in 10 Stunden 50 jede Stunde 5 Kugeln
+hat?
+Und die auch noch sammeln kann, bis sie garantiert fuer jedes Monster
+ausreichen?
+
+Grimmborn der Atheist. Wird von Bendeigid zur Vorlesung gezerrt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Abruestung (Raffi, 30. Nov 1995, 11:03:50):
+#! rn=Yantro rt=817724016
+
+Das mit der haltbarkeit ist auch nicht das wahre, da gerade die HL
+Spielerauch einen entsprechenden Verbrauch haben (bzw. Anwendungsgebiete) -
+der Dumme ist dann wieder der der es gerademal geschaft hat sowas zu
+ergattern, und nach dem naechsten Restet ist der Wertgegenstand weg.
+
+M.E. ist es sinvoller die Menge zu verringern - warum Muss Lilith nunmal 10
+Nadeln haben ? Ein oder Zwei waeren auch genug, was ja bedeuten wuerde das je
+reset nur maximal 1(2) Nadeln neu hinzukommen - selbst der groesste Raffzahn
+wird alleine aus Zeitgruenden Probleme haben groessere Mengen (>10) zu 
+horten. Dafuer ergibt sich  fuer mehr spieler die Moeglichkeit auch mal die
+eine oder andere zu ergattern.
+
+
+Im uebrigen sollte die Energie der magier in die Verbesserung der Monster
+gesteckt werden und nicht in ihre verschlimmerung. Hat einer von euch schonmal
+versucht Lilith was zu fragen ? Die ist ja nurnochbloede. Gerade bei solchen
+'Obermotzen' koennte etwas persoenlichkeit nicht schaden - und wenn es nor
+depperte Antworten auf die Stichwoerter in Ihrer Beschreibung sind
+(Magie,Luzifer etc. bei Lilith).
+
+Gruss
+H.
+
+-----------------------------------------------------------------------------
+
+
+
+Abruestung (Roesti, 30. Nov 1995, 11:21:50):
+Ich meine nicht das reseten an sich...
+Ich meinte das es einen Verfall von gegenstaenden nach onlineZeit gibt...
+Bsp ich bin 5 Stunden mit Saeurekugel eingeloggt...
+->Die Saeure der Saeurekugel neutralisiert sich(oder frist sich durch die
+Huelle oder Was-auch-immer
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Abruestung (Zardoz, 30. Nov 1995, 11:24:03):
+#! rn=Roesti rt=817726910
+Also, die Saeurebaelle hab ich gestern schon geaendert. Ich hab einfach die
+Anzahl der Baelle im Spiel begrenzt. Sobald viele Baelle im Spiel sind, gibts
+beim Anfuehrer weniger. Werden die Baelle verbraucht, gibts wieder mehr.
+
+Ciao        Zardoz
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Abruestung (Yendi, 30. Nov 1995, 11:27:58):
+#! rn=Roesti rt=817726910
+
+Jau, nach 5h online frisst sich die Saeure durch die Kugel und faengt an, das
+inventory zu zersetzen...
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Abruestung (Yendi, 30. Nov 1995, 11:27:58): (Roesti, 30. Nov 1995, 11:45:00):
+Genau sowas in der Art:)
+
+Roesti:)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Abruestung (Yendi, 30. Nov 1995, 11:27:58): (Cuchullin, 30. Nov 1995, 12:03:58):
+#! rn=Roesti rt=817728300
+
+Die Idee (dass sie die Ari nach einer gewissen Zeit aufloest) ist nicht
+schlecht, aber die Umsetzung duerfte Probleme bereiten.
+Wer hindert mich daran, die Kugeln/Baelle/Nadeln direkt nach dem Ergattern
+einem Tragezweitie zu geben, der dafuer nur 5 Sekunden (+10 Minuten netztot?)
+eingeloggt ist?
+Wer troestet mich, wenn mich die Leitung disconnectet und die Teile sich bei
+'schlafe ein' aufloesen?
+
+Ich denke, Zardoz hat nicht das Falscheste getan.
+Fuer Ari eh zuviel Lag habend,
+
+Cuch.-
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Abruestung (Yendi, 30. Nov 1995, 11:27:58): (Roesti, 30. Nov 1995, 12:19:05):
+#! rn=Cuchullin rt=817729438
+Die Loesung von Zar find ich auch gut.
+Aber nun dazu wie isch es verhindern kann das es an Zweities weitergegeben
+wird...einfach ein weitergeb Limit einbauen.Sachen koennen max einmal
+weitergegeben werden...Ok ist auch nicht das gelbe vom ein.
+
+Roesti gruebelt.
+
+-----------------------------------------------------------------------------
+
+
+
+AUFRUESTUNG!!! (Ryne, 30. Nov 1995, 12:49:56):
+Ich glaube da wird aber etwas uebersehen: Wenn ich weiss, dass meine ari nach
+einer bestimmten zeit vergammelt, setze ich sie halt sofort ein. und dann
+haben wir noch mehr leute, die die ari voellig unnoetig einsetzen, indem sie
+sie im kampf gegen nur zwei oder sogar nur ein monster wegwerfen.
+
+Ich denke auch, dass der sinnvollste weg der ist, die mengen deutlich zu
+beschraenken, indem man den monstern einfach nicht allzuviel davon mitgibt.
+
+Und die Bumerangs gehoeren in diese diskussion meiner meinung nach nicht
+hinein. die bumis naemlich machen die kaempfe insofern interessanter, als man
+von dem ewigen rhytmus schwert weg - fb - schwert zuecken, der relativ monoton
+ist, ein wenig weg kommt, da der bumi sich im kampf eben nicht immer
+vorhersehbar verhaelt.
+
+Abgesehen davon machen die bumis mittlerweile einen so geringen schaden, dass
+sie die kampfkraft der spieler nicht allzusehr erhoehen, auch von dieser seite
+her hinkt der vergleich zur ari.
+
+Rzne.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Abruestung (Highlander, 30. Nov 1995, 13:09:04):
+#! rn=Li rt=817718328
+Ohne jetzt die weiteren Artikel gelesen zu haben, moechte ich auch eine Idee
+anbringen:
+Was spricht gegen eine "kritische Masse" der Artillerie?
+Wer sagt denn, dass 20 Saeurekugeln (das Zeug ist womoeglich auch noch
+magisch) auf einem Haufen liegen koennen, ohne dass was passiert?
+Oder 50 Feuerkugeln (NEWS: Wie soeben gemeldet, sind aus bisher ungeklaerter
+Gruenden mehrere Seherhaeuser in Flammen aufgegangen. Catweazle bittet um
+Hilfe bei der Aufklaerung...  *GRINS*)?
+Mit fiesen Ideen,
+   HrT
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Abruestung (Mahatma, 30. Nov 1995, 14:29:05):
+#! rn=Rochus rt=817664615
+So ganz verstehe ich nicht, was an der beschriebenen Menge der Geschosse
+schlimm sein soll. Zum einen verteilen die sich auf viele Spieler, und zum
+anderen sollte man sich fragen, wozu die eigentlich da sind.
+Schliesslich benutzt man Voodoo-Nadeln nicht, um widerliche Kakerlaken auf
+der Hochebene umzulegen, sondern um mal ein Monster in Angriff zu nehmen, wo
+man als popliger Abenteurer mit dem BSS nichts ausrichten kann.
+Und da so ein Monster nicht nach der ersten Nadel umfaellt, ist es
+erforderlich, sich durch das Sammeln eines Vorrates entsprechend
+vorzubereiten. Das gerade macht doch den Reiz der Sache aus.
+Ich habe neulich auch so ca. 150 Voodoo-Nadeln gehabt, um mir beim Weghier
+einen Vollstrecker zu verdienen, und da hab ich schon eine ganze Weile fuer
+gebraucht, schliesslich schmeisst Lilith mir die Nadeln nicht so einfach
+hinterher.
+Deswegen halte ich es fuer unsinnig, die Haltbarkeit und die Sammelbarkeit
+der Geschosse zu beschraenken.
+Die Beschraenkung der Gesamtmenge, wie jetzt bei den Saeurebaellen
+eingefuehrt, kann ich akzeptieren, genauso die Massnahmen, mit denen Lilith
+und der Hexer schwerer gemacht wurden.
+Allerdings ist die Schmerzgrenze bald erreicht, ich habe jetzt schon grosse
+Muehe, die ueberhaupt zu schaffen, so dass das Sammeln der grossen Mengen gar
+nicht mehr auftreten wird.
+Und bei den Saeuredaemonen stelle ich mich sowieso zu bloed an, da habe ich
+ausser zwei teuren Toden nichts zaehlbares vorzuweisen.
+
+Also lasst es so, wie es jetzt ist; ich denke, die letzten Aenderungen
+genuegen. Es ist kein Zuckerlecken, die Dinge zu besorgen, und wenn trotzdem
+jemand die Muehe und Zeit auf sich nimmt, um fuer ein grosses Projekt zu
+sammeln,
+sollte das immer noch moeglich sein.
+
+Mahatma (der nicht weiss, wie er ohne Artillerie durch die Wasserebene kommen
+soll)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: AUFRUESTUNG!!! (Raffi, 30. Nov 1995, 14:51:08):
+#! rn=Ryne rt=817732196
+
+Wenn man jetzt schon Ari Braucht um Monstter zu plaetten, so ist es Pervers
+diese auch noch zu staerken. Macht doch lieber lilith wieder ertraeglich und
+gebt ihr nur 1-2 Nadeln.
+
+Ausserdem ist das ganze Ari-thhema ein Problem fuer die Leute mit langer
+Leitung (ja, ich weiss Ihr in Muenster findet sowas als lustige ablenkung von
+der Monotonier, aber hier draussen ist es schon fast unmoeglich im kampf
+auchnoch die waffe zu  wechseln.
+
+Gruss
+H.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Abruestung (Mango, 30. Nov 1995, 14:55:35):
+#! rn=Paracelsus rt=817723740
+also wenn das mit dem wegfaulen kommen sollte dann haett ich gern
+ne beschreibung der teile so al a :
+
+                 Zu verbrauchen bis : siehe Boden
+
+
+damit mann weis wann man das zeug noch wirkungsvoll verbraten
+kann.
+
+
+Mango, wieder mit Extrawuenschen. :)
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Abruestung (Cuchullin, 30. Nov 1995, 14:59:29):
+#! rn=Mahatma rt=817738145
+
+
+Der Weghier - und viele andere Monster auch - sind darauf konzipiert, mehrere
+Gegner fuers Sterben zu brauchen. Warum den Weghier immer alleine machen
+muessen?
+
+Cuch.-
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Abruestung (Mahatma, 30. Nov 1995, 15:45:23):
+#! rn=Cuchullin rt=817739969
+Wer sagt denn, dass ich den Weghier allein gemacht habe? Da reichen 150
+Nadeln lange nicht, das war nur mein bescheidener Anteil am Kill. Sonst brauch
+ich als Abenteurer da erst gar nicht hingehen.
+Mahatma
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Abruestung (Tzuiop, 30. Nov 1995, 16:33:02):
+#! rn=Mahatma rt=817738145
+Also, Mahatma, irgendwie widersprichst Du Dir selbst:
+
+So ganz verstehe ich nicht, was an der beschriebenen Menge der Geschosse
+schlimm sein soll. Zum einen verteilen die sich auf viele Spieler ....
+
+.... Ich habe neulich auch so ca. 150 Voodoo-Nadeln gehabt ...
+
+Ja, was denn nun ??
+
+Tzuiop (verwirrt)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: AUFRUESTUNG!!! (Nixihou, 30. Nov 1995, 16:42:01):
+#! rn=Raffi rt=817739468
+also eigendlich wollte ich auf einen anderen artikel hier antworten!
+
+ok, ich finde die beschraenkung fuer flammenkugeln nadeln usw nicht so gut,
+denn viele monster sind inzwischen nur noch mit eben diesen mitteln zu killen.
+oder aber mit sehr viel mehr als 5 spielern gleichzeitig!
+wenn man schon daran denkt diese artillerie zu beschraenken sollte man nicht
+aus dem auge lassen, auch einige monster drastisch abzuspecken!
+jedenfalls wenn solche gegenstaende sehr viel schwehrer zu erreichen sind als
+vor den aenderungen finde ich, dass es den spielspass doch mindert.
+(einiges ist ohne sehr erhoeten aufwand nicht mehr zu schaffen)
+
+aber auch diese disskussion muendet wohl in eine der
+ruestungsspiral-disskussionen, die wir ja schon oefter hatten.
+nixihou, wenn er sich flammenkugeln besorgte spahrte er sie sich fuer
+besondere gelegenheiten.
+
+-----------------------------------------------------------------------------
+
+
+
+Vorsicht! (Tryfan, 30. Nov 1995, 18:06:33):
+Huhu
+ in Angleichung an die weibliche Version treibt sich Mandrake aus Saibod nun
+auch in der maennlichen Version auf der Westseite von Duncton herum. Ich
+bitte insbesondere Zweities dies zu beachten.
+	Tryfan aus Duncton
+	 Maulwurf)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Abruestung (Mupfel, 30. Nov 1995, 19:10:30):
+#! rn=Yantro rt=817716621
+warum trifft eine flammenkugel *alle* monster im raum gleichmaessig, aber der
+spieler bekommt nix ab? daran solltet ihr noch feilen, dann koennte artillerie
+als solche schon noch erhalten bleiben.
+-mupfel- (bastelt an einer standars
+(grumpf! 2. Versuch :-)
+-mupfel- (bastelt an einer standard-artillerie)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Abruestung (Mindolluin, 30. Nov 1995, 19:11:38):
+#! rn=Mupfel rt=817755030
+Oh, das gaebe schoene Playerkills am Anfang, Mupfel! :-)
+
+          Cara
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Vorsicht! (Cuchullin, 30. Nov 1995, 19:11:40):
+#! rn=Tryfan rt=817751193
+
+Es heisst aber immernoch ``Siabod'' :-)
+
+Haette sich ein Typo-Trigger basteln sollen,
+Cuch.- ;-)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Abruestung (Raffi, 30. Nov 1995, 19:12:39):
+#! rn=Mupfel rt=817755030
+
+Feuerwerk die 2. - bitte nicht!
+
+Gruss
+H.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Abruestung (Rochus, 30. Nov 1995, 19:15:05):
+#! rn=Mupfel rt=817755030
+Die treffen jetzt "nur" noch bis zu 4 gleichzeitig mit dem vollen Schaden,
+bei mehr Gegnern teilen diese sich den Schaden auf.
+Die Spieler werden jedoch weiterhin nicht getroffen, und ich
+denke 4 gleichzeitig mit voller Staerke ist immer noch recht gut...
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Abruestung (Mupfel, 30. Nov 1995, 19:15:12):
+#! rn=Mahatma rt=817738145
+> Mahatma (der nicht weiss, wie er ohne Artillerie durch die Wasserebene
+kommen soll)
+na ganz einfach: zu MEHREREN! gebiete wie wasser- und feuerebene und monster
+wie der weghier sind fuer MEHRERE spieler/seher gedacht und nicht fuer den
+alleingang.
+
+-mupfel- (hat mal mit dem magier2ti und 5 anderen sehern den weg in die
+feuerebene durch die wasserebene getan und fand das 'gemeinschaftserlebnis'
+ganz klasse)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Abruestung (Mupfel, 30. Nov 1995, 19:16:57):
+#! rn=Mindolluin rt=817755098
+ich meinte speziell *denjenigen* spieler, der die kugeln wirft (unbeteiligte
+sollten nix abbekommen)
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Abruestung (Catweazle, 30. Nov 1995, 20:49:50):
+#! rn=Mupfel rt=817755030
+Ich rall das nicht...
+Da gibts dieses wunderbare, ganz einfache und simple ~d
+Sollte Dir ungemeinhein helfen!!
+Yours truly,
+        Catweazle (empfiehlt oefter mal ~h im editor zu tippen)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Abruestung (Grimmborn,  1. Dez 1995, 11:13:36):
+#! rn=Catweazle rt=817760990
+
+Ganz zu schweigen von ~q, wo wir schon von Schwachsinn reden.
+
+Grimmborn der Atheist. Wuenscht sich, dass etwa 80% der Artikel (solche wie
+dieser also) mit ~q abgeschlossen haetten...
+
+-----------------------------------------------------------------------------
+
+
+
+Abruestung? Nein Danke! (Lug,  4. Dez 1995, 01:24:00):
+Ich kann in dieser Frage nur Mahatma zustimmen. Diese Debatte nervt. Seitdem
+ic hier bin , bekomme ich eigentlich nur mit, wie abgewertet wird (Waffen)
+oder afgewertet (Monster). Man vergleiche Bummis und Hydra. Was soll das?
+Sollen wir lle Chaoten werden oder Karateka? Ihr orientiert Euch doch wohl nur
+an ein paarSpitzensehern oder? Mir faellt das schwer, alleine 110 Voodoonadeln
+zu holen.
+Ueberlegt Euch lieber, wias Ihr fuer (FUER) die Abenteurer tun koenntet.
+Kopf schuettelnd
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Abruestung? Nein Danke! (Schrumpfi,  4. Dez 1995, 02:21:55):
+#! rn=Lug rt=818036640
+Da musst Du Dich an den zustaendigen Magier, der die Abenteurergilde
+programiert hat, wenden.
+Ich hab mich im uebrigen nicht an Spitzensehern orientiert als ich Lilith
+rauffgesetzt habe. Ich hab sie ja grade deswegen haerter gemacht, weil schon
+alle moeglichen Leute mit ueber 200 Nadeln rumgelaufen sind.
+S.d.O.v.P
+
+-----------------------------------------------------------------------------
+
+
+
+Daemonenburg (Zardoz, 19. Jan 1996, 14:00:01):
+Gerade eben ist mir leider jemand gegen den Rechner gelaufen und so sind
+leider einige Worte in der Daemonenburg durcheinander geraten. Leider
+kann ich diesen Fehler nicht mehr rueckgaengig machen, aber ich hoffe
+mal, dass diese Aenderungen nicht so schlimm sein werden. Wenn dennoch
+einiges anders ist, so verzagt nicht, sondern sucht einfach das
+veraenderte Wort. Es muesste noch an der gleichen Stelle liegen, wie
+das alte...
+
+
+Ciao    Zardoz
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Daemonenburg (Bendeigid, 19. Jan 1996, 14:02:04):
+~#! rn=Zardoz rt=822056401
+~#! tid=822056401
+Damn! welcher Trottel war das? :))
+
+Bendeigid, rennt jetzt mal wieder zu Fuss rum, weil er sich eh nicht
+auskennnt.
+
+-----------------------------------------------------------------------------
+
+
+
+Daemonenburg (Zardoz, 14. Feb 1996, 17:13:48):
+Achtung! Ich bin gerade dabei die zahlreichen Ideen zur Daemonenburg, die
+sich in den letzten Monaten angesammelt haben, abzuarbeiten. Es wird
+immer mal wieder vorkommen, dass ploetzlich was anders ist. Aber keine
+Panik, ich verlange von niemanden, dass er sich alle Details nochmal
+anschaut. Wer die Infos allerdings von anderen Leuten bekommen hat, ohne
+zu wissen, woher die Info stammt, wird Probleme bekommen. Seltsamerweise
+kommen die fiesesten Ideen immer von Spielern. Wie war das? Eraditor
+an den Eingang der Burg stellen?? :)
+
+Ciao    Zardoz
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Daemonenburg (Anakin, 14. Feb 1996, 17:15:01):
+~#! rn=Zardoz rt=824314428
+~#! tid=824314428
+Aeh aenderst Du was oder kommt was NEUES?
+
+Dann haett ich nen Grund wieder mal was zu machen. :)
+
+Anakin.
+
+-----------------------------------------------------------------------------
+
+
+
+Narrenball (Li,  5. Mar 1996, 11:17:18):
+Ich habe den Raum mit der Geheimtuer ein wenig geaendert. Ich hoffe, es sit
+jetzt etwas logischer.
+Ach ja, wer immer noch die Geheimtuer oeffnen will und sich wundert, dass es
+mit <oeffne geheimtuer> nicht geht, aerbeitet entweder mit loesung, oder hat
+nicht richtig aufgepasst.
+Li (wird die Quest entbuggen, sobal die Zaubergilde laeuft (und dann auch
+noch einen anderen Weg zum koenig proggen)
+
+-----------------------------------------------------------------------------
+
+
+
+Flammenkugeln (Rochus, 16. Apr 1996, 19:53:35):
+Mir ist eingefallen, dass meine Flammenkugeln ja eine
+Aufschlagzuendung haben. Was das nun bedeutet koennt
+Ihr Euch ja denken... :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Flammenkugeln (Asmodis, 16. Apr 1996, 20:59:50):
+~#! rn=Rochus rt=829677215
+~#! tid=829677215
+Das bedeutet, wenn es in dem Raum nicht das detail 'boden' gibt,
+sind sie wirkungslos ? :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Flammenkugeln (Morgoth, 17. Apr 1996, 07:10:09):
+~#! rn=Asmodis rt=829681190
+~#! tid=829677215
+geil rochus ;-))
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Flammenkugeln (Escubar, 21. Apr 1996, 00:33:24):
+~#! rn=Rochus rt=829677215
+~#! tid=829677215
+An den Flammkugeln scheint sich ja noch etwas mehr gaendert zu haben:
+
+- Wenn man sie in Pakete oder Beutel steckt, verbrennen sie denselben
+
+- Tentakelmonster und Schlabbermurks bringen die Kugeln zur Zuendung
+
+Heisst ich kann die SSP nicht mehr mit Kugeln betreten um anschliessen
+dieselben auf der Wasserebene einzusetzen, weil ich soweit garnet komm.
+
+Allerdings frag ich mich echt wo da der Sinn sein soll?
+
+Denn Loesung (Spieler sind ja nicht auf den Kopf gefallen...): Ich geb die
+Kugeln an einen Zweiti, der sie mir dann rechtzeitig vor der Wasserebene
+uebergibt.
+
+Allerdings frag ich mich warum Aenderungen immer das Ziel haben muessen das
+Spiel zu verkomplizieren.
+
+Eisbaer Escubar
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Flammenkugeln (Caradhras, 22. Apr 1996, 10:37:52):
+~#! rn=Escubar rt=830039604
+~#! tid=829677215
+Jau, klar, an jedes Monster das so was machen koennte einen Raum
+vorher nen Zweitie hinstellen. Hast du denn nicht genug, Escu? :)
+Das ist der Sinn von MG: sich mehr mit seinen Zweities zu unter-
+halten. *:)
+
+         Caradhras - unterhaelt sich schon lange mit Celebdil
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Flammenkugeln (Zardoz, 22. Apr 1996, 12:41:05):
+~#! rn=Caradhras rt=830162272
+~#! tid=829677215
+Genau aus diesem Grunde hab ich mich auch geweigert, die Saeurebaelle so zu
+aendern... wie gesagt _so_ zu aendern, geaendert hab ich sie schon :)
+
+Ciao  Zardoz
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Flammenkugeln (Mupfel, 22. Apr 1996, 13:21:49):
+~#! rn=Zardoz rt=830169665
+~#! tid=829677215
+Wenn die Flammenkugeln Beutel nicht verbrennen wuerden, waere der Effekt
+sinnlos gewesen...
+
+-mupfel-
+p.s.: keine Sorge, zu den Flammenkugelntragenden 2ties faellt uns auch noch
+was ein :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Flammenkugeln (Lug, 24. Apr 1996, 21:34:12):
+~#! rn=Escubar rt=830039604
+~#! tid=829677215
+Moin Escubar,
+
+die Tendenz, soweit ich sie erkennen kann, sieht so aus: Monster werden
+aufgewertet (z.B. Robin), Waffen und Ruestungen (AF-Ring, Flammenkugeln etc.)
+abgewertet. Tja, frag mal einen Karateka. Alles klar?
+
+Schulterzuckend
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Flammenkugeln (Wur, 30. Apr 1996, 17:36:56):
+~#! rn=Escubar rt=830039604
+~#! tid=829677215
+Und ich frag mich, wieso man jedes Problem mit nem Zweitie loesen muss.
+Es lebt sich auch. ohne Zweities ganz gut.
+
+Wur
+
+-----------------------------------------------------------------------------
+
+
+
+Kanaele (Anakin, 15. Mai 1996, 13:31:57):
+Wird es auch bald einen -Archie Kanal geben?
+
+Anakin.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Kanaele (Pampers, 15. Mai 1996, 13:34:51):
+~#! rn=Anakin rt=832159917
+~#! tid=832159917
+Ich will einen Kanal fuer feministische Buchhaendlerinnen, die auch ohne
+Alkohol lustig sein koennen, aber insgeheim der Ueberzeugung sind, dass das
+Leben mit Volldampf an ihnen vorbeirauscht.
+Den kann ich dann naemlich abbestellen.
+Pampers. Ein kleines Arschloch.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Kanaele (Bottom, 17. Mai 1996, 17:45:58):
+~#! rn=Pampers rt=832160091
+~#! tid=832159917
+Also - ich finde, Buchhaendlerinnen sollte man nicht im Regal verstauben
+lassen...auch in der Wueste spriesst manchmal eine Bluete!  ;-)
+ 
+Bottom - hofft auf baldigen Regen
+
+-----------------------------------------------------------------------------
+
+
+
+In Vland ist nen Baum umgefallen... (Zardoz, 22. Mai 1996, 14:58:12):
+...und in der Daemonenkneipe gibts ein neues Getraenk. 
+
+Zardoz schreibt hochinteressante Artikel
+
+-----------------------------------------------------------------------------
+
+
+
+Bug im Goblinlager (Rimus,  3. Jun 1996, 15:26:37):
+Allo Ihr's !
+
+Ich habe ein Problem im Goblinlager.
+Der Hexer hat 5 Flammenkugeln bei sich, wenn ich den angreife ist
+er innerhalb von 5 Schlaegen tot, und wirft keine Kugel.
+Wenn ich dann den Kram aus der Leiche nehme, hat er nur noch 2 Kugeln.
+Waerend des Kampfes kommt zusaetzlich die Meldung:
+Gamedriver teilt Dir mit: Dein Herzschlag hat ausgesetzt.
+Kurz darauf schlaegt mein Herz wieder.
+Kann der zustaendige Magier mal den Fehler abstellen ??
+Das waere nett !
+
+Rimus Member of Metzelteam.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Bug im Goblinlager (Baron,  3. Jun 1996, 22:34:19):
+~#! rn=Rimus rt=833808397
+~#! tid=833808397
+Nun, nichts fuer ungut Rimus. Wenn ich der zustaendige Magier waere, wuerde
+ich als erstes abstellen, dass man den Hexer mit 5 Schlaegen erledigen kann :)
+
+Baron, grinsend
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Bug im Goblinlager (Dhojakt,  3. Jun 1996, 22:35:38):
+~#! rn=Baron rt=833834059
+~#! tid=833808397
+Naja, neuerdings explodieren ja Flammenkugeln bei mechanischer Beanspruchung.
+Ich kann mir nur nicht vorstellen, dass Rochus das so gedacht hat, dass die im
+Hexer losgehen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Bug im Goblinlager (Lefty,  3. Jun 1996, 22:39:39):
+~#! rn=Dhojakt rt=833834138
+~#! tid=833808397
+hm, wo ihr das jetzt erwaehnt ... mit nature is mir das letztens auch
+passiert, er ist auch karateka.
+
+-----------------------------------------------------------------------------
+
+
+
+Abenterer-Faehigkeiten (Rochus, 13. Jun 1996, 21:46:23):
+Die Abenteurer koennen jetzt auch jemanden nach ihren
+Faehigkeiten fragen, und zwar Owen Braddon, der versteht
+naemlich etwas davon als Abenteurer, der sich zur Ruhe gesetzt hat.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Abenterer-Faehigkeiten (Mahatma, 14. Jun 1996, 00:54:39):
+~#! rn=Rochus rt=834695183
+~#! tid=834695183
+Klasse Rochus, hab ich mir schon immer gewuenscht.
+
+Mahatma (ist insgesamt gesehen perfekt)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Abenterer-Faehigkeiten (Nairolf, 14. Jun 1996, 09:47:10):
+~#! rn=Mahatma rt=834706479
+~#! tid=834695183
+Dann streng dich mal an mahatma !
+Nairolf, grinst Mupfel  an.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Abenterer-Faehigkeiten (Charly, 20. Jun 1996, 22:56:00):
+~#! rn=Rochus rt=834695183
+~#! tid=834695183
+gehoert der 'entgifte' spruch nicht dazu ?
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Abenterer-Faehigkeiten (Caradhras, 21. Jun 1996, 23:22:10):
+~#! rn=Charly rt=835304160
+~#! tid=834695183
+Nein, der entgifte-Spruch gehoert zu Tarko Reub.
+
+      Caradhras der Golddrache
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Abenterer-Faehigkeiten (Mupfel, 22. Jun 1996, 00:47:33):
+~#! rn=Caradhras rt=835392130
+~#! tid=834695183
+Der 'entgifte'-Spruch gehoert eigentlich zur Klerusgilde (der war das erste
+Stueckchen Klerusgilde ueberhaupt :-). Aber wer den gelernt hat und kein
+Kleriker ist, kann jetzt Owen Braddon auch danach befragen, denn lange lange
+Zeit gehoerte dieser Zauberspruch quasi zur Abenteurergilde dazu, und auch
+Owen Braddon scheint sich noch an ihn zu erinnern...
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Abenterer-Faehigkeiten (Wargon, 24. Jun 1996, 09:52:07):
+~#! rn=Mupfel rt=835397253
+~#! tid=834695183
+Der "entgifte"-Spruch, wie man ihn nach Tarko Reub lernen kann, gehoert zu gar
+keiner Gilde. Auch Kleriker zahlen da die vollen 30 MP, solange sie noch nicht
+zum Priester geweiht sind.
+Und ueberhaupt: Wann hat Owen Tarko Reub geloest? ;)
+  Wargon
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Abenterer-Faehigkeiten (Mupfel, 24. Jun 1996, 19:43:19):
+~#! rn=Wargon rt=835602727
+~#! tid=834695183
+Schau doch im Logfile nach :-) Irgendwann frueher schaetze ich...
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Schattenruestung (Rochus,  8. Jul 1996, 19:52:53):
+Wenn man Pech hat bekommt man jetzt eine schlechtere Schattenruestung
+als vorher vom Etwas... wenn man jedoch Glueck hat bekommt
+man jedoch jetzt eine einmalige mit einigen besonderheiten...
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Schattenruestung (Asmodis,  9. Jul 1996, 19:55:23):
+~#! rn=Rochus rt=836848373
+~#! tid=836848373
+Das heisst wohl, dass Etwas jetzt noch staerker belagert wird ?
+
+-----------------------------------------------------------------------------
+
+
+
+Neue Funktionen im MA (Calum, 13. Jul 1996, 02:27:18):
+Das Magische Auge ist etwas erweitert worden: Zum Einen
+werden jetzt bei der Beschreibung von Waffen einige neuere
+Schadenstypen erkannt; zum Anderen werden jetzt bei Waffen, die
+mehr als einen Schadenstyp unterstuetzen, alle Schadenstypen
+angezeigt.
+
+An dieser Stelle ein MEGA-Danke an Mupfel, der fuer 90% der
+Erweiterungen verantwortlich ist!
+
+ - Calum -
+
+-----------------------------------------------------------------------------
+
+
+
+Bericht eines Wanderers (Zardoz, 20. Sep 1996, 13:50:57):
+Ich hab den Auftrag hier etwas zu veroeffentlichen, weil der Schreiber zur
+Zeit leider verhindert ist. Folgendes kommt also nicht von mir:
+
+
+Ich gruesse euch, ihr wagemutigen Bewohner des MorgenGrauens!
+
+Schon laenger wanderte ich, Elholdriel, durch die finsteren Gefilde der
+Daemonen, auf der Suche nach kostbaren Schaetzen und magischen Waffen,
+doch fand ich lange nicht das Ersehnte. Bis ich eines Tages, verborgen
+unter einem See und bewacht von gar schauerlichen Monstern, einen Weg
+in eine andere Dimension fand! Unter einem gruenen Himmel, in einer
+fremden Welt, ragten die Mauern einer Stadt vor mir auf, die so sonderbar
+und gefaehrlich ist, wie nie zuvor ein Elf sie sah. 
+Diese Stadt verbirgt viele Wunder, grosse Gefahren und schreckliche
+Monster, und es sei jedem geraten sich gut vorzubereiten, falls er 
+denn Mutes genug sei, diese Stadt zu betreten. 
+
+Dies berichtet Elholdriel, der Wanderer.
+
+P.S.: Gehet nicht alleine dorthin! Ihr wuerdet den Weg nicht finden...
+
+-----------------------------------------------------------------------------
+
+
+
+WUWesen (Zardoz,  3. Feb 1997, 15:20:43):
+Ich ueberarbeite gerade einige alte Monster von mir. Jetzt hat es das
+Wasserunwesen erwischt. Es ist nicht staerker geworden, ich hab nur paar Bugs
+gefixt. Ausserdem ist es jetzt auch, bei richtiger  Wahl der Waffe, mit
+ebendieser zu treffen. Somit sollten auch Kaempfer jetzt ne Chance dagegen
+haben.
+
+Ciao Zardoz
+
+-----------------------------------------------------------------------------
+
+
+
+Re: WUWesen (Bombadil,  3. Feb 1997, 18:19:55):
+~#! rn=Zardoz rt=854979643 rg=d.ebene
+~#! tid=854979643
+Das Wasserunwesen war doch auch vorher schon gut mit Waffen verletzbar, wenn
+man nur die richtigen hatte ? Oder wurde das zwischendurch schonmal
+ueberarbeitet ?
+
+Bombadil
+
+-----------------------------------------------------------------------------
+
+
+
+Raeubergebuesch fuer Fortgeschrittene (Rochus, 13. Feb 1997, 17:36:44):
+Der Titel sollte eigentlich sagen was ich neu angeschlossen habe :)
+Man kann es allerdings umgehen, wenn man sein Geld behalten moechte :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Raeubergebuesch fuer Fortgeschrittene (Rochus, 13. Feb 1997, 17:42:35):
+~#! rn=Rochus rt=855851804 rg=d.ebene
+~#! tid=855851804
+PS: Verbesserungsvorschlaege werden vertraulich behandelt :)
+Die Idee fuer das Gebuesch kam uebrigens von
+Connection closed by foreign host.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Raeubergebuesch fuer Fortgeschrittene (Rochus, 13. Feb 1997, 21:57:45):
+~#! rn=Rochus rt=855852155 rg=d.ebene
+~#! tid=855851804
+Ist bis Montag wieder abgehaengt, es sind 2 bisher
+unentdeckte Bugs in der mudlib aufgefallen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Raeubergebuesch fuer Fortgeschrittene (Rochus, 17. Feb 1997, 19:35:10):
+~#! rn=Rochus rt=855867465 rg=d.ebene
+~#! tid=855851804
+So, ich habe die Bugs entfernt bzw. umgangen und das Gebuesch
+wieder angeschlossen (leider IST das unit-Objekt ein einziger Bug, so
+dass ich den nicht entfernen konnte ohne allen Spielern ihr
+Geld zu nehmen :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Raeubergebuesch fuer Fortgeschrittene (Fyt, 17. Feb 1997, 19:37:50):
+~#! rn=Rochus rt=856204510 rg=d.ebene
+~#! tid=855851804
+
+Hm, dann mach doch, Rochus... bei den Freundschaftsbaendern warst Du
+doch auch nicht so zimperlich ;-)
+
+Fyt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Raeubergebuesch fuer Fortgeschrittene (Dancer, 20. Feb 1997, 02:54:57):
+~#! rn=Fyt rt=856204670 rg=d.ebene
+~#! tid=855851804
+Rochus, Du koenntest ja die Savefiles durchgehen und Dir auf sieben bis acht
+kleinen DIN-A3-Notizbloecken eben mal kurz die Geldreserven der Spieler
+notieren... spaeter koenntest Du die Mengen einfach mal schnell wieder in die
+Savefiles eintragen :-)
+
+Ich sag doch, frag einfach den Sandtiger. Ok? ;-)
+
+Dancer
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Raeubergebuesch fuer Fortgeschrittene (Zuerileu, 25. Feb 1997, 02:52:12):
+~#! rn=Dancer rt=856403697 rg=d.ebene
+~#! tid=855851804
+Hi Rochus,
+Mein Vorschlag zum Gebuesch, pfusch nicht in den Files rum und mach das Teil
+wieder schwerer! Wir arbeitslose Magier, muessen auch unserer Spass haben wenn
+anfaenger von den Raeubern gemeuchelt werden =:) Nun Arbeit, haet ich zwar
+genug aber zurzeit wenig Zeit nach der rl Arbeit. Meine da hat man es den
+ganzen Tag streng und moechte wenigstens am abend beim mudden ne auflockerung
+=:)
+
+Tschuess..           Zuerileu *grinsend*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Raeubergebuesch fuer Fortgeschrittene (Gabo, 25. Feb 1997, 10:24:04):
+~#! rn=Rochus rt=855851804 rg=d.ebene
+~#! tid=855851804
+soll das heissen, dass man als unbedarfte AnfaengerIn
+auch auf er HochEbene damit rechnen muss, dass
+dass erste schwer erkaempfte Geld geraubt b.z.w.
+gestohlen werden kann?
+
+-----------------------------------------------------------------------------
+
+
+
+Raeuber (Rochus,  4. Mar 1997, 19:32:53):
+Es gibt jetzt einen kleinen Bonus dafuer, alle 12 Raeuber jeweils
+mindestens einmal zu erledigen.
+Aber Vorsicht, die Raeuber sind ziemlich motiviert, die bekommen
+naemlich auch einen Bonus dafuer jeden Spieler mindestens einmal
+zu erledigen :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Koch (Rochus, 27. Mar 1997, 18:16:08):
+Was der Koch im Fischrestaurant jetzt macht kann man sich ja wohl denken.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Koch (Fyt, 27. Mar 1997, 18:16:31):
+~#! rn=Rochus rt=859482968 rg=d.ebene
+~#! tid=859482968
+
+Ich hoffe, er kuendigt.
+
+Fyt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Koch (Asmodis, 27. Mar 1997, 19:01:45):
+~#! rn=Rochus rt=859482968 rg=d.ebene
+~#! tid=859482968
+
+Er kocht vor Wut ?
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Koch (Methedras, 27. Mar 1997, 19:09:27):
+~#! rn=Asmodis rt=859485705 rg=d.ebene
+~#! tid=859482968
+Rumstehen? Oder umfallen? Sonst faellt doch auch immer alles
+neue um.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Koch (Ringor, 27. Mar 1997, 22:49:27):
+~#! rn=Rochus rt=859482968 rg=d.ebene
+~#! tid=859482968
+Ich haette jetzt ja getippt, dass er einen Selbstverteidigungskurs mitgemacht
+hat. Hat er aber nicht - oder er ist noch in Schulung.
+
+Ringor. Findet keinen Unterschied
+
+-----------------------------------------------------------------------------
+
+
+
+Abhaengen (Orktoeter, 21. Apr 1997, 12:22:00):
+Da mein (zugegebern Massen nicht feriges) Schloss auf einem Feld stand, dessen
+Raumbeschreibung ich selbst verbrochen habe und das dann von einem
+zustaendigen RM angeschlossen wurde, denke ich, das ich da die gleiche Rechte
+dran habe, wie ander magier an ihren Sachen auch, daher bitte ich eine RM
+Ebene, diese Auffahrt so lange abzuhaengen, bis die Seherhaeuser wieder da
+sind.
+OrkT (wenn ich schon kollektiv mitbestraft werde kann ich auch Mist machen)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Abhaengen (Cauno, 21. Apr 1997, 12:39:43):
+~#! rn=Orktoeter rt=861618120 rg=d.ebene
+~#! tid=861618120
+Tja, ein aehnliches Problem haben Nirdavo und ich mit einem Platz mit
+unsichtbaren Haeusern ...
+
+C. No
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Abhaengen (Issomad, 21. Apr 1997, 13:44:38):
+~#! rn=Orktoeter rt=861618120 rg=d.ebene
+~#! tid=861618120
+Hmm, den Raum, in dem das Haus von Asmodis steht, koennt ihr
+von mir aus auch abhaengen :)
+
+-----------------------------------------------------------------------------
+
+
+
+Haeusle baue in Moron (Calum, 29. Apr 1997, 12:36:04):
+Tja... aehem... eigentlich wollte ich nur bekanntgeben, dass auf
+mehrfachen Wunsch in Moron jetzt auch im Torweg gebaut werden darf.
+
+Und falls jetzt jemand glaubt, dass das bedeutet, dass ich demnaechst
+Moron vollstaendig debuggen und die Quest zu Ende programmieren werde,
+dann hat er sich leider getaeuscht ;-)
+
+ - Calum -
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Haeusle baue in Moron (Grimmborn, 29. Apr 1997, 12:46:47):
+~#! rn=Calum rt=862310164 rg=d.ebene
+~#! tid=862310164
+Aha, Calum hat die Seherhaeuser wieder angehaengt?
+Oder sind die drei Wochen schon um? ;-)
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Haeusle baue in Moron (Raffi, 29. Apr 1997, 19:06:49):
+~#! rn=Calum rt=862310164 rg=d.ebene
+~#! tid=862310164
+
+Schade - dabei waere es so schoen wenn in Moron mal was neues passieren wuerde
+- ist immernoch mein lieblingsgebiet.
+
+Gruss
+H.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Haeusle baue in Moron (Calum,  5. Mai 1997, 12:35:51):
+~#! rn=Grimmborn rt=862310807 rg=d.ebene
+~#! tid=862310164
+Muss ich den verstehen, Grimmborn?
+Vermutlich nicht. :-(
+ - Calum -
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Haeusle baue in Moron (Grimmborn,  5. Mai 1997, 13:12:27):
+~#! rn=Calum rt=862828551 rg=d.ebene
+~#! tid=862310164
+Hier die Aufloesung fuer Calum (und alle, die sonst noch den groessten Teil
+der mpa abbestellt haben):
+Calum hat das Hausbauen in Moron zu einem Zeitpunkt erlaubt, als Wargon es
+gerade fuer drei Wochen verboten hatte. Die Gruende will ich hier nun wirklich
+nciht aufzaehlen, und noch weniger die Diskussion zusammenfassen/wiederholen.
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Haeusle baue in Moron (Orktoeter,  5. Mai 1997, 13:23:37):
+~#! rn=Grimmborn rt=862830747 rg=d.ebene
+~#! tid=862310164
+
+Huhu Grimm*, scheibar hast du den genilane Schachzug noch nicht verstanden.
+Ca eine Woche vor ablauf der 3-wochen Frist von Wargon, wird Calum sich
+beschweren, das sich niemand in Moron niederlaesst und puenktlich unmittelbar
+bevor Wargon die Seherhaesuser wieder freigibt, wird Calum dann sagen : so, es
+hat immer noch keiner sein Haus in Moron gebaut, da ist also doch keine
+Nachfrage, also habe ich es gerade wieder ausgebaut !
+
+OrkT jetzt schon grinsend.
+
+-----------------------------------------------------------------------------
+
+
+
+Hauptpost (Gast1,  9. Jul 1997, 12:20:56):
+Hi,
+
+also fuer das Hauptpostamt vom MG ist die Post 
+_ziemlich_ duerftig beschrieben. 
+Vielleicht findet sich ja einer der das macht.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Hauptpost (Cauno,  9. Jul 1997, 12:44:55):
+~#! rn=Gast1 rt=868443656 rg=d.ebene
+~#! tid=868443656
+Vielleicht koennte man bei der Gelegenheit auch das komische Spukhaus im
+Norden abschaffen - da wo man nicht rein kann und gegenueber, wo sowieso
+nichts ist.
+Wie waere es mit einem Hard Rock Cafe Port Vain?
+
+C. No
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Hauptpost (Rochus,  9. Jul 1997, 12:52:43):
+~#! rn=Cauno rt=868445095 rg=d.ebene
+~#! tid=868443656
+Da, wo man nicht rein kann, kann man vielleicht unter
+Umstaenden DOCH rein - nur weil Du da nicht rein kannst
+bedeutet das nicht, dass das Gebaeude keinen Zweck erfuellt :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Hauptpost (Cauno,  9. Jul 1997, 12:57:38):
+~#! rn=Rochus rt=868445563 rg=d.ebene
+~#! tid=868443656
+Ich weiss nicht, ob wir jetzt ueber den gleichen Ort reden - ich meinte nicht
+den Raum nur fuer Magier, der liegt im Suedwesten der Stadt!
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Hauptpost (Rochus,  9. Jul 1997, 13:12:32):
+~#! rn=Cauno rt=868445858 rg=d.ebene
+~#! tid=868443656
+Wir reden ueber den gleichen Ort - ich kenne mich in der Ebene und
+in PortVain als zustaendiger Regionsmagier naemlich gut genug aus,
+um diese Orte auseinanderhalten zu koennen :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Hauptpost (Key,  9. Jul 1997, 13:47:44):
+~#! rn=Cauno rt=868445858 rg=d.ebene
+~#! tid=868443656
+Tsts Cauno du entaeuschst mich ;) Warst du netmal der Kartenzeichner vom MG
+oder sowas aehnliches? 
+
+Key
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Hauptpost (Hate,  9. Jul 1997, 14:45:45):
+~#! rn=Cauno rt=868445858 rg=d.ebene
+~#! tid=868443656
+Hmm, da ich immer noch an der MG Web Seite am basteln bin hier nochwas:
+
+Wer Karten zeichnet oder gezeichnet hat kann die mir mal zukommen lassen.
+Die schoensten werden dann mit auf die Webseite gepackt.
+
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Hauptpost (Mupfel,  9. Jul 1997, 22:30:19):
+~#! rn=Rochus rt=868446752 rg=d.ebene
+~#! tid=868443656
+Hm... "als Regionsmagier" muss man sich nicht unbedingt in der "eigenen"
+Region auskennen... 
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+SMS (Rochus, 10. Jul 1997, 19:58:31):
+Ich habe das SMS etwas geaendert.
+Es dauert jetzt etwas laenger, bis man den Umgang damit
+beherrscht, aber dafuer ist die Uebung jetzt dauerhaft.
+Bei der Gelegenheit habe ich ausserdem beruecksichtigt, dass
+der Leveldurchschnitt jetzt hoeher ist durch die Levelreform.
+
+-----------------------------------------------------------------------------
+
+
+
+Tamahorny (Rochus, 19. Aug 1997, 19:01:05):
+Bei Kareem Fekesh kann man jetzt die allseits beliebten Tamahornies
+kaufen. Gluecklicherweise hat mich jemand, der den Tod nicht fuerchtet,
+in letzter Minute noch auf einen Bug aufmerksam gemacht :)
+Zu den riesigen Nebenwirkungen lesen Sie die Packungsbeilage
+und fragen Sie Ihren Arzt oder Apotheker oder Lars :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Tamahorny (Key, 19. Aug 1997, 19:02:48):
+~#! rn=Rochus rt=872010065 rg=d.ebene
+~#! tid=872010065
+Yep aber da der Bug jetzt draussen ist kann man es geniessen! .)
+
+Also viel Spass mit dem Teil ... Achja ... es hat gegenueber diesen
+haesslichen Tamagotchis einen Vorteil, es kann net sterben :)
+
+Key 
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Tamahorny (Jimdigriz, 19. Aug 1997, 19:46:20):
+~#! rn=Key rt=872010168 rg=d.ebene
+~#! tid=872010065
+ARGL,
+
+das mit dem Sterben war doch das einzig
+positive an dem T*. 
+Naja selbst wenn es unsterbliche gegeben haette 
+koennte man diese per Hammer auch schnell beenden.
+
+Achtung ich hab anscheinend einen psychischen Defekt, was
+diese Dinger angeht und reagiere extrem allergisch,
+wer also auf der Fete in Muenster mit einem Tama*&^%*
+rumrennt und mir unter die Augen kommt, soll dann nicht
+jammern, wenn das Ding im Aasee absaeuft oder 
+unter meiner Schuhsohle zermalmt wird.
+
+Ciao,
+ Jim DiGriz
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Tamahorny (Key, 19. Aug 1997, 20:38:14):
+~#! rn=Jimdigriz rt=872012780 rg=d.ebene
+~#! tid=872010065
+Keine Sorge geht mir auch so Jim ;))
+
+Key
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Tamahorny (Astar, 19. Aug 1997, 20:39:44):
+~#! rn=Key rt=872015894 rg=d.ebene
+~#! tid=872010065
+Dann wuerde ich mich an Eurer Stelle von Kartoffel fernhalten ;)
+
+Astar
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Tamahorny (Key, 19. Aug 1997, 20:41:17):
+~#! rn=Astar rt=872015984 rg=d.ebene
+~#! tid=872010065
+Kartoffel hat nen Tamahorny???? Die arme =;)
+
+Key
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Tamahorny (Kartoffel, 19. Aug 1997, 21:06:15):
+~#! rn=Astar rt=872015984 rg=d.ebene
+~#! tid=872010065
+Meiner is verreckt, hab ihn uebers WE in der Jackentasche vergessen :))
+
+Kartoffel
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Tamahorny (Key, 19. Aug 1997, 21:07:00):
+~#! rn=Kartoffel rt=872017575 rg=d.ebene
+~#! tid=872010065
+*aufatme* :))
+
+Key
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Tamahorny (Kartoffel, 19. Aug 1997, 21:07:18):
+~#! rn=Key rt=872016077 rg=d.ebene
+~#! tid=872010065
+Neee, ich hatte das andere T-Ding, aber ich stimme zu, dass sie auf die Dauer
+nervig sind.
+
+Kartoffel
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Tamahorny (Mango, 20. Aug 1997, 12:24:52):
+~#! rn=Key rt=872015894 rg=d.ebene
+~#! tid=872010065
+Ich zeig Euch an wenn ihr das macht ;).
+
+Mango, voellig kaputt.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Tamahorny (Raffi, 20. Aug 1997, 14:38:10):
+~#! rn=Kartoffel rt=872017638 rg=d.ebene
+~#! tid=872010065
+Einfach Reset Knopf druecken (oder baterie lang genug raus nehmen.
+
+Gruss
+H.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Tamahorny (Raffi, 20. Aug 1997, 14:38:42):
+~#! rn=Mango rt=872072692 rg=d.ebene
+~#! tid=872010065
+Hmm sollen Wir sammeln und fuer Key und Jim je einen kaufen ? 
+
+Grins
+H.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Tamahorny (Key, 20. Aug 1997, 16:47:56):
+~#! rn=Raffi rt=872080722 rg=d.ebene
+~#! tid=872010065
+Hmm und wer sammelt fuer einen Hammer? :))
+Key
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Tamahorny (Raffi, 20. Aug 1997, 17:07:25):
+~#! rn=Key rt=872088476 rg=d.ebene
+~#! tid=872010065
+
+Wiso Hammer ?
+
+Also ich hab auf stielvollere Destruktion gesetzt :)
+
+-------------------------------------------------
+
+Kareem Fekesh sagt: Ein Tamahorny ist ein Amulett mit einem lebenden
+gehoernten Daemon, das Dir im Kampf helfen kann. Der Daemon braucht allerdings
+Zuwendung solange er lebt, also Essen und ne anstaendige Bezahlung.
+Leider droht mir Lizenzentzug wenn ich den nicht nur an Seher verkaufe.
+> frage kareem nach lizenz
+Kareem Fekesh sagt: Tut mir leid, davon weiss ich nichts.
+> frage kareem nach seher
+Kareem Fekesh sagt: Tut mir leid, davon weiss ich nichts.
+
+
+Mal abgesehen davon das das wiedermal eine dieser
+einseitig rassistischen Bevorzugungen fuer Seher
+ist, merkt man Kareems Dachschaden.
+
+Grins
+H.
+(Will auch ein Tamahoernchen!)
+
+-----------------------------------------------------------------------------
+
+
+
+Tamahorny (Paracelsus, 20. Aug 1997, 21:36:09):
+Aufgrund einiger Bugs wurden alle Tamahornys wieder aus dem Verkehr gezogen
+und der Verkauf bis auf weiteres eingestellt.
+
+Beschwerden und Schadensersatzforderungen bitte an Rochus ]:->
+
+Paracelsus.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Tamahorny (Tangalur, 21. Aug 1997, 10:16:21):
+~#! rn=Paracelsus rt=872105769 rg=d.ebene
+~#! tid=872105769
+... hoffentlich gibts bald wieder welche.
+Tangalur trauert um sein Tamahoernchen :-(
+
+-----------------------------------------------------------------------------
+
+
+
+T ist verreckt ? (Bluemel, 21. Aug 1997, 18:23:53):
+Was muss ich hoeren ? Tigerauge ist verreckt, weil Kartoffel ihn in der
+Jackentasche vergessen hat ? 
+Wie geht denn sowas ?
+---> Schmarrn
+
+-----------------------------------------------------------------------------
+
+
+
+Re: T ist verreckt ? (Kartoffel, 21. Aug 1997, 21:35:57):
+~#! rn=Bluemel rt=872180633 rg=d.ebene
+~#! tid=872180633
+Waaaahhh, Bluemel Du Intelligenzbestie, doch nicht TA ...
+Mein Tigerauge, das ich in der Jackentasche rumschleppe kann nicht verrrecken,
+weil ist schon tot (der Stein halt).
+
+Kartoffel
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: T ist verreckt ? (Li, 22. Aug 1997, 09:46:37):
+~#! rn=Kartoffel rt=872192157 rg=d.ebene
+~#! tid=872180633
+Tamahorny, die Mischung aus Tamagotchi mit einem Spritzer Dungeon Keeper?
+Also ich denke, dasTamag* als virtuelle tier zu bezeichnen, ist ne
+Frechheit...
+wir haben schliesslich hier schon viel schoenere virtuelle Tiere!
+Li (gruendet eine Tamago* ist bloed - Kampagne :-) )
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: T ist verreckt ? (Grimmborn, 22. Aug 1997, 09:58:05):
+~#! rn=Li rt=872235997 rg=d.ebene
+~#! tid=872180633
+Ich glaube, ihr habt den Witz nicht ganz verstanden.
+Ich bin sicher, dass es im Zusammenhang mit den Tamag* jemanden gibt (der die
+vermutlich erfunden hat), der den ganzen Tag nur lachend auf dem Ruecken liegt
+und die einrollenden Geldbuendel zaehlt. In dieser Hinsicht sind die Viecher
+voellig mit anderen Phaenomenen wie beispielsweise Magic zu vergleichen.
+
+Grimmborn der Atheist mag Realsatire
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: T ist verreckt ? (Li, 22. Aug 1997, 10:11:00):
+~#! rn=Grimmborn rt=872236685 rg=d.ebene
+~#! tid=872180633
+Klar lacht der sich tot, genau wie Wizards of the Coast, die firma die MAgic
+rausgebracht hat. die haben naemlich vor kurzem mal locker TSR aufgekauft...
+(Fuer alle nichtrollenspieler, TSR ist die groesste Firma fuer Rollenspiele
+(AD&D...)
+Horny ist ein nettes monster beim computerspiel Dungeon Keeper, daher vermute
+ich diese Wortkombination...
+Li
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: T ist verreckt ? (Rochus, 22. Aug 1997, 11:25:13):
+~#! rn=Li rt=872237460 rg=d.ebene
+~#! tid=872180633
+Die Vermutung ist richtig :)
+Genau wie ein Tamagotchi braucht auch der Horny in Dungeon Keeper staendige
+Zuwendung :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: T ist verreckt ? (Quasimodo, 22. Aug 1997, 11:34:29):
+~#! rn=Grimmborn rt=872236685 rg=d.ebene
+~#! tid=872180633
+Ein Freund von mir hat mal bei WotC gearbeitet, als die noch nicht beruehmt
+waren. Damals waren das so abgedrehte Spinner alle Rollenspieler (exkl.
+anwesende natuerlich). Jetzt wissen sie nicht wohin mit dem Geld. Ingo wird
+sich aergern, dass er da aufgehoert hat.
+
+Aber ein Unterschied zwischen Magic und Tamagotchis gibt es aber schon. Magic
+ist ein richtig gutes Spiel, wenn auch absolut ueberteuert. Tamagotchis sind
+einfach nur Dreck.
+
+Quasi
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: T ist verreckt ? (Yantro, 22. Aug 1997, 12:21:06):
+~#! rn=Quasimodo rt=872242469 rg=d.ebene
+~#! tid=872180633
+und ich dachte, die Dinger heissen "horny", weils geil ist(macht)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: T ist verreckt ? (Highlander, 22. Aug 1997, 12:23:56):
+~#! rn=Yantro rt=872245266 rg=d.ebene
+~#! tid=872180633
+Fuer den Fall, dass das ernst gemeint war:
+Horny ist eine Abkuerzung von Horned Reaper.
+   HrT. Hat gestern Bratdieb am Spiess gesehen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: T ist verreckt ? (Taragon, 22. Aug 1997, 20:04:49):
+~#! rn=Highlander rt=872245436 rg=d.ebene
+~#! tid=872180633
+Hmmm, aber wieso sind die Dinger nur fuer Seher ???
+Was sollen die immerhin noch recht zahlreichen Nichtseher machen ?
+Gerade die haben wohl eher ein starkes Interesse an solchen Haratorny's 
+;-)
+
+taragony
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: T ist verreckt ? (Escubar, 24. Aug 1997, 21:37:21):
+~#! rn=Grimmborn rt=872236685 rg=d.ebene
+~#! tid=872180633
+>Ich bin sicher, dass es im Zusammenhang mit den Tamag* jemanden gibt (der die
+vermutlich erfunden hat), der den ganzen Tag nur lachend auf dem Ruecken liegt
+und die einrollenden Geldbuendel zaehlt. In dieser Hinsicht sind die Viecher
+voellig mit anderen Phaenomenen wie beispielsweise Magic zu vergleichen.
+
+
+Leider nein Grimmborn. Erfunden wurde das Ding in Japan von einer fest
+angestellten Spieledesignerin, die fuer das Tamagotchi laut Bericht (ich glaub
+WiWo) nichtmal ne Praemie gesehen hat ...
+
+Der Spielzeugfirma (ein Riesenkonzern) die die Dinger herstellt gehts im
+uebrigen recht schlecht ...
+
+Eisbaer Escubar
+
+-----------------------------------------------------------------------------
+
+
+
+weghier (Rochus, 26. Aug 1997, 09:25:30):
+Ich habe den Bug mit dem Anti-Feuer-Ring behoben, der bewirkte, dass
+man den Weghier leicht mit Feuer killen konnte.
+Das war nie so beabsichtigt.
+Es gibt uebrigens auch noch andere Schadenstypen, Beschwerden also bitte
+nach jammerlappen.entwicklung oder /dev/null.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: T ist verreckt ? (Raffi, 27. Aug 1997, 12:50:08):
+~#! rn=Taragon rt=872273089 rg=d.ebene
+~#! tid=872180633
+Will auch eins !
+
+Gruss
+H.
+P.S.: Ich hab heute frueh am bahnhof das Konr@d HEft mal durchgeblaettert.
+      Gleich am anfang haben die ne Doppelseite mit Methoden zur T.
+      Beseitigung :) (Trotzdem lohnt kaufen nicht - ist ne Mischung
+      aus Vogue und Stern - mit noch schlechterem Layout als Wired
+      und weniger Inhalt als die Bild).
+
+-----------------------------------------------------------------------------
+
+
+
+Schacht (Rochus, 28. Aug 1997, 18:06:04):
+Weil es zu einfach war, den Schacht komplett bis nach unten aufzuraeumen,
+habe ich diesen ein wenig verlaengert.
+
+PS: Der Schacht SOLL ohne die richtige Ausruestung
+fast nicht ueberlebbar sein.
+
+  Rochus
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Schacht (Teddy, 28. Aug 1997, 18:13:39):
+~#! rn=Rochus rt=872784364 rg=d.ebene
+~#! tid=872784364
+Argl, aber da unten liegt dann das SMS oder wie?
+
+Teddy
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Schacht (Asmodis, 28. Aug 1997, 18:31:17):
+~#! rn=Teddy rt=872784819 rg=d.ebene
+~#! tid=872784364
+genau :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: T ist verreckt ? (Monimor, 30. Aug 1997, 18:45:33):
+~#! rn=Rochus rt=872241913 rg=d.ebene
+~#! tid=872180633
+hi die 3.
+horny kann man auch aus dem englischen uebersetzen ... dann ist zuwendung
+etwas gelinde ausgedrueckt.
+
+-----------------------------------------------------------------------------
+
+
+
+Weghier (Rochus,  1. Sep 1997, 15:43:08):
+Damit man laenger Freude am Vollstrecker hat,
+laesst sich der Weghier jetzt seltener blicken.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Weghier (Mango,  1. Sep 1997, 15:43:52):
+~#! rn=Rochus rt=873121388 rg=d.ebene
+~#! tid=873121388
+Ist mir im Grunde genommen egal. ;)
+
+Mango, meckert nicht.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Weghier (Key,  1. Sep 1997, 16:12:46):
+~#! rn=Rochus rt=873121388 rg=d.ebene
+~#! tid=873121388
+Aehm .... Rochus .....
+Der Weghier hat auch noch mehr dabei als nur den VS, und soviel laenger wird
+man den VS dann auch net haben (Hoffe ich)
+
+Und so wie es im mom aussieht gibbet nur Stress um den VS :(
+
+Key
+
+-----------------------------------------------------------------------------
+
+
+
+Die Verlorenen Grabungen von Charnel Clough (Tryfan, 20. Okt 1997, 18:30:57):
+Hallo
+ bei meinen gelegentlichen Studien in meiner kleinen Privatbibliothek
+bin ich letztens in den Buechern von Privet auf einen sehr interessanten
+Hinweis gestossen. Bei der Verfolgung des selben stellte sich immer mehr
+heraus, dass man die zahlreichen Erwaehnungen der Verlorenen Grabungen
+von Charnel Clough bisher falsch interpretiert hat. Es scheint sich nicht
+so sehr um einen Tatsachenbericht als vielmehr um eine methaphorische
+Betrachtung der Faehigkeiten und Geisteshaltung von Maulwuerfen zu hadeln.
+ Dieses ermutigt mich dazu, intensiv in diese Richtung weiter zu forschen,
+da ich nun der Ueberzeugung bin, dass man die Verlorenen Grabungen ganz in
+seiner Naehe suchen sollte, weil sie nicht an Raum und Zeit gebunden sind.
+
+ Langer Rede kurzer Sinn:
+  Die Wiederkehr des legendaeren Meisters der Verlorenen Grabungen von
+  Charnel Clough und sein Erscheinen im MorgenGrauen steht in ferner
+  Zukunft zu erwarten. Und sollte er erscheinen, muss er aus unserer
+  Mitte komme.
+
+-----------------------------------------------------------------------------
+
+
+
+Schreibwuetige Abenteurer gesucht ... (Cymonk, 16. Dez 1997, 22:00:20):
+Halloechen,
+
+fuer die Gestaltung der W3 pages der Region Ebene suche ich Texte ber
+Oertlichkeiten und Quests in Form von packend fesselnden Reisebeschreibungen.
+Wer als Lust, Laune, Begabung, Zeit, keine Begabung, sich im W3 verewigen
+moechte
+und darueberhinaus auch kuenstlerisch aktiv zur Athmosphaere dieses Muds
+beitragen will, moege sich bitte mailenderweise an mich wenden...
+
+CyMonk
+
+-----------------------------------------------------------------------------
+
+
+
+Silvesterfeuerwerk (Rochus, 30. Dez 1997, 19:29:23):
+Der groesste Laden in Port Vain fuehrt jetzt auch Feuerwerkskoerper.
+Die kurze Zeit hat leider nur dafuer gereicht, Raketen zu programmieren,
+aber ich hoffe auch damit kommt Silvesterstimmung auf :-)
+
+  Rochus
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Silvesterfeuerwerk (Freund, 30. Dez 1997, 19:30:32):
+~#! rn=Rochus rt=883506563 rg=d.ebene
+~#! tid=883506563
+Die Sicherheitshinweise auf der Rakete sollten tunlichst beachtet werden.
+Immerhin ist das Ding von Rochus! :-P
+
+Ein warnender Freund.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Silvesterfeuerwerk (Jof, 30. Dez 1997, 19:32:54):
+~#! rn=Freund rt=883506632 rg=d.ebene
+~#! tid=883506563
+
+ Hm, wenn ich sie festhalte, kann ich dann mitfliegen? Und wo lande ich 
+dann? Kann ich den Kurs steuern ... ?
+
+ Jof
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Silvesterfeuerwerk (Freund, 30. Dez 1997, 19:36:02):
+~#! rn=Jof rt=883506774 rg=d.ebene
+~#! tid=883506563
+Hm, wenn DU sie festhaelst, Jof, oder ich, dann braeuchten wir schon 3
+Raketen, um abzuheben, fuerchte ich. ;-)
+
+Aber, die Idee ist ja vielleicht nicht schlecht. Vielleicht sollten wir eine
+neue Region in Erwaegung ziehen? Wie waere es mit einer Region "Mond"? Oder
+"Sterne"? :)
+
+Freund, traurig in die Jahresendzeit philosophierend...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Silvesterfeuerwerk (Jof, 30. Dez 1997, 19:39:20):
+~#! rn=Freund rt=883506962 rg=d.ebene
+~#! tid=883506563
+ ... hm wieso nehmen wir nicht einfach /room/death_room, der tut's doch
+auch ...
+
+ Jof
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Silvesterfeuerwerk (Wurzel, 30. Dez 1997, 19:40:13):
+~#! rn=Jof rt=883507160 rg=d.ebene
+~#! tid=883506563
+das geht mit den vorhandenen raketen auch schon :)
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Silvesterfeuerwerk (Cauno, 13. Jan 1998, 14:57:35):
+~#! rn=Freund rt=883506962 rg=d.ebene
+~#! tid=883506563
+Den Mond hatte ich ja schon lange mal im Kopf. Allerdings haben mich diverse
+Gruende dann doch immer davon abgehalten Magier zu werden.
+Das Projekt liegt bei mit auf Eis (Trockeneis, um genau zu sein). Weggeworfen
+habe ich es allerdings immer noch nicht.
+
+C. No
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Silvesterfeuerwerk (Grimmborn, 13. Jan 1998, 15:01:54):
+~#! rn=Cauno rt=884699855 rg=d.ebene
+~#! tid=883506563
+Ja, wenn Du den Mond im Kopf hast, erklaert das natuerlich vieles...
+
+Grimmborn der Atheist grinst ueber das ganze Vollmondgesicht
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Silvesterfeuerwerk (Cauno, 13. Jan 1998, 15:37:49):
+~#! rn=Grimmborn rt=884700114 rg=d.ebene
+~#! tid=883506563
+Kannst du mir dem Witz bitte auch erklaeren?
+
+C. No
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Silvesterfeuerwerk (Grimmborn, 13. Jan 1998, 22:11:58):
+~#! rn=Cauno rt=884702269 rg=d.ebene
+~#! tid=883506563
+Ausnahmsweise:
+Was glaubst Du denn, wofuer in Deinem Kopf alles nicht Platz ist, wenn Du da
+den Mond drin hast?
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Silvesterfeuerwerk (Mingo, 13. Jan 1998, 23:57:10):
+~#! rn=Grimmborn rt=884725918 rg=d.ebene
+~#! tid=883506563
+Der Mond muss aber noch um irgend etwas kreise, sonst waer er ja keiner.
+Mann was hast Du fuer 'nen Eierkopp, Cau :)
+
+Gloin
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Silvesterfeuerwerk (Cauno, 14. Jan 1998, 11:56:31):
+~#! rn=Mingo rt=884732230 rg=d.ebene
+~#! tid=883506563
+aha. hm, lachen kann ich zwar immer noch nicht.
+Aber in dem Fall duerfte ich eigentlich kaum probleme mit der Quantenmechanik
+haben, die nimmt dann ja nicht soviel platz weg ...
+
+C. No, hoffentlich diesen thread beendend
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Silvesterfeuerwerk (Grimmborn, 14. Jan 1998, 13:50:15):
+~#! rn=Cauno rt=884775391 rg=d.ebene
+~#! tid=883506563
+Noe, die Quantenmechanik kannst Du dann vergessen. Solltest Dir aber Sorgen um
+die Gravitation machen. Und wenn Du feststellst, dass Du immer nasse Fuesse
+bekommst: Das sind dann die Gezeiten. ;-)
+
+GdA 
+
+-----------------------------------------------------------------------------
+
+
+
+Liebe Freunde ... (Ark, 26. Jan 1998, 18:49:10):
+
+Erschuettert greife ich nun zur Feder, um Euch, meine lieben Gefaehrten,
+zu unterrichten ueber das, was mir vor kurzem zugetragen wurde:
+
+Vor nicht allzu langer Zeit begab es sich, dass ein Wandersmann den
+fernen Westen bereiste. Er wurde ueberall freundlich aufgenommen, doch
+hinterliess er oftmals Angst und Unsicherheit in den Herzen der Leute,
+die ihm Unterschlupf gewaehrten, denn wisset, es ist ein unheimlicher
+und finsterer Gesell'.
+
+Schliesslich kam der Wanderer auch in ein kleines Dorf in die Huette
+der schoenen Mayako Ohmura, die dort mit ihren Eltern lebte. Um ihre
+Hand hielt der Schurke an, doch ihr Herz war schon vergeben und so
+wies sie ihn ab. Aber der Boesewicht schwor Rache und stuerzte das
+arme Kind in tiefes Unglueck. Sie zog weg aus dem Dorf und lebt nun
+alleine in einer einsamen Huette.
+
+Nichts mehr koennte ich mir wuenschen, als wenn ein tapf'rer Recke
+oder eine furchtlose Amazone sich aufmachen wuerde, Mayako zu helfen
+und das Unrecht, welches ihr angetan wurde, zu raechen.
+
+Doch, liebe Freunde, seht Euch vor !
+
+Der ueble Wueterich verfuegt ueber Maechte, die so alt und maechtig
+sind wie die Goetter selbst. Seid vorsichtig und gewitzt, denn es
+kann Euch niemand mehr helfen, wenn ihr erst einmal in der Gewalt
+dieses Satans in Menschengestalt seid ...
+
+Moegen die Engel der Goetter ihre schuetzende Hand ausbreiten ueber
+denen, die zur Hilfe und zum Opfer bereit sind.
+
+Euer ergriffener Diener,
+
+Siebte Stunde, Anno Kandri, 1
+
+
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Nachtrag (Ark, 26. Jan 1998, 18:49:50):
+So, nach ueber 1 1/2 Jahren ist es endlich soweit: ich habe
+mich durchgeackert und eine Quest geschrieben :-)
+Allerdings habe ich das nicht alleine geschafft, deshalb
+will ich an dieser Stelle mal bedanken:
+
+- bei Gundur, meinem Paps, Questtester, Tipgeber, etc.
+- bei den Testern Bambulko, Paltum und Larissa, auch wenn
+  sie nicht alle durchkamen :-)
+- beim Rest des Darmstaedter Filzes -> Tryfan und besonders
+  Wurzel >- *schau doch einfach im source-code nach ;-)*
+- bei allen anderen Magiern, die mit hinweisen und
+  tips nicht gegeizt haben, wenn ich wurstie mal nicht weiterkam
+- bei Zephyr, die man alle zwei Wochen oder so auch mal sieht :)
+
+Noch zwei Sachen zur Quest:
+Mir ist klar, dass es am Anfang Gedraengel gibt, deshalb waere
+es fair, wenn nicht jeder, seine Familie mit durchzieht, sondern
+sich mit seinen Xties etwas zurueckhaelt. Da kann ich natuerlich
+nur appellieren :-)
+Ich schau mir auch gerne mein Rep-File durch, aber ich sag'
+es mal lieber gleich: alle missing details werde ich garantiert
+nicht ergaenzen, oft reicht mir einfach der Defaulttext.
+
+Dank Cymonk gibt es auch auf den Seiten des MG mittlerweile
+eine Info zu dieser Quest, zu finden unter ~/regionen/ebene ...
+
+Viel Spass mit der Quest, mein naechstes Projekt ist eher in
+der Wueste, waere doch gelacht, wenn wir da in Zukunft nicht mehr
+Leute sehen wuerden :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Nachtrag, die Zweite ... (Ark, 26. Jan 1998, 22:06:42):
+Wie Rikus berechtigterweise mangelnden Dank bemaengelte, so sei er
+an dieser Stelle auch von mir geknuddelt :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Moron (Calum, 27. Jan 1998, 11:08:43):
+Hi,
+
+kleine Aenderungen in Moron:
+- Das Gift der Python ist jetzt auch von Klerikern heilbar.
+  (falls jetzt jemand fragt, seit wann eine Python giftig ist,
+  weise ich darauf hin, dass es sich um eine Mutation handelt, und
+  verweise weiterhin auf die einschlaegige Literatur in der Bibliothek
+  von Moron :-) )
+- Analog heilt das Gegengift jetzt auch andere (leichte) Vergiftungen.
+  Damit die Kleriker nicht arbeitslos werden, habe ich allerdings die
+  Anzahl der verfuegbaren Gegengifte pro Reset halbiert.
+- Die Spinne ist etwas staerker geworden (an den Hornpanzer kam man
+  definitiv zu leicht ran). 
+
+Have fun,
+ - Calum -
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Moron (Anakin, 27. Jan 1998, 11:09:26):
+~#! rn=Calum rt=885895723 rg=d.ebene
+~#! tid=885895723
+
+- Die Spinne ist etwas staerker geworden (an den Hornpanzer kam man
+  definitiv zu leicht ran). 
+
+
+Ach? ;)
+
+Anakin.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Moron (Mingo, 27. Jan 1998, 12:40:04):
+~#! rn=Calum rt=885895723 rg=d.ebene
+~#! tid=885895723
+Oooch - am Biss ein nichtmutierten Wuergeschlange ist auch schon so
+mancher gestorben. Die Viecher putzen sich naemlich ihre Zaehnchen
+viel zu selten.
+
+Gloin
+
+-----------------------------------------------------------------------------
+
+
+
+Ruestungen (Gundur, 17. Feb 1998, 23:58:05):
+Im Zuge der Ruestungsspiralenaenderungen (oder wie das immer heisst) gabs
+einige kleine Aenderungen bei Ruestungen die man so in der Ebene bekommt.
+Die ungueltigen die imi Umlauf sind such ich jetzt nich extra also freut euch
+bis zum naechsten Reboot :-)
+mfG 
+Gundur
+
+-----------------------------------------------------------------------------
+
+
+
+Spiel (Padreic, 23. Mar 1998, 19:20:51):
+Fuer alle diejenigen unter Euch die nicht wissen was sie mit ihrer Zeit
+anfangen sollen, fuehrt Owen ab sofort was neues in seinem Sortiment :)
+
+                                     Gruss Padreic
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Spiel (Patryn, 23. Mar 1998, 19:21:43):
+~#! rn=Padreic rt=890677251 rg=d.ebene
+~#! tid=890677251
+also so viel langeweile quaelt uns dann doch wieder nicht, als dass ich mir
+dein zeugs antun muesste ;)
+
+------
+patryn
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Spiel (Astar, 23. Mar 1998, 19:25:07):
+~#! rn=Patryn rt=890677303 rg=d.ebene
+~#! tid=890677251
+boese :))
+
+Astar (Einzeiler)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Spiel (Key, 23. Mar 1998, 19:25:43):
+~#! rn=Astar rt=890677507 rg=d.ebene
+~#! tid=890677251
+Wo er recht hat hatter recht ;)
+
+Key immer einzelnzeilend :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Spiel (Jasper, 23. Mar 1998, 21:19:11):
+~#! rn=Key rt=890677543 rg=d.ebene
+~#! tid=890677251
+ist bugcity eigentlich schon fertig? :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Spiel (Patryn, 23. Mar 1998, 21:43:21):
+~#! rn=Patryn rt=890677303 rg=d.ebene
+~#! tid=890677251
+also ich finde das wuerfelspiel in wirklichkeit nicht schlecht, manche
+scheinen smilies entweder grundsaetzlich zu ignorieren oder wollen mich
+grundsaetzlich nicht verstehen oder mir reine boshaftigkeit unterschieben,
+wie gesagt: war nur nen netter seitenhieb, den auch padreic nich
+weiter schlimm aufgefasst hatte und hintenrum haben wir uns ja auch
+drueber unterhalten und nett gelacht.
+warum schreib ich das nu? ioch hab da 2 so komische mails bekommen, die
+das in die falsche kehle bekamen bzw. bekommen wollten :)
+
+------
+patryn
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Spiel (Key, 24. Mar 1998, 10:03:18):
+~#! rn=Patryn rt=890685801 rg=d.ebene
+~#! tid=890677251
+Du alter Miesmacher!
+Hoer sofort auf dich zu entschuldigen und lass und weiter auf Patryn rumhacken
+=;)
+
+Key, grinsend
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Spiel (Freund, 24. Mar 1998, 10:51:31):
+~#! rn=Key rt=890730198 rg=d.ebene
+~#! tid=890677251
+Genau, Key, dieser Paracelsus macht eh immer, was ihm passt! Deshalb sollte
+man ihn (also Patryn) eigentlich sofort loeschen. Also hacken wir weiter auf
+Padreic rum. Und am schlimmsten ist dieser Pacman, den sollte man sofort
+banishen. Aber Pampers, der scriptet glaube ich. Und Pantoffel, das ist gar
+kein richtiger Held. Genau wie Panther, alles Pappnasen, vor allem eben der. 
+
+Freund, mit einer kleinen Auswahl aus /save/p/pa*
+
+P.S.: Was ist denn ein Smiley?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Spiel (Baboon, 24. Mar 1998, 11:17:16):
+~#! rn=Freund rt=890733091 rg=d.ebene
+~#! tid=890677251
+Hm, Freund, hetz ihnen doch Paketbombe auf den Hals.
+
+baboon (affig grinsend)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Spiel (Pampers, 15. Apr 1998, 12:09:28):
+~#! rn=Freund rt=890733091 rg=d.ebene
+~#! tid=890677251
+Hey! Ich scripte gar nicht. :-) 
+
+Pampers. Schreibt sich jetzt ein Script, das alle 5 minuten nn eingibt, was so
+ziemlich alles ist, was ich hier mach. :)
+
+-----------------------------------------------------------------------------
+
+
+
+Daemonendimension (Gruuh,  3. Jun 1998, 14:22:19):
+Ich habe gerade einen neuen Teil der Daemonendimension angeschlosssen. Viel
+Spass damit!
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Daemonendimension (Asmodis,  3. Jun 1998, 18:41:46):
+~#! rn=Gruuh rt=896876539 rg=d.ebene
+~#! tid=896876539
+Hmm, nur mal interessehalber, wie kann ein Testie ein Gebiet
+anschliessen ? Schreib die Artikel doch unter deinem richtigen
+namen, Zardoz :)
+
+-----------------------------------------------------------------------------
+
+
+
+Das Auge des Teufels (Ark,  3. Jul 1998, 22:38:43):
+Hi, ich habe heute eine kleine Aenderung eingebaut und hoffe, dass die Quest
+dadurch mit der Zeit weniger nervig ist, besonders wenn man oft das Haus
+verlaesst *schiel Alpha*
+Wenn man einmal den Anfang gespielt hat, wird man beim naechsten Mal gleich in
+den zweiten Teil geschleust. Das kann man nun umgehen, wenn man will, und zwar
+mit 'ende' :-)
+So ist die Loesung fuer die Storyline am Besten, denke ich. Wer jetzt noch
+einmal durch den Anfang gehen will, macht halt 'ende', aber dann heisst das:
+alles nochmal spielen, auch den Fernwest-Teil.
+Alsdenn, ich hoffe, das kommt an, wenn nicht, aendere ich es halt wieder. Aber
+schaun wer mal erst ...
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Das Auge des Teufels (Ark,  3. Jul 1998, 22:43:09):
+~#! rn=Ark rt=899498323 rg=d.ebene
+~#! tid=899498323
+Das Ganze gilt auch fuer Reboot, da muss man halt die Quest auch nochmal
+spielen. Vielleicht nicht das Schlechteste, bei der Menge an Details, die man
+wieder vergessen hat :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Das Auge des Teufels (Therin,  3. Jul 1998, 22:44:20):
+~#! rn=Ark rt=899498589 rg=d.ebene
+~#! tid=899498323
+
+Details? Pffff.... :)
+
+Therin, 1 Tod :)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Das Auge des Teufels (Teddy,  3. Jul 1998, 22:44:53):
+~#! rn=Therin rt=899498660 rg=d.ebene
+~#! tid=899498323
+Gibs doch zu, du bist Forscher, Therin ;)
+
+Teddy
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Das Auge des Teufels (Therin,  3. Jul 1998, 22:57:03):
+~#! rn=Teddy rt=899498693 rg=d.ebene
+~#! tid=899498323
+
+Ich bevorzuge die Bezeichnung minimalistischer Ueberlebenskuenstler was FPs
+angeht :)
+(Mit Treffsicherheit immer dran vorbei unt-en)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Weghier (Rochus,  5. Aug 1998, 19:51:01):
+Der Weghier ist wieder da und ich habe auch den Bug beim
+Ausgang "egalwohin" behoben.
+
+  Rochus
+
+-----------------------------------------------------------------------------
+
+
+
+geisterschloss ausgang (Snibril, 26. Aug 1998, 08:47:21):
+Welcher uebereifrige Magier hat denn den Ausgang vom Geisterschloss
+veraendert?
+und warum?
+vielleicht mit wichtigem Grund?
+oder aus einem allgemeinen BugWahn heraus?
+
+den Kopf schuettelnd...
+    Snibril
+
+-----------------------------------------------------------------------------
+
+
+
+Re: geisterschloss ausgang (Gundur, 26. Aug 1998, 09:56:02):
+~#! rn=Snibril rt=904114041 rg=d.ebene
+~#! tid=904114041
+Kein uebereifriger...
+Darum..
+Ja aus wichtigem Grund..
+Nicht aus Bugwahn...
+
+mit dem Kopf nickend..
+Gundur
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: geisterschloss ausgang (Anatol, 26. Aug 1998, 14:05:26):
+~#! rn=Gundur rt=904118162 rg=d.ebene
+~#! tid=904114041
+Nichts als ein vergeblicher Versuch.
+
+Anatol
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: geisterschloss ausgang (Ringor, 27. Aug 1998, 15:04:23):
+~#! rn=Anatol rt=904133126 rg=d.ebene
+~#! tid=904114041
+So vergeblich war der Versuch auch nicht. 
+
+Der Einzige, der das ausgenutzt hat, kennt die anderen Moeglichkeiten nicht.
+Und die, die die anderen Stellen kennen, kaemen niemals auf die Idee, so eine
+kranke Methode ernsthaft auszunutzen. ;-)
+
+Ringor
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: geisterschloss ausgang (Patryn,  2. Sep 1998, 09:47:50):
+~#! rn=Ringor rt=904223063 rg=d.ebene
+~#! tid=904114041
+haust du deine monster etwa schneller um, als in 4 stunden? :)
+
+------
+patryn hat sich auch an den kopp geklatscht
+
+-----------------------------------------------------------------------------
+
+
+
+D-Burg (Gundur,  7. Sep 1998, 12:30:35):
+Hi
+Wie ihr ja alle nicht wisst kuemmer ich mich nun um die Daemonenburg und so
+Sachen..
+D.h. hab ich gleich mal ne klitzekleine Erweiterung eingebaut..die eh nur die
+Kaempfer interessiert denk ich..
+Gruss und frohes sterben
+Gundur
+
+-----------------------------------------------------------------------------
+
+
+
+duncton(weiblich) (Gundur,  9. Sep 1998, 11:07:04):
+Hi
+Falls jemand in letzter Zeit schwierigkeiten hat die weibl. Dunctonversion zu
+spielen..
+Jetzt geht sie wieder.
+Gruss
+Gundur
+
+-----------------------------------------------------------------------------
+
+
+
+Auge des Teufels (Ark, 30. Okt 1998, 17:35:26):
+Tja, aufgrund des neuen Put_and_Get ist es erstmal nicht moeglich, die Quest
+zu spielen (Maus). Bis da alles geklaert wird, braucht man also deshalb nicht
+ins Haus. Metzeln geht noch weiterhin, nur das Bestehen ist nicht moeglich.
+Bedauernd ...
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Der Winter kommt in den Grimmswald ... (Ark,  2. Nov 1998, 22:42:20):
+Hm, als Warnung: In der Parawelt rund ums Haus von Vincent Klopek hat sich was
+getan. Es sieht dort ein klein wenig anders aus. Dort wird hoffentlich einmal
+die Fortsetzung spielen, soweit schon mal als Ankuendigung.
+Mit eisigem Gruss ...
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Der Winter kommt in den Grimmswald ... (Ark,  2. Nov 1998, 22:43:00):
+~#! rn=Ark rt=910046540 rg=d.ebene
+~#! tid=910046540
+Hm, streiche 'klein' :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Auge des Teufels (Ark,  2. Nov 1998, 22:44:53):
+~#! rn=Ark rt=909768926 rg=d.ebene
+~#! tid=909768926
+So, geht jetzt wieder.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Raetselstein (Ark, 24. Nov 1998, 20:39:38):
+So, ich habe mal ein paar Meldungen in die Quest eingebaut, damit nicht immer
+kommt: Etwas Geheimnisvolles und Unbekanntes hat gerade ...
+Aber bitte: jetzt nicht mit Sterbetesties durchlaufen, das gibt sich schon
+irgendwann.
+Irgendwie hoffe ich, dass letzter Aufruf nicht umsonst ist :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Raetselstein (Anatol, 24. Nov 1998, 20:40:12):
+~#! rn=Ark rt=911939978 rg=d.ebene
+~#! tid=911939978
+Hast Du die Quest dann auch debuggt? :)
+
+Findet DAS viel wichtiger,
+Anatol :o)
+
+
+-----------------------------------------------------------------------------
+
+
+
+4gw und wildrose (Cymonk,  2. Feb 1999, 22:05:31):
+halloechen,
+
+nur damit ihr bescheid wisst und euch nicht unnuetz wundert,
+die 4gw turnierhalle und die wildrose sind temporaer abgehaengt.
+
+cy
+
+-----------------------------------------------------------------------------
+
+
+
+Brot (Zardoz,  2. Mar 1999, 17:14:49):
+Das Brot ist debuggt, aber das geht ja eh nur Zwerge was an...
+
+Ciao Zardoz
+
+-----------------------------------------------------------------------------
+
+
+
+Brot (Bendeigid,  3. Mar 1999, 11:01:25):
+Hm, nun, es gibt da zwar nur Broetchen und kein Brot, aber evtl lohnt sich das
+anschauen ja. Ich hab ein wenig an der Akademiestrasse gemacht, vor allem
+Boden aufgeschuettet und ein paar Baeume gepflanzt. 
+
+Z'par Servu,
+                Bendeigid
+
+P.S.: Erster Toter: Darkwing! Danke fuer die Kerbe ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Baustelle (Shakedbeer, 19. Mar 1999, 15:21:17):
+Hallo!
+
+Soeben ist in Port Vain eine Baustelle angeschlossen worden. Wer Lust hat,
+kann ja mal vorbeischauen. Worum es geht, verrate ich nicht.
+
+Shakedbeer - geht weiter proggen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Baustelle (Asmodis, 21. Mar 1999, 23:28:01):
+~#! rn=Shakedbeer rt=921856877 rg=d.ebene
+~#! tid=921856877
+Hmm, was ist an Baustellen so interessant ?
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Baustelle (Hight,  9. Apr 1999, 22:23:12):
+~#! rn=Shakedbeer rt=921856877 rg=d.ebene
+~#! tid=921856877
+Ich glaube das was da am entstehen is koennte sehr interesant werden 
+
+ein gespannt wartender hight der aus langeweile zeitung liest .o)
+
+-----------------------------------------------------------------------------
+
+
+
+Pandora (Ark, 26. Apr 1999, 22:46:14):
+Und der Boden zittert, bebt und speiet heisse Flammen. Dort, sehet, es tat
+sich auf eine gefaehrliche Spalte, die drohte, alle harmlosen Recken zu
+verschlingen mit Verzweiflung und Wut.
+Denn es war so und fuerderhin ueberliefert, dass dero hart erkaempfte Fluegel
+und Panzer in der gefaehrlichen Quest, die sich "Buechse der Pandora" nannte,
+nach Gutduenken verschwanden, hatten die Ungluecklichen zuviel zu tragen
+dabei. Doch da erschien die Lichtgestalt Wim aus der Spalte, und alle Kaefer
+erzitterten vor seiner heiligen Wut, und er sprach zu ihnen:
+Gestraft muesst ihr werden, denn ihr seid gehaessige Wuermer, mit nichts
+anderem im Sinne, als unschuldigen Abenteurern von der rechtmaessigen
+Belohnung abzuhalten. Der Tod sei euer Schicksal, denn sehet, ich schicke
+meinen ersten Streiter, den Erzengel Ark wider euch Gesocks. Fuerchtet euch
+sehr, denn bis aufs Blut mag er euch bekaempfen, rottig Gezuecht aus
+Magierhand.
+Und so erhob sich ein lautes Wehklagen unter den Kaefern der Quest, denn
+wahrlich, der wack're Streiter der reinen Schrift hatte nicht zuviel
+versprochen, Ark richtete ein Blutbad unter ihnen an. Und so koennen die
+Quester wieder lustig singen und springen, denn nicht umsonst ziehen sie mehr
+in die Lande auf der Suche nach der "Buechse der Pandora".
+
+Habt ihr das verstanden? Hm, Panzer und Fluegel verschwinden jetzt hoffentlich
+nicht mehr sinnlos, wenn man sie nicht mehr tragen kann und mit ihnen
+herumbastelt. War kuerzer, klang aber irgendwie banal, deshalb :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Pandora (Wim, 26. Apr 1999, 22:48:25):
+~#! rn=Ark rt=925159574 rg=d.ebene
+~#! tid=925159574
+Ark hat ganz vergessen, dass er diese Heldentat unter Benutzung von ED
+geleistet hat, wofuer er doch viel eher einen Orden verdient hat...
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Pandora (Anatol, 26. Apr 1999, 22:52:20):
+~#! rn=Ark rt=925159574 rg=d.ebene
+~#! tid=925159574
+Fuerwahr, die Gebete der leid- und fluegeltragenden Abenteurer wurden
+nun von den Bedeutenden dieser Welt erhoert! Was sind, gemessen an der
+Ewigkeit, die vielen Jahre - nennen wir die magische Zahl vier, um der
+Vagheit Einhalt zu gebieten -, die sie haben auf dieses segensreiche
+Wunder des morgendlichen Grauens haben harren muessen?
+
+Anyway, Danke ;)
+
+Anatol
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Pandora (Asmodis, 26. Apr 1999, 22:58:34):
+~#! rn=Wim rt=925159705 rg=d.ebene
+~#! tid=925159574
+Ed war doch seit dem 2. April nicht mehr da :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Pandora (Ark, 26. Apr 1999, 23:38:11):
+~#! rn=Wim rt=925159705 rg=d.ebene
+~#! tid=925159574
+... und es ging unter in dem einsetzenden Jubel, dass der unermuedliche Retter
+murmelte:
+Wehe, oh MorgenGrauen, falls die Brut Kinder hinterliess. Doch zaget nicht,
+auch diese werde ich beseitigen, falls man mich hetzt erneut auf die
+heimtueckische Meute.
+
+Also, falls noch was ist, mich treten :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Pfui Spinne (Rochus, 10. Mai 1999, 18:48:30):
+Falls Euch in einem neuen Bereich der Ebene einige Spinnen
+ueber den Weg laufen solltet, koennt Ihr jetzt entgifte ueben...
+
+  Rochus
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Pfui Spinne (Ark, 11. Mai 1999, 20:39:35):
+~#! rn=Rochus rt=926354910 rg=d.ebene
+~#! tid=926354910
+Aha, man sieht es, Du hast wohl auch mit Begeisterung Baldur's Gate gespielt
+;^)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Pfui Spinne (Novastorm, 12. Mai 1999, 09:29:32):
+~#! rn=Ark rt=926447975 rg=d.ebene
+~#! tid=926354910
+Sieht wirklich so aus... bin gespannt wann Sirenen, fliegende Lindwuermer und
+kuschelige Winterwoelfe angeschlossen werden, vor oder nach den Paladinen/ der
+Diebesgilde ?
+    Nova
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Pfui Spinne (Lena, 12. Mai 1999, 09:33:22):
+~#! rn=Novastorm rt=926494172 rg=d.ebene
+~#! tid=926354910
+Ja, und wenn wir die Entwickler solcher Spiel ganz lieb fragen, ob sie den
+Codse nicht in MG-tauglicher Form schreiben, dann muessen wir ihn nur noch
+kopieren und haben (als Magier) ueberhaupt keine Arbeit mehr, weder tippen,
+noch kreativ sein.
+(Ich kenn weder Baldurs Gate noch die Hoehle, wollts nur mal gesagt haben.)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Pfui Spinne (Rochus, 12. Mai 1999, 13:02:33):
+~#! rn=Lena rt=926494402 rg=d.ebene
+~#! tid=926354910
+Ach, seid doch froh, dass ich den gruenen Schleim noch nicht
+uebernommen habe und die Raeuber noch nicht durch Black Talons
+verstaerkt habe.... NOCH nicht... ;-)
+
+  Rochus
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Pfui Spinne (Anatol, 12. Mai 1999, 13:03:13):
+~#! rn=Rochus rt=926506953 rg=d.ebene
+~#! tid=926354910
+Nehmt Rochus endlich Baldur's Gate ab. SCHNELL! :)
+
+Anatol
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Pfui Spinne (Rochus, 12. Mai 1999, 13:04:31):
+~#! rn=Anatol rt=926506993 rg=d.ebene
+~#! tid=926354910
+PS: Naechste Woche habe ich Tales of the Sword Coast in den Fingern :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Pfui Spinne (Ark, 12. Mai 1999, 20:14:19):
+~#! rn=Novastorm rt=926494172 rg=d.ebene
+~#! tid=926354910
+Winterwoelfe? ... Check 1-1-1
+
+Besser faende ich eine Art Diebesquest wie in und unter der Stadt.
+Hm, noch ein neues Projekt :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Pfui Spinne (Wurzel, 12. Mai 1999, 21:41:48):
+~#! rn=Rochus rt=926506953 rg=d.ebene
+~#! tid=926354910
+gruener schleim? ich kenne baldurs gate nicht, aber das ist ja wohl eine 
+ad&d nachbildung, und da kenne ich gruenen schleim... nette idee, mal sehen
+was sich tun laesst :)
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Pfui Spinne (Boing, 19. Mai 1999, 09:01:45):
+~#! rn=Novastorm rt=926494172 rg=d.ebene
+~#! tid=926354910
+Winterwoelfe gibt's laengst ... geh forschen! :)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Drachenschildkroete (Rochus, 28. Mai 1999, 13:38:38):
+Was das Viech jetzt kann koennt Ihr Euch sicher denken...
+
+-----------------------------------------------------------------------------
+
+
+
+UnTroyer Viggy (Ark,  4. Jun 1999, 22:23:52):
+Hi, der Viggy sollte jetzt nicht mehr in den Raetselstein verschwinden, wenn
+er doch dabei beobachtet wird, dass er es tut, dann halt beschweren.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Winter is coming ... (Ark,  8. Jun 1999, 19:33:26):
+
+----------------------------------------------------------------------------
+Der Winter steht vor der Tuer. Und ja, meine Liebe, er wird uns alle
+fangen, ob gross oder klein, gewitzt oder einfaeltig, die Vorsichtigen
+und Weisen, die Unachtsamen wie die Prahlerischen, keiner wird verschont.
+Doch Du, Emily, weisst, dass unsere kleine, doch stetig wachsende
+Gemeinschaft Dir Schutz und Trost bietet. Greife danach, denn der Winter
+greift nach uns, nicht mehr lange, und er haelt Einzug in unsere Herzen.
+
+Bei Deinem Mann klopfte er bereits an die Tuer, und der Toerichte liess
+ihn ein. Huete Dich, denn sein Herz ist vergiftet, seine Zunge aus kaltem
+Eis. Nur allzu leicht habe ich derlei bereits uebertragen gesehen.
+
+Ein alter Freund von mir, nennen wir ihn der Einfachheit halber Edgar,
+hat dies in seinen zahlreichen visionaeren Schriften bereits geschrieben:
+
+ Spirits Of The Dead
+ -------------------
+
+ Thy soul shall find itself alone
+ 'Mid dark thoughts of the grey tombstone -
+ Not one, of all the crowd, to pry
+ Into thine hour of secrecy.
+
+ Be silent in that solitude
+  Which is not loneliness, for then
+ The spirits of the dead who stood
+  In life before thee are again
+ In death around thee, and their will
+ Shall overshadow thee: be still.
+
+ The night, tho' clear, shall frown,
+ And the stars shall not look down
+ From their high thrones in the Heaven
+ With light like Hope to mortals given.
+
+
+Und so, liebe Emily, werde ich Dich sicher bald verlassen, doch nur Deines
+zornigen Mannes willen, ich weile nicht weit entfernt von Euch, meine
+Schuelerin. Ihr werdet mich eines Tages finden, dessen bin ich gewiss,
+und dann nehme ich Euch bei uns auf, denn der Winter kommt, er ist nahe ...
+
+                           . o 0 Klumpfuss 0 o .
+____________________________________________________________________________
+
+
+Diesen Zettel mit der eigenartigen und fast unleserlichen Schrift fand ich
+im Schnee vor einem Haus im Grimmswald. Das beunruhigte mich doch sehr.
+Vielleicht finden sich ja ein paar - einer alleine ist da sicherlich recht
+ueberfordert - Wagemutige, die dem Raetsel auf den Grund gehen.
+
+Das Schlimmste befuerchtend gruesst Euch ...
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+... (Ark,  8. Jun 1999, 19:33:54):
+
+So, das waere mal wieder geschafft. Diese "Mini"-Quest, die ich jetzt
+fertiggestellt habe, spielt in der Parawelt und ist bereits der erste
+Teil der Fortsetzung vom "Auge des Teufels". Es ist also durchaus nicht
+schlimm, wenn Euch an der einen oder anderen Stelle einiges komisch,
+unerklaerlich oder sinnlos vorkommt, das wird dann vielleicht erst in
+der richtigen Quest relevant. "Mini" ist die Quest hier uebrigens nur dem
+Titel nach, Belohnung gibt es hier reichlich.
+
+Aus storytechnischen Gruenden ist das Haus in der Parawelt nur betretbar,
+wenn man die Quest "Das Auge des Teufels" bestanden hat. Meckern und
+stoehnen bringt nix, das wird sich nicht aendern, sag' ich mal gleich.
+Fuer die Parawelt mach ich halt nicht nur irgendwelche Monster, bei denen
+mir bei den Werten die '0'-Taste zu klemmen beginnt ;^P
+
+Ausserdem, wer die Quest doof fand oder nur mit KL durchrauschte, wird
+sich auch an diesem Abschnitt nicht erfreuen koennen, denn ja, es ist mal
+wieder alles gefragt: Neugier, Vorsicht, Wagemut, Ausdauer, Kombinations-
+faehigkeit (angesichts meines etwas wabernden Verstandes :-) ), und Metzel-
+freude *hihi*
+
+Jo klar, es sind wieder doofe/fiese/gemeine/hinterhaeltige/toedliche
+Fallen dabei, dafuer wird der weibliche Artikel nur selten als Funktion
+missbraucht *oehem*
+
+So, genug geschwaetzt, macht Euch halt auf in die Schlacht. Verzeiht, wenn
+ich jetzt die Werbetrommel so heftig schlage, aber sonst bemerkt das Gebiet
+kaum einer :-)
+
+Achso, haette ich fast vergessen. Nachdem hier und da Unmut aufkam, dass
+das "Auge des Teufels" wirklich nur fuer einen Solospieler gedacht war,
+gilt hier eher das Gegenteil. Ab und an kommt man schneller voran, wenn
+man zumindest zu zweit ist, nicht nur, was das Metzeln betrifft. Auch die
+Nachfolgequest wird 'ne Zweispielerquest, versprochen. Fertigstellung: hm,
+vielleicht gleichzeitig mit der Erscheinung von Windows 2000 oder dem
+Anschluss von Taramis *haha*
+
+Viel Glueck und Spass wuenscht
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Winter is coming ... (Wim,  8. Jun 1999, 22:39:27):
+~#! rn=Ark rt=928863206 rg=d.ebene
+~#! tid=928863206
+Wenn ich daran erinnern darf, ich suchte verzweifelt Tester dafuer... Hat sich
+irgendwie niemand getraut :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Winter is coming ... (Anacrion,  8. Jun 1999, 22:39:49):
+~#! rn=Wim rt=928874367 rg=d.ebene
+~#! tid=928863206
+Alles Weicheier ;)
+
+anac*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Winter is coming ... (Lena, 22. Jun 1999, 11:31:53):
+~#! rn=Anacrion rt=928874389 rg=d.ebene
+~#! tid=928863206
+Ich war ne Zeit nicht da...
+Ist die schon angehaengt?
+Werden Tode beim testen mitberuecksichtigt? Werden die AP gezaehlt?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Winter is coming ... (Ark, 23. Jun 1999, 21:42:00):
+~#! rn=Lena rt=930043913 rg=d.ebene
+~#! tid=928863206
+Ja, nix testen, alles live, nix AP, nur Stupse. Bilanz bisher: Geschafft hat's
+keiner, draufgegangen sind, aeh ... hm, I don't keep a headcount :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Winter is coming ... (Wim, 23. Jun 1999, 21:42:35):
+~#! rn=Ark rt=930166920 rg=d.ebene
+~#! tid=928863206
+> aeh ... hm, I don't keep a headcount :-)
+
+THIS I do not believe :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Winter is coming ... (Ark, 23. Jun 1999, 22:25:00):
+~#! rn=Wim rt=930166955 rg=d.ebene
+~#! tid=928863206
+Is aba so, grep mal durch meine Verzeichnisse (ein Anschauen reicht) :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Winter is coming ... (Wim, 23. Jun 1999, 22:26:35):
+~#! rn=Ark rt=930169500 rg=d.ebene
+~#! tid=928863206
+grep -c ark KILLS
+8
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Winter is coming ... (Ark, 23. Jun 1999, 22:45:00):
+~#! rn=Wim rt=930169595 rg=d.ebene
+~#! tid=928863206
+Ich meinte damit, dass ich nicht mitlogge, wenn Spieler X mein
+hachsogefaehrliches Monster Y umhaut oder umgekehrt. Das Kill-Log schau ich
+mir natuerlich ab und an an *aehem* :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Winter is coming ... (Wim, 23. Jun 1999, 22:55:27):
+~#! rn=Wim rt=930166955 rg=d.ebene
+~#! tid=928863206
+Gegenbeweis:
+> aeh ... hm, I don't keep a headcount :-)
+
+Ark sagt: wieder ein kill missing :)
+Ark sagt: sowas aber auch
+Ark sagt: dabei log ich vielleicht doch alles mit und muell die platte zu :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Winter is coming ... (Ark, 23. Jun 1999, 22:55:53):
+~#! rn=Wim rt=930171327 rg=d.ebene
+~#! tid=928863206
+Fies, baeh, bloed, bum, knall ...
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Zeitvertreib (Tiamak,  5. Jul 1999, 15:42:52):
+Du gehoerst auch zu den Muddern, die jederzeit aufhoeren koennten, aber
+trotzdem jeden Tag im Mud sind?
+
+Du hast eigentlich hundert andere Sachen zu tun, aber irgendwie trotzdem
+zwischendurch mal Langeweile?
+
+Du spielst gerne Brettspiele, findest aber selten genug Mitspieler?
+
+Vier gewinnt ist Dir zu simpel, Schach zu langwierig?
+
+Hier ist die Loesung: Abalone!
+
+Ab sofort erhaeltlich in einem gut sortierten Laden in Port Vain!
+
+
+i.A. Tiamak,
+Spielwarenvertreter
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Zeitvertreib (Morgoth,  6. Jul 1999, 07:43:01):
+~#! rn=Tiamak rt=931182172 rg=d.ebene
+~#! tid=931182172
+Hey, Du sollst keinen Schickschnack proggen. Du weisst was auf Deine
+ToDo-Liste ganz oben stehen sollte?
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Zeitvertreib (Gnome,  6. Jul 1999, 09:15:58):
+~#! rn=Morgoth rt=931239781 rg=d.ebene
+~#! tid=931182172
+deine gebiete debuggen? ]:->
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Zeitvertreib (Tiamak,  6. Jul 1999, 10:27:43):
+~#! rn=Morgoth rt=931239781 rg=d.ebene
+~#! tid=931182172
+Ja. Ein intelligenter MPA-Filter, der Artikel wie Deine herausfiltert.
+
+Die Nachfrage waere gigantisch.
+
+Tiamak
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Zeitvertreib (Teddy,  6. Jul 1999, 18:17:03):
+~#! rn=Tiamak rt=931249663 rg=d.ebene
+~#! tid=931182172
+Dafuer.
+
+Teddy, bestellt schonmal 2 Exemplare, eins in Reserve.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Zeitvertreib (Tiamak,  9. Jul 1999, 22:43:34):
+~#! rn=Tiamak rt=931182172 rg=d.ebene
+~#! tid=931182172
+Der Spielehersteller hat auf die zahlreichen Zuschriften seiner Kunden
+reagiert und von seinen Skl^H^H^HMitarbeitern eine neue Auflage anfertigen
+lassen.
+
+Die - natuerlich handgefertigten - Exemplare sind jetzt noch bunter, groesser,
+schneller, schoener, besser. Schliesslich sind wir immer bemueht, die Wuensche
+unserer zahlenden Kunden zu erfuellen.
+
+i.A. Tiamak,
+Spielwarenvertreter
+
+P.S: neue Exemplare gibt's automatisch nach "schlafe ein"
+
+-----------------------------------------------------------------------------
+
+
+
+Memmen :-) -> deshalb noch mehr Anreiz (Ark,  2. Aug 1999, 21:20:32):
+Okokok. Das ist ja laecherlich :-) Hat es bisher nur der geschafft, die
+Miniquest zu loesen, der sie auch getestet hat? Bin ich mies? Rieche ich? Habe
+ich Euch beleidigt?
+Okokok. Mal abgesehen davon spendiere ich jetzt dem/der, der sie als Erste/r
+schafft, einen Liter dunkles Zwergenbier, hm, wahlweise auch zwei Liter Milch
+... oder Cola ... oder Kiba ... oder Tomatensaft ... oder ...
+Okokok. Enttaeuscht mich jetzt net :-) Ihr wisst sicher, wovon ich spreche,
+oder ? Wenn nicht, weiter MPA lesen.
+
+Wieder mal rege die Werbetrommel reibend ...
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+geschaeft ist geschaeft (Wurzel,  9. Aug 1999, 19:26:12):
+wegen des anhaltend guten umsatzes hat erna siebenscheich es geschafft,
+genug kapital zur erweiterung ihres geschaefts zusammenzukratzen. die
+urspruengliche idee, ihr bestehendes haus zu erweitern, musste sie allerdings
+aufgeben, da die grundmauern weiteres gewicht nicht ausgehalten haetten.
+aus dieser situation heraus wurde ein kuehner plan geboren: ein hotel in
+der grossen stadt sollte es sein! nach langer bauzeit ist es endlich soweit,
+und ab heute ist der geschaeftsbetrieb eroeffnet. betrieben wird das hotel
+von ernas tochter, die genug vom abenteurerleben hatte.
+da die grundstueckspreise in port vain hoeher sind als in anderen staedten,
+mussten die preise etwas angepasst werden. aber das sollte nicht schrecken,
+da auch die ausstattung der zimmer verbessert wurde...
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Spinnen (Rochus, 30. Aug 1999, 16:03:36):
+Das Spinnental ist voruebergehend wegen Ueberarbeitung
+nicht erreichbar. Ich rechne mit ca. 4-6 Wochen.
+
+  Rochus
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Spinnen (Isnogood,  1. Sep 1999, 23:04:46):
+~#! rn=Rochus rt=936029016 rg=d.ebene
+~#! tid=936029016
+Waer keinem aufgefallen ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Kleine Klarstellung (Ark,  5. Okt 1999, 20:30:09):
+Hi, das ominoese Buch, das einigen in der Galerie aufgefallen sein wird, ist
+bis auf weiteres verschwunden. Noch kann keiner sagen, ob, und wann es wieder
+auftauchen wird, doch meine Assistenten arbeiten daran. Offenbar hat sein
+Erscheinen fuer Beunruhigung gesorgt. Sicherlich wird es dem MorgenGrauen
+nicht fuer immer verborgen bleiben, und so harren wir erst einmal weiter auf
+die Dinge, die da kommen werden.
+
+Klar wie Klossbruehe, oder? :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Augsburger Puppenkiste meets MorgenGrauen (Ark, 29. Nov 1999, 23:29:14):
+
+Iakuralea betrachtete den hageren alten Mann vor ihr und beschloss, dass
+ihr die Miene nicht gefiel:
+'Alexis, Du hast uns wirklich koestlichst unterhalten, doch wir koennen
+ Dir nicht geben, was Du "Gold" oder "Geld" nennst, ganz einfach weil wir
+ es nicht kennen ...'
+Erschreckt sirrte sie etwas zurueck, als sich das Antlitz des Gauklers zu
+verfinstern begann.
+'Ihr verfluchten Drecksbienen, ihr luegt, ihr luegt ...
+ Irgendetwas von Wert muesst ihr doch haben, ich ziehe doch nicht ganz zum
+ Spass umher, verdammt, VERDAMMT !'
+Das Geschrei des Mannes nahm beangstigende Formen an, er gestikulierte
+wild in der Gegend herum und zeigte immer wieder beschuldigend auf sie,
+ausgerechnet sie, Iakuralea, die doch so wenig dafuer tat, dass sich der
+Puppenspieler aufregen musste, sie, die sie beschwichtigend auf ihn einge-
+redet hatte, wie es ihr Amt als Fir'anaidha der Feen vorschrieb.
+Der Frieden, das allererste Gebot der Feen, war hier ernsthaft in Gefahr,
+Iakuralea sah bereits, wie sich die Stimmung bedrohlich gegen den alten
+Mann aufzuheizen schien. Er schien sich dessen gar nicht bewusst zu sein,
+immer weiter geiferte er gegen ihr Volk, beschimpfte es, drohte und wurde
+dabei immer unmoeglicher.
+Schon sah sie aus den Augenwinkeln, wie die sonst zarten Wangen Tilainas
+zu gluehen begannen, ein gefaehrliches Rosa war das, was sich im Gesicht der
+Ter'anaidha, der ergebenen Zauberin der Feen, abzeichnete.
+Als die Stimmung ueberzuschwappen drohte, wusste Iakuralea, dass sie nun
+unbedingt eingreifen musste. Doch ein schuechternes Stimmchen kam ihr zu-
+vor. Es gehoerte Ainundhala, der kleinen Schuelerin Tilainas.
+'Verehrter Alexis, Eure Muehen sollen nicht umsonst gewesen sein. Doch Ihr
+ muesst wissen, dass wir Euch nicht in "Gold" oder "Geld" entlohnen koennen.
+ Allerdings habe ich gehoert, dass in Eurer Welt die Magie nicht zum Alltag
+ gehoert wie bei uns. Dinge, die mit ihr zu tun haben, werden in grossem
+ Ansehen gehalten, ist das richtig ?'
+Der alte Mann verstummte und sah sie muerrisch und misstrauisch an. Auch
+der Ausdruck der Ter'anaidha hatte sich wieder etwas entspannt, zur immensen
+Erleichterung Iakuraleas. Tilaina war offensichtlich gespannt, wie ihre
+junge Schuelerin diese prekaere Situation meistern wollte.
+Der schmutzige Mensch kratzte sich am Kopf:
+'Also, was willst Du damit jetzt sagen, he ?'
+Laechelnd zog Ainundhala einen kleinen Holzstab hervor, flog vor den Mann
+und legte das Holzstueck zu seinen Fuessen nieder.
+'Es ist etwas, was Euch Eure Arbeit nicht nur erleichtern kann, sondern
+ sogar zur Perfektion bringt.'
+Missmutig blickte Alexis auf den einfachen Stab.
+'Ist das jetzt ein bloeder Trick von Euch oder was ? Wollt ihr mich jetzt
+ als Dank verhexen oder was ?'
+Wieder verdunkelte sich das Gesicht des Gauklers.
+'Weit gefehlt, Mensch !'
+Die herrische Stimme der Ter'anaidha durchschnitt die aengstliche Zurueck-
+haltung der uebrigen Feen, die sich hier auf der Lichtung versammelt hatten,
+um dem Menschen bei seiner Auffuehrung zuzusehen. Iakuralea sah, wie die
+Hofzauberin vor den Puppenspieler flog. Sie hatte zweifelsohne den Holzstab
+von Ainundhala erkannt und war dabei, die Situation nun in ihre eigenen
+Haende zu nehmen.
+'Dieser Stab wird Euch gute Dienste erweisen, denn er verwandelt nicht nur
+ lebende Wesen zu Puppen, sondern erhaelt auch noch ihre Natur, so dass sie
+ auch weiterhin lebensecht wirken.'
+Spekulierend sah Tilaina den kritisch dreinblickenden Menschen an:
+'Was meint Ihr, wie Eure Zuschauer erst in den Bann gezogen werden, wenn sie
+ derartig perfekte Puppen sehen ? Nie mehr wieder muesst Ihr sie selbst er-
+ schaffen, nie wieder werden sie durch irgendeine Nachlaessigkeit zerstoert.
+ Denkt daran, Ihr muesst nur eine Person damit beruehren, schon wird sie zu
+ Eurem Werkzeug. So solltet Ihr uns also dankbar sein, anstatt hier wuest
+ herumzuschreien. Nun, nehmt Ihr das Geschenk an ?'
+Es entstand eine lange Pause, in der sich die Stirn von Alexis in tiefe
+Falten legte. Scheinbar versuchte er, den Wert des Stabes zu kalkulieren.
+Seufzend blickte die Fir'anaidha beiseite. Sie kannte die Macht des Stabes,
+den Ainundhala als Uebung in ihrer Ausbildung bei der Ter'anaidha erschuf.
+Er wuerde unter der Herrschaft des alten Mannes sicher fuer Unmut unter den
+Menschen sorgen. Andererseits war sichergestellt, dass er nach dessen Tod
+wieder zu Tilaina zurueckkehren wuerde. Nunja, wenn das der Preis war, dass
+der unmoegliche alte Mann die Feen unbehelligt liess, wuerde sie, Iakuralea,
+es gutheissen.
+Nach einer Weile erhellte sich die Miene des alten Mannes. Er grinste:
+'Ich akzeptiere das Geschenk ...'
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Dangge schoen ... (Ark, 29. Nov 1999, 23:29:52):
+
+So, jetzt habt ihr wieder mal den Salat, eine neue Quest.
+Leider lasse ich nach, hier werdet ihr es sehr schwer haben,
+zu sterben. Hier geht es um Fragen und Forschen. Aber noch
+ist nicht aller Tage abend :-)
+
+Fuer das Bestehen der Quest ist eine miterlebte Auffuehrung
+in Port Vain oder dem Elfendorf nicht relevant, hilfreich
+allerdings vielleicht schon.
+
+Noch ein Kommentar zum Einschlafen und Ende:
+Einschlafen funktioniert wie normal, nur in den Sequenzen wird
+der, der die Leitung verliert, an einer anderen Stelle wieder
+aufwachen.
+Ende in der Quest bedeutet, dass die Sachen des Spielers auch
+an einer anderen Stelle liegen, wo sie logischerweise halt
+hingehoeren.
+
+Noch ein Hinweis (keine Abschreckung!):
+Da erfahrungsgemaess am Anfang immer ein hoeheres Gedraenge
+herrscht als nach einem Monat oder so, kann es schon mal zu
+Ausbruechen an Scroll im Bild kommen :-)
+Wen das ankotzt, einfach die Quest spaeter machen.
+
+Dank geht an folgende Tester:
+Zook, Morgonate, Calimera und Anacrion.
+
+Ich wuensche viel Spass.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Augsburger Puppenkiste meets MorgenGrauen (Lug, 30. Nov 1999, 23:30:37):
+~#! rn=Ark rt=943914554 rg=d.ebene
+~#! tid=943914554
+
+Kann man die daemliche Labertasche, welche in PV erscheint jetzt wenigstens
+killen?
+
+Lieb
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Dangge schoen ... (Lyra,  1. Dez 1999, 14:33:42):
+~#! rn=Ark rt=943914592 rg=d.ebene
+~#! tid=943914592
+Wat soll den dat?
+vor der Quest fehlten mir nur 7 APs zum Aufstieg in der Gilde. Bevor Muradhs
+Turm kam, brauhte ich keine zusaetzlichen APs.
+Wollt Ihr uns zum Questen zwingen?
+
+Lyra die (naja) Todesmaschine
+
+PS: Aehm, ich glaube, ich habe irgendwo ein <ironie on> und ein <ironie off>
+vergessen *gruebel*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Dangge schoen ... (Wurzel,  2. Dez 1999, 21:22:25):
+~#! rn=Lyra rt=944055222 rg=d.ebene
+~#! tid=943914592
+bei einer so schoenen questankuendigung sollte euch eigentlich der appetit
+wieder kommen, sowas durchzuspielen. ich finde es jedenfalls genial, wie ark
+das macht... aeh, wann kommt die naechste? :)
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Dangge schoen ... (Ark,  2. Dez 1999, 21:32:05):
+~#! rn=Wurzel rt=944166145 rg=d.ebene
+~#! tid=943914592
+Leider erst nach Windows 2000, denn da bin ich wieder der Alte, Spieler
+toeten, Kills sammeln und so. Das heisst, wenn ich bis dahin noch lebe :-)
+Achso, was ich noch loswerden wollte: Wurzel, Du Schleimer :) Muesstest
+eigentlich Zook anhimmeln, er ist doch jetzt Questobermacker.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Dangge schoen ... (Wim,  2. Dez 1999, 22:27:31):
+~#! rn=Ark rt=944166725 rg=d.ebene
+~#! tid=943914592
+Jaja, in dieser Quest laesst Du Boing ja gnaediger Weise fuer Dich Kerben.
+(Ein Insider, vielleicht findet ihr ja raus, was ich meine)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Dangge schoen ... (Jamalski,  7. Dez 1999, 15:08:43):
+~#! rn=Wurzel rt=944166145 rg=d.ebene
+~#! tid=943914592
+Vielleicht war das auch eine Quest eines Magier der so krank ist, dass man
+dort AP verliert!
+
+Jamalski, in keine bestimmte Richtung schielend
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Dangge schoen ... (Ark,  7. Dez 1999, 21:04:54):
+~#! rn=Ark rt=944166725 rg=d.ebene
+~#! tid=943914592
+He, das waere ne Idee ... aber da hat wohl Balance was dagegen, oder? :)
+Genauso gut kam uebrigens ne schuechterne Anfrage an, wie das zu bewerten sei,
+wenn man den Spieler am Ende der Quest aus dramaturgischen Beweggruenden hopps
+gehen laesst. Naja, wird wohl auch nix, schade :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Dangge schoen ... (Silvana,  7. Dez 1999, 21:54:52):
+~#! rn=Ark rt=944597094 rg=d.ebene
+~#! tid=943914592
+Wie? Man darf Spieler am Questende nicht sterben lassen?
+Ich muss wohl noch mal mit Zook reden... ;-)
+
+  Silvana (sieht sich mal wieder alles umprogrammieren)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Dangge schoen ... (Ark,  7. Dez 1999, 22:11:58):
+~#! rn=Silvana rt=944600092 rg=d.ebene
+~#! tid=943914592
+Hm, das war nur eine Meinungsumfrage unter einer Spielerin. Ich darf
+hinzufuegen, dass ich das schon relativ ernst nehme. Kann mir schon
+vorstellen, dass sowas ein Heidiho geben wuerde. Gut, dass ich sowas nicht
+entscheiden muss. Ihr Angeklagter, Zook ...
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Dangge schoen ... (Ark,  7. Dez 1999, 22:14:56):
+~#! rn=Ark rt=943914592 rg=d.ebene
+~#! tid=943914592
+Hm, 141 Spieler in einer Woche. Ich glaube, das war zu leicht :-)
+Gelobe Verschlimmbesserung ...
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Dangge schoen ... (Lug,  8. Dez 1999, 00:56:39):
+~#! rn=Ark rt=944601296 rg=d.ebene
+~#! tid=943914592
+
+Hm,
+
+seit wann spricht was dagegen, Spieler am Ende der Quest umzubringen? Wenns
+vorher klar ist, dann ist es doch voellig legitim.
+
+Luschenhaufen
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Dangge schoen ... (Nonne,  8. Dez 1999, 09:14:10):
+~#! rn=Lug rt=944610999 rg=d.ebene
+~#! tid=943914592
+Dann wuerde ich aber vorschlagen, die Quest optional zu machen, sonst gibts
+auf jeden Fall einen Aufruhr. Dann werden die Magier entmachtet und die Seher
+uebernehmen das MG, man stelle sich das mal vor...
+
+Nonne, will seine Macht behalten.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Dangge schoen ... (Zook,  8. Dez 1999, 14:54:25):
+~#! rn=Nonne rt=944640850 rg=d.ebene
+~#! tid=943914592
+Zook lehnt sich entspannt zurueck und wartet mal was so geproggt wird... ;)))
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Dangge schoen ... (Ark,  8. Dez 1999, 22:41:38):
+~#! rn=Zook rt=944661265 rg=d.ebene
+~#! tid=943914592
+Hm, wenn ich das mal recht interpretiere, heisst das: ja, aber ...
+
+Cool, dann mache ich mir viel Arbeit fuer Wenige, aber das waere es wert. Wer
+hier nicht sterben will, ist eh fehl am Platz (starker Tobak, was? :-) ).
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Dangge schoen ... (Zook,  8. Dez 1999, 22:45:05):
+~#! rn=Ark rt=944689298 rg=d.ebene
+~#! tid=943914592
+Hau rein, Ark! ;)
+
+Grinsend, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Dangge schoen ... (Silvana,  8. Dez 1999, 22:48:21):
+~#! rn=Zook rt=944689505 rg=d.ebene
+~#! tid=943914592
+Ich weiss gar nicht, was ihr wollt... Wir haben sogar ne Quest fuer die muss
+man sterben, um sie zu beginnen. Wieso also nicht eine, fuer die mal sterben
+muss, um sie zu bestehen...?
+
+  Silvana (mal spielerfreundlich)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Dangge schoen ... (Lug,  8. Dez 1999, 23:56:53):
+~#! rn=Nonne rt=944640850 rg=d.ebene
+~#! tid=943914592
+
+Dafuer.
+
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Dangge schoen ... (Bambi,  9. Dez 1999, 11:10:34):
+~#! rn=Nonne rt=944640850 rg=d.ebene
+~#! tid=943914592
+wenn man aus chaos austreten will, stirbt man auch.
+Wieso regt sich darueber keiner auf?
+Am Ende der Quest koennte man ja fake-sterben. Das waer ein Kompromiss, wenns
+zur Quest passt, ueberhaupt zu sterben.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Dangge schoen ... (Deepblue,  9. Dez 1999, 12:18:53):
+~#! rn=Bambi rt=944734234 rg=d.ebene
+~#! tid=943914592
+Jo, lasst einem das Inventar und dann iss alles gut
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Dangge schoen ... (Jamalski,  9. Dez 1999, 13:33:50):
+~#! rn=Zook rt=944689505 rg=d.ebene
+~#! tid=943914592
+Ich bin auch dafuer!
+nach der Aussage eines Magiers, dass man erst dann vollwertig ist, wenn man
+100 onlinestunden und mind. 50 Tode hat gehoert doch jeder Freitod
+mitgenommen.
+Irgendwie muss man ja seine Statussymbole auch anders anhaeufen als ein Key ;)
+
+Jamalski: auch sinnloses Sterben bringt fame...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Dangge schoen ... (Jamalski,  9. Dez 1999, 13:37:37):
+~#! rn=Bambi rt=944734234 rg=d.ebene
+~#! tid=943914592
+Wenn man ins Chaos Ein + Austritt muss man sterben. (sollte man zumindest) 
+Fuer das Eintreten kann ich das verstehen. mMan muss ja seine verschmutzte
+Huelle fuer die Reinheit des Chaos aufgeben. (Echte Chaoten werden sich an die
+'wIdergeburt' erinnern)
+Beim Austritt moechte ich das mal grundsaetzlich Chaotenwillkuer nennen, also
+bei genauer ueberlegung auch ein sehr triftiger Grund!!!
+Jamalski, sich jeder Zeit fuer Kruuolq opfernd, aber auch auf den Killstups
+schielend.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Dangge schoen ... (Anakin, 10. Dez 1999, 14:28:19):
+~#! rn=Jamalski rt=944743057 rg=d.ebene
+~#! tid=943914592
+
+Naja ganz frueher zu Beginn der Chaosgilde ist man ja heftigst
+an den Erhoehungskaempfen in der Arena gestorben, Zardoz das Weichei
+hat das ja vereinfacht.
+
+Anakin.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Dangge schoen ... (Puk, 13. Dez 1999, 10:49:39):
+~#! rn=Bambi rt=944734234 rg=d.ebene
+~#! tid=943914592
+das ist auch nur gerechtfertigt
+wer das chaos verlsst und _nur_ einen tod abbekommt hat glueck gehabt :)
+und zudem ist es auch noch (leider) nur fake
+
+Puk (weicheier raus aus dem chaos und ab zu den Betschwestern)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Dangge schoen ... (Jamalski, 13. Dez 1999, 13:01:30):
+~#! rn=Puk rt=945078579 rg=d.ebene
+~#! tid=943914592
+argl Puk!
+Es ist doch echt nicht schoen, wenn Du alles in die MPA postest!
+Da geht doch der ganze Ruf floeten und unsere Mags muessen wieder und wieder
+die Balance ect bestechen, damit mal was durchkommt, was nicht nur 'ein fake'
+ist!
+Du verraetst bestimmt auch Zaubersprueche und erzaehlst Deinen Kindern am
+25.12. das der Kerl gestern nicht der Weihnachtsmann, sondern ein bezahlter
+BWL_Student war... :I
+
+Wozu haben Gilden denn ihre eigenen Kanaele...
+
+Jamalski, (Fake)Sterbe-Fan!
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Dangge schoen ... (Yendi, 13. Dez 1999, 15:05:33):
+~#! rn=Jamalski rt=945086490 rg=d.ebene
+~#! tid=943914592
+Weihnachtsmaenner sind Soziologie- oder Geschichtsstudenten,
+die BWLer sind Aktienspekulanten.
+
+YTY    ->schmarrn
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Dangge schoen ... (Bierchen, 13. Dez 1999, 22:38:05):
+~#! rn=Jamalski rt=945086490 rg=d.ebene
+~#! tid=943914592
+Oha,
+und sowas von unseren "top"-chaoten!? Schande ueber Euch! Ich schlage Euch
+vor, aus dieser Gilde auszutreten, und dann Eure Aussagen erneut zu
+ueberpruefen! Verdammt, ist das peinlich! Fuer deratige Geruechte solltet ihr
+eigentlich abgestuft werden. Mindestens auf Gildenlevel -666!
+ - Bierchen -
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Dangge schoen ... (Teddy, 14. Dez 1999, 17:10:49):
+~#! rn=Puk rt=945078579 rg=d.ebene
+~#! tid=943914592
+Bist du GANZ sicher, das es nur ein Fake ist?
+Hast du es selbst schon getestet?
+
+Teddy, hatte da gewise Todesfolgen nach dem Test.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Dangge schoen ... (Teddy, 14. Dez 1999, 17:11:49):
+~#! rn=Jamalski rt=945086490 rg=d.ebene
+~#! tid=943914592
+Du verraetst bestimmt auch Zaubersprueche und erzaehlst Deinen Kindern am   
+25.12. das der Kerl gestern nicht der Weihnachtsmann, sondern ein bezahlter 
+BWL_Student war... :I                                                       
+
+
+Selbstverstaendlich!!!
+Wozu ist man denn Chaot, wenn man nichtmal die eigenen Kinder taeglich mit
+Grausamkeiten quaelt.
+
+Teddy, boesartig, gemein und seit neuestem HART! ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Dangge schoen ... (Lug, 14. Dez 1999, 23:14:38):
+~#! rn=Teddy rt=945187909 rg=d.ebene
+~#! tid=943914592
+Hm,
+
+Dauerlatte, Teddy?
+
+Tss tss
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Dangge schoen ... (Ender, 15. Dez 1999, 08:19:35):
+~#! rn=Teddy rt=945187909 rg=d.ebene
+~#! tid=943914592
+Teddy nimmt Viagra.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Dangge schoen ... (Teddy, 15. Dez 1999, 18:30:29):
+~#! rn=Lug rt=945209678 rg=d.ebene
+~#! tid=943914592
+Keine Ahnung, die Aussage stammt von Una, nicht von mir.
+
+Teddy
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Dangge schoen ... (Lug, 16. Dez 1999, 01:27:09):
+~#! rn=Teddy rt=945279029 rg=d.ebene
+~#! tid=943914592
+
+Bezeichnend.
+
+Seher
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Dangge schoen ... (Stopdenbus, 25. Dez 1999, 22:00:35):
+~#! rn=Anakin rt=944832499 rg=d.ebene
+~#! tid=943914592
+achja, das war noch toll, damals wurde man noch gefordert !
+Stoppi erinnert sich noch gut dran, damals mit Bernhard Zardoz's
+chaostestieleiche gepluendert zu haben ...
+
+-----------------------------------------------------------------------------
+
+
+
+Debug Puppenspieler (Ark, 22. Jan 2000, 14:31:55):
+Hi, beim Durchscrollen des Abenteuerkanals bin ich auf einen kleinen Bug
+gestossen, der verhinderte, dass man die Quest nochmal spielen konnte, ohne
+dass es zwischendurch einen Crash geben musste. Das ist jetzt behoben. Man
+sollte jetzt in der Lage sein, sie auch sofort nochmal zu spielen.
+Wohlgemerkt, keiner wird dazu gezwungen :-)
+Wenn es doch noch Probleme damit geben sollte, bitte Mail an mich mit der
+dementsprechenden Stelle und einer Problembeschreibung.
+Viel Spass wuenscht
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Leseraum fertig! (Wurst,  2. Mar 2000, 22:33:49):
+
+ Wie Susi Siebenscheich mitteilt, wurde der neue Leseraum in ihrem 
+ Hotel  nach  laengeren  Renovierungsarbeiten nun  fertiggestellt. 
+ Hotelgaeste und solche, die es werden  wollen, koennen  sich dort 
+ kuenftig die Zeit vertreiben. Als  besonderes Highlight  wird das 
+ Buch  ausgestellt, das fleissige  Arbeiter bei den  Erweiterungs-
+ arbeiten in Tsunamis  Eismienen aus dem  ewigen Polareis geborgen 
+ haben. Das Buch beschaeftigte bisher Archaeologen und Mythologen,
+ die ein besonderes Geheimnis in ihm vermuten...
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Leseraum fertig! (Ark,  4. Mar 2000, 16:49:53):
+~#! rn=Wurst rt=952032829 rg=d.ebene
+~#! tid=952032829
+Tja, da hat sich Susi ein bisschen aergern muessen ueber das so schnell
+aufgetauchte Buch, dass sie es erstmal wieder einsteckte. Nach einigem Hin und
+Her hat sie es wieder ausgelegt. Allerdings weist sie darauf hin, dass sie das
+Auftauchen in dieser Art missbilligt hat. Lassen wir uns das also als Lehre
+dienen.
+
+Blablabla.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Umhang (Ark, 27. Jul 2000, 21:00:39):
+Hm, ich glaube, ich habe gar nicht angekuendigt, dass ein gewisser Umhang
+abgeklemmt war. Egal, jetzt ist der Bug raus, und es gibt ihn wieder. Weiss
+gar nicht, ob Sie es wussten ;^)
+Zumindest einer weiss jetzt wohl Bescheid, glaube ich *g*
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Pfui Spinne (Rochus,  5. Aug 2000, 22:32:12):
+Die Ueberschrift sagt eigentlich alles :-)
+Ihr koennt wieder entgifte ueben :-)
+
+  Rochus
+
+-----------------------------------------------------------------------------
+
+
+
+Fussball. Igitt. (Humni, 14. Sep 2000, 20:48:43):
+~#! on=Humni ot=968878004 og=entwicklung
+Naja. Wer immer schon unbedingt ein Spiel wollte, auf das er nicht im
+mindesten Einfluss nehmen kann, das niemanden interessiert, und wo
+irgendwelche Typen irgend einem Ball hinterherrennen, kann das auch
+im Morgengrauen tun.
+
+Irgendwo noerdlich der Akademiestrasse tummeln sich
+jetzt ein paar komische Typen in einem Stadion. Die
+Spieler stammen aus allen Regionen des Morgengrauens. Das beste
+daran ist natuerlich: Sie sind nicht gekauft und wechseln nie
+die Vereine. Und derzeit machen sie nur Bloedsinn und schiessen
+Eigentore. 
+
+Aber das sollte sich in Zukunft aendern.
+Und zwar ohne jegliches Zutun von Magier-Seite.
+
+Also: Spielen kann man nichts. Aber zugucken. Aber das sin
+Fussball-Fans doch eh gewohnt, oder??
+
+CU Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Fussball. Igitt. (Ark, 14. Sep 2000, 20:49:37):
+~#! on=Ark ot=968956430 og=entwicklung
+~#! rn=Humni rt=968878004 rg=entwicklung
+~#! tid=968878004
+Hm. Und sowas wurde auch noch abgenommen. Tsts. Keine Fallen beim Betreten des
+Stadions. Keine von hinten draengelnden Fans, die mit DT_SQUEEZE angreifen.
+Keine groehlenden Fans, die mit DT_SOUND angreifen. Und dann sehe ich auch
+keinen Fan, der einen verflucht, wenn seine Mannschaft verliert. Wer genehmigt
+denn so eine Region? Das ... das ist mir viel zu friedfertig ;^)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Fussball. Igitt. (Ark, 14. Sep 2000, 20:50:19):
+~#! rn=Humni rt=968957323 rg=d.ebene
+~#! tid=968957323
+Vergiss es, meine Artikel verfolgen Dich auch nach dem Verlegen :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Spielerwuensche.. (Humni, 19. Sep 2000, 19:36:04):
+..werden prompt erfuellt.
+
+Die Hooligans bestizen jetzt tatsaechlich sowas wie Teamgeist.
+Nur, dass sich hinterher keiner beschwert, und nur der Vollstaendigkeit
+halber.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Speedy (Tiamak, 22. Okt 2000, 17:01:45):
+Mahlzeit!
+
+Wegen eines Bugs im Speedy habe ich selbigen erst einmal deaktiviert.
+Soll heissen: die Befehle des Speedy funktionieren nicht mehr.
+
+Sobald Wurzel den Fehler behoben hat, stehen euch die Befehle natuerlich
+wieder zur Verfuegung.
+
+
+Tiamak
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Speedy (Rardian, 25. Okt 2000, 14:44:49):
+~#! rn=Tiamak rt=972226905 rg=d.ebene
+~#! tid=972226905
+Huch!
+Hat den denn ueberhaupt jemand benutzt? ;)
+
+Rar.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Speedy (Liara, 25. Okt 2000, 14:46:31):
+~#! rn=Rardian rt=972477889 rg=d.ebene
+~#! tid=972226905
+Nee. :-)
+Aber Hauptsache man kann ueber ne Aenderung jammern. ;-)
+
+Liara, Zwergenzauberine, jammert mal prophydingens
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Speedy (Karis, 25. Okt 2000, 14:47:39):
+~#! rn=Rardian rt=972477889 rg=d.ebene
+~#! tid=972226905
+Klar benutzt den jemand. Ich zum Beispiel. Und ohne den Speedy
+find ich nimmer heim. *sniff* 
+Wuuuuuurzel!! Tu doch was!
+
+Generaelchen Karis
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Speedy (Panic, 25. Okt 2000, 16:08:48):
+~#! rn=Rardian rt=972477889 rg=d.ebene
+~#! tid=972226905
+och ganz am Anfang war der ganz lustig ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Speedy (Anatol, 25. Okt 2000, 16:36:36):
+~#! rn=Panic rt=972482928 rg=d.ebene
+~#! tid=972226905
+speedy schlafe ein;n;n;teile gast1 mit bin durch
+
+Ueber den Schaden, den das Ding frueher hat anrichten koennen, brauchen
+wir uns, glaube ich, nicht wirklich zu unterhalten, oder? :o)
+
+Anatol
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Speedy (Hight, 25. Okt 2000, 22:52:06):
+~#! rn=Panic rt=972482928 rg=d.ebene
+~#! tid=972226905
+hm frage fuer bloede ... was zum henker is das fuern teil ? und wo hab ich den
+her ? warum hab ich den ? 
+
+hight die weltnimmer verstehend
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Speedy (Foobar, 25. Okt 2000, 23:08:01):
+~#! rn=Hight rt=972507126 rg=d.ebene
+~#! tid=972226905
+Questbelohnung Williburg.
+
+Foobar
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Speedy (Matis, 26. Okt 2000, 00:25:53):
+~#! rn=Hight rt=972507126 rg=d.ebene
+~#! tid=972226905
+Da frag ich mich doch glatt, wer die Quest fuer Dich gespielt hat ...
+
+Matis
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Speedy (Hight, 26. Okt 2000, 16:02:47):
+~#! rn=Matis rt=972512753 rg=d.ebene
+~#! tid=972226905
+die hab ich mehrfach selber gespielt ... abba ich hab damals wohl net
+mitbekommen das ich das ding gekricht hab
+
+hight
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Speedy (Samtpfote, 26. Okt 2000, 19:01:24):
+~#! rn=Hight rt=972568967 rg=d.ebene
+~#! tid=972226905
+Vielleicht hast im KL-Skript (weia boese! :) wohl das was so passiert ist,
+rausgegaggt hast? :o)
+Samtpfote 
+PS: bin da gespannt, wer das jetz ernst nimmt.... seufz
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Speedy (Liara, 26. Okt 2000, 19:05:42):
+~#! rn=Samtpfote rt=972579684 rg=d.ebene
+~#! tid=972226905
+Naja, Hight, das Dings bekommt man nicht einfach so ... ;-)
+Eigentlich solltest Du Dich dran erinnern. *g*
+
+LZ
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Speedy (Hight, 26. Okt 2000, 20:01:41):
+~#! rn=Liara rt=972579942 rg=d.ebene
+~#! tid=972226905
+jo jo ich wurde inzwischen hinlaenglich aufgeklaert ... vieleicht ging die
+erinnerung daran einem froehlichen abend verlohren oder so 
+
+hight
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Speedy (Darkwing, 27. Okt 2000, 13:19:02):
+~#! rn=Liara rt=972579942 rg=d.ebene
+~#! tid=972226905
+Die Questbelohnung gabs nicht immer, Leute die die Quest vorher schon hatten
+haben die nachtraeglich bekommen. Stand zwar in der mpa, aber ansonsten hat
+man das auch gut uebersehen koennen :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Speedy (Atoz, 30. Okt 2000, 14:16:13):
+~#! rn=Darkwing rt=972645542 rg=d.ebene
+~#! tid=972226905
+Oki und was ist mit Leuten (wie mir), die die Quest schon vorher hatten, die
+MPA wohl damals nur ueberflogen haben, und immer noch nicht wissen, wie sie an
+das Ding kommen?
+Koennte man mich da mal per Mail drueber aufklaeren (und vor allem auch, was
+es tut?)
+
+Gruss, Atoz - langsam altersdement
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Speedy (Gloinson, 30. Okt 2000, 14:17:53):
+~#! rn=Atoz rt=972911773 rg=d.ebene
+~#! tid=972226905
+Erstens ist das Teil ja nun nicht mehr sooo attraktiv und zwotens hast Du Dich
+sicher auch nicht so durch die Quest fragen muessen wie der Artikel klang,
+oder?
+
+Gloin(son)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: Speedy (Atoz, 30. Okt 2000, 14:20:17):
+~#! rn=Gloinson rt=972911873 rg=d.ebene
+~#! tid=972226905
+Hallo? Nicht richtig gelesen?
+Ich war damals unter den Erstloesern, kannst dir also mal ausrechnen, wie
+lange das her ist.
+Und ausserdem bin ich im Moment inaktiv, will heissen, ich ueberfliege mal die
+Zeitung und das wars. Ich habe nicht die Zeit mich stundenlang bei
+irgendwelchen NPCs aufzuhalten nur um vielleicht eine Questbelohnung zu
+kriegen, von der zu meiner Zeit nix bekannt war.
+*grummel* Atoz
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: Speedy (Guildo,  2. Nov 2000, 09:52:00):
+~#! rn=Gloinson rt=972911873 rg=d.ebene
+~#! tid=972226905
+Wieso soll das Ding nicht mehr soooo attraktiv sein? Gibt's da etwa etwas noch
+besseres?
+
+Gruss,
+Guildo (Speedy-Benutzer)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: Speedy (Hight,  2. Nov 2000, 11:09:48):
+~#! rn=Guildo rt=973155120 rg=d.ebene
+~#! tid=972226905
+ja im wesentlichen 2 sachen 
+
+1. TF
+
+2. zMUD
+
+gruss hight
+
+-----------------------------------------------------------------------------
+
+
+
+Re^13: Speedy (Guildo,  3. Nov 2000, 09:07:23):
+~#! rn=Hight rt=973159788 rg=d.ebene
+~#! tid=972226905
+Ach, so'n neumodischer Kram!
+
+Gruss,
+Guildo (altmodisch (telnetter))
+
+-----------------------------------------------------------------------------
+
+
+
+Winter is coming ... (Ark, 20. Jan 2001, 14:12:33):
+Meine Freunde ...
+
+Mit tiefem Entsetzen muss ich berichten, dass der Winter ueber uns
+hereingebrochen ist. Schon hat er einen Teil der Ebene, den Grimmswald,
+erfasst, und ist im Begriff, seine klammen Finger nach allem auszustrecken,
+was noch lebt. Ein tapferer Abenteurer - sein Name fiel leider meiner
+Vergesslichkeit anheim - besuchte mich neulich, und versprach, dem Ganzen auf
+den Grund zu gehen und zu berichten, was wirklich dort vorgeht. Lachend brach
+er auf, dem weissen Tod trotzend ins Auge blickend, und ward nicht mehr
+gesehen. Nachdem ich bereits ueber die seltsamen Vorgaenge im Hause der
+Klopeks berichten musste - das liegt schon ueber ein Jahr zurueck - habe ich
+das Gefuehl, dass das neuerliche Grausen, was mich taeglich ueberfaellt, in
+der Naehe des verschneiten Hauses zu finden sein muesste, doch natuerlich mag
+ich mich taeuschen.
+Nun bleibt mir nur eines, zu hoffen, dass sich einige mutige Recken und
+abenteuerlustige Amazonen aufmachen, um dem Schrecken ein Ende zu bereiten.
+Wisset wohl, dies ist erst der Anfang der grossen Odyssee, der Winter hat sein
+wahres haesslich kaltes Gesicht noch nicht vollstaendig enthuellt. Doch es ist
+an der Zeit, ihm zu trotzen ...
+Suchet, meine Freunde, suchet gruendlich.
+
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Neues Gebiet(chen) (Ark, 20. Jan 2001, 14:14:21):
+Ein paar Hinweise noch ("Anschnallpflichten"):
+
+Nicht alleine herumspazieren (es sei denn, man ist "Superseher").
+
+Gut herumschnueffeln. Es gibt 3 kleine Aufgaben zu loesen, nix Grosses, aber
+immerhin ;^)
+
+Vielleicht bringt ein Besuch im Haus ja wirklich etwas.
+
+Und zuletzt: viel Spass.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Neues Gebiet(chen) (Ark, 20. Jan 2001, 14:55:39):
+~#! rn=Ark rt=979996461 rg=d.ebene
+~#! tid=979996461
+Weil es mir grade einfaellt: man muss, um das Gebiet zu finden, NICHT die
+Quest "Das Auge des Teufels" gespielt haben. Macht es aber beim Suchen
+vielleicht einfacher.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Myrndhar (Ark, 23. Jan 2001, 20:03:06):
+Wie mir zu Ohren gekommen ist, vermisst man nun obige Waffe wirklich im Tempel
+Kandris. Es waere lohnend, sie dort zurueckzubringen.
+
+Danke an Tsunami fuer das fixe Implementieren.
+
+Die Belohnung gibt es uebrigens nur einmal pro Spieler, da wird kein Heulen
+und Zaehneklappern helfen, sie ist einfach zu gut :-) Fuer das Ganze gibt es
+auch keine weiteren Punkte, nur falls sich da einer wundert.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Myrndhar (Thufhir, 23. Jan 2001, 20:06:35):
+~#! rn=Ark rt=980276586 rg=d.ebene
+~#! tid=980276586
+hmmm, wenn es wirklich ver misst wird: warum weiss arkshat noch nix davon? ;)
+Thufhir, sich fragend was das sein soll... ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Myrndhar (Ark, 23. Jan 2001, 20:08:56):
+~#! rn=Thufhir rt=980276795 rg=d.ebene
+~#! tid=980276586
+Steht doch dabei. Und fuer ganz gewiefte Superseher: Wem hab ich wohl warum
+gedankt? :)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Neues Gebiet(chen) (Ark, 23. Jan 2001, 21:50:21):
+~#! rn=Ark rt=979998939 rg=d.ebene
+~#! tid=979996461
+Aeh, ich weiss nicht, welcher Erinnerungskiller mich gerade geritten hatte,
+als ich den Artikel schrieb, also nochmal zur Klarstellung: man MUSS, um das
+Gebiet zu finden, die Quest "Das Auge des Teufels" gespielt haben. Wenn man
+raushat, wie, koennen auch andere hin. Klingt etwas unverstaendlich, ist aber
+richtig :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Bugfix fuer Gebiet(chen) (Ark, 30. Jan 2001, 21:12:34):
+Hi, der etwas peinliche Fehler beim Finden des Gebiet(chens) ist nun behoben.
+Man kann nun wieder ungefaehrdet (von FIRZGen) die Gegend betreten. Dank an
+Tilly fuer's Mitreparieren. Bei der Gelegenheit hat Ilona auch noch ein
+bisschen Ansprechkosmetik abbekommen, sollte nun einfacher sein.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Rittergut (Schleicher, 25. Mar 2001, 01:30:21):
+Wie mir zu Ohren gekommen ist sind in meinen Keller Wesen der
+Kerkerdimensionen eingedrungen! Untotes Gesocks irgendwie... keine Ahnung wie
+die dort hingekommen sind, aber nu sind sie da, und Spieler unter dem
+Seher-Level verspeisen diese Viecher im Halbschlaf! Also seit gewarnt, lasst
+die Luke zu und ihr lebt weiter, oben ist es doch auch ganz nett, und selbst
+Zwerge sollen schon beim baden gesichtet worden sein...
+
+Schleicher der Warner von Port Vain
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Rittergut (Ark, 28. Mar 2001, 20:25:47):
+~#! rn=Schleicher rt=985480221 rg=d.ebene
+~#! tid=985480221
+Das Gesocks hat sich erst einmal verzogen. Es ist allerdings nicht
+auszuschliessen, dass es irgendwann wiederkommt.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Tonfa (Ark,  6. Jun 2001, 21:30:45):
+So, der lustige Bug sollte (lt. eines tatkraeftigen, faehigen und irgendwie
+und irgendwo auch zustaendigen ;^) ) Magiers erst einmal behoben sein. Bei
+neuen Tonfas. Also nichts wie ab ins Vergnuegen.
+Danke an Tilly, der etwas mehr Grips reingesteckt hat als ich :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Fuer Lesesuechtige ... (Ark,  3. Aug 2001, 21:31:05):
+Ich habe gehoert, dass einige teuflische Pflanzen jetzt schneller nachwachsen.
+Fuer Bluemchenpfluecker allerdings nicht unbedingt eine gute Nachricht.
+
+
+
+
+HAEH?
+
+
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Ich bin bissig ... (Ark, 13. Aug 2001, 19:36:30):
+... und daher sollten herumfliegende Wunden ab sofort der Vergangenheit
+angehoeren. Sollte dies wider Erwarten doch nicht so eintreten: sachdienliche
+Hinweise nimmt jeder Magier Eures Vertrauens an. Wozu ein kurzes
+Partygespraech doch nuetzlich sein kann.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Der Fluch des Sommers (Ark, 14. Aug 2001, 12:17:47):
+Besorgte Mitbuerger von PortVain, ich wende mich an euch, um einer Panik mit
+entschlossenen, wenn auch von Furcht gepraegten Worten entgegenzutreten.
+Besucher werden unsere geliebte Stadt heimsuchen, sie sind fuer den kleinen
+Mann von nebenan noch nicht sichtbar, doch sie naehern sich der Stadt, ich
+habe es selbst gesehen. Wehe, wenn sie irgendwann einmal zahlreicher werden,
+denn dann wird ein Klatschen und Wehgeschrei anheben. So seid nur gewarnt vor
+der Gefahr aus einer anderen Welt, die ihr, den Goettern sei Dank, zumeist
+nicht wahrnehmen koennt.
+
+Euer Erster Beisitzer der Stadtratskommision zur Untersuchung Chaotischer
+Handlungen an rechtschaffenen Dingen (SUCHarD)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Der Fluch des Sommers (Karis, 14. Aug 2001, 12:23:42):
+~#! rn=Ark rt=997784267 rg=d.ebene
+~#! tid=997784267
+Erst Todesfallen in Portugal und jetzt auch noch Port Vain vermint...
+Man koennte sagen, Ark schafft es, das Sommerloch 
+zu stopfen :)
+
+Karis, findet, dass sich Ark seinen Urlaub redlich verdient hat und 
+faehrt bestimmt nicht nach Portugal ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Der Fluch des Sommers (Ark, 14. Aug 2001, 12:38:15):
+~#! rn=Karis rt=997784622 rg=d.ebene
+~#! tid=997784267
+Doch, denn da bin ich vor denen sicher :-)
+
+Auch vor Muddern *g*
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Fehlende Hilfeseite (Montanus, 23. Aug 2001, 19:00:21):
+
+Nach dem Loesen der Amaryllis-Quest (nicht verwandt mit einem
+namen-abkupferndem Suedstaaten-Magier) bekommt man ja einen netten Zettel und
+die emote-Faehigkeit.
+Nun steht auf dem Zettel:
+
+Alles weitere mit 'hilfe emote' oder 'hilfe gemote'.  
+
+Schonmal 'hilfe gemote' probiert?
+"Dazu ist keine Hilfe verfuegbar."
+
+Hmmmm. :-)
+
+Vielleicht koennte ja sich irgendein Perfektionist dazu herablassen, entweder
+die manpage wieder anzuhaengen oder den Zettel zu aktualisieren? ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Etliche Typos ausgemerzt ... (Boing, 12. Dez 2001, 18:03:41):
+~#! on=Anatol ot=1008176563 og=d.gebirge
+~#! rn=Bambi rt=1008175671 rg=d.gebirge
+~#! tid=1008173707
+Schoen. Und jetzt mach' im Neandertal weiter. ]:^>
+
+Anatol - doing by delegating :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Etliche Typos ausgemerzt ... (Boing, 12. Dez 2001, 18:04:12):
+~#! rn=Boing rt=1008176621 rg=d.ebene
+~#! tid=1008173707
+Ark, ich glaub das war fuer Dich ... :)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+farbenfrohes Mud (Ragnaroek, 10. Jan 2002, 20:13:31):
+
+Aufgrund massiver Beanstandung des Farbtrichters in Kantharr durch
+einen Spieler, der darin einen Fehler gefunden zu haben glaubt und 
+sich auch nach laengeren Disskussionen (zu denen ich momentan weder 
+Zeit noch Lust habe) beruhigen liess, habe ich den Trichter abgehaengt. 
+Aus Zeitmangel wird er deshalb vorerst wohl auch abgehaengt bleiben.
+
+::ragnaroek
+
+-----------------------------------------------------------------------------
+
+
+
+Re: farbenfrohes Mud (Foobar, 10. Jan 2002, 20:14:07):
+~#! rn=Ragnaroek rt=1010690011 rg=d.ebene
+~#! tid=1010690011
+*argl*
+
+Foobar
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: farbenfrohes Mud (Liara, 10. Jan 2002, 20:14:51):
+~#! rn=Foobar rt=1010690047 rg=d.ebene
+~#! tid=1010690011
+Namen ...
+Sie war's, er war's, er war's ... ?
+
+ZZL, kauft schonma nen Paeckchen Steine :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: farbenfrohes Mud (Cuchullin, 10. Jan 2002, 20:15:27):
+~#! rn=Liara rt=1010690091 rg=d.ebene
+~#! tid=1010690011
+Jetzt muss ich das tatsaechlich in ein Log packen. Wie ich das hasse,
+Gespraeche mit unsichtbaren Magiern nachtraeglich zu rekonstruieren...
+
+Cuchullin war's.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: farbenfrohes Mud (Amaryllis, 10. Jan 2002, 20:23:34):
+~#! rn=Cuchullin rt=1010690127 rg=d.ebene
+~#! tid=1010690011
+Wenn Du sonst keine Probleme hast...
+
+Ama*, empfiehlt ein "ignoriere trichter" oder "ignoriere farbe", da sie
+zumindest das Ding weiter benutzen wird.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: farbenfrohes Mud (Morgoth, 10. Jan 2002, 21:42:21):
+~#! rn=Ragnaroek rt=1010690011 rg=d.ebene
+~#! tid=1010690011
+Geil, danke !
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: farbenfrohes Mud (Noki, 10. Jan 2002, 21:50:32):
+~#! rn=Morgoth rt=1010695341 rg=d.ebene
+~#! tid=1010690011
+Warum denn das? Ich versteh wirklich nicht, was es dafuer  fuer Gruende geben
+kann?!
+
+Weg mit allen Gimmicks, irgendwer ist doch immer genervt. (Nisch wahr, M*?)
+
+Noki, geht sich einen Trichter clonen
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: farbenfrohes Mud (Grimmborn, 10. Jan 2002, 23:48:09):
+~#! rn=Noki rt=1010695832 rg=d.ebene
+~#! tid=1010690011
+Sobald das Teil "ignoriere rufe" respektiert, wie man das intuitiv erwarten
+sollte, habe ich absolut nichts dagegen.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: farbenfrohes Mud (Patryn, 11. Jan 2002, 06:57:04):
+~#! rn=Grimmborn rt=1010702889 rg=d.ebene
+~#! tid=1010690011
+ich hab auch nich lust fuer jedes neues tool ein neues ignoriere zu
+schreiben. davon abgesehen war ich zwar eh schon immer gegen dieses teil,
+aber andererseits wurde es gluecklicherweise auch nicht uebertrieben und
+somit kann ich nicht grad behaupten, es haette mich genervt :)
+
+-- 
+patryn
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: farbenfrohes Mud (Cuchullin, 11. Jan 2002, 13:01:29):
+~#! rn=Patryn rt=1010728624 rg=d.ebene
+~#! tid=1010690011
+MICH nervt es ein wenig, dass der Magier in der Zeitung behauptet,
+dass da kein Bug gewesen sei. Vielleicht hat er ja recht und es 
+ist _kein_ Bug, wenn ein Objekt Ansifarbcodierungen an Spieler
+schickt, deren Terminaleinstellung sich ausdruecklich dagegen 
+ausspricht ("hilfe stty").
+
+Aber ich haette das gern geklaert, bevor ich oeffentlich zum 
+Spielverderber erklaert werde.
+
+Cuchullin
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: farbenfrohes Mud (Silvana, 11. Jan 2002, 13:05:20):
+~#! rn=Cuchullin rt=1010750489 rg=d.ebene
+~#! tid=1010690011
+Eine Abfrage (und Beruecksichtigung) der Terminaleinstellung des empfangenden
+Spielers ist bei der Uebertragung von Farbcodes absolut Pflicht.
+
+  Silvana (klarstellend)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: farbenfrohes Mud (Foobar, 11. Jan 2002, 13:11:32):
+~#! rn=Silvana rt=1010750720 rg=d.ebene
+~#! tid=1010690011
+Falls ich das richtig gesehen habe, erfuellt ein gewisser ewiger Guertel diese
+Anforderungen ebenfalls nicht.
+
+Ich fordere sofortige Abhaengung.
+
+Foobar
+
+PS: Man moege mich berichtigen, falls ich hier einem Irrtum aufsitze
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: farbenfrohes Mud (Wurzel, 11. Jan 2002, 13:14:46):
+~#! rn=Foobar rt=1010751092 rg=d.ebene
+~#! tid=1010690011
+habe mir gerade mal den code von dem ominoesen trichter angesehen, und er
+nimmt absolut ruecksicht auf die tty-einstellungen. was also hat da nicht
+funktioniert?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: farbenfrohes Mud (Patryn, 11. Jan 2002, 13:14:58):
+~#! rn=Foobar rt=1010751092 rg=d.ebene
+~#! tid=1010690011
+weiss zwar nich warum du hier rumstaenkern musst, aber danke fuer den
+bughinweis. den guertel muss man ja im uebrigen nicht nutzen...
+
+-- 
+patryn
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: farbenfrohes Mud (Patryn, 11. Jan 2002, 13:23:46):
+~#! rn=Foobar rt=1010751092 rg=d.ebene
+~#! tid=1010690011
+und nun also *fixed*
+
+-- 
+patryn
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: farbenfrohes Mud (Boing, 11. Jan 2002, 15:01:43):
+~#! rn=Patryn rt=1010751826 rg=d.ebene
+~#! tid=1010690011
+Ausserdem hat Anatol wahrscheinlich keineswegs abhaengung gefordert 
+(kann er in seiner Position ja auch gar nicht *g*) sondern wollte den
+Bug gefixed sehen. Dass Ragnaroek dann gleich abhaengt ist ja wohl kaum
+Anatol zuzuschreiben.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: farbenfrohes Mud (Anthea, 11. Jan 2002, 15:04:05):
+~#! rn=Boing rt=1010757703 rg=d.ebene
+~#! tid=1010690011
+Na gut. Vielleicht ist Anatol nicht ganz unschuldig. Duerfen wir ihn nicht
+trotzdem ein bisschen aufhaengen? ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: farbenfrohes Mud (Morgoth, 12. Jan 2002, 00:51:56):
+~#! rn=Noki rt=1010695832 rg=d.ebene
+~#! tid=1010690011
+Muss ich dich irgendwie kennen?
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: farbenfrohes Mud (Noki, 12. Jan 2002, 10:02:18):
+~#! rn=Morgoth rt=1010793116 rg=d.ebene
+~#! tid=1010690011
+Du hast irgendwann darauf verzichtet mich zu kennen, indem Du mich in Deine
+"ignore"-Liste genommen hast. Ich weiss heute nicht, warum. Vielleicht wegen
+eines "rufe" zuviel? Schade, dass Du mir nie gesagt hast, warum.
+Vielleicht haette ich mich ja sogar entschuldigt.
+Noki
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: farbenfrohes Mud (Morgoth, 12. Jan 2002, 13:59:46):
+~#! rn=Noki rt=1010826138 rg=d.ebene
+~#! tid=1010690011
+Hmm, war an dem tag als Du die Sam's Pfeife Quest gemacht hast (26.02.01) und
+ich denke es waren ein paar "rufe" zuviel.
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: farbenfrohes Mud (Elberet, 12. Jan 2002, 14:02:10):
+~#! rn=Morgoth rt=1010840386 rg=d.ebene
+~#! tid=1010690011
+wow, so genau weisst du das noch? *staun
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: farbenfrohes Mud (Vanion, 12. Jan 2002, 14:04:15):
+~#! rn=Elberet rt=1010840530 rg=d.ebene
+~#! tid=1010690011
+Gutes Gedaechtnis (Logfile) is alles :)
+
+V*'s reicht leider nur bis zum 14.2.01 zurueck.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: farbenfrohes Mud (Morgoth, 12. Jan 2002, 14:04:16):
+~#! rn=Elberet rt=1010840530 rg=d.ebene
+~#! tid=1010690011
+Lueckenlose Logfiles seit dem 16.5.98 :)
+Was meinst Du warum mein "Workroom" bigbro heisst ;)
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: farbenfrohes Mud (Elberet, 12. Jan 2002, 14:05:10):
+~#! rn=Morgoth rt=1010840656 rg=d.ebene
+~#! tid=1010690011
+ich hab eigentlich nix an logfile
+ob das ein fehler war?
+vielleicht koennt ich dann auch die quests mit zweities besser spielen ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: farbenfrohes Mud (Croft, 12. Jan 2002, 14:07:40):
+~#! rn=Elberet rt=1010840710 rg=d.ebene
+~#! tid=1010690011
+Das waer ja langweilig ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: farbenfrohes Mud (Ragnaroek, 12. Jan 2002, 18:36:13):
+~#! rn=Ragnaroek rt=1010690011 rg=d.ebene
+~#! tid=1010690011
+
+Moin Mudder!
+
+Nachdem der Protest und das Feedback wg. des Trichters an mich jetzt doch
+viel groesser war, als ich das am Anfang vermutet hatte, hab ich ihn nun
+kurzerhand doch wieder angehaengt. Und obwohl ich nach wie vor behaupte, 
+dass KEIN Fehler in dem Ding war (jeder Magier kann sich hiervon ueberzeugen),
+hab ich mir bei dieser Gelegenheit doch gleich die Zeit genommen, ihn 
+etwas zu ueberarbeiten und dabei fast komplett neu zu schreiben. 
+Fuer den Spieler haben sich dabei nur ein paar unwesentliche Dinge geaendert, 
+er bietet jetzt noch ein paar Moeglichkeiten mehr und ist auch nicht mehr 
+ganz so teuer in der Anwendung. (Irgend einen Nutzen musste das ganze doch
+haben).
+
+Fuer alle, die nicht wissen, was es mit dem 'TTY' auf sich hat, sei hier
+nochmal auf 'hilfe stty' verwiesen und ein 'stty ansi' empfohlen :o)
+
+::ragnaroek
+
+-----------------------------------------------------------------------------
+
+
+
+Re: farbenfrohes Mud (Cuchullin, 12. Jan 2002, 21:22:14):
+~#! rn=Ragnaroek rt=1010690011 rg=d.ebene
+~#! tid=1010690011
+
+   "warum nimmst du denn dann nicht 'dumb'? ;) oder
+   ignorierst ihn, bzw. 'farbe'? .....'vt100' is die
+   standard-einstellung, damit wuerde der trichter
+   praktisch witzlos"
+
+   
+Mit dieser Einstellung taete ich auch keinen Bug sehen.
+
+Cu*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: farbenfrohes Mud (Bambi, 12. Jan 2002, 21:22:50):
+~#! rn=Cuchullin rt=1010866934 rg=d.ebene
+~#! tid=1010690011
+Der Trichter _ist_ witzlos. ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: farbenfrohes Mud (Ragnaroek, 12. Jan 2002, 21:52:10):
+~#! rn=Cuchullin rt=1010866934 rg=d.ebene
+~#! tid=1010690011
+
+Kennt jemand die Situation, in der er (RL) seinen Wagen 15cm neben der
+Markierung geparkt hat und als er zu seinem Fahrzeug zurueckkommt ein
+aufgebrachter Rentner schimpfend danebensteht? Man sollte glauben, 
+diesen Misstand, der eigentlich niemanden behindert oder stoert, mit 
+ein paar freundlichen Worten und Behebung desselben wieder in Ordnung 
+bringen zu koennen - doch weit gefehlt. Die tobende Gestalt am Strassenrand 
+laeuft dunkelrot an, tobt und schreit, notiert sich die Fahrzeugnummer, 
+bedroht und beschimpft den Fahrer.
+
+Nun.... wir sollten froh sein, selbst hier im MUD solche Leute zu haben, 
+denn im Grunde sorgen sie doch nur fuer Recht und Ordnung.
+
+In diesem Sinne: 
+Danke Cuchullin fuer Deinen Einsatz und Deine Hilfe! 
+
+::ragnaroek
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: farbenfrohes Mud (Vanion, 12. Jan 2002, 21:54:34):
+~#! rn=Ragnaroek rt=1010868730 rg=d.ebene
+~#! tid=1010690011
+Du bist echt niedlich.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: farbenfrohes Mud (Cuchullin, 12. Jan 2002, 22:00:06):
+~#! rn=Ragnaroek rt=1010868730 rg=d.ebene
+~#! tid=1010690011
+Und dann war da noch der, der mit seinem Auto den Gehweg zuparkte.
+Als ein freundlicher Rentner ihn ansprach und auf einen Kinderwagen
+deutete, meinte der Fahrer: "Ist doch kein Problem. Auf der Strasse
+ist genug Platz fuer alle..."
+
+Danke fuer das Demonstrieren Deiner Einparkkuenste, Ragnaroek.
+
+Cuch - will auch niedlich sein ;)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: farbenfrohes Mud (Foobar, 12. Jan 2002, 22:00:46):
+~#! rn=Cuchullin rt=1010869206 rg=d.ebene
+~#! tid=1010690011
+Mittlerweile bin ich mir echt nicht mehr sicher, wer von Euch beiden alberner
+reagiert.
+
+Foobar
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: farbenfrohes Mud (Amaryllis, 12. Jan 2002, 22:07:27):
+~#! rn=Cuchullin rt=1010869206 rg=d.ebene
+~#! tid=1010690011
+Freundliche Rentner, die einen "Fehlparker" dezent und nett darauf hinweisen?
+
+Wo lebst Du? :-)
+
+Ama*, bisher keine solchen Erfahrungen gemacht (kann einparken), aber in
+dieser Richtung bisher nur Negativbeispiele aus Ihrem Bekanntenkreis gehoert.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: farbenfrohes Mud (Silvana, 12. Jan 2002, 22:07:31):
+~#! rn=Foobar rt=1010869246 rg=d.ebene
+~#! tid=1010690011
+Aus "hilfe stty":
+     `vt100'   das Terminal ist einfarbig, kennt aber Fettschrift u.ae.
+
+Daran sollten sich dann auch alle Objekte halten. Alles andere waere ein Bug.
+Deswegen schrei ich bestimmt nicht nach abhaengen, aber ich wuerde den Urheber
+schon bitten, den Bug zu beheben. 
+DISCLAIMER: Das obige dient nur zur Information und ist keine Wertung. Ich hab
+keine Ahnung, ob der Trichter das so beruecksichtigt oder nicht oder ob er es
+beruecksichtigt hat oder nicht. Ich ignorier das gute Stueck wie "rufe" und
+die meisten shouts auch. Und ich hab auch keine Lust nachzuschaun. 
+
+  Silvana (informierend, nicht niedlich)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: farbenfrohes Mud (Gnome, 12. Jan 2002, 22:09:11):
+~#! rn=Silvana rt=1010869651 rg=d.ebene
+~#! tid=1010690011
+wie schoen zu sehen, dass hier im MG aus jeder muecke ein elefant wird.
+langweilt ihr euch?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: farbenfrohes Mud (Foobar, 12. Jan 2002, 22:11:35):
+~#! rn=Silvana rt=1010869651 rg=d.ebene
+~#! tid=1010690011
+Hm.
+
+Ich hatte gehofft, dass meine zugegebenermassen extrem ueberzogene Forderung
+nach der sofortigen Abhaengung mindestens genau so albern wirkt wie der Rest
+des Threads.
+
+Aber in Zukunft werde ich solche Sachen aber dann doch wohl besser mit einem
+":o)" kennzeichnen ;o)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: farbenfrohes Mud (Noki, 13. Jan 2002, 13:39:29):
+~#! rn=Morgoth rt=1010840386 rg=d.ebene
+~#! tid=1010690011
+Nun, dann moechte ich es nicht saeumen, und mich fuer meine "Rufe" am 26.02.01
+bei Dir und auch allen anderen Spielern, die das doch negativ im Gedaechtnis
+haben entschuldigen.
+Ich bin ansonsten nur selten ein "Rufer" und recht zurueckhaltend mit der
+Bellaestigung meiner Mitspieler. Einen Wiederholungstaeter muss man mich wohl
+nicht nennen.
+Ansonsten zitiere ich die Hilfe:
+Ansonsten zitiere ich die Hilfe:
+      `ignoriere <spieler>'
+      Saemtliche Meldungen, die der Spieler <spieler> erzeugt, werden
+unterdrueckt. Dies ist eine sehr drastische Massnahme!
+
+Ob also ein "Rufe" zuviel einen davon entbindet mit dem Spieler zu reden, und
+damit vielleicht im Sinne aller korrigierend auf sein Verhalten einzuwirken,
+und man also besser gleich ignoriert, stelle ich anheim.
+
+Noki
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: farbenfrohes Mud (Key, 14. Jan 2002, 09:29:25):
+~#! rn=Noki rt=1010925569 rg=d.ebene
+~#! tid=1010690011
+Ach so wichtig ist Morgoth nicht, dass man so vehemment darum kaempfen muesste
+nicht mehr ignoriert zu werden.
+
+Ausserdem traegt er Zoepfe! ;)
+Key
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: farbenfrohes Mud (Zarniya, 14. Jan 2002, 09:40:50):
+~#! rn=Key rt=1010996965 rg=d.ebene
+~#! tid=1010690011
+Hi, 
+
+also ich will auch mal, auch wenn Key um das Gegenteil bettelt, einen
+revolutionaeren konstruktiven Loesungsvorschlag wegen des Trichters machen:
+
+Der Progger heisst ja nun Ragnaroek. Da ich seit einer Woche behaupten kann,
+das geradezu geniale, aber auch revolutionaere Werk "Fool on the Hill" von
+Matt Ruff gelesen zu haben, und ich mich eindeutigst mit der Figur Ragnaroek
+identifizieren kann, bin ich empoert ueber den Trichter. Farben an sich
+widersprechen aber auch sowas von extrem jeglicher Intension dieser Figur,
+dass ich hier fordere (Jau... hab zwar keine Rechte, aber wenn ich mich immer
+gewaehlt und berechtigt ausdruecken wollte, dann muesste ich Anatol heissen)
+die Loeschung nicht nur des Trichters, sondern direkt des kompletten Spielers
+Ragnaroek, da er offensichtlich den Namen eines von mir geliebten Charakters
+missbraucht, gar schaendet! Ragnaroek und "Farben"! PAH!!! Sowas aber auch...
+
+Marc
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: farbenfrohes Mud (Ragnaroek, 14. Jan 2002, 17:56:31):
+~#! rn=Zarniya rt=1010997650 rg=d.ebene
+~#! tid=1010690011
+
+Moin Yantro! *giggle*
+
+Leider muss ich dich enttaeuschen: Der Progger von dem Ding heisst nicht
+Ragnaroek sondern Wurst, ich habe seine Objekte allenfalls uebernommen.
+Deinem 'Ragnaroek und "Farben"! PAH!!!' kann ich allerdings nur zustimmen,
+und wer ich kennt, weiss das :o)
+Und im Uebrigen verkoerpere ich hier etwas, von dem die Germanen seit 
+2000 Jahren sprechen, und keine fragwuerdige Romanfigur. (Auch wenn das
+Buch zweifellos gut ist)
+
+::ragnaroek
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: farbenfrohes Mud (Grimmborn, 14. Jan 2002, 18:23:54):
+~#! rn=Ragnaroek rt=1011027391 rg=d.ebene
+~#! tid=1010690011
+Es ist doch immer herzerfrischend wenn jemand Mythologien so
+durcheinandermischt. Ja, auch die Germanen haben von "Ragnaroek" geredet, aber
+wenn Du Dich auf die beziehst solltest Du Dich "Goetterdaemmerung" nennen.
+Erfunden haben das ganze auch nicht die Germanen.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: farbenfrohes Mud (Foobar, 14. Jan 2002, 18:27:30):
+~#! rn=Grimmborn rt=1011029034 rg=d.ebene
+~#! tid=1010690011
+"Goetterdaemmerung" ist zu lang.
+
+Foobar
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: farbenfrohes Mud (Elberet, 14. Jan 2002, 18:29:32):
+~#! rn=Foobar rt=1011029250 rg=d.ebene
+~#! tid=1010690011
+die frage ist doch, was sind die germanen, oder?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^13: farbenfrohes Mud (Wurzel, 15. Jan 2002, 00:05:26):
+~#! rn=Elberet rt=1011029372 rg=d.ebene
+~#! tid=1010690011
+grimmborn hat da eben eigene vorstellungen. das ist eher wagner als altes
+germanisch, aber dafuer ist er ja auch chemiker.
+ohne jetzt linguist zu sein, behaupte ich mal, dass keiner von uns etwas
+verstehen wuerde, wenn uns jemand auf althochdeutsch oder in einer noch
+frueheren variante was von seiner mythologie erzaehlt. ragnaroek kommt aus
+der edda, und die ist meines wissens in irgend einer nordgermanischen sprache
+geschrieben, nicht auf neuhochdeutsch.
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re^14: farbenfrohes Mud (Grimmborn, 15. Jan 2002, 00:19:28):
+~#! rn=Wurzel rt=1011049526 rg=d.ebene
+~#! tid=1010690011
+Aeh, die Edda ist tatsaechlich altnordisch, die entsprechenden Mythen sind
+nordisch. Klar, wenn Du die Wikinger als "Nordgermanen" bezeichnest passt das
+natuerlich, aber das halte ich fuer weniger gebraeuchlich. Dass die
+germanische Version "Goetterdaemmerung" sei habe ich ein paar (schwedischen)
+google-Hits entnommen, ich bin fuer diesen Sagenkreis wirklich kein Experte.
+Dass normale Menschen kein althochdeutsch verstehen ist wohl wahr, schon mit
+fluessig gesprochenem mittelhochdeutsch haetten wir massivste Probleme. 
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^15: farbenfrohes Mud (Ragnaroek, 15. Jan 2002, 00:22:47):
+~#! rn=Grimmborn rt=1011050368 rg=d.ebene
+~#! tid=1010690011
+
+Muss an dieser Stelle sagen, dass der Charakter Ragnaroek damals von 
+Lug und mir eigentlich nur als trotziges Aequivalent zu Armageddon 
+erschaffen wurde :o)
+
+::ragnaroek (bisher noch keinen shutdown verschuldet)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^16: farbenfrohes Mud (Mupfel, 15. Jan 2002, 00:28:09):
+~#! rn=Ragnaroek rt=1011050567 rg=d.ebene
+~#! tid=1010690011
+Du solltest mal den RL sehen, Grimmi... der passt besser ;)
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Re^17: farbenfrohes Mud (Elberet, 15. Jan 2002, 09:28:38):
+~#! rn=Mupfel rt=1011050889 rg=d.ebene
+~#! tid=1010690011
+naja, ist eh schwierig zu sagen, was da Germanen sind und was nicht. Wenn ich
+mich recht erinnere gabs da ja sowas, was man Voelkerwanderung nannte. Und sie
+kamen nicht nur aus dem Osten sondern auch aus dem Nordosten und Norden.
+Aber ich weiss ja eh nix und andere eh alles besser :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Zitat: 'voraussichtliche Fertigstellung: Juni 1999' (Shakedbeer, 18. Jan 2002, 15:22:15):
+Hallo zusammen!
+
+Vielleicht hat in letzter Zeit mal jemand von Euch auf das Schild der
+Werftbaustelle geschaut und ein wenig ueber den Termin der Fertigstellung
+geschmunzelt. ;-) Ich habe nun aus recht zuverlaessiger Quelle gehoert, dass
+die Bauarbeiter langsam aber sicher weiter kommen und bald das Werftgebaeude
+eroeffnet werden soll. Optimisten sprechen von Februar. Welches Jahr, hat aber
+keiner gesagt. ;-))
+
+Shakedbeer - wollte nur schonmal darauf hinweisen, dass es bald nicht mehr
+reichen koennte, zig mal auf der Hafenstrasse nach w und einmal nach o zu 
+rennen, um auf die PVer Landstr. zu kommen. ;-)
+
+PS: Oder sind das nur Geruechte und die Fertigstellung der Werft kommt
+gleichzeitig mit dem Anschluss von Taramis?!? Wer weiss...
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Zitat: 'voraussichtliche Fertigstellung: Juni 1999' (Foobar, 18. Jan 2002, 15:35:47):
+~#! rn=Shakedbeer rt=1011363735 rg=d.ebene
+~#! tid=1011363735
+Haben sich die Investoren denn auch Gedanken gemacht, wie sie die
+fertiggestellten Schiffe ins Meer bekommen? ;o)
+
+Foobar
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Zitat: 'voraussichtliche Fertigstellung: Juni 1999' (Shakedbeer, 18. Jan 2002, 15:39:34):
+~#! rn=Foobar rt=1011364547 rg=d.ebene
+~#! tid=1011363735
+Klar! Nur soviel: Die Hafenstrasse ist schoen gerade, da steht ausser dem
+Denkmal nicht viel im Weg und es gibt so nette runde Baumstaemme, ueber die
+ein Schiff mit allem Pomp ins Meer rollen kann. :)
+
+Shaky.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Zitat: 'voraussichtliche Fertigstellung: Juni 1999' (Vardion, 18. Jan 2002, 15:41:05):
+~#! rn=Shakedbeer rt=1011364774 rg=d.ebene
+~#! tid=1011363735
+Oh, wegen dem Denkmalproblem kannste Dich sicher vertrauensvoll an einen
+Angriffsmagister wenden. Nach so ner vorrausrollenden Feuerwalze duerfte der
+Weg _komplett_ frei sein :-)
+
+Vardion
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Zitat: 'voraussichtliche Fertigstellung: Juni 1999' (Shakedbeer, 18. Jan 2002, 15:41:57):
+~#! rn=Vardion rt=1011364865 rg=d.ebene
+~#! tid=1011363735
+Ich hab da ne elegantere Loesung im Visier.
+
+Shaky - verraet aber jetzt nichts mehr.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Zitat: 'voraussichtliche Fertigstellung: Juni 1999' (Dotz, 18. Jan 2002, 15:42:43):
+~#! rn=Shakedbeer rt=1011364774 rg=d.ebene
+~#! tid=1011363735
+Gib jedenfalls rechtzeitig Bescheid. Ich will nicht am Hafen stehen und dann
+einmal auf -T lesen, dass ich von nem Schiff _ueberfahren_ wurde.
+
+Dotz (geht mal lieber nach schmarrn als zum Hafen)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Zitat: 'voraussichtliche Fertigstellung: Juni 1999' (Ahab, 18. Jan 2002, 15:43:17):
+~#! rn=Shakedbeer rt=1011364917 rg=d.ebene
+~#! tid=1011363735
+Wie schnell muss man denn aus dem Weg sein, bevor son Schiff zu Wasser
+gelassen wird, damit man nicht zermatscht wird? ;)
+
+Ahoi,
+Ahab.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Zitat: 'voraussichtliche Fertigstellung: Juni 1999' (Shakedbeer, 18. Jan 2002, 15:52:22):
+~#! rn=Ahab rt=1011364997 rg=d.ebene
+~#! tid=1011363735
+./.
+
+Shakedbeer - hat Muehe den Mund zu halten.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Zitat: 'voraussichtliche Fertigstellung: Juni 1999' (Bielefeld, 18. Jan 2002, 15:53:08):
+~#! rn=Shakedbeer rt=1011365542 rg=d.ebene
+~#! tid=1011363735
+Ich sehs schon vor mir...:
+
+(Abenteurergilde)
+Imda geht nach Norden.
+[Tod:Lars] Ein Schiff hat gerade Imda umgebracht.
+[Tod:Ein Schiff] Imda ist mir beim Stapellauf vor den Bug gerannt.
+
+-Bielefeld
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Zitat: 'voraussichtliche Fertigstellung: Juni 1999' (Gor, 18. Jan 2002, 15:54:58):
+~#! rn=Bielefeld rt=1011365588 rg=d.ebene
+~#! tid=1011363735
+Naja wenn man da so selten rumsteht wie Imda ist das so warscheinlich wie der
+Sonnenaufgang am naechsten Tag. ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Zitat: 'voraussichtliche Fertigstellung: Juni 1999' (Montanus, 18. Jan 2002, 17:41:26):
+~#! rn=Gor rt=1011365698 rg=d.ebene
+~#! tid=1011363735
+Ich glaub, ich hab ne Loesung fuer das Denkmal.
+Das kommt auf das allererste Schiff drauf und wird dann nach Boschante
+gefahren. Und dort neu aufgestellt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Zitat: 'voraussichtliche Fertigstellung: Juni 1999' (Boing, 18. Jan 2002, 17:42:41):
+~#! rn=Montanus rt=1011372086 rg=d.ebene
+~#! tid=1011363735
+Du hast aber wenig Vertrauen in Shakedbeers Schiffe ... ;)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: Zitat: 'voraussichtliche Fertigstellung: Juni 1999' (Montanus, 18. Jan 2002, 17:44:24):
+~#! rn=Boing rt=1011372161 rg=d.ebene
+~#! tid=1011363735
+Hallo? Herr Steinbeisser/ Elfen verwenden Schiffe nur fuer ihre allerletzte
+Fahrt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: Zitat: 'voraussichtliche Fertigstellung: Juni 1999' (Nonne, 18. Jan 2002, 17:44:44):
+~#! rn=Boing rt=1011372161 rg=d.ebene
+~#! tid=1011363735
+Das Denkmal ist doch ab und an mal fertig. Bisher veschwindet das auf
+mysterioese Art und Weise und ein anderes wird gebaut. Jetzt gibts endlich
+eine Erklaerung, wieso das staendig neu gebaut werden muss.
+
+Oder gibts da schon nen Grund?
+
+Nonne.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: Zitat: 'voraussichtliche Fertigstellung: Juni 1999' (Montanus, 18. Jan 2002, 17:46:04):
+~#! rn=Nonne rt=1011372284 rg=d.ebene
+~#! tid=1011363735
+immer wenn der WOlpi-Club in die Luft gesp[rengt wird, zerstoeren Teile der
+Truemmer das Denkmal.
+Reicht das als Erklaerung?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^13: Zitat: 'voraussichtliche Fertigstellung: Juni 1999' (Sky, 18. Jan 2002, 17:46:24):
+~#! rn=Montanus rt=1011372364 rg=d.ebene
+~#! tid=1011363735
+die boesen, fiesen und gemeinen zauberer machens immer kaputt
+
+-----------------------------------------------------------------------------
+
+
+
+Re^14: Zitat: 'voraussichtliche Fertigstellung: Juni 1999' (Montanus, 18. Jan 2002, 17:53:40):
+~#! rn=Sky rt=1011372384 rg=d.ebene
+~#! tid=1011363735
+Heul doch?
+Das diese ganzen neuen Gilden alle nur jammern koennen, ist schon traurig...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: Zitat: 'voraussichtliche Fertigstellung: Juni 1999' (Hight, 18. Jan 2002, 17:56:15):
+~#! rn=Nonne rt=1011372284 rg=d.ebene
+~#! tid=1011363735
+hmmm nachdem die ganzen spendensammler hier rumrennen muessen wir das geld ja
+irgendwie loswerden ... der lepische sold den man bei den Trves krigt is net
+der rede wert und nen so grossen keller das wir die ganzen muenzen sammeln
+koennten haben wir net ,o)
+
+hight
+
+-----------------------------------------------------------------------------
+
+
+
+Re^13: Zitat: 'voraussichtliche Fertigstellung: Juni 1999' (Foobar, 18. Jan 2002, 17:57:13):
+~#! rn=Hight rt=1011372975 rg=d.ebene
+~#! tid=1011363735
+Man koennte die Kohle nutzen, um das Gehalt der Zwergen-Generaele zu
+erhoehen...
+
+Foobar
+
+-----------------------------------------------------------------------------
+
+
+
+Re^14: Zitat: 'voraussichtliche Fertigstellung: Juni 1999' (Gnome, 18. Jan 2002, 17:58:13):
+~#! rn=Foobar rt=1011373033 rg=d.ebene
+~#! tid=1011363735
+endlich mal der erste vernuenftige vorschlag...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^15: Zitat: 'voraussichtliche Fertigstellung: Juni 1999' (Grimmborn, 18. Jan 2002, 17:59:28):
+~#! rn=Gnome rt=1011373093 rg=d.ebene
+~#! tid=1011363735
+Ich dachte das wuerde fuer einen gildenweiten Alphabetisierungskurs gebunkert?
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^16: Zitat: 'voraussichtliche Fertigstellung: Juni 1999' (Gnome, 18. Jan 2002, 18:00:27):
+~#! rn=Grimmborn rt=1011373168 rg=d.ebene
+~#! tid=1011363735
+DAS ist doch bei uns eh hoffnungslos. dann lieber mehr GELD!
+
+-----------------------------------------------------------------------------
+
+
+
+Re^14: Zitat: 'voraussichtliche Fertigstellung: Juni 1999' (Gor, 19. Jan 2002, 10:53:58):
+~#! rn=Foobar rt=1011373033 rg=d.ebene
+~#! tid=1011363735
+Damit die sich mal ne Badewanne leisten koennen und die anderen Rassen nicht
+immer mit ihren Geruechen beleidigen?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^15: Zitat: 'voraussichtliche Fertigstellung: Juni 1999' (Foobar, 19. Jan 2002, 14:38:16):
+~#! rn=Gor rt=1011434038 rg=d.ebene
+~#! tid=1011363735
+Was kann ich denn dafuer wenn die zarten Tuntennasen meinen herben Duft nicht
+abkoennen?
+
+Foobar
+
+-----------------------------------------------------------------------------
+
+
+
+Ohren? (Zook, 31. Jan 2002, 22:34:21):
+Wie mir ein Zwerg neulich berichtete, soll es Ohren geben von Gestalten, die
+aus Zwergensicht ganz viel groesser und auch sonst ganz komisch seien, die,
+wenn man an ihnen herumschneide, ihr Besitzer aber vorher das Zeitliche
+zu segnen habe, einen Verwendungszweck haben.
+
+Ich habe Zwerge noch nie verstanden.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ohren? (Anthea, 31. Jan 2002, 23:38:25):
+~#! rn=Zook rt=1012512861 rg=d.ebene
+~#! tid=1012512861
+Ich auch nicht. Ich spreche aus Prinzip kein Zwergisch ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ohren? (Gnome,  1. Feb 2002, 01:47:37):
+~#! rn=Zook rt=1012512861 rg=d.ebene
+~#! tid=1012512861
+:huepft aufgeregt um Zook herum. :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Ohren? (Montanus,  1. Feb 2002, 03:27:08):
+~#! rn=Gnome rt=1012524457 rg=d.ebene
+~#! tid=1012512861
+Gnomen, Zwerge... alles das selbe Kriechzeug. Hobbits. Wenn ich schon dran
+denke...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Ohren? (Cuchullin,  1. Feb 2002, 04:01:31):
+~#! rn=Montanus rt=1012530428 rg=d.ebene
+~#! tid=1012512861
+Ich hoffe, man kann diesen Scheiss auch irgendwie ignorieren. Der 
+Aus-der-Ferne-Terror a la Chaosratte muss ja nicht ueberhand nehmen.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Ohren? (Varlarion,  1. Feb 2002, 08:50:11):
+~#! rn=Cuchullin rt=1012532491 rg=d.ebene
+~#! tid=1012512861
+:will auf der Stelle das Rasiermesser zurueck!
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ohren? (Hight,  1. Feb 2002, 15:47:08):
+~#! rn=Zook rt=1012512861 rg=d.ebene
+~#! tid=1012512861
+hehe was is daran neu ? der herr kommandant sammelt seit jahren elholdriels
+ungewaschene ohren
+
+hight schmarrend
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Ohren? (Gor,  1. Feb 2002, 22:01:52):
+~#! rn=Hight rt=1012574828 rg=d.ebene
+~#! tid=1012512861
+Er drueckt sogar auch noch fett Asche dafuer ab. A ;) Ich frag mich nur, wass
+der mit den vielen Ohren macht,. Ohrensuppe? Aber sowas geschmackloses traue
+ich eigentlich nur Zwergen zu. ;)
+
+Gor schmarrt auch bisserl
+
+-----------------------------------------------------------------------------
+
+
+
+Von Fischen und Angeln (Vanion, 26. Mai 2002, 22:05:56):
+Geruechten zufolge ist der Bedarf an Fisch im MorgenGrauen in 
+letzter Zeit stark angestiegen. Daher hat sich die Haendler-Gilde
+nach langer Zeit wieder entschlossen, Fische aller Art aufzukaufen.
+
+V* wuenscht Petri Heil. 
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Von Fischen und Angeln (Cadrach, 27. Mai 2002, 11:56:58):
+~#! rn=Vanion rt=1022443556 rg=d.ebene
+~#! tid=1022443556
+Klasse! :)
+
+-----------------------------------------------------------------------------
+
+
+
+Badezimmerrenovierung (Schleicher,  2. Jun 2002, 23:19:37):
+Bis auf weiteres kann nicht mehr gebadet werden da die Wanne neu versiegelt
+werden muss. Als Abhilfe koennte Ihr ja im Hotel duschen gehn...
+Schleicher
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Badezimmerrenovierung (Mupfel,  3. Jun 2002, 00:57:15):
+~#! rn=Schleicher rt=1023052777 rg=d.ebene
+~#! tid=1023052777
+Beu versiegelt? Mein Jof, was wurden da fuer Orgien gefiert? Oder sind da etwa
+Zwerge *mit Ruestung* rein? 
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Ten Years Later (Miril, 21. Aug 2002, 18:08:54):
+Im Zuge einer kleinen Ueberarbeitung der Amaryllisquest
+(KL-Benutzer aufgepasst ;-) gibts in Zwackelmanns Schloss
+nun ein bisschen mehr zu sehen oder tun. Fuer weitere Anregungen
+waere ich nach wie vor dankbar und setze sie vielleicht sogar um ;-).
+Viel Spass, Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ten Years Later (Mandragon, 21. Aug 2002, 18:20:17):
+~#! rn=Miril rt=1029946134 rg=d.ebene
+~#! tid=1029946134
+:ist begeistert.
+
+Ma* (bestimmt im Namen vieler Amaryllis-Quester und dem Uenkchen selber ;o) )
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Ten Years Later (Morgoth, 21. Aug 2002, 22:14:49):
+~#! rn=Mandragon rt=1029946817 rg=d.ebene
+~#! tid=1029946134
+Wie, ich muss mein TF-Script ueberarbeiten? Was soll denn das? *grummel*
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Bettler in Port Vain (Deepblue, 19. Nov 2002, 12:18:59):
+Knoennte den Bettler bitte mal beigebracht werden, dass man auch FPs zum
+Seherwerden braucht? Es ist nicht wirklich witzig, wenn man die noetigen APs
+hat aber FPs fehlen und der Knilch haut einen staendig.
+Insbesondere wenn man grade gestorben ist und mit 1-2 LP aus der Kapelle kommt
+und wieder stirbt nervt das gewaltig...
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Bettler in Port Vain (Elberet, 19. Nov 2002, 12:33:40):
+~#! rn=Deepblue rt=1037704739 rg=d.ebene
+~#! tid=1037704739
+jammer nicht, werd Elf
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Bettler in Port Vain (Nino, 19. Nov 2002, 12:50:39):
+~#! rn=Deepblue rt=1037704739 rg=d.ebene
+~#! tid=1037704739
+Du willst doch nur ne FP Anzeige...
+Aber versuchen kann mans ja mal, ist voellig legitim.
+Nino - geschuettelt nicht geruehrt
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Bettler in Port Vain (Deepblue, 19. Nov 2002, 12:58:24):
+~#! rn=Nino rt=1037706639 rg=d.ebene
+~#! tid=1037704739
+Ob die FPs zum Seher werden ausreichen sieht man doch sowieso bei Info oder
+beim versuch, in der Gilde zu erhoehen.
+Ob man das zusaetzlich daran merkt, ob der Bettler angreift oder nicht ist
+AFAIK keine FP-Anzeige
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Bettler in Port Vain (Ark, 19. Nov 2002, 20:26:31):
+~#! rn=Deepblue rt=1037704739 rg=d.ebene
+~#! tid=1037704739
+Der naechste Bettler versteht das ... hoffentlich :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Regionsmagier Ebene (Zook, 27. Jan 2003, 19:05:37):
+Hallo zusammen,
+
+Rochus ist von seinem Posten als Regionsmagier in der Ebene zurueckgetreten.
+
+Vielen Dank fuer Deine Mitarbeit, Rochus.
+
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Hooligans (Humni, 24. Apr 2003, 11:56:25):
+Huhu,
+
+die Hooligans im Stadion haben jetzt einen Anfuehrer. Nicht wundern. Und ja,
+auch in der Ebene koennen demnaechst noch ein paar NPCs dazukommen...
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Abschied ... (Ark, 21. Mai 2003, 21:12:31):
+Meine lieben Mudder, es ist an der Zeit, Abschied von Euch zu nehmen. Ich habe
+mir diese Entscheidung nicht leicht gemacht, doch ich musste sie so
+zwangslaeufig treffen wie Hans Eichel seinen Sparkurs an die Oeffentlichkeit
+tragen musste. Schlaflose Naechte liegen hinter mir, die Augen triefen vor
+Muedigkeit und Trauer. Ab sofort trete ich zurueck ...
+
+Interesse am Artikel geweckt? Hast Du nun "Was will der Depp uns sagen?"
+Gefuehle? Panisch geworden? Knallen schon die Sektkorken? Dann lieber hier
+nochmal die Kurzform:
+
+Ark niggs mehr Regionsmagier von Ebene.
+Ragnaroek ist geworden brutale Aufseher von Ebene.
+Heil Dir Ragnaroek, Koenig der Ebene.
+
+Ich freue mich, mich nun ausschliesslich der erfuellenden Aufgabe von
+Miniquests und Quests widmen zu duerfen.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Abschied ... (Catweazle, 22. Mai 2003, 00:09:03):
+~#! rn=Ark rt=1053544351 rg=d.ebene
+~#! tid=1053544351
+Sag mal, hast du nen Knall? Du kannst doch nicht einfach einen Artikel
+schreiben, der auf die erste Ziele so aussieht, als wenn du das Mud verlassen
+wolltest.
+
+Man merkt doch erst zwei verschwitzte Sekunden spaeter, dass wir uns auf
+d.ebene unterhalten und du nur selektive Aufgaben abgeben willst. Tsk.
+
+Jetzt darf ich mich mit dem mitternaechtlichen Adrenalinschub zurechtfinden. 
+
+Yours truly,
+ (schockabbauend) Catweazle
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Abschied ... (Idlefix, 22. Mai 2003, 00:28:58):
+~#! rn=Catweazle rt=1053554943 rg=d.ebene
+~#! tid=1053544351
+Huhu,
+jo das war sehr missverstaendlich mir erging es genauso. Dachte auch das
+Wieder ein Magier in Rente geht.
+
+Gruss Idlefix
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Abschied ... (Elberet, 22. Mai 2003, 09:10:32):
+~#! rn=Idlefix rt=1053556138 rg=d.ebene
+~#! tid=1053544351
+da gilt halt, was schon immer richtig war: einen text bis zum ende lesen,
+vorher weiss man nicht was drin steht.
+Aber genaues lesen ist heute ja nicht mehr wichtig.
+
+Elbi
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Abschied ... (Grimmborn, 22. Mai 2003, 10:14:51):
+~#! rn=Elberet rt=1053587432 rg=d.ebene
+~#! tid=1053544351
+s/wichtig/allgemein praktiziert/
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Abschied ... (Ark, 22. Mai 2003, 20:37:16):
+~#! rn=Grimmborn rt=1053591291 rg=d.ebene
+~#! tid=1053544351
+Ha, der Schalk trieb mich zu spaeter Stund', er piekt die Seel', drum schrieb
+ich Schund, doch hoert, es schallt die Reu' aus meinem Mund: Vergebt mir, und
+will nur noch tuen kund, was wahr ist und immer hat 'nen guten Grund.
+
+*verbeug*
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Artikel :-) (Nyx, 26. Jun 2003, 22:03:25):
+
+Dass es seit dem grossen Brand in der Akademie nicht mit
+rechten Dingen zugeht ist bekannt, doch wer sie jetzt
+betritt wird ueberrascht sein. Die dort hausenden Geister
+haben ein paar neue Mitbewohner bekommen und scheinen ihr
+altes Heim dafuer mal wieder etwas in Schwung gebracht zu
+haben.
+
+-----------------------------------------------------------------------------
+
+
+
+Die Ruine der Akademie ... (Mandragon, 28. Jul 2003, 02:03:39):
+
+kann aufgrund temporaerer Bugs derzeit nicht betreten werden.
+
+Ich hoffe, dass bald Entwarnung gegeben werden kann ...
+
+Ma*
+
+-----------------------------------------------------------------------------
+
+
+
+Die Strassenschaeden (Mandragon, 30. Jul 2003, 13:38:54):
+
+... auf dem Weg zur Akademieruine wurden von Rikus beseitigt.
+
+Ma*
+
+-----------------------------------------------------------------------------
+
+
+
+Das magische Auge und die Kampfstaebe... (Mupfel, 10. Okt 2003, 20:31:51):
+...sind seit vorgestern unzertrennlich ;)
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Flachdach (Zook, 22. Dez 2003, 11:15:20):
+Hallo, ein Flachdach mit einem Kirschbaum steht temporaer nicht zur 
+Verfuegung. Sobald ein Bugfix vorliegt, werde ich den Raum wieder 
+anschliessen. 
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Flachdach (Zook, 29. Dez 2003, 11:07:01):
+~#! rn=Zook rt=1072088120 rg=d.ebene
+~#! tid=1072088120
+Das Flachdach ist nun wieder erreichbar. Aber der Raum dort ist nicht mehr
+so "friedlich" wie bisher.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Traurige Nachricht.... (Humni, 17. Feb 2004, 21:33:10):
+fuer alle Besitzer eines Amulettes mit einem Tigerauge oder sowas. Das Amulett
+wurde erneuert und sollte nun nicht mehr ganz so effektiv sein. IMHO ist das
+natuerlich immer noch zu gut.
+
+Viel zu gut.
+
+Viel viel viel viel viel zu gut.
+
+Aber davon hab ich nun genug erzaehlt.
+
+Humni
+
+PS: Das Ding gehoert abgewertet.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Traurige Nachricht.... (Morgoth, 17. Feb 2004, 21:33:58):
+~#! rn=Humni rt=1077049990 rg=d.ebene
+~#! tid=1077049990
+Ist das nicht ein Fall fuer die Balance? Wieso ist das dann noch
+angeschlossen?
+
+M* gruebelt
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Traurige Nachricht.... (Darklor, 17. Feb 2004, 23:52:42):
+~#! rn=Morgoth rt=1077050038 rg=d.ebene
+~#! tid=1077049990
+Biste Dir auch ganz sicher Humni das das stimmt und es nich vielleicht besser
+waer dafuer zu werben, damit ueberhaupt jemand das Teil nutzt? ;) 
+
+Darklor
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Traurige Nachricht.... (Nonne, 18. Feb 2004, 08:43:27):
+~#! rn=Morgoth rt=1077050038 rg=d.ebene
+~#! tid=1077049990
+Das ist vor ewigen Zeiten durch die Balance gegangen. Ein bisschen Streuung in
+den Bewertungskriterien der Balancegenerationen laesst sich wohl nie
+ausschliessen und es waere albern, wenn jede neue Generation alle Objekte neu
+bewerten wuerde.
+
+Aber keine Angst, ich habe das Amulett auf meiner Liste der unter Beobachtung
+stehenden Objekte (c;
+
+Nonne.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Traurige Nachricht.... (Anatol, 18. Feb 2004, 09:25:52):
+~#! rn=Nonne rt=1077090207 rg=d.ebene
+~#! tid=1077049990
+Verdammt viele Objekte sind "vor ewigen Zeiten" durch die Balance
+gegangen. Es ist ziemlich schade, dass Du als Chef der Objektbalance
+die Dreistheit findest, z.B. die Paracelsusschen Durchwinkphasen als
+"bisschen Streuung der Bewertungskriterien" zu bezeichnen.
+
+Anatol
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Traurige Nachricht.... (Nonne, 18. Feb 2004, 09:56:07):
+~#! rn=Anatol rt=1077092752 rg=d.ebene
+~#! tid=1077049990
+Alle Balance-Chefs vor mir waren total scheisse! Es wurden kaum objektive
+Bewertungskriterien festgelegt, nichts ist vergleichbar, damit muss schluss
+sein! Ich werde am Wochenende alle jemals genehmigten Objekte abhaengen und
+sie werden neu beantragt werden muessen! Es kann nicht angehen, dass es von
+den Launen irgendwelcher Balance-Leute abhaengt, welche Objekte genehmigt
+werden oder nicht. Alle Balance-Mitglieder vor mir hatten keine Ahnung oder
+ihren Chef nicht im Griff, sodass Anatol mir die Einsicht gegeben hat, dass
+dieser Schritt absolut notwendig ist.
+
+Nonne.
+
+P.S: Das war ironisch.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Traurige Nachricht.... (Montanus, 18. Feb 2004, 10:00:50):
+~#! rn=Nonne rt=1077094567 rg=d.ebene
+~#! tid=1077049990
+Schade, dass das ironisch war. Du haettest dir viele Freunde gemacht...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Traurige Nachricht.... (Morgoth, 18. Feb 2004, 10:40:58):
+~#! rn=Nonne rt=1077094567 rg=d.ebene
+~#! tid=1077049990
+Och, schade. Ich haette noch ein paar Aenderungen, dann muss ich die nicht
+alle einzeln einreichen.
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Traurige Nachricht.... (Anatol, 18. Feb 2004, 11:09:04):
+~#! rn=Nonne rt=1077094567 rg=d.ebene
+~#! tid=1077049990
+Ich grueble noch ueber den Begriff der Ironie im Zusammenhang mit der 
+Aussage "Es kann nicht angehen, dass es von den Launen irgendwelcher
+Balance-Leute abhaengt, welche Objekte genehmigt werden oder nicht."
+
+Aber ich bin ja nur Spieler, ich kann das nicht verstehen. }:^>
+
+Anatol
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Traurige Nachricht.... (Grimmborn, 18. Feb 2004, 11:14:26):
+~#! rn=Anatol rt=1077098944 rg=d.ebene
+~#! tid=1077049990
+Ich sehe da keinen Gruebelbedarf, das ist fuer mich eindeutig.
+
+Aber ich bin ja Magier, mich interessiert das gluecklicherweise nicht.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Traurige Nachricht.... (Montanus, 18. Feb 2004, 11:16:39):
+~#! rn=Grimmborn rt=1077099266 rg=d.ebene
+~#! tid=1077049990
+Sehen wir es doch mal anders:
+Magier, die Objekte schreiben, die uebermaessig stark sind, wollen damit
+Spielern unter die Arme greifen und sie staerker als geplant machen.
+Das ist damit absolute Spielerhilfe.
+Anstatt die Objekte nur abzuhaengen, sollten die verbrecherischen Magier
+gleich mit abgehaengt werden.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Traurige Nachricht.... (Nonne, 18. Feb 2004, 11:17:55):
+~#! rn=Montanus rt=1077099399 rg=d.ebene
+~#! tid=1077049990
+Und die Mitglieder der Balance, die sowas damals genehmigt haben, werden
+gleich mit geloescht?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Traurige Nachricht.... (Boing, 18. Feb 2004, 11:20:03):
+~#! rn=Nonne rt=1077099475 rg=d.ebene
+~#! tid=1077049990
+Du willst doch nur Anatol loeschen ... :)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Traurige Nachricht.... (Montanus, 18. Feb 2004, 11:36:19):
+~#! rn=Boing rt=1077099603 rg=d.ebene
+~#! tid=1077049990
+Du hast noch ziemlich genau 6 Wochen und 12 Stunden und 42 Minuten Zeit, das
+alles hinzubekommen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: Traurige Nachricht.... (Darklor, 18. Feb 2004, 17:30:32):
+~#! rn=Montanus rt=1077100579 rg=d.ebene
+~#! tid=1077049990
+Was is denn in ziemlich genau 6 Wochen und 12 Stunden und 42 Minuten? - Sollt
+ich bis dahin noch schnell was angefangenes beenden? ;)
+
+Darklor
+
+-----------------------------------------------------------------------------
+
+
+
+Eine seltsame Begegnung (Arathorn, 18. Feb 2004, 18:15:53):
+
+"Werter Herr!"
+
+Ich zuckte beim Klang der Worte zusammen.
+
+    Es war dies die Stimme einer mir bis  dahin unbekannten Person, die
+im selben  Moment  hinter einem  Baum  hervortrat,  eingehuellt in  ein
+angesichts  der geringen  Koerpergroesse  riesiges  Grizzlyfell, dessen
+Schaedel der Mann als Kopfbedeckung trug. Ich musterte den  Unbekannten
+von Kopf bis Fuss, um zu ergruenden, wen ich denn vor mir haette.
+
+    "Ich  bin  ein  reisender  Schamane,"  stellte er  sich vor.  Meine
+Verwunderung war wohl zu offensichtlich: "Mein Name ist Chinkuwaila."
+
+    "Willkommen," antwortete ich, "Ihr seid mir unbekannt, seid Ihr neu
+hier in diesen Landen?"
+
+    Er bestaetigte mir dies in hoeflichen Worten: "So ist es. Ich hatte
+noch nicht das Vergnuegen, diese Region der Welt zu besuchen.Ihr hinge-
+gen scheint Euch hier gut auszukennen. Wisst Ihr nicht einen Platz,  an
+dem ich zumindest eine Zeitlang rasten koennte?"
+
+    Ich fragte ihn, ob er  bestimmte Anforderungen an seinen Lagerplatz
+stelle, doch er meinte, eine Lichtung von mittlerer Groesse im Wald sei
+ausreichend fuer sein bescheidenes Zelt.
+
+     "Euer Zelt?" fragte ich erstaunt, denn ich sah nirgends einen  Wa-
+gen oder auch nur die  Andeutung von Handgepaeck.  Ausser dem Fell trug
+er  lediglich einen ledernen Anzug und leichte Schuhe,  einen einfachen
+Wanderstab hatte er in der Hand.
+
+    "Wundert Euch nicht, ich verfuege ueber gewisse Faehigkeiten, meine
+Habseligkeiten vor allzu neugierigen Augen zu verbergen."
+
+    Ich nickte und bedeutete ihm, mir zu folgen.  Denn ich kannte nicht
+weit von besagtem Ort, an dem er mich angesprochen hatte, eine Lichtung
+in  einem seichten  Sumpfauslaeufer,  die in meiner Erinnerung  perfekt
+seinen Wuenschen zu entsprechen schien.
+
+    Wir fanden sie zwar schon merklich von der Natur zurueckerobert vor,
+jedoch brauchten wir nur einige duerre  Buesche und einiges Laub wegzu-
+raeumen, um einen geeigneten Zeltplatz zu schaffen.
+
+    Als wir fertig waren, nahm er in der  Mitte der  Lichtung platz und
+begann,  einige arkane  Zaubersprueche  zu  murmeln,  ich konnte jedoch
+nichts genaues verstehen.  Kurz bevor er endete, bemerkte ich lediglich
+eine leichte  Luftverzerrung hinter einem nahegelegenen  Gebuesch,  die
+sich mit seinen letzten Worten zu einem kleinen Karren materialisierte.
+
+    Er  laechelte mich mit seinen funkelnden Goblinaugen an: "Ihr seht,
+ich habe nicht zuviel versprochen."
+
+    Seinem Wunsch,  ihm mit einigen Handgriffen bei der Errichtung sei-
+ner Behausung behilflich zu sein, kam ich gerne nach.  Es war ein uner-
+wartet geraeumiges Zelt,  dessen nach Sueden gerichteten Eingang er mit
+diversen  Kultgegenstaenden  ausstattete.  Anschliessend  erklaerte er,
+sich zurueckziehen und sein neues Domizil einrichten zu wollen.
+
+    Kurz bevor er hinter dem Eingang seines  Zeltes verschwand,  drehte
+er sich noch einmal zu mir um und sprach: "Vielen Dank, mein Herr.  Ich
+weiss Eure  Gastfreundschaft sehr zu schaetzen. Falls Ihr erfahrt, dass
+jemand aus  Eurem  Volk die  Dienste eines in der  Kunst des Wahrsagens
+bewanderten  Schamanen benoetige,  so zoegert nicht,  diesen  zu mir zu
+schicken.  Es waere mir eine  Freude,  mich fuer die von  Euch gezeigte
+Freundlichkeit  gefaellig zu erweisen.  Ihr werdet  mich zu den meisten
+Tages- und Nachtzeiten hier in meinem Zelt antreffen."
+
+    Mit diesen Worten trat er in die duestere  Atmosphaere seines  Zel-
+tes. Ich murmelte noch eine kurze  Verabschiedung, erhielt jedoch keine
+Antwort mehr...
+
+                  *------------------------------*
+
+    Dies ist die  Begebenheit,  die ich  Euch nicht  vorenthalten woll-
+te, liebe  Freunde.  Ich kann  nicht sagen,  ueber welche  Faehigkeiten
+der Schamane verfuegt,  jedoch bin ich sehr gespannt auf  die Berichte,
+die  uns sicherlich  bald  ueber diese ueberaus  geheimnisvolle  Person
+erreichen werden. Denn die  Ortskundigen unter Euch haben besagte Lich-
+tung zweifellos wiedererkannt.
+
+
+
+Viele Gruesse,
+Arathorn.
+
+P.S.: Behandelt diesen Einsiedler bitte mit dem gebuehrenden Respekt,
+      so, als waere er Euer eigener Gast.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Eine seltsame Begegnung (Arathorn, 18. Feb 2004, 22:47:04):
+~#! rn=Arathorn rt=1077124553 rg=d.ebene
+~#! tid=1077124553
+Hoppla,
+
+aus unbekannter Ursache funktionert da was nicht, was im Test noch ging.
+Deshalb empfaengt der unbekannte Besucher kurzfristig keine Besucher mehr.
+
+Sorry.
+Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Eine seltsame Begegnung (Arathorn, 19. Feb 2004, 01:17:53):
+~#! rn=Arathorn rt=1077140824 rg=d.ebene
+~#! tid=1077124553
+So, und noch ein Selbstreply... ;-)
+
+Da der Fehler jetzt raus ist (eigene Dummeheit mal wieder *g*), ist auch
+der bis vorhin unzugaengliche Raum wieder geoeffnet.
+
+Viel Spass. :)
+
+Gruss, Arathorn.
+
+P.S.: An dieser Stelle kann ich dann auch gleich meinen Dank loswerden.
+      Zunaechst mal an Ark und Vanion fuer die Muehe beim Testen,
+      Ogo und Feigling fuer diverse Debugging-Sitzungen,
+      Humni und Zook fuer die Hilfe beim Anschliessen, sowie
+      an Dunst fuer eine gewisse zuendende Idee.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Traurige Nachricht.... (Nonne, 24. Feb 2004, 09:42:08):
+~#! rn=Humni rt=1077049990 rg=d.ebene
+~#! tid=1077049990
+Noch mal zu dem Amulett: Es ist bis auf weiteres nicht zu benutzen, da sich
+die Bugs doch zu leicht ausnutzen liessen.
+
+Willkuer & Machtgeilheit
+Nonne.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Eine seltsame Begegnung (Arathorn, 28. Feb 2004, 13:28:57):
+~#! rn=Arathorn rt=1077124553 rg=d.ebene
+~#! tid=1077124553
+Hallo zusammen,
+
+nur der Vollstaendigkeit halber: Eine gewisse Rune ist neuerdings so
+zuvorkommend, sich kurz bei den Vergesslichen unter Euch zu melden.
+Ihr versteht sicher, was ich meine. 
+
+Falls es zu Problemen kommt, bitte melden, wie ueblich.
+
+Viel Spass weiterhin.
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Heidenhus (Humni,  1. Apr 2004, 00:01:49):
+Huhu,
+
+was lange waehrt.... endlich ist Heidenhus in der Ebene fertig. Viel Spass.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Kantharr (Arathorn, 18. Apr 2004, 23:46:38):
+Hi zusammen,
+
+wahrscheinlich haben es nicht viele gemerkt, aber Kantharr ist nach
+:kurzzeitiger Abwesenheit wieder betretbar, der Bug im Eingangsraum, der
+heute einige Leute dort eingesperrt hat, ist raus, und einige andere ...
+sagen wir ... Dysfunktionalitaeten mit ihm.
+
+Gruss,
+Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Forschen... (Arathorn, 26. Apr 2004, 11:36:06):
+... koennte in einer gewissen Brauerei jetzt etwas lohnenswerter sein als
+bisher. Ihr wisst, was ich meine. ;-)
+
+Gruss,
+Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Traurige Nachricht.... (Ragnaroek, 11. Mai 2004, 02:16:43):
+~#! rn=Nonne rt=1077612128 rg=d.ebene
+~#! tid=1077049990
+Besagtes Amulett ist sofort wieder nutzbar.
+
+:ragna:
+
+-----------------------------------------------------------------------------
+
+
+
+Nachricht vom Einwohnermeldeamt. :-) (Arathorn,  1. Jun 2004, 23:02:12):
+Hallo zusammen,
+
+wie ich gerade eben festgestellt habe, hat Port Vain einen neuen Einwohner,
+vielmehr, eine Einwohnerin bekommen. Es wurde mir berichtet, sie sei aus
+dem Land der Innuit gekommen, unsere beruehmte Hafenstadt zu besuchen, um
+dort ihr Glueck (und Eures!) zu versuchen.
+
+Ihr werdet sie sicherlich irgendwo in der Stadt antreffen koennen.
+
+Gruss, Arathorn.
+
+P.S.: Ach ja, eine Bitte noch: gebt nicht gleich Euer ganzes Geld aus! ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Un ... (Ark, 12. Jun 2004, 00:10:03):
+
+Mein Name ist Mark, Mark Henderson, um genau zu sein. Ja, ich will genau
+sein, denn ich habe eine Geschichte zu erzaehlen, die viele nicht hoeren
+wollen, weil sie unbequem ist, weil sie Leuten schadet, die mehr oder
+weniger als unbescholten gelten, aber es nicht sind ... doch ich schweife
+ab.
+
+Seit genau einem halben Jahr bin ich nun tot. Das ueberrascht meine werte
+Zuhoererschaft ? Ich will nun schildern, wie es dazu kam, denn es war
+nicht etwa ein friedlicher, zufaelliger Tod, wie er so viele ploetzlich
+heimsuchen kann, sondern ein brutaler, schmerzhafter und ungerechter Tod,
+der mich ereilte und meine Tochter Tamina zur Waisen machte.
+
+Damals wanderte ich mit ihr im Grimmswald umher, wir waren spaet dran,
+unsere Huette, die einsam im Norden des Waldes steht, war weit entfernt.
+Die ersten dunklen Schatten durchstreiften die umstehenden Baeume, und
+meine Kleine bekam es mit der Angst zu tun, denn normalerweise machen
+wir uns immer rechtzeitig auf den Heimweg, wenn wir laenger unterwegs
+waren. Nicht lange, da verlor ich die Gewissheit, wo sich der Weg befand,
+auf dem wir uns immer sicher waehnten und der auf einigen verschlungenen
+Pfaden direkt zu der bescheidenen Huette fuehrte, die unser Heim war.
+Schliesslich erkannten wir ein Licht im Wald. Eine Lichtung tat sich im
+Dunklen vor uns auf, an deren Rand ein grosses Wirtshaus stand, inmitten
+der riesigen Baeume, nur durch einen kleinen Weg nach Sueden mit dem
+Hauptweg durch den Wald verbunden.
+
+Zoegernd naeherten wir uns dem Haus, wohl wissend, dass es schon sehr
+spaet war, und wir nicht unbedingt mit einer freundlichen Aufnahme fuer
+die Nacht rechnen konnten, war doch das Geld immer knapp in unserer
+kleinen Familie, seit meine Frau vor ein paar Jahren verstarb. Trotzdem
+oeffnete ich die Tuer der Gaststaette, und siehe da, es war noch etwas
+Betrieb. Erleichtert setzten wir uns an einen der Tische.
+
+Dann kam SIE, und ich wusste, dass das Unheil langsam unter den Brettern
+unter uns hervorzukriechen begann. SIE war ... attraktiv gekleidet, fuer
+viele der Maenner der Wirtschaft DIE Attraktion schlechthin. Man konnte
+direkt sehen, wie die Blicke der maennlichen Gaeste an IHR hingen, sie
+verfolgten und wie die Gaeste nicht schnell genug die Bierkruege leeren
+konnten, um von IHR wieder bedient zu werden.
+
+Tamina mochte SIE sogleich nicht, und obwohl ich mich der uebermaechtigen
+Anziehungskraft, die SIE verstroemte, nicht ganz verschliessen konnte, wie
+ich zu meinem Leidwesen gestehen muss, so merkte ich doch, dass SIE fuer
+uns nur Unglueck versprach. Aus irgendeinem Grund zog ich SIE magisch an.
+Den ganzen Abend lang verweilte SIE laenger an unserem Tisch als bei den
+anderen Gaesten, was diese mit Murren und unwilligen Blicken quittierten.
+
+Schliesslich ging SIE sogar soweit, mir unmissverstaendliche Saetze
+zuzuraunen, die ich hier nicht wiedergeben will. Doch dann trat der Wirt
+des Gasthofs auf den Plan, ein unangenehmer Zeitgenosse.
+
+Der Gasthof, in dem wir uebernachten wollten, der "Nebelhof", wurde von
+einem schwergewichtigen, kraeftigen und vollkommen unsympathischen Kerl
+geleitet, der seine Bediensteten nach Belieben drangsalierte. Bis auf eine
+Ausnahme ... SIE wurde von ihm wenig belangt, doch als er SIE mit mir
+laenger am Tisch reden sah, verlor er sichtlich die Beherrschung. Er kam
+zu uns herueber, schrie laut im Schankraum herum und drohte mir. Ich sah,
+dass SIE das ziemlich kalt liess, doch der Rest der Gaeste bedachte mich
+mit haemischen Blicken. So jedenfalls kam es mir vor. Schliesslich verlor
+der Wirt das Interesse an mir und verschwand. Eine andere Bedienung des
+Gasthofs naeherte sich unserem Tisch und troestete mich.
+
+Ich ... hatte eine laengere Unterredung mit dieser Kellnerin, sie war
+sehr um mich bemueht, auch Tamina gefiel sie, so dass sie noch spaeter
+auf unser Zimmer kam. Einiges wurde mir in der Zeit mit ihr klar, unter
+anderem vertraute sie mir Dinge an, die meinen Entschluss, am naechsten
+Tag beim ersten Sonnenstrahl den Gasthof zu verlassen, bekraeftigten.
+Doch es kam ganz anders ...
+
+Mitten in der Nacht weckte mich eine schweissig nasse kleine Hand. Es war
+Tamina, die mich auf ein Rumoren vor unserem Zimmer aufmerksam machte.
+Ich machte mich gerade bereit, nachzusehen, als die Tuer aufbrach und
+einige dunkle Gestalten hereinstuermten. Im Hintergrund sah ich eine recht
+deutliche Silhouette, ich bin mir heute sicher, es war der Wirt, der die
+schmutzige Arbeit seiner gedungenen Helfer ueberwachte.
+
+Alles weitere erlebte ich wie in einem Trancezustand. Laerm, der starke
+Widerstand, den ich leistete, als sie mich ergriffen, das Schreien meiner
+armen Tochter, die Tritte und Schlaege, das feuchte Blut an meiner Nase,
+in meinen Augen, all das vermischt sich nunmehr zu einem vagen Traum, zu
+einem Erlebnis an einem nebligen Tag, wo Geraeusche und Gerueche vom
+gnaedigen Nebel verschluckt werden und Visionen bestenfalls vage sind.
+
+Ich wurde hinausgezogen in die Kaelte, durch den einsetzenden Schneefall
+zerrte man mich zu einem der Baeume am Wegesrand. Einer der Henkersknechte
+stieg auf den Baum, um dort oben ein Seil zu befestigen. Dann erst wurde
+mir bewusst, dass ich mit dem Leben rang, es war keinesfalls nur eine
+brutale "Lektion", die mir der Wirt erteilen wollte, sondern es war die
+dubiose Rache fuer etwas, was ich ihm wohl angetan haben muss. Natuerlich
+musste er vollkommen verrueckt sein, doch ich flehte trotzdem um Gnade,
+was bei meinen Drangsalierern nur rauhe Heiterkeit ausloeste.
+
+Nur der Wirt stand schweigend abseits und hielt meine arme Tochter fest,
+die schreiend versuchte, zu ihrem Vater zu gelangen. Am Ende ergab ich
+mich und beendete meine Versuche, mich zu befreien. Ich sprach zum Wirt:
+'Was immer Ihr auch mir antun wollt, warum auch immer, ich bitte Euch,
+ verschont meine Tochter. Fuegt Ihr kein Leid zu.'
+
+Wortlos sah mich der Wirt an, er gab seinen Gesellen ein Zeichen, worauf
+sie das Seil anzogen. Ich muss geschrieen haben, doch alles, was sie
+wohl hoerten, war das gepresste Gurgeln aus meinem abgequetschten Hals.
+Bevor die Welt um mich herum schwarz wurde, stiess ich noch einen Fluch
+hervor, einen Fluch auf den Wirt und seine Spiessgesellen, der sie fuer
+ewig heimsuchen sollte. Dann stuerzte ich in die ewige Dunkelheit des
+Todes.
+
+Alle die Helfer und Helfershelfer des Wirts sind tot. Das Schicksal hat
+sie auf verschiedene Weise ereilt. Nur der wahre Schuldige steht noch
+immer unversehrt, ungestraft, scheinbar unantastbar in seinem alten
+Gasthaus, dem "Nebelhof". Ich wuenschte, auch hier wuerde das Schicksal
+sich mit mir verbuenden, doch er ist nicht ein einfacher Verrueckter,
+oh nein ...
+
+Ich spuere, dass auf ihm bereits ein Fluch lastete, bevor ich mich so an
+ihm raechen wollte, ein Fluch, der weit schlimmer zu sein scheint als
+alles, wozu Menschen sonst faehig sind. Ich bete zu Kandri, dass er
+schliesslich gerichtet wird. Doch wer weiss, vielleicht hat er ja seine
+Strafe schon hier im Diesseits erhalten.
+
+Diese Geschichte ist wahr, so mir Kandri helfe. Ich bete auch, dass er
+meiner Tochter nichts angetan hat. Sicher streunt sie nun irgendwo umher,
+auf der Suche nach Sicherheit, die sie damals verloren hat. Ich habe
+nur noch die Hoffnung, dass es ihr gut geht.
+
+Mark Henderson
+
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Dos ... (Ark, 12. Jun 2004, 00:10:27):
+
+Die Tuer oeffnete sich, und sofort drang die unerbittliche Kaelte in die
+Waerme des Schankraums ein. Ich spuerte sogleich, dass diese vermummte
+Gestalt, die das Wirtshaus betrat, eine seltsame Aura besass, deren Namen
+man ueberall kennt: Aerger.
+Der mit einer kleinen Schneeschicht bedachte Fremde schuettelte sich
+ausgiebig, dabei sah er sich mehrmals aufmerksam um, doch die neugierigen
+Blicke der uebrigen Gaeste, denen er fuer kurze Zeit ausgesetzt war,
+wichen sogleich der Erleichterung, dass kein Yeti oder Winterwolf Einlass
+begehrte, sondern ein Mensch aus Fleisch und Blut.
+Er kam direkt auf meinen verwaisten Tisch zu und fragte direkt:
+'Ist hier noch Platz neben einem Mann der Musik?'
+Seine dunkelbraunen Augen musterten mich, sein ungepflegter Bart und das
+recht schmutzige Aeussere wollten erst das Ansinnen ablehnend bescheiden,
+doch dann ueberwaeltigte mich meine natuerliche Neugier:
+'Aber sicher doch, setzt Euch zu mir und lasst uns Geschichten bei einem
+ kuehlen Glas Bier austauschen. Ich bin Ffestin Mark, weitgereister Barde
+ von einigem Ruf, wenn ich das so sagen darf. Wer seid Ihr und was hat
+ Euch in dieses von den Goettern verlassene Wirtshaus verschlagen?'
+Er laechelte kurz und liess sich neben mir nieder. Seine ruhige, fast
+lethargische Art war mir sogleich sympathisch. Ich begann, nach einer der
+beiden Kellnerinnen zu rufen, und sofort ging der Vorhang zum hinteren
+Schankraum beiseite, und die rassige Frau von einer Kellnerin stoeckelte
+zielsicher auf uns zu.
+Wie ueberrascht war ich, als sie, sobald sie den neuen Gast aus der Naehe
+erblickte, kreidebleich wurde, und meine Bestellung geistesabwesend, ja,
+ich meine sogar nachlaessig aufnahm. All das bekuemmerte meinen Gast wohl
+nicht, denn er schien das ueberhaupt nicht zu bemerken. Schweren Herzens
+sah ich sie wieder hinter dem Vorhang verschwinden, wohl wissend, dass
+sie bald wieder auftauchen wuerde, mit zwei gekuehlten Bierkruegen in den
+wohlgeformten weichen Haenden. Sie war eine bemerkenswerte Frau.
+Es dauerte nicht lange, und der Vorhang wurde erneut beiseite gezogen,
+doch heraus kam nicht meine Herzensdame mit dem Bier, sondern der recht
+deutlich missgelaunte dicke Wirt. Schnell naeherte er sich unserem Tisch
+und baute sich vor dem mir immer interessanter werdenden Mann auf:
+'Was suchst Du hier?'
+Die dunkle Stimme wollte Ruhe verbreiten, doch ich bemerkte klar den
+gefaehrlichen Unterton, der in dieser Frage mitschwang. Langsam drehte
+sich mein Tischnachbar nach dem Wirt um, bis er diesem in die Augen sah:
+'Was meinst Du denn, warum? Bin ich hier nicht willkommen?'
+Das Gesicht des Wirts begann sich sofort, dunkelrot zu verfaerben, er
+atmete heftig vor muehsam unterdrueckter Wut. Am liebsten haette ich mir
+ad hoc einen anderen Tisch gesucht, doch mein unbelehrbares Gefuehl
+raunte mir schweigend zu, zu bleiben und zu horchen.
+Der dicke Wirt schuettelte seine fettige, aber ungemein wuchtige Faust:
+'Verschwinde von hier, wie kannst Du es wagen, hier wieder aufzutauchen?
+ Ich habe Dir gesagt, Du bist hier nie mehr willkommen. Mach, dass Du
+ sofort die Tuer schliesst, aber von aussen.'
+Es folgte eine laengere Pause, in der sich die beiden Kontrahenten eine
+Weile in die Augen starrten. Schliesslich ruehrte sich der interessante
+Gast und stand auf:
+'Ich gehe, Trevor, ich lasse Dich alleine. Doch sei vergewissert, das,
+ was Du getan hast, bleibt nicht ungesuehnt. Mehr habe ich Dir nicht zu
+ sagen.'
+Wutschnaubend sah der Wirt zu, wie sich der Mann wieder in seine noch
+nassen Sachen wickelte und zur Tuer stapfte, wo er sich noch einmal zum
+Wirt umdrehte:
+'Eines Tages wirst Du fuer Deine Taten buessen, Trevor Twin.'
+Mit diesen Worten oeffnete er die Tuer und betrat erneut die Kaelte des
+Grimmswaldes. Zornig stuermte der Wirt wieder zurueck in die andere
+Haelfte des Schankraumes.
+Ich aber begab mich flink zur Tuer und oeffnete sie. Der Mann war schon
+einige Schritte in den Wald gegangen, doch ich folgte ihm furchtlos und
+ohne Probleme. Meine Worte stiessen dampfende Kondenswolken in die kalte
+Winterluft:
+'Wartet, Fremder, so sagt mir doch wenigstens noch, wer Ihr seid? Es ist
+ in der Tat ungluecklich, dass unsere Bekanntschaft endet, bevor sie so
+ recht begann, aber ich wuerde mich freuen, wenigstens zu wissen, mit
+ wem man das Vergnuegen hatte.'
+Ohne sich umzudrehen oder mich auch nur eine Pause oder eines Blickes zu
+wuerdigen, sagte er leise, so dass ich es kaum vernahm:
+'Einige kennen mich unter dem Namen Sergeij Klopek.'
+Damit verschwand er in den Tiefen des Waldes. Ich aber schlich gruebelnd
+zum Gasthof zurueck, ungewiss, ob diese Begebenheit fuer eine Ballade
+genuegend Stoff hergeben wuerde.
+
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Tres ... (Ark, 12. Jun 2004, 00:10:53):
+
+Endlich ist es soweit, der Nebelhof ist geoeffnet worden.
+Kein alltaeglicher Gasthof, wie ihr schnell feststellen
+werdet, seine Bewohner und die Gaeste sind es auch nicht.
+Dringend zu empfehlen ist, sich nicht ganz alleine dorthin
+zu begeben, denn viele Gefahren lauern, denen man nicht
+immer mit dem Schwerte begegnen kann.
+Hier setzt sich die Geschichte fort, die im Hause der
+Klopeks ihren Ursprung hat, und die noch weiter fortgesetzt
+werden wird. Um die spaetere Hauptquest weiterzuspielen,
+bedarf es zweier Spieler, die jedoch zuerst dem Ungemach
+im Hause der Klopeks auf den Grund gehen sollten. Es ist
+recht deutlich erkennbar, wann dieser Teil der Hauptquest,
+der etwa die ersten 20% darstellt, beendet ist.
+Desweiteren gibt es noch 3 Miniquests und eine Gildenquest
+fuer die Zauberer, die zwar alleine bestanden werden, aber
+auch hier ist es ratsam, "alleine" nicht allzu streng zu
+begreifen.
+Eins noch vorweg, bevor es Missverstaendnisse gibt: die
+Herausforderungen sind nicht eindimensional, Metzler koennten
+sich ebenso wie Forscher und Knobler etwas unwohl fuehlen, es
+braucht also eher sowas wie Forschmetzelknobler oder
+Knobelmetzelforscher oder Forschknobelmetzler oder ...
+Grosser Dank gilt an dieser Stelle Arathorn, der den Wust
+sichten durfte und seinen umfangreichen Feedback in langen
+Repfileeintraegen gab. Ohne ihn saehe es wahrlich schlimmer
+aus ;^)
+Nun wuensche ich viel Spass und noch mehr Vorsicht ...
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Tres ... (Ark, 12. Jun 2004, 00:22:03):
+~#! rn=Ark rt=1086991853 rg=d.ebene
+~#! tid=1086991853
+Die Gildenquest wird wohl erst in ein paar Tagen angeschlossen, nicht, dass
+ihr euch wundert.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Tres ... (Mupfel, 12. Jun 2004, 00:25:37):
+~#! rn=Ark rt=1086992523 rg=d.ebene
+~#! tid=1086991853
+Bei Dir wundern wir uns ueber gar nicht mehr ;)
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Tres ... (Ark, 14. Jun 2004, 13:30:35):
+~#! rn=Ark rt=1086992523 rg=d.ebene
+~#! tid=1086991853
+Da wohl noch ein wenig Unsicherheit besteht, was man fuer Voraussetzungen
+mitbringen muss fuer das neue Gebiet, hier kurz zusammengefasst:
+- MiniQuest im Parallelwelthaus, auch irrigerweise als "Para-AdT" bekannt:
+Bestandene Quest "Auge des Teufels"
+- MiniQuests im und um den Nebelhof:
+Keine, allerdings braucht man etwas Hilfe von Spielern, die schon den Weg
+kennen, um dorthin zu gelangen.
+- Weiterspielen der Hauptquest:
+Bestandene Quest "Auge des Teufels" und Besuch im Parallelwelthaus, nur zu
+zweit moeglich.
+
+Gildenquest (noch nicht angeschlossen):
+Keine Voraussetzung, allerdings auch hier evtl. Hilfe durch Spieler, um zum
+Nebelhof zu gelangen.
+
+Wenn trotzdem noch Fragen sind, nur zu :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Tres ... (Asuka, 17. Jun 2004, 11:29:55):
+~#! rn=Ark rt=1086991853 rg=d.ebene
+~#! tid=1086991853
+So, nachdem Rippor und ich jetzt einige Tage im Gasthaus geforscht und
+gequestet haben, moechte ich Ark jetzt doch mal in unser beider Namen
+fuer dieses tolle, atmosphaerisch stimmige Gebiet danken. Und auch
+dafuer, das er die kleinen Fehler die beim spielen auftraten ruckzuck
+beseitigt hat (der Dank geht ebenso auch an Arathorn, der ebenfalls
+Bugs beseitigte die beim spielen autraten).
+
+Asuka
+
+-----------------------------------------------------------------------------
+
+
+
+Die Diddl-Knuddel-Maus (Whitetiger, 20. Jun 2004, 10:34:42):
+... wurde etwas gesaeubert, ueberarbeitet und ein klein wenig erweitert. Sie
+sollte jetzt in allen neuen Versionen ein paar Dinge mehr koennen.
+
+Tiger.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Die Diddl-Knuddel-Maus (Whitetiger, 20. Jun 2004, 14:29:58):
+~#! rn=Whitetiger rt=1087720482 rg=d.ebene
+~#! tid=1087720482
+Nach einer weiteren kleinen Umstellung (die wieder nur neugeholte Maeuse
+betrifft), ist es nun auch moeglich, gezielt einzelne Verben der Diddlmaus zu
+ignorieren, dazu muessen alle Formen einzeln ignoriert werden, also z.B.
+"rschnurr" und "rschnurre".
+Ausserdem sollte sie im Seherladen nun wieder unter dem richtigen Namen
+verkauft werden.
+
+Tiger.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Die Diddl-Knuddel-Maus (Grimmborn, 20. Jun 2004, 21:01:06):
+~#! rn=Whitetiger rt=1087734598 rg=d.ebene
+~#! tid=1087720482
+In dem Fall fehlt tatsaechlich und unbedingt die Moeglichkeit, auch die Maus
+als Ganzes zu ignorieren. Ich hab doch wirklich keine Lust, mit der
+Ignoriereliste den Speicher des MG-Rechners sprengen zu muessen...
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Die Diddl-Knuddel-Maus (Whitetiger, 20. Jun 2004, 21:16:53):
+~#! rn=Grimmborn rt=1087758066 rg=d.ebene
+~#! tid=1087720482
+Gibt's schon laengst.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Tres ... (Ark, 23. Jun 2004, 00:02:33):
+~#! rn=Asuka rt=1087464595 rg=d.ebene
+~#! tid=1086991853
+OK, auch auf die Gefahr hin, jetzt ins Rutschen zu kommen, moechte ich mich
+auch noch mal bei Euch bedanken, ihr habt ausdauernd *hust* dazu beigetragen,
+dass man wesentlich fluessiger *hustanfall* spielen kann. Klingt vielleicht
+schleimig, aber ich wollte das mal oeffentlich sagen :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Traurige Nachricht.... (Arathorn,  6. Jul 2004, 21:54:05):
+~#! rn=Ragnaroek rt=1084234603 rg=d.ebene
+~#! tid=1077049990
+> Besagtes Amulett ist sofort wieder nutzbar.
+
+Jetzt sogar mit korrekter Funktionalitaet... ;-)
+Falls trotzdem Merkwuerdigkeiten auftreten sollten, einfach kurz Bescheid
+geben.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Eine kleine Aenderung ... (Arathorn,  8. Jul 2004, 19:42:44):
+... an einer gewissen Sanduhr in der Sieben-Kelche-Quest bewirkt, dass diese
+jetzt endlich das tut, was sie soll, und nur noch das. Nix anderes mehr.
+
+Ihr wisst schon. ;)
+
+Vielen Dank an Lurchi fuer den Hinweis.
+
+Gruss, Arathorn.
+
+P.S.: Es ist eine Aenderung, die den Spielern hilft, also keine Beschwerden!
+
+-----------------------------------------------------------------------------
+
+
+
+Renovierungsarbeiten (Arathorn, 15. Jul 2004, 20:33:23):
+Huhu zusammen. :-)
+
+Die F&E muss nach langer Zeit eine Renovierung ueber sich ergehen lassen,
+daher ist es unumgaenglich, das Gebaeude fuer kurze Zeit zu schliessen.
+Zeitgleich geht der Weghier auf eine kurze Urlaubreise.
+
+Bitte habt Geduld, das Gebiet wird wirklich nur fuer kurze Zeit unzugaenglich
+sein.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Renovierungsarbeiten (Arathorn, 16. Jul 2004, 18:44:35):
+~#! rn=Arathorn rt=1089916403 rg=d.ebene
+~#! tid=1089916403
+Hi, ich bins wieder ;-)
+
+Die Renovierungsarbeiten sind abgeschlossen, die F&E ist wieder zugaenglich.
+Der Weghier (oh Wunder *g*) ist aus dem Urlaub wieder zurueck und steht
+wie gehabt fuer Eure Wuensche seine Ausruestung betreffend zur Verfuegung.
+
+Falls es Schwierigkeiten, ungewoehnliche Phaenomene oder auch Bugs gibt, 
+einfach bei mir melden. Wobei 'ungewoehnlich' in dem Zusammenhang Effekte
+betrifft, die bis vorgestern nicht vorkamen. Wenn Ihr krepiert, seid Ihr
+nach wie vor in aller Regel selber schuld. ;-)
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Wackere Helden gesucht! (Miril, 20. Jul 2004, 15:14:35):
+
+Uralt ist das Gebirge, welches sich Drachenzinnen nennt. Lang die Feindschaft
+zwischen dem kleinen Volk und denen, nach denen es benannt wurde. In der 
+kleinen Ortschaft, die zu Fuessen der Zinnen liegt, lebt seit eh und jeh 
+ein wackerer Zwerg, der seinen Geschaeften nachgeht. Doch die alte Feind-
+schaft hat er nicht vergessen. Jahrelang hatte er sich getarnt, um die 
+Geheimnisse der Drachen unbemerkt ausspionieren zu koennen, doch nun zeigt
+er sich wieder in seiner wahren Gestalt. Mutige Abenteurer koennen bei ihm 
+einen Auftrag erhalten.
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Mini-Umzug (Arathorn,  9. Aug 2004, 16:02:23):
+Hiho,
+
+soeben hat mein neuer Umzugswagen leider ein paar Erdbeeren von der 
+Ladeflaeche verloren. Bitte neu holen.
+
+Danke schoen,
+Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Unfair! (Hugalf, 21. Aug 2004, 00:33:44):
+Ich weiss nicht wie ihr das seht, aber Typen, die meinen, sie muessten einen
+vor Todesfallen warnen, wo man selbst reingefallen ist, sind total
+ueberfluessig. Ich finde, auch wenn das alles Unfug ist, so sollte doch eine
+Todesfalle verdammtnochmal eine solche bleiben und da keine Warner aufgestellt
+werden! Das ist total unfair. Wir mussten damals alle da sterben und jetzt
+wird man gewarnt. Ich ueberleg mir noch, wie lange ich hier weiterspiele, das
+macht ja gar keinen Sinn mehr. Immer derselbe Mist. Die Magier machen alles
+anders und unsereiner darf das ausbaden. Immer werden wir schlcht behandelt.
+Wir Spieler sind wohl nur das Futter fuer die Magier. Und ueberhaupt.
+
+Heute sinds die Goblins, und morgen wird man bestimmt vor dem Weghier gewarnt.
+Immer dasselbe.
+
+Hugalf
+
+-----------------------------------------------------------------------------
+
+
+
+Die Hafenstrasse (Arathorn, 23. Sep 2004, 23:40:39):
+Huhu zusammen,
+
+die Hafenstrasse von Port Vain sieht jetzt etwas aufgeraeumter aus, was die
+vielen Ausgaenge angeht. Ich hoffe, dass sich insbesondere die juengeren
+Spieler jetzt etwas besser zurechtfinden werden.
+
+Gruss, Arathorn.
+
+P.S.: Wer bisher mit oben/unten da langrannte, kann das auch weiterhin tun.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Die Hafenstrasse (Nedime, 23. Sep 2004, 23:41:09):
+~#! rn=Arathorn rt=1095975639 rg=d.ebene
+~#! tid=1095975639
+Danke.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Die Hafenstrasse (Bran, 23. Sep 2004, 23:44:17):
+~#! rn=Nedime rt=1095975669 rg=d.ebene
+~#! tid=1095975639
+Da schliess ich mich an - vielen Dank!
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Die Hafenstrasse (Roland, 15. Okt 2004, 18:58:56):
+~#! rn=Arathorn rt=1095975639 rg=d.ebene
+~#! tid=1095975639
+och das schoene oben und unten ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Nicht viel... (Humni, 26. Okt 2004, 22:36:50):
+nur ein kleiner NPC in Port Vain, der ein wenig ueber die Stadt weiss.
+Demnaechst weiss er vielleicht auch noch mehr, wenn ihr ihn ausfragt...
+
+Also, Besuch bei Frank!
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Es weihnachtet sehr... (Arathorn, 24. Dez 2004, 17:10:49):
+Hallo,
+
+als ich kuerzlich im Westen der Ebene unterwegs war, habe ich festgestellt,
+dass sich in der Umgebung einer dort gelegenen Hoehle ein Erdbeben oder 
+etwas aehnliches passiert sein muss, denn die Bewohner dort verhalten sich 
+anders als ich das bisher kannte. Ausserdem haben sich einige Bereiche der
+Hoehle etwas veraendert. Seid also etwas vorsichtiger als sonst, wenn Ihr
+mal wieder dort vorbeischaut.
+
+Gruss, Arathorn.
+
+P.S.: Da faellt mir ein, dass ich moeglicherweise mein Werkzeug irgendwo dort
+      liegengelassen habe... Wenn das jemand findet - macht damit, was Ihr
+      wollt. ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Goblinhoehle (Humni, 26. Dez 2004, 13:25:46):
+Huh,
+
+es gibt derzeit irgendwelche Bugs in der Goblinhoehle. Bitte nicht
+dorthingehen. Ich koennte das ganze Gebiet abhaengen - dann wuerden Eure
+Skripte da aber nicht mehr durchlaufen. Ich denke, es ist fairer, das nicht zu
+tun. Arathorn debuggt das Ganze derzeit ohnehin, darum glaube ich, dass der
+Hinweis erstmal reicht.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Goblinhoehle (Arathorn, 26. Dez 2004, 19:10:05):
+~#! rn=Humni rt=1104063946 rg=d.ebene
+~#! tid=1104063946
+Hiho,
+
+Humni hat in der Tat recht, da hat was geklemmt. Mein Fehler, hab was 
+geaendert, im Test festgestellt, dass das Murks war, wieder zurueckgeaendert,
+aber nicht an eine andere Aenderung gedacht, die in der Zwischenzeit 
+erfolgt ist - mit bekanntem Ergebnis. Sowas kommt von sowas, entscheidende
+Aenderung nicht getestet... ;-)
+
+Das Problem ist aber jetzt behoben, fraglicher NPC stirbt jetzt auch. ;-)
+
+Gruss und weiter viel Spass,
+Arathorn
+
+-----------------------------------------------------------------------------
+
+
+
+Ruhet in Frieden... (Chagall, 27. Dez 2004, 15:26:13):
+Es wird still, als der Priester vor den kleinen Steinaltar in der Kapelle
+tritt.
+
+'Verehrte Gemeinde, wir haben uns heute hier versammelt, um denen zu 
+Gedenken die nun nicht mehr unter uns weilen.'
+
+Der Priester macht eine kleine Pause, eher er fortfaehrt.
+
+'Immer wenn die Goetter einen von uns zu sich holen, so ist das fuer uns,
+aber vor allem fuer die Angehoerigen ein schlimmer Verlust. Eine Person,
+die wir geliebt haben ist von uns gegangen. Nie mehr werden wir ihre
+Naehe, ihre Waermen spueren. Mit der Beisetzung hier auf dem Friedhof
+endet ein Abschnitt in unserem Leben, ein Abschnitt wo man durch Dick und
+Duenn gegangen ist. Man hat gute Zeiten durchlebt, aber auch schlechte
+Zeiten. Und dies soll nun mit einem Mal vorbei sein, nur weil der geliebte
+Partner, der Vater, die Mutter oder eines der Kinder gestorben ist?'
+
+Der Blick des Priesters schweift ueber die versammelte Gemeinde hinweg.
+
+'Diese Frage kann man nicht mit einem Ja oder einem Nein beantworten. Auf 
+der einen Seite ist diese Person nicht mehr fuer einen da, doch auf der
+anderen Seite jedoch hat man sich die Erinnerungen bewahrt. Und genau diese
+Erinnerungen sollte man sich tief im Herzen bewahren. Denn dadurch ist
+die verstorbene Person niemals fern, sie ist immer bei einem, in guten wie
+auch in schlechten Zeiten. So lasset uns nun einen Augenblick schweigen
+und den Toten gedenken.'
+
+Von draussen ertoent der dumpfe Klang einer Glocke.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ruhet in Frieden... (Chagall, 27. Dez 2004, 15:34:31):
+~#! rn=Chagall rt=1104157573 rg=d.ebene
+~#! tid=1104157573
+Huhu,
+
+wer sich jetzt fragt, was der vorherige Artikel genau bedeutet, demjenigen
+sei empfohlen sich ein wenig in Port Vain umzusehen.
+
+Und da ich grad in Schreiberlaune bin, moechte ich noch einigen Personen
+danken, und zwar Tassram, Larina, Madness, Rippor und Gato, welche in
+muehseliger Arbeit Typos gesucht haben (was jetzt nicht heisst das der
+Friedhof typofrei ist).
+Und ich moechte mich bei den Magier noch bedanken, die mir mit Rat und
+Tat bei kleineren Problemchen geholfen haben.
+
+MC
+
+-----------------------------------------------------------------------------
+
+
+
+Raetsel um den Raetselstein (Arathorn, 28. Dez 2004, 01:33:26):
+Hallo zusammen,
+
+in der Raetselstein-Quest ist ein Problem aufgetreten, das ich gerne beheben
+wuerde. Dazu bitte ich um kurze Rueckmeldung per Mail oder teile-mit von
+denjenigen,
+
+ *** denen IM QUESTGEBIET das Fahrtensaenger-Siegel abhanden gekommen ist ***
+
+Insbesondere interessieren mich die Begleitumstaende (zB wo das passiert ist),
+falls Ihr Euch noch daran erinnert.
+
+Hinweis: Wenn man das Siegel verloren hat, bekommt man beim Singen einer
+Partitur die Meldung "... fuehlst Dich aber ploetzlich heiser."
+
+Vielen Dank schonmal.
+
+Gruss,
+Ara "Bug gesucht, tot oder lebendig, ganz oder in Scheiben" thorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Raetsel um den Raetselstein (Arathorn, 28. Dez 2004, 03:57:38):
+~#! rn=Arathorn rt=1104194006 rg=d.ebene
+~#! tid=1104194006
+Hallo Ihr, 
+
+es gibt neues vom Raetselstein. Ich habe mit Tylaks Hilfe das Problem, 
+dessentwegen ich um Mithilfe gebeten habe, lokalisieren koennen. Da es dort
+moeglicherweise noch mehr Dinge gibt, die repariert werden muessen, ich die
+Quest aber erstmal nicht abhaengen wollte (war schon jahrelang so, da machen
+ein paar Tage nix), bitte ich bei allen, die die Quest spielen oder spielen
+wollen, darum, folgendes unbedingt zu beachten:
+
+
+Bitte lasst AUF KEINEN FALL das Fahrtensaenger-Siegel fallen oder versucht,
+es in einen Behaelter/Paket/Beutel zu stecken.
+
+Weiterhin ist es fuer den Questerfolg sehr guenstig, waehrend des gesamten
+Questablaufs NICHT "ende" zu machen.
+
+
+Wer jetzt damit rumspielen moechte - bitte sehr, aber wer sich dadurch 
+Schwierigkeiten mit der Quest einhandelt, muss dann warten, bis alles 
+repariert ist. ;-)
+
+Meine Bitte um Informationen gilt uebrigens immer noch. Ich bin nicht sicher,
+ob der gefundene Fehler der einzige ist, der die beschriebenen Probleme
+ausloest.
+
+Gruss, Arathorn.
+
+P.S.: weitere Updates zum Thema "Raetselstein" findet Ihr dann auch 
+      in der MPA.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Es weihnachtet sehr... (Arathorn, 28. Dez 2004, 22:51:12):
+~#! rn=Arathorn rt=1103904649 rg=d.ebene
+~#! tid=1103904649
+Hallo nochmal,
+
+besagtes Gebiet ist jetzt zusaetzlich auch fuer die Forscher unter Euch
+etwas eintraeglicher geworden.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Es weihnachtet sehr... (Darklor, 28. Dez 2004, 23:22:59):
+~#! rn=Arathorn rt=1104270672 rg=d.ebene
+~#! tid=1103904649
+:hat keine Ahnung wo das sein soll... ;)
+
+Darklor
+
+-----------------------------------------------------------------------------
+
+
+
+Noch sinnlose NPCs... (Humni,  4. Jan 2005, 16:22:08):
+Ein neuer, sinnloser NPC...
+
+treibt sich nun in Drachenhort rum. Noch ist er recht sinnlos, sein Sinn wird
+demnaechst mal kommen. 
+
+
+Ok, fuer viele von Euch erfuellt er seinen einzigen Zweck schon jetzt...
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Mysterioese Wegweiser (Esme,  5. Jan 2005, 23:25:12):
+Der allseits geschaetzte Rank Xerox hat mir heute folgenden
+Brief mit der Bitte um Veroeffentlichung ueberreicht:
+
+' Wackere Helden und Heldinnen,
+
+  Mir wurde letztens berichtet, dass sich einige Wegweiser hier
+  in der Umgebung auf wundersame Weise veraendert haben.
+  Dringende Geschaefte halten mich zur Zeit davon ab, der Sache
+  selber auf den Grund zu gehen, aber vielleicht steht Euch
+  ja der Sinn danach.
+
+  Rank Xerox, Waffenhaendler zu Drachenhort '
+
+
+Viel Spass und vielen Dank an alle, die geholfen haben,
+
+                                Esme die schwarze Verschlingerin
+
+-----------------------------------------------------------------------------
+
+
+
+Hunde (Esme,  7. Jan 2005, 15:23:24):
+Wegen eines Bugs haben sich die Hunde etwas anders verhalten
+als sie sollten. Das ist nun behoben, seid also lieber ein
+bisschen vorsichtiger.
+
+MfG Esme die schwarze Verschlingerin
+
+-----------------------------------------------------------------------------
+
+
+
+Winterwoelfe (Ark, 10. Jan 2005, 17:54:34):
+Man kann sie jetzt vom Waldweg her auch sehen. Wenn sie nicht da sind, sieht
+man natuerlich nix, klar, oder? ;)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Winterwoelfe (Chagall, 10. Jan 2005, 17:55:20):
+~#! rn=Ark rt=1105376074 rg=d.ebene
+~#! tid=1105376074
+Sowas bloedes, jetzt ist ja der ganze Kick weg, wenn man ins Gebiet rein
+geht.
+
+Jammerlappen MC
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Raetsel um den Raetselstein (Arathorn, 14. Jan 2005, 19:27:33):
+~#! rn=Arathorn rt=1104202658 rg=d.ebene
+~#! tid=1104194006
+So, hier also das versprochene Update zur Raetselstein-Quest. Ich vermute
+nur, dass es nicht so ganz das Update ist, mit dem Ihr gerechnet habt ;-)
+
+Eigentlich war ich der Ansicht, "die paar Tage" bis zur Reparatur waeren
+unkritisch, allerdings sagt mir mein Logfile, dass das beschriebene Problem
+ganz offensichtlich deutlich regelmaessiger auftritt als gedacht. Deshalb,
+und wegen diverser anderer Haesslichkeiten, die bei der Durchsicht der Quest
+aufgefallen sind, habe ich mich entschlossen, das gesamte Gebiet fuer einen
+ueberschaubaren Zeitraum abzuhaengen.
+
+Sorry dafuer - alles andere wuerde nur noch mehr Umstaende machen. Beschwerden
+werden umgehend an Troy weitergeleitet. ;-)
+
+Gruss, Arathorn, mal wieder das grobe Beil schwingend.
+
+-----------------------------------------------------------------------------
+
+
+
+Die Logbuch-Quest ... (Arathorn, 18. Jan 2005, 19:06:00):
+... ist - nein, nicht abgehaengt, keine Sorge. ;-) Das Gebiet ist nun aber
+fuer Forscher etwas lukrativer geworden.
+
+Viel Erfolg,
+Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Goblins (Arathorn, 22. Jan 2005, 14:28:06):
+Hiho,
+
+ein gewisser Goblinspiess hat seine Faehigkeiten wiedererlangt.
+Besten Dank an die Balance fuer die flotte Bearbeitung. :)
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Schwertmeisterschwert (Arathorn,  2. Feb 2005, 22:28:53):
+Huhu zusammen. :-)
+
+Das Schwertmeisterschwert hat eine gewisse Umwertung erfahren, was das
+Verlernen der zugehoerigen Waffenfertigkeit angeht.
+Ihr solltet jetzt auch bei Nichtbenutzung des Schwertes deutlich weniger
+davon verlernen als bisher. Das gilt nicht nur fuer neue, sondern auch fuer
+alle schon im Spiel befindlichen Schwerter.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Raetsel um den Raetselstein (Arathorn,  6. Feb 2005, 00:51:08):
+~#! rn=Arathorn rt=1105727253 rg=d.ebene
+~#! tid=1104194006
+Hallo zusammen.
+
+Es sind ein paar Tage mehr geworden als erwartet, dafuer solltet Ihr jetzt
+(hoffentlich) weniger Probleme beim Spielen der Raetselstein-Quest haben
+als zuvor.
+
+Ich bitte jedoch nach wie vor darum, mich ueber evtl. auftretende 
+"Merkwuerdigkeiten" zu informieren, damit ich die entsprechenden Stellen
+falls erforderlich nochmal anschauen und nacharbeiten kann - wo gehobelt
+wird, fallen Spaene. ;-)
+
+Viel Spass.
+
+Gruss, Arathorn, das Beil wieder wegsteckend.
+
+-----------------------------------------------------------------------------
+
+
+
+Ein verschliessbares Nekromantiebuch ... (Ark, 20. Feb 2005, 23:55:59):
+... kann nun auch von _zauber_kundigen Dunkelelfen benutzt werden. Nicht, dass
+es vorher schon aufgefallen waere, dass diese es bisher nicht konnten :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ein verschliessbares Nekromantiebuch ... (Darklor, 20. Feb 2005, 23:57:37):
+~#! rn=Ark rt=1108940159 rg=d.ebene
+~#! tid=1108940159
+Tja die wusste wahrscheinlich gar nich, dass das moeglich sein sollte... ;)
+
+Darklor
+
+-----------------------------------------------------------------------------
+
+
+
+Mausquest (Ark, 27. Feb 2005, 18:36:52):
+Hier sind jetzt einige dubiose Insiderfragen entruempelt und mit neuen ersetzt
+worden. Das betrifft natuerlich nicht die Magierfragen, aber um die geht es
+auch weniger :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Sandtiger (Arathorn,  2. Mar 2005, 19:46:38):
+Hallo zusammen
+
+Der Sandtiger nimmt jetzt auch wieder Info-Formulare entgegen (was wohl in
+letzter Zeit nicht so recht funktionierte).
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Kampfbrot (Arathorn, 18. Mar 2005, 21:46:47):
+Hallo zusammen,
+
+diesmal hat das Kampfbrot eine kleine Aenderung erfahren, und zwar wurde
+auch hier das Verlernen ausgebaut.
+
+Gilt wie meist ueblich nur fuer neu geholte Brote.
+
+Viel Spass damit.
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Kampfbrot (Zardoz, 18. Mar 2005, 23:01:52):
+~#! rn=Arathorn rt=1111178807 rg=d.ebene
+~#! tid=1111178807
+Na dann wuensche ich guten Appetit! :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Seherraeuber (Arathorn, 21. Mar 2005, 12:39:04):
+Hallo zusammen,
+
+da es heute vormittag bei den Seherraeubern ein wenig gebuggt hat, habe ich
+die Gelegenheit genutzt, nicht nur den eigentlichen Bug (hoffentlich) zu
+beheben, sondern auch einige andere potentiell bug-gefaehrdete Stellen etwas
+zu modifizieren.
+
+Falls sich die Raeuber ploetzlich deutlich anders verhalten sollten als
+frueher, bitte ich um kurze Nachricht.
+
+Viel Spass weiterhin mit den Herrschaften.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Kampfbrot (Ogo, 30. Mar 2005, 04:02:25):
+~#! rn=Arathorn rt=1111178807 rg=d.ebene
+~#! tid=1111178807
+Ausgebaut im Sinne von Wein oder im Sinne von Kaefern?
+
+Ogo, der Verlernen Ausbauen im ersteren Sinne doof findet
+
+-----------------------------------------------------------------------------
+
+
+
+Raetselstein die x-te (Miril,  9. Apr 2005, 00:02:35):
+Es wurden mal wieder kleine Schoenheitsoperationen an wichtigen Questitems
+vorgenommen, die ja immer noch dazu neigen, sich unbemerkt in Luft 
+aufzuloesen.
+Sollten sie das weiterhin tun, oder sonstige Probleme damit auftreten (diesmal
+speziell mit dem Siegel), dann koennt ihr euch wie immer vertrauensvoll an
+Arathorn oder mich wenden.
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Und wieder ist es passiert. (Arathorn, 12. Apr 2005, 23:04:30):
+Hallo zusammen,
+
+der Fehler mit den Partituren ist hoechstwahrscheinlich gefunden, aber ich 
+kann ihn leider nicht selbst beheben. Bis dahin muss ich, um
+weitere Probleme dieser Art zu verhindern, das Questgebiet mal wieder
+abhaengen *seufz*
+
+Ich bitte um ein wenig Geduld, die Quest ist aber in Kuerze wieder spielbar.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Und wieder ist es passiert. (Grimmborn, 12. Apr 2005, 23:10:44):
+~#! rn=Arathorn rt=1113339870 rg=d.ebene
+~#! tid=1113339870
+Schoen dass Du auch dazuschreibst um welche Quest es geht. Aber Deiner
+Formulierung nach scheint es "die uebliche" zu sein, was mir bestimmt was
+sagen wuerde wenn ich betroffen und daher aufmerksamer waere...
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Und wieder ist es passiert. (Arathorn, 12. Apr 2005, 23:56:38):
+~#! rn=Grimmborn rt=1113340244 rg=d.ebene
+~#! tid=1113339870
+Hm, Du hast natuerlich recht. ;-) Wenn man sich 4 Wochen lang nur mit Bugs
+in immer derselben Quest rumschlaegt, ist's irgendwann so selbstverstaendlich,
+dass es um diese geht, dass man das ueberhaupt nicht mehr fuer erwaehnenswert
+haelt...
+
+Ums klarzumachen: Raetselstein ist temporaer abgehaengt.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Und wieder ist es passiert. (Zarniya, 13. Apr 2005, 15:05:17):
+~#! rn=Arathorn rt=1113342998 rg=d.ebene
+~#! tid=1113339870
+wenn Grimmi nicht schon an AltersAlzheimer leiden wuerde, dann haette er die
+Quest an der Kombination der Worte "Partituren" und "Fehler" erkannt.
+
+Marc
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Und wieder ist es passiert. (Rochus, 14. Apr 2005, 22:12:39):
+~#! rn=Zarniya rt=1113397517 rg=d.ebene
+~#! tid=1113339870
+Da muss ich Dir ausnahmsweise zustimmen ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Und wieder ist es passiert. (Arathorn, 17. Apr 2005, 15:49:44):
+~#! rn=Arathorn rt=1113339870 rg=d.ebene
+~#! tid=1113339870
+So, dank des "Magiertreffs im Merlin" ist der Bug behoben und die
+Raetselsteinquest demzufolge endlich wieder zugaenglich.
+
+Viel Spass! 
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Sowas. (Humni, 29. Mai 2005, 22:41:36):
+Seltsame Kunde ueberkam mich aus gar nicht fernen Landen: Ein altes Dorf, das
+schon lange auf diversesten Schildern angekuendigt wurde, steht nun hier.
+Nicht weit von Port Vain, und doch scheint man an diesem Ort eigene
+Traditionen zu pflegen, die schlimmste ist der grauenhafte Dialekt, der kein
+Typo ist. Beim ersten Durchlaufen schien es dieserorts auch Probleme zu geben.
+Wobei diese weniger von der Dorfbevoelkerung im eigentlichen Sinne stammen.
+
+Aber seht selbst.
+
+Viel Spass.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+BEKANNTMACHUNG (Miril, 30. Mai 2005, 17:06:36):
+          fuer die Heldinnen und Helden des MorgenGrauen
+          
+Heute, am 30.05.2005 habe ich die grosse Ehre, folgendes bekannt zu geben:
+
+Die Obersten unter den Maechtigen dieser Welt haben sich entschlossen, am
+heutigen Tage einen Orden ins Leben zu rufen, der allen Bewohnern des Morgen-
+Grauen offen steht. Er nennt sich
+
+                   FRATERNITAS DONO ARCHMAGORUM
+                   
+und hat seinen Sitz in der Erzfeste, die jahrhundertelang vor den Blicken 
+aller Bewohner dieser Welt verschlossen war. Erst vor einiger Zeit erschien
+sie an dem ihr zugewiesenen Ort, den "gruenen Dreizehn", einem unscheinbaren
+Huegelgebiet westlich der grossen Stadt Port Vain. Meine Familie hat den 
+Auftrag bekommen, diesen Orden zu gruenden, ueber die Erzfeste zu wachen und 
+jeden, der grosse Taten vorzuweisen hat, angemessen zu belohnen.
+
+Wahre Heldinnen und Helden gibt es sowohl unter den einfachen Leuten als auch
+unter den Sehern. Sie moegen uns aufsuchen, mit unseren Mitgliedern sprechen 
+und angemessen fuer ihre Taten zum Wohle des MorgenGrauen belohnt werden. 
+Scheut nicht den langen Weg, scheut kein schlechtes Wetter und ihr werdet 
+bekommen, was euch zusteht. Manches Geschenk wird sich euch erst eroeffnen, 
+wenn ihr einmalig diese Welt nicht schlafend verlasst, sondern eure Anwesen-
+heit hier beendet. Aber das mag es wert sein. Ob dies wirklich noetig ist, 
+solltet ihr im Einzelfall selbst herausfinden.
+
+Hochachtungvoll
+   Sieglinde Graefin vom Berg, Vorsteherin der Fraternitas Dono Archmagorum
+
+Viel Spass wuenschen Miril und Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Re: BEKANNTMACHUNG (Muadib, 31. Mai 2005, 13:42:59):
+~#! rn=Miril rt=1117465596 rg=d.ebene
+~#! tid=1117465596
+Nur um Aerger zu vermeiden: Wer sich eines der Geschenke ohne Ende abholt, der
+sollte sich nicht wundern, wenn sie nach einem Crash/Reboot nochmal abgeholt
+werden muessen.
+
+Die Unanehmlichkeit ist damit begruendet, dass ich die aktuelle Uptime noch
+nicht beenden wollte.
+
+Gruss
+
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Warnung (Arathorn, 19. Jul 2005, 01:11:02):
+Hallo zusammen,
+
+selbst ein so altes Gebiet wie die Ebene ist nicht unveraenderlich. Ich
+habe heute nachmittag festgestellt, dass der Nablasumpf sich aus unerfind-
+lichen Gruenden etwas weiter ausgedehnt hat, als das bis vor kurzem noch
+der Fall war. Ich suche noch nach der Ursache, wollte aber schonmal warnen,
+sicherheitshalber nicht zu tief in den Sumpf zu stapfen. Nach ersten
+Erkenntnissen koennte es sich um eine Veraenderung aufgrund goettlichen
+Eingreifens handeln.
+
+Seid vorsichtig.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Fraternitas die 2. (Miril,  6. Aug 2005, 14:56:35):
+
+Hiermit moechte ich allen Sehern kundtun, dass sie sich nun bei mir melden
+koennen, falls sie denn wuerdig sind.
+
+Hochachtungsvoll
+    Sieglinde vom Berg
+
+
+Viel Spass wuenschen Muadib und Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Monster (Nedime,  4. Nov 2005, 21:10:18):
+Der heisse Atem meiner Mutter wird mir immer in Erinnerung bleiben, so wie
+die weiten Schwingen meines Vaters. Damals in unserer Hoehle im Wald, als
+wir in Frieden und Eintracht lebten. Ich spielte mit Bruamniflas und dem 
+kleine Wildfang Brumlina. Mein aeltester Bruder brachte mir bei, wie man
+jagt. Er liebte den Fruehling ueber alles und gemeinsam zogen wir ueber
+die Waelder hinweg und waren gluecklich.
+
+Doch dann kam er, der schreckliche Tag. Der Tag, der alles veraendern 
+sollte. Mordend und brandschatzend fielen die Monster ueber uns her,
+mit ihren magischen Waffen, Feuerbaellen und gemeinen Fallen. Sie liessen
+uns keine Chance, und nach und nach schlachteten sie erbarmungslos alle ab.
+Sogar vor der kleinen Brumlina machten sie nicht halt. Als meine Mutter
+sah, dass alles verloren war, schlug sie mir den Weg frei. Ich konnte 
+fliehen. Tagelang, jahrelang schlug ich mich durch, bis ich endlich eine
+Heimstatt fand. 
+
+Dort sitze ich nun, und weiss nicht, ob ich Rache ueben
+soll an den Monstern, die mein Leben zerstoerten. Rache ist schlecht, sie 
+liegt nicht in meiner Natur. Und doch will ich es nicht ungesuehnt lassen.
+Was soll ich tun? Gelehrt hat man mich, die Gewalt zu meiden, wo immer ich
+kann. Wird es trotzdem eine Moeglichkeit geben? Ich brauche Rat und so 
+wende ich mich nun an den, der mich zu finden vermag und es wagt mir zu
+helfen.
+
+Viel Spass wuenschen Miril und Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Magische Wege (Miril,  9. Apr 2006, 11:45:04):
+                           Bekanntmachung
+
+In letzter Zeit wurde ich haeufiger von Mitgliedern unseres Ordens 
+angesprochen, ob ich denn nicht einmal die Maechtigen wegen der 
+Anforderungen konsultieren koennte, die Lezz an die Helden stellt.
+Uns ist zu Ohren gekommen, dass die Maechtigen vor einiger Zeit schon
+den Status des Sehenden frueher an wahre Helden vergeben, als es vormals
+der Fall war.
+Daraufhin habe ich mich entschlossen, die Maechtigen zu bitten, auch uns
+zu gestatten, schon etwas unerfahreneren Helden eine Einweisung in die
+Nutzung der magischen Wege geben zu duerfen. Sie haben meiner Bitte 
+entsprochen, da dieses Geschenk ansonsten fast seinen Nutzen verloren haette.
+
+Wenn ihr also von Lezz bislang abgewiesen wurdet, solltet ihr ihn noch
+einmal aufsuchen.
+
+Mit schwesterlichem Grusse
+Sieglinde vom Berg, Ordensvorsteherin der Fraternitas Dono Archmagorum
+
+-----------------------------------------------------------------------------
+
+
+
+Saeurebaelle (Arathorn,  9. Aug 2006, 20:21:31):
+Hallo zusammen,
+
+wie ich gerade eben festgestelle habe, ist die Qualitaet der modernen Waren
+nicht mehr so wie frueher. Die Daerme, in die gewisse Saeurebaelle gehuellt
+sind, scheinen weniger reissfest zu sein als noch vor kurzem. Wundert Euch
+bitte nicht, wenn sie scheinbar ohne Euer Zutun einfach so platzen.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Saeurebaelle (Grimmborn,  9. Aug 2006, 21:27:28):
+~#! rn=Arathorn rt=1155147691 rg=d.ebene
+~#! tid=1155147691
+Dreckskapitalismus. Vermutlich waren die neuen Huellen im Hunderterpack eine
+Muenze billiger, und wie ueblich muss der user das dann ausbaden. Und da soll
+man nicht sauer werden!
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Saeurebaelle (Zook,  9. Aug 2006, 21:29:15):
+~#! rn=Grimmborn rt=1155151648 rg=d.ebene
+~#! tid=1155147691
+Reine Spekulation!
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Gewisse Spruehdosen... (Arathorn, 14. Okt 2006, 00:09:20):
+... haben jetzt keine unbegrenzte Fuellmenge mehr und auch die (jetzt
+richtig geschriebenen) Graffitis haben ein wenig von ihrer Haltbarkeit
+eingebuesst.
+Falls im Zuge der Aenderung einige Spruehdosen das Zeitliche gesegnet haben
+sollten: sorry. ;-)
+
+Gruss, Arathorn
+
+P.S., @Rumata: Der (eigentlich wohl korrekte) Singular "Graffito" ist im
+Deutschen eher unueblich und wird daher hier nicht verwendet :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Daemonenburg (Arathorn, 13. Nov 2006, 23:59:15):
+Hallo zusammen,
+
+ich habe heute einige technische Aenderungen an verschiedenen NPCs in der
+Daemonenburg vorgenommen. Diese betreffen lediglich die Bewegung der
+NPCs, nicht die Kampfeigenschaften oder ihre Items. Solltet Ihr ungewohntes
+Verhalten oder andere Merkwuerdigkeiten an der Bewegung und den Aufenthalts-
+orten der NPCs feststellen, gebt bitte kurz bescheid. Danke.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Daemonenburg (Kellybundy, 14. Nov 2006, 20:39:14):
+~#! rn=Arathorn rt=1163458755 rg=d.ebene
+~#! tid=1163458755
+Putzteufel V2? Noch nerviger, noch gemeiner, klaut jetzt auch die Leitern
+unter den Lichtdaemonen? *GG*
+SCNR, Dumpfi
+
+-----------------------------------------------------------------------------
+
+
+
+Noch son Suchtie... (Zesstra, 18. Nov 2006, 20:21:28):
+Huhu,
+
+in Port Vain laeuft so ein Typ rum, der offenbar dringend was braucht. Ihr
+koennt ja mal schauen, ob ihr das Beduerfnis erfuellen koennt. ;-)
+
+(Das ist natuerlich primaer fuer Anfaenger gedacht, die ihre ersten Schritte
+in Port Vain machen. Die Mini-Mini-Mini-Aufgabe erledigen kann aber natuerlich
+jeder. ;-) )
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Noch son Suchtie... (Key, 18. Nov 2006, 21:20:35):
+~#! rn=Zesstra rt=1163877688 rg=d.ebene
+~#! tid=1163877688
+Ich habe sein weltliches Problem geloest ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Wandelbares Chamaeleon (Arathorn,  5. Apr 2007, 00:24:54):
+Hallo zusammen,
+
+ueber den letzten Monatswechsel hinweg offenbarte sich der etwas skurrile
+Humor von Mutter Natur in einer seltenen Genmutation der Chamaeleons von
+Kantharr, die dazu fuehrte, dass diese sich so gut tarnten, dass man sie
+nicht mehr nur schwer, sondern gar nicht mehr entdecken konnte.
+
+Zuerst sah es, passend zum Datum, nach einem Aprilscherz aus, aber eine
+genauere Betrachtung machte einige Reparaturen erforderlich. Diese sind
+jetzt fertig und die Chamaeleons sollten sich wieder wie gewohnt verhalten.
+
+Falls doch noch Unstimmigkeiten auftreten - Mail an mich.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Filo (Arathorn,  5. Apr 2007, 11:55:06):
+Hi zusammen,
+
+nach einigen Beschwerden ueber sein Verhalten habe ich nochmal eindringlich
+mit Filo geredet, aber er wollte zunaechst nicht auf mich hoeren. Ein gemein-
+samer Besuch bei der Allwissenden Muellhalde brachte doch noch einen 
+Fortschritt: Wir haben uns darauf verstaendigt, dass es voellig ausreicht,
+den ohnehin schon ueberall herumliegenden Kram einzusammeln und zur
+Muellhalde zu schleppen, und es daher nicht noetig ist, auch noch die
+Gegenstaende aus den Seherhaeusern mitzubringen. Zumal es ja auch sehr
+unhoeflich den Besitzern gegenueber ist.
+Filo hat das eingesehen und uns versprochen, nichts mehr mitzunehmen, wenn
+er mal in Seherhaeusern vorbeischauen sollte. Er moechte sich auf diesem
+Wege auch noch einmal bei allen entschuldigen, denen durch sein Verschulden
+etwas abhanden kam.
+
+Gruss, Arathorn.
+
+P.S.: Sollte er wider Erwarten doch die Finger nicht von Euren Sachen lassen,
+      schickt mir einfach eine Mail.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Filo (Darklor,  6. Apr 2007, 22:29:31):
+~#! rn=Arathorn rt=1175766906 rg=d.ebene
+~#! tid=1175766906
+Immer diese fiesen NPC's...
+
+
+Darklor
+
+-----------------------------------------------------------------------------
+
+
+
+Die Quest 'Sams Logbuch' ... (Arathorn, 18. Apr 2007, 00:21:41):
+... hat nun einen auch mit "grafik aus" anstaendig lesbaren Steckbrief sowie
+eine ebensolche Seekarte. Sollten in dieser oder anderen Quests in der Ebene
+weitere Probleme dieser Art auftreten: meldet Euch.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Die Quest "Hilf dem Architekten". (Arathorn, 22. Apr 2007, 12:37:24):
+Hallo zusammen,
+
+ich habe gerade eine umfangreichere Aenderung an den Kartenteilen der
+Architekten-Quest eingespielt. Die Aenderung hat mit dem bei allen Magiern
+beliebten Befehl "grafik aus" zu tun. Wer die Quest schon kennt, dem verrate
+ich nix neues, wenn ich sage, dass die Kartenteile eine Grafikausgabe
+mitbringen. Diese Grafikausgabe habe ich um entsprechende Textbeschreibungen
+ergaenzt, die im Falle von "grafik aus" ausgegeben werden. Fuer diejenigen,
+die nach wie vor mit Grafikausgabe spielen, hat sich das Verhalten der
+Karten nicht geaendert. Fuer alle anderen gibt es jetzt zwei neue Befehle,
+die es erlauben, gezielt auf die jeweiligen Beschreibungen zuzugreifen.
+
+Sollte es mit den Texten, der Funktionalitaet, oder sonst etwas in der Quest
+Schwierigkeiten geben, meldet Euch bitte umgehend.
+
+Ach so, noch etwas. Ich moechte an dieser Stelle den Hinweis anbringen, den
+auch der Architekt zur entsprechenden Zeit geben wird: Solltet Ihr 
+"grafik aus" eingestellt haben, weil Ihr blind seid, dann empfehle ich,
+als Begleiter solche Spieler mitzunehmen, die die Kartengrafik sehen koennen.
+Ich denke, dass die Quest mit den Aenderungen auch komplett ohne Grafik
+spielbar sein muesste, es wird aber vermutlich wesentlich einfacher, wenn
+jemand dabei ist, der die Grafik sieht.
+Ich moechte auch um Verstaendnis dafuer bitten, dass zur Zeit der Entstehung
+dieser Quest noch niemand daran gedacht hat, dass es erforderlich sein
+koennte, das gesamte Gebiet grafikfrei zu bauen. Das fuehrt leider in der
+Folge dazu, dass die Quest zu einem nicht unerheblichen Teil auf die
+Grafikanzeige angewiesen ist, um Hinweise zur Aufgabenstellung zu geben.
+
+Ich hoffe, ich konnte die Grafik ausreichend beschreiben und die wesentlichen
+Hinweise einbauen, so dass Ihr zurechtkommt. Nochmal der Aufruf: Wenn es
+Probleme gibt, meldet Euch.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Hilfe oder Verrat? (Zesstra, 28. Mai 2007, 20:27:42):
+Huhu,
+
+ihr habt von jetzt an die Gelegenheit, den wohl unfaehigsten Kreaturen, die in
+der Ebene rumlaufen, etwas zu helfen... Obs ihnen wirklich hilft, wage ich
+zwar zu bezweifeln, aber nen Versuch ists vielleicht wert...
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Eraditor (Zesstra, 24. Sep 2007, 15:22:37):
+Auf besonderen Wunsch hin gebe ich bekannt, dass ich den Eraditor in der
+Daemonenburg bugfixenderweise veraendert hab, was sich im Kampf bemerkbar
+machen koennte. 
+Viel Spass
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Wolfsfelle ... (Ark,  2. Dez 2007, 21:27:34):
+... erfreuen Zauberer vielleicht jetzt noch mehr.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Das Metzelorakel. (Arathorn, 16. Jan 2008, 00:11:04):
+Hallo zusammen,
+
+ich habe heute eine neue Version des Metzelorakels eingespielt, weil einige
+unschoene Nebenwirkungen auftraten, deren Behebung umfangreichere interne
+Aenderungen erforderte. Als Folge davon sollte sich fuer Euch erstmal nichts
+aendern, allerdings duerften Euch zwei Kleinigkeiten auffallen:
+
+1) Aus saemtlichen Toplisten sind die Duplikate verschwunden. Der einzige
+   Fall, in dem ein Spieler mehrfach in derselben Liste auftauchen kann, ist,
+   dass er mit unterschiedlichen Helfern im Einsatz war.
+
+2) Der Schamane fertigt seine Todesrunen neuerdings stilvoll lieber aus Ton
+   an statt wie bisher aus Schiefer. Ton hat bezueglich der Funktion der
+   Rune allerdings einen kleinen Nachteil: Er bindet Magie wesentlich
+   effizienter als der bisher verwendete Schiefer. Daher dauert es etwas
+   laenger, bis die Information ueber den Tod des NPCs bei Chinkuwaila
+   angekommen ist - man koennte sich das wie eine Art magischer Brieftaube
+   vorstellen. Fuer Euch Metzelwuetige heisst das letztendlich, dass Ihr
+   im Raum neben der Leiche des NPCs stehenbleiben muesst, wenn Ihr wollt,
+   dass der Kill ordnungsgemaess gezaehlt wird.
+
+Viele Gruesse und weiterhin viel Spass mit dem Orakel.
+Sollte es Probleme geben, bitte einfach melden.
+
+Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Das Metzelorakel. (Arathorn, 16. Jan 2008, 00:13:43):
+~#! rn=Arathorn rt=1200438664 rg=d.ebene
+~#! tid=1200438664
+Achso, ich vergass: Stehenbleiben natuerlich nur, bis der Kill auf der Ebene
+vermeldet wurde. :-)
+
+Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Das Metzelorakel. (Arathorn, 17. Jan 2008, 23:59:31):
+~#! rn=Arathorn rt=1200438823 rg=d.ebene
+~#! tid=1200438664
+Eine weitere Kleinigkeit wurde nachgeruestet: Frisch erlegte Monster werden
+jetzt fuer eine gewisse Zeit nicht mehr neu als Auftraege ausgegeben, um
+ihnen ausreichend Zeit zu geben, wieder in das Diesseits zurueckzukehren.
+Falls Ihr Probleme bemerkt: wie immer einfach melden.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Das Metzelorakel. (Arathorn, 18. Jan 2008, 00:02:30):
+~#! rn=Arathorn rt=1200610771 rg=d.ebene
+~#! tid=1200438664
+Achso, und wieder eine Zusatzinfo: Das gilt natuerlich nur fuer Monster, die
+im Rahmen eines Auftragsmordes fuer den Schamanen erledigt wurden. Wenn Euch
+jemand anderes ein Monster vor der Nase wegklopft, kann Euch auch dieses
+neue Feature nicht helfen. :)
+
+-----------------------------------------------------------------------------
+
+
+
+Die Seherraeuber... (Arathorn, 28. Jul 2008, 23:37:54):
+... haben gelernt, etwas genauer zu zielen, wenn sie etwas wegwerfen, so
+dass jetzt nichts mehr wirklich abhanden kommen sollte.
+
+Wenn das trotz Testens nicht gescheit funktioniert, meldet Euch.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Zardoz Monolith (Ennox, 14. Sep 2009, 23:14:23):
+wird jetzt wieder von den Maechten des Chaos regiert. Danke an Arathorn fuer
+sein Ok.
+
+Ennox, haendereibend
+
+-----------------------------------------------------------------------------
+
+
+
+Heimelige Adventszeit... (Zesstra, 30. Nov 2009, 20:55:48):
+Huhu,
+
+auch dieses Jahr gibt es an gewohnter Stelle ab morgen wieder einen gewissen
+Weihnachtstroll, welcher ein paar alte und neue Aufgaben fuer die Forscher
+unter euch hat. ;-) Damit wuenschen wir euch schonmal viel Spass fuer die
+naechsten paar Wochen!
+Allerdings habe ich es nicht geschafft, soviel neues unterzubringen, wie ich
+mir gewuenscht haette, weil ich noch an etwas anderem fuer euch arbeite. Wer
+mich auch noch waehrend der naechsten Tage mit konkreten Ideen fuer Tuerchen
+unterstuetzen mag, moege mir bitte eine Mail schreiben. ;-)
+
+In Kuerze - leider nicht mehr heute - wird es fuer die Seher unter euch auch
+eine weitere Aufgabe geben. Diese koennt ihr parallel machen, wenn ihr das
+wollt, ihr muesst euch nicht fuer eine entscheiden. Diese Aufgabe fuer Seher
+wird etwas gefaehrlicher werden als das, was ihr bisher zur Adventszeit kennt.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Heimelige Adventszeit... (Ark, 30. Nov 2009, 21:28:25):
+~#! rn=Zesstra rt=1259610948 rg=d.ebene
+~#! tid=1259610948
+Um Fragen gleich vorzubeugen ... ja, es ist eine kleine Miniquest und ja, sie
+laesst sich nur im Dezember loesen ... also die Aufgabe in Normal :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Heimelige Adventszeit... (Zesstra,  3. Dez 2009, 23:12:35):
+~#! rn=Zesstra rt=1259610948 rg=d.ebene
+~#! tid=1259610948
+Hat leider etwas laenger gedauert, aber...
+
+Fuer Seher, die eine Herausforderung suchen, lohnt sich jetzt ein Besuch im
+Grimmswald der Parawelt. Dort braucht ein kleiner Weihnachtstroll naemlich
+dringend die Hilfe von gestandenen Helden.
+Diese Aufgabe koennt ihr ebenfalls bis zum Ende des Jahres spielen. Allerdings
+sollte man je nach Schwierigkeit mit Sicherheit deutlich eher anfangen.
+Wie schwer ihr es euch macht, haengt von euch selbst (und natuerlich etwas
+'Wuerfelglueck') ab. Waehlt weise, damit ihr euch weder langweilt noch
+frustriert aufgebt.
+
+Ich hoffe, ihr habt etwas Spass und Nervenkitzel daran. :-)
+
+Mein Dank fuer die Unterstuetzung bei der Bastelei gehen vor allem an Ark,
+Arathorn und Tassram. :-)
+
+Ueber Kommentare und Anregungen freue ich mich, je nach Komplexitaet der
+Anregung setze ich auch gerne noch dieses Jahr etwas davon um.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Heimelige Adventszeit... (Zesstra, 24. Dez 2009, 10:00:51):
+~#! rn=Zesstra rt=1259878355 rg=d.ebene
+~#! tid=1259610948
+Huhu,
+
+ich muss euch leider mitteilen, dass ich die Belohnung, welche ich dem
+Para-Weihnachtstroll geben wollte, aus persoenlichen Gruenden nicht
+rechtzeitig fertig gekriegt habe.
+Daher muss ich euch um etwas Geduld bitten. Der Troll merkt sich jedoch eure
+Hilfe auch weiterhin und wird sich spaeter revanchieren.
+Seid also nicht allzu verwundert, wenn der Troll euch nichts gibt, auch wenn
+ihr ihm 24 Geschenke wiederbeschafft und vorbeigebracht habt - kommt noch. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Ein Silberstab... (Arathorn,  1. Jan 2010, 20:58:15):
+... wurde ein wenig angepasst. Bereits existierende Gegenstaende wurden
+ersetzt.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Das magische Xanti-Schwert (Arathorn,  7. Feb 2010, 13:51:48):
+Hiho,
+
+besagtes Schwert hat sich einige Zeit lang durch einen Bug geweigert, sich
+ordnungsgemaess aufzuloesen, wie es vorgesehen war. Ich habe dem Schwert
+gerade mal Manieren beigebracht und es ueberzeugen koennen, sich ab sofort
+wieder korrekt zu verhalten. Diese Einsicht fuehrte allerdings auch dazu,
+dass alle bereits exisiterenden Schwerter dieser Art ihr Versaeumnis
+nachgeholt haben. Wundert Euch also nicht, wenn Euer Waffenguertel ploetzlich
+leichter geworden sein sollte, bzw. Euer Waffenschrank etwas geraeumiger
+erscheinen sollte. :-)
+
+Gruss, Arathorn
+
+-----------------------------------------------------------------------------
+
+
+
+Die Falltuer ... (Arathorn, 19. Mar 2010, 00:41:31):
+... in der Stadt im Buch sollte jetzt (wieder) keine Begleiter mehr
+zerstoeren. Falls dort dennoch jemand auf Schwierigkeiten stoesst, bitte
+wie gehabt einfach melden.
+
+Gruss, A*n
+
+-----------------------------------------------------------------------------
+
+
+
+Diddl-Maus (Arathorn, 29. Mar 2010, 22:53:39):
+Hiho,
+
+ein Bugfix in der Diddl-Maus hat einen Austausch aller existierenden
+Maeuse erforderlich gemacht. Sollte sich die Maus infolgedessen irgendwie
+seltsam (lies: anders als gewohnt) verhalten, bitte melden.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Luftballons (Arathorn, 29. Mar 2010, 23:10:36):
+Hallo zusammen,
+
+die Luftballons von Pennywise sind jetzt wieder wie gewohnt erreichbar.
+Es gab da einige Ungereimtheiten, die einige umfangreichere Aenderungen
+erforderlich machten (auch im Zusammenhang mit der urspruenglich von der
+Balance genehmigten Funktionalitaet). Existierende Ballons habe ich 
+nicht ausgetauscht, da ja auch ein gewisser Zufallsfaktor bei der 
+Beschaffung der Ballons im Spiel ist. 
+
+Bei neuen Ballons muesst Ihr ggf. mit einem etwas veraenderten Verhalten
+rechnen, also nicht wundern. ;-) Sollte irgendwas ueberhaupt nicht 
+funktionieren, wie gehabt einfach melden.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Ignorieren von Sandtigergruessen (Zesstra, 21. Aug 2010, 16:40:33):
+Huhu,
+
+das Ignorieren des Sandtigers wird jetzt nicht mehr im Sandtiger, sondern im
+jeweiligen Spieler gespeichert. Das hat den Vorteil, dass diese Info auch
+geloescht wird, wenn der Spieler sich loescht und es keine Probleme gibt, wenn
+spaeter ein Spieler gleichen Namens angelegt wird. Desweiteren sieht man als
+Spieler das jetzt auch zentral in der Ausgabe von "ignoriere".
+
+Ich war allerdings zu faul, alle bestehenden Ignorieredaten zu extrahieren und
+in die jeweiligen Spieler zu stopfen. Daher muss jeder, der den Tigergruss
+ignorieren will, jetzt nochmal "ignorere sandtigergruss" eintippen...
+
+i.A.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Angelsyntaxen... (Zesstra, 12. Feb 2011, 15:28:13):
+Von neuen Angeln laesst sich Fisch und Haken jetzt tatsaechlich mit "nimm x
+von angel" abnehmen.
+Danke an Gloinson!
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Neulich in der Fraternitas dono Archmagorum (Miril,  6. Sep 2011, 16:02:20):
+Es klopft.
+Siegline vom Berg sagt: 
+Herein!
+
+Halef betritt den Raum.
+Halef verneigt sich tief vor Sieglinde vom Berg.
+
+Halef sagt:
+Oh edle Sieglinde vom Berg, Reckin der Ebene, erlaubt mir unwuerdigem Diener
+aus den suedlichen Gefilden, euch in aller Form zu gruessen. Moegen Eure Tage 
+kriegerisch und eure Naechte in angenehm ruhigem Schlaf verlaufen.
+
+Sieglinde vom Berg sagt etwas irritiert:
+Seid willkommen in der Burg des Ordens, Halef. Was kann ich fuer Euch tun?
+
+Halef schmeichelt:
+Oh, edle Blume der Tapferkeit, gestattet mir nichtswuerdigem Untertan, eine 
+Bitte an euch zu richten. Sie wird dem Orden nicht zu Schaden sein und seinen 
+Ruhm mehren.
+
+Sieglinde vom Berg sagt ungeduldig:
+Nun redet nicht lange um den heissen Brei herum, Halef! Was wollt ihr denn?
+
+Halef erklaert:
+Weise des Ordens, Mutter der Tapferen, folgende Bitte habe ich: Erlaubt mir
+mein Geschaeft in dieser Burg zu eroeffnen, denn wir haben die gleichen Ziele:
+die Heldinnen und Helden des MorgenGrauen auszuzeichnen. Ich bescheidener 
+Sohn eines Goldschmiedes bin in der Lage, wahre Kunstwerke zu erschaffen, die
+nur diejenigen erstehen koennen, die besondere Taten vollbracht haben! Diese
+moechte ich hier feilbieten, um damit besonderen Heldenmut auszuzeichnen.
+Keinen besseren Ort koennte ich mir vorstellen, um meine Werke feilzubieten.
+
+Halef erklaert leiser:
+Und ueberdies soll es der Schaden des Ordens nicht sein, denn die Kunstwerke
+sind nicht gerade billig und natuerlich bekommt Ihr einen angemessenen Anteil.
+
+Sieglinde blickt Halef misstrauisch an:
+So so. Angemessenen Anteil. Was schwebt euch denn da so vor, guter Mann?
+
+Halef sagt:
+Nun, 1000 Muenzen sollt der Orden schon erhalten und das von jedem verkauften 
+Kunstwerk!
+
+Sieglinde schaut Halef streng an und sagt:
+1000 Muenzen? Ihr wollt uns doch uebers Ohr hauen. Fuer dumm verkaufen lass 
+ich mich nicht! Erst einmal ist diese Burg nur fuer Ordensmitglieder. Wenn 
+Ihr Mitglied werden wollt, tragt Euch in dieses Buch hier ein. Und zweitens 
+nehmen wir niemanden auf, der uns ueber Ohr hauen will. Also, ich schau mir 
+das Ganze erstmal eine Weile an. Speziell werde ich auch einige Leute 
+befragen, was denn eure sogenannten Kunstwerke so kosten sollen. Dann 
+ueberlege ich mir, was ein angemessener Anteil ist. Verstanden? Gut. Wenn 
+Euch das nicht passt, koennt Ihr gleich wieder rueckwaerts mein Buero 
+verlassen, verstanden?
+
+Sieglinde macht einen Schritt auf Halef zu.
+Halef windet sich ein bisschen und weicht zurueck.
+
+Halef sagt untertaenig:
+Schon gut, schon gut, Mutter der Gestrengen. Ich gebe zu, 1000 Muenzen 
+ist wirklich zu wenig. Aber wie soll ich meine Toechter und mein Enkel
+ernaehren, meine Kamele fuettern, meine..
+
+Sieglinde unterbricht ihn wuetend:
+Jetzt ist aber Schluss! Hier wird nicht gefeilscht oder verhandelt. Hier
+wird das gemacht, was ich euch sage!
+Also: Schlagt eure Zelte unten im Erdgeschoss auf, da sind noch freie 
+Raeume im Osten. Eigentlich sind die nur fuer Mitglieder, aber wir machen
+da mal eine Ausnahme mit Euch. Wenn Ihr Euch als wuerdig erweist, duerft 
+ihr dem Orden beitreten, aber jetzt noch nicht. Das entscheide ich dann 
+beizeiten. Weggetreten!
+
+Halef sagt unterwuerfig: 
+Habt Dank, edle Reckin. Mehr habe ich unwuerdiger Wurm gar nicht erwarten 
+koennen.
+
+Sieglinde sagt drohend:
+Nun aber raus hier, bevor ich mir das Ganze noch mal anders ueberlege!
+
+
+Viel Spass,
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Neulich in der Fraternitas dono Archmagorum (Miril,  6. Sep 2011, 16:03:13):
+~#! rn=Miril rt=1315317740 rg=d.ebene
+~#! tid=1315317740
+Vielen Dank an Arathorn, Zesstra und Humni, ohne die das alte Projekt nicht
+so fix fertig geworden waere!
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Was lange waehrt... (Arathorn,  9. Sep 2011, 23:31:02):
+...wird hoffentlich gut. Ich habe mich heute abend mal hingesetzt und das
+Diamantschwert ueberarbeitet. Es sollte nun nicht mehr vorkommen, dass
+man von eigenen Begleit-NPCs oder Begleitern anderer Spieler angegriffen
+wird.
+
+Wie immer bitte ich um Rueckmeldung, wenn irgendwas nicht so ist wie
+erwartet bzw. gewohnt.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Schokogolems im gemeinsamen Kampf (Zesstra,  8. Okt 2011, 18:56:44):
+Ich freue mich, euch mitzuteilen, dass ich zwei kleine Fehler in schokoladigen
+Golems im Zusammenhang mit Kaempfen in Teams beseitigt habe.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Adventskalender: Vorschlaege fuer neue Tuerchen und Monster (Zesstra,  5. Dez 2011, 00:06:39):
+Huhu,
+
+wer uns helfen und Vorschlaege fuer neue Tuerchen (Normalwelt) und neue
+Monster (Parawelt) machen will, kann jetzt genau dieses tun und die Vielfalt
+fuer alle verbessern. ;-)
+Einfach den Weihnachtstroll mal nach "neuen tuerchen" oder "neuen dieben"
+fragen.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Adventskalender: Vorschlaege fuer neue Tuerchen und Monster (Zesstra,  5. Dez 2011, 11:26:44):
+~#! rn=Zesstra rt=1323039999 rg=d.ebene
+~#! tid=1323039999
+Oh, wie peinlich. ;-) Man sollte den Troll in Normal nach neuen Verstecken
+fragen, nicht nach neuen Tuerchen... *g* Dank an Nefis!
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Adventskalender: Vorschlaege fuer neue Tuerchen und Monster (Zesstra,  5. Dez 2011, 22:36:39):
+~#! rn=Zesstra rt=1323080804 rg=d.ebene
+~#! tid=1323039999
+Wer jetzt die Gegner aus dem Adventskalender in Para in ihrer Schwierigkeit
+bewerten mag, kann das nun ebenfalls tun. ;-)
+Jeder Gegner kann mittels "bewerte gegner" nach dem Erlegen einmalig (pro
+Erlegen) auf einer Skala von 1 bis 5 bewertet werden. Dies geht aber nur, wenn
+man die Schokolade aus dem Wirbel noch im Inventar hat!
+Wenn es zu groesseren Diskrepanzen zwischen Spielereinschaetzung und zur
+aktiver Einstufung kommt, werde ich da ggf. fuers naechste Jahr anpassen.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Adventskalender (Zesstra,  2. Dez 2012, 01:05:04):
+Wenn jemand von euch Spass am Adventskalender des Weihnachtstrolls am
+Sandtiger hat und zufaelligerweise nen Ort kennt, wo noch ein Tuerchen
+hinpasst, kann er/sie das auch vorschlagen. Dazu gibt es nen kleines Amulett
+vom Troll.
+Waer schoen, wenn ihr das machen wuerdet, dann bleibt der Kalender auch in
+Zukunft spannend. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Metzelorakel (Arathorn, 31. Mai 2013, 20:42:22):
+Hallo zusammen,
+
+nachdem es gestern zu einer gewissen Verwirrung seitens Chinkuwaila kam, als
+eines seiner auserwaehlten Opfer im Bannkreis eines Dunkelelfen starb,
+habe ich heute fuer Aufklaerung gesorgt und ihm das Zugestaendnis abgerungen,
+auch solche Tode anzuerkennen.
+
+Solltet ihr jedoch dafuer sorgen, dass ein Opfer nicht nur im Bannkreis,
+sondern auch noch an Gift stirbt, wird er mit dieser Vorgehensweise nach wie
+vor nicht einverstanden sein und eure Muehen nicht anerkennen, da er 
+solcherlei Tun als eines wahren Kriegers unwuerdig erachtet.
+
+Gruss, Arathorn.
+
+P.S.: Sollte der alte Schamane mich missverstanden haben und seine Kriterien
+fuer die Anerkennung von Kills voellig durcheinander bringen, bitte ich um
+Nachricht. Danke!
+
+-----------------------------------------------------------------------------
+
+
+
+Adventskalender 2013 (Zesstra, 30. Nov 2013, 21:58:31):
+Huhu,
+
+auch in diesem Jahr werden euch die beiden Weihnachtstrolle beschaeftigen,
+sofern ihr das wollt.
+Wie immer gibt es die alten Tuerchen aus den Vorjahren und einige neue.
+Und wie immer laeuft das ganze bis zum 31.12. um 23:59:59.
+
+Und noch zwei Hinweise/Bitten:
+Ihr koennt mit Hilfe des Amuletts des Weihnachtstrolls selber neue Tuerchen
+und auch neue Diebe fuer die Paraweltversion vorschlagen.
+Und wenn ihr fuer die Paraweltversion ein Geschenk fuer den Troll
+wiederbeschafft habt, koennt ihr eure Wertung abgeben, wie schwierig/aufwendig
+ihr den jeweiligen Dieb fandet - solange ihr die Schokolade noch nicht beim
+Troll abgegeben habt.
+Beides hilft, die Adventskalender zu verbessern und zu erweitern.
+
+Viel Spass euch allen,
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Adventskalender 2013 (Zesstra, 30. Nov 2013, 22:02:01):
+~#! rn=Zesstra rt=1385845111 rg=d.ebene
+~#! tid=1385845111
+Achja: bei Vorschlaegen sind natuerlich insbesondere solche gerne gesehen,
+welche den Spieler in weniger bekannte oder weniger besuchte Gegenden fuehren.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Adventskalender 2013 (Zesstra, 11. Dez 2013, 00:02:47):
+~#! rn=Zesstra rt=1385845111 rg=d.ebene
+~#! tid=1385845111
+Es gab bei einem Tuerchen im Neandertal leider einen Tipfehler, weswegen man
+das Tuerchen nicht so wie gewuenscht finden konnte. Der ist jetzt behoben. Zu
+finden ist das Tuerchen ansonsten genauso wie alle anderen auch.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Heide (Miril, 11. Jan 2014, 12:49:17):
+Dank eines Hinweises eines Spielers ist die Heide nun endlich so, wie sie
+urspruenglich gedacht war. Da war ein Fehler drin, der mir die ganzen Jahre
+nicht aufgefallen ist.
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Bekanntmachung (Miril, 30. Jan 2014, 21:59:39):
+Sehr verehrte Heldinnen und Helden des MorgenGrauen!
+
+Mit grosser Freude darf ich bekanntgeben, dass fortan die Bibliothek der
+Fraternitas fuer die Oeffentlichkeit zugaenglich ist. Unser werter
+Bibliothekar Ant Fo Li steht fuer Fragen selbstverstaendlich zur Verfuegung. 
+
+Nicht ohne Stolz darf ich sagen, dass unsere Bibliothek besonderes Wissen
+bereithaelt, welches es andernorts nicht zu finden gibt. Die Erzmagier
+hoechstselbst haben dieses Wissen freigegeben, auf dass ein jeder es erlangen
+kann. Natuerlich ist der Zugang zu diesem Wissen mit einer kleinen Aufgabe
+verbunden, aber die werdet ihr schon meistern!
+
+Graefin Siglinde vom Berg im Auftrag der Erzmagier und Goetter
+
+-----------------------------------------------------------------------------
+
+
+
+Neue alte Aufgaben (Arathorn,  9. Feb 2014, 19:42:27):
+Hallo zusammen,
+
+ich habe mich heute nachmittag etwas laenger mit Owen unterhalten und ihn
+ueberred... aeh ... ueberzeugen koennen, dass es doch nur angemessen waere,
+eine angemessene Belohnung an Spieler zu vergeben, die ihm helfen, die
+Goblinplage vor den Toren der Stadt unter Kontrolle zu bringen.
+
+Weiterhin hat auch ein leidgeplagter Gefangener trotz seiner misslichen Lage
+einsehen koennen, dass es wohl etwas wert ist, wenn sich jemand zu ihm
+durchschlaegt, um ihm zu helfen.
+
+Zieht also aus, werte Helden, und lasst den beiden Eure Hilfe zuteil werden.
+
+Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Neue alte Aufgaben (Arathorn, 10. Feb 2014, 00:13:44):
+~#! rn=Arathorn rt=1391971347 rg=d.ebene
+~#! tid=1391971347
+Ein gewisser Einsiedler haette auch nichts gegen etwas mehr Besuch, so dass
+er sich bereit erklaert hat, Euch fuer Eure Hilfe zu entlohnen - womoeglich
+wollte er auch Owen in nichts nachstehen, nachdem der ja schon vorgeprescht
+ist.
+
+Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Auge des Teufels (Ark, 30. Mai 2014, 02:31:53):
+Die Quest ist bis auf weiteres geschlossen aufgrund der Reboot "Hickups". Bis
+ich mit allen Files durch bin, dauert das. Ich sage Bescheid, wenn alles
+wieder besser aussieht. Sorry.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Auge des Teufels (Ark,  1. Jun 2014, 18:12:34):
+~#! rn=Ark rt=1401409913 rg=d.ebene
+~#! tid=1401409913
+Dank der tapferen Arbeit unseres Ebenen RMs eruebrigt sich mein Tun, insofern
+duerft ihr wieder die Gastfreundschaft der Klopeks in Anspruch nehmen. Hail
+Arathorn, son of Arador.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Auge des Teufels (Zook,  1. Jun 2014, 18:31:40):
+~#! rn=Ark rt=1401639154 rg=d.ebene
+~#! tid=1401409913
+Das ist ja auch meine Lichtgestalt!
+
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Unterwegs im Auftrag der Fahrtensaenger (Arathorn,  3. Jun 2014, 21:58:49):
+Werte Freunde der Ebene,
+
+heute im Laufe des Tages erreichte mich Kunde von Tasmin Ferrence, dem
+ehrwuerdigen Grossmeister des Fahrtensaengerordens. Er teilte mir  
+hocherfreut mit, dass sein Orden endlich jemanden gefunden habe, der bereit
+sei, die Weiten der Ebene zu bereisen und von den kleineren und groesseren
+Heldentaten zu kuenden, die ihre Bewohner und deren Gaeste vollbringen,
+und der zudem noch die noetigen, besonderen Begabungen fuer die ihm
+zugedachte Aufgabe besitze.
+
+Tasmin ergaenzte noch, dass er diesen Musikanten zunaechst einmal beauftragt
+habe, einige Gasthaeuser und verschiedene andere Orte in der Ebene 
+aufzusuchen, um dort seine Kuenste feilzubieten. Er sei mit einem bunten,
+weithin sichtbaren Flickenumhang versehen worden, der ihn als reisenden
+Fahrtensaenger im Auftrag des Ordens ausweise und ihn unter Tasmins
+persoenlichen Schutz stelle. Jedem, der es wage, ihn allzu harsch anzureden
+oder der sich gar an ihm vergreifen wolle, dem wuerden ... finstere Dinge
+zustossen.
+
+Ich teile euch das vor allem auf Bitten von Tasmin selbst mit, aber lasst
+euch davon nicht schrecken. Ich habe den Saenger bereits kennengelernt und
+konnte mich davon ueberzeugen, dass er ein ueberaus friedliebender Mensch
+ist, der ohnehin keinen Anlass geben wird, sich mit ihm ernsthaft
+auseinandersetzen zu muessen.
+
+Sucht diesen Kuenstler ruhig selbst einmal auf, ich bin sicher, er weiss das
+eine oder andere Wissenswerte ueber die Ebene und ueber Euch zu berichten.
+
+Gruss, Arathorn, Chef-Pizzabaecker der Ebene.
+
+-----------------------------------------------------------------------------
+
+
+
+Bei Klopeks ... (Ark,  4. Aug 2014, 20:58:56):
+... wird es ungemuetlicher. Man ist ob der mannigfaltigen Besucher
+misstrauisch geworden, und laesst nicht mehr jeden herbeigelaufenen Moerder
+ins Haus. Vincent spuert aber, wenn man aus ... Hilfsbereitschaft anklopft.
+Will heissen: ohne Auftrag kein Einlass :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Das Drachentoetertoeteramulett (Arathorn, 31. Aug 2014, 22:52:12):
+Hallo zusammen,
+
+nachdem in letzter Zeit Schwierigkeiten mit besagtem Amulett auftraten,
+wenn mehrere Quester gleichzeitig einen der Ziel-NPCs angriffen, habe ich
+das Amulett an einigen grundlegenden Stellen ueberarbeitet mit dem Ziel,
+dass das jetzt nicht mehr vorkommen sollte.
+
+Solltet ihr ein neues Amulett haben wollen, muesstet ihr einmal "Ende"
+machen. Wenn aufgrund der Ueberarbeitung andere Schwierigkeiten auftreten,
+oder das urspruengliche Problem wider Erwarten nicht behoben wurde, meldet
+euch bitte.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Die Drachentoetertoeter-Miniquest von Brumni (Arathorn,  5. Okt 2014, 01:47:11):
+Hallo zusammen,
+
+es gibt momentan ein Problem bei der genannten Miniquest, das den Toetungs-
+auftrag fuer Asaniel betrifft: es kann passieren, dass dessen Ableben nicht
+gewuerdigt wird. 
+
+Das Problem wird nach meinem derzeitigen Verstaendnis ausgeloest, wenn
+ein Kampf recht lange dauert. Technische Details wuerden hier mehr verwirren
+als aufklaeren, daher nur soviel: Fuer euch als Spieler bedeutet das, dass 
+ihr die Miniquest ohne weiteres beginnen koennt, aber damit rechnen muesst, 
+dass ein Kill nicht gezaehlt wird, wenn ihr euch sehr lange mit dem 
+jeweiligen NPC abmueht. "Lange" bedeutet in diesem Fall >15 min. Alles, was
+schneller geht (und das sollten alle NPCs ausser Asaniel sein), ist voellig
+unproblematisch.
+
+Wir arbeiten an einem Fix, der jedoch in den Tiefen der Mudlib erfolgen muss,
+so dass es voraussichtlich einen Moment dauern wird, bis das Problem aus der
+Welt ist.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Die Drachentoetertoeter-Miniquest von Brumni (Arathorn, 13. Okt 2014, 19:35:12):
+~#! rn=Arathorn rt=1412466431 rg=d.ebene
+~#! tid=1412466431
+Besagtes Problem wurde behoben. Es koennen jetzt (das war bisher nicht so,
+ist aber m.E. durchaus sinnvoll) mehrere Spieler gleichzeitig einen der
+Ziel-NPCs bekaempfen und auch den Kill gutgeschrieben bekommen (natuerlich
+sofern sie die von Brumni daran geknuepften Anforderungen erfuellen).
+
+Dank an dieser Stelle an die betroffenen Spieler, die geduldig auf den Fix
+gewartet haben und auch waehrend der Umstellungsarbeiten fuer Testkills
+bei Asaniel zur Verfuegung standen.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Das Haus des Teufels ... (Ark, 28. Jan 2015, 21:03:59):
+... hat neue (alte, aber bisher dysfunktionale) Eingangsregeln. Spieler mit
+Quest kommen direkter rein. Spieler ohne Auftrag, besonders
+herumstreun^H^H^H^H^H^Hlaufende Anfaenger und andere, kommen nicht rein.
+Um Einlass zu bekommen, ist nun zwangsweise ein Besuch bei der Auftraggeberin
+noetig und auch die explizite Bekundung, ihr zu helfen. Ansonsten bleibt es
+beim Anschauen der Tuer :-)
+So wird es auch hoffentlich nicht mehr kleinen Spielern zu einfach gemacht, in
+das schroeckliche Bauwerk einzudringen.
+Bugs etc. wieder auf mich werfen, hoffe aber, es kommt nicht zu Komplikationen
+:-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Fahrtensaengersiegel (Arathorn,  1. Feb 2015, 13:38:00):
+Hallo zusammen,
+
+ich habe gerade alle im Umlauf befindlichen Fahrtensaengersiegel ausge-
+tauscht, weil es Komplikationen mit dem "singe"-Befehl gab. Ich rechne
+nicht mit Nebenwirkungen an anderer Stelle, die durch die Aenderung
+ausgeloest werden koennten, aber wenn euch was auffaellt, meldet euch.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Empor in luftige Hoehen! (Notstrom, 27. Apr 2015, 01:00:43):
+Huhu,
+
+erstmal danke, in dieser Rubrik hab ich ja noch gar nichts von mir gegeben.
+Also, aeh, ich habe die Ehre, ein paar neue Kraeuter in der Region Ebene
+ankuendigen zu duerfen. Leider war es dafuer noetig, ein paar neue Raeume
+anzuknipsen. Die sollten aber fuer die eher ERFAHRENEN Bergsteiger unter
+Euch kein Problem sein (denke ich).
+
+Naja, leider konnte ich ein paar boesartige, fiese und gemeine Kreaturen
+nicht dazu ueberreden, sich vollstaendig zu verfluechtigen, so dass die
+nun weiter herumlungern. Vielleicht schafft ihr ja, was ich nicht hin-
+gekriegt habe.
+
+Ansonsten, aeh, viel Spass (oder so), und vielleicht gehts da ja demnaechst
+noch irgendwie weiter.
+
+
+Have fun (ja, ich kann elfisch!),
+Notstrom.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Empor in luftige Hoehen! (Notstrom, 29. Apr 2015, 15:29:21):
+~#! rn=Notstrom rt=1430089243 rg=d.ebene
+~#! tid=1430089243
+Huhu nochmal,
+
+ich habe gerade eine winzigkleine technische Unterlassungssuende behoben.
+Die NPCs in dem neuen Gebiet sollten nun auch wie vorgesehen stupsen.
+
+Mea maxima culpa,
+Notstrom.
+
+-----------------------------------------------------------------------------
+
+
+
+Das Gesundheitsamt informiert ... (Notstrom, 11. Mai 2015, 00:53:52):
+Auf Erzmagierbeschluss ist bis auf weiteres ein bestimmtes Feature
+deaktiviert. Moeglicherweise wird es nach einer technischen Aenderung
+in veraenderter Form wieder aufleben.
+
+Notstrom.
+
+-----------------------------------------------------------------------------
+
+
+
+Metzelorakel (Arathorn, 11. Dez 2015, 23:21:13):
+Hallo zusammen,
+
+ich komme gerade von einer gemuetlichen Plauderrunde mit Chinkuwaila zurueck,
+der mir berichtete, dass er nach einer gefuehlten Ewigkeit nun endlich ueber
+die Belohnungen verfuegt, die ihr euch mit euren Metzeleinsaetzen so redlich
+verdient habt! Ihr koennt sie also ab sofort bei ihm abholen.
+
+Aber seid gewarnt! Er wies mich nachdruecklich darauf hin, dass die Vorraete
+begrenzt seien, ihr also nicht einfach hingehen koennt und einen Rucksack
+vollgestopft mit Belohnungen aus seinem Zelt schleppen - selbst dann nicht,
+wenn ihr sehr viele seiner Auftraege erledigt haben solltet.
+
+Zudem soll nicht unerwaehnt bleiben, dass die Belohnungen derzeit vorwiegend
+fuer diejenigen Spieler von Nutzen sind, die sich bereiterklaert haben,
+die magischen Traenke bei Yil'drim zu erproben. Und selbst fuer jene koennte
+es die bessere Wahl sein, ihren Anspruch auf Chinkuwailas Belohnungen nicht
+vorschnell zu verpulvern.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Das Metzelorakel (Arathorn,  1. Jan 2016, 17:16:27):
+Hallo zusammen,
+
+auf Spielerrueckmeldung hin habe ich Chinkuwaila ueberzeugen koennen, dass 
+er nun die Belohnungen nicht mehr direkt rausgibt, wenn man ihn danach fragt,
+sondern erst auf expliziten Wunsch.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Das Metzelorakel (Vardion, 22. Jan 2016, 20:10:44):
+~#! rn=Arathorn rt=1451664987 rg=d.ebene
+~#! tid=1451664987
+Chinkuwaila... irgendwoher kommt mir dieser Name bekannt vor. Da war doch mal
+was vor 10 Jahren.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Das Metzelorakel (Zesstra, 22. Jan 2016, 20:14:20):
+~#! rn=Vardion rt=1453489844 rg=d.ebene
+~#! tid=1451664987
+ja, den gibts auch schon ziemlich lang... ;-) Wenn nicht laenger als 10 Jahre.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
