diff --git a/OLD.d.gebirge b/OLD.d.gebirge
new file mode 100644
index 0000000..9d09fc8
--- /dev/null
+++ b/OLD.d.gebirge
@@ -0,0 +1,10903 @@
+Ich hab das Brett gefunden !! (Jof,  5. Okt 1992, 15:07:31):
+Es ist mir gelungen, das Brett im Gebirge zu finden ...
+auf einer Wolke segelte ich heran :)
+
+Jof
+-----------------------------------------------------------------------------
+
+
+
+Auch ich hab es entdeckt! (Freund, 25. Nov 1992, 14:20:47):
+Zweiter! Wirklich ein tolles MUD, dafuer dass es in Deutsch ist und noch
+im Aufbau - einfach genial. Ich denke, ich werde sehr oft hereinschauen...
+Wann soll es ungefaehr fertig gestellt sein?
+-----------------------------------------------------------------------------
+
+
+
+Lebenszeichen (Tron, 12. Jan 1993, 18:30:58):
+Ich habe nach langen Irrwegen diesen herrlichen Turm entdeckt und hoffe ihn irgendwann wiederzufinden.
+Dem Erzmagier Boing meine Bewunderung fuer das bis jetzt gesehene.
+-----------------------------------------------------------------------------
+
+
+
+Ein Dank an alle Teilnehmer (Elk, 27. Apr 1993, 11:23:16):
+Ich moechte mich hiermit bei allen denen bedanken die an diesem Mud
+mitgewirkt haben und oder alls Freunde durch dieses Mud geistern.
+Mfg. Elk
+-----------------------------------------------------------------------------
+
+
+
+Waaaaaaaaaaaaaahhhhnsinnnnn (Thunderbird,  3. Mai 1993, 14:03:59):
+Hier stehe ich, ich kann nicht anders.
+Gott helfe mir. Amen.
+
+Ein ganz grosses Lob an alle Programmierer, die an diesem MUD beteiligt
+sind und waren. Ich wuenschte mir noch oefter Prachet-Motive. (Jeder
+Fantasy-Fan MUSS seine Buecher gelesen haben.
+Auf Wiedersehen. Udo.
+-----------------------------------------------------------------------------
+
+
+
+Yendi was here !!! (Yendi, 26. Mai 1993, 16:25:05):
+Pfuuuh, ganz schoen anstrengend! Ich glaube, der naechste Zaubertrank
+wird in "Ausdauer" investiert!
+-----------------------------------------------------------------------------
+
+
+
+Hi Boing! (Grinold,  2. Jun 1993, 20:09:10):
+Nett, deine Ebene.. In letzter Zeit macht mir MG immer mehr Spass.
+Bis bald, Grinold.
+-----------------------------------------------------------------------------
+
+
+
+Schreckensspitze ist jetzt zugaenglich! (Boing,  8. Jun 1993, 11:03:51):
+Hallo Gebirgsfreunde! :)
+
+Das Labyrinth in der Schreckensspitze ist jetzt zu einem kleinen Teil
+zugaenglich und wird staendig erweitert. Interessant duerfte es vor
+allem fuer Spieler mittlerer Stufen sein, aber auch unsere besten Spieler
+duerften dort noch ihre Herausforderung finden (wenn nicht, dann probiert
+doch mal meine schwarzen Steinbeisser aus ;) ). 
+Fehler und Typos bitte melden!
+
+Viel Spass,
+ 
+   Boing
+-----------------------------------------------------------------------------
+
+
+
+Entsetzliche Gefahren warten auf echte Helden (Boing, 30. Jun 1993, 19:43:06):
+Hallo!
+
+Kennt ihr eigentlich schon die Hoehle mit den gefaehrlichen schwarzen
+Steinbeissern? Angeblich soll darin das sagenumwobene Amulett der
+Steinbeisser versteckt sein, allerdings ist bis jetzt noch keiner
+wieder lebend und mit Amulett aus der Hoehle rausgekommen. Die Hoehle
+ist auch wirklich nur etwas fuer die allerstaerksten Spieler, und 
+die sollten dann am besten auch noch in einer Horde dort auftauchen,
+um eine Chance zu haben.
+Ich bin gespannt, wer der erste sein wird, der in meinem logfile
+auftaucht :-)
+
+Viel Spass,
+
+    Boing, der schreckliche Gebirgsmagier
+
+-----------------------------------------------------------------------------
+
+
+
+Lang Lebe Boing !! (Ketos,  1. Jul 1993, 18:49:09):
+Ich bin begeistert von diesen MUD. 
+Prima dass jetzt auch Zauberen geht...
+Nur eines haette ich gerne. Einen automatischen Lebenspunkteanzeiger.
+Damit mit mich die Steinbeisser nicht wieder zermatschen...
+
+Weiter so.
+-----------------------------------------------------------------------------
+
+
+
+>>scheisspilze,wer war das? (Bolg,  4. Okt 1993, 22:01:08):
+also, ich finde es ist eine Frechheit, einfach einen Warsteinerpilz als giftig zu deklarieren und einen Gruenspanpilz nicht. Das widerspricht nicht nur jeder Logik, sondern auch jedem aesthetischen Empfinden! ;)
+-----------------------------------------------------------------------------
+
+
+
+Kann mal jemand... (Gernot,  5. Okt 1993, 16:38:38):
+Kann mal ein Magier vielleicht den parser um ein paar variationen von 
+klettere o.ae. erweitern, wenn man in der Akademie der Wissenschaften 
+die Wand hochklettern moechte ? Das nur genau eine Formulierung zutrifft
+ist wohl ewas arm... naja ich bin wieder rausgekommen....
+Gernot
+-----------------------------------------------------------------------------
+
+
+
+hallo und danke fuer den fisch (Twrgl,  8. Okt 1993, 22:20:07):
+ich finde die idee des mud verdammt gut. d
+danke an alle die mir bisher tips zur benutzung gegeben haben
+sorry, das mir wahrscheinlich ein paar Zeilen misslungen sind,
+aber ich werde etwas von einem Mueckenstich geplagt.
+-----------------------------------------------------------------------------
+
+
+
+Hi! Leuthe alles klar bei euch (Maverick, 14. Okt 1993, 17:21:14):
+Ich will hiermit meine hilfe an alle mud Spieler in den tiefernen stufen Anbieten
+Wenn ihr fragen habt dann fragt !
+Und wenn ich mal nicht dabin keonnt ihr mir auch ein Brief in der Post schreiben 
+Bis dann 
+         Euer Helfer
+                     MAVERICK
+-----------------------------------------------------------------------------
+
+
+
+Trank ? (Elric, 22. Okt 1993, 13:14:43):
+Boing, oh Boing, was passierte mit dem Elixier in Deiner Schublade?
+-----------------------------------------------------------------------------
+
+
+
+unerforschtes Gebiet entdeckt... (Ketos,  4. Dez 1993, 18:50:15):
+-- MPA - Meldung ---- MPA - Meldung ---- MPA - Meldung ---- MPA - Meldung --
+Merkwuerdige Dinge geschehen zur Zeit um dem Drachensee.
+Ein Kundschafter, der zurueckgelangen konnte, meldete uns
+ein unentdecktes Seitental des Schreckensgebirges.
+Wir hoffen, dass uns demnaechst naehere Informationen erreichen.
+
+
+-----------------------------------------------------------------------------
+
+
+
+"betrifft liste " (Bikewarrior, 18. Jan 1994, 21:21:05):
+koenntet ihr die liste noch etwas verlaengen ??
+es sind schon so viele gute leute da , dass man sich selbst noch nicht findet !)
+:-((((
+
+ihr tut vor allem anfaenger wie mir einen gefallen
+ansonsten ist es hier ganz toll
+tschuess bis bald BIKI
+-----------------------------------------------------------------------------
+
+
+
+highscore (Bikewarrior, 19. Jan 1994, 18:08:14):
+was bestimmt die reihenfolge der leute ???
+-----------------------------------------------------------------------------
+
+
+
+steinbeisser (Lacroix, 26. Jan 1994, 18:44:29):
+Ich moechte auch einen Steinbeisser haben - aber einen in LILA
+Wo kann ich ihn bestellen?
+Wenn am schwarzen Brett, dann will ich es hiermit getan haben
+-----------------------------------------------------------------------------
+
+
+
+fragen eines anfaengers (Cord, 11. Mai 1994, 17:20:55):
+wie gut ist ein wespenstachel ist ein messer besser wie bekommt man EP ohne imm
+er kleine tiere zu toeten (ausserdem ist das nicht mal einfach)**
+unt brett
+++
+-----------------------------------------------------------------------------
+
+
+
+Kleine Hilfen (Colwyn, 20. Mai 1994, 15:03:24):
+Geld: Sucht Robin auf der Hochebene.
+Ausruestung: Fragt einfach ndere Abenteurer. Manchmal liegen 
+aber auch Sachen herum (Lederruestungen, z.B.).
+Oderihr besiegt einen Gegner. ABER KEINE SC's!
+-----------------------------------------------------------------------------
+
+
+
+Re: fragen eines 2. anfaengers (Laurin, 13. Jun 1994, 10:12:54):
+Das einfachste ist es, die Sachen aus dem Anfaengerpark zu verkaufen (oder
+die dortigen schneehoernchen und wespen zu killen und deren Zeug zu
+verkaufen). So bin ich auch zu meinem ersten Geld gekommen.
+
+                        Ciao, euer Zwergenkoenig Laurin
+
+
+-----------------------------------------------------------------------------
+
+
+
+zaubertraenke (Melkor, 17. Jun 1994, 08:26:50):
+warum bekomme ich nicht alle zaubertraenke ??
+bin ich zu unerfahren oder warum ??
+-----------------------------------------------------------------------------
+
+
+
+Re: zaubertraenke (Dancer, 17. Jun 1994, 13:36:05):
+Hi Melkor,
+
+jeder Spieler kann im MorgenGrauen 80 Zaubertraenke finden. Da jedoch wesen-
+tlich mehr als diese 80 im Land versteckt sind, wird bei der Generierung
+Deines
+Charakters festgelegt, WELCHE Zaubertraenke er finden kann und welche nicht,
+in Form einer Liste. So passiert es, das Du viele ZT nicht findest, auch wenn
+Du an der richtigen Stelle suchst.
+
+In der Hoffnung, ein wenig geholfen zu haben,
+
+Schwerttaenzergalante Verbeugung
+
+Dancer
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: zaubertraenke (Caradhras, 23. Jun 1994, 03:29:29):
+		Kuckuck!
+Hilfe, mein erster Artikel aeh Posting aeh Dingens... wie man auch immer
+sagt.
+
+Wuesste nur mal gerne, warum Dancer meint, es waeren 80 ZTs im mud ver-
+steckt. Bei mir macht (20-1) * 4 immer noch 76, denn schliesslich faengt man
+ja mit 1 an und hoert (vielleicht :) mit 20 auf, also nur 19.
+
+Ist Dancer n Mathematiker? *grins frech* Die koennen naemlich alle nicht
+zaehlen.
+
+tschuessie
+	Caradhras der Prophet - und ich sage euch voraus...
+PS: oemm, was eigentlich? *gruebel* *kopfkratz*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Re: zaubertraenke (Loco, 23. Jun 1994, 10:18:01):
+Es gibt 80 fuer jeden. 4 sind "Bonustraenke".
+Ausserdem findet ja sowieso (fast?) niemand alle...
+
+   Loco
+
+-----------------------------------------------------------------------------
+
+
+
+Tyrannai (Ohneha, 23. Jun 1994, 18:39:42):
+Wir der Revolutionsrat mussten erkennen, dass in dieser Tyrannai eine Veraenderung nicht moeglich ist!
+Wir rufen jedoch alle revolutionaeren Kraefte zum passiven Wiederstand auf!
+Wehrt Euch gegen Boing, Hobo und wie sie alle heissen moegen!
+Lasst Euch nicht alles gefallen!
+-----------------------------------------------------------------------------
+
+
+
+Re: Tyrannai (Beldin, 23. Jun 1994, 20:26:03):
+Wasn das fuern Quatsch, hae??????????
++
+Ciao Beldin.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Revolution (Jof, 23. Jun 1994, 22:06:30):
+Auja wehrt auch ! REVOLUTION !!!
+(Endlich mal wieder ein paar unterhaltsame Hinrichtungen auf dem Programm ...
+ich erwaehnte doch, was mit Revolutionaeren geschieht in einer Tyrannei ?)
+
+ Blutgierig,
+ Jof
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Revolution (Anthea, 24. Jun 1994, 13:49:52):
+Aeh Jof.... ich sehe gerade, wir haben noch keinen Herrn Guillot im Mud.
+Wie willst Du die Hinrichtungen dann vornehmen? Schwert, Seil, Axt oder
+gar Loeffel (Wie in Robin Hood)?
+
+Die als Adelige ueber allem stehende und Kuchen an das Volk verteilende
+          Fuerstin Anthea
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Hinrichtung (Stahldorn, 24. Jun 1994, 14:47:36):
+Super !
+Wo kann man OhneHa's Hinrichtung beiwohnen ?
+Wo wird sie stattfinden ?
+
+     Ein nach Blut lechzender Stahldorn.
+-----------------------------------------------------------------------------
+
+
+
+Re: Hinrichtung (Boing, 24. Jun 1994, 15:00:07):
+Hmmm ....
+War Stahldorn nicht auch dabei?
+
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re:re:Hinrichtung (Stahldorn, 24. Jun 1994, 15:06:19):
+NEIN ! nein !
+
+Ich schwoere ich hege keine subversiven Gedanken !
+
+Bittebitte Desintegriert mich nicht !!!!
+Ich werde auch nie mehr wieder blutruenstig sein !
+
+  Ein um Gnade winselnder Stahldorn.
+
+PS: Na ja, ein bisserl Blutdurst geht ja vielleicht....
+-----------------------------------------------------------------------------
+
+
+
+Revolution II (Ohneha, 27. Jun 1994, 14:53:22):
+Dafuer muesst Ihr den grossen Revolutionsfuehrer erst einmal kriegen!
+Aeh, wo kriegt man diesen Titel eigentlich?
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re:re:Hinrichtung (Asmodis,  5. Jul 1994, 19:21:52):
+
+Sucht ihr noch einen henker? Ich biete mich an !!
+
+              Ein blutduerstender Asmodis (Level 23 Seher)
+
+-----------------------------------------------------------------------------
+
+
+
+brett (Tam,  7. Jul 1994, 13:57:27):
+der revolutionsrat von morgengrauen fordert
+
+freiheit fuer androiden
+steinbeisser fuer alle
+tod den subversiven kleinen roten teilchen
+sowieso alles was freude macht
+jedem eine gelbgruene quitsche ente
+etwas grungliges
+und wuschelige sofas fuer jederman ueberall im MUD
+
+werden unsere forderungen nicht erfuellt drohen wir mit schlimmen sachen
+-----------------------------------------------------------------------------
+
+
+
+revolution III (Mat,  7. Jul 1994, 14:24:21):
+voelker hoert die signale - und reagiert endlich
+die zeit ist gekommen etwas zu unternehmen.
+viel zu lange schon muessen wir die unterdrueckung ertragen
+unsere forderungen
+- gerechte entlohnung bei systemabstuerzen
+- ein revolutionaerer magierkontrollrat bestehend aus nichtmagiern
+- eine grundausruestung
+- faire zaubertrank verstecke
+- wir wollen als revolutionaere anerkannt werden und verlangen, dass sich die 
+   verantwortlichen mit unseren ideen auseinandersetzen
+- mitspracherecht in oeffentlichen gremien
+
+
+sollten unsere forderungen nicht erfuellt werden oder sollten wir feststellen
+dass wir ignoriert werden, dann muessen wir uns auf andere weise gehoer verschaffen  
+
+ cih hoffe dass nicht alles zu ernst genommen wird 
+wir sind "nur" fuer einige erneuerungen und dafuer dass mal etwas neues hier geschieht
+ein fuer mehrere sprechender 
+                              mat
+
+-----------------------------------------------------------------------------
+
+
+
+Stimmberechtigung (Kretek,  7. Jul 1994, 15:25:21):
+Betrifft: Erste Sitzung des 'Revolutionsrats'
+Da ich nicht kommen kann, mich aber trotzdem fuer alles interessiere, was
+im MG so passiert, erteile ich OhneHa hiermit Stimmrecht fuer mich in 
+dieser Versammlung.
+
+Kretek
+
+P.S.: Nach der Versammlung moechte doch bitte ein netter Magier diesen
+Anschlag loeschen, da sowieso schon zuviel Muell rumhaengt!
+-----------------------------------------------------------------------------
+
+
+
+Die kleinen Freuden eines Jungmagiers..:) (Puma, 11. Jul 1994, 14:44:16):
+
+
+        -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+	Am elften Julius im Jahre des Herrn Tausendneunhundertvierundneunzig
+	ist es geschafft. Nach langen Muehen ist es endgueltig gelungen,
+	das alte, geheimnisumwobene Tal der Lupinen wiederzuentdecken.
+	Kundschafter sprechen von einem kleinen unscheinbaren Pfad am 
+	westlichen Rand der Hochebene, welcher bis vor kurzem noch voellig
+	unzugaenglich war.
+	Doch sei gewarnt Abenteuerer! Das einst friedliche Tal hat sich
+	gewandelt. Finstere Wesen ziehen durch den tiefen Wald und machen
+	das Reisen unsicher. Und wenn erst die grauenhafte Hydra ihren
+	taeglichen Raubzug durchfuehrt zittern selbst die Haende des
+	maechtigsten Helden.
+	Doch das Tal der Lupinen birgt nicht nur grosse Gefahren. Neue
+	Zaubertraenke warten auf ihre Entdeckung. Schaetze wollen eingesammelt
+	werden. Eine Feenprinzessin bedarf dringend der Hilfe und viele
+	kleine Details geben Information ueber die 'kommende' grosse Aufgabe,
+	das Tal von seinem dunklen Schatten zu befreien.
+	Wem das	alles egal ist, der kann sich aber einfach nur einmal nach
+	getaner Arbeit im 'Schaeumenden Krug' bei einer Partie Skat einen
+	Players-only-QGB goennen...
+
+	(in Erwartung tausender Fehlermeldungen......)
+
+						Lupinengruesse
+							        PUMA  
+
+        -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Aenderung (Puma, 14. Jul 1994, 13:37:47):
+Damit nicht nachher wieder alle schreien:
+
+Der Schaden in der Fallgrube im Lupinental ist geaendert worden!
+
+Dann springt mal schoen ! :-)
+
+                                       Lupinengruesse
+                                                         PUMA
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Revolution (Anthea...) (Arachna,  1. Aug 1994, 20:48:58):
+Wir haben doch einen Orkhenker, den koennte man sich doch mal ausborgen ;)
+
+Arachna
+
+-----------------------------------------------------------------------------
+
+
+
+Eusebius returns! (Puma, 21. Sep 1994, 14:18:59):
+So, nach der ersten Testphase, die unser lieber Eusebius uebrigens
+hervorragend ueberstanden hat, kommt nun die Realisation.
+Ab sofort steht dieser nette Mitbuerger des MorgenGrauens allen Spielern
+offen. Wenn er sich nicht gerade irgendwo anders herumtreibt, kann man sich im
+'Schaeumenden Krug' im Lupinental beim Wirt nach ihm erkundigen.
+
+Viel 'Spass'!
+
+                                          Lupinengruesse
+
+                                                    PUMA
+
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Hoehlen (Cifer, 26. Sep 1994, 21:21:03):
+Wie ich soeben bei einem ausgedehnten Rundgang durch meine Wohnhoehlen
+und deren Peripherie feststellen musste, haben es einige meiner gefraessigen
+und unliebsamen Mitbewohner offensichtlich geschafft, ein grosses Loch in
+die Aussenwand zu fressen, hinter dem ich das tiefblaue Meer schaeumen sehen
+konnte.
+Trotz der neuen Aussicht, die sich mir nun anstelle der nackten Felswaende
+des Berginneren bietet, habe ich allen Grund, besorgt zu sein, denn nun ist
+es jedermann moeglich, den Berg zu betreten und all den seltsamen Wesen zu
+begegnen, die sich meiner Kontrolle laengst entzogen haben und ein hoechst
+eigenmaechtiges Leben fuehren, welches vom Rausche des Blutes bestimmt zu
+werden scheint.
+Ich kann daher alle Wanderer und Abenteurer nur warnen, vorsichtig zu sein,
+wenn sie die neue Hoehle, die sich nahe der Kueste im Umland einer grossen
+Stadt befindet, in Augenschein nehmen wollen. Seid auf der Hut vor den
+fuerchterlichsten Geschoepfen der Nacht, deren Existenz nur darin besteht,
+Leid und Unheil zwischen die Mutigen zu bringen, die sich ihnen entgegen-
+zustellen wagen! Ich habe den Kampf gegen sie laengst aufgegeben, denn ich
+bin nur ein alter Magier, dem das Fechten und Parieren nicht mehr liegt.
+Aber vielleicht kann ein mutiger Abenteurer der Plage Herr werden, und die
+Monster, die mich nachts im Schlafe quaelen, ein fuer allemal ausrotten! Nach
+getaner Arbeit moege er mich dann aufsuchen, um bei einer Flasche
+Chi-Cola ueber seine Erfahrungen mit den Ausgeburten einer finsteren
+Welt zu plaudern, sich zu entspannen, und einfach nur mein Gast zu sein.
+
+Auf zahlreichen Besuch hofft Cifer.
+
+P.S.: Sollte ich einmal abwesend sein, so unterhaelt sich auch gern Otto,
+mein Pfoertner, mit gestressten Abenteurern, die ein wenig Zeit zum
+Entspannen haben - und wer weiss, vielleicht hat ja auch er einen guten
+Tropfen parat.
+
+-----------------------------------------------------------------------------
+
+
+
+Orakel entdeckt .. (Puma, 13. Okt 1994, 14:57:29):
+Fuer alle, die endlich mal in Ruhe und Sicherheit das Lupinental erforschen
+wollen, ohne dass sie gleich hinter der naechsten Hecke zahllose entsetzliche
+Hydrakoepfe entdecken, ist jetzt ein kleines Orakel eingerichtet worden.
+In der Naehe des Steingolems kann man sich nun gegen einen kleinen Obolus
+darueber informieren, ob die Hydra zur Zeit das gruene Tal unsicher macht.
+Ich hoffe dadurch auch zahllosen Spielertoden vorzubeugen, die hier so
+manches mal eine bittere Ueberraschung erlebt haben.
+
+
+
+                                  Lupinengruesse
+
+                                              PUMA
+
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Identifiziere (Cifer, 14. Okt 1994, 17:49:35):
+Hallo,
+da es frueher mal eine Zeit gab, in der sich die Spieler gern (und nicht
+ganz zu Unrecht) beschwerten, dass es kaum Gegenstaende gaebe, die sich
+identifizieren liessen, habe ich diesen Spruch in allen interessanten#
+Items eingebaut, die sich in meinem kleinen Hoehlensystem finden lassen.
+Um ehrlich zu sein, bringt es nicht allzu viel, aber es kann ja
+auch nichts schaden.
+
+Diesen Artikel schreibe ich, da ich feststelle, dass leider kaum jemand
+auf die Idee kommt, das mal von sich aus auszuprobieren.
+Wahrscheinlich haben die Spieler schon resigniert aufgegeben, den Spruch
+anzuwenden...
+
+
+Cifer.
+
+P.S.: Wenn wir schon mal dabei sind - warum will niemand mit meinen Monstern
+und Angestellten
+
+
+reden? Koennte naemlich mal ganz interessant sein...
+
+Aehm, kann es sein, dass ein BUG in Zeitung und Mailserver ist? ~d
+funktioniert bei mir naemlich nicht mehr, und ~r macht auch Probleme, fuegt
+manchmal einfach Leerzeilen ein, die ich nicht mehr wegbekomme!
+
+
+-----------------------------------------------------------------------------
+
+
+
+Eis- und Schneeriese (Boing, 15. Okt 1994, 15:58:59):
+Hallo,
+
+aufgrund eines Fehlers, der mir eben erst aufgefallen ist, war der Schnee-
+riese staerker als der Eisriese, das sollte eigentlich nicht so sein.
+Keine Sorge, der Eisriese hat keine neuen Faehigkeiten oder sonst irgendwie
+toedliche Eigenschaften bekommen, er ist nur etwas ausdauernder geworden.
+
+Tschuess,
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Juwelier (Boing, 17. Okt 1994, 11:56:39):
+In der Zwergenstadt hat ein von Alarin ausgebildeter Juwelier seinen
+Laden eroeffnet und erhofft sich jetzt natuerlich jede Menge Kundschaft.
+Schaut mal bei ihm rein. :)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Per Anhalter (Arthurdent,  3. Nov 1994, 14:40:30):
+Hi, ich bin ArthurDent, na ihr  wisst schon...
+
+Seid ich von der Erde weg musste, die einer Hyperraumstrasse wich, irre ich
+nun hier herrum !
+
+Mein tip an alle Reisenden: Handtuecher gibt es in der Sauna
+(Noerdlich vom wald der Freunde )
+
+
+                                         Ciao,
+                                              Arthur
+-----------------------------------------------------------------------------
+
+
+
+Feuerring (Boing, 18. Nov 1994, 18:20:23):
+Hallo,
+man sieht dem Ring jetzt an, ob er sich regeneriert (sprich, ob er
+vibriert) oder nicht. Geht natuerlich erst bei neuen Ringen.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Hoehlen wieder begehbar (Cifer, 18. Nov 1994, 18:36:34):
+Hallo,
+
+allen, die in den letzten Wochen erfolglos den Eingang zu meiner kleinen
+Wohn-,Arbeits- und Metzelhoehle gesucht haben, sei nun gesagt, dass saemtliche
+Erdruetsche und Verschuettungen durch goettliche Haende beseitigt wurden.
+Die Ursache derselben bleibt zwar ungeklaert, ich hoffe aber, dass es sich
+nur m einmalige, leider nicht vorhersehbare seismographische Stoerungen
+gehandelt hat.
+
+Na dann viel Spass bei der Wurmjagd...
+
+Cifer :)
+
+P.S.: Wie mir schon frueher auffiel: Warum haelt es eigentlich niemand fuer
+noeig, mit NPC's zu reden? Koennte sich manchmal lohnen, auch wenn man keinen
+ZT bbekommt.
+Aehm, sorry fuer die Tippfehler, meine Tastatur macht hier Aerger...
+
+
+-----------------------------------------------------------------------------
+
+
+
+Golem (Aycorn,  9. Dez 1994, 15:11:57):
+leeve lutt!
+
+Ich hab schon versucht, mit dem Golem zu reden - allerdings ohne den geringsten Erfolg.
+Und mit dem Ding bei den Pfaehlen zu reden, habe ich lieber nicht versucht, nachdem es mich beinahe alle gemacht hat!
+
+Ach ja: Die Sphingen (!) muessten doch eigentlicht Sphinxen heissen, oder?
+Und wo bekommt man die Antworten auf die daemlichen Raetsel her, die die Teile einem stellen?
+Gruss, Aycorn
+-----------------------------------------------------------------------------
+
+
+
+Re: Golem (Stahldorn, 10. Dez 1994, 17:37:54):
+#! rn=Aycorn rt=786982317
+Singular: Sphinx
+Plural: Sphingen ODER Sphinxen.
+
+         STAHL, der Wichtigtuer. ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Ameise... (Telo, 13. Dez 1994, 15:55:17):
+hallo!
+
+Mir ist gerade ein Anfaenger namens Ameise begegnet... 
+Ich denke, man sollte entweder den Playerkill legalisieren oder solche namen verbieten...
+
+So long
+
+Telo
+-----------------------------------------------------------------------------
+
+
+
+Re: Golem (Asmodis, 19. Dez 1994, 19:12:10):
+Hmm, wie man die Antworten zu den Raetseln findet?
+Ganz einfach(oder auch nicht) durch logisches Denken !!!!
+
+                             Ciao, Asmodis
+-----------------------------------------------------------------------------
+
+
+
+Dynamit! (Puma, 10. Jan 1995, 17:21:39):
+Aufgrund des andauernden Missbrauchs mit dieser wirklich sehr gefaehrlichen
+Waffe und auch angesichts des Schindluders, der mit ihr getrieben wird, wird
+hiermit bekanntgegeben, dass
+
+	die Sphingen am Eingang zum Tal der Lupinen
+		DYNAMIT ZUR EXPLOSION
+	bringen, wenn jemand versuchen sollte das
+	Tal damit zu betreten.
+
+
+PUMA
+
+der immer noch an ein Fantasy-Mud glaubt, jede Art von Feuerwaffen hasst und
+immer mal wieder ueber seinen verstaubten Kampfhammer an der Wand faehrt.
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Dynamit! (Highlander, 10. Jan 1995, 17:55:33):
+#! rn=Puma rt=789754899
+Ich hoffe doch sehr, sie tun dies, indem sie
+die Zuendschnur anzuenden!!!
+Highlander
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Dynamit! (Asmodis, 10. Jan 1995, 18:24:44):
+#! rn=Highlander rt=789756933
+Hmm, sind ja komische Selbstmoerder-Sphingen :)
+
+                                  Ciao, Asmodis
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Dynamit! (Beldin, 11. Jan 1995, 11:09:17):
+#! rn=Asmodis rt=789758684
+Eigentlich dachte ich immer das waeren SphinXen... oder hat sich da
+in der "Terminologie" was geaendert?
+
+Beldin (sich fragend den Kopf kratzend :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Dynamit! (Hardil, 11. Jan 1995, 11:41:37):
+#! rn=Beldin rt=789818957
+
+Neenee Beldin,
+
+Sphingen ist da schon genau richtig.
+
+YT Hardil (Sprachpfleger) :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Dynamit! (Anatol, 12. Jan 1995, 21:15:16):
+#! rn=Caradhras rt=789906279
+
+Jau. Ist soviel ich weiss, beides gueltig.
+Ende's 'Unendliche Geschichte' hats tatsaechlich mit 'Sphinxen'. Aber mit 'g'
+hab ich auch schon gesehen...
+
+-----------------------------------------------------------------------------
+
+
+
+03 (Tanor, 13. Jan 1995, 15:12:17):
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ameise (Tanor, 13. Jan 1995, 15:19:39):
+Zuerst mal sorry fuer vorherige nachricht (fehler !).
+Telo, Du hast voellig recht, es gibt schon Leute e,....). In solchen Faellen Playerkill einfuehren bzw zulassen !!
+
+or, der mit den Nachrichten wohl noch ein wenig uebmuss **
+
+
+
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Dynamit! (Anthea, 14. Jan 1995, 01:20:33):
+#! rn=Anatol rt=789941716
+Beides gueltig? Darauf kann doch nur ein klares JEIN kommen!
+Der Plural haengt davon ab, ob Du die aegyptischen oder die griechischen
+meinst.
+Je nachdem ist der Plural von 'SPHINX' naemlich unterschiedlich :)
+
+P.S.: und das gehoert fast nach Quiz:
+       Wer von Euch weiss denn den Unterschied zwischen den aegyptischen
+        und den griechischen? Ist naemlich ganz interessant :)
+
+
+   Anthea
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Dynamit! (Caradhras, 14. Jan 1995, 19:54:33):
+#! rn=Anthea rt=790042833
+Die aegyptische hat keine Nase. *grins frech*
+
+*gruebel* was meinst du jetzt damit? der unterschied? *gruebel*
+Die aegyptische ist ein Viech aus Stein, das kennen wir ja alle, und
+die griechische aus der Mythologie ist die aus Koenig Oedipus (bzw.
+die dort auch vorkommt), das Monster, dass das beruehmte sphinx-raetsel
+stellt: Was hat morgens 4 beine, mittags 2 und abends 3.
+(wenigstens so grob, nicht wortwoertlich :)
+
+Was gibts sonst noch an Unterschieden bzw. was meinst du sonst?
+
+        tschoe         Caradhras der ewige Prophet
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Dynamit! (Anthea, 15. Jan 1995, 16:48:56):
+#! rn=Caradhras rt=790109673
+Ne, der Hauptunterschied ist, dass die aegyptische urspruenglich maennlich
+ist (sie symbolisierte den Pharao (mit Looewenleib) oder einen Gott (mit
+Widderleib)).
+Die Griechen haben dann irgendwann abgekupfert und dem Vieh auch noch Fluegel
+verpasst und einen Maedchenkopf und sie dann als Todesdaemon eingesetzt.
+(siehe Oedipus).
+Also der hauptunterschied: Aegyptisch:maennlich - Griechisch:weiblich
+     Anthea
+P.S.: und die weiblichen sind die Toedlichen :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Dynamit! (Anatol, 16. Jan 1995, 09:03:19):
+#! rn=Anthea rt=790184936
+
+Anthea, hoffentlich bezieht sich Dein PS nur auf die Gattung 'Sphinx'...
+
+Anatol (just married, still dreaming)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Dynamit! (Merlinus, 16. Jan 1995, 14:14:12):
+#! rn=Anthea rt=790042833
+Ist doch klar:
+Die griechischen sind weiblich und die agyptischen maennlich.
+
+merlinus, der sich in diesen Dingen auskennt.
+q
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Dynamit! (Aranya, 16. Jan 1995, 15:24:19):
+#! rn=Anthea rt=790184936
+>PS: Und die weiblichen sind die toedlichen.
+
+Gehoert sich ja auch so!
+
+Freut sich
+          Aranya
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Dynamit! (Catweazle,  6. Feb 1995, 21:51:32):
+#! rn=Hardil rt=789820897
+[Verlegt von witze, Catweazle,  6. Feb 1995, 21:51:16]:
+[Verlegt von d.gebirge, Caradhras, 12. Jan 1995, 11:24:39]:
+*gruebel* Ich frag mich, ob man nicht beides schreiben kann.
+Neulich hab ich die unendliche Geschichte gelesen, ihr wisst schon, die
+Stelle mit dem ersten Tor, den 2 Sphingen aeh Sphinxen :) und Michael
+Ende gebraucht das Wort Sphinxen. Eigentlich ist er ja fuer sein gutes und
+fehlerfreies Deutsch bekannt.
+
+      Caradhras der ewige Prophet   *gruebelnd*
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Spinx im Plural (Quengistu,  7. Feb 1995, 20:11:28):
+Also noch mal fuer alle:
+Laut Woerterbuch gibt es von Sphinx beide Plurale:
+die Sphingen oder die Sphinxe. Einen Plural "die Sphinxen" gibt es nicht.
+Welchen Plural man nimmt, ist mehr oder weniger Geschmackssache. Als altem
+Alstsprachler ist mir der Plural "Sphingen" natuerlich lieber, weil er naeher
+am griechischen Wortstamm ist. Das "x" am Ende setzt sich naemlich aus
+"gamma+sigma" zusammen, wobei das gamma noch zum Wortstamm
+"sigma-phi-iota-gamma-gamma bzw. sphing-" gehoert, das sigma hingegen die
+Endung fuer den Nominativ Singular ist.
+Wenn es sich bei den Sphngen bzw. Sphinxen um griechische handelt, sollte man
+"Sphingen" sagen, wenn es aegyptische sind, waere "Sphinxe" vielleicht eher
+angebracht. Da die Sphingen am Eingang zum Lupinental aber wie in der
+Oedipus-Sage Raetsel aufgeben, scheinen es wohl "griechische" zu sein.
+
+In der Hoffnung alle Klarheiten beseitigt zu haben,
+   Quengistu
+
+PS: Das erste Wort in der vierten zeile soll natuerlich Altsprachler heissen.
+
+-----------------------------------------------------------------------------
+
+
+
+Verfluchter Ring (Paracelsus,  9. Feb 1995, 17:20:10):
+Ich habe einen verfluchten Ring gekauft (als Kraft +1-Ring), aber nach
+dem anstecken war er auf einmal Kraft -1. Jetzt werde ich ihn nicht mehr los!
+-----------------------------------------------------------------------------
+
+
+
+Re: Verfluchter Ring (Grimmborn,  9. Feb 1995, 17:45:03):
+#! rn=Paracelsus rt=792346810
+
+Na und?
+Dumm gelaufen halt...
+
+Grimmborn der Atheist. Ist den Ring damals losgeworden...
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Verfluchter Ring (Sysop, 13. Feb 1995, 15:25:49):
+#! rn=Paracelsus rt=792346810
+Kannst Du ihn nicht beim Troedler auf Aurora loswerden?
+-- Sysop
+
+-----------------------------------------------------------------------------
+
+
+
+Taramis (Silvana, 21. Feb 1995, 16:39:43):
+Mein Gruss an Euch alle, die ihr euch muehseelig plagt. ;-)
+
+Heute mittag erreichte mich eine Bote mit erschreckenden Nachrichten: Einem
+namhaften Kundschafter war es gelungen in das nahezu unerreichbare Cronoertal
+vorzudringen und in die Stadt Taramis zu gelangen. Nicht, dass die Buerger
+von Taramis etwas gegen Touristen haetten, aber die Stadt wurde vor kurzem
+in einen Krieg verwickelt und ist bei weitem noch nicht wieder aufgebaut.
+Schnell liess ich die Tore schliessen, um eventuell nachdraengende
+Neugierige abzuhalten - leider ist es trotzdem moeglich, bis an das
+Stadttor von Taramis zu gelangen. Daher an dieser Stelle meine Bitte:
+Wenn ihr Euch schon unbedingt nach Taramis begeben wollt, dann seit friedlich
+und nett zu seinen Bewohnern. Ich brauche jede helfende Hand beim Wiederauf-
+bau.
+
+Vielen Dank - Silvana.
+
+PS: Nein, ich verrate nicht, WO Taramis liegt. Die Buerger haben mich aus-
+druecklich darum gebeten, es nicht zu verraten. ;-)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Taramis (Yendi, 22. Feb 1995, 10:45:59):
+#! rn=Silvana rt=793381183
+
+*PS: Nein, ich verrate nicht, WO Taramis liegt. Die Buerger haben mich aus-
+*druecklich darum gebeten, es nicht zu verraten. ;-)
+
+Tja, Silvana, wenn Du es schon in der Rubrik d.gebirge veroeffentlichst...
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Taramis (Flintnail, 23. Feb 1995, 17:54:04):
+#! rn=Silvana rt=793381183
+hm...Silvana...hin war ja leicht...aber wieder rauszukommen hat mich 196 LP
+gekostet...ohne dass ICH jemanden was angetan hab.....
+Was hab ich verkehrt gemacht:)???
+
+   Flintnail
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Taramis (Silvana, 24. Feb 1995, 10:30:02):
+#! rn=Flintnail rt=793558444
+Na, ja - das laesst sich leicht sagen: Du hast einen der beiden Ausgaenge
+gefunden - leider den deutlich schmerzhafteren. Aber Du hast es ja
+ueberlebt, so dass ich mir wohl keine heftigen Vorwuerfe machen muss, oder?
+
+Silvana.
+
+PS: Der andere Ausgang ist VIEL leichter zu finden und auch voellig
+    ungefaehrlich.
+
+-----------------------------------------------------------------------------
+
+
+
+Neues im bergdorf (Ketos, 28. Feb 1995, 22:06:12):
+Im Wirtshaus zum lustigen Wandersmann liegt ein neues Brettspiel
+
+-----------------------------------------------------------------------------
+
+
+
+Land in den Wolken entdeckt (Ketos, 21. Mar 1995, 23:40:27):
+Seltsame Wolkenformationen wurden in der Naehe der Schreckensspitze entdeckt.
+- Ketos -
+
+-----------------------------------------------------------------------------
+
+
+
+Osterbachschlucht (Boing, 27. Mar 1995, 15:48:58):
+Ich habe die Osterbachschlucht ein bisschen verschoenert (hoffe ich),
+wer sich umschauen will, soll das tun und auch kommentieren.
+tschuess,
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Willkommen! (Mystix,  3. Apr 1995, 16:56:22):
+Seid gegruesst, Reisende!
+
+Wanderer auf dem Weg nach Melnibone haben berichtet, dass das
+alte Seherhaus von Mystix abgerissen und durch ein Magierhaus
+ersetzt wurde. Es ist zwar klein, aber Mystix gewaehrt jedem
+Wanderer gerne Einlass.
+
+-----------------------------------------------------------------------------
+
+
+
+Sfinx?, Swingxx, Schwingss...??? (Puma, 17. Mai 1995, 16:14:54):
+Fuer alle die sich seit Jahren ueber das bloede Antwortabfragesystem bei den
+Sphingen vor dem Lupinental geaergert haben ist jetzt etwas geschehen.
+In Zukunft wird man nicht sofort zu einer Antwort gezwungen, sondern kann
+auch noch andere Dinge vorher tun (sich von seiner/em Geliebte/n
+verabschieden, wenn es gegen die Hydra geht, etc..).
+
+Ich hoffe die haeufigen Probleme, die speziell dann auftraten, wenn zwei
+gleichzeitig an den Sphingen vorbeiwollten gehoeren jetzt der Vergangenheit
+an.
+
+Falls es mit der neuen Methode zu Problemen kommen sollte, bitte sofort mail
+an mich ...
+
+Danke
+
+
+PUMA!
+
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Reset (Anakin, 30. Mai 1995, 18:38:10):
+Hiho,
+
+Neulich
+
+Der Sensenmann kratzt Dich.
+Du hast jetzt 133 Lebenspunkte und 9 Magiepunkte.
+Der Bumerang trifft den Sensenmann am Kopf.
+Der Bumerang schlaegt dem Sensenmann den Kopf ein.
+Der Sensenmann faellt tot zu Boden.
+Du faengst den Bumerang geschickt.
+> Du faengst den Bumerang geschickt.
+> il
+Du hast jetzt 134 Lebenspunkte und 9 Magiepunkte.
+Du hast jetzt 134 Lebenspunkte und 10 Magiepunkte.
+Der Sensenmann kommt an.
+Hmmm, lecker!
+
+
+Ja Boing so machen Reset's Spass.
+
+Anakin
+
+P.S.: Die Leuchtrolle koennten dahingehend auch noch ne
+Ueberarbeitung vertragen ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: test (Grimmborn,  4. Jun 1995, 14:20:04):
+#! rn=Garfield rt=802017376
+
+Und, haste ihn gefunden?
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Lupinental geschlossen! (Puma, 12. Jun 1995, 17:41:11):
+Im Rahmen der Generalprobe fuer meine erste Queste wird das Lupinental
+von heute 19 Uhr bis voraussichtlich Mittwoch 15 Uhr geschlossen werden.
+
+Wuenscht mir Glueck. :-)
+
+
+~
+Mit der Bitte um Verstaendnis
+
+
+PUMA!
+
+
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Neues Gebiet (Kaenguruh, 13. Jun 1995, 18:48:52):
+
+Ein unermuedlicher Abenteurer, der mir kuerzlich begegnete, erzehlte mir
+von einer laengst vergessenen und verfallenen Stadt weit oben in den
+Gipfeln des Gebirges. Dort soll seit vielen Jahren niemand mehr gewesen
+sein und die Stadt selbst soll fast nur noch aus Ruinen bestehen.
+Der Abenteurer gelangte auf einem Pfad, der von Osterbach abzweigte
+dorthin und entdeckte einen verborgenen Zugang zu dem Gebiet.
+
+Bestimmt finden sich nun viele Abenteurer, die ihm nacheifern und
+den Weg zu dieser Stadt auf sich nehmen.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Neues Gebiet (Kaenguruh, 13. Jun 1995, 18:49:57):
+
+NEIN, das ist KEINE Questankuendigung - zumindest NOCH nicht.
+Aber was nicht ist, kann ja noch werden :)
+
+Wuensche trotzdem viel Spass in der Ruinenstadt
+
+   Kaenguruh
+
+
+-----------------------------------------------------------------------------
+
+
+
+bernhardiner (Qanuc, 26. Jun 1995, 20:47:44):
+Hat der Bernhardiner IRGENDeine Bedeutung ??
+
+Qanuc
+-----------------------------------------------------------------------------
+
+
+
+Re: bernhardiner (Jof, 26. Jun 1995, 20:47:57):
+#! rn=Qanuc rt=804192464
+
+ Yep!
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: bernhardiner (Asmodis, 26. Jun 1995, 23:42:18):
+#! rn=Jof rt=804192477
+SPIELERHILFE !
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: bernhardiner (Grimmborn, 27. Jun 1995, 17:41:05):
+#! rn=Asmodis rt=804202938
+
+Spielerhilfe? Soweit ich weiss, ist Hilfe von NPCs erlaubt, da gibts extra ne
+Funktion fuer.
+
+Grimmborn der Atheist. Bastelt an einem Spielerhilfen-NPC.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: bernhardiner (Ardana, 28. Jun 1995, 01:06:55):
+#! rn=Qanuc rt=804192464
+Nicht, dass ich voellig durchgeknallt bin, aber Grimm haette bestimmt
+geantwortet: Ja, er hat eine Bedeutung. - Dem kann ich mich nur anschliessen!
+
+Und ab damit nach Schmarrn...
+
+Live long and prosper,
+                           Ardana
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: bernhardiner (Ardana, 28. Jun 1995, 01:09:01):
+#! rn=Grimmborn rt=804267665
+arg, Grimm hat doch nicht geantwortet: Ja, er hat eine Bedeutung. - *STAUN*
+
+Ein sich masslos irrender Ardana
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: bernhardiner (Grimmborn, 28. Jun 1995, 12:27:00):
+#! rn=Ardana rt=804294541
+
+Aber nur, weil mir jemand zuvorgekommen ist. :-(
+
+Grimmborn der Atheist. Kann auch nicht staendig die mpa bewachen.
+
+-----------------------------------------------------------------------------
+
+
+
+Hydra (Yendi, 18. Jul 1995, 15:02:05):
+
+In letzter Zeit habe ich mich des oefteren mit Ryne ueber die Hydra
+unterhalten und ueber die Bemuehungen, das Hydratoeten wieder etwas spannender
+zu machen. Da ich weiss, dass Puma eine neue Hydra in der Mache hat, hier
+schnell noch mein Vorschlag:
+
+Was haltet ihr (bzw. was haeltst Du, Puma) davon, die Hydra gegen Saeure
+immun zu machen (jawohl, sowohl den Koerper als auch die Koepfe) und statt
+dessen die Stuempfe der Koepfe ausbrennbar zu machen?
+In Anlehnung an die griechische Mythologie: Man schlaegt einen Kopf ab und
+brennt mit einem brennenden Baumstamm (oder einer Fackel, fuer alle
+Nicht-Herkuli) den Stumpf aus, damit dort keine Koepfe nachwachsen.
+Falls man den Stumpf _nicht_ innerhalb von, sagen wir, 30 Sekunden ausbrennt,
+wachsen dort _2_ Koepfe nach... Also empfiehlt es sich, immer einen Kollegen
+mit Fackel dabei zu haben.
+
+Na? Da muesste natuerlich die Hydra mehr oder weniger komplett umgeschrieben
+werden, aber man goennt den Magiern ja sonst nichts...     ;)
+
+Anmerkungen, Kommentare, Lob & Flammen bitte an
+
+               Yours Truly
+                          Yendi
+
+
+-----------------------------------------------------------------------------
+
+
+
+SSP Erweiterung (Boing, 19. Jul 1995, 10:05:23):
+
+Ich hab die Schreckensspitze um ein paar Raeume erweitert. Vielleicht
+solltet ihr erst einmal nicht alleine hingehen, ich weiss nicht genau,
+wie schlimm es geworden ist ... :)
+
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+hydra (Puma, 21. Jul 1995, 14:13:14):
+Die Hydra ist mit ihrem Tod heute Nacht in die Abgruende der Neun Hoellen
+verbannt worden... Der Fluch scheint vorerst von dem Tal der Lupinen gefallen
+zu sein...
+Das Tal ist nun sicher...
+
+          PUMA!
+
+P.S.: glaubt keinen Magiern!
+
+
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Neues Abenteuer (Boing, 11. Aug 1995, 16:05:18):
+Nach ueber 2 Jahren hab ich mal wieder ein neues Abenteuer verbrochen,
+es heisst Soruths Rache und ist seit heute angeschlossen. Bitte benutzt
+fleissig die Befehle typo/fehler/idee, vor allem in einem Raum, wo man
+eh schon eine Menge machen kann (*grins* ihr werdet ihn erkennen!) bin
+ich fuer jede Idee dankbar, also nur zu! :)
+
+Ein besonderes Dankeschoen geht an die Tester: Silvana, Romili, Hobo, Jof,
+Catweazle, Mika, Tryfan, Viper.
+Und ein spezielles Dankeschoen fuer Ketos und Toeter, die mir je einen
+Raum zur Verfuegung gestellt haben. :) (Romili hat mir auch noch 2 ver-
+sprochen).
+
+Viel Spass,
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Problem mit 'sag' in Ukhazis Zelle (Boing, 23. Aug 1995, 15:43:37):
+Da es leider ab und zu noch Probleme in der Quest 'Soruths Rache' gibt,
+will ich das hier kurz erklaeren: Das Problem liegt in einem (seit ca.
+14 Tagen behobenen) Fehler im Orthografie-Fluch (Pandora Quest).
+Auch mit fluchlevel 0 wurde das, was man sagt, gefiltert und falsch
+ausgegeben. Insofern falsch, als dass der Raum nicht gehoert hat, was
+man sagt. Leider kann ich nicht alle alten Flueche austauschen, da sonst
+dort gespeicherte Informationen verloren gehen, und dummerweise gab es
+seit 23 Tagen keinen Reboot, so dass die neuen Versionen nicht automatisch
+in Umlauf kamen. Wer also Probleme hat: Entweder Fluch zerstoeren (mit
+setze fluchlevel -1) oder mit ende ausloggen. Nach dem naechsten Reboot
+sollte alles normal funktionieren.
+
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Problem mit 'sag' in Ukhazis Zelle (Guldukat, 23. Aug 1995, 19:38:12):
+#! rn=Boing rt=809185417
+
+Darf ich fuer einen Reboot sorgen, boing? ;)
+GD
+
+-----------------------------------------------------------------------------
+
+
+
+Charakterfragen ... (Boing, 30. Aug 1995, 17:32:06):
+Um Mecki & Co. etwas zu entlasten, haben die Zwergenwaechter + Koenig
+jetzt eine deutlich bessere Gesinnung als vorher.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Mecki und Co. (Boing, 12. Okt 1995, 15:33:04):
+Es ist jetzt nicht mehr zu empfehlen Schrat, Mecki oder Charly zu
+toeten.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Mecki und Co. (Jerrico, 12. Okt 1995, 15:34:03):
+#! rn=Boing rt=813508384
+direkt mal ausprobieren :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Mecki und Co. (Boing, 12. Okt 1995, 15:34:25):
+#! rn=Jerrico rt=813508443
+Auf eigene Gefahr :)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Mecki und Co. (Jerrico, 12. Okt 1995, 15:34:51):
+#! rn=Boing rt=813508465
+Jerrico grinst.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Mecki und Co. (Caradhras, 12. Okt 1995, 16:21:13):
+#! rn=Jerrico rt=813508491
+[Tod:] Ein Wasserelementar hat gerade Engywuck umgebracht.
+[Tod:] Ein Aboleth hat gerade Abakus umgebracht.
+
+     Amen
+              Rothorn Caradhras
+
+-----------------------------------------------------------------------------
+
+
+
+Mecki & Co (Lariel, 15. Okt 1995, 17:03:27):
+Das ist toll, das mit den Charakteren aus der Schrat-Quest! Jetzt haben die
+First-Level-Characters keine direkten Mordgelueste mehr gegen diverse
+Metzel-Spieler, die einem, wenn man mit fertigem Schlaftrunk auf der Schwelle
+steht, den Schrat killen
+(Ich haette ja selbst beinahe einen Typen umgebracht)! Diesen miesen,
+EP-geilen Mistkerlen musste ja mal Wiederstand geboten werden! (Ich habe keine
+Ahnung, wieviele von diesen Moerdern ich mir jetzt zum Feind gemacht habe.)
+Danke fuer euer aller Auf-
+merksamkeit und danke Boing fuer diese Sache!
+Sign.: Lariel der Waldlaeufer
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Mecki & Co (Asmodis, 16. Okt 1995, 12:26:01):
+#! rn=Lariel rt=813773007
+Ich bezweifle, dass du einen von den 'Metzel-Spielern' umbringen
+kannst :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Mecki & Co (Asmodis, 16. Okt 1995, 13:52:12):
+#! rn=Raffi rt=813847864
+Auch dann nicht, ein level 3 Spieler wuerde mich z.b. nichtmal ankratzen :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Mecki & Co (Yendi, 16. Okt 1995, 20:32:16):
+#! rn=Asmodis rt=813847932
+
+Auch nicht mit vollen Stats und bester Ausruestung?
+Ich denke da an einen blutigen Anfaenger...
+
+Na, Asmodis, wenn Du den Mund mal nicht zu voll genommen hast...
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Mecki & Co (Schrumpfi, 17. Okt 1995, 02:10:26):
+#! rn=Asmodis rt=813842761
+Ne ne, gewusst wie geht das schoen. Auch als Waldlaeufer! ;-)
+Schrumpfi
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Mecki & Co (Schrumpfi, 17. Okt 1995, 02:12:37):
+#! rn=Yendi rt=813871936
+Warst schneller, Yendi :-)
+Nein ich schreib jetzt nicht 'ab nach Schmarrn' ;-)
+Schrumpfi
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Mecki & Co (Asmodis, 17. Okt 1995, 02:36:40):
+#! rn=Yendi rt=813871936
+Naja, Zweities mal ausgenommen, die anderen haben solche Sachen wohl nicht :)
+
+-----------------------------------------------------------------------------
+
+
+
+Gletscherhilfe!!! (Yadgar, 31. Okt 1995, 18:23:34):
+Hallo ihr MUDjahedin!
+Ich versuche bereits seit Tagen, an dem Eisblock im Gletscher vorbei zu
+kommen!
+Dazu muss ich vielleicht erklaeren, dass ich nicht den anscheinend ueblichen
+Weg
+ueber die Gletscherzunge genommen habe, sondern von Norden, also von Moulokin
+a
+aus losgezogen bin. Es ist unmoeglich, den Eisblock zu verschieben
+(jedenfalls mit Kraft
+1 ), wenn ich ueber ihn klettern will, rutsche ich ab und lande wieder am
+Ausgangspunkt, vorbeizwaengen geht nicht (jedenfalls nicht in voller
+Ruestung), weder Wespenstachel noch Eispickel helfen weiter... toeten kann man
+das Teil natuerlich auch nicht! KANN MIR JEMAND WEITERHELFEN ? ? ?
+
+                   Immer noch auf Hilfe hoffend,
+
+                                                         Yadgar "Rish Surkh"
+Achakzai
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Gletscherhilfe!!! (Ketos,  1. Nov 1995, 02:00:44):
+#! rn=Yadgar rt=815160214
+Hmm, Yadgar, ich schaetze Du bist noch zu jung fuer den Gletscher, probiers
+mal 10 Level spaeter...
+- Ketos - (der das Ding verbrochen hat)
+
+-----------------------------------------------------------------------------
+
+
+
+Hydra (Puma,  2. Nov 1995, 17:11:37):
+Liebe Gemeinde, zur Rueckkehr der Hydra hier noch ein kleiner Text zur
+Verinnerlichung, und ja, es ist ein Geruecht, das naechste Woche meine Quest
+angeschlossen wird.
+
+
+                          De Hydrae Lupinensis
+                          -=-=-=-=-=-=-=-=-=-=
+
+      (Auszug aus den Schriftrollen des MorgenGrauen-Magiers Puma)
+
+
+
+     Kreation: Hydrae Lupinensis (Namensgebung von Toeter)
+              (Volksmund: 'die Hydra')
+
+     Beschreibung:
+      Die Hydra ist ein schuppenbewehrtes Monster von epischen Ausmassen.
+      Fast so gross wie eine Huette, bahnt sie sich langsam auf kraeftigen
+      Beinen einen Weg durch das sperrige Unterholz des Lupinentals und
+      schickt ihre vielen Koepfe aus, um Rache an ihren Moerdern zu nehmen.
+      Die Koepfe der Hydra sind mit harten Schuppen bedeckt und tragen zwei
+      lange Hoerner. Das Maul ist mit langen Fangzaehnen gespikt, von denen
+      gruenes Gift trieft, und der ganze Koerper ist in einen schuppigen,
+      schwarzen Panzer gehuellt, der schon von vielen Narben gezeichnet ist.
+      Alles in allem ein Koloss der Vernichtung, der sich bisher nur wenigen
+      beugen musste.
+
+     Geschichte:
+      Seit ihrer ersten beobachteten Landung im Tal der Lupinen in den
+      spaeten Nachmittagsstunden des zwoelften Juni im Jahre des Jofs
+      Tausendneunhundertundvierundneunzig entwickelte sich die Hydra
+      zu dem meistgefuerchtesten Monster des MorgenGrauens. Sicherlich
+      nicht das gefaehrlichste, beste oder toedlichste Monster, aber so
+      erschauern noch Heute viele Spieler, wenn man nur das Lupinental
+      erwaehnt.
+      Nicht unwesentlich zu ihrem Ruf trug ein tragischer Unfall bei, der
+      sich kurz nach der Entdeckung des Tals der Lupinen zutrug. Ein uner-
+      fahrener Magier rief im Scherz nach der Hydra und zu aller Ueber-
+      raschung kam sie... wutentbrannt durchquerte sie das Tal einmal
+      komplett ehe zwei Minuten verstrichen waren und hinterliess zwei tote
+      und einen schwerverwundeten Seher, der sich nur mit einen Sprung in den
+      Skatraum der Taverne retten konnte.
+      Der Seher Ryne war es schliesslich, dem es als ersten gelang die Hydra
+      in ihre Schranken zu verweisen und in der Daemmerung eines Dienstags
+      im Maerz die erste der kostbaren Hydratoeterruestungen in Empfang
+      nahm.
+      Im Zuge der zunehmenden Munitionierung der Gilde der Seher mit Saeure-
+      baellen und Flammenkugeln, brach nun eine wahre Jagd auf die begehrten
+      Hoerner und Ruestungen aus, der die Hydra nur wenig entgegenzusetzen
+      hatte. Schliesslich, als sie zum zehnten Male starb, brach der Fluch,
+      der sie an das Tal gebunden hatte, und die Hydra fuhr hinab in die
+      tiefen Schluende der Neun Hoellen.
+      Eigentlich haette das idyllische Tal der Lupinen jetzt endlich seinen
+      wohlverdienten Frieden geniessen sollen, doch eine kleine Unachtsamkeit
+      des unfaehigen Adepten Oreg von Ztirom liess das Grauen erneut hervor-
+      brechen. Durch einen kapitalen Fehler in seiner Beschwoerungsformel
+      entstieg die Hydra den Hallen des Todes, ihr Panzer nun schwarz, ge-
+      haertet von den Feuern des Orkus und ihre Augen voller Magie, mit
+      denen sie permanent nach ihren ehemaligen Haeschern Ausschau haelt, um
+      sich grausam an ihnen zu raechen...
+
+----------------------------
+Demnaechst gibt es dann auch die Liste aller bisherigen Hydratoeter. Das wird
+gerade getestet.
+
+          Viel 'Spass' :)
+
+               PUMA!
+
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Hydra (Grimmborn,  3. Nov 1995, 17:32:33):
+#! rn=Puma rt=815328697
+
+Und wo ist die Liste der Hydraopfer?
+Um grausam und kaltbluetig ermordete Spieler zu filtern sollte man in dieser
+Liste vielleicht nur Opfer ab Stufe 15 (z.B.) fuehren...
+
+Grimmborn der Atheist. Haelt zur Hydra.
+
+-----------------------------------------------------------------------------
+
+
+
+Neues von der Hydra... (Puma, 14. Nov 1995, 20:32:26):
+So, da es offenbar doch ein paar Leuten gelungen ist Dynamit in das Tal zu
+schmuggeln, habe ich ein paar Gegenmassnahmen ergriffen. Die Hydra hat mal
+einen Kurzausflug auf Boings Friedhof gemacht, zwei Seher vgenascht und sich
+mal bei den dortigen Monstern ueber Gegenmassnahmen informiert. Resultat
+dieses Besuches war eine mehr oder weniger vollstaendige Immunisierung der
+Hydra gegen das unseelige Pulver.
+Im Gegenzug gibt es aber nun auch zwei neue Objekte, die man nun im Kampf
+gegen das Ungeheuer verwenden kann.
+
+Viel Spass beim Suchen wuenscht
+
+                     PUMA!
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Neues von der Hydra... (Fyt, 14. Nov 1995, 22:25:48):
+#! rn=Puma rt=816377546
+Na toll.. das sind Magier nicht mal in der Lage, rauszufinden,
+wie man Dynbamit ins Lupinental schmuggeln kann, und machen
+trotzdem das Vieh dynamitresistent. Also ich bin immer noch der
+Meinung, ein ausgetrickster Magier sollte das zugeben und es
+dabei belassen.
+:
+Fyt.
+nn
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Neues von der Hydra... (Jof, 15. Nov 1995, 09:38:16):
+#! rn=Fyt rt=816384348
+
+ Noe, ein ausgetrickster Magier sollte es zugeben (hat Puma getan) und
+a) den Bug fixen, sofern die Spieler in fairerweise geschildert haben oder
+b) Gegenmassnahmen ergreifen, um die Auswirkungen des Bugs zu minimieren (hat
+  Puma getan).
+
+ Jof
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Neues von der Hydra... (Grimmborn, 15. Nov 1995, 09:43:47):
+#! rn=Jof rt=816424696
+
+Bug? Wer redet von bug? Von einem bug kann doch nicht die Rede sein...
+Man muss das doch realistisch sehen: Das Tal versucht, Dynamitfrei zu bleiben
+und schafft das nicht ganz. Es ist doch eher kontraproduktiv, den
+Erfindungsgeist der Spieler so zu sabotieren, was macht es fuer ienen Sinn,
+sich neue Listen einfallen zu lassen, wenn nicht mit Gegenlist sondern mit dem
+groben Holzhammer geantwortet wird?
+Ich finde, man sollte Erfindungsgeist foerdern und nicht so _platt_
+unterbinden.
+
+Rochus hat mir da doch neulich eine tolle Methode gezeigt, wie ein Monster
+sofort (beim ersten Schlag) das Dynamit zum explodieren bringt. Und einen
+Begruessungsschlag hat die Hydra doch allemal... ;-)
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re: ich auch :) (Hardil, 15. Nov 1995, 11:47:49):
+#! rn=Lechuck rt=816381044
+[Verlegt von schmarrn, Engywuck, 14. Nov 1995, 22:21:15]:
+Und noch einen...:
+Du spuerst einen sengenden Schmerz.
+Du teilst Merlin mit: Kannst Du mir sagen, wo Jof ist?
+> Merlin ruft: Ich bin im Gebirge.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: ich auch :) (Hardil, 15. Nov 1995, 11:48:03):
+#! rn=Engywuck rt=816384075
+[Verlegt von schmarrn, Paracelsus, 14. Nov 1995, 22:55:09]:
+Oh wie schoen:
+tm merlin wo du auch bist, bleib dort
+Du spuerst einen sengenden Schmerz.
+Du teilst Merlin mit: wo du auch bist, bleib dort
+> Merlin ruft: Ich bin im Gebirge.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Neues von der Hydra... (Yendi, 15. Nov 1995, 12:59:43):
+#! rn=Puma rt=816377546
+
+Och noe, das finde ich armselig... Wie begruendest Du, dass eine Hydra gegen
+Dynamit "immun" ist? Gut, einem Steinbeisser oder einer steinernen Gargoyle
+(wie sagt man das auf deutsch?) duerfte das wenig schaden, aber eine Hydra
+ist, wenn ich mich nicht irre, aus Fleisch und Blut, und das leidet unter
+Explosionen doch recht heftig...
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Neues von der Hydra... (Puma, 15. Nov 1995, 14:23:52):
+#! rn=Yendi rt=816436783
+Liebe Spieler, versteht doch.
+Ich traeume immer noch den Traum von einem Fantasy-Mud ohne Toaster, Dynamit
+Luftkissenboote, Rasierapparaten, etc.
+Dieses Mud hat schon solche Dinge (schade) und ich kann das nicht verhindern.
+Darum versuche ich zumindestens in der kleinen Welt des Lupinentals dies zu
+beschraenken, soweit mir das moeglich ist. Es geht mir nicht darum die Hydra
+zu schuetzen, nur weil bei ihrem Tod vielleicht mein Ego nicht mitspielt,
+sondern um die Atmosphaere im Tal.
+Deswegen werde ich auch weiterhin alles unternehmen, um obige Geraetschaften
+aus dem Tal herauszuhalten. Dies gilt auch dafuer, falls es hier mal Pistolen
+Kettensaegen, Flammenwerfer und aehnliches fuer Spieler zu haben gibt.
+
+Das die Hydra gegen Dynamit immun ist, ist nicht logisch, ok. Ich werde das
+sofort wieder aendern, sobald ich weiss, wie das Dynamit ins Tal kommt.
+Und noch zu Grimmborn: Dynamit beim Begruessungsschlag in die Luft gehen zu
+lassen halte ich genauso schwachsinnig wie die Immunitaet. Ich will hier ja
+nicht gegen die Seher aufruesten...
+
+               Echt schade
+
+                       PUMA!
+
+
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Neues von der Hydra... (Asmodis, 15. Nov 1995, 14:25:04):
+#! rn=Puma rt=816441832
+Och, du hast doch nur Angst, dass irgendwann mal jemand deine hydra packt :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Neues von der Hydra... (Grimmborn, 15. Nov 1995, 14:27:09):
+#! rn=Puma rt=816441832
+
+Flammenwerfer? Huch, hab ich doch einen. Und werd ihn nicht los. Liegt an
+Highlander.
+Und als Seher hatte ich ihn auch schon, da war der Seherladen schuld... ;-)
+
+Grimmborn der Atheist. Fragt sich, inwieweit eine Dynamit-resistente Hydra
+dne Weg des Dynamits ins Tal verhindert...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Neues von der Hydra... (Wargon, 15. Nov 1995, 14:35:13):
+#! rn=Puma rt=816441832
+Also ich wuesste nicht, was es am Antrieb des Luftkissenbootes auszusetzen
+gaebe...
+  Wargon
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Neues von der Hydra... (Raffi, 15. Nov 1995, 15:20:12):
+#! rn=Puma rt=816441832
+
+Ich frag mich was an Dynamit nicht Fantasytauglich ist ?
+
+Gruss
+H.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4 Neues von der Hydra (Terrorist, 15. Nov 1995, 15:45:22):
+(Bezug: Artikel 29von Raffi vom 15.Nov 1995, 15:20:23)
+
+Vielleicht weil es damals noch kein Dynamit gab genauso wie
+Luftkissenboote....
+
+Terrorist der hier nurnoch ganz wenig Fantasy sieht
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: 0 (Cuchullin, 15. Nov 1995, 17:45:02):
+#! rn=Terrorist rt=816446722
+
+
+Ich kann nur sagen, dass das Lupinental fuer mich ganz zweifellos zu den
+schoensten Gebieten von MorgenGrauen gehoert. Und das, obwohl es weder nen
+Schlagring noch ein Blutsaugerschwert darin zu finden gibt.
+
+Cuch.-  Romantiker.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: 0 (Zephyr, 15. Nov 1995, 17:46:32):
+#! rn=Cuchullin rt=816453902
+Dafuer gaaanz viele Schleier.. Hunderte sozusagen.
+
+Zephyr, romantisiert mit
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: 0 (Asmodis, 15. Nov 1995, 17:50:19):
+#! rn=Cuchullin rt=816453902
+Jo, nur schade, dass die Hydra es immer so verschandeln muss
+mit dem Muell, den sie hinterlaesst nach einem Besuch :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: 0 (Fyt, 15. Nov 1995, 23:48:18):
+#! rn=Terrorist rt=816446722
+Hm, also mit Fantasy verbinde ich aus irgendnem dummen Grund
+auch die Zeit des fruehen Mittelalters, und zu eben der Zeit
+gab es auch auf dieser unseren Welt schon Sprengstoffe und
+Raketen, die im Morgengrauen dann zwar konsequenterweise in
+Fernwest zu finden sein muessten, nichtsdestotrotz aber im
+Mud existieren koennten. Ich reg mich auch ueber einige Teile
+auf, zum Beispiel die Disko in den Katakomben, den Koks da, die
+Beschallungsanlage bei Zacharias u.v.m. Mir passen auch einige
+Quests von der Ausgestaltung her nicht ins Mud, z.B. Schrat.
+An der Stelle koennte man viel vom 'Phantasygedanken' bewahren,
+wenn man die NPC einfach mit irgendwelchen 'normalen' Namen
+belegt. Beim Waldbauer klapp'ts doch auch. Ich wuerde mir eine
+'Ueberarbeitung' des Muds als Gesamtheit in der Richtung sehr
+wuenschen, und ich bin der Meinung, dass viele Spieler
+Anregungen einbringen wuerden... oder seh ich was falsch?
+Das hatte jetzt wohl nix mehr mit dem Dynamit im Lupinental
+(das ich uebrigens auch als eine der gelungensten Gegenden
+im MG betrachte) zu tun. Dass, was mich daran stoert, ist der
+Umgang von Magiern und Spielern. Ich glaube, ich kann von mir
+behaupten, dass ich mich fuer eine gewisse 'Stabilitaet' im
+Mud einsetze, und dass ich 'vernuenftigen' Argumenten irgend-
+welche Taktiken betreffend durchaus zu hoere, und ich weiss
+auch, dass Puma kein Dynamit im Tal mag. Andererseits ist es
+echt frustrierend, eigene tagelange Bemuehungen zunichte gemacht
+zu sehen... ja, es hat eine Weile gedauert, das Zeug ins Tal zu
+bekommen. Und ich bin auch dran gestorben, und ich haette gut
+damit leben koennen, wenn das Dynamit den Kill und die Ruestung
+bekommen haette.... es wird wirr...
+Jedenfalls regt's mich auf, dass man hier sobald man auf ein
+Schlupfloch ghestossen ist, man im Prinzip gezwungen ist, es
+sofort ruecksichtslos auszunutzen, da in dem Moment, wo der
+betreffende Magier dahinterkommt, der Hahn ohne Diskussion
+abgedreht wird. Dabei wissen die betreffenden Spieler durchaus,
+durch welche geringfuegige Aenderung das 'Feature' zum
+'schamlosen Ausnutzen' unattraktiv wuerde, aber der Allgemeinheit
+dennoch erhalten bliebe (ich sag nur 18000 ep fuer die Gladis oder
+0 ep beim zweiten mal oder einmal pro reset oder oder oder).
+:
+Fyt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Neues von der Hydra... (Li, 16. Nov 1995, 08:57:58):
+#! rn=Yendi rt=816436783
+Gargoyle = Wasserspeier 8ist zwat bloed, bezeichnet aber das gleiche,
+naemlich steinerne Ungeheuer an Kirchen( meistens grosse, wie Dome)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: 0 (Li, 16. Nov 1995, 09:08:27):
+#! rn=Fyt rt=816475698
+Leute, Leute!
+Was habt ihr an Pumas Aenderung auszusetzen? Ich fand seine Erklaerung
+ziemlich schluessig. Es geht hier nicht darum, dass sein Ego knickt wenn ihr
+die Hydra toetet, sondern darum, dass er eben kein Dynamit in seinem
+Lupinental moechte.
+Er ist der zustaendige Magier, und welchen Spieler das Lupinental nicht
+gefaellt, der muss sich eben woanders austoben (Ok, klingt haerter als es
+gemeint ist.).
+Was das geknickte Ego angeht, so scheinen mir eher einige Seher darunter zu
+leiden, dass sie gewisse monster nicht kleinkriegen. Naja, genug der
+Flamewars:
+Keep cool, man/girl!
+Ach so und nochwas: Es ist richtig, dass es in China schon sehr frueh,
+Raketen und Schwarzpulver gab, Dynamit allerdings NICHT! Raketen wurden
+aussschliesslich zur Belustigung, bei Festen oder Feiertagen eingesetzt.
+Warum sie das Schwarzpulver nicht zu Dynamit verarbeitet haben? nun, nicht
+weil sie so friedliebend waren, sondern wahrscheinlich, weil es keiner
+hinbekommen hat oder es keinem eingefallen ist.
+
+Li
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: 0 (Roadrunner, 16. Nov 1995, 11:05:00):
+#! rn=Li rt=816509307
+schwarzpulver=Dynamit?? *lach*
+				RR
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: 0 (Li, 16. Nov 1995, 11:25:47):
+#! rn=Roadrunner rt=816516300
+Mann ich weiss auch, dass schwarzpulver kein Dynamit ist. Dynamit war
+rspruenglich: von A,nobel erdacht, auf Kieselgel gezogenens Nitroglyzerin oder
+taeusche ich mich da?
+Li
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: 0 (Paracelsus, 16. Nov 1995, 12:26:38):
+#! rn=Li rt=816517547
+Nein, du taeuscht dich da nicht.
+
+-----------------------------------------------------------------------------
+
+
+
+Einen Stadtplan hat er auch nicht... (Hardil, 16. Nov 1995, 13:23:02):
+teile merlin mit wo ist das lupinental?
+Du spuerst einen sengenden Schmerz.
+Du hast jetzt 100 Lebenspunkte und 226 Magiepunkte.
+Du teilst Merlin mit: wo ist das lupinental?
+Merlin ruft: Ich bin in der Ebene.
+
+
+Neenee, Merlin, aus Dir wird nie ein gescheiter Mud-Fuehrer. :)
+
+-Hardil. NNN.
+
+-----------------------------------------------------------------------------
+
+
+
+Dynamit (Boing, 17. Nov 1995, 14:16:59):
+Hi
+da die Dynamit-Diskussion hier gefuehrt worde, gebe ich auch hier meine
+Aenderung bekannt: Das Dynamit heisst jetzt 'Boings Hoellenfeuer', der
+Name stammt von Ancalagon, meinen herzlichen Dank dafuer. :)
+Die Wirkungsweise ist (fast) unveraendert, eigentlich hat sich nur
+intern ne Kleinigkeit geaendert,
+Tschuess,
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Naja endlich! (Puma, 29. Nov 1995, 08:50:30):
+Auf vielfachen Wunsch sind die Hydrahoerner jetzt nicht mehr verkaeuflich.Sie
+haben keinen materiellen Wert mehr, nur noch ideellen, aber ich hoffe,
+dass das auch langt..
+
+Puma!
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: 0 (Nirdavo, 29. Nov 1995, 11:22:17):
+#! rn=Li rt=816509307
+Kleine Anmerkung, Li.
+Raketen wurden in China durchaus zu Kriegszwecken eingesetzt, wenn man in
+spaetrer Zeit auch davon wieder abgekommen ist.
+Dynamit wird _nicht_ aus Schwarzpulver hergestellt, sondern besteht aus in
+Kieslgur aufgesogenen Nitroglycerin. Demnach kann man gar nicht Schwarzpulver
+zu Dyamit verarbeiten!
+Just my 2 pennies
+               nirdavo
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Naja endlich! (Mindolluin, 29. Nov 1995, 14:42:02):
+#! rn=Puma rt=817631430
+Zu spaet, jetzt hab ich schon aus Versehen ueber 100 Hoerner verkauft. :)
+
+       Caradhras
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: 0 (Cuchullin, 29. Nov 1995, 17:10:32):
+#! rn=Nirdavo rt=817640537
+
+Schwarzpulver kann man nicht zu Dynamit verarbeiten, richtig.
+Aber das, zu was Du es verarbeiten kannst, reicht vollkommen.
+
+Froh, dass er noch alle Finger seiner linken Hand hat,
+Cuch.-
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: 0 (Li, 30. Nov 1995, 09:07:31):
+#! rn=Nirdavo rt=817640537
+*SEUFZT*
+nirdavo, vielen Dank fuer Deine Aufklaerung bzgl. Dynamit und Schwarzpulver!
+Ich habe als Chemiestudent ja eh keine Ahnung von chemie oder Nitro, bzw.
+Schwarzpulver!
+Ich wollte halt die Spieler verwirren, denn die muessen ja unbedingt wissen,
+ob Rakete und Dynamit aus gleichen Ingredienzen bestehen oder nicht!
+SChliesslich geht es nicht an, dass die Spiler nur wissen, dass beides BUMM
+macht!
+Li
+P.S. Dieser Artikel ist IRONISCH gemeint!
+P.P.S. Li denkt . o O (hab ich nicht schon mal auf jemanden geantwortet, der
+                      mir undebingt den Unterschied zwischen Dynamit und
+                     Schwarzpulver erklaeren wollte?)
+P.P.P.S Nichts fuer ungut, Nirdavo!
+P.P.P.P.S Ab nach Schmarrn damit!
+
+-----------------------------------------------------------------------------
+
+
+
+Dynamit oder schwartzpulver (Roesti, 30. Nov 1995, 10:56:45):
+Also dazu moecht ich auch was sagen...
+Es reicght also nicht wenn ich weis das es einfach nur BUM macht?
+Da bin ich anderer Meinung...:)
+Ob ich jetzt Kaliumchlorat mit irgendwas huebschen vermische oder
+Salpeter....
+Hauptsache ist und bleibt das es BUM macht...(Wenn es bumm macht...Bei mir
+spruehts meistens nur und stinkt wie'd Sau...:)
+
+Mann solte natuerlich wissen wos mehr Bum machen kann und wo weniger...:)
+
+Ironie aus...:)
+
+Roesti (hey hier passt der Name Beispielsweise hin...:) )
+
+P.S.:Wenn niemand was dagegen hat moechte ich ,sobald ich Magier bin , die
+Sprengstoff und Pyrotechnik Abteilung uebernehmen...:) ) :)
+
+-----------------------------------------------------------------------------
+
+
+
+Naja, endlich! (Puma,  6. Dez 1995, 18:17:24):
+Du sagst: also, die queste ist jetzt angeschlossen?
+Boing nickt zustimmend.
+
+
+-ohne worte-
+
+Puma! (soooooooooo aufgeregt :-)))
+
+
+-----------------------------------------------------------------------------
+
+
+
+SSP ... mal wieder (Boing,  7. Dez 1995, 12:25:06):
+Da lauf ich doch eben so durch die SSP ... und tatsaechlich ist ein
+neuer Teil erreichbar geworden, ich war vielleicht ueberrascht, koennt
+ihr mir glauben! Sah aber teilweise sehr gefaehrlich aus ... also obacht!
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: SSP ... mal wieder (Asmodis,  8. Dez 1995, 00:58:04):
+#! rn=Boing rt=818335506
+pfft, wers glaubt ... Du warst bestimmt nicht ueberrascht :)
+
+-----------------------------------------------------------------------------
+
+
+
+Zwergenschmied (Boing, 11. Dez 1995, 16:15:06):
+Kleine Information am Rande: Das Geld, was der Zwergenschmied einnimmt
+(durch Einschaetzen oder Axtverkauf) fliesst jetzt auch in den Kreis-
+lauf zurueck.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Zwergenschmied (Jerrico, 11. Dez 1995, 16:16:16):
+#! rn=Boing rt=818694906
+Du meinst er geht es auch versaufen :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Zwergenschmied (Anthea, 11. Dez 1995, 16:20:47):
+#! rn=Jerrico rt=818694976
+Versaufen? seit wann koennen Zwerge saufen? Fuer die gehoert so etwas doch
+zur Lebenserhaltung :)
+
+-----------------------------------------------------------------------------
+
+
+
+Inferno-Bugs (Puma,  2. Jan 1996, 10:53:46):
+So, der Flop mit den nicht-teleportierenden Teleportern ist jetzt bereinigt.
+Vielen Dank an Toeter, Silvana und Mupfel, die mich auf das Problem
+hingewiesen haben und die festhaengenden Spieler per Hand weitergeschleift
+haben.
+
+Als kleine Entschaedigung fuer entstandene Sorgen und Kummer habe ich jetzt
+mal das Kreuz der Wahrheit autoload gesetzt, da es so etwas wie
+'Questhalbzeit' symbolisiert. Man weiss ja nun, wie man es zusammenzusetzen
+hat, deswegen muss man anderen Questwilligen Spielern ja nicht die
+vielgehassten Reset-Gegenstaende wegschnappen.
+Ausserdem spendiert das Kloster noch zwei weitere Flaschen Wein pro Reset,
+weil es so gut schmeckt.
+
+Puma
+(sortiert seine Moenche)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Inferno-Verbesserungen (Puma,  2. Jan 1996, 11:29:49):
+So, weiter gehts...
+Besagte kritische Stelle in der Quest *BEEEEEEEEP*, die schon so manchen Kopf
+und Kragen, Nerven und die Lust am Mudden genommen hat, ist wiederum etwas
+entschaerft worden, in dem die Zeiten weiter erhoeht und der Text weiter
+gestueckelt worden ist, um optimale Lesbarkeit zu garantieren.
+Zudem wird auf zwei Fallen etwas deutlicher hingewiesen, als sonst.
+
+Ansonsten ist aber alles beim alten geblieben, und es gilt auch weiterhin der
+Satz: 'Diese Queste ist kein Gaensebluemchen-Pfluecken!' Klingt etwas
+imperativ, ist auch so gemeint.
+
+Eine Hoehereinstufung der Queste bzgl. der AP kann ich nicht vornehmen. Ich
+kenne den Architekten persoenlich nicht und kann deshalb keine eigenen
+Vergleiche anstellen. Alle Anfragen nach mehr AP sind an den Questen-EM, d.h.
+Boing, zu richten.
+Evtl. werden die oberen Questen (>100 AP) eh' demnaechst neu geordnet, da die
+Einteilung veraltet ist. Aber das sind Stammtisch-Geruechte und werden von
+Boing bekanntgemacht, wenn es soweit ist.
+
+Puma!
+(immer noch etwas geschafft, vom Koelner Stammtisch :) )
+
+
+-----------------------------------------------------------------------------
+
+
+
+Aenderung (Silvana,  6. Mar 1996, 12:31:37):
+[Verlegt von d.wald, Silvana,  6. Mar 1996, 12:29:26]:
+Ich habe eine Kleinigkeit in Cronoertal geaendert.
+
+  have fun - Silvana
+
+
+-----------------------------------------------------------------------------
+
+
+
+Kleinigkeit (Silvana, 28. Mar 1996, 13:53:05):
+Zwei kleinigkeiten nur:
+1: Lhana di Leondro laesst sich jetzt auch mit 'finde lhana' finden.
+2: In der Hoehle, die ja aus Granit besteht, laesst sich jetzt auch eine
+   kleine Menge davon finden...
+
+  Silvana
+
+-----------------------------------------------------------------------------
+
+
+
+Feuerring, Eisstab (Boing, 15. Apr 1996, 12:13:29):
+Aufgrund einer Aenderung der Regeln fuer Zusatzwaffen werden jetzt beim
+Gebrauch von Feuerring und Eisstab auch ein paar Magiepunkte verbraucht.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Feuerring, Eisstab (Nixihou, 21. Apr 1996, 15:21:55):
+~#! rn=Boing rt=829563209
+~#! tid=829563209
+also der verbrauch von 12 mp fuer den ring, (eisstab weiss ich nicht) finde
+ich nicht ok. denn es wiederspricht dem KONZEPT dieser gegenstaende!
+Diese laden sich ja waerend einer bestimmten zeit auf, und der spieler
+entlaesst die gespeicherte energie ja "nur" in form von feuerstrahl oder
+eiswolke.
+klar das man evtl 1-2 mp braucht um das ding zu aktivieren, aber bei 12 mp
+ist der effekt fuer chatoten abenteurer und zauberer schon fast besser mit
+ihren eigenen spruechen zu erzeugen!
+andererseits, wenn sich die "aufladezeit" drastisch verkuerzen wuerde ...
+waere das wiederum verstaendlich und "konzeptkonform".
+aber mit den "neuen" mp-kosten werden die gegenstaende geradezu unbrauchbar.
+(naja, fast jedenfalls)
+nixi
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Feuerring, Eisstab (Valarian, 21. Apr 1996, 21:38:30):
+~#! rn=Nixihou rt=830092915
+~#! tid=829563209
+Hiho :-)
+
+Das was Nixi sagt, ist absolut richtig, denn was soll ich mit einem Teil, das
+aufladen muss und nur eine Nachahmung meiner normalen Moeglichkeiten ist.
+
+Also seit die Kosten eingefuehrt wurden, hab ich den Ring nur einmal benutzt
+und den Stab keinmal, obwohl ich bestimmt 10 Stunden online war. Es ist
+absolut zu teuer und da trag ich lieber ein GE_ring, der mir durch den Bonus
+einen RS_vorteil und Attacke-Bonus gibt.
+
+Ok, ich muss zugeben mit dem roetlichen Ring wurde viel Bloedsinn getrieben
+(Auch ich hab manchmal 8 Stueck dabei gehabt), aber sowas laesst ja
+verhindern.
+
+Die kosten sollten auf jeden Fall gesenkt werden, denn im mom sind sie den
+Schuss Pulver net wert :-))
+
+Gruss, Vali.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Feuerring, Eisstab (Paracelsus, 21. Apr 1996, 21:41:09):
+~#! rn=Valarian rt=830115510
+~#! tid=829563209
+Hi.
+Also vom Nutzen/Kosten-Verhaeltnis her lohnen sie sich immer noch (zumindest
+fuer Abenteurer).
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Feuerring, Eisstab (Boing, 22. Apr 1996, 09:09:07):
+~#! rn=Nixihou rt=830092915
+~#! tid=829563209
+Sehe ich ein, ich habe auch schon vor die MP zu reduzieren auf eine
+Art Zuendungsenergie (<= 5 MP), wobei es dann aber zu Effekten wie
+Fehlzuendung, Selbstzerstoerung oder falscher Schadenstyp kommen soll
+(mit einer bestimmten Wahrscheinlichkeit). Ich denke, das waere ein
+Kompromiss mit dem man leben koennte, ausserdem wuerde es die Gegenstaende
+interessanter machen.
+Kommentare?
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Feuerring, Eisstab (Morgoth, 22. Apr 1996, 09:42:02):
+~#! rn=Boing rt=830156947
+~#! tid=829563209
+yep
+selbst meine rauchbomben benoetigen jetzt etwas 'kontroll-magie'
+
+morgoth
+der artikel koennte auch nach vland, aber hier passt das reply
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Feuerring, Eisstab (Orktoeter, 22. Apr 1996, 10:46:25):
+~#! rn=Morgoth rt=830158922
+~#! tid=829563209
+Wie waere es, wenn statt MP zu benoetigen, das aufladen erst erfolgt, wenn
+die MP des Spielers voll sind, das also die normale "regenerierung" auf den
+Ring/Stab uebertragen wird ?
+OrkT.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Feuerring, Eisstab (Raffi, 22. Apr 1996, 11:21:51):
+~#! rn=Boing rt=830156947
+~#! tid=829563209
+Wie ware es wenn der Ring auch von der Stufe unabhaengig benutzt werden
+koennte ?
+
+Gruss
+H..
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Feuerring, Eisstab (Valarian, 22. Apr 1996, 12:15:07):
+~#! rn=Raffi rt=830164911
+~#! tid=829563209
+Ich finde cool, wenn die Dinger explodieren. Das gibt nen kleinen
+zusaetzlichen Kick, aber dann sollte auch mal extrm gutes passieren koennen.
+
+Gruss Valarian.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Feuerring, Eisstab (Predator, 22. Apr 1996, 12:24:27):
+~#! rn=Valarian rt=830168107
+~#! tid=829563209
+Ja, das haette was.....
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Feuerring, Eisstab (Fyt, 22. Apr 1996, 20:18:33):
+~#! rn=Boing rt=830156947
+~#! tid=829563209
+
+Hab nix dagegen.
+
+Fyt
+
+-----------------------------------------------------------------------------
+
+
+
+Eisstab & Feuerring (Nixihou, 24. Apr 1996, 15:56:44):
+Boings gewuenschte kommentare:
+1.) so eine "zuendenergie" finde ich vollkommen einsichtig. 1-2 mp. und
+   evtl. sollte es noch eine mp-grenze geben, unter der gar nichts mehr
+geht.
+   motto:  also wenn du nur noch weniger als 20% deiner geistigen
+   kapazitaet hast dann wird das wohl eher nichts.
+2.) vielleicht kann ja das mp-niveou in das "random" der
+gegenstaend mit einfliessen. -> je mehr mp, desto bessere kontrolle der
+gegenstaende!
+3.) stufenabhaengigkeit sollte raus, bzw abgeaendert werden.
+    erst ab "seher-level" volle entfaltung aller kraefte.
+4.) neben der bissher "normalen" regeneration dieser gegenstaende sollte es
+    evtl. eine moeglichkeit geben, geziehlt diese dinger wieder
+    aufzuladen. (massig mp rein evtl. levelabhaengig und wieder aufgeladen)
+x.) wie beim eisstab sollte jeder dieser gegenstaende (oder aehnlicher)
+    nur EINMALIG bei einem spieler im besitz sein. also schluss mit
+    20 feuerstrahlringen die wechselseitig angezogen werden.
+
+das mit den "unfaellen", wo dann auf einmal ein "falscher" schadenstyp kommt
+ist eine tolle idee. Nur sollte man eine moeglichkeit haben (s.o.) die
+wahrscheinlichkeit dieser "zufaelle" ein wengi zu beeinflussen.
+
+nixihou, kommentiert heute mal alles.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Eisstab & Feuerring (Nixihou, 24. Apr 1996, 16:02:19):
+~#! rn=Nixihou rt=830354204
+~#! tid=830354204
+ergaenzung zu punkt 3:
+warum koennte man nicht anstelle des levels die anzahl der gefundenen
+int-zaubertraenke oder die anzahl aller gefundenen zaubertraenke als
+kriterium dafuer nehmen, wie gross die kraftentfaltung dieser ringe/staebe
+ist?  hierbei wuerde ich die anzahl der zt's als mass fuer die
+"geistige" reife oder so interpretieren, die fuer die benutzung eines
+solchen magischen gegenstandes benoetigt wird.
+
+nixihou, just an additional idea
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Eisstab & Feuerring (Anatol, 24. Apr 1996, 16:50:20):
+~#! rn=Nixihou rt=830354539
+~#! tid=830354204
+
+Dass Deine Zweities noch oefter am Klitzeldrom stehen?
+Na klasse.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Eisstab & Feuerring (Raffi, 24. Apr 1996, 18:51:01):
+~#! rn=Nixihou rt=830354539
+~#! tid=830354204
+HHmm ganz nett die Zusammenfassung, ich hatte nur gerne 2 punkte anders
+a) Warum muss der stab besser werden je hoeher das Level wird? - warum nicht
+schlechter ? (wenn man ihn schon variabel macht) Je besser der Beitzer wird,
+desdo unnuetzer wird der gegenstand
+
+b) Wenn die Wirksammkeit an den ZTs angehaengt wird, dann bitte an allen, und
+als masstab alle 80 zu findenden verwenden (waer ein neuer anreitz auch die
+letzten 4 zu finden) und nicht nur an INT-ZTs - das ist viel zu einfach zu
+ereichen.
+
+m.E. Magische Gegenstaende was was geschaffen wurde um Nicht-Magiern eine
+Entsprechnde Faehigkeit zur verfuegung zu stellen (fuer Eigene Wachmonster,
+oder zum Verkaufen).
+
+Gruss
+H.
+
+-----------------------------------------------------------------------------
+
+
+
+Re : Feuerring, Eisstab (Jurryii, 29. Apr 1996, 16:58:05):
+Ich will ja nichts sagen aber irgendwie hoert sich das siech fuer mich wieder
+wie die "die Spieler sind zu stark oder die Monster sind zu schwach"
+-diskussion an.
+Ich finde es schade das die Genialitaet der Spieler jedes mal zu nichte
+gemacht wird.
+Eigendlich nicht schade sondern Scheisse !
+Und wenn es 8 Feuerringe sind, reicht es denn nicht das die aktionzahl pro
+Runde begrenzt ist, und die Aufladezeit so lange ist ? Ich habe schon lange
+kein bock mehr 8 mal den Schlammdrachen zu killen (auch nicht super-easy) weil
+es sich einfach nicht lohnt bei den rebootzeiten. Zu nervig.~r
+Und das mit den Flammenkugeln, das ist auch kein geschenk durch die
+wasserebene zu kommen, musste auch erst 3 mal da Sterben bevor ich da
+durchkommen konnte
+Und das man so nebenbei auch noch nen Hexer dafuer plaetten muss scheint mann
+wohl zu vergessen
+Ist doch immer das gleiche, ob Bumis, Saeurebaelle, Flammenkugeln,
+Anti-Feuer-Ring, Eisstab, Feuerring...
+Da kann mann sich nur Fragen was kommt als naechstes ???
+Ich hab schon schiss mit mehr als 10 saeurebaelle rumzulaufen wenn ich noch 6
+Nadeln besitze wird mir schon schwindelig... schnell loswerden denk ich mir da
+immer nur, koennte ja auffallen
+
+Tolles Entspannen....
+Aber ich wollt' ja nichts gesagt haben
+
+Ein leicht saeuerlicher
+
+Jurry - Das TIER !
+
+
+-----------------------------------------------------------------------------
+
+
+
+Hydra erschrocken! (Puma, 28. Mai 1996, 14:38:50):
+Tja Leute,
+
+Die Hydra hat sich vor den neuen Kugelblitzen ziemlich erschrocken und
+weigert sich seitdem das Tal der Lupinen weiterhin anzufliegen. Erst einmal
+zumindestens. Nun gibt es drei Moeglichkeiten:
+
+a) vollstaendige Revision
+b) Aufnahme der Kugelblitze in die Immunitaetenliste (a'la Nadeln,
+   Saeurebaelle, etc.)
+Alles bleibt so wie es ist
+
+Also meldet euch mal ...
+
+
+    Puma!
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Hydra erschrocken! (Anakin, 28. Mai 1996, 14:42:23):
+~#! rn=Puma rt=833287130
+~#! tid=833287130
+Hi,
+
+Tja wie immer wenn Leute es uebertreiben mit nen paar Sachen
+faellt es den Magiern auf, und sei es wenn man die Hydra jeden
+Tag killt. Mach lieber ne vollstaendige Revision und staerker
+und immun gegen alles was jemals ueberhaupt bekannt ist.
+Denn wenn ein Spieler die Hydra an 6 Tagen 6 mal killt war sie
+doch wohl eindeutig zu schwach oder?
+
+Anakin.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Hydra erschrocken! (Morgoth, 28. Mai 1996, 14:42:40):
+~#! rn=Puma rt=833287130
+~#! tid=833287130
+was ein feiges viech
+setz doch alle P_RESISTANCE_STRENGTHS werte auf -1.0 dann kann jeder machen
+was er will.
+HEY PUMA...AUFWACHEN !!!
+wofuer sind npcs denn da, vor allem solche???
+versuch doch mal die hydra intelligenter zu machen, anstatt sie mit tausenden
+von immunitaeten auszuruesten. ich weiss, das sagt der richtige, aber wer sich
+meinen elementar ansieht wird bemerken, dass er sehr fair ist. dafuer aber
+auch ziemlich gewitzt.
+ueberleg dir das nochmal. waer schade drum.
+
+Morgoth
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Hydra erschrocken! (Boing, 28. Mai 1996, 14:49:30):
+~#! rn=Puma rt=833287130
+~#! tid=833287130
+Ich finde es nicht gut alte Monster staendig staerker zu machen, wenn es
+Gegenstaende fuer Spieler gibt, die so eine enorme Auswirkung aufs Spiel
+haben, dann sollte man lieber schauen, dass diese Gegenstaende (in dem
+Fall wohl vom Kugelblitz, hat Mupfel nicht mal gesagt, den wuerde es im
+MG NIE geben) angepasst und abgeschwaecht werden.
+Ach ja ... ersetzt das 'vom' 2 Zeilen hoeher durch 'der'.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Hydra erschrocken! (Raffi, 28. Mai 1996, 15:07:11):
+~#! rn=Boing rt=833287770
+~#! tid=833287130
+
+Jep, ganz meine Meinung - Alte Monster dauernd starker zu machen, um sie
+damit weiterhin 'an der Spitze' der Monsterliste zu halten ist doch wohl
+eher fade das Mud wird dadurch nur noch statischer - insbesondere durch
+Imunitaeten jede neue Entwicklung (egal wie sinnvoll sie ist) einfach zu
+ignorieren ist schon schwach. Was da entsteht sind totgepflegte Dinosaurier
+im Reservat.
+
+Besser waere es die Energie in NEUE NPC zu stecken, die dann auch NEUE
+Herausforderungen darstellen. Es ist in meinen Augen ueberhaupt nix
+schlechtes daran wenn Hydrakillen 'normal' wird (auch wenn ich mir das
+so nicht vorstellen kann).
+
+Ein 'Lernefekt' bei den NPC wie Morgoth es vorschlaegt hingegen gefaellt
+mir.
+
+Gruss
+H.
+(Raffi mag es erstmal mit NPCs zu reden, auch wenn sie nur zum Abschlachten da
+sind)
+
+P.S.: m.E. ist ein Magier im MG nicht jemand der wie ein schlechter
+      DM mit 'das ist so' und 'so stehts nicht im Abenteuer' eine
+      Spielrunde leitet, sondern jemand der eine Situation schafft
+      und dann mal schaut was die Spieler daraus machen!
+P.P.S.: Boing bin ich gespannt auf Dungeonkeeper.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Hydra erschrocken! (Puma, 28. Mai 1996, 15:50:39):
+~#! rn=Anakin rt=833287343
+~#! tid=833287130
+Hm, ich glaube, ich bin nicht richtig verstanden worden: Es geht mir nicht
+darum, die Hydra an der Spitze irgendwelcher Todeslisten zu halten, und es
+ist mir auch egal, ob sie woechentlich, taeglich oder halbtaeglich stirbt.
+
+Ich finde es nur einfach unfair, altgedienten Hydra-Toetern gegenueber, wenn
+nun jeder Hinz und Kunz (man verzeihe mir die Formulierung) sich ein paar
+Waffen greift und die Hydra in dreissig Sekunden plaettet, wo andere tagelang
+an Strategien gebastelt haben und Ausruestung sammeln, da sie diese Waffen
+noch nicht zur Verfuegung hatten.
+
+
+
+Puma!
+
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Hydra erschrocken! (Hadra, 28. Mai 1996, 16:20:16):
+~#! rn=Puma rt=833291439
+~#! tid=833287130
+also so ganz kann ich diese argumentation nicht nachvollziehen, denn wenn ich
+das mal umsetze aufs RL muesste man dringend was gegen moderne flugzeuge
+unternehmen, weil sie die leistung von charles lindberg schmaelern, denn sie
+erlauben es ja auch jedem hinz und kunz uebe den atlantik zu fliegen.
+
+meine bitte waere eine andere: wenn es hier jemanden fuer balance gibt, moege
+der/die doch einfach bai der einfuehrung neuer sachen mal testen was man damit
+so alles machen kann. ein schwerer job, vor allem spieler manchmal auf die
+seltsamten ideen kommen. aber ich glaube an vielen stellen koennte man sich so
+viel nachtraeglichen aerger ersparen.
+
+hadra - 2 muenzen
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Hydra erschrocken! (Dhojakt, 28. Mai 1996, 16:55:06):
+~#! rn=Hadra rt=833293216
+~#! tid=833287130
+Da die Hydra mit Flaechenmunition (gleich welcher Art) zu leicht zu killen
+ist, ist sie damals ueberarbeitet worden. Wenn jetzt was in der Art
+Flammenkugeln auftaucht, mit dem man die Hydra so killen kann wie damals,
+haette es sich Puma gleich sparen koennen und die Hydra waere ihre 150 StP
+auch nicht mehr wert. Also sollte Puma seine Hydra etwas dressieren... *grins
+fies*
+Khidar.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Hydra erschrocken! (Anatol, 28. Mai 1996, 16:59:43):
+~#! rn=Dhojakt rt=833295306
+~#! tid=833287130
+
+Khid^H^H^H^HDhojakt hat da wohl voellig recht...
+Da man selbst Magier, denen man vom Level her Vernunft zutrauen sollte,
+alles moegliche anschliessen, sollte man wohl eine Property P_NO_ARTILLERY
+einfuehren :). 
+Manche Monster _sollen_ halt nur mit Strategie, nicht mit einer grossen Menge
+an Artillerie oder Tank-Gut toetbar sein. Oder?
+
+Anatol, Uralt-Seher (wenn auch nicht Asmo-Asbach)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Hydra erschrocken! (Mupfel, 28. Mai 1996, 17:26:37):
+~#! rn=Puma rt=833287130
+~#! tid=833287130
+Die Blitze sind schon wieder weg. Das war mein 'Ausrutscher der Woche' :-)
+Punkt.
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Hydra erschrocken! (Fyt, 28. Mai 1996, 17:37:57):
+~#! rn=Boing rt=833287770
+~#! tid=833287130
+
+Naja, Puma koennte seine Koepfe ja mitzaehlen lassen, und wenn die
+alle in einer Runde krepieren, dann laesst sich sicher auch feststellen,
+was das war und das auch glecih noch beheben.
+
+Andererseits find ich den Anschluss der Kugelblitze *ueberhaupt*
+nicht ok, zumindest nicht in der Art, dass z.B. Puma davon nichts
+gewusst hat.
+
+Fyt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Hydra erschrocken! (Mupfel, 28. Mai 1996, 17:46:40):
+~#! rn=Hadra rt=833293216
+~#! tid=833287130
+Nochmal: das war *keine* Einfuehrung; eigentlich wollte ich das Teil max. ne
+Woche drinhaben fuer ne Art Test: Wie lange braucht es, bis das 1. einer merkt
+und 2. sich rumspricht, wie gut das ist. Bei den Pfirsichen z.B. hat es
+wesentlich laenger gedauert...
+
+-mupfel- 
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Hydra erschrocken! (Fyt, 28. Mai 1996, 17:50:59):
+~#! rn=Mupfel rt=833298400
+~#! tid=833287130
+
+Na fein, in Zukunft legt also jeder Magier (oder RM?) mal fuer
+ne Woche 'n Tool rum, mit dem man Hydra oder Waterluh zappen kann
+oder sonstwie 150 Stupse kriegt. Und alle, die so daemlich waren,
+die Hydra 'per Hand' um zulegen, gucken in die Roehre, oder was?
+
+Fyt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Hydra erschrocken! (Mupfel, 28. Mai 1996, 17:53:32):
+~#! rn=Fyt rt=833298659
+~#! tid=833287130
+Genau. Wenn ich das demnaechst mache, aender ich aber die Hydra gleich mit,
+ok? :-)
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Hydra erschrocken! (Raffi, 28. Mai 1996, 17:58:00):
+~#! rn=Fyt rt=833298659
+~#! tid=833287130
+
+Ich weiss nicht was ihr euch so um die Hydra aufregt. Hast Du sci schon
+gekillt Fyt ? Wenn ja, dann freu dich, und schau doch auf all die armen
+Schlappschwaenze herab die Hilfsmittel verwenden.
+
+Ich hab sie noch nicht gekillt,
+ich werde sie wahrscheinlich nie killen,
+ich bewundere aber die die was neues afinden, kaum das es da ist, und auch
+gleich sinvoll einsetzen.
+
+
+Gruss
+H.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Hydra erschrocken! (Fyt, 28. Mai 1996, 18:03:37):
+~#! rn=Raffi rt=833299080
+~#! tid=833287130
+
+Ja, Raffi, ich hab sie gekillt. Und zwar war das zu ner Zeit, wo
+das a) noch kein anderer gemacht hatte und b) es keine Stups dafuer
+gab.
+
+Und ich hab an dem Ding fast 70 Mio Ep verloren. Kannst Du Dir
+vorstellen, dass ich da leicht frustriert bin?
+
+Fyt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Hydra erschrocken! (Jimdigriz, 28. Mai 1996, 18:53:02):
+~#! rn=Fyt rt=833299417
+~#! tid=833287130
+Nanana Fyt,
+
+ohne deine Leistung schmaelern zu wollen, der erste warst du wohl nicht
+(denk ich). Afaik war der erstre Ryne und der zweite Bambulko.
+Obwohl eben damals Hilfsmittel noch verwendet wurden.
+
+Gelangweilt sinnlose artikel schreibend.. (darf geloescht werden)
+ JdG
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Hydra erschrocken! (Fyt, 28. Mai 1996, 18:55:18):
+~#! rn=Jimdigriz rt=833302382
+~#! tid=833287130
+
+So viel ich weiss ging es um die zweite Hydraversion, die, wo die
+Artillerie nicht mehr gehen sollte. Und da steh ich nach wie vor
+zu meinen Behauptungen.
+
+Fyt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Hydra erschrocken! (Asmodis, 28. Mai 1996, 19:10:42):
+~#! rn=Fyt rt=833302518
+~#! tid=833287130
+Hmm, kommt jetzt die naechste Hydraversion, und zwar die, die gegen ALLES
+immun ist, die einen nicht mehr weglaesst und bei der man ganantiert stirbt?
+Also ich finde diese ganze Hydra-Geschichte laecherlich, lasst sie einfach 
+so und schafft ein neues Monster, das noch gefaehrlicher ist.
+Sicher gibts da noch Ideen, welche Faehigkeiten ein neues Supermonster
+haben koennte. Davon, dass solche Viecher dauernd abgeaendert werden
+und der erste dann Pech gehabt hat, weil seine Taktik nicht mehr zieht
+und er daran stirbt, davon halte ich ueberhaupt nix.
+Ausserdem waren die Kugelblitze zur Zeit der daemlichen Diskussion
+schon laengst wieder aus dem Verkehr gezogen worden, sodass alle
+vorhergehenden Artikel hinfaellig sind (dieser uebrigens auch :)  ).
+
+Just my 3 souls, Asmodis
+
+-----------------------------------------------------------------------------
+
+
+
+Return (Puma, 30. Mai 1996, 15:57:23):
+
+Nach Absprache mit Mupfel ist die Sache jetzt hoffentlich vom Tisch. Ab heute
+dreht sie wieder ihre Runden durch das Tal.... unveraendert!
+
+Puma!
+
+
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Kleine Aenderungen.... keine Panik (Puma,  7. Jun 1996, 16:40:30):
+
+Kleine Aenderungen im Lupinental: Der Leichnam schlaegt jetzt etwas anders zu
+und die Hydra hat jetzt mehrere Pfade zur Auswahl, die sie einschlagen kann,
+wenn sie durch das Tal streift.
+
+Das war eigentlich schon alles.
+
+Gruessings,
+
+
+Puma!
+
+
+-----------------------------------------------------------------------------
+
+
+
+Sommersputz im Regenbogental und Gletscher (Ketos,  9. Jun 1996, 17:26:25):
+Hallo, liebe Gebirgsfreunde.
+Erstmal vielen Dank an alle die typo, idee und bugs in meinen Gebit
+geschrieben haben. Nach ewiglanger Zeit habe ich die alle nun wieder ein-
+gearbeitet. Ca. 40 Monster haben jetzt auch ne Groesse fuer die Karatekas.
+Frohes Spiel.
+P.S. Im Gletscher hat sich hin und da einbisserle was geaendert.
+
+- Ketos -
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Sommersputz im Regenbogental und Gletscher (Nirdavo, 14. Jun 1996, 20:33:14):
+~#! rn=Ketos rt=834333985
+~#! tid=834333985
+TYPO: Du hast "Gebiet" ohne "ie" geschrieben!
+
+Der musste einfach sein...
+
+                        Nirdavo
+
+-----------------------------------------------------------------------------
+
+
+
+neues (Gando,  3. Jul 1996, 23:01:56):
+So liebe Leutchen.
+Im Gebirge stht nun was neues herum. Schaut es euch mal genau an. 
+Gando
+
+-----------------------------------------------------------------------------
+
+
+
+Kurz und uninteressant (Boing, 13. Aug 1996, 18:07:52):
+Water Luh hatte einen kleinen Fehler in der Erkennung gemischter Schadens-
+typen, dieser Fehler ist jetzt behoben.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Hydratoeterliste (Puma, 16. Aug 1996, 16:18:49):
+Hm, mal eine Umfrage: Legt jemand von den Hydratoetern noch sehr viel
+Wert auf diese Liste? Da die Hydra seit drei Monaten nur mit Hilfe eines Bugs
+im Kampfsystem getoetet wird, ist sie eigentlich aussagenlos geworden. Da ich
+nicht jeden Muell mitloggen moechte, schraube ich die Tafel mal ab. Wer noch
+wert darauf legt, kann ja eine Kopie der Liste bei mir anfordern.
+
+Froehliches Weiterkillen...
+
+
+
+Puma!
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Hydratoeterliste (Mupfel, 16. Aug 1996, 16:47:07):
+~#! rn=Puma rt=840205129
+~#! tid=840205129
+
+Der Bug ist jetzt ja raus. Mach doch ne neue Liste 'ab 16.8.96' oder so.
+
+-mupfel-
+p.s.: die Gedenktafel bei Lofwyr ist *viel* voller :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Hydratoeterliste (Asmodis, 16. Aug 1996, 16:58:53):
+~#! rn=Puma rt=840205129
+~#! tid=840205129
+Hihi, dann ist Mahatma ja jede Motivation genommen, die Hydra nochmal zu
+killen, er tut das doch nur, damit sein Name da oefter auftaucht :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Hydratoeterliste (Lefty, 16. Aug 1996, 17:25:57):
+~#! rn=Asmodis rt=840207533
+~#! tid=840205129
+Naja, soweit ich weiss, macht das Mahatma nicht wegen der Liste, sonder weil
+er sich da nen persoenliches Ziel gesetzt hat. :)
+Hm, und Puma, seit 3 Monaten mit Hilfe eines Bugs .... Die Hydra heute frueh
+war EHRLICH verdient ! *grummel* ;-)
+
+Naja, ansonsten faende ich ne Liste nicht schlecht, allerdings koennte das
+verkuerzt werden auf den Namen des Toeters und die Anzahl, wie oft er die
+Hydra gekillt hat. Die genauen Daten muessen nicht sein.
+
+Ciao, Lefty
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Hydratoeterliste (Fyt, 16. Aug 1996, 17:47:15):
+~#! rn=Puma rt=840205129
+~#! tid=840205129
+
+Aehm, Puma, kannst Du Dir vorstellen, dass es schon noch Leute gibt,
+die Wert auf die Liste legen?
+
+
+Fyt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Hydratoeterliste (Mahatma, 27. Aug 1996, 22:01:00):
+~#! rn=Mahatma rt=841175939
+~#! tid=840205129
+Also, auf dem Stein waren diverse Kills drauf, die durch den gewissen Bug
+ermoeglicht wurden, allerdings sind da auch regulaere Kills drauf gewesen
+(sogar von mir), und um die ist es schon etwas schade. Vielleicht kann man
+ja eine verkuerzte Liste wieder einfuehren.
+
+Mahatma
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Hydratoeterliste (Caradhras, 28. Aug 1996, 14:49:54):
+~#! rn=Mahatma rt=841176060
+~#! tid=840205129
+Genau, einfach Mahatma rausloeschen aus der Liste. :)
+Dann passts... der bringt sogar die Hydra um wenn er schon 17+4
+Ruestungen hat und andere Seher mitmachen, die sie auch wollen.
+
+       Rothorn Caradhras - sieht einen hydraerleuchteten Celebdil
+
+-----------------------------------------------------------------------------
+
+
+
+pacman (Thorgal, 18. Okt 1996, 12:09:11):
+hallo, ich werde jetzt den roten knopf druecken,
+wenn es schief geht, moegen das meine letzten
+worte sein.    Thorgal
+-----------------------------------------------------------------------------
+
+
+
+Cronoertal (Silvana,  9. Dez 1996, 07:29:34):
+Hi.
+Nur eine kleine Warnung: Wer heute im Cronoertal unterwegs ist kann
+sich auf ein paar Ueberraschungen in Form von Bugs gefasst machen,
+da ich dort einiges umstelle, was nicht notwenigerweise reibungslos
+verlaufen wird. Ich bin aber dran, also nicht aufregen und etwas
+Gedult - und beten, dass unser RZ heut keinen Mist baut... :)
+
+  Silvana
+
+PS: Suchen von ZTs und FPs kann ich heute nicht empfehlen, da sich ein
+paar Filenamen aendern werden...
+
+-----------------------------------------------------------------------------
+
+
+
+Warokgebirge (Silvana,  9. Dez 1996, 12:00:33):
+Tja, es ist dran, wollt ich nur mal sagen. Viel Spass. Silvana
+
+-----------------------------------------------------------------------------
+
+
+
+info (Sandi, 30. Dez 1996, 20:20:09):
+Da ich noch anfaenger bin, kann mir einer eine KURZE liste ueber
+ein paar gebirge geben?
+
+Waere super dankbar!!!
+
+..
+,
+
+-----------------------------------------------------------------------------
+
+
+
+Re: info (Methedras,  1. Jan 1997, 09:38:06):
+~#! rn=Sandi rt=851973609 rg=d.gebirge
+~#! tid=851973609
+Alpen
+Karakorum
+Himalaya
+Rocky Mountains
+Anden
+Bayrischer Wald
+
+   kurz genug? :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: info (Kretek,  6. Jan 1997, 12:49:47):
+~#! rn=Methedras rt=852107886 rg=d.gebirge
+~#! tid=851973609
+Also, ich als Nationalbayer wuerde den Bayrischen Wald, liebevoll auch
+"Bayrisch Kongo" genannt, auf keinen Fall als Gebirge bezeichen.
+Hoechstens mal als Mittelgebirge, aber das zaehlt hier wohl nicht...
+
+       | /  |\  |--  ---  |--  | /
+       |<   |/  |-    |   |-   |<
+       | \  |\  |--   |   |--  | \
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: info (Aranya, 14. Jan 1997, 15:41:39):
+~#! rn=Methedras rt=852107886 rg=d.gebirge
+~#! tid=851973609
+Karakorum ist ne Wueste, Du Nase!
+
+Aranya, Hobbyjournalistin und Freizeitgeographin
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: info (Cauno, 14. Jan 1997, 15:46:22):
+~#! rn=Aranya rt=853252899 rg=d.gebirge
+~#! tid=851973609
+Wo bleiben dann die Baeume zum umfallen?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: info (Grimmborn, 14. Jan 1997, 18:05:10):
+~#! rn=Aranya rt=853252899 rg=d.gebirge
+~#! tid=851973609
+ALSO, erstens heisst es Krakatau und zweitens ist das eine Insel, die vor gar
+nicht so langer Zeit in die Luft geflogen ist.
+Glaub nicht dass es jetzt eine Wueste ist, wuerde mehr auf Meer tippen...
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: info (Caradhras, 15. Jan 1997, 08:27:03):
+~#! rn=Grimmborn rt=853261510 rg=d.gebirge
+~#! tid=851973609
+Argl, Krakatau war wirklich eine Insel, die ist meines Wissens nach
+1883 in die Luft geflogen, das war der groesste bekannte Ausbruch in
+der niedergeschriebenen Geschichte der Menschheit, Krakatau lag
+von hier aus gesehen irgendwo in der 'Naehe' von Borneo, n bissken weiter
+oestlich glaub ich.
+
+             pfiateich         Rothorn Caradhras
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: info (Caradhras, 15. Jan 1997, 08:51:12):
+~#! rn=Aranya rt=853252899 rg=d.gebirge
+~#! tid=851973609
+Karakorum ist 'ne Wueste, Aranya? Na dann hoer dir mal folgendes an:
+
+Karakorum [tuerkisch 'schwarzes Geroell']:
+
+1) innerasiatisches Hochgebieg, liegt zwischen Hindukusch und
+   Transhimalaja (westlich des Transhim.), befindet sich am Ostende
+  des Khaiberpasses, das, wie ja Freizeitgeographinnen sofort wissen,
+  die Grenze zwischen Afghanistan und Pakistan bildet, da es die
+  Strassenverbindung von Khabul nach Peschawar ist. Hoehe des Passes:
+  5575 m 
+  Hoechster Gipfel des Karakorum ist der K2, auch Mount Godwin Austen
+ genannt, 8611 Meter hoch.
+
+2) Ruinen des ehemaligen Wohnsitzes der Mongolenkaiser
+   (in der noerdlichen Mongolei)
+
+und jetzt:
+Karakum: Sandwueste in Turkestan (westliches Innerasien), liegt zwischen
+        Pamir und Tienschan, Pamir ist der Knotenpunkt der Gebirgs-
+       zuege in Mittelasien (Tadschikistan) und Tienschan bildet einen
+       Teil der ehemaligen Grenze UdSSR zu China, weiss leider nicht,
+      ob das schon zu Russland gehoert oder noch zu anderen ehemaligen
+     Sowjetstaaten. Das Gebiet von China heisst uebrigens Sinkiang,
+     befindet sich ziemlich genau noerdlich von Tibet, also hm, so
+     ca. 800 km westlich der Wueste Gobi.
+
+Fuer eine Hobbygeologin ist es zwar leicht peinlich, nicht zu wissen,
+was Karakorum ueberhaupt ist, noch peinlicher ist es aber, richtige
+Darstellungen ins falsche zu verkehren und als Hobbyjournalistin
+sollte man noch mehr drauf achten, welche (falschen) unbewiesenen
+Dinge man von sich gibt.
+
+      tschuess      Gebirge Caradhras - 
+       frueher sehr erdkundeinteressiert und dem man keine Wueste
+       fuer ein Gebirge vormacht!
+
+PS: falls natuerlich in den letzten 10 Jahren einer eine Wueste
+    namens Karakorum erfunden hat, hat Aranya recht, aber ich
+    glaube, dem ist nicht so. *brummel was von: Pah, unterschlaegt
+    die mir doch glatt meinen Lieblingsberg K2* *schmoll*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: info (Grimmborn, 16. Jan 1997, 14:54:26):
+~#! rn=Caradhras rt=853313223 rg=d.gebirge
+~#! tid=851973609
+Aber sicher, oder hast Du etwa geglaubt ich wuerde hier oeffentlich rumluegen?
+Ich dachte immer, diesen Eindruck von mir hat hier nur Acrimon...
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: info (Methedras, 16. Jan 1997, 21:38:48):
+~#! rn=Grimmborn rt=853422866 rg=d.gebirge
+~#! tid=851973609
+Nee, lieber Teefrosch, das meinte ich nicht, das 'Argl' war nur
+darauf bezogen, wie Du auf einmal von der Frage nach dem Ursprung
+oder der Bedeutung von Karakorum auf einmal auf die Insel Krakatau
+umschwenktest, IMHO hat das gar nix miteinander zu tun, ausser, dass
+es mit K anfaengt und viele a's noch drinhat. Deine verwirrenden
+Gehirnwindungen liessen somit bei mir Konfusion aufkommen, was sich
+in einem nicht der normalen Ausdrucksweise zuordnenden und befremdenden
+'argl' manifestierte, man koennte auch eine Textersetzung von 'Argl'
+auf 'Haeh? Was schreibtn der Teefrosch da fuer komische Sachen?'
+vornehmen.
+
+          Alles chlor?        Methedras - der allerletzte Berch
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: info (Grimmborn, 17. Jan 1997, 14:32:10):
+~#! rn=Methedras rt=853447128 rg=d.gebirge
+~#! tid=851973609
+"ali Argl sag Haeh? Was schreibtn der Teefrosch da fuer komische Sachen?" ;-)
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: info (Methedras, 17. Jan 1997, 17:14:09):
+~#! rn=Grimmborn rt=853507930 rg=d.gebirge
+~#! tid=851973609
+Ach, ich hab mal nachgekuckt bei mir:
+
+Krakatau, Insel zwischen Sumatra und Java, urspruenglich 33 qkm gross,
+der Vulkan explodierte 1883, 36.000 Menschen kamen dabei ums Leben,
+das Donnern war selbst in 4800 km Entfernung noch zu hoeren. Die 
+Flutwelle, die dadurch entstand, war 36 Meter hoch und 16 Kubikkilometer
+Asche wurden dabei in die Atmosphaere geschleudert. Nach der Explosion
+betrug die Groesse der Insel nur noch knapp ueber 10 qkm.
+
+             Methedras - kein Vulkan
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: info (Ronda, 31. Jan 1997, 21:36:54):
+~#! rn=Caradhras rt=853314672 rg=d.gebirge
+~#! tid=851973609
+Grins... K2 hab ich auch... fahren sich klasse =;)
+Naja........
+      Rollerblades gehen zur Not auch...
+   Ronda...
+Ps: Das kommt davon, wenn WaldMags GebirgsNews lesen =;)
+
+-----------------------------------------------------------------------------
+
+
+
+Was aus meinem RepFile: (Silvana, 16. Mar 1997, 00:40:58):
+Sowas les ich immer wieder gerne:
+TYPO: Ich sehe hier nen Kristall, wenn ich den schaetze, steht da aber 
+was von Krismall.
+
+Naja, wenn ihr Euch die Muehe machen wuerdet, die Kristalle genauer 
+anzusehen, wusstest ihr auch, wieso... 
+Da ich diesen Eintrag insgesammt 16mal in meinem Repfile gefunden habe,
+schreib ich das mal in die mpa. Keine Lust, 16 Briefe dafuer zu
+schreiben - Silvana
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Was aus meinem RepFile: (Orktoeter, 17. Mar 1997, 11:47:45):
+~#! rn=Silvana rt=858469258 rg=d.gebirge
+~#! tid=858469258
+Dann korriegiere den Typo doch einfach, Silvana !
+
+Heute mal mit praktischen Tips, OrkT *frech grinsend*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Was aus meinem RepFile: (Silvana, 17. Mar 1997, 11:48:57):
+~#! rn=Orktoeter rt=858595665 rg=d.gebirge
+~#! tid=858469258
+Manche Leute verstehen es nie...
+
+  Silvana (seufzend)
+
+-----------------------------------------------------------------------------
+
+
+
+Venusabenteurerfallenzaubertranksfehlinformation (Boing, 19. Mar 1997, 13:15:32):
+Entgegen einem Geruecht, das von einem falsch informierten Dschinn
+ausgestruet wurde, gibt es in der Venusabenteurerfall im Kloster im 
+Lupinental KEINEN Zaubertrank. Der Dschinn wurde fuer seinen Fehler
+bestraft und liefert in Zukunft die richtige Information.
+   Boing
+
+-----------------------------------------------------------------------------
+
+
+
+SSP vorerst geschlossen (Boing, 14. Apr 1997, 13:53:44):
+Die SSP ist erst mal dicht ... Begruendung steht in Wargons Artikel in
+polizei.beschwerden.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: SSP vorerst geschlossen (Sidolin, 14. Apr 1997, 14:01:24):
+~#! rn=Boing rt=861018824 rg=d.gebirge
+~#! tid=861018824
+Ich habe beschlossen, aus Solidaritaet (fuer was eigentlich) und Protest
+(gegen was eigentlich) zum grossen:
+
+SOLIDARITAETSIDLEN IN DER HAUPTPOST
+aufzurufen.
+
+Wenn es Euch auch stinkt, ihr schlechte Laune habt, Euch Eure Freundin
+verlassen hat oder gar die Pommes in der Mensa versalzen waren, oder gar das
+Wetter schlecht ist:
+
+WEHRT EUCH!
+Nehmt derartige Unbill nicht laenger hin!
+Zeigt den Unterdrueckern die Zaehne!
+Solidarisiert Euch!
+KLaut Waffen, Streichhoelzer, Lollis von Maedchen auf dem Kinderspielplatz!
+
+Gemeinsam koennen wir was aendern!
+
+Kommt massenhaft zum Solidaritaetsidlen in der Hauptpost!
+
+Hoch die Internationale Solidaritaet! (Elfen sind selbstverstaendlich
+ausgeschlossen)
+
+Sidolin. Kaempferisch.
+
+-----------------------------------------------------------------------------
+
+
+
+SOLIDARITAETSIDLEN ein voller Erfolg (Sidolin, 14. Apr 1997, 14:34:58):
+Dies ist das Hauptpostamt von MorgenGrauen.
+Von hier aus kannst Du Briefe an Deine Mitspieler schicken und Briefe von
+ihnen lesen. Wenn Du das willst, tippe "post".
+Der einzige sichtbare Ausgang fuehrt nach Sueden auf den Marktplatz
+von Port Vain.
+Es gibt einen sichtbaren Ausgang: sueden.
+Gast4 der hoffnungsvolle Anfaenger.    Isbeorn der Axtschwinger.
+Bloedgoere die angehende Seherin.      Sisqi die hoffnungsvolle Anfaengerin.
+Pra ist idle.                          Goldpfote die erfahrene Kaempferin.
+Gast2 die hoffnungsvolle Anfaengerin.  Sidol der hoffnungsvolle Anfaenger.
+Gast3 der hoffnungsvolle Anfaenger.    Tangalur Feuertatze.
+Gast1 die hoffnungsvolle Anfaengerin.  Ein Paketschalter.
+Binabik der hoffnungsvolle Anfaenger.  Eine Schreibkabine. (2)
+
+
+So viele Leute haben sich solidarisch erklaert.
+Naja, und ich.. aber ich sehe mich bei schau ja nicht.... ausserdem bin ich ja
+nicht idle...
+Ich schreibe ja einen Artikel.
+
+Naja, seis drum. Auf jeden Fall:
+
+Die Solidaritaet ist noch nicht ausgestorben!
+
+Sidolin. Zu Traenen geruehrt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: SOLIDARITAETSIDLEN ein voller Erfolg (Highlander, 14. Apr 1997, 14:35:40):
+~#! rn=Sidolin rt=861021298 rg=d.gebirge
+~#! tid=861021298
+Flasche!
+Du idelst nicht mal selber, wie Dein Artikel beweist.
+ :>
+   HrT
+
+-----------------------------------------------------------------------------
+
+
+
+Zauberer (Silvana, 14. Apr 1997, 14:39:21):
+Nicht, dass ihr jetzt vergeblich uebt. Mit Teleport landet man bis
+auf weiteres nicht mehr in der SSP.
+
+  Silvana
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Zauberer (Jasper, 14. Apr 1997, 14:41:24):
+~#! rn=Silvana rt=861021561 rg=d.gebirge
+~#! tid=861021561
+hehe kennst du die schrat quest? ;P
+
+-----------------------------------------------------------------------------
+
+
+
+Re: SOLIDARITAETSIDLEN ein voller Erfolg (Tunixgut, 14. Apr 1997, 14:43:05):
+~#! rn=Sidolin rt=861021298 rg=d.gebirge
+~#! tid=861021298
+Boah!
+
+so viele zweities hast du???????
+
+TuNixGut - beeindruckt!
+
+-----------------------------------------------------------------------------
+
+
+
+Hydra (Puma, 15. Apr 1997, 07:30:54):
+
+Zu dem ganzen Um- und Abgehaenge:
+Ich finde dies ein Unding, da das Mud mittlerweile so verwoben ist, dass
+einige Sachen ueberhaupt nicht laufen, wenn Einzelteile gesperrt werden.
+
+Wenn sich in 14 Tagen die Lage nicht wieder beruhigt hat, zieht das Lupinental
+samt Queste und Hydra in ein anderes Mud um.
+
+Puma Stormfather
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Hydra (Anakin, 15. Apr 1997, 09:35:30):
+~#! rn=Puma rt=861082254 rg=d.gebirge
+~#! tid=861082254
+Oho,
+
+Ich denke da an eine Wette mit Hardil die ich dann verlieren wuerde.
+
+Anakin.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Hydra (Morgar, 15. Apr 1997, 09:48:09):
+~#! rn=Anakin rt=861089730 rg=d.gebirge
+~#! tid=861082254
+In welches Mud zieht sie denn um?
+
+Morgar
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Hydra (Fyt, 15. Apr 1997, 09:53:38):
+~#! rn=Anakin rt=861089730 rg=d.gebirge
+~#! tid=861082254
+
+Wenn ich mich recht erinnere, war das eine der Wetten, die man gern 
+verliert ;-)
+
+Fyt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Hydra (Nairolf, 15. Apr 1997, 11:26:07):
+~#! rn=Fyt rt=861090818 rg=d.gebirge
+~#! tid=861082254
+heya klasse... da wollt ich das eh schon immer Testen :-)
+Nairolf, Spieler da aus Ueberzeugung :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Hydra (Quengistu, 17. Apr 1997, 19:53:28):
+~#! rn=Puma rt=861082254 rg=d.gebirge
+~#! tid=861082254
+Das Lupinental soll umziehen? Und mein Seherhaus? Kann das mitumziehen ins
+neue MUD? Und bin ich da dann auch gleich Seher?
+
+Quengistu, obdachlos und heimatlos (?)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Hydra (Methedras, 23. Apr 1997, 18:17:05):
+~#! rn=Quengistu rt=861299608 rg=d.gebirge
+~#! tid=861082254
+Nee, da biste bestimmt nicht gleich Seher, braune Augen. :)
+
+-----------------------------------------------------------------------------
+
+
+
+Top-Zwergenliste (Wargon,  9. Mai 1997, 14:42:39):
+  Hi!
+Dass in der Liste der Helden des Zwergenvolkes hauptsaechlich kleine Spieler
+auftauchen, ist schon rassenbedingt. Dass aber auch wirklich JEDER Zwerg
+auftauchte, war dann doch ein Bug.
+Wie in den anderen Top- und Rassenlisten werden jetzt auch hier nur die besten
+100 aufgelistet.
+  Wargon
+
+-----------------------------------------------------------------------------
+
+
+
+trank (Warlik, 15. Aug 1997, 00:52:59):
+Hallo Weiss jemand ob bei der Quelle des Osterbachs ein Zaubertrank zu finden ist? Wenn ja, wie?**
+-----------------------------------------------------------------------------
+
+
+
+Re: trank (Asmodis, 15. Aug 1997, 01:10:31):
+~#! rn=Warlik rt=871599179 rg=d.gebirge
+~#! tid=871599179
+1. Ist die Zeitung nicht fuer sowas da und
+2. Findet man ZTs nicht mehr sooo einfach, da musst du zuerst zum
+   Orakel
+
+-----------------------------------------------------------------------------
+
+
+
+grauer Stein (Boing, 26. Aug 1997, 11:24:04):
+Ich habe die Wirkungsdauer der grauen Steine etwas angepasst. Das Teil
+wurde zu einer Zeit programmiert, als Level 30 noch unerreichbar erschein,
+seitdem sind die Level allerdings 'etwas' eskaliert ... Jetzt entspricht
+die Dauer wieder etwa meinen urspruenglichen Vorstellungen.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: grauer Stein (Key, 26. Aug 1997, 12:34:32):
+~#! rn=Boing rt=872587444 rg=d.gebirge
+~#! tid=872587444
+Ups brauch ich dann mehr als 2 um die Hydra ausser Gefecht zu setzen? =;)
+
+Key
+
+-----------------------------------------------------------------------------
+
+
+
+Ringe (Orktoeter, 26. Aug 1997, 16:08:42):
+Hmm immerhin gibt es jetzt auch wieder in akzeptabler Zeit nette Ringe. Die
+letzen Monate waren doch arg frustrierend, danke :)
+
+OrkT.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ringe (Boing, 26. Aug 1997, 16:20:30):
+~#! rn=Orktoeter rt=872604522 rg=d.gebirge
+~#! tid=872604522
+Huch? Ringe? Ich bin unschuldig!
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Ringe (Orktoeter, 26. Aug 1997, 19:12:12):
+~#! rn=Boing rt=872605230 rg=d.gebirge
+~#! tid=872604522
+Hmm mag ja sein, aber Tatsache ist, das Monatelang kaum noch gute Ringe zu
+haben waren, das laesst sich nicht mehr mit Schwankungen des Zufallsgenerators
+erklaeren, aber scheint sich ja wieder normalisiert zu haben :)
+
+OrkT.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Ringe (Boing, 27. Aug 1997, 08:25:15):
+~#! rn=Orktoeter rt=872615532 rg=d.gebirge
+~#! tid=872604522
+Tut mir ja leid, wenn ich Dich enttaeuschen muss, aber es kann nur an
+den Schwankungen des Zufallsgenerators liegen, ich hab an den Ringen
+naemlich schon seit Ewigkeiten nichts geaendert, und an den
+Wahrscheinlichkeiten ueberhaupt noch nie.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Legende (Feuerwehr, 16. Okt 1997, 11:40:12):
+So hoert nun eine alte Geschichte.
+
+Einst gab es, hoch im Gebirge, versteckt in einem kleinem Tal, den
+Sommerwald. Es  war ein  grosser Wald, in  dessen Tiefen  sich ein
+kleines Dorf mit dem Namen Briss befand.
+
+Und eines Winters schlug das Schicksal ueber diesem Dorf zusammen.
+Die  Zeichen waren schon lange zu sehen  gewesen. Die Felder waren
+urploetzlich  verdorrt, das  Vieh siechte dahin und das Wasser war
+vergiftet. Jeder wusste, das Schlimmes bevorstand, doch nur wenige
+waren bereit zu gehen.
+
+Nichts jedoch hatte die Dorfbewohner auf die entsetzlichen Ereig-
+nisse vorbereitet, die  sie in jener schicksalshaften Nacht heim-
+suchten. Das  Dorf  wurde ueberrannt. Eine  gewaltige  Armee  aus 
+riesigen Spinnen und anderen, schrecklicheren Monstern fiel ueber
+das Dorf her, angefuehrt von den Toten der letzten Monate.
+
+Das Dorf wurde zerstoert, bis auf die Grundmauern niedergebrannt,
+und  jeder  Mann, jede  Frau, jedes Kind und jedes Tier wurde er-
+schlagen,  nur um sich kurz darauf zu erheben und sich der ueblen
+Brut anzuschliessen.
+
+Dies  geschah vor vielen, vielen Jahren. Und in der nachfolgenden
+Zeit  veraenderte  sich der ganze Sommerwald. Er wurde dunkel und
+boese von  Grund auf. Schreckliche Kreaturen sollen in ihm hausen
+und  kaum  einer wagt sich noch in seine Faenge. Und jene, die es
+wagen, kehren oft niemals zurueck.
+
+Doch  es gibt eine Legende. Es heisst, einmal werden jene kommen,
+welche das Verhaengnis des Waldes erkennen. Gesalbte, welche ver-
+stehen,  welcher Fluch  auf diesem Wald liegt  und ihn entfernen.
+Streiter, welche all die gefangenen Seelen erloesen werden.  
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Legende (Feuerwehr, 16. Okt 1997, 11:40:34):
+~#! rn=Feuerwehr rt=876994812 rg=d.gebirge
+~#! tid=876994812
+Hi! Ich wollte dann doch noch ein paar Worte zur Quest anfuegen.
+
+Ich danke ganz vielen Leuten. Zuerst einmal all meinen illegalen (und auch
+dem legalem) Testie(s), allen (E)M's, welche die Quest(Objekte) abgenommen
+oder irgendwo  eingetragen haben und auch  Boing fuers Testen und Abnehmen 
+und seine Geduld :-).
+
+Diese  Quest ist im Grunde keine Metzelquest, obwohl man sie so spielen
+kann. Mit Level 3 und 10er Stats kam ich problemlos durch (Raffi!).
+
+Fuer die Metzler unter uns kann man die Quest in der ParaWelt spielen. Hier
+laeuft sie ein klein wenig anders ab. Man sollte sich daher auf jeden Fall
+Unterstuetzung suchen, irgendwann braucht man sie.
+
+Das wars dann schon. Viel Spass und wenig Frust wuensch ich euch
+
+  Feuerwehr.
+
+P.S.: Aehm, das sind keine Typos im Wald, das ist Kunst!
+
+P.P.S.: Aehm, ich habe jedem NPC und jedem Objekt im Wald eine Info gegeben.
+        Wenn mir keine einfiel, kam etwas fuerchterlich unsinniges dabei
+        heraus. Alle, die sich dadurch irritiert fuehlen, ignorieren dies
+        bitte (ihr merkt das schon).
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Legende (Feuerwehr, 17. Okt 1997, 16:33:02):
+~#! rn=Feuerwehr rt=876994834 rg=d.gebirge
+~#! tid=876994812
+Hi.
+
+Aehm, nach all den  Toten in der letzten Zeit kann ich allen nur davon
+abraten, die ParaQuest zu spielen.
+
+Ich moechte auch noch mal sagen, was jetzt auch gross auf dem Schild steht.
+Man sollte keinesfalls mit boesem oder satanischem Charakter in den Wald.
+Ausser natuerlich wenn man auf alles vorbereitet ist :).
+
+Wenn man in den Wald geht und nicht boese ist und sich im 1. Raum umgeschaut
+hat, so wird man nie angegriffen. Aehm, bis auf den Bug, der jetzt wohl raus
+ist.
+
+Total geschockt...
+
+     Feuerwehr.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Legende (Morgoth, 17. Okt 1997, 16:47:43):
+~#! rn=Feuerwehr rt=877098782 rg=d.gebirge
+~#! tid=876994812
+Hey Feuerwehr, poste doch mal ne Komplettloesung !!
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Legende (Feuerwehr, 17. Okt 1997, 16:49:14):
+~#! rn=Morgoth rt=877099663 rg=d.gebirge
+~#! tid=876994812
+Die Komplettloesung gibts im verstecktem Laden, kostet aber 30K Muenzen. Wer
+den Laden findet, kann mir ja mal mailen.
+
+Danke fuer den Hinweis Morgoth ...
+
+    Feuerwehr.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Legende (Birdy, 17. Okt 1997, 18:59:43):
+~#! rn=Feuerwehr rt=877099754 rg=d.gebirge
+~#! tid=876994812
+den zu finden war doch leicht und die kl is zwar lustig aber unsinn ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Legende (Key, 17. Okt 1997, 20:11:14):
+~#! rn=Feuerwehr rt=877098782 rg=d.gebirge
+~#! tid=876994812
+Feuerwehr ich protestiere! Und zwar auf schaerfste!
+Dadurch das Leute angegriffen werden die einen satanischen Charakter haben
+unterdrueckst du eine ganze gilde! :)
+Ausserdem sieht satanisch viel besser aus als heillig *baeh!* :)
+
+Key ruf: CHAOS RULEZ! :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Legende (Helva, 18. Okt 1997, 11:47:36):
+~#! rn=Feuerwehr rt=876994834 rg=d.gebirge
+~#! tid=876994812
+Es ist ja schoen, das auch mal wieder eine quest, die auch fuer schwaechere
+Spieler machbar ist, angeschlossen wird. Ich frage mich allerdings, ob man mit
+dem heutigen ZT- System bei level 3 bereits 10er stats haben kann. Na ja, ich
+werde wohl ausprobieren muessen, obs auch mit niedrigeren stats geht, oder
+doch noch ein wenig durch die Gegend laufen muessen, um ZTs einzusammeln.
+Bin auf jeden Fall schon sehr gespannt.
+Helva fand die Geschichte zu Legende niedlich ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Legende (Boing, 21. Okt 1997, 13:17:01):
+~#! rn=Helva rt=877168056 rg=d.gebirge
+~#! tid=876994812
+Aehm ... dass sie fuer schwaechere Spieler 'machbar' ist, heisst nicht,
+dass das sehr sinnvoll ist ;)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Kristallgruenes wirffang (Ketos, 28. Okt 1997, 03:01:02):
+Hi Gebirgler,
+endlich habe ich die zwei dinge eingebaut:
+kristallgruen und wirffang.
+
+Viel Spass damit :-)
+
+- Ketos -
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Legende (Helva, 28. Okt 1997, 21:37:55):
+~#! rn=Boing rt=877432621 rg=d.gebirge
+~#! tid=876994812
+Noch eine weitere klare Aussage... aber wenn ihr so weitermacht, werden sich
+alle kleinen Spieler wie ich nur so drauf stuerzen...unklare Aussagen machen
+naemlich neugierig ;)
+Helva
+
+-----------------------------------------------------------------------------
+
+
+
+Vielen Dank fuer die ideen, typo und bug Meldungen (Ketos, 14. Nov 1997, 18:08:33):
+Liebe Spieler die ihr gekommen seit durch das Regenbogental,
+das Bergdorf und die Wolpertingerquest. Vielen Dank fuer eure
+Meldungen der kleinen Tippfehler und misslichen Syntaxe.
+Soeben wuerden eure Anregungen und Meldungen die sich in einem Jahr
+angesammelt haben verbessert.
+
+Viel Spass weiterhin,
+
+- Ketos -
+
+-----------------------------------------------------------------------------
+
+
+
+Hallo Leute (Morgoth, 18. Nov 1997, 13:38:03):
+Hi Leute,
+
+sicher wundert ihr Euch, warum ein Artikel von mir ausgerechnet in dieser
+Rubrik steht. Nun ja. Ich bin nun auch im Gebirge vertreten. Keine Angst. Da
+Boing hier RM ist, ist das Ganze sicher viel besser als die Gruetze aus dem
+vLand. Wer jetzt noch neugierig ist und wissen will, was los ist und was es
+so gibt, kann jetzt noch weiterlesen.
+
+
+
+
+
+
+Aus dem Tagebuch eines Abenteurers:
+
+15. Nov. 1997
+Heute habe ich eine kleine Ruinenstadt entdeckt. Eigentlich war es nur ein
+Zufall, weil ich schnell durch die Osterbachschlucht wollte. Ploetzlich fand
+ich eine kleine Strickleiter vor mir, die wohl ein anderer Abenteurer dort
+vergessen hatte. Neugierig wie ich nun mal war, kletterte ich hinauf.
+Oben angekommen schlug ich erstmal mein Nachtlager auf.
+
+16.Nov. 1997
+Ich habe die Stadt gruendlich untersucht. Sie ist sicher noch einige weitere
+und
+ausfuehrlichere Expeditionen wert. Heute Nacht werde ich auf dem kleinen
+Huegel am Ende der Stadt uebernachten.
+
+17.Nov. 1997
+Etwas Schreckliches hat sich heute Nacht ereignet. Ich wurde von sehr
+ungewoehnlichen Lauten sehr unsanft geweckt. Sie kamen von weit ueber mir.
+Als ob dort etwas auf dem Berg ist. Auch ein dunkelrotes Licht oder etwas
+Aehnliches schien von dort zu scheinen. Ich werde versuchen, die Ereignisse
+dort oben zu erkunden.
+
+Hier endet das Tagebuch. Die folgenden Seiten sind verkohlt und nicht mehr
+zu lesen. Wer weiss, was diesem armen Abenteurer dort zugestossen ist????
+
+
+Morgoth, der Bergsteiger
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Hallo Leute (Boing, 18. Nov 1997, 14:20:31):
+~#! rn=Morgoth rt=879856683 rg=d.gebirge
+~#! tid=879856683
+Hiho,
+ich musste das Gebiet nochmal temporaer abhaengen, die mail mit den
+Forscherpunkten ist irgendwo verloren gegangen und ihr wollt ja
+schliesslich nicht alles zweimal anschauen muessen.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Hallo Leute (Raffi, 19. Nov 1997, 12:10:13):
+~#! rn=Morgoth rt=879856683 rg=d.gebirge
+~#! tid=879856683
+Hmm kaengas Stadt Ueberarbeitet und ENDLICH weitergemacht ?
+
+Schoen!
+H.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Hallo Leute (Boing, 19. Nov 1997, 12:23:49):
+~#! rn=Raffi rt=879937813 rg=d.gebirge
+~#! tid=879856683
+Die Ruinenstadt wurde nur teilweise von mir ueberarbeitet, allerdings
+wird Bierchen den Rest uebernhmen und dann auch neue Sachen einbauen.
+Morgoths Festung ist davon unabhaengig, sie ist nur dort angeschlossen.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Hallo Leute (Boing, 20. Nov 1997, 09:47:28):
+~#! rn=Boing rt=879859231 rg=d.gebirge
+~#! tid=879856683
+So, zweiter Anlauf, diesmal MIT Forscherpunkten. :)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Hallo Leute (Bendeigid, 27. Nov 1997, 14:53:13):
+~#! rn=Boing rt=880015648 rg=d.gebirge
+~#! tid=879856683
+Schick. 
+UNd nu soll Morgoth mal erzaehlen, wo dieser nette Wanderer die Nacht
+hergekriegt hat im MG :))
+
+Viel Spass wuenscht
+                 Bendeigid
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Hallo Leute (Morgoth, 28. Nov 1997, 12:21:48):
+~#! rn=Bendeigid rt=880638793 rg=d.gebirge
+~#! tid=879856683
+Hae? Wie meinen? 
+Kannst Du mir mal den Bezug erklaeren?
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Hallo Leute (Paracelsus, 28. Nov 1997, 21:13:09):
+~#! rn=Morgoth rt=880716108 rg=d.gebirge
+~#! tid=879856683
+Naja, vielleicht solltest Du nochmal Deinen eigenen Artikel lesen.
+Und daran denken, dass es im Morgengrauen keine Nacht gibt.
+Dann wirds vielleicht etwas verstaendlicher. ;)
+
+Para*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Hallo Leute (Bloodyharry, 30. Nov 1997, 02:02:02):
+~#! rn=Paracelsus rt=880747989 rg=d.gebirge
+~#! tid=879856683
+Kein Morgengrauen ohne Nacht. Oder wie war das nochmal? ;-)
+
+bh - schmarrnt auch ma rum
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Hallo Leute (Hobo,  1. Dez 1997, 08:04:50):
+~#! rn=Paracelsus rt=880747989 rg=d.gebirge
+~#! tid=879856683
+Nacht?
+Natuerlich gibt es hier ene Nacht.
+Noch nie in PV an der Hafenmole gewesen?
+
+Hobo - enttaeuscht von ihrem Enkel
+
+-----------------------------------------------------------------------------
+
+
+
+Klitzeldrom (Boing, 12. Dez 1997, 17:34:00):
+Fuer die Statistikinteressierten unter euch folgende Aufstellung:
+
+Seit dem 2.12.1994 wurde der Klitzeldrom ca. 14000 mal umgebracht,
+entsprechend viele Attribut-Ringe wurden natuerlich erzeugt. Die
+Verteilung der Boni (Mali) sieht so aus:
+Bonus -4: 391
+Bonus -3: 685
+Bonus -2: 1100
+Bonus -1: 1403
+Bonus +1: 7327
+Bonus +2: 2633
+Bonus +3: 549
+Bonus +4: 108
+Die Verteilung auf die 4 Attribute ist fast exakt 25% fuer jedes Attribut.
+Viel Spass beim Weitermetzeln ... :)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Klitzeldrom (Bloodyharry, 12. Dez 1997, 22:54:54):
+~#! rn=Boing rt=881944440 rg=d.gebirge
+~#! tid=881944440
+Erst dachte ich, es sei eine Normalverteilung. Aber auf den zweiten Blick
+sieht man ohne Berechnung klar, dass sie sehr rechtsseitig ist. Also positiver
+fuer die Spieler. Das Metzeln lohnt sich echt!. :-)
+
+bg
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Klitzeldrom (Ringor, 12. Dez 1997, 22:59:09):
+~#! rn=Bloodyharry rt=881963694 rg=d.gebirge
+~#! tid=881944440
+Ahhja, jedem Clonen des Klitzeldrom gehen langwierige Berechnungen fuer den
+Ring voraus?
+
+Jetzt weiss ich endlich, woher das Reset-Lag jedes Mal kommt ;-)
+
+Ringor. -> schmarrn
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Klitzeldrom (Hangover, 12. Dez 1997, 23:00:17):
+~#! rn=Bloodyharry rt=881963694 rg=d.gebirge
+~#! tid=881944440
+Ja....
+
+In jedem 16. Drom steckt also was wirlich gutes. Wer will darf
+nachrechnen :-)
+
+Hangover
+(heute mal mathematisch veranlagt)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Klitzeldrom (Bloodyharry, 12. Dez 1997, 23:02:59):
+~#! rn=Hangover rt=881964017 rg=d.gebirge
+~#! tid=881944440
+> In jedem 16. Drom steckt also was wirlich gutes. Wer will darf
+> nachrechnen :-)
+
+Ja, ja. Wenn man den "kleinen Finger" reicht ...   :-)
+
+bh
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Klitzeldrom (Anacrion, 13. Dez 1997, 15:42:54):
+~#! rn=Hangover rt=881964017 rg=d.gebirge
+~#! tid=881944440
+
+Hihi....wir sind jetzt mit dabei...in jedem 16ten ...DROM .... ;)
+
+Anac* - lachend
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Klitzeldrom (Key, 13. Dez 1997, 20:49:05):
+~#! rn=Anacrion rt=882024174 rg=d.gebirge
+~#! tid=881944440
+Hey ab heute geht jeder 16. an mich, oki? :)
+
+Key
+
+-----------------------------------------------------------------------------
+
+
+
+Typoteufelexorzismus (Morgoth, 15. Dez 1997, 08:38:31):
+Hi,
+ich hab die ersten paar kBytes meines logfiles mal abgearbeitet und schonmal
+die groebsten typos entfernt. Ein paar sind noch ueber, die werde ich aber in
+naechster zeit auch beseitigen. 
+Ein grosses DANKESCHOEN an Mahatma, der die meisten Typos gefunden hat und an
+Zephyr, die mich mit Tips und Ideen bombardiert hat.
+Morgoth
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Klitzeldrom (Teddy, 15. Dez 1997, 19:44:20):
+~#! rn=Key rt=882042545 rg=d.gebirge
+~#! tid=881944440
+Jeder 16. hat doch nen -4 Ring, was willste denn mit dem?
+
+Teddy
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Klitzeldrom (Boing, 16. Dez 1997, 12:12:55):
+~#! rn=Teddy rt=882211460 rg=d.gebirge
+~#! tid=881944440
+Ich glaube einige Leute hier koennen nicht rechnen ... ;)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Klitzeldrom (Anatol, 17. Dez 1997, 18:58:29):
+~#! rn=Hangover rt=881964017 rg=d.gebirge
+~#! tid=881944440
+> In jedem 16. Drom steckt also was wirlich gutes. Wer will darf
+> nachrechnen :-)
+
+Ich bin nicht gut im Rechnen, aber ich kriege etwas ganz anderes raus.
+Etwas "gutes" ist rein statistisch in 3 von 4 Eiern aeh, Klitzeldroms,
+etwas *wirklich* Gutes, naemlich ein +4, kommt durchschnittlich bei 
+jedem 131. Ring vor. Das sind etwa 7.5 Promille. Wer auf einen Int+4
+wartet, sollte sich also dessen bewusst sein, dass er rein chancenmaessig
+auf 1.9 Promille wartet. Zum Autofahren definitiv zuviel.
+Hat man zum Ziel, irgendeinen "+3 oder mehr"-Ring zu ergaunern, darf man 
+auf 4.6% hoffen, was vergleichsweise sehr wahrscheinlich ist.
+
+Anatol, Boings Wahrscheinlichkeiten angrummelnd.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Klitzeldrom (Key, 18. Dez 1997, 19:52:29):
+~#! rn=Anatol rt=882381509 rg=d.gebirge
+~#! tid=881944440
+Argl!
+Ich hatte Hoffnung ... auf einen wirklich guten ;) und dann die Gewissheit von
+Dir :)
+Boing! Hilfae! :))
+
+Key voellig aus dem seelischen Gleichgewicht ;)
+
+-----------------------------------------------------------------------------
+
+
+
+arbeitsraum (Nerzhul, 10. Jan 1998, 02:00:31):
+Hallo Boing ! 
+Beim Abholen des ZT musste ich mein Paket auf den Boden stellen, um an den Schluessel zu kommen.
+Leider konnte ich dann das Paket nicht mehr nehmen ! :(((
+Bekomme ich die Ausruestung und das Geld irgendwie wieder ? *hoff*
+Und klauen wollt ich hier nix ! EHRLICH ! :-)
+Ein Trauriger Lembold-Priester Nerzhul 
+-----------------------------------------------------------------------------
+
+
+
+Re: arbeitsraum (Ringor, 10. Jan 1998, 02:47:26):
+~#! rn=Nerzhul rt=884394031 rg=d.gebirge
+~#! tid=884394031
+Falls Rumata nicht wieder am Mud rumspielt, kannst Du Deine Sachen aus meiner
+Hoehle abholen.
+
+Ringor. Beklaut auch Goetter, wenn es sein muss ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: arbeitsraum (Anatol, 10. Jan 1998, 02:49:32):
+~#! rn=Ringor rt=884396846 rg=d.gebirge
+~#! tid=884394031
+Klar, wenns um Geld und Gold geht, bist Du sofort dabei, Ringor....
+. o O ( ZWERGE! )
+
+Anatol :)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: arbeitsraum (Ringor, 10. Jan 1998, 02:50:14):
+~#! rn=Anatol rt=884396972 rg=d.gebirge
+~#! tid=884394031
+Hey, ich ruecks ja wieder raus!
+
+Wenn auch nur widerwillig. Aber sooo toll war die Ausruestung nicht ;-)
+
+Ringor. Zwerg aus Ueberzeugung.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: arbeitsraum (Boing, 12. Jan 1998, 08:15:55):
+~#! rn=Ringor rt=884396846 rg=d.gebirge
+~#! tid=884394031
+Gewusst wie, dann geht es. :)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Grisu neu! (Hobo, 12. Jan 1998, 08:25:26):
+Moinmoin, 
+
+Ich hab die Grisu-Quest ein bischen umgeschrieben.
+Der Ablauf ist jetzt etwas anders, aber Ihr werdet das sicher rausbekommen.
+
+Viel Spass dabei
+
+  Hobo
+
+-----------------------------------------------------------------------------
+
+
+
+Eisstab (Boing, 12. Jan 1998, 09:05:35):
+Der Stab des Eises hat eine kleine Aenderung erfahren, zum einen kann man
+ihn jetzt als Waffe benutzen, zum anderen hat die Aktivierung nicht mehr
+so krasse Nebenwirkungen. Dafuer haben sich die Kosten etwas geaendert,
+schaut es euch an.
+Ach ja, der Eistitan zueckt das Teil jetzt natuerlich auch selbst. :)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Eisstab (Boing, 16. Jan 1998, 17:27:25):
+~#! rn=Boing rt=884592335 rg=d.gebirge
+~#! tid=884592335
+Beim Umbau ist mir ein Fehler reingerutscht, der den Titan deutlich
+schwaecher gemacht hat. Das hab ich jetzt korrigiert. Sollte jetzt
+also wieder in etwa so wie vorher sein.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+SSP (Boing, 22. Jan 1998, 12:04:51):
+Ein Baum faengt an verdaechtig zu knirschen, er wird wohl bald umfallen!
+  Boing
+PS: Ich nehme noch Wuensche entgegen
+
+-----------------------------------------------------------------------------
+
+
+
+Re: SSP (Slyfox, 22. Jan 1998, 12:08:48):
+~#! rn=Boing rt=885467091 rg=d.gebirge
+~#! tid=885467091
+Der Kirschbaum mit den schoenen netten Fruechten faellt um? Weswegen denn?
+  Slyfox
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: SSP (Zephyr, 22. Jan 1998, 12:10:53):
+~#! rn=Slyfox rt=885467328 rg=d.gebirge
+~#! tid=885467091
+
+Quatsch, das ist die Wuergertanne.. die macht so was dauernd :)
+
+gut gelaunt, Zephyr
+
+-----------------------------------------------------------------------------
+
+
+
+Re: SSP (Key, 22. Jan 1998, 16:08:41):
+~#! rn=Boing rt=885467091 rg=d.gebirge
+~#! tid=885467091
+Endlich der weg nach unten vor luh?
+Hat ein Baum ein loch reingeschlagen? .) Aeh wird einer sowas tun?
+
+Key
+
+-----------------------------------------------------------------------------
+
+
+
+Re: SSP (Nixihou, 23. Jan 1998, 09:14:20):
+~#! rn=Boing rt=885467091 rg=d.gebirge
+~#! tid=885467091
+tja, WUENSCHE haett ich viele .... nur finde ich den baum nicht....
+
+nixihou
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: SSP (Hobo, 23. Jan 1998, 09:16:13):
+~#! rn=Nixihou rt=885543260 rg=d.gebirge
+~#! tid=885467091
+Richtig Lesen, Nixi!
+Er knirscht noch und ist noch nicht umgefallen, sprich: Noch gibt es nichts zu
+finden!
+
+Hobo
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: SSP (Nixihou, 23. Jan 1998, 13:18:13):
+~#! rn=Hobo rt=885543373 rg=d.gebirge
+~#! tid=885467091
+ja, eben. solange er nicth umfaellt weiss ich ja nicht wozu ich wuensche
+anmelden soll *grins*
+
+nixihou
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: SSP (Boing, 23. Jan 1998, 16:27:20):
+~#! rn=Nixihou rt=885557893 rg=d.gebirge
+~#! tid=885467091
+Es geht um allgemeine Wuensche .. so kam z.b. sofort eine Mail eines
+Hobbitkaempfers mit dem Wunsch nach Wurfmessern mit Feuerschaden.
+Vielleicht waren es auch normale gute Messer mit Feuerschaden und ohne
+Wurf? Oder beides? Hmm, muss ich nochmal nachlesen.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Glitzermock (Boing, 29. Jan 1998, 19:42:53):
+Beim Glitzermock hat sich ein bisschen was geaendert ... nichts wildes,
+nur ne Kleinigkeit.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Glitzermock (Ringor, 30. Jan 1998, 12:53:11):
+~#! rn=Boing rt=886099373 rg=d.gebirge
+~#! tid=886099373
+Ein dickes DANKE an Boing fuer die Aenderung. Und an die Quelle dieses
+Vorschlags natuerlich auch ;-)
+
+Ringor
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Glitzermock (Hobo, 30. Jan 1998, 15:41:00):
+~#! rn=Ringor rt=886161191 rg=d.gebirge
+~#! tid=886099373
+Also: Danke Eisi!
+
+Hobo - zweizeilend
+
+-----------------------------------------------------------------------------
+
+
+
+Klitzeldromsyndrom (Boing, 11. Feb 1998, 08:45:54):
+Ich habe versucht, das Klitzeldromsyndrom etwas einzudaemmen, da der
+Wunsch mir gegenueber vielfach geaeussert wurde. Es hat sich also an 
+dieser Stelle ein bisschen was veraendert.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Klitzeldromsyndrom (Pra, 11. Feb 1998, 16:56:24):
+~#! rn=Boing rt=887183154 rg=d.gebirge
+~#! tid=887183154
+Nett!!! :-)
+
+Aber jetzt gibt es einen bekannten Treffpunkt im MG weniger... :-(
+
+Pra.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Klitzeldromsyndrom (Nixihou, 14. Feb 1998, 14:58:10):
+~#! rn=Pra rt=887212584 rg=d.gebirge
+~#! tid=887183154
+ja, deine aenderungen beim drom helfen nicht... 
+zumindest loesen sie nicht das problem das du loesen wolltest...
+jetzt bevorzugst du nur eine bestimmte klasse von leuten 
+(zauberer, und leute die sich auskennen) und voerderst eine bestimmte art
+von semi-legalen skripts. oder verhaltens....
+(legaler teil: ideln in der naehe des droms, nicht direkt beim drom und 
+ab und zu nachschauen)
+
+zumal es etwas unschoen ist, das der kaelteschaden nicht durch die 
+anzahl der ruestung bzw durch speziell gegen kaelteschaden ausgerichtete 
+ruestung abgemildert wird oder gar ganz wegfaellt....
+
+nixihou
+
+-----------------------------------------------------------------------------
+
+
+
+Water Luh (Boing, 16. Feb 1998, 14:38:07):
+Hiho,
+eigentlich bin ich ja der Ansicht, dass man bestehende Monster nicht
+mehr veraendern sollte. Deswegen frage ich auch jetzt hier zuerst nach
+Meinungen, und ich stelle gleich klar: Sollte es starke Einwaende geben,
+dann werde ich die Aenderung nicht vornehmen.
+Es wurde von mehreren Seiten mir gegenueber erwaehnt, dass Water Luh zu 
+einfach ist, der Grund liegt auch auf der Hand: Man kann ihn befrieden.
+Damit fallen saemtliche Begruessungsschlaege weg. Nun also die Frage:
+Soll ich das so lassen, wie es ist oder lieber das Befrieden unmoeglich
+bzw. schwer machen?
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Water Luh (Ringor, 16. Feb 1998, 14:38:53):
+~#! rn=Boing rt=887636287 rg=d.gebirge
+~#! tid=887636287
+So, wie er momentan ist, rechtfertigt er seine Killstupse nicht.
+
+Ringor. Einzeilig.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Water Luh (Felagund, 16. Feb 1998, 14:41:29):
+~#! rn=Ringor rt=887636333 rg=d.gebirge
+~#! tid=887636287
+Das Problem dabei ist natuerlich wieder, dass du wenn du ihn schwerer machst,
+eigentlich den frueheren Killern ihre Killstupse wieder abziehen muesstest.
+Waer ja sonst unfair.
+
+Fela
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Water Luh (Key, 16. Feb 1998, 14:53:50):
+~#! rn=Felagund rt=887636489 rg=d.gebirge
+~#! tid=887636287
+Das Prob ist das fela immer was sagt wenn er nix zu sagen hat ;)
+Es gibt mehr als genug die ihn ohne befrieden machten.
+
+Hmm aber zum Thema .... ich wuerde ihn eigentlich gerne so lassen :)
+Naja oder sagen wir befrieden erschweren reicht ;)
+
+Key
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Water Luh (Gnome, 16. Feb 1998, 15:01:52):
+~#! rn=Key rt=887637230 rg=d.gebirge
+~#! tid=887636287
+hi,
+1. entweder so lassen und stupse runtersetzen,
+2. oder so lassen und befrieden unmoeglich machen.
+
+da er nun wieder _etwas_ interessanter geworden ist, wuerde ich 2. vor-
+schlagen, damit er nicht ganz so leicht zu killen ist.
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+SSP (Boing, 16. Feb 1998, 15:44:33):
+
+knirrrrsch .... knaarrrrrrz ... RUMMS!
+
+Soll heissen: Der letzte noch ausstehende Teil der Schreckensspitze ist jetzt
+tatsaechlich auch noch fertig geworden und angeschlossen. In den 5 1/2 Jahren,
+die ich an der SSP gebastelt habe, hat sich doch einiges getan. Urspruenglich
+war der Feuerteufel mal als staerkstes Monster der SSP geplant ... Naja ... :)
+Die Entwicklung im MG hat natuerlich auch ihr Abbild in der SSP, so ist die
+Qualitaet meiner Meinung nach nach unten hin zunehmend besser geworden, aber
+auch die Staerke der NPCs ist inzwischen so breit gestreut, dass vom Anfaenger
+bis zum Top-Seher jeder seine Herausforderung finden kann. Wenn man bedenkt,
+wieviele Spieler in diesen 5 1/2 Jahren gekommen und wieder gegangen sind,
+koennte man schon fast sentimental werden. :) Wer weiss heute noch, wieso
+der Sensenmann Caradhras persoenlich begruesst? Oder wer kennt noch die Zeit,
+als das hinterste erreichbare Monster der Schneeriese war? Der Gedanke, dass
+die SSP mal als Teil von Titiwu geplant war, wo man den Meteorit finden kann,
+ist heute auch nur noch komisch ... :)
+Naja, nun zur neuen Feuerebene: Wahrscheinlich ist es ratsam, erst mal nicht
+alleine hinzugehen. Ich glaube es ist einigermassen gefaehrlich geworden,
+allerdings kann ich das nicht einschaetzen. :) Zumindest habe ich mich 
+bemueht, dem ganzen nochmal einen kroenenden Abschluss zu geben. Was dabei
+herausgekommen ist, werdet ihr ja sehen. 
+
+   Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Water Luh (Sharia, 16. Feb 1998, 16:12:43):
+~#! rn=Gnome rt=887637712 rg=d.gebirge
+~#! tid=887636287
+
+Befrieden schwerer machen aber nicht unmoeglich denn er mag fuer gewissen
+Gilden so relativ leicht sein aber nicht fuer alle... und was Felagund sagt:
+es gibt auch Leute, die Water Luh gemacht haben als man noch nicht befrieden
+konnte .. was is dann mit denen ? also: Felagund enthalte dich mal :-)
+Die Stupse sind schon gerechtfertigt auch wenn Ringor das nicht meint..aber
+das ist halt meine Meinung und Ringor vergass dazuzuschreiben: ....das ist
+MEINE Meinung ..(denn man sollte nie von Ringor auf andere schliessen...)
+Sharia
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Water Luh (Ringor, 16. Feb 1998, 16:21:16):
+~#! rn=Sharia rt=887641963 rg=d.gebirge
+~#! tid=887636287
+Sorry, dann formulier ich es anders: meiner Meinung nach ist der Water Luh -
+sofern ein Zauberer ihn befriedet - fuer jede Gilde sehr einfach und
+rechtfertigt damit nicht die hohe Zahl an Killstupsen.
+
+Dass ein wenig Timing dazugehoert, ist klar, schliesslich kann nicht jede
+Gilde sowohl rein physikalischen als auch rein magischen Schaden machen. Aber
+das sollte ja nicht so schwer sein.
+
+Meiner Meinung nach also sollte das Befrieden beim Luh zumindest erschwert
+werden. Wobei das eigentlich auch nur Unterschied fuer den Befriede-Knecht
+macht und nicht fuer den, der die Killstupse gerne haette ;-)
+
+Ringor. 
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Water Luh (Sharia, 16. Feb 1998, 18:38:14):
+~#! rn=Ringor rt=887642476 rg=d.gebirge
+~#! tid=887636287
+Ja Ringor KOENNEN tut das wenn Water Luh befriedet wird sicher jeder, jedoch
+ist die Frage wie leicht das dann geht... ich glaub nicht, dass du das mal als
+Kleriker versucht hast .. und da nenne ich jetzt die Kleriker jetzt nur als
+Beispiel... aber ok du sagtest ja selber: befrieden erschweren und das is ja
+wie ich bereits sagte auch meine Meinung
+
+
+Sharia sagt: erschwert das befrieden bei Water Luh
+
+-----------------------------------------------------------------------------
+
+
+
+SSP (Sting, 16. Feb 1998, 20:07:03):
+Danke Boing, endlich auch mal was fuer Chaoten in der SSP :))
+
+
+Sting
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Water Luh (Jimdigriz, 16. Feb 1998, 20:31:48):
+~#! rn=Ringor rt=887642476 rg=d.gebirge
+~#! tid=887636287
+
+Hoi,
+
+meine Meinung zu Water Luh (und anderen Monstern)
+
+Ich finde es eigentlich sehr positiv, wenn ein
+Monster nicht durch Gewalt sondern durch Koepfchen
+zu besiegen ist. Es hat sicher eine Weile gedauert,
+bis eine erfolgreiche Strategie (auch Anfangs mit
+den erforderlichen "Zutaten") gefunden ist.
+
+Der Nachteil ist leider, dass es eben nur einmal
+wirkt. Ist ein Weg gefunden das Monster mehr oder 
+weniger leicht zu killen, so kennt ihn bald jeder.
+Das an sich ist ja auch nicht schlecht, sondern
+foerdert das Zusammenspiel. Nur ist das Monster dann keine
+Herausforderung mehr.
+
+Meine Idee waere nun, (allerdings ist die eher aufwendig)
+vielleicht die Herausforderung (bei einigen wenigen Monstern
+allerdings nur, wie Water Luh, Hydra und evtl Weghier)
+in gewissen Abstaenden wieder neue Raetsel
+einzubauen. Das heisst konkret, die Schwachstellen, die
+momentan es ermoeglichen das Monster einfach zu killen,
+werden beseitigt und vielleicht dafuer eine andere
+eingebaut, die halt noch unbekannt ist. So ergibt
+sich eine neue Herausforderung und die Stupse 
+sind wieder gerechtfertigt, natuerlich muessen dann
+auch wieder viele Spieler gemeinsam daran
+arbeiten, die neue Schwachstelle zu finden.
+Dabei kann ja ruhig die brute-force-Strategie
+zustaetzlich erfolgreich sein, sie ist dann halt
+nur muehsamer.
+
+Begruenden kann man es, dass das Monster ja auch
+lernt, denn sein Tod ist wie der der Spieler
+nicht endgueltig.
+
+Ciao,
+ Jim DiGriz
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Water Luh (Ringor, 16. Feb 1998, 21:20:49):
+~#! rn=Sharia rt=887650694 rg=d.gebirge
+~#! tid=887636287
+Dass Water Luh als heiliges Monster fuer Kleriker schwieriger zu metzeln ist
+als z.B. Satan, glaub ich Dir aufs Wort.
+
+Nur Vergleich die Erstkillstupse fuer Water Luh bitte mal mit denen fuer den
+Weghier, Robin, den kleinen Vernichter oder Paracelsus' Balrog. Und dann
+vergleich den Aufwand, den man bei den einzelnen Monstern hat.
+
+Sind die Stupse dann immer noch gerechtfertigt?
+
+Meiner Meinung nach nein, und nix anderes wollte ich gesagt haben.
+
+Ringor
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Water Luh (Key, 17. Feb 1998, 08:32:07):
+~#! rn=Jimdigriz rt=887657508 rg=d.gebirge
+~#! tid=887636287
+Hmm Jimmy also ich find die Idee klasse .... aber ich frage mich wie du sie
+umsetzen willst ....
+Gleich von Anfang an mehrere NPCs basteln die dann per random erscheinen?
+
+Oder den Mag sagen wir mal von mir aus alle 3 monate wieder auf seinen npc
+loslassen damit der geaendert wird?
+
+Key
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Water Luh (Hangover, 17. Feb 1998, 09:23:57):
+~#! rn=Jimdigriz rt=887657508 rg=d.gebirge
+~#! tid=887636287
+Hm...
+
+also ich habe Water Luh fuer ein Monster gehalten, das man genau
+einmal killt. Und beim ersten Mal ist er sehr schwer, sofern man
+keine Tricks verraten bekommt, und dann mit Sicherheit auch ein
+paar Stupse wert.
+
+-Hangover
+(der Water Luh einmal getoetet hat und nie wieder)
+
+-----------------------------------------------------------------------------
+
+
+
+Cronoeralm (Silvana, 23. Feb 1998, 10:49:17):
+Die Speisen und Getraenke der Cronoeralm sind an neusten Standard angepasst.
+Guten Appetit. - Silvana
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Water Luh (Fyt,  2. Mar 1998, 15:29:43):
+~#! rn=Felagund rt=887636489 rg=d.gebirge
+~#! tid=887636287
+
+Andererseits haben machen das Vieh auch ohne befrieden totgekriegt...
+
+Fyt.
+
+PS: Ach ja, is mir voellig wurscht, Boing ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Hydrahoerner... (Anatol,  3. Mar 1998, 17:45:22):
+
+Hi!
+Seit kurzem sind die Hydrahoerner (tm) nicht mehr ablegbar. Da der 
+verantwortliche Magier nicht ausfindig machbar ist (Puma war es lt.
+eigener Aussage nicht), moechte ich auf diesem Wege den entsprechenden
+Magier um ein Rueckgaengigmachen oder zumindest eine Erklaerung 
+bitten - NODROP ist in diesem Falle, wie ich (und nicht nur ich) 
+finde, reichlich unnoetig. Sie sind NEVERDROP, was verhindert, dass
+sie in der bedauernswerten eigenen Leiche bleiben oder von Patryns
+weniger bedauernswertem Baum geklaut werden.
+
+Anatol, die Verben "quengel" und "nerv" umsetzend ;)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Hydrahoerner... (Gloinson,  3. Mar 1998, 19:04:39):
+~#! rn=Anatol rt=888943522 rg=d.gebirge
+~#! tid=888943522
+Naja, so arg ist es gar nicht. Aber zumindest sollten die Hoerner dann
+schon noch automatisch in den Killer gemoved werden, da man sonst bloss
+am Auseinanderklamuesern ist. Also lieber Magier, waege ab, was fuer
+Dich faszinierender ist ;-)
+
+Gloin
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Hydrahoerner... (Silvana,  3. Mar 1998, 23:44:59):
+~#! rn=Gloinson rt=888948279 rg=d.gebirge
+~#! tid=888943522
+Da es Puma nach eigener Aussage nicht war, hab ichs einfach mal wieder
+geaendert. Gilt natuerlich nur fuer _neue_ Hydrahoerner.
+
+  Silvana
+
+-----------------------------------------------------------------------------
+
+
+
+kneipen (Wurzel,  6. Mar 1998, 21:58:20):
+die kneipen in der zwergenfestung entsprechen jetzt dem neuen standard.
+so langsam bekomme ich uebung darin... *seufz*
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+SSP (Silvana,  8. Mar 1998, 23:55:35):
+Hi.
+Ich hab gerade sicherheitshalber den neuen Teil der SSP dicht gemacht,
+da der Verdacht besteht, dass man dort unten unter Umstaenden versehentlich
+Spieler angreift bei toete alle. Ich kann mir nicht vorstellen, dass Boing
+das so gewollt hat. Ich hab allerdings jetzt nicht die Zeit, den Fehler
+zu suchen.
+
+  Silvana
+
+-----------------------------------------------------------------------------
+
+
+
+Festung, Teil 2 (Morgoth,  9. Mar 1998, 10:30:31):
+Tach,
+
+fuer alle die es gar nicht mehr erwarten koennen ist hier nun die Erloesung.
+Der zweite Teil der Drakonierfestung ist nun endlich fertig. 
+Viel Spass und gutes Sterben
+
+Morgoth
+
+-----------------------------------------------------------------------------
+
+
+
+Re: SSP (Boing,  9. Mar 1998, 10:33:54):
+~#! rn=Silvana rt=889397735 rg=d.gebirge
+~#! tid=889397735
+Hallo,
+ich hab den Fehler gefunden, der Drachenpriester hat einen Zauberspruch
+ziemlich krumm verbogen (ungewollt), das macht er nun nicht mehr.
+Desweiteren hab ich einen Fehler in der lib gefunden, der dazu fuehrte,
+dass man dieses merkwuerdige 'Etwas', was einigen Leuten schon aufgefallen
+ist, immer mit angegriffen hat. Den Fehler hab ich mal umgangen, ich 
+denke aber, dass der noch generell behoben wird. :)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Hydra und die kleine Pause (Puma, 13. Mar 1998, 16:43:48):
+
+So, Freund meinte, die Spieler haetten ein Recht darauf informiert zu werden,
+also gut:
+
+Einige haben sich vielleicht gewundert, dass Madame seit fast 48 Stunden das
+Tal nicht mehr beehrt hat. Das liegt daran, dass es eine neue Methode gibt,
+die die Hydra ruft. Bisher habe ich qQuengler immer mit dem Kommentar "such
+doch" abgewiesen, aber gerade hat mich jemand daran erinnert, dass die
+entsprechenden neuen Raeumlichkeiten (so neu sind sie gar nicht), noch nicht
+abgenommen worden sind.
+
+Langer Rede kurzer Sinn: jetzt klappt wieder die alte Methode (fuer die, die
+sie kennen). Und nein, an der Hydra hat sich noch nichts veraendert. Das
+dauert noch
+
+Frohes warten und Ruestungabgreifen wuenscht
+
+Puma!
+
+
+-----------------------------------------------------------------------------
+
+
+
+Geldprobleme (Feuerwehr, 21. Mar 1998, 15:57:42):
+Hi ihrs!
+
+Aehm, es kam vor einiger Zeit zu einem komischen Bug mit Geld und dem Kobold
+im Duesterwald. Jof allein weiss warum, bei mir hats immer geklappt, aber
+wegen einiger Mails hab ich das mal umgestrickt. Es sollte jetzt also auf
+jeden Fall funktionieren.
+
+Aehm, ich habe seit Anschluss der Quest jede Menge Fanpost bekommen und
+moechte mich hiermit ganz artig bei allen Schreibern bedanken. Auch wenn ich
+nicht geantwortet habe, hat's mich sehr gefreut.
+
+Als letztes moechte ich erwaehnen, dass mein Report-File in den letzten
+Monaten so gut wie nicht gewachsen ist und der Wald damit (relativ) "sauber"
+ist. An dieser Stelle moechte ich mich auch an all die Typo-Finder wenden, die
+mich mit Tausenden und Abertausenden von Typos beehrt haben:
+
+Ich werde euch finden. Irgendwann werde ich euch finden. In einer finsteren
+Seitengasse, in der niemand eure Schreie hoehrt...
+
+   Feuerwehr.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Geldprobleme (Key, 21. Mar 1998, 20:24:00):
+~#! rn=Feuerwehr rt=890492262 rg=d.gebirge
+~#! tid=890492262
+Komm doch komm doch =;)
+
+Key
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Geldprobleme (Gloinson, 21. Mar 1998, 21:16:05):
+~#! rn=Feuerwehr rt=890492262 rg=d.gebirge
+~#! tid=890492262
+typo: Seitengasse, in der niemand eure Schreie _hoert_...
+
+Gloin ... war _noch_ nicht da :)
+
+-----------------------------------------------------------------------------
+
+
+
+Magier tun doch noch was (Puma, 10. Apr 1998, 00:10:39):
+
+Wegen mehrmaligen Nervens habe ich mich nun doch aus meinem Schaukelstuhl
+erhoben um ein altes File zu aendern. Und es ist ...
+
+*tusch*
+
+Die Ruestung des Hydratoeters! 
+
+
+Viel _Spass_ damit.
+
+Puma!
+
+
+P.S.: Diese Aenderung betrifft natuerlich nur alle neuen Ruestungen.
+
+
+#Informationspflicht off
+
+
+-----------------------------------------------------------------------------
+
+
+
+schreckliche Para-Welt (Feuerwehr, 21. Apr 1998, 23:27:34):
+Hi Fans des wunderschoenen Gebirges!
+
+Aehm, auf der letzten Party wurde an mich herangetragen, dass die
+Parawelt-Variante der Duesterwald-Quest doch ziemlich gemieden wuerde und ich
+dafuer die Werbetrommel ruehren sollte.
+Wieder daheim (und einigermassen wach) schaute ich nach, und es stimmte!
+Um also die Quest wenigstens ein klein wenig attraktiver zu gestalten (oder
+zumindest die tapferen Loeser der Para-Quest ein kleinwenig zu belohnen), gibt
+es jetzt eine zusaetzliche Belohnung fuer Para-Nosfrettoeter.
+Sie ist 30 cm breit, 20 cm hoch und besteht aus edlem Pinienholz.
+
+   Dankend...
+
+        Feuerwehr.
+
+P.S. Alle, die die Para-Quest schon geloest haben, koennen nun
+     a) Die Quest wiederholen oder
+     b) sich bei mir melden.
+
+PPS. Er zeigte sein bestes Grinsen und sprach:
+        ' Na, da hoff mir mahl, dass' nich' buggt. '
+
+-----------------------------------------------------------------------------
+
+
+
+Re: schreckliche Para-Welt (Asmodis, 22. Apr 1998, 18:26:39):
+~#! rn=Feuerwehr rt=893194054 rg=d.gebirge
+~#! tid=893194054
+Ein kleines Feuerwehrauto ? :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: schreckliche Para-Welt (Feuerwehr, 22. Apr 1998, 19:35:22):
+~#! rn=Asmodis rt=893262399 rg=d.gebirge
+~#! tid=893194054
+Oh Mann!!!
+
+Wieso kommen die guten Vorschlaege immer erst, wenn man alles angeschlossen
+hat????
+
+    Feuerwehr *grummelnd*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: schreckliche Para-Welt (Pra, 23. Apr 1998, 10:37:13):
+~#! rn=Feuerwehr rt=893266522 rg=d.gebirge
+~#! tid=893194054
+Tja, Pech gehabt.
+
+Musst Du halt noch 'ne Quest schreiben... :-)
+
+Pra.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: schreckliche Para-Welt (Boing, 23. Apr 1998, 14:47:57):
+~#! rn=Pra rt=893320633 rg=d.gebirge
+~#! tid=893194054
+Sag ich ja schon seit Monaten ... aber er redet sich immer raus!
+
+Feuerwehr! Arbeiten! Sofort!
+
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Artikel (Feuerwehr,  1. Mai 1998, 23:04:19):
+Hi!
+
+Im Rahmen der
+Fuellen-Wir-Doch-Die-Gebirge-Rubrik-mit-unnuetzen-Artikeln-weil-sie-so-verdamm
+t-leer-ist - Aktion moechte ich hiermit bekanntgeben, dass sich einige
+kleinere Aenderungen an der Para-Belohnung getan haben.
+Die neue Version erhaelt man nach Reboot oder Ende.
+
+Ah, die Ideen dazu sind von mir, die Bugs von Aurian. Aeh. Oder so.
+
+    Feuerwehr.
+
+-----------------------------------------------------------------------------
+
+
+
+Merkwuerdige Geraeusche ... (Boing,  5. Mai 1998, 08:53:13):
+Aus der Richtung der alten Steinbeisserhoehle wurde ein merkwuerdiges
+Grummeln vernommen, was da nur wieder los ist?
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Merkwuerdige Geraeusche ... (Key,  5. Mai 1998, 10:17:07):
+~#! rn=Boing rt=894351193 rg=d.gebirge
+~#! tid=894351193
+Hmm also ich hab da eher schreie sterbender NPCs gehoert die von Spielern
+gezappt wurden ;)
+
+Naja vielleicht grummeln ihre Nachfahren ja deswegen ein bisserl =;)
+
+Key
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Merkwuerdige Geraeusche ... (Wargon,  5. Mai 1998, 13:10:29):
+~#! rn=Key rt=894356227 rg=d.gebirge
+~#! tid=894351193
+Wahrscheinlich grummeln die ueberlebenden Steinbeisser, weil wieder ein
+Artgenosse in den Fels gebissen hat...
+  Wargon
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Merkwuerdige Geraeusche ... (Asmodis,  6. Mai 1998, 18:55:28):
+~#! rn=Boing rt=894351193 rg=d.gebirge
+~#! tid=894351193
+Haben die Steinbeisser Nachwuchs bekommen ? Oder ist Schwiegermutter
+Steinbeisser zu Besuch ? (Oh g, Gott, megahartes Monster)
+
+-----------------------------------------------------------------------------
+
+
+
+Klack! (Silvana, 13. Mai 1998, 12:45:02):
+Wem der Titel was sagt, der wird wissen, wo ich eine Kleinigkeit
+veraendert habe...
+
+  Silvana
+
+-----------------------------------------------------------------------------
+
+
+
+Morgoth' Drakonier (Silvana, 14. Mai 1998, 23:15:20):
+Hi.
+
+Offenbar gibt es von Morgoth' Gebirgs-Drakonier-Gebiet zwei Versionen:
+eine im VLand und eine im Gebirge. Diese beiden Versionen sind voellig
+durcheinander geraten. Da ich nicht die Zeit habe, das jetzt zu entwursteln,
+kann ich nur empfehlen, das Gebiet zu meiden, bis Morgoth in dieser 
+Rubrik Entwarnung gibt.
+
+  Silvana
+
+-----------------------------------------------------------------------------
+
+
+
+Drakonierfestung!!!!! (Belgariad, 17. Mai 1998, 22:47:33):
+
+
+Hi Folks,
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+nachdem ich fast unzaehlige Male wegen diesen verzwickten Raeumen fast
+gestorben waere, hat sich Morgoth erbarmt die Raeume zu debuggen. Sprich es
+geht wieder alles einwandfrei.
+
+
+
+
+
+Ein Hoch auf Morgoth.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Drakonierfestung!!!!! (Therin, 17. Mai 1998, 23:24:26):
+~#! rn=Belgariad rt=895438053 rg=d.gebirge
+~#! tid=895438053
+Irgendwie habe ich ein merkwuerdiges Gefuehl bei der Wortkombination "Morgoth"
+und "fehlerfrei" :)
+
+Therin knuddelt Morgoth witzelnd.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Drakonierfestung!!!!! (Teddy, 17. Mai 1998, 23:25:03):
+~#! rn=Therin rt=895440266 rg=d.gebirge
+~#! tid=895438053
+Ups, das passt in einen Satz? Ich dachte diese Kombination ergibt automatisch
+RZGs ;)
+
+Teddy
+
+-----------------------------------------------------------------------------
+
+
+
+Warok (Silvana,  3. Jun 1998, 09:43:20):
+Patryn meinte, die Tigonen sollten wieder Spass machen. Nun, tun sie,
+hoffentlich wieder. :) Ach ja, der Eistrollschamane hat auch wieder 
+sein urspruengliches Inv... 
+
+  Silvana - spricht in Raetseln.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Warok (Therin,  4. Jun 1998, 10:03:44):
+~#! rn=Silvana rt=896859800 rg=d.gebirge
+~#! tid=896859800
+
+Also die Tigonen haben m.e. noch nie Spass gemacht...
+(und ohne Stille erstrecht nicht :) )
+
+T.
+
+-----------------------------------------------------------------------------
+
+
+
+Drakonierfestung (Morgoth, 13. Jun 1998, 23:24:54):
+So, nun sollte das mit den Tueren beim Kommandanten wieder behoben sein und
+der Waffenguertel tut auch wieder.
+M* (gestresst)
+
+-----------------------------------------------------------------------------
+
+
+
+Grummeldolche (Boing, 28. Aug 1998, 13:47:24):
+Man kann jetzt durch identifizieren herausfinden, mit welchen ids man
+die Grummeldolche noch ansprechen kann.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Drachengott (Boing, 10. Sep 1998, 13:02:47):
+Der Fehler beim Drachengott duerfte jetzt wohl nicht mehr auftreten. Es
+ist auch nicht mal ein Reboot notwendig, da ich noch eine zweite
+Sicherung eingebaut habe. Zumindest glaube ich das ... ;)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+plakette (Feuerwehr, 14. Sep 1998, 15:09:03):
+Hi Gebirgsler.
+
+Aehaem. Vor einigen Monaten erreichte mich die Meldung, dass Weibsvolk in
+diesem Mud anwesend sein soll. Ich bin dem natuerlich nachgegangen und bin nun
+zu dem Schluss gekommen, dass deren Anwesenheit hier nicht mehr voellig
+auszuschliessen ist.
+
+Nunja, auf jeden Fall hab ich jetzt (eendlich, jaaa) diese dumme Plakette
+angepasst. Und auf Wunsch eines einzigen, winzig kleinen Zwerges (der sowas
+eigentlich garnicht verdient haette) gibt es sogar noch einen neuen Befehl
+oben drauf, da ham wir gleich ein Super Sommer Sparmenue.
+
+Dieses kostenlose Update erhaelt man nach dem naechsten ENDE / Reboot.
+
+   Feuerwehr.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Drachengott (Key, 14. Sep 1998, 16:27:20):
+~#! rn=Boing rt=905425367 rg=d.gebirge
+~#! tid=905425367
+Ohoh ...
+"duerfte"
+"Sicherung"
+"glaube"
+
+Aeh kannste das nochmal ueberarbeiten Boing? :)))
+
+Key geht in Deckung ;)))
+
+-----------------------------------------------------------------------------
+
+
+
+Re: plakette (Lug, 17. Sep 1998, 01:31:46):
+~#! rn=Feuerwehr rt=905778543 rg=d.gebirge
+~#! tid=905778543
+
+a) das war nur ein Geruecht!
+
+b) ist doch voellig egal!
+
+c) sollten da eh nicht hin!
+
+d) BUUUUUUUUUUH!
+
+e) sollen eh in die Klerikergilde!
+
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Feuerteufel (Boing, 22. Sep 1998, 13:40:17):
+Ich wurde leider von den Klerikern dazu gezwungen den Feuerteufel 
+etwas zu aendern. Normalspieler werden davon wohl nix bemerken.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Feuerteufel (Boing, 22. Sep 1998, 14:11:45):
+~#! rn=Boing rt=906464417 rg=d.gebirge
+~#! tid=906464417
+Ach ja .. sollten sich die Massnahmen als unzureichend heraustellen,
+werde ich mir neue Gemeinheiten ausdenken ... :)
+  Boing, verwandelt Keulen in Pflugscharen
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Feuerteufel (Dieder, 22. Sep 1998, 14:12:31):
+~#! rn=Boing rt=906466305 rg=d.gebirge
+~#! tid=906464417
+Kleriker sind also nicht normal? Gut zu wissen... :)
+
+Dieder
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Feuerteufel (Patryn, 22. Sep 1998, 15:03:24):
+~#! rn=Dieder rt=906466351 rg=d.gebirge
+~#! tid=906464417
+irgendwie hat dein artikel 100% redundanz :)
+
+------
+patryn -> schmarrn
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Feuerteufel (Lug, 22. Sep 1998, 18:37:10):
+~#! rn=Boing rt=906464417 rg=d.gebirge
+~#! tid=906464417
+Raeusper,
+
+
+buuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuh!
+Unser Gildengott laesst sich von Frauen zwingen. Tss tss tss.
+Naja, wenigstens das mit den "Normalspielern" war gut ;)
+FidKGuKgh
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Feuerteufel (Feuerwehr, 22. Sep 1998, 19:13:14):
+~#! rn=Lug rt=906482230 rg=d.gebirge
+~#! tid=906464417
+
+Naja,
+
+Da stellt sich dann doch irgendwie die Frage....
+Wer von uns ist schon normal???
+
+  Feuerwehr  (diabolisch kichernd und mit Zintassen gegen Gitterstaebe 
+               haemmernd)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Bakhtarrh (Boing, 29. Sep 1998, 09:29:06):
+Gratulation an Kiu, der als erster Spieler den Drachengott der
+Schreckensspitze besiegt hat. Ich muss sagen: er hat es verdient!
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Bakhtarrh (Nonne, 29. Sep 1998, 10:17:13):
+~#! rn=Boing rt=907054146 rg=d.gebirge
+~#! tid=907054146
+Einen DrachenGOTT?? na, wenn sich da mal nicht ein paar glaeubige drachen
+drueber ereifern, dass man den killen kann.
+
+Nonne.
+(hoffend, dass es ein paar verstehen)
+
+-----------------------------------------------------------------------------
+
+
+
+Neue Wege braucht das Land... (Tilly, 11. Okt 1998, 23:58:09):
+Moin moin,
+
+Es wurde ein Schwarm Wildgaense gesichtet, der augenscheinlich zwischen
+der Hochebene und dem Polargebiet pendelt. Sicher gibt es fuer Euch
+eine Moeglichkeit, dies zu nutzen und so den beschwerlichen Weg zwischen
+den beiden Regionen abzukuerzen.
+Viel Spass und vielen Dank an Boing und Feuerwehr.
+
+ - Tilly -
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Neue Wege braucht das Land... (Mahatmu, 12. Okt 1998, 00:12:31):
+~#! rn=Tilly rt=908143089 rg=d.gebirge
+~#! tid=908143089
+Muss man die irgendwie aergern, so wie Nils damals ? :)
+
+Gloin
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Neue Wege braucht das Land... (Catweazle, 12. Okt 1998, 10:08:40):
+~#! rn=Tilly rt=908143089 rg=d.gebirge
+~#! tid=908143089
+Wildgaense zwischen Polar und Hochebene.
+Hm, da faellt mir spontan ein Heissluftballon ein, der immer noch nicht
+fliegt :)
+
+YTC
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Neue Wege braucht das Land... (Boing, 12. Okt 1998, 13:33:04):
+~#! rn=Catweazle rt=908179720 rg=d.gebirge
+~#! tid=908143089
+Jaja ... ich hab ihn nicht vergessen ... ;)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Neue Wege braucht das Land... (Key, 12. Okt 1998, 13:42:47):
+~#! rn=Boing rt=908191984 rg=d.gebirge
+~#! tid=908143089
+Hmm da faellt mir spontan ein das ich schon immer Pegasus im Flug abschiessen
+wollte :)
+
+Gilt auch fuer alles andere Fliegervieh was man verfuiettern kann ;)
+
+Key, ballert wild in der Luft rum und sieht Spieler vom Himmel regnen ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Akte X auf der HE? (Baboon, 20. Okt 1998, 09:58:18):
+Hallo Leute.
+
+Wie mir der alte Wanderer berichtet hat sind in letzter Zeit mehrere
+Personen im Norden der Hochebene verschwunden. Augenzeugenberichten
+zufolge standen sie in der Naehe eines grossen Gebueschs und waren
+dann von einem Augenblick zum anderen verschwunden.
+Vielleicht habt ihr ja Lust, euch auf die Suche nach ihnen zu machen?
+Eine Belohnung ist allerdings nicht ausgesetzt. (Waren alles nur
+Anfaenger)
+
+BaBOOn()
+
+ps: Herzlichen Dank an die Tester und meinen Lieblingssteinbeisser.
+
+pps: Ich bin ja sooo stolz auf mich. *seufz gluecklich* :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Klitzeldrom-Ringe (Boing, 22. Okt 1998, 10:29:50):
+Hallo,
+bei den Ringen vom Drom hat sich ein kleiner Bug eingeschlichen, das betrifft 
+alle positiven Ringe, die an den letzten ein bis zwei Tagen erzeugt
+wurden. Die durch den Bug entstehenden negativen Folgen, lassen sich 
+durch ende beheben. 
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Drakonierfestung (Morgoth,  3. Nov 1998, 10:04:21):
+Hi Leute,
+
+wie ihr ja schon mitbekommen habt, hat der 'gute' Padreic ein bischen an der
+Lib gefummelt und dabei ein paar unschoene Kaeferchens eingebaut. Einer davon
+ist auch der Grund, warum in der Drakonierfestung nicht mehr alles so laeuft
+wie es soll.
+Klartext: Der Kommandoposten im Norden buggt wie sau, also bleibt da raus.
+
+Morgoth wuergt Padreic
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Drakonierfestung (Hobo,  3. Nov 1998, 12:50:51):
+~#! rn=Morgoth rt=910087461 rg=d.gebirge
+~#! tid=910087461
+Dann haeng's ab!
+
+  Hobo
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Drakonierfestung (Sharia,  3. Nov 1998, 12:51:32):
+~#! rn=Hobo rt=910097451 rg=d.gebirge
+~#! tid=910087461
+waere doch nicht witzig oder ? :-)
+
+Sharia, schaut mal ob man da nich bugs ausnutzen kann .... oder so ....
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Drakonierfestung (Morgoth,  3. Nov 1998, 12:53:00):
+~#! rn=Sharia rt=910097492 rg=d.gebirge
+~#! tid=910087461
+Klar, wenn Du in einem Raum feststecken willst, in dem ein Para-Sivak-Kaempfer
+steht und in dem es keine Ausgaenge gibt. Nutz diesen Bug ruhig oft genug aus.
+Mit 20 Todesfolgen kaempft es sich auch als Kleriker sicher ganz gut.
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Drakonierfestung (Sharia,  3. Nov 1998, 12:53:39):
+~#! rn=Morgoth rt=910097580 rg=d.gebirge
+~#! tid=910087461
+dann haengs ab ? :-)
+
+Sharia wird wohl manchmal missverstanden...
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Drakonierfestung (Morgoth,  3. Nov 1998, 13:08:01):
+~#! rn=Morgoth rt=910087461 rg=d.gebirge
+~#! tid=910087461
+Der Bug is gefixed, sollte alles wieder klappen....
+
+Morgoth wuenscht viel Spass beim Sterben
+
+-----------------------------------------------------------------------------
+
+
+
+Mal wieder Klitzeldrom (Boing,  3. Nov 1998, 14:38:14):
+Ich habe ein paar Kleinigkeiten am Klitzeldrom geaendert. Ich bin fuer 
+konstruktive Nachbesserungsvorschlaege natuerlich immer zu haben.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Drakonierfestung (Asmodis,  6. Nov 1998, 16:28:45):
+~#! rn=Morgoth rt=910097580 rg=d.gebirge
+~#! tid=910087461
+Hast du immer noch nicht gelernt, dass AddExit vor AddItem stehen sollte ? :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Pa-BOOn schlaegt wieder zu (Baboon, 12. Nov 1998, 09:56:16):
+Auf speziellen Wunsch dreier bestimmter
+Personen *grins Neb, Nessaja und Lillebror* gibt es jetzt
+in meinem Gebiet fuer Freunde der Parawelt eine neue
+Moeglichkeit ums Leben zu kommen...
+Viel Spass.
+
+Pa^H^HBaBOOn()
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Pa-BOOn schlaegt wieder zu (Baboon, 12. Nov 1998, 11:42:14):
+~#! rn=Baboon rt=910864576 rg=d.gebirge
+~#! tid=910864576
+Nachdem Magicolli den Allererstkill gemacht hat, ohne
+auch nur einen Gegenschlag zu kassieren, hab ich mal ganz
+zwanglos die Laehmbarkeit des monsters herabgesetzt.
+
+Weiter viel spass wuenscht Pa^H^HBaBOOn()
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Pa-BOOn schlaegt wieder zu (Neb, 12. Nov 1998, 12:23:19):
+~#! rn=Baboon rt=910864576 rg=d.gebirge
+~#! tid=910864576
+Klasse, dass nenn ich Service.
+Wir werden sicher in naechster Zeit nochmal eine Expidition starten ;)
+
+Neb, knuddelt Pa^H^H^Baboon fuer die spontane Reaktion.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Pa-BOOn schlaegt wieder zu (Morgoth, 12. Nov 1998, 12:23:39):
+~#! rn=Baboon rt=910870934 rg=d.gebirge
+~#! tid=910864576
+Is ja nett,dass du das so genau erklaerst. bei mir wuerd da nur stehen. hab
+was geaendert, viel spass beim sterben. REICHT VOELLIG !
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Pa-BOOn schlaegt wieder zu (Acrimon, 12. Nov 1998, 14:37:10):
+~#! rn=Morgoth rt=910873419 rg=d.gebirge
+~#! tid=910864576
+naja... dann findet mans doch nicht. Lohnt sich gar nicht nachzuschauen, wenn
+mans nicht findet.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Pa-BOOn schlaegt wieder zu (Baboon, 17. Nov 1998, 09:27:51):
+~#! rn=Baboon rt=910870934 rg=d.gebirge
+~#! tid=910864576
+Wem der Parawelt-Blindfisch zu schlaff erschien hatte leider
+recht. Irgendwie scheint es die special attacks des Monsters in eine
+Subraumanomalie gezogen zu haben. Diese "Problem" ist
+jetzt behoben. :-)
+
+Waer doch gelacht, wenn ich nicht endlich ein paar Kerben machen koennte.
+
+Viel Spass beim Sterben wuenscht Pa-Magier BaBOOn(). :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Neues aus der Grummelbeisserhoehle (Boing, 17. Nov 1998, 18:14:41):
+Diese schaendliche mail hab ich eben vom Balance-Team erhalten:
+
+----------------------------------------------------------------------
+Hallo Boing,
+
+Du bist jetzt dran, Deine Grummelbeisserhoehle ist so mit Zeugs 
+ueberladen, dass da jetzt mal kraeftig ausgemistet wird. Als erstes 
+bekommt der Grummeldolch nen vernuenftigen Schadenstyp und keinen so 
+an den Haaren herbeigezogenen Mist. Ausserdem muss er nach hinten
+verfrachtet werden! Und zu oft sollte es ihn auch nicht geben! Und
+das andere gute Teil gleich gar nicht, du weisst schon was ich meine!
+Und weil wir grad dabei sind, kommt als naechstes die Scherbenhose 
+dran, aber da bekommst Du noch ne Gnadenfrist, um ein eigenes Gebiet
+zu schreiben, wo das Ding reinpasst.
+
+  Boing, i.A. des Balance-Teams
+----------------------------------------------------------------------
+
+Was sagt man dazu? *wein* 
+Duerfen die sowas machen??? 
+
+  Boing, verzweifelt
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Neues aus der Grummelbeisserhoehle (Muadib, 18. Nov 1998, 12:34:13):
+~#! rn=Boing rt=911326481 rg=d.gebirge
+~#! tid=911326481
+ahhh endlich kann ich auch mal ;)
+HEUL DOCH!
+
+muadib
+*weint NIE*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Neues aus der Grummelbeisserhoehle (Songoku, 19. Nov 1998, 10:05:45):
+~#! rn=Boing rt=911326481 rg=d.gebirge
+~#! tid=911326481
+Tja als Neumagier passiert einem sowas.
+Aber das wird sich noch legen. Habe einfach etwas geduld.
+Aber das wird sich noch legen. Habe einfach etwas geduld.
+SonGoku 
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Neues aus der Grummelbeisserhoehle (Muadib, 19. Nov 1998, 15:39:57):
+~#! rn=Songoku rt=911469945 rg=d.gebirge
+~#! tid=911326481
+hi
+
+wen meinste ?
+
+muadib
+*schwer von begriff*
+
+-----------------------------------------------------------------------------
+
+
+
+hallo silberhein (Luvadea,  9. Jan 1999, 22:30:15):
+:)**
+unt brett
+-----------------------------------------------------------------------------
+
+
+
+Scherbenhose (Boing,  2. Feb 1999, 17:04:10):
+Wie angekuendigt hat die Scherbenhose jetzt ihr eigenes kleines Gebiet
+bekommen, ist also nicht mehr in der Grummelbeisserhoehle zu finden.
+Viel Spass,
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Waffenguertel (Morgoth,  2. Feb 1999, 21:06:59):
+Hiho,
+
+endlich bin ich mal dazu gekommen, ein paar Wuensche einzubauen. Man kann nun
+gezielt die einzelnen Schlaufen benutzen. Allerdings kann es sein, dass das
+Ding noch nicht perfekt ist, da mir hier keiner vernuenftige Antworten auf
+meine Fragen geben konnte (d.h. quick and dirty hack) ;-))
+
+Trotzdem viel Spass !!!
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Waffenguertel (Morgoth,  3. Feb 1999, 09:04:58):
+~#! rn=Morgoth rt=917989619 rg=d.gebirge
+~#! tid=917989619
+So,
+
+Quick hat getestet und auch noch ein paar optische Fehler gefunden, deshalb
+gibts jetzt noch ein weiteres Kommando. Besser gehts mit den derzeitigen
+Mitteln nicht.
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Es tat sich etwas auf... (Wim, 22. Feb 1999, 11:43:23):
+
+naemlich eine Tuer im Bergdorf, die schon lange verschlossen war.
+Dahinter sieht es gar merkwuerdig und verlassen aus, lohnt sicher nicht den
+Besuch... oder gibt es da vielleicht doch mehr, als ein oberflaechlicher Blick
+preisgibt?
+
+Frag den Wanderer *G*
+
+Wim
+
+-----------------------------------------------------------------------------
+
+
+
+seufz... (Wim,  3. Mar 1999, 11:24:56):
+Nachdem regelmaessig Fragen kommen, warum die Queste optional ist und mir
+selbige Fragen langsam meine Geduld strappazieren:
+Weil ich die Seheranforderungen nicht noch weiter steigern wollte.
+Eigentlich dachte ich, dass man durch geringfuegiges Nachdenken selber darauf
+kommen koennte, aber ich hab meine Mitmudder wohl ueberschaetzt...
+
+Weiterhin frohes Questen :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: seufz... (Wurzel,  3. Mar 1999, 20:25:56):
+~#! rn=Wim rt=920460296 rg=d.gebirge
+~#! tid=920460296
+ein fehler, den wir alle mal machen. wenn man annimmt, der durchschnittliche
+mudder wuerde ueber ein auf die gesamtbevoelkerung bezogen durchschnittliches
+denkvermoegen verfuegen, liegt man voll daneben. nein, mudder sind viel
+intelligenter... oder so aehnlich.
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Dromringe (Boing,  8. Mar 1999, 13:16:59):
+Die Ringe vom Klitzeldrom haben sich etwas geaendert. Im wesentlichen
+betrifft das die +4 Ringe und die Kombiniationsmoeglichkeiten mit anderen
+attributveraendernden Objekten. Z.b. laesst sich ein Kraftring nicht
+mehr mit den Drachenklauen (auch Kraft) von Paracelsus kombinieren.
+Diese Regelung wurde nicht aus Spass eingefuehrt, sondern ist darin
+begruendet, dass auch andere Magier die Moeglichkeit haben sollten,
+attributveraendernde Objekte ins Spiel zu bringen. Bisher wurde so ein
+Antrag mit der Begruendung 'in Kombination mit Dromring und Drachenklauen
+zu stark' glatt abgebuegelt.
+Die Aenderung gilt natuerlich nur fuer Ringe, die ab sofort neu ins Spiel
+kommen.
+
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Dromringe (Jasonrigid,  9. Mar 1999, 11:24:13):
+~#! rn=Boing rt=920899019 rg=d.gebirge
+~#! tid=920899019
+
+Tja, damit sind Kraftringe fuer diejenigen Leute, die an die Klauen rankommen
+weitestgehend wertlos ...
+
+schade eigentlich.
+
+Jason
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Dromringe (Anatol,  9. Mar 1999, 12:23:05):
+~#! rn=Jasonrigid rt=920978653 rg=d.gebirge
+~#! tid=920899019
+Es gibt immer Leute, die den Sinn einer "Abwertung" nicht begreifen.
+
+Anatol - ist fuer feste Obergrenzen aller Attributswerte.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Dromringe (Anacrion,  9. Mar 1999, 14:31:16):
+~#! rn=Anatol rt=920982185 rg=d.gebirge
+~#! tid=920899019
+Auch wenn es mir im Herzen wehtut, muss ich anatol#(l) hier zustimmen.
+
+Damit das MUD halbwegs ueberschaubar bleibt und kalkulierbar, sollte man doch
+am besten gleich bei der Attributabfrage nen maxwert setzen ...
+
+Gruss und Kuss (fuer alle diewollen)
+
+Anac* - sich jetzt schon fuer die Typos entschuldigend
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Dromringe (Deepblue,  9. Mar 1999, 16:12:27):
+~#! rn=Jasonrigid rt=920978653 rg=d.gebirge
+~#! tid=920899019
+Und? Sind sieh es halt, kommen halt auch andere mal in den Genuss. Und
+irgendwann muss mal mit dem gegenseitigen Hochruesten schluss sein.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Dromringe (Mahatmu,  9. Mar 1999, 16:58:38):
+~#! rn=Deepblue rt=920995947 rg=d.gebirge
+~#! tid=920899019
+Jawohl, und deshalb baue ich meine Mittelstreckenrakten in Port Vain ab
+oder verpsrech die Programmierung auf die Zwergenstadt in Wueste zu aendern!
+Unterschreib auch Du den START II - Vertrag!
+
+Mahatmu
+
+-----------------------------------------------------------------------------
+
+
+
+to artikel 6 (Jasonrigid, 10. Mar 1999, 12:32:00):
+~#! rn=Anatol rt=920982185 rg=d.gebirge
+~#! tid=920899019
+Ja, Anatol, und es gibt auch immer Leute, die einfach die Enttaeuschung bei
+einer Abwertung immer wieder in den falschen Hals kriegen .
+
+Ich habe den Sinn durchaus verstanden, und ich akzeptiere es, das heisst aber
+nicht zwangslaeufig, dass es mir auch gefallen muss.
+
+Jason
+
+-----------------------------------------------------------------------------
+
+
+
+Re: to artikel 6 (Anatol, 10. Mar 1999, 18:34:34):
+~#! rn=Jasonrigid rt=921069120 rg=d.gebirge
+~#! tid=920899019
+Entschuldigung. In diesem Fall haette die korrekte Antwort heissen muessen:
+
+Heul' doch.
+
+Anatol
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: to artikel 6 (Jasonrigid, 11. Mar 1999, 12:11:11):
+~#! rn=Anatol rt=921090874 rg=d.gebirge
+~#! tid=920899019
+Okay, aber Du versuch bloss nie, Dich in die Gedanken anderer hineinzudenken,
+das koennte zu Gehirnbildung fuehren.
+
+Jason
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: to artikel 6 (Mahatmu, 11. Mar 1999, 12:13:21):
+~#! rn=Jasonrigid rt=921154271 rg=d.gebirge
+~#! tid=920899019
+Dafuer gibt es ja den Int+4 Ring und eine Segnung.
+
+Mahatmu
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Dromringe (Songoku, 11. Mar 1999, 12:45:47):
+~#! rn=Mahatmu rt=920998718 rg=d.gebirge
+~#! tid=920899019
+Aber die Dragonballs fallen nicht unter den START II oder (muss die immernoch
+suchen)
+
+Sayonara! 
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: seufz... (Rantanplan, 11. Mar 1999, 20:42:51):
+~#! rn=Wurzel rt=920492756 rg=d.gebirge
+~#! tid=920460296
+Stimmt Wurzel, der durchschnittliche Mudder ist sicherlich intelligenter als 
+der Rest der Bevoelkerung...und sieht scheisse aus...
+
+Oe*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: seufz... (Grimmborn, 16. Mar 1999, 00:55:07):
+~#! rn=Rantanplan rt=921184971 rg=d.gebirge
+~#! tid=920460296
+Hee, moment, ich bin nicht intelligenter. Frechheit.
+Blblblbl
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Universalfaehnchen (Wim, 19. Mar 1999, 19:51:56):
+
+Das Faehnchen wertet nun das Ignoriere aus und dort im besonderen auch den
+Befehl ignoriere "name.fahne" welches das "aus der Ferne"-wedeln unterdrueckt.
+
+Gilt natuerlich nur fuer neue Faehnchen...
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Universalfaehnchen (Anatol, 19. Mar 1999, 20:15:18):
+~#! rn=Wim rt=921873116 rg=d.gebirge
+~#! tid=921873116
+"ingoriere xxx.fahne" haette ich auf der Party brauchen koennen, als sich
+der eine oder andere "nette" Geselle zu lange mit zu vielen Flaschen Bier
+unterhalten musste :o). Wo warst Du, Wim?
+
+Anatol
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Universalfaehnchen (Wim, 19. Mar 1999, 20:17:29):
+~#! rn=Anatol rt=921874518 rg=d.gebirge
+~#! tid=921873116
+
+Frag mal bei den Bierschuettlern an. Die haben damit sicher mehr Erfahrung.
+
+-----------------------------------------------------------------------------
+
+
+
+Geruechte... (Zook, 25. Mar 1999, 15:08:08):
+
+
+Wie mir zu Ohren gekommen ist, soll es vom Siebensprung aus
+einen Weg in ein bisher noch unbekanntes Gebiet geben. Leider
+konnte ich dieses Geruecht bisher noch nicht ueberpruefen, 
+aber vielleicht schaut Ihr einfach mal vorbei, was es damit
+auf sich hat.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Fleurop :) (Wim, 25. Apr 1999, 06:35:32):
+Zarro hat nun auch einen Fleuropservice eingerichtet und bringt Blumengruesse
+vorbei :)
+Wie er sich dazu ueberreden laesst, muesst ihr aber schon selber herausfinden.
+
+
+-----------------------------------------------------------------------------
+
+
+
+suche (Elkos, 13. Mai 1999, 19:55:27):
+Hallo liebe Mit-Mudler,
+
+ich haenge hier in der HE und schlachte die kleinen Tierchen ab.
+
+:-) Echt lustig !!!!
+.
+.
+-----------------------------------------------------------------------------
+
+
+
+Re: suche (Hobo, 14. Mai 1999, 11:25:31):
+~#! rn=Elkos rt=926618127 rg=d.gebirge
+~#! tid=926618127
+Dann viel Spass dabeio. Und pass' auf, dass nicht Dich mal die kleinen
+Tierchen abnagen!
+
+  Hobo
+
+-----------------------------------------------------------------------------
+
+
+
+Kleine Aenderung... (Zook, 19. Mai 1999, 17:01:14):
+
+Hiho,
+
+zum einen moechte ich Euch mitteilen, dass ich die Wartung
+von Georgs Gebiet im Gebirge uebernommen habe und zur Zeit
+erst einmal das Repfile abarbeite... Also, wer Ideen, 
+Wuensche oder aehnliches hat, kann mir das ja mal mailen.. :)
+
+Zweitens, der Betrachter hatte einen kleinen Defekt, den ich
+behoben habe. Dabei habe ich noch ein paar andere Aenderungen
+vorgenommen... nix Dramatisches, aber ich wollte es Euch
+mitteilen. Viel Spass damit....
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Tal abgehaengt (Baboon,  2. Jun 1999, 10:40:35):
+Falls es irgendjemand interessieren sollte:
+Mein Tal ist wegen einiger kleinerer Aenderungen am Bach
+fuer ein oder zwei Tage abgehaengt. Der Tunnel ist aber weiter 
+zugaenglich.
+
+BaBOOn() ist fuer seine Verhaeltnisse zur Zeit hyperaktiv.
+
+-----------------------------------------------------------------------------
+
+
+
+Viel Spass mit der neuen Quest! (Tsunami,  2. Jul 1999, 12:13:19):
+(Fanfare, Trommelwirbel und Tusch!) 
+
+TaaaTaaa! Es ist vollbracht. Ein neues Abenteuer wartet darauf, von Euch
+in Angriff genommen zu werden:
+
+Der Koenig der Zwerge hat echt viele Probleme am Hals. Jetzt ist ihm auch
+noch sein Sohn abhanden gekommen. Am besten schaust Du mal vorbei.
+Ruhm, Ehre verrueckte Abenteuer und tolle Belohnungen(!!) warten auf Dich. 
+
+Also, was zoegerst Du noch? Alle Mann an Deck und auf ins Gefecht.
+
+Die Quest ist eher fuer die lieben Kleinen gedacht, aber auch ihr
+fuerchterlichen HLPs solltet Euren Spass dabei haben.
+
+Auf Feedback hoffend,
+
+Tsunami (heute zur Abwechslung mal lieb und nett).
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Viel Spass mit der neuen Quest! (Gor,  2. Jul 1999, 12:18:20):
+~#! rn=Tsunami rt=930910399 rg=d.gebirge
+~#! tid=930910399
+Gor gibt Tsunami ein Feedback aus der Ferne.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Viel Spass mit der neuen Quest! (Gast2,  2. Jul 1999, 13:31:09):
+~#! rn=Tsunami rt=930910399 rg=d.gebirge
+~#! tid=930910399
+Alles nur Fehlalarm. Der Zwergenkoenig vermisst noch immer nur ein
+Kind - Ukhazi, nur kann er sich offenbar nicht entscheiden, ob es
+nun ein Sohn oder eine Tochter ist...
+
+Gast2, Elf :o)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Viel Spass mit der neuen Quest! (Tsunami,  2. Jul 1999, 14:42:06):
+~#! rn=Gast2 rt=930915069 rg=d.gebirge
+~#! tid=930910399
+Hallo Gast2 (ich weiss dass Du weisst dass ICH weiss, wer Du bist) :))
+
+warte nur, bis Du wieder unter Deinem richtigen Namen eingeloggt bist denn
+dann gibts Haue auf Deinen Elfenhintern :))
+
+Fuer alle anderen.. die Quest funtkioniert natuerlich :)
+
+Tsunami (haut heute Elfen).
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Viel Spass mit der neuen Quest! (Lug,  5. Jul 1999, 01:16:24):
+~#! rn=Tsunami rt=930919326 rg=d.gebirge
+~#! tid=930910399
+
+Tjae,
+
+dachte ich mir, dass Tsunami auf sowas steht...
+
+
+Tssstsstssend
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Neues von der Rattenburgerquest (Tsunami,  5. Jul 1999, 14:55:22):
+Huhu :)
+
+Bis jetzt haben schon ueber 40 von euch die Quest durchgespielt und das
+Echo war durchwegs gut. Vielen Dank fuer eure Reps und die vielen guten
+Emails. Ich habe alles eingebaut.
+
+Die beiden einzigen Bugs sind repariert:
+Der Kristall behindert das Kerbholz nun nicht mehr und der Topf wurde
+ueberarbeitet. 
+
+Da der Ansturm auf die Quest so gross ist, habe ich mit ein paar Kaesekruemeln
+noch ein paar Ratten mehr in die Goblinhoehle gelockt.
+
+In diesem Sinne, weitere witzige Ideen sind wie immer herzlich willkommen
+und werden sofort eingebaut.
+
+Tsunami.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Neues von der Rattenburgerquest (Wim,  5. Jul 1999, 20:19:46):
+~#! rn=Tsunami rt=931179322 rg=d.gebirge
+~#! tid=931179322
+Ich kann mir nicht verkneifen, Dir mitzuteilen, dass ich den dritten
+"einzigen" Bug gerade entfernt habe :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Neues von der Rattenburgerquest (Morgoth,  6. Jul 1999, 07:43:55):
+~#! rn=Tsunami rt=931179322 rg=d.gebirge
+~#! tid=931179322
+Hm, wieso postest Du nicht gleich ne KL und alles ist gut. Dann muessen sich
+die Leute nicht mit Bugs rumschlagen. Auch ne Art von Bugfix.
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Mesirii ist schuld (Silvana,  1. Sep 1999, 13:23:04):
+Hi.
+
+Gibt ne kleine Aenderung bei den Erschoepfungstexten im Warok. Dank an
+Mesirii.
+
+  Silvana
+
+-----------------------------------------------------------------------------
+
+
+
+troubel (Troubardix, 21. Sep 1999, 05:58:42):
+Troubardix forever!
+-----------------------------------------------------------------------------
+
+
+
+Bugfix-Warnung ! (Morgoth, 28. Okt 1999, 14:33:16):
+Hi,
+
+ich hab nen Bug im Parasivak gefixed. Koennte nun etwas aua machen.
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Bugfix-Warnung ! (Jamalski, 28. Okt 1999, 17:05:42):
+~#! rn=Tilly rt=941123056 rg=d.gebirge
+~#! tid=941113996
+Macht jedenfalls irgendwie 'aua'
+
+Jamal
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Bugfix-Warnung ! (Morgoth, 29. Okt 1999, 08:06:52):
+~#! rn=Tilly rt=941123056 rg=d.gebirge
+~#! tid=941113996
+Nein, der wars nicht. Aber gabs nicht mal irgendwo etwas, das posten von Code
+bzw. Pfadnamen in Spielerrubriken untersagt? 
+Ich kann mich dran erinnern, dass ich mal einen dafuer auf den Deckel bekommen
+habe. Wenn das jetzt wieder erlaubt ist, schoen. Mal sehen was Du so nettes in
+Deinem Verzeichnis hast.
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Bugfix-Warnung ! (Bendeigid, 29. Okt 1999, 08:41:19):
+~#! rn=Morgoth rt=941177212 rg=d.gebirge
+~#! tid=941113996
+Ich habe den verbotenerweise Pfadnamen enthaltenden Artikel nach magier.
+schmarrn verlegt. 
+
+Jau, Morgoth, es ist verboten ;)
+Haut Tilly! 
+
+Z'par Servu,
+              Bendeigid
+
+-----------------------------------------------------------------------------
+
+
+
+Blumen (Wim,  9. Nov 1999, 17:07:59):
+So, die haben nun eine kleine Funktionalitaet mehr.
+Ansonsten mal wieder der Aufruf: Wer kleine ASCII Bilder von Blumen hat (insb.
+gesucht eine Tulpe) nur her damit, denn damit kann ich das Angebot des Ladens
+erweitern ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Rattenburgerquest (Tsunami, 21. Dez 1999, 11:39:51):
+HO! HO! HO! 
+
+Vorweihnaechtlicher Arbeitseifer hat mich uebermannt. Ich habe das Repfile
+der Rattenburgerquest durchgeackert und den einzelnen Objekten 
+intelligente Resets spendiert. Ihr werdet es bestimmt moegen.
+
+Viel Spass,
+
+Tsunami.
+
+-----------------------------------------------------------------------------
+
+
+
+plakette (Feuerwehr, 28. Dez 1999, 23:42:15):
+Hi!
+
+Die Para-DW-Plakette verbreitete bei einigen Spielern Unmut, da dauernd
+derartige Plaketten auf sie gerichtet wurden. Derartige Huepfer koennen jetzt
+'ignoriere plakette' eingeben, welche das Richten von Plaketten auf sie
+unterbindet.
+
+Der Clou dabei ist, dass es erst geht, wenn der jeweils andere ende gemacht
+und somit eine neue Plakette bekommen hat. Viel Spass also ...
+
+   112.
+
+PS: Dieser Artikel ist fuer Liara, die doch so gerne was liest.
+PPS:Auch wenn sie Para-Duesterwald glaub ich garnicht gespielt hat...
+
+-----------------------------------------------------------------------------
+
+
+
+Bugfix (Boing, 31. Jan 2000, 11:26:57):
+~#! on=Baboon ot=949313050 og=allgemeines
+Durch eine Aenderung anderswo funktionierte mein
+Findling am Bachufer nicht richtig.
+Obwohl es sicher keinen interessiert (der Bug ist
+schon seit monaten drin, ohne das jemand
+was gemerkt haette...) hab ich ihn jetzt
+behoben und gleich noch zwei andere
+Kleinigkeiten geaendert. Also geht mal hin. Es gibt
+ein monster zu entdecken. :-)
+Achja. Jetzt kann ich mit gutem Gewissen behaupten,
+dass der Rest von meinem Tal noch in diesem
+Jahrtausend, ja sogar in diesem Jahrhundert angeschlossen wird.
+
+BaBOOn() gibt vage Lebenszeichen von sich.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Bugfix (Hood, 31. Jan 2000, 13:09:30):
+~#! rn=Boing rt=949314417 rg=d.gebirge
+~#! tid=949314417
+ein neues `monster von dir? ueberlebt das diesmal wenigstens den ersten
+schlag? waer mal was wirklich neues ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Bugfix (Baboon, 31. Jan 2000, 13:17:58):
+~#! rn=Hood rt=949320570 rg=d.gebirge
+~#! tid=949314417
+Was heisst hier "ueberleben den ersten Schlag nicht"?
+Was erwartest du denn, wenn du mit nem vollstrecker
+auf einen wehrlosen Grasfrosch eindrischst?
+Wenn du ein Monster willst, das mehr aushaelt,
+dann geh zum Para-blindfisch.
+Auf jeden Fall hab ich endlich mal wieder
+jemand in mein Gebiet gelockt,
+und das war ja der sinn der uebung. :-)
+
+Baboon
+
+-----------------------------------------------------------------------------
+
+
+
+Scriptende Feuerpriester? (Boing, 13. Feb 2000, 16:22:18):
+Gelegentlich ist das Problem aufgetreten, dass Feuerpriester oder
+Feuermagier in der neuen FE ploetzlich angefangen haben, wie wild
+Getraenke in sich reinzuschuetten, obwohl sie eigentlich nur eins
+pro Kampfrunde zu sich nehmen sollten. Falls dieses Verhalten in
+Zukunft noch auftritt, dann sagt mir bitte Bescheid.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Scriptende Feuerpriester? (Tarina, 13. Feb 2000, 17:24:41):
+~#! rn=Boing rt=950455338 rg=d.gebirge
+~#! tid=950455338
+loescht Du sie dann auch?
+
+Tarina
+
+-----------------------------------------------------------------------------
+
+
+
+Nicht bekannt gegebene Aenderung (Boing, 15. Feb 2000, 14:12:24):
+Wie ich gehoert habe, haben sich einige Leute darueber aufgeregt, dass ich
+meine juengste Aenderung in der SSP nicht bekanntgegeben habe. Mich wuerde
+aber nun wirklich interessieren, WIESO ich sie haette bekanntgeben sollen?
+Denn:
+a) Die Spieler die das Feature sehr haeufig benutzen, merken es ohnehin
+   gleich ohne dass ihnen dabei Gefahr droht.
+b) Die Spieler die das Feature gelegentlich benutzen, merken keinen 
+   Unterschied.
+c) Die Spieler die das Feature nicht kennen, kennen es weiterhin nicht,
+   was durchaus gewollt ist.
+
+Ich moechte jetzt keine Diskussion darueber, ob die Aenderung gut/laengst
+ueberfaellig/beschissen ist, sondern nur meine oben gestellte Frage sinnvoll
+beantwortet haben.
+
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Nicht bekannt gegebene Aenderung (Gnome, 15. Feb 2000, 16:36:00):
+~#! rn=Boing rt=950620344 rg=d.gebirge
+~#! tid=950620344
+ohne (wie von dir gewuenscht) jetzt auf eine wertung der aenderung
+einzugehen, sag ich mal folgendes:
+- es besteht hier i.a. eine recht grosses kommunikationsdefizit nicht
+  nur zwischen erzies und anderen (gut, das soll aber eure sache sein),
+  sondern auch (was ich sehr schade finde) zwischen magiern und
+  spielern/sehern. solch ein nicht-informieren schueren i.a. nur geruechte
+  und tragen nicht unbedingt zum abbau des o.g. defizits bei...
+  in diesem speziellen fall mag das wirklich nicht so schlimm sein, aber
+  es ist mitlerweile zur gewohnheit geworden, die spieler ueber
+  neuerungen und/oder aenderungen im unklaren zu lassen.
+  nicht immer, aber immer oefter.
+  so geschehen beim neuen lichtsystem, bei dem es nicht mal halb so viel
+  geschrei gegeben haette, wenn irgendein verantwortlicher uns mal
+  ordentlich und rechtzeitig informiert haette.
+
+- ein kurzer artikel in der mpa a la  "ich hab da was geaendert. nicht,
+  dass ihr euch wundert" oder "der weghier ist haerter geworden, vorsicht!"
+  reichen doch voellig aus und finden bestimmt auch eine breitere
+  akzeptanz als nach wochen ueber 3 ecken verlauten zu lassen,
+  dass man entgegen aller geruechte doch was geaendert hat.
+
+fazit: redet mit uns und wir verstehen euch auch. und das nicht nur optisch :)
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Nicht bekannt gegebene Aenderung (Neb, 16. Feb 2000, 12:47:19):
+~#! rn=Boing rt=950620344 rg=d.gebirge
+~#! tid=950620344
+Boing schrieb:
+>Ich moechte jetzt keine Diskussion darueber, ob die Aenderung
+>gut/laengst ueberfaellig/beschissen ist,
+
+Witzig, dass Du es erwaehnst, Boing, denn bei den ersten beiden der drei
+Moeglichkeiten wuerde ich sofort ein dickes "JA" ankreuzen.
+Ist die Aenderung eigentlich nur erfolgt, damit Muadib nicht demnaechst alle
+Leute loeschen muss, die eine Endlostanke, die seit einem Jahr in Deinem
+Gebiet existiert, ausnutzen?
+Aber ich will ja nicht diskutieren.....
+
+Gruss, Neb.
+
+P.S.: Nein, so "harte" Blockmonster wie Titanwalze oder Eisriese waren fuer
+mich nie ein Argument fuer die Berechtigung einer Endlostanke.
+P.P.S.: Besonders weil sie nach meinen Erfahrungen sowieso hoechstens alle 20
+Tankgaenge einmal auftauchen.
+P.P.P.S.: Ich wage ja gar nicht danach zu fragen, aber muessen jetzt alle
+Kampfzwerge, die den Kriegshamster benutzen, um ihr Leben zittern? Die
+muessten doch auch merken, dass eine schwere Beschaffbarkeit bei den
+momentanen Uptimes keine so gute Daseinsberechtigung darstellt, oder?
+P.P.P.P.S: Go, Muadib, go !!! ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Nicht bekannt gegebene Aenderung (Lug, 17. Feb 2000, 02:34:28):
+~#! rn=Boing rt=950620344 rg=d.gebirge
+~#! tid=950620344
+
+Also Boing: Dann haettest Du die Frage nicht in der MPA stellen sollen!
+
+Sinnvoll? Wo sind wir denn hier?
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Drakonierfestung (Morgoth,  8. Mar 2000, 09:25:35):
+Hiho,
+
+wer die Festung betritt wird einige Aenderungen erleben, die die Namen der
+Drakonier betreffen. Diese wurden aus rechtlichen Gruenden geaendert. Wundert
+Euch nicht, wenn Euch bis zum Reboot NPCs/Details/Objekte mit verschiedenen
+Namen ueber den Weg laufen.
+Wer NACH dem Reboot noch "alte" Namen findet meldet sich bitte per Mail an
+mich mit genauer Beschreibungdes "Typos".
+
+Morgoth
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Drakonierfestung (Lug,  8. Mar 2000, 23:52:44):
+~#! rn=Morgoth rt=952503935 rg=d.gebirge
+~#! tid=952503935
+
+Hm?
+
+rechtliche Gruende klingt interessant. Erlaeuter mal, hat Dich TSR verklagt?
+
+Interessiert
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Drakonierfestung (Boing,  9. Mar 2000, 08:24:06):
+~#! rn=Lug rt=952555964 rg=d.gebirge
+~#! tid=952503935
+Nein, hat sie nicht. Allerdings habe ich kuerzlich erfahren, dass sie
+wohl scharf hinter Copyright-Verletzungen in Muds her sind und teilweise
+auch Muds deswegen schon ausraeuchern. Und das muss man ja nicht
+unbedingt riskieren.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Drakonierfestung (Wargon,  9. Mar 2000, 18:11:00):
+~#! rn=Boing rt=952586646 rg=d.gebirge
+~#! tid=952503935
+Betrifft das auch Bezeichnungen wie "Hobbit"? In ADoM sind vor einiger Zeit
+aus aehnlichen Gruenden die Hobbits durch Hurthlings ersetzt worden...
+  Wargon
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Drakonierfestung (Sting,  9. Mar 2000, 18:12:54):
+~#! rn=Wargon rt=952621860 rg=d.gebirge
+~#! tid=952503935
+DANN koennte man ja so ziemlich alles aendern....
+
+Sting
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Drakonierfestung (Deepblue, 10. Mar 2000, 10:34:43):
+~#! rn=Sting rt=952621974 rg=d.gebirge
+~#! tid=952503935
+Darf ich mir jetzt den Namen Mensch registrieren lassen und alle anderen
+verklagen?
+DeepBlue->schmarrn();
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Drakonierfestung (Pilgrim, 10. Mar 2000, 21:31:10):
+~#! rn=Deepblue rt=952680883 rg=d.gebirge
+~#! tid=952503935
+> Darf ich mir jetzt den Namen Mensch registrieren lassen und alle anderen
+> verklagen?
+Sicher ... das geht bestimmt fuer ein paar Monate gut ...
+wie mit "WebSpace" ... ist der Begriff MUD eigentlich noch
+zu haben?
+
+Pilgrim
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Drakonierfestung (Nevok, 10. Mar 2000, 21:35:39):
+~#! rn=Pilgrim rt=952720270 rg=d.gebirge
+~#! tid=952503935
+Also in Bezug auf was man alles machen kann sag ich nur Amazon....
+http://nowebpatents.org/
+Die haben sich ganz schlau die ecommerce mit 'Oh, wir setzen einen Cookie in
+den Browser, das macht das bestellen einfacher" patentieren lassen.
+Oder die neue copyright Aenderung, wonach der Kuenstler nach 35 Jahren NICHT
+mehr das copyright an seinem Werk zurueckkriegen kann...ne das is jetzt Work
+made for hire und gehoert mit der veroeffentlichung ganz dem
+Plattenlabel....da sind ein paar Leute nicht so entzueckt von...
+
+Nevok
+
+-----------------------------------------------------------------------------
+
+
+
+kleine Aenderung (Wim, 10. Mar 2000, 21:56:15):
+Nur damit keiner glaubt, ich haette nicht gewarnt. Personen die in der
+Vergangenheit einen bestimmten Bug bei einem meiner Objekte ausgenutzt haben
+statt ihn zu melden werden sich nun ueber ein kleines die() an der Stelle
+freuen duerfen.
+
+Ihr seit gewarnt...
+
+-----------------------------------------------------------------------------
+
+
+
+Re: kleine Aenderung (Vector, 10. Mar 2000, 22:00:01):
+~#! rn=Wim rt=952721775 rg=d.gebirge
+~#! tid=952721775
+
+Wie waere es denn, wenn du das entsprechende Objekt einfach ausbauen wuerdest.
+So wies jetzt ist, wuerde ich auch gezappt werden, wenn ich den "bug"
+entdecke,
+wenn ich am forschen bin? (was Jof verhindern moege:) )
+
+--Vector--
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: kleine Aenderung (Wim, 10. Mar 2000, 22:20:32):
+~#! rn=Vector rt=952722001 rg=d.gebirge
+~#! tid=952721775
+Da habe ich durchaus einige zusaetzliche Abfragen drin. Unschuldig stirbt da
+keiner.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: kleine Aenderung (Vanion, 11. Mar 2000, 00:38:02):
+~#! rn=Wim rt=952721775 rg=d.gebirge
+~#! tid=952721775
+Und da soll noch einer sagen, Magier haetten keinen Humor.
+
+Ich find das lustig ;-)
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Drakonierfestung (Rardian, 13. Mar 2000, 12:41:23):
+~#! rn=Morgoth rt=952503935 rg=d.gebirge
+~#! tid=952503935
+Hm...
+waer ich jetzt Spieler, wuerde ich hellhoerig werden, wenn Du von _dem_ Reboot
+sprichst. Wann issn der? Oder hab ich den vielleicht verpasst?
+Ich sollte mich wohl doch wieder mehr um meinen Zweitie kuemmern...
+
+Rar, angsterfuellt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Drakonierfestung (Taragon, 29. Mar 2000, 19:49:31):
+~#! rn=Boing rt=952586646 rg=d.gebirge
+~#! tid=952503935
+TSR ? Haben die was mit FanPro zu tun ?
+
+-----------------------------------------------------------------------------
+
+
+
+Drakonierfestung (Boing, 19. Apr 2000, 16:02:33):
+Hi,
+die Drakonierfestung ist wegen massiven Fehlern voruebergehend abgehaengt,
+bis Morgoth die Fehler beseitigt hat.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Drakonierfestung (Lug, 20. Apr 2000, 02:44:07):
+~#! rn=Boing rt=956152953 rg=d.gebirge
+~#! tid=956152953
+
+Also wirklich Boing
+
+Das war jetzt auch nur Zweizeiler von Dir.
+
+Tss tss
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+SSP (Boing, 22. Apr 2000, 16:36:39):
+Rummmmmms!
+
+-----------------------------------------------------------------------------
+
+
+
+Re: SSP (Menace, 22. Apr 2000, 16:37:59):
+~#! rn=Boing rt=956414199 rg=d.gebirge
+~#! tid=956414199
+Wieder mal _sehr_ informativ! ;o)
+
+Menace *nicht schlauer als vorher*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: SSP (Rardian, 23. Apr 2000, 01:42:07):
+~#! rn=Menace rt=956414279 rg=d.gebirge
+~#! tid=956414199
+Sicher sind ein oder zwei Ebene eingestuerzt... War doch klar, dass die
+Glasebene die ganzen Ebenen ueber ihr nicht ewig wird halten koennen, oder?
+
+Rar.
+
+-----------------------------------------------------------------------------
+
+
+
+Windteufel (Boing, 25. Apr 2000, 19:10:24):
+Hi,
+ich hatte vergessen dem Windteufel ein paar XP mitzugeben, dadurch gab
+er bisher keinen Stups. Ist gefixed.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Windteufel (Wim, 27. Apr 2000, 10:27:29):
+~#! rn=Boing rt=956682624 rg=d.gebirge
+~#! tid=956682624
+ADDNPC: (...) /windteufel (...) Die, 25. Apr 2000, 19:19:06 (...)
+
+Neun Minuten nach der Meldung bereits tot gewesen.... :)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Festung (Morgoth, 30. Apr 2000, 16:58:46):
+Hiho, 
+die Festung sollte jetzt wieder begehbar sein. Falls doch noch irgendwo durch
+die Umstellung Fehler eingeschlichen sind, bitte sofort per Mail an mich. 
+
+M* wuenscht froehliches Sterben ;-))
+
+-----------------------------------------------------------------------------
+
+
+
+Es geschehen noch Zeichen und wunder! (Baboon,  7. Jun 2000, 13:22:02):
+Kaum zu glauben aber wahr: Hinter dem Bach geht es jetzt
+endlich weiter. Allerdings (vorerst) nur sieben Raeume weit.
+Weitere sieben sind zu 50% fertig. Eigentlich wollte ich die
+Raeume schon letzte Woche dranhaengen, aber da ist mir die
+Einweihungsfeier fuer meine neue Graphikkarte dazwischen-
+gekommen (3 Tage Quake :-)
+Wer jetzt nicht weiss welcher Bach gemeint ist kann sich
+sicher sein, nicht alles von meinem Gebiet zu kennen.
+Da heisst es dann suchen. Sooo schwer ist das doch nicht
+zu finden.
+
+BaBOOn
+
+ps: viele gruesse an eine gewisse durstige Person. :-)
+
+pps: Und nehmt euch vor dem neuen Monster in Acht!
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Es geschehen noch Zeichen und wunder! (Baboon,  7. Jun 2000, 13:30:49):
+~#! rn=Baboon rt=960376922 rg=d.gebirge
+~#! tid=960376922
+Argl. kommando zurueck. wim meint ich muss den Kram erstmal meinem RM zumuten.
+
+Baboon (vergesslich)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Es geschehen noch Zeichen und wunder! (Ark,  7. Jun 2000, 21:49:30):
+~#! rn=Baboon rt=960377449 rg=d.gebirge
+~#! tid=960376922
+Danke Baboon. Warum? Ich dachte, ich waere der einzige Depp, der sich mit
+voreiligen Jungspunden rumaergern muesste :-)
+
+Aber ernsthaft: warum seid ihr (beliebigen eifrigen Schreiberling) denn immer
+so schusselig? Gebt Euch doch mal einen Ruck und lasst das wirklich
+durchschauen, bevor ihr wieder unnoetigen Aerger lostretet. Kann euren Sachen
+nur Vorteil bringen.
+So, das war das Wort zum Sonntag, ich konnte nicht widerstehen ;^)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Es geschehen noch Zeichen und wunder! (Hight,  7. Jun 2000, 22:23:51):
+~#! rn=Ark rt=960407370 rg=d.gebirge
+~#! tid=960376922
+*g* sorry ark abba ich kann auch net wiederstehen ,o)
+
+warum schreibst du das net in eine der diversen magier rubriken ?
+
+hight nicht wiederstehend
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Es geschehen noch Zeichen und wunder! (Tsunami,  7. Jun 2000, 22:27:05):
+~#! rn=Ark rt=960407370 rg=d.gebirge
+~#! tid=960376922
+Ich will mich von ganzem Herzen Ark und Wim anschliessen:
+Es gibt klare Spielregeln, was das Anschliessen von neuen Gebieten (und sei
+es auch nur ein einziger neuer Raum) angeht. Wir haben in diesem Sinne vor
+einiger Zeit auch einen Leitfaden geschrieben, der in Zukunft an alle
+Neumagier automatisch verschickt wird (*zwinger zu Tiamak*).
+
+Leider gibt es immer wieder 'Missverstaendnisse' und auch dreiste Magier,
+die meinen, sich ueber alle Regeln hinweg setzen zu koennen. 
+
+Nun, nehmt euch in Acht! :) Die Strafpalette reicht von Spielpause bis zum
+kompletten Abhaengen des entsprechenden Gebietes. 
+
+Das das mal wieder klar gesagt wurde, auch wenns nicht unbedingt in der
+richtigen Rubrik steht.
+
+Tsunami, der schon (zu)viel mitgemacht hat in .polar
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Es geschehen noch Zeichen und wunder! (Amaryllis,  7. Jun 2000, 23:10:48):
+~#! rn=Tsunami rt=960409625 rg=d.gebirge
+~#! tid=960376922
+Hi,
+
+auch wenn das ganze Thema und damit der Thread eigentlich eher in eine
+Magier-Rubrik gehoert:
+
+ich kann beide Seiten verstehen. Der (kleine) Magier haengt sich ran und will
+es endlich angeschlossen sehen, die Chefs wollen/muessen es natuerlich
+abnehmen und haben oft nicht die Zeit. ICH persoenlich kann mich nicht
+beschweren, was meine Abnahme angeht - dies ging wirklich sehr zuegig und
+nochmals dank an die Verantworlichen, auch wenn es bei mir wohl besagte
+"Missverstaendnisse" gab - aber ich kenne auch Faelle, die halt nach einiger
+Zeit etwas genervt waren, soviel Arbeit in ihr Projekt gesteckt zu haben, die
+dann ewig nicht angeschlossen wurde.
+Ich habe dafuer auch kein Patentrezept, aber es ist halt IMHO auch
+problematisch, gleich von "Spielpause", "Abhaengen des Gebietes" oder
+aehnlichem zu sprechen - obwohl es wohl die einzige Handhabe in solch einem
+Fall ist. Auf der anderen Seite foerdert es nicht gerade die Motivation des
+kleinen Magiers. Und da gibts in letzter Zeit einige, wie ich festgestellt
+habe, die wirklich motiviert sind und was zum Vergroessern/Verschoenern des
+MGs beitragen wollen.
+Und seien wir doch mal ehrlich. Wenn ich mir "alte" Sachen anschaue und dann
+damit vergleiche, was ich als Neumagier an Anforderungen in meinem GS
+verwirklichen muss, damit es ueberhaupt beurteilt und angehaengt wird, ist
+schon krass teilweise - da kann einem schon mal (so wie mir auch, zugegeben)
+ein Fehler unterwegs unterlaufen.
+
+Amaryllis, kann beide Seiten verstehen, ist froh, dass ihr GS mittlerweile
+einigermassen korrekt ist, und hat im uebrigen jetzt ausgesabbelt :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Es geschehen noch Zeichen und wunder! (Ark,  7. Jun 2000, 23:11:38):
+~#! rn=Hight rt=960409431 rg=d.gebirge
+~#! tid=960376922
+Weil das etwas ist, was durchaus allgemein bekannt sein darf, das ist ja kein
+Magiergeheimnis. Ich habe das auch nicht geschrieben, um jemanden persoenlich
+runterzumachen, sondern nur um altklug was loszulassen :-)
+Es soll ja auch Spieler geben, die einen als "Spielverderber" oder so ansehen,
+wenn man sowas ahndet. Soll ja schon vorgekommen sein. Also muss man doch fuer
+Verstaendnis fuer uns arme Deppen werben, oder?
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Es geschehen noch Zeichen und wunder! (Tsunami,  7. Jun 2000, 23:16:29):
+~#! rn=Amaryllis rt=960412248 rg=d.gebirge
+~#! tid=960376922
+Hi Ama*,
+
+je nach Situation kann eine sofortige Spielpause angebracht sein.
+Was wir hier machen, kommt dem MG als Ganzem zugute. Wer das nicht einsehen
+will, ist tatsaechlich fehl am Platz.
+
+Fehler passieren, aber es gibt eine Grenze, was noch als 'Missverstaendniss'
+gelten kann.
+
+Des weiteren aendert sich das MG laufend (was es letztendlich auch so 
+spannend und interessant macht) und somit aendern sich auch die Anforderungen.
+
+Tsunami.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Es geschehen noch Zeichen und wunder! (Ark,  7. Jun 2000, 23:18:12):
+~#! rn=Amaryllis rt=960412248 rg=d.gebirge
+~#! tid=960376922
+Also da will ich aber widersprechen. Eigenmaechtiges Anschliessen wird nicht
+durch mangelnde Zeit derjenigen rechtfertigt, die formal dazu nicken muessen.
+Ausserdem meine ich, dass ein Gebiet besser ankommt, je mehr Leute
+drueberschauen. Und ein bisschen Geduld muss man dazu schon mitbringen, oder?
+Ich setze mich mehr fuer ein gruendlich getestetes Gebiet/Quest ein, dass nach
+3 Monaten angeschlossen wird, als ein
+"Heichbinfertigjetztkoennenwiranschliessenwannhastduzeitmorgenwiesonichtdannma
+chichselbst" Gebiet.
+Wobei ich gerne zugebe, dass ich meinem Pappy auf dem Schoss sass, bis er mein
+erstes Werk anschloss (ca. 4 Monate nach Fertigstellung).
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Es geschehen noch Zeichen und wunder! (Amaryllis,  7. Jun 2000, 23:24:31):
+~#! rn=Ark rt=960412692 rg=d.gebirge
+~#! tid=960376922
+hm so war das nicht gemeint, scheint falsch ruebergekommen zu sein.
+
+Ich hab selbet monatelang an meinem GS gebastelt, Objekte ausgearbeitet und
+mit Details verschoent, die wohl kaum einer untersuchen wird *lall*. Und dass
+sowas angeschaut werden muss ,weiss ich auch, aber um zum Anfangspunkt
+zurueckzukommen: Da kommt ein Magier wie Baboon, der ewig lang nicht mehr da
+war, wieder ins Mud und programmiert was, und haengt es auch gleich an - kann
+man ihn deshalb verurteilen? Gut, er haette sich erst mal umhoeren koennen was
+in seiner Abwesenheit passiert ist, aber auf der anderen Seite passiert im MG
+so viel und aendert sich auch so viel, dass man wirklich recht bloed dasteht,
+wenn man (z.b. so wie ich 4 Monate) Spielpause hatte.
+
+Ama, will ja nur fuer etwas mehr Fingerspitzengefuehl in dieser Angelegenheit
+werben.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Es geschehen noch Zeichen und wunder! (Tsunami,  7. Jun 2000, 23:26:53):
+~#! rn=Amaryllis rt=960413071 rg=d.gebirge
+~#! tid=960376922
+Baboon ist vollwertiger Regionsmitarbeiter und sollte genaustens wissen,
+was das Anschliessen von neuen Raeumen angeht. Die Regel, dass der RM sich
+das erst mal anschaut, existiert schon eine Weile laenger. Da gibts keine
+Diskussion.
+
+Tsunami, den Kopf schuettelnd
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Es geschehen noch Zeichen und wunder! (Ark,  7. Jun 2000, 23:29:27):
+~#! rn=Tsunami rt=960413213 rg=d.gebirge
+~#! tid=960376922
+Macht den Armen net fertig :-)
+Ich wollte ja jetzt keinen Thread entfachen, aber das wird doch einer ...
+oder?
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Es geschehen noch Zeichen und wunder! (Tsunami,  7. Jun 2000, 23:36:11):
+~#! rn=Ark rt=960413367 rg=d.gebirge
+~#! tid=960376922
+Diese Diskussion ist ein gutes Beispiel, was die differenzierte 'Auslegung'
+einer klaren Regel angeht: 'ach ich war lange nicht mehr da, ich habs
+vergessen', 'ach, das war doch nur ein winzig kleines Missverstaendniss'...
+
+LEUTE!!!! (damit mein ich die Magier) Als Regionsmitarbeiter hat man Rechte,
+aber auch Pflichten. Die muessen befolgt werden. In den entsprechenden
+Verzeichnissen der einzelnen Gebiete liegen Anforderungstexte, es gibt eine
+sehr gute Hilfeseite (hilfe magier, hilfe regionsmagier), die upgedated wird,
+damit eben genau neue Spielregeln kommuniziert werden koennen.
+
+Das Argument 'Wusst ich nicht' zaehlt hier einfach nicht.
+
+Tsunami, leicht genervt
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Es geschehen noch Zeichen und wunder! (Amaryllis,  7. Jun 2000, 23:38:18):
+~#! rn=Tsunami rt=960413771 rg=d.gebirge
+~#! tid=960376922
+ich bin ja schon ruhig.
+
+Ama, hat ihre (unmassgebliche) Meinung eingeworfen und haelt nu ihre
+Feenfresse.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Es geschehen noch Zeichen und wunder! (Hood,  7. Jun 2000, 23:42:52):
+~#! rn=Tsunami rt=960413771 rg=d.gebirge
+~#! tid=960376922
+aeh, hallo...welche rechte bitte schoen hat ein magier, egal ob R oder E
+davorsteht?! ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Es geschehen noch Zeichen und wunder! (Tsunami,  7. Jun 2000, 23:43:00):
+~#! rn=Tsunami rt=960413771 rg=d.gebirge
+~#! tid=960376922
+Ich schreib das noch, damit die Mudder verstehen, warum ein Gebiet abgenommen
+werden muss:
+
+Aufgaben des RM (steht in der manpage):
+* Generell gilt: ERST testen, dann anschliessen.
+* Logik beachten!
+* Syntax von Befehlen beachten, kann der Spieler draufkommen?
+* Objekte pruefen, genaueres siehe unten beim Punkt Balance.
+ 
+Diese Punkte sprechen wohl fuer sich. Des Weiteren muessen Forscherpunkte
+eingetragen werden, die NPCs bekommen die richtige Anzahl Killstupse, die
+Balance muss Waffen/Ruestungen/Objekte genehmigen. 
+
+Und erst wenn diese Schleifen durchlaufen wurden, wird das Gebiet
+angeschlossen.
+
+Das hoert sich nun nach viel Buerokratie an, ist es auch, aber nur so kann
+auf Dauer eine ausbalancierte Spielwelt garantiert werden.
+
+Ich denke, das sollte einsichtig genug sein.
+
+Und ich denke, ihr koennt euch vorstellen, was auf die Dauer mit unserem
+MorgenGrauen passiert, wenn eingenmaechtig (->illegal) Sachen angeschlossen
+werden.
+
+Tsunami
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: Es geschehen noch Zeichen und wunder! (Lug,  7. Jun 2000, 23:48:11):
+~#! rn=Hood rt=960414172 rg=d.gebirge
+~#! tid=960376922
+
+Definitiv zuviele, Hood.
+
+Kurz und schlecht
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: Es geschehen noch Zeichen und wunder! (Sorcerer,  8. Jun 2000, 00:02:05):
+~#! rn=Hood rt=960414172 rg=d.gebirge
+~#! tid=960376922
+Ich denke, die Moeglichkeit, die Spielwelt mitzuerweitern, ist ein sehr
+schoenes Recht (oder vielleicht besser: Privileg) und offensichtlich gibt es
+ja viele Leute, die dieses Recht gerne nutzen. Gezwungen wird schliesslich
+niemand, Magier zu werden und noch viel weniger, etwas zu proggen, wenn er
+nicht will...
+
+Sorcerer 
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: Es geschehen noch Zeichen und wunder! (Hood,  8. Jun 2000, 00:03:51):
+~#! rn=Sorcerer rt=960415325 rg=d.gebirge
+~#! tid=960376922
+hey, das war ja schleimiger als das ausuferndste applausheischende gesuelze
+in einer maessigen nachmittagstalkshow...fein gemacht ;)
+sonntag ist heut aber noch nich, wenn es das wort zu selbigem sein sollte.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^13: Es geschehen noch Zeichen und wunder! (Tsunami,  8. Jun 2000, 00:10:43):
+~#! rn=Hood rt=960415431 rg=d.gebirge
+~#! tid=960376922
+OK, ich kann es auch anders formulieren:
+
+wer sich nicht an die Regeln haelt, muss die Konsequenzen tragen.
+
+Tsunami
+
+-----------------------------------------------------------------------------
+
+
+
+Re^14: Es geschehen noch Zeichen und wunder! (Zarniya,  8. Jun 2000, 11:45:22):
+~#! rn=Tsunami rt=960415843 rg=d.gebirge
+~#! tid=960376922
+hmmm ich denke, dass man bei dieser Regel wirklich ein wenig differnezieren
+muss. Sicher sollte ein neues Gebiet gruendlich getestet werden, wenn es was
+groesseres ist. Was ist aber, wenn cih einen schon angeschlossenen Teil
+einfach nur um ein paar Dinge erweitern will? Ich glaub nicht, dass das dann
+gross getestet werden muss, sowas ist auch nie wirklich getestet worden und
+wer das gegenteil behauptet, der luegt. ich denke, dass es im Ermessen des
+Proggers liegt, ob er seine Sachen der Balance vorlegt. Damit meine ich nicht,
+dass man einfach supersachen anschliessen sollte, aber als ich damals mein
+Anfaengergebiet geproggt habe, und da waren nur simple Objekte drin, dann muss
+man das nciht melden... 
+
+Was ich damit sagen will ist, dass nicht alles generell testwuerdig ist und
+deswegen diese Regel des Testens individuell behandelt werden muss. 
+
+Marc
+
+-----------------------------------------------------------------------------
+
+
+
+Re^14: Es geschehen noch Zeichen und wunder! (Gloin,  8. Jun 2000, 11:47:46):
+~#! rn=Tsunami rt=960415843 rg=d.gebirge
+~#! tid=960376922
+Tsunami, Du hoerst Dich an wie ein Beamter. Gibt es einen Schutzparagraphen
+gegen Dich? Soviel ich weiss, sind die Regeln fuer den Anschluss von
+Gegenden, gerade weil Magierwerdung/-schaffen auf Freiwilligkeit be-
+ruhen auch mal etwas schwammiger gewesen, je nach Aktivitaet der oberen
+Raenge der Hierarchie. Dementsprechend locker kann man das auch ein paar
+mal sehen, nicht? Als wenn Baboon einen Narya II angehaengt haette ...
+
+Gloin aka Gloinson aka Leonidas@RB
+
+-----------------------------------------------------------------------------
+
+
+
+Re^15: Es geschehen noch Zeichen und wunder! (Teddy,  8. Jun 2000, 17:38:19):
+~#! rn=Zarniya rt=960457522 rg=d.gebirge
+~#! tid=960376922
+Bezueglich Vorlage bei der Balance gibt's klare Richtlinien, die jeder Magier
+mittels 'man balance' nachlesen koennen duerfte. (Bin kein Magier, kann's also
+nicht beschwoeren, bin aber ziemlich sicher) ;)
+
+Da gibt es kein Ermessen.
+Sollte jemand der Meinung sein, dass etwas da nciht drinsteht oder es
+uebersehen haben, kriegt er allerdings voellig unbuerokratisch ne kurze
+Message, dass er dieses Teil nicht genehmigen muss.
+
+Teddy
+
+-----------------------------------------------------------------------------
+
+
+
+Re^15: Es geschehen noch Zeichen und wunder! (Ark,  8. Jun 2000, 21:23:56):
+~#! rn=Zarniya rt=960457522 rg=d.gebirge
+~#! tid=960376922
+Einspruch Euer Ehren, auch hier gibt es genuegend Beispiele fuer
+unrechtschreibverseuchten Gebieten, die recht fix angeschlossen wurden. Mag
+sein, dass einige der Meinung sind, dass ich mich da an Kleinigkeiten
+aufgeile, aber fuer ein gelungenes Gebiet bin ich als RM mitverantwortlich,
+und dann will ich zumindest, dass es auch einen vernuenftigen Eindruck macht.
+Achtung Polemik!
+Wie wuerde Dir so ein "fixmalangeschlossener Problemlosraum" gefallen?
+
+Du stehsd in einem grosen Loch. Um Dich herum
+ist nur schwaerze. Hoffentlich kommst du hier bald heraus
+Es gibt keine sichtbaren Ausgaenge.
+
+<unt loch>
+Sowas siehst Du hier nicht!
+
+<unt schwaerze>
+Die vollkommeneSchwaerze um Dich herum ist recht dunkel man koennte sogar
+sagen dass sie undurchdringlich ist.
+
+<unt boden>
+Sowas siehst Du hier nicht!
+
+<kotze>
+Wie bitte?
+
+... etc. etc.
+Ich beharre also auf eine Abnahme keinesfalls (nur) wegen problematischer
+NPCs, Objekte oder sonstigen allgemeinem Klamauk, der immer Geschrei in der
+MPA hinter sich herzieht, sondern gerade wegen Nullachtfuffzehn Dingern, die
+leider bei einigen immer etwas in den Hintergrund treten, z.B. Optik,
+Fehlerfreiheit, Beschreibungen, etc.
+Ich bin da auch nicht immer fehlerfrei, deshalb schrei ich auch immer nach
+Testern. Wir wollen doch Qualitaet, nicht noch mehr Gebiete, die quasi nie
+geladene Raeume enthalten, weil kein Schwein hingeht. Oder besteht die
+Meinung, dass sich aufgrund der Regeln die Gebiete neueren Datums nicht
+qualitaetsmaessig gegenueber aelteren abheben (kein Vorwurf an die Schreiber
+der aelteren Gebiete! :-) ) ?
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Im Gebirge ruehrt sich was... (Lyra, 15. Jun 2000, 14:28:16):
+~#! rn=Zephyr rt=961071881 rg=d.gebirge
+~#! tid=961071881
+Was?
+
+Lyra nun wirklich einzeilig
+
+-----------------------------------------------------------------------------
+
+
+
+Es ruehrt sich was ... (Zephyr, 15. Jun 2000, 14:28:32):
+i.A. C4 (auf Wunsch noch kuerzer)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Im Gebirge ruehrt sich was... (Karis, 15. Jun 2000, 14:29:08):
+~#! rn=Lyra rt=961072096 rg=d.gebirge
+~#! tid=961071881
+Takal'Mor Lyra, nachucken gehen und Bericht verfassen.
+Karis.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Im Gebirge ruehrt sich was... (Lyra, 15. Jun 2000, 14:32:46):
+~#! rn=Karis rt=961072148 rg=d.gebirge
+~#! tid=961071881
+*gruebel* An welchen Gra'Takal kann ich die Aufgabe deligieren?
+
+Lyra prueft ihre Liste
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Im Gebirge ruehrt sich was... (Nevok, 16. Jun 2000, 00:44:50):
+~#! rn=Lyra rt=961072366 rg=d.gebirge
+~#! tid=961071881
+deligieren an gar keinen
+
+Nevok prueft die nicht vorhandene Rechtschreibfunktion.
+
+-----------------------------------------------------------------------------
+
+
+
+*RUMMS* (Paracelsus, 21. Aug 2000, 09:56:55):
+Du rufts: Baum faellt!
+Du hoerst einen erschreckten Aufschrei.
+Der Baum faellt mit einem lauten *RUMMS* zu Boden.
+Ein Dunkelzwerg taucht vor Dir auf.
+Der Dunkelzwerg sagt: Pass' doch auf!
+Und schon ist er wieder verschwunden.
+
+Einige Minuten spaeter ...
+
+Mak'limur teilt Dir mit: Ah, wo ich Dich gerade antreffe ... Du hattest mir
+Mak'limur teilt Dir mit: doch mal was versprochen ... wegen dem Problem,
+Mak'limur teilt Dir mit: das wir haben ... Das war vor zwei Jahren!
+Du teilst Mak'limur mit: Oh je, fast vergessen. Ich sorge sofort dafuer,
+Du teilst Mak'limur mit: dass man euch hilft.
+Mak'limur teilt Dir mit: Oh, schoen. Danke!
+
+Baumfaeller Paracelsus.
+
+P.S.: Mein Dank geht an dieser Stelle an Zook, Silvana, Boing und Ketos.
+
+-----------------------------------------------------------------------------
+
+
+
+Umbauarbeiten (Silvana, 21. Sep 2000, 18:27:13):
+Salve
+
+Wegen Umbauarbeiten haben die normalerweise Stusenden NPCs des Cronoertals
+derzeit keine Erfahrung und stupsen daher nicht. Das wird sich allerdings
+hoffentlich bald aendern.
+
+  Silvana
+
+-----------------------------------------------------------------------------
+
+
+
+Cronoertal (Silvana, 25. Sep 2000, 11:45:17):
+Salve
+
+Die Umbauarbeiten sind weitgehend abgeschlossen. Es sollte bis auf die
+Seherhaeuser alles funktionieren.
+
+  Silvana
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Cronoertal (Wurzel, 25. Sep 2000, 18:38:05):
+~#! rn=Silvana rt=969875117 rg=d.gebirge
+~#! tid=969875117
+die seherhaeuser ziehen demnaechst um. ich hoffe, noch in dieser woche (zur
+not gibt es ja noch icafes, wenn nix anderes geht).
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Cronoertal (Wurzel,  1. Okt 2000, 11:28:56):
+~#! rn=Wurzel rt=969899885 rg=d.gebirge
+~#! tid=969875117
+so, die seherhaeuser sind umgezogen. sollte eigentlich wieder alles normal
+funktionieren. wenn es probleme gibt, per mail bescheid sagen.
+
+wurzel geht jetzt wieder umzugskisten auspacken
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Cronoertal (Catweazle,  1. Okt 2000, 23:24:45):
+~#! rn=Wurzel rt=970392536 rg=d.gebirge
+~#! tid=969875117
+Ah. Umgezogen. Verstehe.
+NUn, das erklaert wahrscheinlich, warum ich neulich Bierchens 
+Seherhaus in der Abenteurergilde gefunden habe :)
+YTC
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Cronoertal (Silvana,  2. Okt 2000, 01:45:31):
+~#! rn=Catweazle rt=970435485 rg=d.gebirge
+~#! tid=969875117
+Unwahrscheinlich. Bierchen hatte nie nen Haus im Cronoertal.
+
+Silvana
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Cronoertal (Lug,  2. Okt 2000, 01:46:21):
+~#! rn=Silvana rt=970443931 rg=d.gebirge
+~#! tid=969875117
+
+Daran war wohl eher der verdammte Suff Schuld...
+
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Dem Thor sein Hammer ... (Paracelsus, 19. Okt 2000, 11:15:00):
+... ist punktetechnisch ein wenig reevaluiert worden.
+
+Paracelsus.
+
+P.S: An dieser Stelle einfach mal ein Dank an alle die, die sich aufgerafft
+     haben, die Quest-Mail zu beantworten :)
+
+-----------------------------------------------------------------------------
+
+
+
+Duesterdings (Feuerwehr,  8. Nov 2000, 19:51:39):
+Ahoi!
+
+Es gab Beschwerden, weshalb ein nicht naeher genannter Engels-NPC im
+Duesterwald nun unangreifbar ist. Dass ich unfair oder gemein sei, lass ich
+mir als Chaot gern nachsagen, aber nicht als Programmierer des Duesterwalds.
+
+Viele Gruesse, 112.
+
+-----------------------------------------------------------------------------
+
+
+
+Entdeckung gemacht! (Bambi, 10. Nov 2000, 00:16:40):
+Es hat wieder
+R U M M S ! ! !
+gemacht, dieses mal im Nordosten der Hochebene.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Drakonierfestung (Nonne, 17. Jan 2001, 11:54:52):
+Wagemutige Abenteurer haben sich in die Tiefen der Drakonierfestung gewagt und
+haben dabei einen bisher unbekannten Teil entdeckt. Nur wenige kamen zurueck,
+und was sie zu berichten hatten, kuendete von Tod und Verderben. Takhisis, die
+Drachengoettin ist in diese Welt gedrungen und trachtet nach der Herrschaft
+ueber das MorgenGrauen.
+
+Viel Spass
+Nonne & Morgoth
+
+P.S: Geht nicht alleine und nehmt Warnungen ernst (c;
+P.P.S: Takhisis ist zum groessten Teil von Morgoth geproggt und von Nonne
+entschaerft *g*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Drakonierfestung (Gor, 17. Jan 2001, 13:22:53):
+~#! rn=Nonne rt=979728892 rg=d.gebirge
+~#! tid=979728892
+Das wurde aber auch Zeit Takhisis ist ja bestimmt schon seit 2 Jahren fertig
+:)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Drakonierfestung (Morgoth, 17. Jan 2001, 13:23:52):
+~#! rn=Gor rt=979734173 rg=d.gebirge
+~#! tid=979728892
+Jajaja, schon laenger. Die gabs schon, als Silvana NOCH Zaubermeisterin war.
+Nur die Details fuer die Raeume *grins verlegen* Du weisst ja, das dauert ;-)
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Drakonierfestung (Montanus, 17. Jan 2001, 13:24:33):
+~#! rn=Morgoth rt=979734232 rg=d.gebirge
+~#! tid=979728892
+Wenn Takhisis nun fertig ist, heisst das, dass auch bald Taramis fertig ist?
+Das liegt doch auch im Gebirge, oder? ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Drakonierfestung (Gorog, 17. Jan 2001, 15:14:51):
+~#! rn=Montanus rt=979734273 rg=d.gebirge
+~#! tid=979728892
+Grrr haettet ihr das nicht vor ner Woche machen koennen... Nun hab ich schon
+mit BG2 angefangen.
+Naja ich hoffe man laesst mir noch etwas stehn (;
+
+MfGorog
+
+-----------------------------------------------------------------------------
+
+
+
+Drakonier (Morgoth,  5. Feb 2001, 11:20:41):
+Hi,
+
+aus "Wunsch" von Tiamak sind die laufenden Drakonier jetzt umgestellt. Es
+sollten jetzt auch die Anhaeufungen von Drakos am Tor behoben sein, obwohl ich
+immer noch nicht weiss woher die kamen...
+
+Bei Problemen also nicht wundern...das sind alles features (bis sie ausgebaut
+sind) ;-))
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Drakonierfestung (Morgoth,  2. Mar 2001, 10:39:54):
+Hiho, hiho, hiho,
+
+wie der gute alte Zwerg normalerweise sagen/singen wuerde, wenn er nicht
+kaesebleich aus der Drakonierfestung gefluechtet waere. Irgendwie war er
+wohl mal wieder auf der Suche nach Gold (was auch sonst) und hat dabei
+eine kleine Hoehle entdeckt. Dummerweise fand er dort kein Gold, sondern
+etwas ganz anderes. Leider war er so verstoert, dass er nur 'gesehen 
+sehen gesehen' stammelte.
+Was mag er wohl gesehen haben???
+
+Findet es heraus, wenn ihr Euch traut.
+
+Good luck and have a nice day @Lars
+
+Morgoth
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Drakonierfestung (Trauma,  3. Mar 2001, 18:21:24):
+~#! rn=Morgoth rt=983525994 rg=d.gebirge
+~#! tid=983525994
+In der Tat... sehr lustig da.
+
+Es ist dunkel, der Rueckweg ist nicht offensichtlich und irgendein Waechter
+schlaegte mit 4 Attacken die Runde auf einem rum, obwohl er nich im gleichen
+Raum steht oder sonst irgendeinen Hinweis gibt warum das passiert.
+
+
+Diverse Regionsmagier wuerden Dir was husten, Morgoth.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Drakonierfestung (Obi,  4. Mar 2001, 17:17:11):
+~#! rn=Trauma rt=983640084 rg=d.gebirge
+~#! tid=983525994
+Naja, zu dem nicht offensichtlichen Rueckweg kann ich nichts sagen, aber bei
+den Angriffen des nicht-Anwesenden kannst Du absolut sicher sein, dass das
+genau so sein soll.
+
+Obi - hat noch etwas Zeit bevor er das Gebiet erforschen wird.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Drakonierfestung (Morgoth,  5. Mar 2001, 09:14:01):
+~#! rn=Trauma rt=983640084 rg=d.gebirge
+~#! tid=983525994
+Ich glaube Boing ist mit einer der strengsten RMs. Sofern kannst Du den
+Hustensaft wieder einpacken. Dunkel isses nur, wenn Du kein richtiges Licht
+dabei hast und den Rueckweg hab ich entschaerft (erstmal).
+
+M*
+
+P.S.: Jammerlappen, Zauberer
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Drakonierfestung (Trauma,  5. Mar 2001, 10:58:25):
+~#! rn=Morgoth rt=983780041 rg=d.gebirge
+~#! tid=983525994
+Ok ... aber fuer Leute die Diablo 2 nicht kennen oder von irgendeinem
+Stammtisch von Deiner Idee wissen, ist es voellig undirchsichtig.
+Es waere schoen, wenn zu dieser Aura wenigstens steht, was sie fuer Schaden
+macht und von wo sie kommt.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Drakonierfestung (Morgoth,  8. Mar 2001, 21:47:39):
+~#! rn=Trauma rt=983786305 rg=d.gebirge
+~#! tid=983525994
+Jajajajajaja,
+
+Quengeltrine, man koennte meinen Du waerst son Zauberweichei.
+Die Meldungen sind nun etwas aussagekraeftiger.
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Bugfix (Morgoth, 19. Apr 2001, 11:42:53):
+Thanx to Gorog: Ein Bug in der Leiche der Borz zerstoerte die Objekte, auch
+wenn sie eigentlich im Raum liegen sollten. Das funzt nun.
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Festung usw. (Morgoth, 24. Apr 2001, 13:24:01):
+Es gibt eine kleine Aenderung auf Wunsch eines Einzelnen, bevor es zum Befehl
+vieler kommt.
+Merken werden es die Menschen-Kaempfer ;-))
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Daemonen in der SSP (Boing, 28. Mai 2001, 10:13:20):
+Die Daemonen der SSP sollten jetzt auch fuer Kleriker als solche zu
+erkennen sein. Danke fuer den Bug-Report!
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Es war da mal Adler ... (Tilly,  4. Jul 2001, 22:56:05):
+... der nicht so wollte wie er eigentlich sollte.
+
+Doch ich konnte ihn dazu ueberreden, dieses bockige Ver-
+halten aufzugeben und demzufolge funktioniert auch ein
+gewisser Zaubertrank wieder.
+
+ - Tilly -
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Es war da mal Adler ... (Roland,  8. Jul 2001, 02:56:10):
+~#! rn=Tilly rt=994280165 rg=d.gebirge
+~#! tid=994280165
+Also bei mir ging der adler zt ....auch vorher schon
+
+mfg ro**
+
+-----------------------------------------------------------------------------
+
+
+
+magietext (Bambi, 23. Jul 2001, 16:58:17):
+Oben genannte Faehigkeit wurde dank einiger Hinweise etwas erweitert. Wem bei
+der Benutzung seltsame Sachen (bezueglich der Nutzung) auffallen, der soll mir
+dies bitte mit einer Beschreibung des "Bugs" mailen.
+An dieser Stelle noch vielen Dank an alle, die bisher (konstruktive) Kritik an
+den angeschlossenen Sachen geuebt haben.
+MfG, Bambi.
+
+-----------------------------------------------------------------------------
+
+
+
+Unique Steine (Boing, 14. Aug 2001, 18:04:37):
+Hallo,
+nachdem ich in naeherer Zukunft wahrscheinlich nicht dazu komme, den
+Steinen das schmerzlich vermisste Rotationsprinzip aufzudruecken, habe
+ich mich entschlossen, sie temporaer aus dem Spiel zu nehmen. Haette ich
+eigentlich wesentlich frueher tun sollen. In der Theorie (d.h. in meinem
+Kopf) ist das Konzept dafuer eigentlich fertig, es erfordert allerdings
+einen nicht unerheblichen Programmieraufwand. Die Steine werden irgendwann
+wieder dran kommen, schliesslich sind ja auch meine Quest-Plaene dafuer
+noch nicht zu den Akten gelegt. :)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Unique Steine (Zook, 14. Aug 2001, 18:06:00):
+~#! rn=Boing rt=997805077 rg=d.gebirge
+~#! tid=997805077
+Ja, auf die Quest freue ich mich.... :-)
+
+Zook zwinkert Boing zu.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Unique Steine (Padreic, 14. Aug 2001, 18:30:35):
+~#! rn=Zook rt=997805160 rg=d.gebirge
+~#! tid=997805077
+Kommt die vor, oder _nach_ Taramis?
+
+Pad*
+
+-----------------------------------------------------------------------------
+
+
+
+Schleimdrache (Boing, 28. Aug 2001, 11:57:31):
+Aufgrund von Beschwerden gab es eine kleine Aenderung am Schleimdrachen.
+Ich denke sie betrifft nur die, die sie betreffen soll.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Rumms (Bambi,  7. Sep 2001, 14:21:33):
+Hallo beisammen.
+
+Als ich mich heute (mal wieder) in Amalgrim im Waeldchen verlaufen habe, habe
+ich ein kleines Moppel getroffen, das anscheinend sein Nachtlager dort
+aufgeschlagen hat. Das Moppel berichtete mir, dass es in der Nacht von ein
+paar Trollen ueberfallen worden war, die seinen Begleiter, einen Waldlaeufer
+namens Xeno entfuehrt haben.
+Das Moppel braucht dringend Hilfe und so bitte ich darum, dass ein paar starke
+Abenteurer (oder Mitglieder anderer Gilden) das Moppel besuchen und Xeno
+befreien.
+
+Bambi, im Auftrag des Moppels.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Rumms (Gor,  7. Sep 2001, 23:49:53):
+~#! rn=Bambi rt=999865293 rg=d.gebirge
+~#! tid=999865293
+Kann man das Moppel auch moppeln? Sonst isset ja kein Moppel oder?! }:-)
+
+-> schmarrn
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Rumms (Mupfel,  7. Sep 2001, 23:55:02):
+~#! rn=Gor rt=999899393 rg=d.gebirge
+~#! tid=999865293
+Doppelt gemoppelt? ;)
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Rumms (Bambi,  9. Sep 2001, 12:24:05):
+~#! rn=Bambi rt=999865293 rg=d.gebirge
+~#! tid=999865293
+Auf Basis des bisherigen Feedbacks wurde die Trollhoehle ueberarbeitet. Dabei
+sind ein, zwei Bugs (die nicht zu Toden fuehrten) behoben worden. Einige
+Anregungen bezueglich "Abwertungen" wurden beruecksichtigt und umgesetzt,
+andere (nach Testen mit eigenen Spielercharakteren ohne Testspielerboni)
+nicht.
+
+Vielen Dank fuer die ueberwiegend konstruktive Kritik (trotz des zeitweise
+ueber 60%-Todesfaelle-Anteils).
+
+MfG, Bambi.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Rumms (Rardian, 11. Sep 2001, 18:43:57):
+~#! rn=Gor rt=999899393 rg=d.gebirge
+~#! tid=999865293
+>Kann man das Moppel auch moppeln? Sonst isset ja kein Moppel oder?! }:-)
+??  Du meinst sicher moppern, oder?
+
+Rar.
+
+-----------------------------------------------------------------------------
+
+
+
+Auch hier gibts was zu berichten... (Morgoth, 14. Sep 2001, 12:58:39):
+hab grad mail von der balance bekommen. es gibt ein paar kleine aenderungen am
+TRS.
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Idefix-Miniquest (Bambi, 30. Sep 2001, 16:29:08):
+Die Idefix-MQ ist nun auch eine Zauberer-GQ.
+Falls es unerwartete (negative) Nebenefekte, wie Bugs oder destructete
+Autoloader ... -das war ein Witz- ... geben sollte, bitte Mail an mich.
+MfG, Bambi.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Idefix-Miniquest (Patryn, 30. Sep 2001, 17:24:54):
+~#! rn=Bambi rt=1001860148 rg=d.gebirge
+~#! tid=1001860148
+bitte erst mal nich machen, ist nen bug drin
+
+-- 
+patryn
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Idefix-Miniquest (Boing,  1. Okt 2001, 09:08:32):
+~#! rn=Patryn rt=1001863494 rg=d.gebirge
+~#! tid=1001860148
+Werden Autoloader destructed?
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Idefix-Miniquest (Bambi,  1. Okt 2001, 18:53:22):
+~#! rn=Boing rt=1001920112 rg=d.gebirge
+~#! tid=1001860148
+Nein, noch nicht. Der von Patryn angesprochene Bug ist dank zahlreicher
+Bug-Reports behoben.
+D.h. die MQ ist nun (hoffentlich wieder) spielbar.
+
+-----------------------------------------------------------------------------
+
+
+
+Drachenschuppen (Morgoth, 18. Okt 2001, 12:32:35):
+Hi,
+
+wenn aktivierte Drachenschuppen noch laenger in irgendwelchen
+Kleiderschraenken rumgammeln werd ich da bald mal einen Riegel vorschieben.
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Drachenschuppen (Mandragon, 18. Okt 2001, 16:09:38):
+~#! rn=Morgoth rt=1003401155 rg=d.gebirge
+~#! tid=1003401155
+Die Antwort ist ganz einfach ...
+
+wenn einer nen roten Drachen haut, und ne Drachenschuppe irgendwo rumliegt
+(d.h. environment!=spieler -> schwupp ... der drache hat eine :o)
+
+ma*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Drachenschuppen (Gor, 18. Okt 2001, 19:21:07):
+~#! rn=Morgoth rt=1003401155 rg=d.gebirge
+~#! tid=1003401155
+Wir zittern, oh grosser Morgoth, wir zittern.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Drachenschuppen (Morgoth, 18. Okt 2001, 22:22:15):
+~#! rn=Gor rt=1003425667 rg=d.gebirge
+~#! tid=1003401155
+Wieso meldest Du dich als magier darauf??
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Drachenschuppen (Gnome, 19. Okt 2001, 09:33:51):
+~#! rn=Morgoth rt=1003436535 rg=d.gebirge
+~#! tid=1003401155
+wieso nervt dich das, wenn drachenschuppen irgendwo umherfliegen?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Drachenschuppen (Apollonia, 19. Okt 2001, 09:42:14):
+~#! rn=Gnome rt=1003476831 rg=d.gebirge
+~#! tid=1003401155
+Sind die vielleicht anzahlmaessig begrenzt?? Dann waer's natuerlich Bockmist,
+wenn die irgendwo ungenutzt rumliegen, oder?
+
+Apo*
+auf Morgoths Antwort wartend
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Drachenschuppen (Morgoth, 19. Okt 2001, 09:56:01):
+~#! rn=Apollonia rt=1003477334 rg=d.gebirge
+~#! tid=1003401155
+Jups, 10 Stueck gibts und wenn 3 davon in Schrank/Paket/Truhe liegen find ich
+das Mist.
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Drachenschuppen (Gor, 19. Okt 2001, 13:17:52):
+~#! rn=Morgoth rt=1003436535 rg=d.gebirge
+~#! tid=1003401155
+Weil ich mich als Spieler angesprochen gefuehlt habe. ;)
+..
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Drachenschuppen (Darkwing, 19. Okt 2001, 15:33:24):
+~#! rn=Morgoth rt=1003478161 rg=d.gebirge
+~#! tid=1003401155
+Warum soll das Mist sein ?
+Es ist bei den meisten uniques so, dass sich das mehrere Leute in irgendeiner
+Art und weise Teilen. Was dabei herauskommt ist dann eine Truhe, wo diejenigen
+Zugriff haben - ist doch nix dabei.
+
+Darkwing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Drachenschuppen (Elendil, 19. Okt 2001, 22:58:11):
+~#! rn=Darkwing rt=1003498404 rg=d.gebirge
+~#! tid=1003401155
+Hi,
+
+sehe ich genau wie Darkwing, Gegenstaende, die in einer Truhe
+gelagert werden, werden teilweise haeufiger genutzt als in
+einem Char gebunkert und vergessen :)
+
+Kann die Schuppe sich nicht merken wielange sie nicht genutzt wurde?
+
+Gruss Ele
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Drachenschuppen (Mupfel, 19. Okt 2001, 23:11:03):
+~#! rn=Elendil rt=1003525091 rg=d.gebirge
+~#! tid=1003401155
+Na klar, der Zeitpunkt der letzten Benutzung eines jeden Items wird im
+selbigen gespeichert. Nur ist da keine Eieruhr drinne die irgendwann
+"zerfallen!" schreit. Erst bei der naechsten Bewegung (Spieler nimmt Schuppe
+aus Schrank) kann das Dingen drauf reagieren (Hmmm oder vielleicht schon bei
+"Spieler schaut Schuppe in Schrank an" -> Alle 10 Minuten siehst Du nach der
+Schuppe und stellst fest dass sie schon wieder etwas mehr vergammelt ist...
+;).
+
+-mupfel- (nicht ganz Ernst ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Drachenschuppen (Swift, 20. Okt 2001, 00:27:05):
+~#! rn=Mupfel rt=1003525863 rg=d.gebirge
+~#! tid=1003401155
+man koennte das auch machen wie beim vs. so man moechte.
+ist natuerlich etwas aufwendiger.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Drachenschuppen (Mandragon, 20. Okt 2001, 00:28:53):
+~#! rn=Swift rt=1003530425 rg=d.gebirge
+~#! tid=1003401155
+Inwieweit ist CutnPaste aufwendig?
+
+Ma* gruebelt
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Drachenschuppen (Gor, 20. Okt 2001, 23:33:39):
+~#! rn=Mupfel rt=1003525863 rg=d.gebirge
+~#! tid=1003401155
+Soviel ich weiss, hat auch die Drachenschuppe nen Reset oder?
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Drachenschuppen (Silvana, 20. Okt 2001, 23:35:59):
+~#! rn=Gor rt=1003613619 rg=d.gebirge
+~#! tid=1003401155
+Viel zu offensichtlich, Gor. Viel zu offensichtlich. ;-)
+
+  Silvana
+
+-----------------------------------------------------------------------------
+
+
+
+rtoete (Bambi, 26. Nov 2001, 11:24:49):
+Aufgrund eines (mehr oder weniger) anonymen Hinweises wurde das rtoete im
+Gebirge ausgebaut.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: rtoete (Vincent, 26. Nov 2001, 13:46:02):
+~#! rn=Bambi rt=1006770289 rg=d.gebirge
+~#! tid=1006770289
+Gaaaaaaanz toll, Bambi! Und wieder wurde ein ca. 5 - 7 Jahre altes
+Feature, an das sich alle gewoehnt hatten und das bestimmt jeder
+zweite Seher benutzt hat, aus dem MG entfernt. War das eigentlich mit
+Cifer abgeklaert?
+
+Gruss
+Vincent
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: rtoete (Gloinson, 26. Nov 2001, 14:02:11):
+~#! rn=Vincent rt=1006778762 rg=d.gebirge
+~#! tid=1006770289
+Er hat auf dem Magierkanal gefrat und niemand "Vorgesetztes" hat ihm dort in
+der ausfuehrung, das 'r' sei etwas zu verlockend zum Missbrauch widersprochen.
+Nun addiere das mit dem RM-Posten auf und siehe da, die Legitimation duerfte
+ausreichen.
+Wenn Du weitere solcher Probleme bearbeiten willst, ich hab gehoert in der
+Balance seien immer Leute gesucht.
+
+Gloin(son)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: rtoete (Tiamak, 26. Nov 2001, 19:14:56):
+~#! rn=Vincent rt=1006778762 rg=d.gebirge
+~#! tid=1006770289
+Wenn schon, dann hackt bitte auf mir herum.
+Der Auftrag kam von mir, Bambi hat ihn nur ausgefuehrt.
+
+
+Tiamak
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: rtoete (Mupfel, 26. Nov 2001, 20:25:39):
+~#! rn=Tiamak rt=1006798496 rg=d.gebirge
+~#! tid=1006770289
+...wahrscheinlich, weil Du Dich schon als Seher immer drueber geaergert
+hattest, oder? ;) Und das wird auch erst jetzt gefixed, weils nun - wie der
+Zufall will - grade jetzt der oberste Eintrag auf Deiner ToDo ist, oder?
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: rtoete (Tiamak, 26. Nov 2001, 20:38:10):
+~#! rn=Mupfel rt=1006802739 rg=d.gebirge
+~#! tid=1006770289
+Ich weiss nicht, ob es Dir in letzter Zeit schon jemand gesagt hat, Mupfel,
+aber derartige Anschuldigungen werden nicht dadurch lustig, dass ein Smiley
+dahinter steht.
+
+Du weisst es besser und ich weiss es besser. Aber hier lesen genuegend
+unbeteiligte Spieler mit, die die Hintergruende eben nicht kennen und Deinen
+Albernheiten vielleicht Glauben schenken.
+
+
+Tiamak. Braucht keine Hilfe, um nen schlechten Ruf zu kriegen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: rtoete (Varlarion, 26. Nov 2001, 20:45:46):
+~#! rn=Tiamak rt=1006803490 rg=d.gebirge
+~#! tid=1006770289
+Zumindest in der letzten Zeile steckt Wahrheit.
+
+Varl*, scherzt nicht
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: rtoete (Catweazle, 27. Nov 2001, 09:22:06):
+~#! rn=Varlarion rt=1006803946 rg=d.gebirge
+~#! tid=1006770289
+Huch, ist dem wirklich so? Oder ist das nur deine persoenliche Meinung?
+Also gut, dann pack ich die Fahne aus.
+Nur weil jemand aeusserste Konsequenz zeigt und dadurch oft Dinge tut, die in
+der Allgemeinheit nicht besonders beliebt, aber zum Wohle aller trotzdem
+richtig sind, hat er noch lange keinen schlechten Ruf. Zumindest hat er ihn
+nicht verdient.
+Und ganz besonders hat er es nicht verdient, das ihm dieser faelschlicherweise
+nachgesagt wird.
+
+Wenn ihr das wirklich fortsetzen wollt, dann bitte in einer anderen Rubrik.
+
+Yours truly,
+     Catweazle
+
+-----------------------------------------------------------------------------
+
+
+
+Etliche Typos ausgemerzt ... (Boing, 12. Dez 2001, 17:15:07):
+Hi,
+Bambi hat sich die Muehe gemacht und die angesammelten Typos der letzten
+Jahre (oehm, sagte ich Jahre?) im Kerngebiet des Gebirges abgearbeitet.
+Es darf also neu gesucht werden ... ;) Und nein, es ist NICHT erwuenscht
+in jedem Raum der Kueste 'typo starnd' einzugeben.
+Danke schoen,
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Etliche Typos ausgemerzt ... (Patryn, 12. Dez 2001, 17:19:12):
+~#! rn=Boing rt=1008173707 rg=d.gebirge
+~#! tid=1008173707
+wird das zum allgemeinen RM-gesellenstueck erhoben?
+das erinnert mich irgendwie an meine ersten 2 wochen als wald-rm
+ (*repfiles nachtraeglich verfluch* *g*)
+
+-- 
+patryn, ehemalig eifriger typo-starnd-absetzer :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Etliche Typos ausgemerzt ... (Bambi, 12. Dez 2001, 17:47:51):
+~#! rn=Boing rt=1008173707 rg=d.gebirge
+~#! tid=1008173707
+Lieber Leser.
+Obwohl ich nicht weiss, was ich alles schreiben soll, versuche ich dennoch
+einmal, ein paar Sachen bekanntzugeben.
+
+Zunaechst einmal ist zu erwaehnen, dass das Gebirge-Repfile abgearbeitet
+wurde. Dies bedeutet, dass etwa 250 Fehlermeldungen, Tippfehler und Ideen
+gesichtet und ggf. umgesetzt oder korrigiert wurden.
+Dem geneigten Leser seien hier einige Punkte bekanntgemacht, die ihn (/sie)
+moeglicherweise interessieren.
+
+Das Repfile beinhaltete Eintraege, die teilweise ueber drei Jahre alt waren.
+Grosse Personen wie "Mahatma" waren unter den Meldern fehlender Details
+genauso vertreten, wie unbekannte Spieler, deren Charaktere es nicht mehr
+gibt. Undankbare und angreifend formulierte Meldungen, teilweise unter
+heftigem Einsatz von Ausrufezeichen, hemmten die Motivation, andere
+Eintraege hingegen hoben sie gewaltig an.
+Als Beispiel fuer eine nette Eintragung sei folgendes Beispiel angefuehrt:
+
+>   Ein fehlender Himmel ist nich so schoen. AddInfo Himmel kann da gehn...
+
+Trotz falschen Kommandos (AddInfo muesste AddDetail sein) war es doch nett
+anzusehen, dass sich der betreffende Spieler die Muehe machte, denjenigen
+aufzumuntern, der dies liest.
+
+Viel Arbeit wartet trotz des nun abgearbeiteten Repfiles darauf, in den schon
+bearbeiteten Raeumen getan zu werden, da diese nach wie vor nicht auf dem
+heutigen Stand der Anforderungen stehen. Aber ein wichtiger Schritt ist getan,
+naemlich die Anregungen der Spieler wahrzunehmen und umzusetzen.
+
+Ich moechte mich daher fuer den eifrigen Einsatz der Spieler (also euch)
+bedanken, die mithelfen, das MorgenGrauen zu verschoenern, auch wenn es sich
+dabei meist nur um die Aufbesserung alter Fassaden handelt.
+
+MfG, Bambi.
+
+PS. Es wurden nur Aenderungen an Objekten vorgenommen, die laut rohrhoere
+"von einem Gebirgsmagier" geschrieben wurden. Diese Objekte sind, wie bereits
+erwaehnt noch nicht vollstaendig ueberarbeitet, allerdings macht es durchaus
+Sinn, bei diesen Objekten typos oder ideen abzusetzen.
+
+PPS. Ich bitte um Verstaendnis, dass groessere inhaltliche Neuerungen
+   ("Ich will, dass Robin auch das Lupinental unsicher macht.",
+    "Koennen die Zwerge nicht mal geschlossen die SSP metzeln?")
+im Zuge der Ueberarbeitung nicht umgesetzt werden.
+
+PPPS. Die Beispiele in PPS sind frei erfunden und sie werden weder in der
+Ueberarbeitung _noch_ jemals danach umgesetzt. :)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Etliche Typos ausgemerzt ... (Boing, 12. Dez 2001, 18:00:58):
+~#! rn=Bambi rt=1008175671 rg=d.gebirge
+~#! tid=1008173707
+> PPPS. Die Beispiele in PPS sind frei erfunden und sie werden weder in der
+> Ueberarbeitung _noch_ jemals danach umgesetzt. :)
+
+Drauf wetten wuerde ich darauf aber nicht ... :)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Etliche Typos ausgemerzt ... (Liara, 12. Dez 2001, 23:12:05):
+~#! rn=Bambi rt=1008175671 rg=d.gebirge
+~#! tid=1008173707
+Oeh, ... wieso haste nu den ganzen Scroll produziert?
+Mach so weiter, und ich schreibe jedesmal einen Artikel, wenn ich auf's Klo
+gehe ... samt Erlebnisbericht.
+
+Gruesse, ZZL
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Etliche Typos ausgemerzt ... (Gnome, 13. Dez 2001, 00:40:42):
+~#! rn=Liara rt=1008195125 rg=d.gebirge
+~#! tid=1008173707
+wir beklagen uns dauernd ueber die verfehlte informationspolitik UND
+ueber den uralt-stand der ebene hinsichtlich ihrer details. jetzt nimmt
+einer gleich beides in angriff und schon wird er verarscht?
+ich finds klasse, bambi. weiter so!
+
+wenn du details deines klogangs posten sollst, lassen wir es dich
+wissen, liara.
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Etliche Typos ausgemerzt ... (Noki, 13. Dez 2001, 11:25:06):
+~#! rn=Gnome rt=1008200442 rg=d.gebirge
+~#! tid=1008173707
+Ich schliesse mich dem vorbehaltlos an: wieter so, Bambi!
+Ich hoere jedesmal gerne, was unsere Meister so anstellen...
+
+MfG -noki
+
+-----------------------------------------------------------------------------
+
+
+
+Sauna am Polarweg (Bambi, 18. Dez 2001, 12:50:53):
+Ich wollte hiermit auf eine kleine Aenderung in der Sauna hinweisen, die sich
+fuer Chaoten auswirkt.
+Die Chaoten duerfen nun auch mit ihrer mutierten Haut (der Chaoshaut) in die
+Saune und muessen sie dazu nicht erst verbannen.
+Vielen dank fuer die Hinweise und das Testen.
+Falls Bugs auftreten oder wenn andere Gilden aehnliche Gilden-Items besitzen,
+die das Betreten der Sauna verhindern, so moege man mir dies kenntlich machen.
+
+MfG, Bambi.
+
+PS. Der Artikel ist in dieser Rubrik richtig, auch wenns etwas verwundert.
+PPS. ... ach nein, einen Kommentar zu Klogeschichten spar ich mir. :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Sauna am Polarweg (Grimmborn, 18. Dez 2001, 13:03:46):
+~#! rn=Bambi rt=1008676253 rg=d.gebirge
+~#! tid=1008676253
+Hoffentlich wird dann den anderen Insassen gruendlich schlecht wenn so ein
+Chaot mit mutierter Haut nackich reinlaeuft?
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Sauna am Polarweg (Gor, 18. Dez 2001, 21:36:03):
+~#! rn=Bambi rt=1008676253 rg=d.gebirge
+~#! tid=1008676253
+Doll, wieso ist Polar jetzt Gebirge, achja, darum wurde es nicht gefixed.
+Nochmals hier ein Dankeschoen an Bierchen.
+Gor kopfschuettelnd.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Sauna am Polarweg (Mupfel, 18. Dez 2001, 22:50:07):
+~#! rn=Gor rt=1008707763 rg=d.gebirge
+~#! tid=1008676253
+Nein der Sauna-Raum gehoert zum Gebirge. Schau ihn Dir einfach mal an dann
+siehst sogar Du warum das so ist.
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Sauna am Polarweg (Anatol, 18. Dez 2001, 22:52:15):
+~#! rn=Mupfel rt=1008712207 rg=d.gebirge
+~#! tid=1008676253
+Dafuer hat Gor keine Zeit. Er muss seine Quest ueberarbeiten... ;o)
+
+Anatol cnr. 
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Sauna am Polarweg (Christopher, 19. Dez 2001, 11:58:48):
+~#! rn=Bambi rt=1008676253 rg=d.gebirge
+~#! tid=1008676253
+Toeters Schaedel macht aehnliche Probleme.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Sauna am Polarweg (Kaspar, 19. Dez 2001, 12:00:05):
+~#! rn=Christopher rt=1008759528 rg=d.gebirge
+~#! tid=1008676253
+Muessen die Tanjian kokoro ausziehen?:)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Sauna am Polarweg (Gor, 19. Dez 2001, 13:08:10):
+~#! rn=Mupfel rt=1008712207 rg=d.gebirge
+~#! tid=1008676253
+Stimmt, es leuchtete mir sofort einw arum. Der gehoert da einfach gar nicht
+hin. Vermutlich ist mal wer beim verlinken der Raeume ausgerutscht. DFer Raum
+duerfte von eigentlich gar nicht angeschlossen sein. Alees sehr logisch jaja.
+;)
+
+Gor schwitzt fuer nix.....
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Sauna am Polarweg (Mupfel, 19. Dez 2001, 14:53:03):
+~#! rn=Gor rt=1008763690 rg=d.gebirge
+~#! tid=1008676253
+Geh da hin Du schwaebischer Holzkopp ;) schau's Dir an, vor allem auch den
+Raumpfad. Und dann schwafel weiter... ;)
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Sauna am Polarweg (Tsunami, 21. Dez 2001, 18:49:45):
+~#! rn=Mupfel rt=1008769983 rg=d.gebirge
+~#! tid=1008676253
+Ich finds klasse Bambi.
+
+Repfiles abarbeiten ist eine Heidenarbeit.
+
+Weiter so,
+
+Tsunami.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Sauna am Polarweg (Ark,  2. Jan 2002, 11:51:03):
+~#! rn=Tsunami rt=1008956985 rg=d.gebirge
+~#! tid=1008676253
+Hmpf, da hat mir ein Spassvogel *jemandem zuzwinker* ein Ei gelegt ueber
+Weihnachten:
+
+Vorher:
+/log/report/ark.rep, 0 lines
+
+Nachher:
+/log/report/ark.rep, 320 lines
+
+Dabei ist das bestimmt auf wenige Raeume und Objekte begrenzt. Wehe, ich finde
+Ideen ala: "Es muesste auch noch die Syntax 'drehe grossen knopf mit
+schwertknaufknopfabdruck langsam nach links', dann uebergebe ich mein Repfile
+dem tapferen Reh zur treuen Abarbeitung ;^)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Sauna am Polarweg (Bambi,  2. Jan 2002, 15:44:11):
+~#! rn=Ark rt=1009968663 rg=d.gebirge
+~#! tid=1008676253
+HUARGS!!!
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Sauna am Polarweg (Orktoeter,  2. Jan 2002, 15:52:32):
+~#! rn=Ark rt=1009968663 rg=d.gebirge
+~#! tid=1008676253
+Nur 320 Zeilen?
+
+Wie waer es denn statt dessen mit folgendem:
+ for i 1 500 Idee Ich habe eine Tolle Idee, aber die musst du erst weiter
+hinten suchen!
+Idee "eine mehr oder weniger gute Idee"
+for i 1 500 Die Idee steht weiter vorne, viel spass beim suchen!
+
+Wahlweise auch ohne den Hinweis wo genau die Idee steht...
+
+OrkT hat manchmal auch ideen...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Sauna am Polarweg (Zarniya,  3. Jan 2002, 08:34:08):
+~#! rn=Orktoeter rt=1009983152 rg=d.gebirge
+~#! tid=1008676253
+ich denke, sowas ist das letzte, was dieser Charakter dann einem Mud macht...
+zumindest, wenn die Mudfuehrung konsequent ist.
+
+Marc
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Sauna am Polarweg (Weatherwax,  3. Jan 2002, 23:47:24):
+~#! rn=Zarniya rt=1010043248 rg=d.gebirge
+~#! tid=1008676253
+*raeusper*
+
+das hab ich nicht verstanden
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Sauna am Polarweg (Wurzel,  3. Jan 2002, 23:48:22):
+~#! rn=Weatherwax rt=1010098044 rg=d.gebirge
+~#! tid=1008676253
+welchen satz oder welches wort genau hast du nicht verstanden? war doch
+eindeutig genug...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: Sauna am Polarweg (Weatherwax,  3. Jan 2002, 23:48:58):
+~#! rn=Wurzel rt=1010098102 rg=d.gebirge
+~#! tid=1008676253
+das mittelteil
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: Sauna am Polarweg (Willow,  4. Jan 2002, 17:01:12):
+~#! rn=Weatherwax rt=1010098138 rg=d.gebirge
+~#! tid=1008676253
+heisst das nicht DEN mittelteil??? *gruebel*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: Sauna am Polarweg (Zarniya,  7. Jan 2002, 08:58:30):
+~#! rn=Weatherwax rt=1010098138 rg=d.gebirge
+~#! tid=1008676253
+ok... da fehlt das Wort 'in' zwischen dann und einem... sorry.
+
+-----------------------------------------------------------------------------
+
+
+
+Mal wieder was neues ... aber nicht von mir (Boing, 17. Jan 2002, 18:35:31):
+In einer gemuetlichen Weinstube in einem der schoensten Taeler des
+Gebirges ist eben etwas neues angeschlossen worden. Schaut einfach
+selbst nach, was es ist. :)
+Gebastelt wurde das Teil uebrigens von Anatol, wenn ihr also Fehler
+findet, dann wendet euch vertrauensvoll an ihn. *g*
+
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Mal wieder was neues ... aber nicht von mir (Whitetiger, 17. Jan 2002, 18:39:54):
+~#! rn=Boing rt=1011288931 rg=d.gebirge
+~#! tid=1011288931
+hmm... wie geht denn das? anatol ist doch gar kein magier...
+WT (wundernd)
+
+-----------------------------------------------------------------------------
+
+
+
+Robin (Bambi,  9. Feb 2002, 19:48:45):
+Ich habe Robin bis auf weiteres abgehaengt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Robin (Tilly,  9. Feb 2002, 22:24:36):
+~#! rn=Bambi rt=1013280525 rg=d.gebirge
+~#! tid=1013280525
+Wieso?
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Robin (Bambi, 10. Feb 2002, 00:16:18):
+~#! rn=Bambi rt=1013280525 rg=d.gebirge
+~#! tid=1013280525
+Er ist wieder da.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Robin (Karis, 10. Feb 2002, 00:40:11):
+~#! rn=Bambi rt=1013296578 rg=d.gebirge
+~#! tid=1013280525
+Aha. Wir danken fuer dieses vielsagende Intermezzo.
+
+-----------------------------------------------------------------------------
+
+
+
+Zwergenpriester (Bambi, 24. Feb 2002, 23:51:10):
+Ich hab dem Zwergenpriester etwas Weisheit angedeihen lassen, so dass er nun
+nicht mehr versucht "irgendetwas" aus dem Inventar des Spielers zu entfluchen.
+Fuer Anregungen und konstruktive Kritiken hab ich offene Ohren.
+Ach ja, er gestaltet seine Preispolitik nun etwas anfaengerfreundlicher.
+
+MfG, Bambi.
+PS: Flames zu "Weisheit" && "Zwerge" bitte nicht in dieser Rubrik. :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Zwergenpriester (Joshua, 25. Feb 2002, 11:46:49):
+~#! rn=Bambi rt=1014591070 rg=d.gebirge
+~#! tid=1014591070
+Ich gehe mal davon aus, dass man den jetzt auch als Chaot benutzen kann. In
+diesem Fall: Vielen Dank! :)
+
+Josh
+
+-----------------------------------------------------------------------------
+
+
+
+Sauna (Bambi,  5. Mai 2002, 11:19:59):
+Ich hab noch ein bissl was and er Saune geaendert, so dass einige Objekte mehr
+zugelassen werden...
+
+Kleiner Hinweis noch.
+Der Masseur will nicht, dass man irgendwelche Kleidung angezogen hat. Dies
+gilt auch fuer verfluchte oder sonstwie eigentlich nicht ausziehbare Kleidung
+(Wandlerhandschuhe). Ihm ist es egal, mit welchen Problemen Spieler dann
+konfrontiert werden: Er will sie nackt sehen. Dass er Gildenobjekte (kokoro)
+etc akzeptiert ist ein Bugfix, aber ich werde (auch nach dem 10 mal anfragen)
+nicht hingehen und den Masseur so umschreiben, dass er grundlegend anders
+ueber angezogene Spieler in seiner Sauna denkt.
+Dennoch danke fuer die "Bug"-Reports.
+
+MfG, Bambi.
+
+-----------------------------------------------------------------------------
+
+
+
+Tablut (Bambi, 24. Mai 2002, 11:54:51):
+Ich hab ein paar Sachen da debuggt. Wenn wem nochwas auffaellt, einfach (bei
+mir) melden.
+
+-----------------------------------------------------------------------------
+
+
+
+Pfirsiche (Vanion, 26. Mai 2002, 00:58:46):
+Die Anzahl der Pfirsiche pro Person wurde ein wenig eingeschraenkt. Pfirsiche
+wachsen schliesslich nicht auf Baeumen - bildlich gesehen. *raeusper*
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Pfirsiche (Darkwing, 27. Mai 2002, 20:14:43):
+~#! rn=Vanion rt=1022367526 rg=d.gebirge
+~#! tid=1022367526
+duh... da liest man seit langem mal wieder mpa und schon weiss man warum man
+es besser gelassen haette :-)
+Also kein Pfirsiche verschenken mehr nach Crash, war ja eh nur cheaten :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Pfirsiche (Cuchullin, 28. Mai 2002, 17:22:11):
+~#! rn=Darkwing rt=1022523283 rg=d.gebirge
+~#! tid=1022367526
+Naja, ich erinnere mich an einen Spinner, der Andy (u.a.) mit etwas
+ueber tausendirgendwas von diesen ein Pfund schweren Pfirsichen voll-
+gestopft hatte... damit er das Hoellenfeuer im Raeuberlager, das er 
+sonst aufgenommen haette, schoen liegen liess wo es war...
+
+Bugte natuerlich wie Sau. 
+
+Cuch, kann's in gewissen Grenzen nachvollziehen ;)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Pfirsiche (Mandragon, 28. Mai 2002, 17:38:15):
+~#! rn=Cuchullin rt=1022599331 rg=d.gebirge
+~#! tid=1022367526
+Einfach vor dem weglegen anzuenden .... dann laesst er es auch ne halbe Stunde
+liegen ....
+
+-----------------------------------------------------------------------------
+
+
+
+Neues von Takhisis (Nonne,  1. Jun 2002, 13:33:01):
+Hallo tapfere Abenteurer,
+
+alles war vergebens. Wie sich herausstellte, ist Takhisis nie wirklich besiegt
+worden, sondern lediglich in ihre eigene Dimension zurueckgekehrt, wenn ihre
+sterbliche Huelle in dieser Welt zerstoert wurde.
+
+Geruechten zufolge soll es einen Zugang zu ihrer Dimension geben, der sich
+aber in der sogenannten 'Parawelt' befindet.
+
+Viel Spass beim Sterben wuenscht
+Nonne.
+
+-----------------------------------------------------------------------------
+
+
+
+Robin (Boing, 14. Jun 2002, 15:31:19):
+Robin ist mal temporaer abgehaengt ... 
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Robin (Bambi, 21. Jun 2002, 17:19:44):
+Sodala.
+
+Nachdem Robin umgezogen und ueberarbeitet worden ist, huepft seine getestete
+beta-Version wieder ueber die Hochebene. Sofern Bugs auftreten, sollten mir
+diese ggf. gemailt werden. Ich werd mir das dann anschauen. Sollte in
+absehbarer Zeit kein weiterer Artikel von mir kommen, wird die "Beta-Version"
+dann zur release. :)
+
+Bevor Fragen auftauchen:
+Es wurden debug-Aktionen durchgefuehrt. Robin sollte sich nicht anders
+verhalten als sonst auch und er wurde weder auf- noch abgewertet. Da Robin
+umgezogen ist, wurden auch Kills und etwaige FPs (kein Kommentar hierzu)
+umgetragen. Ergo: wer den kill schon hatte, muss ihn nicht neu holen. Falls
+jemand den Kill sicher hatte und er nun nicht mehr vorhanden ist: neu metzeln
+oder bei Rikus melden.
+
+MfG, Bambi.
+
+PS.
+Ach nix. Ihr findet das sicher noch raus. ;)
+
+-----------------------------------------------------------------------------
+
+
+
+robin (Bran, 22. Jul 2002, 00:15:57):
+"hat sich an meinem beutel bedient", ohne dass ich was hatte. bin jedenfalls ziemlich sicher...**
+
+-----------------------------------------------------------------------------
+
+
+
+Re: robin (Mupfel, 22. Jul 2002, 00:27:43):
+~#! rn=Bran rt=1027289757 rg=d.gebirge
+~#! tid=1027289757
+Schau halt nach, ob Du nicht jetzt -1000 Muenzen hast ;)
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: robin (Mandragon, 22. Jul 2002, 01:04:33):
+~#! rn=Mupfel rt=1027290463 rg=d.gebirge
+~#! tid=1027289757
+wie war das? wirf -1 muenze weg?
+
+Ma*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: robin (Vanion, 22. Jul 2002, 08:18:40):
+~#! rn=Mandragon rt=1027292673 rg=d.gebirge
+~#! tid=1027289757
+Das war mal ein alias auf:
+ shutdown -dont-save-stupid-savefiles Spieler mal so richtig aergern!
+
+V* schmarrnt.
+
+-----------------------------------------------------------------------------
+
+
+
+Kriegshamster aufgewertet ... (Boing,  5. Aug 2002, 14:57:42):
+Auf Wunsch von Gnome und Foobar hab ich den Kriegshamster etwas 
+aufgewertet ... viel Spass damit!
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Kriegshamster aufgewertet ... (Sarkon,  5. Aug 2002, 14:58:36):
+~#! rn=Boing rt=1028552262 rg=d.gebirge
+~#! tid=1028552262
+damit ihn ab sofort nur noch gnome und foobar hauen koennen? :)
+
+Sarkon, kichernd
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Kriegshamster aufgewertet ... (Sarkon,  5. Aug 2002, 15:00:04):
+~#! rn=Sarkon rt=1028552316 rg=d.gebirge
+~#! tid=1028552262
+oh, hamster aufgewertet, dachte den npc bei dems den gibt
+aufgewertet...najanaja :)
+
+Sarkon, sich in schnaps ertraenkend...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Kriegshamster aufgewertet ... (Pitfall,  5. Aug 2002, 15:14:38):
+~#! rn=Sarkon rt=1028552404 rg=d.gebirge
+~#! tid=1028552262
+du hast ihn zum schwert gemacht?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Kriegshamster aufgewertet ... (Brotnael,  5. Aug 2002, 15:14:56):
+~#! rn=Pitfall rt=1028553278 rg=d.gebirge
+~#! tid=1028552262
+nein, zum ewigen feuerwasser...
+
+-----------------------------------------------------------------------------
+
+
+
+Steinbeisseramulett (Boing,  5. Aug 2002, 17:32:25):
+Ich hab das Amulett leicht modifiziert, fuer Leute die sich schon immer
+komplett durchgemetzelt haben aendert sich nix.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Steinbeisseramulett (Sou,  5. Aug 2002, 17:56:59):
+~#! rn=Boing rt=1028561545 rg=d.gebirge
+~#! tid=1028561545
+Kann man endlich nicht mehr bis zum letzten laufen und es einfach so
+abstauben?
+
+Sou applaudiert dann.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Steinbeisseramulett (Boing,  5. Aug 2002, 18:00:16):
+~#! rn=Sou rt=1028563019 rg=d.gebirge
+~#! tid=1028561545
+Das waere eine Loesung, die mir persoenlich nicht gefallen haette, weil
+der Ping-Pong effekt schon bewusst eingebaut wurde (na gut, bei heutigen
+Sehern tritt der nicht mehr auf, aber bei kleineren Spielern evtl. schon).
+Aber in die von Dir gewuenschte Richtung zielt die Aenderung schon.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Typo-Zaubertrank (Boing,  6. Aug 2002, 10:54:01):
+Der wahrscheinlich bekannte Typo-Zaubertrank (ich verrate hier wohl keine
+Geheimnisse) hat ja nicht so richtig funktioniert, wenn man den Typo 
+gemeldet hat, bevor man den Orakelspruch zugewiesen bekommen hat. Dieser
+Fehler sollte nun behoben sein, falls es Probleme gibt -> mail an mich.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Typo-Zaubertrank (Bambi,  6. Aug 2002, 10:59:07):
+~#! rn=Boing rt=1028624041 rg=d.gebirge
+~#! tid=1028624041
+Im Zuge dessen bitte ich hiermit nocheinmal darum, solche Scherze, wie "wir
+laufen das gesamte Gebirge ab und setzen ueberall den Typo ab, bis wir den ZT
+gefunden haben" zu unterlassen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Typo-Zaubertrank (Cadrach,  6. Aug 2002, 11:05:50):
+~#! rn=Bambi rt=1028624347 rg=d.gebirge
+~#! tid=1028624041
+Ich wuerde sagen, da brauchts irgendwo einen Raum mit Todeswirkung bei
+falschem Typo :o)
+
+Cad*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Typo-Zaubertrank (Mupfel,  6. Aug 2002, 20:20:40):
+~#! rn=Cadrach rt=1028624750 rg=d.gebirge
+~#! tid=1028624041
+Einen? Alle, bis auf den mit dem ZT ;)
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Dingens (Bambi,  6. Aug 2002, 21:29:23):
+******************************************************************************
+*                                                                            *
+*  Bekanntmachung!                                                           *
+*                                                                            *
+*  Obwohl ich nicht unbedingt schon soweit bin, wie ich gerne waere und      *
+*  obwohl ich sowieso nicht geglaubt haette, dass Zwerge so etwas fertig-    *
+*  bringen, wurde es doch Wirklichkeit:                                      *
+*                                                                            *
+*  Die koeniglich zwergische Brueckenbaugesellschaft hat die Bruecke in      *
+*  Amalgrim fertiggestellt.                                                  *
+*                                                                            *
+*  Wenngleich es noch nicht allzuviel zu erforschen gibt, habe ich dennoch   *
+*  eine schon bestehende Fortfuehrung des Tals angeschlossen.                *
+*                                                                            *
+*  Viel Spass beim Anschauen und so...                                       *
+*                                                                            *
+*                                                                 Bambi.     *
+*                                                                            *
+******************************************************************************
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Kriegshamster aufgewertet ... (Gnome,  8. Aug 2002, 21:26:09):
+~#! rn=Boing rt=1028552262 rg=d.gebirge
+~#! tid=1028552262
+:huepft um boing herum und knuddelt ausgiebig einen hamster.
+
+daaaaanke! :)
+
+-----------------------------------------------------------------------------
+
+
+
+Noerdliches Tal - Update (Bambi,  9. Aug 2002, 10:28:28):
+Hi alle.
+Ich wollte noch ein paar Punkte loswerden...
+Erstens mal danke fuer die prompten konstruktiven Rueckmeldungen der
+bisherigen Spieler.
+Zweitens wurde eine Stelle etwas geaendert, so dass man da eventuell oehm ...
+sterben koennte. Naja, ihr werdet das schon merken, wenn ihr offensichtlich
+etwas "Ungewolltes" tut. Falls da Bugs auftreten (nein, sterben ist kein Bug)
+waeren Rueckmeldungen nett.
+MfG, Bambi.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Noerdliches Tal - Update (Montanus,  9. Aug 2002, 18:25:07):
+~#! rn=Bambi rt=1028881708 rg=d.gebirge
+~#! tid=1028881708
+Bambi schreibt:
+"der bisherigen Spieler"... und "sterben ist kein Bug"
+Hmmm, langsam muss Ark sich sorgen machen um seinen Titel. :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Noerdliches Tal - Update (Croft,  9. Aug 2002, 18:31:02):
+~#! rn=Montanus rt=1028910307 rg=d.gebirge
+~#! tid=1028881708
+Welchen Titel?
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Noerdliches Tal - Update (Ark,  9. Aug 2002, 18:34:42):
+~#! rn=Montanus rt=1028910307 rg=d.gebirge
+~#! tid=1028881708
+Wasn fuern Titel?
+
+Habich was verpasst? Sittenwaechter? Niedrigverdiener? Schatzvernichter?
+Betamonsterbetreiber? Hmmm...
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Magietext-Update. (Bambi,  9. Aug 2002, 20:56:35):
+Hi alle.
+Der Magietext ist fuer alle ab ende/crash/reboot in Version 4 (derzeit noch
+Version 3) verfuegbar und beinhaltet einen kleinen Bugfix. Funktionalitaet ist
+keine hinzugekommen.
+
+Bambi.
+PS...
+"Alle" sind natuerlich nur die, die jetzt schon Magietext nutzen koennen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Magietext-Update. (Vardion, 11. Aug 2002, 22:45:02):
+~#! rn=Bambi rt=1028919395 rg=d.gebirge
+~#! tid=1028919395
+Gibts irgend eine Statistik, wer den Magietext ueberhaupt benutzt? :)
+
+Vardion
+
+-----------------------------------------------------------------------------
+
+
+
+Dingens (Bambi, 12. Aug 2002, 18:05:02):
+
+******************************************************************************
+*                                                                            *
+*  Bekanntmachung!                                                           *
+*                                                                            *
+*  Hiermit moechte ich im Namen des Besitzers der Boutique in Amalgrim       *
+*  bekanntgeben, dass selbige (also die Boutique) feierlich er/geoeffnet     *
+*  wurde.                                                                    *
+*                                                                            *
+*  Obwohl das Angebot noch sehr duenn ist, hoffe ich auf rege Einbringung    *
+*  von Vorschlaegen zur Erweiterung des selben.                              *
+*                                                                            *
+*  Wie ueblich wuensche ich viel Spass beim Besuch...                        *
+*                                                                            *
+*                                                                 Bambi.     *
+*                                                                            *
+******************************************************************************
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Steinbeisseramulett (Key, 15. Aug 2002, 21:32:14):
+~#! rn=Boing rt=1028563216 rg=d.gebirge
+~#! tid=1028561545
+Och, mach Dir keine Sorgen.
+Mich trifft der Ping-Pong-Effekt bestimmt mal wieder ;) 
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Magietext-Update. (Pertinaxe, 18. Aug 2002, 23:20:40):
+~#! rn=Vardion rt=1029098702 rg=d.gebirge
+~#! tid=1028919395
+Wer hat ueberhaupt den tieferen Sinn verstanden ?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Magietext-Update. (Mupfel, 18. Aug 2002, 23:24:16):
+~#! rn=Pertinaxe rt=1029705640 rg=d.gebirge
+~#! tid=1028919395
+Gibt es ueberhaupt immer einen tieferen Sinn?
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Magietext-Update. (Pertinaxe, 18. Aug 2002, 23:27:48):
+~#! rn=Mupfel rt=1029705856 rg=d.gebirge
+~#! tid=1028919395
+Noe, aber manchmal frage ich schon nach dem Sinn, auf deutsch: was mach ich
+mich mit nem Ding das ich wohl mal wieder ueberhaupt ned brauch.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Magietext-Update. (Croft, 19. Aug 2002, 00:15:58):
+~#! rn=Pertinaxe rt=1029706068 rg=d.gebirge
+~#! tid=1028919395
+Mach damit schwer unterscheidbare Dinge unterscheidbar (z.b. Schluessel), 
+
+Pinsel auf deinen VS oder Hyrue die Haltbarkeit drauf, was auch immer.
+Streng deine Fantasie an :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Magietext-Update. (Pertinaxe, 20. Aug 2002, 10:17:06):
+~#! rn=Croft rt=1029708958 rg=d.gebirge
+~#! tid=1028919395
+Mir waere es lieber der Stempel aus der Zwergenquest waere wieder da, das
+wuerde verhindern das stinkige Orks Schatten klauen und auf Nimmerwiedersehen
+verschwinden lassen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Magietext-Update. (Deepblue, 20. Aug 2002, 10:39:26):
+~#! rn=Pertinaxe rt=1029831426 rg=d.gebirge
+~#! tid=1028919395
+Was, die Orks richten sich dnach dem Stempel? Moggel, aender das mal!
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Magietext-Update. (Bambi, 20. Aug 2002, 13:39:00):
+~#! rn=Pertinaxe rt=1029831426 rg=d.gebirge
+~#! tid=1028919395
+Unabhaengig davon, ob es von einem Ork (oder sonstwem) in Ordnung ist, einen
+Schatten verschwinden zu lassen, wirst Du mir doch zustimmen, dass ein
+Verhindern von moves aller Art (?) in keinem Fall ein Feature sein kann.
+
+-----------------------------------------------------------------------------
+
+
+
+Kristallkrone (Boing, 21. Aug 2002, 13:43:43):
+Um mehr Spielraum bei den Helmen zu schaffen, wurde die Kristallkrone
+etwas abgewertet. Das gilt natuerlich nur fuer neu erschaffene Kronen.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Wo gehobelt wird... (Bambi, 24. Aug 2002, 10:19:27):
+fallen Spaene.
+Aufgrund eines letztens vorgenommenen Bugfixes war die Quest "Hilberts Turm"
+nicht mehr bestehbar. Dieses Bugfix-Problem wurde inzwischen beseitigt.
+Danke fuer die prompte Bugmeldung.
+
+MfG, Bambi.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Wo gehobelt wird... (Thargor, 26. Aug 2002, 19:30:31):
+~#! rn=Bambi rt=1030177167 rg=d.gebirge
+~#! tid=1030177167
+... uff, da hab ich ja nochmal glueck gehabt .. hilberts turm war eine der
+naechsten Aufgaben die ich loesen wollte :)
+
+Thargor
+
+-----------------------------------------------------------------------------
+
+
+
+Was Neues. (Bambi, 17. Sep 2002, 01:27:22):
+Hi alle.
+
+Als ich mal wieder auf der Hochebene rumgehuepft bin, hat mir der Wanderer
+erzaehlt, dass Darwin von einer seiner Reisen zurueckgekehrt ist und sich
+ueber Besuch von Spielern sehr freuen wuerde.
+
+MfG, Bambi.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Was Neues. (Bambi, 17. Sep 2002, 20:42:57):
+~#! rn=Bambi rt=1032218842 rg=d.gebirge
+~#! tid=1032218842
+Hi alle Questloeser...
+Alle, die zwischen dem Loesen der Quest und jetzt eingeschlafen oder sonstwie
+disconnected wurden, haben die Questbelohnung "verloren". Der Bug wurde
+gefixt. Wer die Questbelohnung wiederhaben will, muss einfach nur das Haus
+betreten.
+Man sollte das Objekt tragen koennen, ansonsten kriegt mans halt erst, wenn
+mans tragen kann und das Haus betritt...
+
+-----------------------------------------------------------------------------
+
+
+
+Taschentuch (Bambi,  5. Nov 2002, 21:56:32):
+Hallo Taschentuchbesitzer.
+Im Taschentuch haben sich im Laufe der Zeit einige Aenderungen ergeben,
+darunter auch ab Version 1.6 ein Bugfix fuer absolute Zeitangaben. Wer
+Probleme mit dem Taschentuch hat, sollte sich ueber die Version kundig machen
+und sich gegebenenfalls ein neues Taschentuch besorgen...
+Es stellt sich nun die Frage, wie das geht...
+Man beseitige das Taschentuch und betrete Darwins Haus. Dann sollte man ein
+neues Taschentuch bekommen.
+Falls es zu weiteren Problemen kommen sollte, bitte Mail an mich.
+
+Und danke fuer den Bugreport (dieses mal an Isi).
+
+MfG, Bambi.
+
+-----------------------------------------------------------------------------
+
+
+
+Irgendwo im Cronoertal... (Bambi,  1. Feb 2003, 14:55:21):
+oder dessen Umgebung gabs ne Stelle, wo man ein Seil benoetigt.
+Genauer gesagt gibts vermutlich mehrere Stellen, aber an einer der Stellen
+wurde was geaendert. Sollten sich an besagter Stelle Bugs bezueglich Seilen
+einstellen, moege man mir dies melden.
+Gefakte Seile funktionieren an dieser Stelle leider nicht mehr. Sorry.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Irgendwo im Cronoertal... (Patryn,  1. Feb 2003, 14:59:09):
+~#! rn=Bambi rt=1044107721 rg=d.gebirge
+~#! tid=1044107721
+Das gefakte Seile dort gingen war uebrigens Absicht, keine Dummheit.
+Wenns nun nicht mehr geht ist das natuerlich auch nicht so schlimm,
+wollte das nur anmerken :)
+
+-- 
+Patryn
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Irgendwo im Cronoertal... (Bambi,  1. Feb 2003, 15:15:41):
+~#! rn=Patryn rt=1044107949 rg=d.gebirge
+~#! tid=1044107721
+Die Zeit ging zwar von FDO ab, aber auf freundliches Bitten weniger habe ich
+mir die Arbeit gemacht, dass auch gefakte Seile wieder funktionieren sollten.
+Falls Bugs auftreten: echtes Seil benutzen oder sich bei mir melden.
+
+-----------------------------------------------------------------------------
+
+
+
+Umfrage. (Bambi,  2. Mai 2003, 17:55:35):
+Aufgrund einer Vereinbarung mit meinem neuen Regionsmitarbeiter wird ein
+Projekt mit der Abkuerzung "FDO" umgesetzt. Ein zweiter Teil der Vereinbarung
+besagt, dass der andere Magier ein von mir zu schreibendes Konzept mit der
+Abkuerzung "ZPK" zu schreiben hat.
+Nachdem Vincent vehement bestreitet, dass es so etwas, wie ein ZPK ueberhaupt
+geben kann, biete ich nun euch Muddern an, an einer Umfrage teilzunehmen, bei
+der ihr Vorschlaege machen koennt, was "ZPK" bedeuten kann.
+Sollten dabei brauchbare Vorschlaege herauskommen, dann werde ich
+gegebenenfalls ein Konzept daraus machen und es dem betroffenen Magier
+zukommen lassen.
+
+Teilnehmen koennt ihr, wenn ihr "umfrage" etwas mitteilt.
+
+(Fuer Magier: Es waere nett, den betreffenden NPC nicht durch eigenen Sachen
+zu manipulieren. Danke.)
+
+MfG, Bambi.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Umfrage. (Grimmborn,  2. Mai 2003, 18:00:53):
+~#! rn=Bambi rt=1051890935 rg=d.gebirge
+~#! tid=1051890935
+Hmm, gehoert das jetzt nach witze, schmarrn oder muell? Was fuer einen Sinn
+macht eine Umfrage ueber etwas, was es in keinster Weise irgendwie geben kann?
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Umfrage. (Vincent,  2. Mai 2003, 18:05:22):
+~#! rn=Grimmborn rt=1051891253 rg=d.gebirge
+~#! tid=1051890935
+Bambis Artikel gehoert einfach geloescht. Es gibt kein ZPK, egal in welcher
+Zeit und an welchem Ort!
+
+Gruss
+Vincent
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Umfrage. (Gando,  2. Mai 2003, 18:06:16):
+~#! rn=Vincent rt=1051891522 rg=d.gebirge
+~#! tid=1051890935
+Gando zueckt eine Zero-Partikel-Kanone.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Umfrage. (Grimmborn,  2. Mai 2003, 18:06:52):
+~#! rn=Vincent rt=1051891522 rg=d.gebirge
+~#! tid=1051890935
+Eben, sieht doch jeder auf den ersten Blick dass hier kein Zentrales
+PlanungsKommite existiert. "Gut geplant" ist sicher eine Eigenschaft, die auf
+das MG nicht zutrifft. 
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Umfrage. (Boing,  2. Mai 2003, 18:11:09):
+~#! rn=Grimmborn rt=1051891253 rg=d.gebirge
+~#! tid=1051890935
+Ich kann hier Grimmborn nur in vollem Umfang zustimmen. 
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Sowas... (Sharenug, 12. Mai 2003, 13:22:38):
+da geht man ueber ein paar Planken und steht auf so nem komischen Weg am
+Drachensee, und auf einmal kann man da klettern... pfft...
+
+Sharenug
+
+-----------------------------------------------------------------------------
+
+
+
+Duesterwaldplakette (Bambi, 20. Jun 2003, 14:27:48):
+Die Duesterwaldplakette reagiert nun auch auf "duesterwaldplakette". Das
+sollte gewisse "Problemchen" beseitigen.
+
+-----------------------------------------------------------------------------
+
+
+
+Daemonenruestungen (Boing, 27. Jun 2003, 15:52:01):
+Hi,
+die Daemonenklamotten in der Steinbeisserhoehle waren wohl ein paar
+Wochen defekt. Da hab ich bei einer kosmetisch Aenderung eine Kleinigkeit
+verbockt. Sorry dafuer! Neue Ruestungsteile sollten ab sofort wieder
+funktionieren.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Tharamon (Bambi,  8. Jul 2003, 17:59:55):
+Ueber besagten NPC gingen einige Hinweise ein, denen ich nachgegangen bin. Das
+Ergebnis ist zunaechst, dass der NPC nicht geaendert wird. Ich habe Patryn als
+Gildenmagier der Zauberer entsprechende Bugreports zukommen lassen.
+Da ich davon ausgehe, dass es sich bei den bei mir eingegangenen Hinweisen
+nicht um Beschwerden an sich gehandelt hat, werde ich den NPC bis auf
+Rueckmeldung von Patryn nicht aendern.
+
+MfG, Bambi.
+
+-----------------------------------------------------------------------------
+
+
+
+Grillfest bei Darwin (Bambi,  5. Aug 2003, 11:25:55):
+Nachdem einige Delfenin der Endsequenz bei Darwin das Zeitliche gesegnet
+haben, sorgt deren Goettin nun dafuer, dass dies nicht mehr passieren sollte.
+Falls doch jemand dort aufgrund der Sonneneinwirkung stirbt, moege man mir das
+melden.
+
+MfG, Bambi.
+
+-----------------------------------------------------------------------------
+
+
+
+Darwins Questbelohnung... (Bambi,  6. Aug 2003, 15:42:10):
+liegt nun in Version 1.7 vor. Dabei wird nun (wieder) im normalen reset
+informiert, falls gewuenscht.
+Bekommen kann man ein Update durch ende/crash/reboot oder zerstoeren und neu
+holen.
+
+MfG, Bambi.
+
+-----------------------------------------------------------------------------
+
+
+
+Grummelstein (Boing, 12. Aug 2003, 14:53:46):
+Der Grummelstein wurde gewaltig aufgewertet und wiegt Container jetzt
+mitsamt Inhalt. Dafuer funktioniert er bei Ruestungen nicht richtig. :)
+Letzteres erledigt sich beim naechsten Reboot (moege er bald ueber uns
+kommen), danke an Rikus fuer den Mudlib-Bugfix.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Darwins Questbelohnung... (Bambi, 18. Aug 2003, 15:02:33):
+~#! rn=Bambi rt=1060177330 rg=d.gebirge
+~#! tid=1060177330
+... gibts ab sofort in Version 1.8 und sollte einen brauchbaren Bugfix fuer
+falsch berechnete Zeiten bei Uhrzeitangaben besitzen.
+
+-----------------------------------------------------------------------------
+
+
+
+Schrat (Boing, 26. Aug 2003, 17:18:20):
+Ich hab die Schrat-Quest ueberarbeitet und verschoben, sollte es wegen
+alter Quest-Objekte zu Problemen kommen, dann wendet euch bitte an mich.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Die Toilette im Sehergrab... (Bambi, 10. Sep 2003, 11:47:42):
+wurde ueberarbeitet und wieder angehaengt. Falls seltsam erscheinende Dinge
+passieren sollten, meldet es mir bitte.
+Im Zweifelsfall kann Gabylon das Klo kurzfristig noch einmal abhaengen, also
+wundert euch nicht, falls ihr doch mal nicht reinkommt.
+
+-----------------------------------------------------------------------------
+
+
+
+Trollhoehle (Bambi, 10. Okt 2003, 18:35:43):
+Ich habe in der Trollhoehle einige "Bugfixes" eingebaut. Konkret betrifft es
+die Leichen und die Opferfreudigkeit der Dunkelelfen, sprich, das Mitnehmen
+sollte nun nicht mehr funktionieren.
+Leider stiess das Szenario "Port Vain wird von einem Dutzend aggressiven
+Trollen belagert." nicht auf die erwartete Gegenliebe, so dass entsprechende
+Gegenmassnahmen eingebaut wurden.
+
+Des Weiteren koennen ab sofort Alchemiefreunde auf Zutatensuche gehen und auch
+welche finden.
+
+Viel Spass beim Sterb^wSpielen.
+
+Bambi.
+
+-----------------------------------------------------------------------------
+
+
+
+Kampfstaebe (Boing, 10. Okt 2003, 19:52:15):
+Die Kaempfstaebe der Wassertrolle sind ab sofort tatsaechlich welche.
+Gilt natuerlich nur fuer neue Exemplare.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Kneipe in Amalgrim (Bambi, 13. Okt 2003, 02:46:35):
+Ich habe an einigen internen Sachen des Sehergrabs gebastelt. Sollten sich
+diese (durch Bugs) bemerkbar machen: keine Panik. Sobald ich davon weiss,
+reparier ichs.
+
+MfG, Bambi - marktforschend.
+
+-----------------------------------------------------------------------------
+
+
+
+Waffen (Morgoth, 18. Okt 2003, 16:05:57):
+Hi,
+
+
+auch hier in der Drakofestung gibts nun Waffen mit Laenge. Natuerlich auch
+hier nur die frisch geclonten.
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Neues aus der Parawelt (Morgoth, 18. Nov 2003, 21:34:16):
+Hi Leichenanwaerter :)
+
+
+Nach fast 5 Jahren hat es die Balance endlich geschafft, ein *raeusper* neues
+Objekt von mir zu genehmigen. Da meine kleinen NPC so vollgestopft sind,
+musste ich mal ein bischen was neues basteln.
+
+
+Irgendwo in der Festung hat sich doch tatsaechlich ein Weg in die Parawelt
+geoeffnet. Doch seid gewarnt, geht nicht allein, dies maechtige Objekt ist
+sehr gut beschuetzt.
+
+Viel Spass beim Sterben wuenscht...
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Hydraruestung (Bambi,  7. Dez 2003, 14:16:15):
+Obwohl es sich um einen Bugfix handelt, informiere ich hiermit die
+(zunkuenftigen) Hydratoeter darueber, dass man keine neue Hydraruestung
+bekommt, wenn man noch eine alte Ruestung dieser Zunft hat.
+MfG, Bambi.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Hydraruestung (Bambi,  9. Dez 2003, 12:19:59):
+~#! rn=Bambi rt=1070802975 rg=d.gebirge
+~#! tid=1070802975
+Update.
+Folgende Umstellung tritt ab sofort in Kraft.
+1. Wenn man beim Toeten des Hydrakoerpers eine alte Hydraruestung hat, dann
+wird die durch eine neue ersetzt.
+2. Ist dies nicht moeglich, dann haelt die alte Ruestung wieder sechs volle
+Wochen.
+3. Unabhaengig davon, ob man die Ruestung anzieht oder nicht, wird sie sich
+nach sechs Wochen von euch verabschieden. (*)
+
+Falls euch irgendwelche sonderbaren Dinge in Bezug auf die Ruestung auffallen,
+meldet mir das.
+
+MfG, Bambi.
+
+
+(*) Das ist ein Bugfix.
+
+-----------------------------------------------------------------------------
+
+
+
+Lupinental (Bambi, 31. Jan 2004, 13:45:27):
+Hi.
+Ich habe mehrere Hinweise zum Lupinental.
+1. Ich schraub(t)e ein paar Bugfixes fuer die Quest ein. Wenn was nicht
+funktioniert, wie in der KL, bei mir melden.
+2. Die Hydraruestungen bzw. die Lebensdauerberechnung hatte einen kleinen
+(*huestel*) Bug, den ich zwar (hoffentlich) behoben habe, der aber dazu
+fuehrt, dass verlaengerte Hydraruestungen keine Lebenserwartung haben.
+Zumindest die, die vor heute gemetzelt wurden. Inwieweit ich die von Hand
+ersetze, weiss ich noch nicht.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Lupinental (Bambi, 31. Jan 2004, 15:42:55):
+~#! rn=Bambi rt=1075553127 rg=d.gebirge
+~#! tid=1075553127
+Sodala. Die Sphingen stecken denjenigen, denen eine Hydraruestung zusteht,
+eine zu. Man muss nur hinlatschen. Die Verfallzeiten habe ich auf eine Stunde
+genau im Logfile eingetragen. Sollte es noch Probleme geben, meldet euch bei
+mir.
+
+-----------------------------------------------------------------------------
+
+
+
+Trollhoehle (Bambi, 21. Feb 2004, 17:33:40):
+Ich habe einen kleinen Bugfix (!) in die Miniquestbelohnung der Trolle
+eingebaut. Ich habe darueber hinaus auch alle bestehenden Broschen ersetzt, es
+braucht also niemand ende zu machen oder (deshalb) zu rebooten.
+
+Bambi.
+
+UDHM
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Magische Ungereimtheiten (Boing, 21. Mai 2004, 17:38:03):
+~#! rn=Nibel rt=1085143080 rg=d.wald
+~#! tid=1085143080
+Hab ich im Gebirge schon vor knapp nem Jahr gemacht ... ist es eigentlich
+jemand aufgefallen? ;)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+*japs (Magdalena, 13. Jun 2004, 15:29:47):
+huhu :)
+zum einen: eure heilige verschollenheit ist wieder da...
+zum anderen: ... sie tut auch wieder was.
+zur info: als mini-vorgeschmack ... im gebirge gehts weiter... aeh hoeher...
+aber so wirklich interessant ist das noch nicht.
+aber ich wollte es mal sagen, nicht dass der ein oder andere (kleine) spieler
+dorthin muss und keiner weiss, dass es nun nen neuen weg gibt... bla
+gruss
+magda, segnet euch alle
+
+-----------------------------------------------------------------------------
+
+
+
+Bogen von Robin (Boing, 16. Aug 2004, 22:04:43):
+Der Bogen von Robin ist ab sofort kein Speer mehr sondern eine
+Fernkampfwaffe. Natuerlich nur neue Exemplare.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Eisstab (Boing,  4. Sep 2004, 11:29:46):
+Auf Wunsch einer einzelnen Feline ist der Stab des Eises jetzt ein
+Kampfstab.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Eisstab (Turbo,  4. Sep 2004, 22:17:12):
+~#! rn=Boing rt=1094290186 rg=d.gebirge
+~#! tid=1094290186
+Hmm. Als ebenfalls Feline, aber von einer anderen Gilde, bin ich 
+darueber alles andere als gluecklich. Die Waffenklasse WT_STAFF
+ist derzeit die Privatwaffenklasse der Tanjian-Gilde, die die
+Benutzer allgemeiner Waffenskills zwar zuecken, aber nicht ueben
+koennen - oder zumindest ihren Uebungsfortschritt nicht abfragen.
+Insofern empfinde ich das ein wenig als Enteignung - eine gute Waffe
+weniger, mit der man stumpfe Waffen ueben kann.
+Alternativ koennte natuerlich jemand den Hintern hochkriegen, den
+Skill - oder wenn er schon drin ist, die Abfragemoeglichkeit - 
+fuer die Allgemeinheit bereitzustellen.
+
+Turbo (Kater)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Eisstab (Karima,  4. Sep 2004, 22:23:02):
+~#! rn=Turbo rt=1094329032 rg=d.gebirge
+~#! tid=1094290186
+Ein aufmerksamer Leser der MPA haette vorhin auch Maars Bekanntmachung
+vernommen, dass Kaempfer ab nun auch den allgemeinen Waffenskill fuer Staebe
+abfragen koennen.
+
+Ausserdem: Oh Du armer. Am besten alles, was Katzenkrieger nicht haben
+abhaengen.
+Die Waffenklasse ist recht neu und vielleicht dauert es ein wenig, bis alle
+Gilden die Skills entsprechend realisiert haben etc.
+
+
+*shrug
+
+Karima - deren Zweitie Deinen Stabskill sehr wohl nachschauen kann.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Eisstab (Turbo,  4. Sep 2004, 22:29:25):
+~#! rn=Karima rt=1094329382 rg=d.gebirge
+~#! tid=1094290186
+hmm. 1. danke fuer den Hinweis und dank an Maarg. 2. nicht schon
+wieder flamen. Ich will garnix abgehaengt sehen. 3. Ja.
+
+Turbo (Kater)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Eisstab (Boing,  6. Sep 2004, 16:09:31):
+~#! rn=Turbo rt=1094329032 rg=d.gebirge
+~#! tid=1094290186
+Naja, es geht ja auch nicht darum Dich gluecklich zu machen. ;)
+Auf die Anfrage hin hab ich den Stab angeschaut, von der Beschreibung
+her ist es halt ziemlich eindeutig ein Kampfstab, deshalb der Typwechsel.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Eisstab (Turbo,  6. Sep 2004, 21:51:52):
+~#! rn=Boing rt=1094479771 rg=d.gebirge
+~#! tid=1094290186
+Bestimmt geht es nicht darum, ebensowenig wie darum, mich zu aergern.
+Meine Bedenken wurden im uebrigen ja ausgeraeumt - wenn nicht, waere
+es auch nur mein persoenliches Pech gewesen :) 
+Das Argument bezueglich des Stabs ueberzeugt mich im uebrigen auch,
+er ist in der Tat ein Stab und keine Keule. Auch wenn es ein paar 
+Leute mit gutem Keulenskill weniger erfreut.
+
+Turbo (Kater)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Eisstab (Gloinson,  6. Sep 2004, 21:58:56):
+~#! rn=Turbo rt=1094500312 rg=d.gebirge
+~#! tid=1094290186
+*huestel* *raeusper*
+Jammer! Jammer! Jammer! Mein Erstiezweitie ist Klerikerin und nutzt gern den
+Eisstab, und sie ist schon so alt. Und jetzt muss sie doch allen Ernstes den
+Skill dafuer neu lernen. Und wann wird der Baumstamm WT_LOG? Jammer! Jammer!
+Ich dachte, mit dieser bloeden Forscherpunktaenderung, als ich neu forschen
+musste waere das Schlimmste vorbei, aber ihr bloeden Magier habt ja immer neue
+Ideen. Jammer! Jammer!
+
+Mist. Ich war auch schon mal authentischer.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Eisstab (Turbo,  6. Sep 2004, 23:05:10):
+~#! rn=Gloinson rt=1094500736 rg=d.gebirge
+~#! tid=1094290186
+das war es, was ich an anderer Stelle mit pervertierten Kommunikations-
+strukturen bezeichnete: die Unfaehigkeit, mal ein paar Zeilen lang 
+sachlich zu bleiben, nicht zu poebeln oder runterzumachen. 
+
+Turbo (Kater)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Eisstab (Gloinson,  6. Sep 2004, 23:16:24):
+~#! rn=Turbo rt=1094504710 rg=d.gebirge
+~#! tid=1094290186
+Ey, mach mich hier nicht von der Seite an, du kleiner, alter Sack. Ich war
+schon ein Hampelmannspieler, da hast du noch Quests geloest und offensichtlich
+wenig Spass dran gehabt. Jawoll.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Eisstab (Muadib, 10. Sep 2004, 19:45:33):
+~#! rn=Turbo rt=1094329032 rg=d.gebirge
+~#! tid=1094290186
+der artikel gehoert nach schmarrn
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Eisstab (Muadib, 10. Sep 2004, 19:46:39):
+~#! rn=Muadib rt=1094838333 rg=d.gebirge
+~#! tid=1094290186
+was die folgeartikel bewiesen
+
+-----------------------------------------------------------------------------
+
+
+
+Wolpertinger aergern .... (Zook, 14. Sep 2004, 17:37:29):
+.... verursacht nach wie vor ein schlechtes Gewissen, aber weitere
+schlimmere Gesinnungsaenderungen sind nun nicht mehr in dem Masse 
+Folge unartigen Verhaltens.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Wolpertinger aergern .... (Morgoth, 14. Sep 2004, 17:44:25):
+~#! rn=Zook rt=1095176249 rg=d.gebirge
+~#! tid=1095176249
+Wer will die aergern? Kann man die Scheissviecher endlich anzuenden und
+abfackeln? Hilft auch sicher beim Lichtsssssdings.
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Wolpertinger aergern .... (Kellybundy, 14. Sep 2004, 17:45:45):
+~#! rn=Morgoth rt=1095176665 rg=d.gebirge
+~#! tid=1095176249
+Debuggen waere vielleicht ein sinnvoller Anfang :)
+
+-----------------------------------------------------------------------------
+
+
+
+FDO testen #3 (Bambi,  5. Nov 2004, 10:45:28):
+Nach weiteren Anpassungen schlage ich als naechsten Testtermin Dienstag abend
+vor. Interessierte Mitglieder bisheriger Testteams und andere Freiwillige
+melden sich bitte bei mir.
+MfG, Bambi.
+
+-----------------------------------------------------------------------------
+
+
+
+Hydraruestung (Bambi, 21. Nov 2004, 17:23:27):
+Der "Ich habe schon eine Hydraruestung und bekomme keine neue"-Bug sollte
+behoben sein.
+
+-----------------------------------------------------------------------------
+
+
+
+xtreme bugfixing (Baboon,  7. Dez 2004, 11:18:17):
+Huhu!
+
+Ich hab mal mein report-file ausgeraeumt.
+Danke an alle, die da was eingetragen haben.
+(Falls das ueberhaupt noch jemand von
+euch liest. Einige der Eintraege
+waren "etwas" aelter (1998))
+
+Ausserdem habe ich mal dafuer gesorgt,
+dass das ganze Kroppzeug auf der Wiese
+nicht mehr weglaeuft. Denjenigen die sich
+vielleicht doch noch in mein Tal verirren also
+viel Spass.
+
+Baboon (Asbach uralt)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Es ist soweit... (Bambi, 12. Jan 2005, 01:35:46):
+Es begab sich zu einer Zeit als der Karlsruher Mudstammtisch noch eine
+Stammkneipe hatte. Geschichten wurden gesponnen und Ideen geboren. Thesen
+wurden darueber aufgestellt, welche Elemente eine gute Geschichte haben
+muesse. Und eine Wette wurde abgeschlossen.
+Es ging dabei um eine legendaere Abkuerzung und ein Versprechen, ein
+anschliessbares ... Etwas ... zu erschaffen. Doch von diesem Etwas ist heute
+nicht die Rede. Dieser Artikel handelt vom anderen Teil der Vereinbarung.
+Ich sollte ein von Muadib geschriebenes Konzept umsetzen, das mit "FDO"
+abgekuerzt wird. Und die Implementierung ist beendet.
+
+FDO ist angeschlossen.
+
+
+FDO ist eine Miniquest fuer Seher und solche, die es sein wollen. Sie beginnt
+im Sehergrab in Amalgrim. Der Name der Kneipe soll aber kein ein Omen sein:
+Die simple Tatsache, dass der Wanderer auf der Hochebene keine Informationen
+zu Miniquests preisgibt, hat diesen Ort zum Beginn des Abenteuers gemacht.
+
+Muadib hat die Erstkillpunkte bisher noch nicht angepasst. Es koennte also
+passieren, dass ihr ploetzlich mehr Stufenpunkte habt als vorher, lange
+nachdem ihr die Viecher umgehauen habt. Aufgrund der Komplexitaet der NPCs bin
+ich fuer Anregungen bezueglich der Stupse sehr dankbar.
+
+MfG, Bambi.
+
+P.S.
+Vielen Dank an alle Tester. Ich verzichte auf eine namentliche Nennung, da ich
+zum einen nicht mehr weiss, wer nun alles wann mit welchem Char getestet hat
+und zum anderen, weil ich die "wir wissen schon, wie es geht"-Personen nicht
+unnoetigen Fragen aussetzen will.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Es ist soweit... (Zook, 12. Jan 2005, 10:19:23):
+~#! rn=Bambi rt=1105490146 rg=d.gebirge
+~#! tid=1105490146
+Anregungen bezueglich der Stupse nimmt Muadib auch gerne entgegen.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Bugfix (Morgoth, 27. Feb 2005, 21:35:55):
+Mal wieder ein Bugfix.
+
+Danke an Arathorn (von mir). Ihr duerft ihn gern dafuer pruegeln...wenn ihr
+bei Lars wieder raus seid.
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+katze entlaufen (Enero,  6. Mai 2005, 20:13:35):
+Meine liebe Hauskatze hat sich im Hoehlenlabyrinth der Schreckenspitze verlaufen. Wer sie mir zurueckbringt bekommt 100 Muenzen Finderlohn.
+-----------------------------------------------------------------------------
+
+
+
+Re: katze entlaufen (Mingo,  6. Mai 2005, 20:56:28):
+~#! rn=Enero rt=1115403215 rg=d.gebirge
+~#! tid=1115403215
+Ich nehme an, tot ist auch in Ordnung?
+
+
+-----------------------------------------------------------------------------
+
+
+
+sack reis (Baboon, 12. Mai 2005, 12:18:51):
+Hallo.
+Falls es wen interessiert:
+Die Wendeltreppe in meinem Tal fuehrt jetzt
+nicht mehr laenger ins Leere.
+
+Baboon()
+
+-----------------------------------------------------------------------------
+
+
+
+Kaum erwaehnenswert... (Bambi, 19. Aug 2005, 19:10:08):
+sind die "Neu"anschluesse im Gebirge, wenn man sie mit den Inselsachen
+vergleicht. Dennoch moechte ich euch nicht vorenthalten, dass ein paar
+Kreidezeichen nun einen Nutzen haben.
+
+Bambi.
+
+-----------------------------------------------------------------------------
+
+
+
+Ein Gedicht (Humni,  7. Mai 2006, 22:27:18):
+Ein Berg hatte einst einen Gipfel
+darauf war kein Baum (kein Wipfel)
+Nur eine einsame Hoehle
+und dort wohnte ohne viel Genoele
+eine junge Kreatur, ein Wolf sogar?
+Er hatte jedenfalls keine Bar.
+Doch er wohnte dort, und murrte nicht,
+fuehrte ein Leben, einfach und schlicht.
+Doch weiter oben war noch jemand da,
+der war lang nicht zu erreichen.
+Er redet sicher viel Blahblah,
+das ist zum Steinerweichen.
+
+Nun also jeder Flitze
+zum Meister der Blitze.
+
+Humni (nuechtern!)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ein Gedicht (Montanus,  8. Mai 2006, 10:18:05):
+~#! rn=Humni rt=1147033638 rg=d.gebirge
+~#! tid=1147033638
+Oh je, muss das Bier auf Boings Party schlecht gewesen sein.
+
+-----------------------------------------------------------------------------
+
+
+
+Neulich... (Sniper, 17. Apr 2007, 09:39:02):
+...in einer kleinen Hoehle in der Naehe des Bergdorfs...
+
+Ebender kommt an.
+
+Robert staunt.
+
+Robert sagt: Wow! Was machst du denn hier?
+
+Ebender knuddelt Robert.
+
+Ebender sagt: Ich bin der Testie von Ennox und soll mir hier die Hoehle
+Ebender sagt: ansehen.
+
+Robert rotflt.
+
+Robert troestet Ebender.
+
+Robert sagt: Jaja, das hat Sniper damals auch zu mir gesagt. 'Schau dir
+Robert sagt: mal die Hoehle an', hat er gesagt, die wird bald 
+Robert sagt: angeschlossen.
+
+Ebender fragt: Damals?
+
+Robert sagt: Ja, ist schon ne ganze Weile her. Welches Jahr haben wir
+Robert sagt: denn zur Zeit?
+
+Ebender sagt: 2007. Wieso fragst du?
+
+Robert stoehnt.
+
+Robert sagt: Ich bin schon seit dem letzten Jahrhundert hier unten. Hab
+Robert sagt: seit Jahren kein Tageslicht mehr gesehen.
+
+Ebender sagt: WAS? Seit dem letzten Jahrhundert? Was hat Sniper denn die
+Ebender sagt: ganze Zeit gemacht? Der ist hier doch zustaendig gewesen, 
+Ebender sagt: oder?
+
+Robert sagt: Keine Ahnung, was der so getrieben hat. Hatte wohl was 
+Robert sagt: Besseres zu tun. Pah!
+
+Ebender sagt: Da wuerde ich mich aber beschweren. Wir Testspieler haben 
+Ebender sagt: doch auch Rechte.
+
+Robert seuft.
+
+Robert fragt: Bei wem soll ich mich denn da beschweren?
+
+Ebender antwortet: Na beim Mudgott. Genau! Beschwer dich bei Zook.
+
+Robert erbleicht.
+
+Robert fluestert: Psssst. Der hat hier doch auch mit gemacht. Der steckt 
+Robert fluestert: mit Sniper unter einer Decke. Bei dem koennen wir uns 
+Robert fluestert: nicht beschweren.
+
+Ebender arglt.
+
+Zoom kommt an.
+
+Zoom sagt: Hi ihrs.
+
+Robert sagt: Ach sieh an, der Zoom kommt auch mal wieder vorbei.
+
+Ebender knuddelt Zoom.
+
+Ebender sagt: Hi Zoom.
+
+Zoom sagt: Testet ihr auch hier?
+
+Ebender nickt.
+
+Robert sagt: Ja, schon seit vielen Jahren.
+
+Robert fragt: Ebender, sag mal, warum hat dich Ennox eigentlich gerade 
+Robert fragt: jetzt hier her geschickt? Und warum bist du wieder hier, 
+Robert fragt: Zoom?
+
+Ebender sagt: Ach ich weiss auch nicht. Er meinte sowas von 'Sniper will 
+Ebender sagt: nun endlich mal die Hoehle fertig machen und ich hab ihm 
+Ebender sagt: da ein wenig unter die Arme gegriffen. Schau dir das mal 
+Ebender sagt: an.'
+
+Zoom sagt: Ja, Zook erzaehlte auch sowas.
+
+Robert staunt.
+
+Robert fragt: Heisst das etwa, dass die Hoehle nach all der Zeit wirklich
+Robert fragt: angeschlossen wird?
+
+Ebender sagt: Naja, nicht ganz. Aber zumindest ein erster Teil soll wohl
+Ebender sagt: bald zugaenglich sein.
+
+Robert freut sich.
+
+Robert sagt: Super! Dann kommen wir ja vielleicht bald hier raus.
+
+Ebender schuettelt den Kopf.
+
+Ebender sagt: Ich fuerchte nicht. Ennox meinte, sie wollten in der 
+Ebender sagt: naechsten Zeit auch die anderen Bereiche der Hoehle fertig 
+Ebender sagt: machen. Die werden wir dann wohl auch noch testen muessen.
+
+Zoom sagt: Ja, Zook will wohl auch wieder richtig mit einsteigen. Da 
+Zoom sagt: kommt noch Arbeit auf uns zu.
+
+Robert sagt: Naja, wenigstens hat man wieder was zu tun. Und ich stecke 
+Robert sagt: nicht mehr allein hier unten.
+
+Ebender sagt: Na dann... Wolln wir uns mal ans Testen machen, oder?
+
+Robert sagt: Ja, machen wir das. Vielleicht kommen dann ja sogar bald ein
+Robert sagt: paar Spieler hier rein.
+
+-----------------------------------------------------------------------------
+
+
+
+Danksagungen (Sniper, 17. Apr 2007, 09:50:58):
+Endlich ists soweit: Der erste Teil der ollen Hoehle ist da!
+
+Herzlicher Dank geht an Ennox fuer die Unterstuetzung in letzter Zeit,
+Maharet fuer die oft noetigen Tritte ins verlaengerte Rueckgrat, von
+Ennox und mir endlich mal fertig zu werden, Tylak fuers Testen dieses
+ersten Teils und Zook fuers Testen und die Abnahme in Vertretung von Boing
+(und die Willensaeusserung, beim Rest wieder richtig mit einzusteigen ;-))
+
+Sollte Ennox oder Zook sonst noch jemanden dort unten beschaeftigt haben,
+so bedanke ich mich unbekannterweise auch an diese Adresse ;-)
+
+Und nun ab in die Hoehle!
+
+Sniper
+
+-----------------------------------------------------------------------------
+
+
+
+Hydratoeter (Bambi, 17. Mai 2007, 14:44:31):
+Ich habe eine Meldung eingebaut, die den Hydratoeter nennt, auch wenn dieser
+schon eine Ruestung hat. Falls sich irgendetwas anders verhalten sollte als
+erwartet, bitte bei mir melden.
+Bambi.
+
+-----------------------------------------------------------------------------
+
+
+
+Seltsame Briefe (Humni,  1. Jul 2007, 22:44:37):
+Huhu,
+
+in meiner Drachenhoehle fand ich folgenden Brief:
+
+Lieber Humni,
+
+kanns Du vielleich jemandn suchn der mir hilf? Der bloede Elf will mich
+waschn. Kanns du den einfach auffressn? Bittae!
+
+Deine Lisa aus der Zwaernstatt
+
+Ausserdem fand ich noch einen Brief:
+
+Verehrter Herr Drache,
+
+ich habe erhoehte Schwierigkeiten dabei, die Bevoelkerung des Fleckens Erde,
+der sich Zwergenstadt nennt, seiner Bestimmung zuzufuehren. Ich wuerde daher
+Eure Wenigkeit darum bitten, mir einen aufrichtigen Elfen zu schicken.
+
+Hochachtungsvoll
+Exzelsius Wonnenplansch
+
+Ich hab auf beides keine Lust, und ich glaube, das ist nicht der Rede wert.
+Aber wer mag kann ja mal gucken gehen.
+
+Viel Spass dabei.
+
+Humni
+PS: Erwartet jetzt bloss nicht zuviel ;-)
+
+PPS: Verbesserungsvorschlaege koennt ihr im Repfile absetzen (oh Jof, was sag
+ich da...). Ich werde aber nicht jedes abgesetzte Kommando einbauen. Wie immer
+halt. ;-)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Metzelspielplatz ausgegraben (Ennox, 24. Aug 2007, 08:32:57):
+~#! rn=Ennox rt=1187807706 rg=d.unterwelt
+~#! tid=1187807706
+ploetzlich und unerwartet wurde ein weiterer Zugang zu der von Janne 
+entdeckten Hoehle entdeckt. Irgendwo in der Osterbachschlucht wurde ein
+Orkbabyschnuller gefunden. So kommen nun endlich auch Anfaenger in das 
+"Anfaengergebiet" :)
+i.A. Ennox
+
+-----------------------------------------------------------------------------
+
+
+
+Blumenvasen (Ennox, 24. Aug 2007, 09:39:59):
+gibts jetzt an einer einschlaegigen Stelle.
+
+Ennox
+
+-----------------------------------------------------------------------------
+
+
+
+Drakonierfestung (Ark, 11. Sep 2007, 13:20:49):
+Eine kleine Quest in der Festung gibt jetzt wieder Punkte. Funktionierte
+leider seit ca. 6 Jahren nicht mehr so, wie es sollte. Vielleicht mal wieder
+ein Anreiz, bei den Drachen vorbeizuschauen.
+Ich bin natuerlich nicht schuld ... es wurde nur vergessen :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Eiswurm (Boing,  5. Nov 2007, 17:21:35):
+Der Eiswurm im Warok Gebirge muesste nun wieder funktionieren. Viel Spass
+beim metzeln (oder gemetzelt werden). Probleme bitte an mich melden, danke.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Duesterwald (Ennox, 16. Jan 2008, 23:31:08):
+~#! on=Ennox ot=1200522581 og=d.wald
+Ich bin grad dran, die Auswertung vom Para-DW zu ueberarbeiten.
+Frage an Euch. Sind die 10 Plaetze ok, oder waere Euch eine laengere Liste
+lieber, wo man auch den eigenen Platz sieht.
+Da es offensichtlich mehrmals geht wird dann wohl der schnellste Run drin
+bleiben mit den Helfern und der Zeit von da. Also geht ggf. Euer kostbarer
+erster Run floeten.
+
+Mesi
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Duesterwald (Ennox, 16. Jan 2008, 23:31:56):
+~#! rn=Ennox rt=1200522668 rg=d.gebirge
+~#! tid=1200522668
+Es sind natuerlich 20 Plaetze aktuell.
+Mesi
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Duesterwald (Gnome, 16. Jan 2008, 23:33:16):
+~#! rn=Ennox rt=1200522716 rg=d.gebirge
+~#! tid=1200522668
+alle auflisten mit sekundenangabe waere toll.
+wer es mehrmals macht, rechnet wohl damit, dass sein erster run
+wieder verschwindet, bzw. will es wohl eher auch so. ;)
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Duesterwald (Zesstra, 16. Jan 2008, 23:35:33):
+~#! rn=Ennox rt=1200522668 rg=d.gebirge
+~#! tid=1200522668
+Mhmm, ich moechte zu bedenken geben, dass Feuerwehr u.U. mit Absicht die
+20-Platz-Topliste gebaut hat und man bei inhaltlichen Aenderungen, die
+wesentlich sind, vielleicht doch fragen muesste.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Duesterwald (Nicolai, 17. Jan 2008, 01:21:12):
+~#! rn=Ennox rt=1200522668 rg=d.gebirge
+~#! tid=1200522668
+wie waers mit top20 fuer alle sichtbar und jeder sieht seinen
+eigenen run unabhaengig von der platzierung? (analog zu
+den toplisten der arena).
+haette den vorteil dass man auch noch jahre nach bestehen
+weiss/erinnert wird, wer einem alles geholfen hat damals.
+hachja gute alte zeit :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Duesterwald (Ennox, 17. Jan 2008, 01:35:43):
+~#! rn=Nicolai rt=1200529272 rg=d.gebirge
+~#! tid=1200522668
+Dummerweise gibt es fuer alle Runs nur einen Log-Eintrag pro Spieler, nur
+112 hat 2. So das die Infos ueber den ersten Run wohl da sind, aber keine
+ueber die folgenden :(. Ansonsten finde ich die Idee gut.
+Mesi
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Duesterwald (Todie, 17. Jan 2008, 09:02:02):
+~#! rn=Ennox rt=1200530143 rg=d.gebirge
+~#! tid=1200522668
+Naja, wer DW ein weiteres Mal macht, um sich zu verbessern, dem ist sein
+erster Run nicht wichtig, insofern wird der halt ueberschrieben.
+Aber Vectors Idee finde ich auch gut.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Duesterwald (Humni, 18. Jan 2008, 13:49:06):
+~#! rn=Todie rt=1200556922 rg=d.gebirge
+~#! tid=1200522668
+Ich faende eine normale Topliste mit der Zusatzinfo "Du bist uebrigens auf
+Platz 107, Dir haben Hugalf, Oham und Sharenug geholfen, und Du hast 3 Wochen,
+2 Tage, 3 Stunden und 12 Minuten gebraucht" toll. Wer auf Platz 21-106 ist
+oder hinter 107 ist fuer mich vielleicht nicht so schrecklich interessant.
+
+Aber nur, wenn Du dafuer wirklich Zeit hast, ich sehe das nicht als dringend
+an.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Es ward Licht im Duesterwald (Grimmborn,  8. Feb 2008, 07:40:55):
+~#! rn=Ennox rt=1202451781 rg=d.gebirge
+~#! tid=1202451781
+Deine Zeilenlaenge ist kaputt.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Es ward Licht im Duesterwald (Ennox,  8. Feb 2008, 08:07:27):
+Liebe Para-N'os'Fret-Metzler,
+
+auf Bitten von Zesstra und Arathorn hab ich mich des Bestenlisten
+Masters der Duesterwald-Quest mal angenommen und den etwas debuggt und
+gefixt (d.h.  neu geschrieben).
+Es wird jetzt die Liste aller Leute, die den Kampf gemacht haben in
+einem sauberen Format intern gespeichert.
+Damit einhergehend wurden einige Stellen im Duesterwald und auch die
+Plakette angepasst.
+
+Ich habe die Plakette bei Euch allen aktualisiert. Dabei ging leider
+die Einstellung ob die Plaketteninfos in Eurem Extralook auftauchen,
+verloren. Per default ist das eingeschaltet, wer das bewusst
+ausgeschaltet haben sollte, moege es doch bitte noch einmal machen.
+Es gibt einen neuen Plakettenbefehl "bestenliste meine".
+
+Wenn es Probleme mit der Plakette oder im Duesterwald geben sollte,
+meldet Euch bitte bei mir und nicht bei einem der EM oder RM Gebirge.
+
+Wenn ihr noch Ideen habt, wo und wie man die erweiterten Informationen
+noch benutzen koennte, dann sagt auch einfach Bescheid.
+
+Danke,
+Ennox
+
+-----------------------------------------------------------------------------
+
+
+
+Maerchenquest (Amynthor, 10. Jan 2009, 16:51:01):
+Hallo,
+
+seit gestern abend ist meine ueberarbeitete Fassung der Maerchenquest
+angeschlossen. Das meiste davon sind technische Dinge (im Idealfall solltet
+ihr davon nichts merken), ein bisschen was ist allerdings neu...
+
+Wenn es irgendwelche Probleme damit gibt, lasst es mich wissen.
+
+Amynthor
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Maerchenquest (Mirimadel, 10. Jan 2009, 20:00:56):
+~#! rn=Amynthor rt=1231602661 rg=d.gebirge
+~#! tid=1231602661
+Hi Amynthor,
+
+danke das Du die Quest des Maerchens, wieder gebaut hast. Danke fuer Deine
+Arbeit.
+
+-----------------------------------------------------------------------------
+
+
+
+Spielfreudige Bergsteiger gesucht (Zzrxes, 11. Jan 2009, 11:19:23):
+Hallo ihrs,
+
+fuer ein Spiel mit Wuerfeln, Bergsteigern und 12 Seilen suche ich noch
+Tester. Interessenten moegen sich bitte bei mir melden :)
+
+*knuddels*
+Zz
+
+-----------------------------------------------------------------------------
+
+
+
+Tote Kampfbleche... (Zesstra,  8. Jul 2009, 19:36:07):
+Mir wurde zugetragen, dass (neuerdings?) das Kampfblech der SSP auch in totem
+Zustand den Ausgang blockiert und nun offenbar auf eine Reaktion eines Magiers
+gewartet wird.
+Laut Code scheint mir das Verhalten erstmal gewuenscht zu sein und mir ist im
+Gegenteil nicht klar, warum das bisher nicht der Fall gewesen sein sollte. Die
+in Frage kommenden Codestuecke sind seit min. letztem August (vermutlich auch
+viel laenger) nicht mehr geaendert worden.
+Da ich kein RM der Region bin und nicht wissen kann, welches Verhalten Boing
+beabsichtigt, moechte ich bitten, euch ggf. zur Klaerung seiner Absicht
+zunaechst direkt an ihn zu wenden.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Tote Kampfbleche... (Boing,  8. Jul 2009, 20:39:31):
+~#! rn=Zesstra rt=1247074567 rg=d.gebirge
+~#! tid=1247074567
+Das Ding kann man einfach aufheben, ich sehe da kein Problem.
+Wuesste auch nicht wieso sich das ploetzlich (von selbst) geaendert
+haben sollte.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Tote Kampfbleche... (Montanus, 20. Jul 2009, 16:05:24):
+~#! rn=Boing rt=1247078371 rg=d.gebirge
+~#! tid=1247074567
+Magierhilfe!
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Tote Kampfbleche... (Ark, 20. Jul 2009, 19:12:48):
+~#! rn=Montanus rt=1248098724 rg=d.gebirge
+~#! tid=1247074567
+Boing ist nachgewiesenermassen kein Magier!
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Tote Kampfbleche... (Gnome, 22. Jul 2009, 23:18:46):
+~#! rn=Boing rt=1247078371 rg=d.gebirge
+~#! tid=1247074567
+also meines wissens nach war das noch NIE noetig.
+und ich mudde schon ne weile...
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Tote Kampfbleche... (Boing, 29. Jul 2009, 23:29:57):
+~#! rn=Gnome rt=1248297526 rg=d.gebirge
+~#! tid=1247074567
+Naja, Du hast nen Magier und kannst auf das Aenderungsdatum schauen ...
+letzte Aenderung war im Maerz 2008. Ich schiebe dann einfach mal pauschal
+alle Schuld auf die Mudlib. :)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Tote Kampfbleche... (Mesirii, 29. Jul 2009, 23:30:23):
+~#! rn=Boing rt=1248902997 rg=d.gebirge
+~#! tid=1247074567
+Immer diese Lookup-Magier
+Mesi
+
+-----------------------------------------------------------------------------
+
+
+
+Totaler Ausruestungverlust (Ennox,  7. Aug 2009, 20:39:40):
+im Raum bei Peter dem Schild passiert jetzt nicht mehr. Danke an die RMs
+Gebirge fuer die Zustimmung.
+Ennox
+
+-----------------------------------------------------------------------------
+
+
+
+Der Stammgast (Bambi,  8. Sep 2009, 21:45:00):
+Hallo Mitmudder.
+
+Nach der Trollhoehle und dem Ogerwald darf ich endlich wieder einen
+Neuanschluss praesentieren, der auch den kleineren Spielern hoffentlich ein
+paar nette Minuten bietet. Obwohl das Sehergrab zwar nicht aller Welt
+Stammkneipe ist, hat sich der eine oder andere NSC gefunden, der gerne
+regelmaessig dort etwas isst und trinkt. Einem davon koennt ihr vielleicht bei
+etwas helfen.
+
+Ich wuensche euch viel Spass beim Questen und bedanke mich bei den vielen
+Testern, die mir nicht nur Fehler und fehlende Details gemeldet haben, sondern
+auch einige Anregungen, die zu Verbesserungen der Quest gefuehrt haben.
+
+Bambi
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Der Stammgast (Zesstra,  8. Sep 2009, 21:45:57):
+~#! rn=Bambi rt=1252439100 rg=d.gebirge
+~#! tid=1252439100
+Super! Herzlichen Glueckwunsch zum Anschluss! :-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Punkteschaenderdaemon gefoppt! (Ark, 27. Okt 2009, 20:06:06):
+In einer cleveren Hinterhaltaktion wurden dem Daemon neue Kills entlockt, die
+jetzt auf Kerbholz reagieren und auf der Plakette sichtbar sein duerften. Der
+Daemon scheint nicht erfreut zu sein und sucht nach Ausgleich ...
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Eine kleine rote Schachtel (Arathorn, 31. Dez 2009, 20:16:36):
+... wurde entsperrt.
+
+Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Der Ogerwald (Bambi, 19. Feb 2010, 13:05:52):
+Hallo.
+
+Ich habe im Ogerwald am Raumreset gebastelt. Die jetztige Variante sollte
+spielerfreundlicher sein und zu weniger Reset-Toden fuehren. Daueridlen wuerde
+ich da drinnen an eurer Stelle trotzdem nicht.
+
+Gruss,
+Bambi
+
+P.S.
+Bei auftretenden Bugs o.ae. einfach eine Mail an mich schreiben.
+
+-----------------------------------------------------------------------------
+
+
+
+Anpassung von Hemden (Humni, 20. Nov 2011, 23:24:10):
+Huhu,
+
+gewisse Hemden aus einem sehr wertvollen Material aus einem schrecklichen
+oberen Teil eines Berges, die man in heissen Regionen findet, koennen nun nur
+noch von Spielern angezogen werden, die auch in die entsprechenden Gebiete
+kommen.
+
+Gilt evtl. erst fuer neu geholte solche.
+
+Beschwerden an mich.
+
+Humni, im Auftrag der Balance
+
+-----------------------------------------------------------------------------
+
+
+
+Die Insel ist erreichbar (Bambi, 19. Feb 2012, 18:12:53):
+Hallo Mudder.
+
+Mit geringfuegiger Verspaetung (etwa acht Jahre oder so) laesst euch der
+Fischer noerdlich von Amalgrim mit den Booten zur Insel im See fahren.
+
+Ich bedanke mich bei meinen ausdauernden Testern und wuensche euch viel Spass
+beim Erkunden.
+
+Bambi
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Die Insel ist erreichbar (Mirimadel, 20. Feb 2012, 15:58:07):
+~#! rn=Bambi rt=1329671573 rg=d.gebirge
+~#! tid=1329671573
+Das neue Gebiet ist erste Klasse, da kann ich Bambi nur gratulieren und vielen
+Dank fuer dieses Gebiet.
+Metzeln und Forschen alles zusammen einfach grossartig und beim Nachschlagen
+im Netz sah ich auch wie Mike Krueger laechelt.
+Miri drueckt auf den "Gefaellt mir Button"
+
+-----------------------------------------------------------------------------
+
+
+
+"Nex' Fluch" (Bambi, 23. Feb 2012, 17:15:11):
+Das o.g. Item hoert absichtlich nicht auf die ID "fluch". Spaetestens als das
+Meditiere der Tanjian das Objekt (fuer den Spieler ungewollt) entsorgt hat,
+hab ich sie ausgebaut. Bitte keine Bugmeldung fuer die "fehlende" ID mehr
+absetzen.
+
+Ansonsten bedanke ich mich mal bei den bisherigen Spielern fuer den
+ausgiebigen Besuch und die vielen tollen Anregungen, die ich groesstenteils
+auch umgesetzt habe.
+
+Nach meinem Kenntnisstand ist im Gebiet noch kein Spieler gestorben. Ich
+verbuche das mal als Positiv-Werbung und wuensche euch weiterhin viel Spass im
+Lab. }=)
+
+Bambi
+
+-----------------------------------------------------------------------------
+
+
+
+Re: "Nex' Fluch" (Ark, 24. Feb 2012, 01:11:07):
+~#! rn=Bambi rt=1330013711 rg=d.gebirge
+~#! tid=1330013711
+[Tod:Lars] Ein selbstmoerderischer Sprung hat gerade Knz umgebracht.
+[Tod:Ein selbstmoerderischer Sprung] Mehr! Mehr Kerben!
+
+[Tod:Lars] Ein Monster hat gerade Knaz umgebracht.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: "Nex' Fluch" (Bambi, 24. Feb 2012, 12:52:30):
+~#! rn=Ark rt=1330042267 rg=d.gebirge
+~#! tid=1330013711
+Ich bin nach wie vor bei 738. Keine der Kerben geht auf mein Konto.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: "Nex' Fluch" (Bambi, 24. Feb 2012, 13:02:01):
+~#! rn=Bambi rt=1330013711 rg=d.gebirge
+~#! tid=1330013711
+Zur Ehrenrettung der Tanjian-Gilde sei gesagt, dass die Tanjian da nichts
+verbockt haben.
+
+-----------------------------------------------------------------------------
+
+
+
+Hammerfall (Ark, 17. Jun 2012, 11:51:59):
+Ich habe grad mal den Balance-Beschluss aus letztem Jahr umgesetzt, der
+gewisse Pfeile und einen Bogen betrifft. Die sind jetzt ein bisschen auf der
+Erde angekommen, was Schwerkraft, Handlungsfreiheit etc. betrifft. Es ist noch
+nicht alles umgesetzt, sie sind also (noch) unbegrenzt haltbar, aber das wird
+in absehbarer Zeit auch noch geaendert werden muessen. Auffaellige Aenderungen
+duerften die Schadensberechnung sein, die staerker auf individuelle Attribute
+eingehen sowie die Beruecksichtigung von Laehmung des Schuetzen. Kosten wurden
+leicht gesenkt. Pfeile verschiessen ist jetzt auch eine Aktion innerhalb der
+Kampfrunde. Und wer jetzt die Haende ueber dem Kopf zusammenschlaegt und sagt
+"das war vorher nicht so? omg", dem kann man nur entgegnen "Siehste mal." :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Robin sagt: Jo is denn heut scho Weihnachten? (Ark, 25. Okt 2012, 23:23:32):
+Und man kann sagen: Jawohl.
+Denn der gruene Mann hat endlich normgerechte Ausruestung bekommen. Einen
+Koecher mit schoenen, tollen Pfeilen, wie sie die Welt noch nicht gesehen hat.
+Mit Ausnahme der Balance, denn die hat sie verbessert. Und mir, denn ich hab
+die Anleitung genommen und das alte Holz zugunsten des formschoenen neuen
+zerbrochen.
+Man wird feststellen, dass die Pfeile jetzt noch wertvoller sind als zuvor,
+denn sie scheinen immer mal wieder gestohlen zu werden, wenn man mal wieder
+nicht in den Koecher schaut. Das ist der natuerliche Schwund, denn so tolle
+magische Pfeile halten eben nicht ewig. Aufgrund des tollen neuen Designs ist
+der Koecher nun noch magischer als zuvor, denn er funktioniert jetzt nach dem
+Prinzip "Aus zwei mach eins". Das funktionierte vorher noch nicht, passiert
+aber automatisch und unumkehrbar, wenn 2 Koecher in denselben Raum, Behaelter
+oder ins eigene Inventar gelangen. Man wird feststellen, dass die Pfeile jetzt
+auch etwas wiegen, nicht nur der Koecher. Dafuer laesst sich der Koecher nicht
+mehr verscherbeln ... was gut ist, wenn ihn boese Orks oder anderes Gesocks
+aus der Leiche nehmen und zu Geld machen wollen.
+So, Robin, jetzt viel Spass mit Deinem neuen Koecher und den schoenen Pfeilen.
+Du verlierst hoffentlich keine.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Unglaublich schwierige Aufgabe... (Humni, 21. Nov 2012, 21:44:52):
+Ich kann mir nicht vorstellen, dass das jemand schaffen kann. Es gibt
+vermutlich auch niemanden von Euch, der sich der intellektuellen und
+kaempferischen Herausforderung stellen mag. Seid gewarnt: Es wird eine der
+haertesten Missionen, die ihr je gesehen habt.
+
+Aber wenn ihr es schafft, diesen Artikel zu lesen, besteht Hoffnung.
+
+Geht in Euer Verderben.
+
+Geht in die Diamantbar.
+
+Sucht dort nach der Aufgabe.
+
+Sie ist nur fuer Euch.
+
+Viel Erfolg. Moege Lars nett sein.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Unglaublich schwierige Aufgabe... (Ark, 21. Nov 2012, 21:48:32):
+~#! rn=Humni rt=1353530692 rg=d.gebirge
+~#! tid=1353530692
+Ich habe diskutiert.
+
+Ich habe geweint.
+
+Ich habe gedroht.
+
+Ich habe mit Worten geschossen.
+
+Aber Humni oeffnete sein Maul und giftiger Atem machte sich um mich breit.
+
+Ich gab auf.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Geniesst die Hoehenluft (Miril, 19. Feb 2013, 20:21:08):
+Touristen aufgemerkt!
+
+Die Bergsteigerschule Joseppe&Glifuor bietet ab sofort ihre Dienste gegen
+kleine Gefaelligkeiten an:
+
+Ausruestungsberatung
+Konditionstraining
+Atemuebungen
+uvm.
+
+Wenden Sie sich vertrauensvoll an uns, und Unfaelle im Hochgebirge werden bald
+Geschichte sein. Geniessen Sie die Hoehenluft des Waroks und bewundern Sie
+unsere wundervolle Gebirgslandschaft. Geniessen Sie auf der Almhuette lokale
+Koestlichkeiten. 
+
+Ihr Team der Bergsteigerschule Joseppe&Glifuor
+
+
+-----------------------------------------------------------------------------
+
+
+
+Goblinschminke... (Zesstra,  2. Jul 2013, 21:53:19):
+Ich hab mal an der Goblinschminke grossflaechig gebastelt. Wenn da im
+Verhalten was anders nicht in Ordnung ist, sagt Bescheid.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Kunde (Humni, 24. Okt 2013, 22:08:27):
+Fuer Elfen und andere mit INT>21: Mich ueberkam Kunde, dass in der
+Zwergenstadt ein goettlich inspiriertes Zeichen seinen Niederschlag gefunden
+hat, das so goettlich ist, dass man die Goettlichkeit nicht einmal bemerkt, da
+sie sich in der Selbstverstaendlichkeit manifestiert. Gehet hin und sucht, so
+werdet Ihr finden die Aufgabe.
+Fuer Zwerge: Hurri. Hilfe. Heiss. Loch. Helfen. Los.
+Fuer Orks: Los, Zwerge hauen. Quester Weicheier.
+Fuer alle anderen: Es gibt ein Problem in der Zwergenstadt.
+
+Danke an Ark fuers Abnehmen und an Zook fuer eines der inspirierendsten
+Morgenerlebnisse im diesjaehrigen Sommercamp.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Nex' Fluch (Arathorn,  5. Feb 2014, 19:15:16):
+Hallo zusammen,
+
+wer von euch noch aeltere Ausgaben von Nex' Fluch rumliegen hat und fest-
+stellt, dass man den nicht mehr anziehen kann, moege sich bitte bei mir
+melden. Die Rueckfrage eines Spielers brachte mich grad darauf, dass ich
+im Zuge einer Reparatur des Umhangs alle im Umlauf befindlichen Objekte
+ausgetauscht hatte, und diese daher jetzt ihren Besitzer nicht mehr kennen.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Wartungsarbeiten (Humni, 10. Apr 2014, 23:02:48):
+Aufgrund von Wartungsarbeiten ist der Ogerwald derzeit nicht begehbar. Wir
+hoffen bald auf Abhilfe.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Ogerwald (Arathorn, 19. Nov 2014, 00:30:35):
+Hallo zusammen,
+
+nach einiger Bastelei hoffe ich, dass das technische Problem im Ogerwald
+nun behoben sein duerfte. Ich habe daher das Gebiet wieder angeschlossen.
+
+Wir werden das Ganze weiterhin kritisch beobachten und behalten uns vor,
+das Gebiet auch wieder abzuhaengen, sollte sich herausstellen, dass wir die
+Fehler nicht vollstaendig erwischt haben und weitere Reparaturen erforderlich
+sind.
+
+Viel Spass mit den Ogern!
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Kampfstab im Labyrinth (Bambi, 12. Jan 2015, 17:41:18):
+Hi.
+
+Nach Klaerung des Sachverhalts und in Absprache mit Mitgliedern des
+Balance-Teams habe ich den Kampfstab minimal ueberarbeitet. Vielen Dank an all
+die Leute, die mir deshalb auf die Fuesse getreten sind. }=)
+
+Bambi
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Kampfstab im Labyrinth (Bambi, 12. Jan 2015, 17:43:34):
+~#! rn=Bambi rt=1421080878 rg=d.gebirge
+~#! tid=1421080878
+Ahso, ganz vergessen: Man bekommt keinen Schaden mehr beim Wegstecken. Falls
+doch, ist das nicht beabsichtigt. In dem Fall bitte mir Bescheid geben.
+
+-----------------------------------------------------------------------------
+
+
+
+Der Stammgast - Blindentauglichkeit (Bambi, 13. Jan 2015, 23:02:24):
+Hallo zusammen.
+
+Nachdem ich mich noch einmal mit Bugfix ausgetauscht habe, habe ich nun eine
+Ueberarbeitung der Anzeige des Koboldraetselspiels vorgenommen. Es ist nun
+moeglich, zwischen einer grafischen Anzeige, einer Anzeige fuer Braillezeilen
+und einer Anzeige fuer Sprachausgabe zu waehlen. Davon ist nur die Anzeige
+fuer Braillezeilen neu, die die Informationen zum Spielfeld stark komprimiert.
+
+Wer sich berufen fuehlt, das zu testen, moechte das gerne tun, und mir dann
+eine Mud-Mail schreiben, wenn er oder sie Verbesserungsvorschlaege dazu hat.
+
+Bambi
+
+-----------------------------------------------------------------------------
+
+
+
+Nex-Set-Items (Bambi, 14. Jan 2015, 08:15:41):
+Hi.
+
+Vor einiger Zeit wurde gewuenscht, dass die Nex-Set-Items auf eine gemeinsame
+ID hoeren. Das tun sie nun. Zumindest neu erschaffene Items.
+
+Bambi
+
+-----------------------------------------------------------------------------
+
+
+
+Eine spielerfreundliche Tankstelle (Amaryllis, 21. Feb 2015, 00:53:43):
+... wurde entsprechend angepasst.
+
+An dieser Stelle nochmal der Hinweis, dass das wissentliche Ausnutzen solch
+offensichtlicher Fehler nicht erwuenscht ist und entsprechend geahndet werden
+kann.
+
+Im Zweifelsfalle einfach einen Magier fragen/informieren.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Thors Hammer (Ark,  2. Mai 2015, 10:29:28):
+Da gibt es ausser der Einstufung bzgl. Spielerlevel auch noch eine bindende
+Einschraenkung bzgl. Gildenlevel (man muss in einem Gebiet kaempfen, in dem
+das Tottanken von NPC durch Kitzeln eher nicht moeglich ist). Man kann jetzt
+streiten, ob die sein muss oder nicht, aber ich wuerde sie gerne, um Frust zu
+vermeiden, drin lassen. Den Wanderer werde ich dahingehend aufschlauen, dass
+er darauf hinweist. Das ist btw. keine Garantie, dass man keine Probleme
+bekommt, nur weil man das Gebiet aufsuchen darf :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Kampfstab aus dem Minotaurenlabyrinth (Bambi, 27. Mai 2015, 15:51:39):
+Hi.
+
+Nach freundlichen Hinweisen und Bitten wurde der Kampfstab ueberarbeitet,
+erneut von der Balance abgenommen und spielerfreundlicher wieder
+angeschlossen. Falls er sich unerwartet verhalten sollte, gebt bitte Bescheid.
+
+Vielen Dank an die Balance und an alle Spieler, die am Ball geblieben sind.
+
+Bambi
+
+-----------------------------------------------------------------------------
+
+
+
+Verschollenes Artefakt wieder aufgetaucht (Arathorn,  6. Apr 2016, 01:14:23):
+Hallo zusammen,
+
+gerade eben ist aus den nachtblauen Tiefen ein lange verschollen geglaubtes,
+magisches Artefakt sprichwoertlich wieder "aufgetaucht", das nun erneut im
+Besitz von Water Luh weilt. Bei Interesse wendet euch bitte an ihn, ich
+vermutet nur, er wird sein geschaetztes Kleinod nicht kampflos hergeben
+wollen.
+
+Danke an Croft und Humni fuer die Unterstuetzung.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
