Vulkanausbruch! (Findulas,  4. Nov 1993, 16:36:53):
Wie Augenzeugen berichten ist ein Vulkanausbruch noerdlich von der Elfensiedlung festgestellt worden.
Da der Vulkan noch recht jung wird er sich haeufig vergroessern.
Bei dem Ausbruch sind nach aktuellen Angaben keine Wesen ums Leben gekommen.
Es wird auch nicht mit weiteren Ausbruechengerechnet, auch wenn sich der Vulkan zur Zeit nicht ganz ruhig verhaelt.
Etwaige Nebelwolke, die von dem Vulkan ausgestossen werden, sind von unseren Wissenschaftlern als unbedenklich und ungiftig bezeichnet worden.
Ueber weiter Veraenderungen werden wir Sie auf dem laufenden halten.
   Findulas fuer MG-NEWS
-----------------------------------------------------------------------------



Vulkan (Yendi,  5. Nov 1993, 12:53:54):
Na, pass bloss auf dass der unser schoenes Elfenforf nicht abfackelt...
-----------------------------------------------------------------------------



Keine Gefahr fuer den Wald. (Findulas,  5. Nov 1993, 13:10:52):
Gluecklicherweise koennen wir ihnen mitteilen, dass durch den Vulkan keine Gefahr mehr fuer den Wald besteht.
Im laufe des Ausbruchs ist es einigen Magiern gelungen jede Gefahr von dem Wald abzulenken.
SHORTNEWS fuer MG-NEWS Findulas



-----------------------------------------------------------------------------



WICHTIG! WALDNEUORDNUNG! (Freund, 18. Nov 1993, 13:40:01):
Gruess Gott,
ich habe mir einige Gedanken ueber den Wald gemacht; auch Findulas
war nicht ganz unbeteiligt daran. Um Spielern nicht zu viel zu
verraten, verweise ich hier auf die Files im Hauptverzeichnis
Wald, die sich jeder Magier ansehen kann.

ANFORDERUNGEN
WALDSTRUKTUR
WALD.neu

Besser, ihr seht sie euch mit xmore an, dieses *$%&'$%-more hier hat
einen Umbruchfehler! 

Die Umstellung erfolgt in den naechsten Wochen. Schrittweise, aber
bestimmt...;-)

Mit elfischem Gruss
Ein Freund fuer alle Faelle - Knuddeleisbaer.
-----------------------------------------------------------------------------



Neue Elfensiedlung (Freund, 26. Jan 1994, 17:36:51):
Gruess Gott,
ich habe Quasimodos neue Elfensiedlung etwas oestlich der
alten angeschlossen. Im Moment laufen beide Siedlungen,
also auch der Baum, parallel. In naechster Zukunft wird
aber die alte Baumsiedlung nach und nach verwaisen.

Mit freundlichem Gruss FREUND.

-----------------------------------------------------------------------------



Vizeregionsmagier (Freund, 27. Jan 1994, 15:19:40):
Mika ist es.
Freund.

-----------------------------------------------------------------------------



Bauernhof versetzt (Freund, 31. Jan 1994, 16:53:58):
Gruess Gott,
durch sehr starke und alte Waldmagie ist es mir
gelungen, den Waldbauernhof von Waldemar und
seiner Frau in den oestlichen Wald zu verschieben.
Sie hatten mich darum gebeten, weil immer mehr
uebermuetige Abenteurer bei dem Versuch ums Leben
kommen, den Hexer zu heilen.
"Dauernd werden wir von den Todesschreien der
Spieler geweckt! Es ist zwecklos! Bring uns hier
weg." (Original-Ton)

Diesem Wunsch bin ich jetzt nach gekommen.

Mit freundlichem Gruss verbleibt der
Waldregionsmagier.

-----------------------------------------------------------------------------



Troy's Uhr beim Hexerquest (Catweazle, 25. Jul 1994, 20:12:22):
[Verlegt von d.wueste, Thorin, 18. Jun 1994, 12:49:00]:
Ich weiss ja nicht, zu welcher Rubrik Troys Uhr beim
Hexerquest gehoert, ich kann nur sagen , dass die
Zeiteinheiten viel zu lange/buggy sind. Ich steh
jetzt zum 2. Mal seit 15 Minuten bei der Uhr
und sie hat sich noch nicht um eine Einheit
gefuellt !!! Das ist echt zum frusten, weil
man das Mud ja nicht spielt, um doof rumzustehen,
sondern um zu spielen !!!
Ich bitte das mal zu ueberpruefen !!!
Gruesse, Thorin

-----------------------------------------------------------------------------



Re: Troy's Uhr beim Hexerquest (Catweazle, 25. Jul 1994, 20:14:02):
[Verlegt von d.wueste, Pharao, 20. Jun 1994, 12:08:44]:
Hallo Thorin!

Sei doch froh, dass sie so langsam geht!
Mir scheint, du hast das Prinzip noch nicht kapiert!
Du darfst auch schon vorher loslaufen, nur musst du dann schneller sein!

Euer Pharao

-----------------------------------------------------------------------------



re:re:troy's uhr beim hexerquest (Thorin, 25. Jul 1994, 22:12:44):
Pharao, deine 'idee' ist zwar interessant, wenn aber die uhr schon seit ca 15
minuten auf voll steht gehe ich nicht freiwillig in die wueste ! denn dann hat
man eine ueberlebenschance von ca 0%, da der uhr ja doch mal weiterticken
koennte!
Und deswegen auch meine veraergerung damals (lang ists her), weil man halt
nicht wusste ob die uhr buggy oder laggy war. :)
Dies nur mal so zur aufklaerung, euer kleinschreibender thorin :)))

-----------------------------------------------------------------------------



Frage zu Bannsaenger (Hilf dem Hexer) (Flintnail,  2. Sep 1994, 22:12:55):

Muessen solche netten Ueberaschungen wie die Daemonenpeitsche denn wirklich
sein...ich denke es gibt doch genug Reboots...da muss man doch nicht auf so ne
widerliche Art die teuer erpruegelte Waffe verlieren ,oder (s.BS-Diskussion).
Ganz davon ab, kann ich mich an sowas in der Romanvorlage (waermstens zu
empfehlen ) nicht erinnern...naja kuenstlerische Programmiererfreiheit!!!

          nen ziemlich frustrierter Flint

P.S.: Die Quest hatte sooooooo gut angefangen...

-----------------------------------------------------------------------------



Re: Re: Re: Re: Hexerquest (Troy,  8. Sep 1994, 16:15:03):
Tja nun, aehm, also, da das an mich geht, muss ich wohl mal antworten:

a) Die Uhr wurde inzwischen unter grossem Aufwand und gerade noch
   rechtzeitig vollstaendig ummoebliert und sollte jetzt einwandfrei
   laufen. Weitere LAGS in der Uhr haengen direkt vom allgemeinen LAG
   auf Pascal ab.

b) Die Daemonenpeitsche ist ein Objekt, dass so aehlich konzipiert ist, wie
   die Zombieleichen. Man muss nicht alle Leichen essen und man muss auch
   nicht alle Waffen nehmen. Die kuenstlerische Freiheit, das Teil
einzubauen,
   hab ich mir genommen. Wenn man die Quest verfolgt, wird man ja auch fest-
   stellen, dass Jalwar NICHT der boese Zauberer ist, wie im Buch
beschrieben.
   Es liess sich eben nicht alles so implementieren.

Troy ('s Uhr geht jetzt - RICHTIG)

-----------------------------------------------------------------------------



Achtung!!!! Sanduhr (Troy,  8. Sep 1994, 16:16:46):
[Verlegt von d.wueste, Morgoth,  1. Sep 1994, 08:17:26]:
So, da wollte ich die Hexerquest zum zweitenmal versuchen warte minutenlang
auf die erste Sanduhr...endlich ist sie wieder leer, dann leg ich mich mit
dem Loewen an...
Puhhh, endlich Rotfels erreicht...<xxxx> <= die Dinge fuer die Quest
gemacht..
dann will ich wieder in die Wueste zum <xxxx> und was is ???
AAAAAAAAAAAAAAAAAAAAAAARRRRRRRRRRRRRRRRRRRRRGGGGGGGGGGGGGGGHHHHHHHHHHHHH
ein fehler im Raum-Zeit-Gefuege bei der Sanduhr in Rotfels...ich komm nich in
die Wueste.....


          ein SEHR verzweifelter     Morgoth     :-(((

-----------------------------------------------------------------------------



Re: Achtung!!!! Sanduhr (Troy,  8. Sep 1994, 16:17:11):
[Verlegt von d.wueste, Durian,  1. Sep 1994, 09:58:27]:
Aehem, nur um das klarzustellen. Die Zeitwueste hat nichts mit DER Wueste
zu tun, und gehoert eigenltich in eine andere Rubrik (jetzt fragt mich
nicht, in welche. Woher soll ich das wissen ;-)).

- Durian, seineszeichens Buddler in einer zeitlosen Wueste :-)

-----------------------------------------------------------------------------



Re: Re: Achtung!!!! Sanduhr (Troy,  8. Sep 1994, 16:17:37):
[Verlegt von d.wueste, Mika,  1. Sep 1994, 10:15:05]:
Hi,
also wenn mans genau nimmt Durian, dann muesste der Artikel in d.wald stehen
da die zeitvolle Wueste halt im Wald liegt :) :)
Mika (Waldmagier und Wuestenaufseher ;)

-----------------------------------------------------------------------------



Re: Re: Re: Achtung!!!! Sanduhr (Troy,  8. Sep 1994, 16:17:57):
[Verlegt von d.wueste, Durian,  1. Sep 1994, 10:18:46]:
Also Mika, wenn Du Dich hier als Wuestenaufseher aufspielen tust, wird es
doch langsam mal Zeit fuer Wanderduenen im Wald, oder??? :-)

- Durian

-----------------------------------------------------------------------------



Kleine Umstellungen (Bernard, 16. Sep 1994, 17:03:39):
Es gab heute einige kleine Umstellungen im Wald, einige Raeume wurden
etwas verschoben, einige Raeume wurden neu eingefuegt, aber im
Wesentlichen ist der Wald derselbe geblieben...

-----------------------------------------------------------------------------



Waschbaer (Mika, 19. Sep 1994, 12:13:50):
Hallo,
falls jemand in den letzten Tagen den Waschbaeren vermisst hat -- der ist
umgezogen ;)
Er befindet sich nun im nordoestlichen Wald, in der Naehe des zugefrorenen
Weihers.
Mika

-----------------------------------------------------------------------------



Neuer RM (Kirk, 13. Dez 1994, 18:31:58):
Hallo!

Daran, wie wenig in dieser Rubrik los ist, sieht man, dass es notwendig war
einen neuen Regionsmagier fuer den Wald einzusetzen.
Hiermit gebe ich also kund und zu wissen, dass Silvana ab sofort dieses Amt
bekleiden und sich um den Wald kuemmern wird.

Kirk

-----------------------------------------------------------------------------



Re: Neuer RM (Hobo, 14. Dez 1994, 14:44:02):
#! rn=Kirk rt=787339918
Gratuliere, meine Kleine!
Viel Spass in der neuen Region :)

  Deine Olle

-----------------------------------------------------------------------------



Re: Neuer RM (Dancer, 14. Dez 1994, 22:25:21):
#! rn=Kirk rt=787339918
Auch ich moechte mich ganz herzlich Hobos Glueckwuenschen an Silvana
anschliessen! So fleissig und engagiert, wie sie in der letzten Zeit war,
wird der Wald sicherlich einen Schub bekommen...
Naja, je mehr Baeume stehen, desto mehr koennen wir dann ja mit unseren
Sandduenen zuschuetten ;-)

Viel Erolg, Silvana!

Dancer - Sandtiger. Schwarz.


-----------------------------------------------------------------------------



X(A/N)~TH 'sche Flora (Flintnail, 15. Dez 1994, 19:52:19):
Grats Silvi ;)

Hmmmm. wie waers mit nem paar Kirschbombenbaeumen oder Kissenbueschen...?

 Flintnail...hofft auf neue Pflanzen ...
P.S.: oder Gewirrbaeume...;)

-----------------------------------------------------------------------------



Re: Re: Neuer RM (Silvana, 16. Dez 1994, 08:58:36):
#! rn=Dancer rt=787440321
Schoenen Dank - aber erwartet bitte keine Wunder. ;-)
Keine Sorge, Dancer. Wir zuechten die Baeume jetzt so, dass sie
vorzueglich auf Sand gedeien. ;-)

Silvana (etwas verwundert, weil noch keiner den Mitarbeitern Beileid
gewuenscht hat...)

-----------------------------------------------------------------------------



Re^3: Neuer RM (Dancer, 16. Dez 1994, 15:04:47):
#! rn=Silvana rt=787564716
Hm, ob Eure neuen Baeume auch UNTER Sand gedeihen? ;)

Dancer

P.S.: Wieso Beileid wuenschen? Im Notfall koennen die sich doch prima
zwischen den Baeumen verstecken :)

-----------------------------------------------------------------------------



Re^4: Neuer RM (Silvana, 16. Dez 1994, 15:35:00):
#! rn=Dancer rt=787586687
Tja, Dancer - Die Baeume gedeien auch UNTER Sand - allerdings nicht lange.
Dann schaun sie naemlich ploetzlich wieder oben raus...

silvana

-----------------------------------------------------------------------------



Re^5: Neuer RM (Dancer, 16. Dez 1994, 17:34:24):
#! rn=Silvana rt=787588500
Kein Problem. Ich giesse sie dann gerne...mit schoenem Sand :)

Dancer

P.S.:Gibt es denn was schoeneres als eine schoene kuschelige, sandige
Wuestenduene zum drauf rumfaulenzen???? :-))


-----------------------------------------------------------------------------



Re^6: Neuer RM (Silvana, 16. Dez 1994, 20:11:39):
#! rn=Dancer rt=787595664
Alles was mir darauf jetzt einfaellt, faellt unters Jugendschutzgesetz oder
hat zumindest NICHTS mit Baeumen oder Sand zu tun....

Silvana

PS: Vielleicht solltest Du mal Romili nach ne Alternative fragen... ;-)

-----------------------------------------------------------------------------



Re^7: Neuer RM (Dancer, 16. Dez 1994, 23:50:05):
#! rn=Silvana rt=787605099
Hab ich etwa gesagt, dass ich ALLEINE auf meiner Duene rumhocke??? :-)

Dancer


-----------------------------------------------------------------------------



Re^8: Neuer RM (Durian, 19. Dez 1994, 19:12:20):
#! rn=Dancer rt=787618205
Also nun ist aber gut! Dass Sandduenen erheblich waermer und kuschliger
als jeder noch so gruener (iiiiihhhhhhh) Wald ist, steht ausser Frage!
Jeder, der etwas gegenteiliges behauptet wird von mir hoechstpersoenlich
fuer eine halbe Stunde mit dem Kopf in den Sand gesteckt, dann merkt
er mal wie schoen das ist!!

So, das _musste_ mal gesagt werden!

- Durian

-----------------------------------------------------------------------------



Re^9: Neuer RM (Silvana, 20. Dez 1994, 09:03:39):
#! rn=Durian rt=787860740
Ja, ja. Wenn ihnen nichts ueberzeugendes mehr einfaellt, werden sie
brutal, diese trockengelegten Sandmagier. Mich wundert's jedenfalls nicht,
wenn sich nach DER Ankuendigung niemand mehr in die Wueste traut.
Wie waer's, wenn ihr mich einfach mal im Wald besuchen wuerdet. Wir haben
hier soooo viele schoen Einrichtungen zum Entspannen:
 - Ein kuehles Bad im Weiher an zu heissen Tagen
 - Ein romantisches Lagerfeuer bei den Feen
 - Eine ganze Reihe freundlicher Zeitgenossen, die einem die Ausruestung
    tragen.
 - Romantische Begegnugsstaetten fuer traute Zweisamkeit...
Und was hat die Wueste zu bieten? Sand, Sand, Sand und nen paar steinerne
Zahnstocher, fuer die niemand die Verantwortung uebernehmen will.

Silvana (kopfschuettelnd)

-----------------------------------------------------------------------------



Re^9: Neuer RM (Highlander, 20. Dez 1994, 12:29:27):
#! rn=Durian rt=787860740
Aber eines ist ja wohl klar, oder?
Sandduenen sind lediglich der traurige Rest von Gebirgen,
die von Greifen zum Schnabelwetzen verwendet wurden... :>
Allerdings waermer, das stimmt.
    Highlander

-----------------------------------------------------------------------------



Re^10: Neuer RM (Asmodis, 20. Dez 1994, 14:05:26):
#! rn=Highlander rt=787922967
Hmm, Wuesten sind doch eigentlich nur Waelder, in denen die Baeume
gerodet wurden :)

                   Ciao, Asmodis

-----------------------------------------------------------------------------



Re^11: Neuer RM (Anthea, 20. Dez 1994, 22:27:11):
#! rn=Asmodis rt=787928726
Was heisst hier: In der Wueste gibt es nur Sand? (Jetzt greifen sogar
die Inseln fuer die Wueste ein). In der Wueste gibt es zum Einen einen
herrlichen Strand, auf dem ich mich oefters mal Sonne. Ab und zu kommen auch
ein paar Spieler vorbei, die irgendwie auf einer Sandbank gestrandet sind.
Jedenfalls ist es dort schoen warm. Ausserdem ueberseht ihr Ignoranten wieder
mal dass die Wueste einfach ehemaliger Seeboden ist! So etwas ist doch
allgemein bekannt! Von wegen Wald oder Gebirge. Ihr wollt doch nur Euere
eigene Region weiter ausbreiten.
Zum Anderen gibt es in der Wueste auch noch eine herrliche Oase in der ich
mich
auch sehr gerne ausruhe... Wenn nicht gerade mal wieder so ein vertrottelter
Greif dort hineintrudelt. Aber das hatten wir ja schon einmal, dass
Highlander nur deshalb
noch so jung aussieht. :)  Also, eintoenig ist die Wueste wirklich nicht. Man
muss sie sich nur einmal genau anschauen.
Ausserdem sieht nun mal kein Sandkorn aus wie das andere... auch wenn die
Unterschiede nicht so gross sind wie bei Schneeflocken. Schaut sie Euch
einfach mal an!

              Anthea

-----------------------------------------------------------------------------



Re^12: Neuer RM (Dancer, 21. Dez 1994, 03:05:43):
#! rn=Anthea rt=787958831
Ts, Anthea!

Kaum schenkt man so ner Meerjungfrau mal einige Quadratmeter Pfuetze, damit
die Besucher unseres Strandes wissen, wo dieser aufhoert, da denkt se schon,
sie koennte Ihr Wasserloch 'Region' nennen und baut da auch noch so eine
komische Stadt hin, wo man nur mit ulkigen Hilfsmitteln wie Sauerstoff-
flaschen hinkann, wo es doch Sauerstoff bei uns in Huelle und Fuelle gibt!

Ach ja...und Silvana...:-)...von wegen kuehler Weier..FALLS man aus dem
Teil lebend rauskommt, kann man froh sein, wenn man nicht die Akne hat,
Euer 'romantisches' Lagerfeuer soll doch nur brutale Monster aus den Tiefen
Eures Fusselforstes locken, um den armen Abenteurern eins auf den Deckel
zu geben, Euere 'freundlichen Traeger', tragen nicht nur die Ausruestung
des Spielers, sondern auch gleich ihn selber zu Grabe, und was die
'romantischen Begegnungsstaetten trauter Zweisamkeit' angeht, so meinst Du
sicherlich Eueren gemuetlichen Elfenhain, wo alle 2 Sekunden die Gaertnerin
vorbeitrabt und alle noch so verzweifelten Versuche von Stille und
Zweisamkeit mit ihrer Heckeschere zunichte schnibbelt :-)

Nein, nein, Ihr Abenteurer... kommt dahin, wo es Sonne, Ruhe und Einsamkeit
( ;) ) in Huelle und Fuelle gibt, wo man sich allein mit seinem Mut und
seinem bessten Freund (dem Blutsaugerschwert) durch die Landschaften von
mysterischer Schoenheit und Anmut weiterkaempft, wo Gladiatoren und
tapfere Krieger ihre Kriegskunst praesentieren, wo Pyramiden ungeahnte
Abenteuer versprechen (besonders ungeahnte Abenteuer fuer Durian und mich ;),
wo der Wuestenwind Euch das Lied von Zeit und rauher Natur fluestert!

Natuerlich koennt Ihr bei Anthea auch ein wenig kindisch rumplantschen gehn,
oder bei Silvana und den anderen 3 Baeumen ein wenig Verstecken spielen ;-)))

Grinsend,

Dancer


-----------------------------------------------------------------------------



Re^13: Neuer RM (Gundur, 21. Dez 1994, 06:37:47):
#! rn=Dancer rt=787975543
Hi!
Also Ich kann Dancer nur zustimmen...
Schoen ist es in der Wueste..man kann wandern(endlos),graben,sich sonnen...
und so die Sachen...
Wasser ist unnoetig..wer waescht sich schon...
Nur ein Paar Felsen wuerd ich mir da noch wuenschen....
Gundur

-----------------------------------------------------------------------------



Re^13: Neuer RM (Silvana, 21. Dez 1994, 10:41:41):
#! rn=Dancer rt=787975543
Oh, oh, Dancer - damit hast Du Dich leider selbst geoutet.

Ich frag mich doch ernsthaft, ob Du mit verschlossenen Augen durch den
Wald ge'tigert' bist. Der Wald hat mehr lauschige Plaetze als Du Dir
offenbar vorstellen kannst. - Vor allem auch solche, an denen Dir nicht
alle Nase lang so'n daemlicher Wuestenpuesterich nen Stuhl um die Ohren
schlaegt, wie das letzte mal, als ich Dich besucht habe.
Uebrigens: Wieso brauchst Du in Atlantis Sauerstoffflaschen? *wunder*
Interessant eigentlich, dass Du offenbar 'mysterisch' mit 'vergangen'
uebersetzt... Lauter mysterische Schoenheit: zu dem Staub zerrieben, aus
dem sie einst gemacht ward... *schauder* Da ist mir die Lebendigkeit des
Waldes wirklich lieber... Aber wer gerne Vogel Strauss spielt und mit dem
Kopf in der Eintoenigkeit ewigen Sandes stecken moechte ist bei euch
sicher gut aufgehoben.

zurueckgrinsend - Silvana

-----------------------------------------------------------------------------



Re^14: Neuer RM (Durian, 21. Dez 1994, 12:11:23):
#! rn=Silvana rt=788002901
Nein Silvana, Dancer hat sich in keiner Weise geoutet, er hat schlicht
den Mut gehabt, zu sagen, was Sache ist!
Eure Lobeshymmnen auf den Wald soll doch nur dazu dienen, die armen
Abenteurer aus unserer kuschlig warmen Wueste in Euren kalten,
hauptsaechlich von Motten und Insekten bevoelkerten Wald zu locken, um
wenigstens den Schein zu wahren der Wald waere beliebt! Nein, nein, niemand
in diesem MUD wird darauf reinfallen, wir alle wissen, dass im Sand buddeln
viel mehr Spass macht, als gegen Baeume zu rennen!

Endlich mal ein Machtwort sprechender
- Durian
























:-)

-----------------------------------------------------------------------------



Re^15: Neuer RM (Silvana, 21. Dez 1994, 12:57:09):
#! rn=Durian rt=788008283
Nun, ja. Eins muss man der Wueste ja lassen: Wenn man zu ungeschickt und
blind ist, einem klar ersichtlichen Pfad zu folgen und daher vor jeden
Baum rennt, ist man in der Wueste sicher besser aufgehoben. Da faellt
man immerhin weich. Ausserdem ist bei der gaehnenden Leere der Wueste auch
nicht die Gefahr so gross, dass man dann andere gefaerdet. Wer also beim
Gehen noch auf seine Fuesse gucken muss, um sich nicht selbst zu treten,
und daher eh' nicht auf seine Umgebung achten kann, ist in der Wueste
sicher gut aufgehoben.

Silvana

-----------------------------------------------------------------------------



Re^16: Neuer RM (Gundur, 21. Dez 1994, 12:59:28):
#! rn=Silvana rt=788011029
Was heisst hier gaehnende leere...man muss halt genau hinkucken..
Dort ein flimmern..da ein Wuestenfloh..hier ein Surfer..da ein Kuehlschrank..
usw.....
Gundur:)

-----------------------------------------------------------------------------



Re^17: Neuer RM (Catweazle, 22. Dez 1994, 11:03:32):
#! rn=Gundur rt=788011168
Oh Mann, ich haette ja nie gedacht, das mal jemand den Surfer findet :-)
Herzlichen Glueckwunsch Gundur !
YTC

-----------------------------------------------------------------------------



Re^18: Neuer RM (Gundur, 22. Dez 1994, 17:06:23):
#! rn=Catweazle rt=788090612
:) Natuerlich hab ich den gefunden...er wollt mir nur das surfen nicht
beibringen..:)
Kann man da was machen?
Gundur will sein eigenes Surfbrett ,damit er nicht mehr von den Schiffen
abhaengig ist

-----------------------------------------------------------------------------



Re^18: Neuer RM (Timor, 27. Dez 1994, 17:38:04):
#! rn=Catweazle rt=788090612
Jepp, den Surfer habe ich schon haeufiger gefunden. Ich frage mich jedesmal,
ob ich ihm helfen soll.... ;-)

-----------------------------------------------------------------------------



Hexer-Quest, Loewen in der Wueste (Silvana, 28. Dez 1994, 12:03:22):
[Verlegt von d.wueste, Timor, 28. Dez 1994, 11:55:38]:
Oooh, ich bin erschoepft.
Ich hatte alles zusammen (Kompass, 1. Teil der Karte, Talisman) und habe mich
in die zeitvolle Wueste gewagt. Darauf ist man ja nicht vorbereitet. Die
Loewen haben
mir nichts getan, bis es mir irgendwann zu langweilig wurde (ich bin immer
geradeaus gegangen) und erstmal zurueck gehen wollte.
Da haben mich die Loewen auf einmal von ganz alleine angegriffen und obwohl
ich
die Vorsicht auf 50 (!) hatte, war ich ruck-zuck tot. Ich hatte nicht mal
Zeit, das ali fuer
meinen Feenring zu tippen. Das finde ich sehr aergerlich. Man ist ja nicht
vorbereitet... Und nachdem man ca. 20 mal in die gleiche
Richtung gegangen ist, will man doch erstmal wieder zurueck, um sich zu
orientieren. Aber dann ausgerechnet wird man
umgebracht. Wenn man wenigstens eine Chance haette.
O.k., das kommt eben vor - toedliche Quests sind ja offenbar die Regel.
Immerhin habe ich den 1. Teil des Planes behalten. Nur: Um wieder in die
zeitvolle
Wueste zu kommen, wo ich gerne meine (fuer mich) superteure Ausruestung holen
wuerde, muss man erst wieder den Kompass bauen, und den schaffe ich aus
Gruenden, die ich hier nicht nenen will (ist ja ne Quest)
nicht alleine... Es waere eine grosse Erleichterung, wenn man auch den
Kompass behalten wuerde, damit man
wenigstens seine Ausruestung wieder holen kann. Was ich auch gerne wissen
wuerde:
Gibt es irgendwo eine Warnung, bezueglich der Loewen? Man weiss ja nie,
welche Warnungen ernst sind, und welche nur so zum Spass da sind.
Und ich finde es schade, wenn man eine Quest erst loesen kann, wenn man
superstark ist...

So, jetzt habe ich ein bissel den Frust losgeschrieben.
Gruss an alle Leser, ein erschoepfter Timor.
P.S.: Ich wollte die Hexer-Quest noch gar nicht machen, aber nachdem Grelgen
mich geschnappt hatte,
war ich ja schon mitten drin, und da hat es mir auch Spass gemacht...)


-----------------------------------------------------------------------------



Re: Hexer-Quest, Loewen in der Wueste (Silvana, 28. Dez 1994, 12:04:45):
#! rn=Silvana rt=788612602
Da die Hexerquest zur Region Wald gehoert (und damit auch die zeitvolle)
Wueste (man hoere und staune) hab ich diesen Artikel mal in die richtige
Rubrik verlegt.
Silvana

-----------------------------------------------------------------------------



Re: Hexer-Quest, Loewen in der Wueste (Hadra, 28. Dez 1994, 21:32:50):
#! rn=Silvana rt=788612602
hallo timor,

natuerlich ist es aergerlich wenn man in einer quest umkommt, aber du
solltest
dich auch fragen ob das die richtige quest war.
in der gilde gibt es eine liste der quests und in der stehen auch die
schweirigkeitsstufen drin. die stufen halten meist was sie versprechen.

wenn du bei einer quest eine der eingangsaufgaben nicht ohne hilfe loesen
kannst
solltest du dir ueberlegen, ob dies ueberhaupt die richtige quest fuer dich
ist
oder eben permanent jemanden mitnehmen, aber das waere dann ja nur der halbe
spass.

die loewen haben mich auch ueberrascht, aber dank einer hohen vosicht, die
ich
inzwischen immer in unbakannten gebieten benutze bin ich glimpflich davon
gekommen

Hadra - der vor dem loewen wegrennt

-----------------------------------------------------------------------------



Re: Re: Hexer-Quest, Loewen in der Wueste (Timor, 29. Dez 1994, 16:34:12):
#! rn=Hadra rt=788646770
Hallo Hadra!

O.k., ich muss Dir eigentlich Recht geben. Ich werde erstmal die leichteren
Quests loesen, bevor ich mich an die schwierigeren mache.
Danke fuer die Antwort, viele Gruesse, ein questender Timor.

-----------------------------------------------------------------------------



Re^16: Neuer RM (Li,  2. Jan 1995, 10:52:23):
#! rn=Silvana rt=788011029
Ni hau!
Also, damit die ganze Diskussion ueber die schoenste Region endlich aufhoert,
moechte ich hier anfuehren, dass die beste Region eh' Fernwest ist.
Gut, ich gebe zu, Fernwest ist gerade erst entdeckt worden, und der Weg
dorthin
ist beschwerlich und fuer Spieler leider noch nicht zugaenglich, aber der
alles entscheidenen Vorteil Fernwests ist seine Flexibilitaet:
Es liegt am Meer, es gibt Gebirge und etwas Wald. Es gibt zwar keine Wueste,
aber im Osten Fernwests liegt eine grosse Steppe, in der es auch verdammt
trocken werden kann. Also Magier aller Regionen, beruhigt Euch und kommt nach
Fernwest, auf das Ihr Euch alle wohlfuehlen koennt!

Li


-----------------------------------------------------------------------------



Re^17: Neuer RM (Dancer, 14. Jan 1995, 15:54:38):
#! rn=Li rt=789040343
Hm, Fernwest?

Ich komm mal vorbei und bring paar schmucke Sandduenen mit, um die
Landschaft geschmackvoll umzudekorieren :-)

Dancer. Duesterdunkelschwarzer Sand(duenen)tiger.

-----------------------------------------------------------------------------



Re^18: Neuer RM (Silvana, 17. Jan 1995, 10:17:03):
#! rn=Dancer rt=790095278
Fernwest? Landschaft umdekorieren? Welche Landschaft denn? Ich hab noch keine
gesehen....   Aber mach mal nen paar Duenen hin - ich werd die dann schon
begruenen. ;-)
Silvana (wird sich irgendwann auch mal in Dancers Arena hacken... ;-) )

-----------------------------------------------------------------------------



Neuer Waldweg (Silvana, 14. Feb 1995, 10:55:47):
Es ist kaum zu glauben, aber war: Ein neuer Waldweg ist entdeckt worden.
Leider ist es uns noch nicht gelungen, diesen sauber zu kartographieren,
so dass wir dem geschaetzten Leser keine Karte mitliefern koennen.
Es muss also jeder, der diese Abkuerzung benutzen will, selbst rausfinden,
wo er hinkommt. ;-)
Das ganze stammt aus den Feder von Locutus, der sich sicher auch ueber
ein langes Repfile freuen wird.
Viel Spass beim suchen - Silvana.

-----------------------------------------------------------------------------



Hexerquest (Silvana, 19. Feb 1995, 14:16:34):
Nachdem sich die Beschwerden ueber Troys Questen haeufen, werde ich mir in
den naechsten Wochen man die HexerQuest vornehmen und schaun, ob ich
die Bugs da rauskriege. Also: Wer was ueber die Quest zu meckern hat,
bitte eine mail mit moeglichst genauer Beschreibung der Bugs und sonstigen
Unschoenheiten an mich. BITTE keine mail mit dem Inhalt: Ich find die
Quest doof - dagegen kann ich nichts machen. ;-)
Ich kann keine Wunder versprechen, aber vielleicht kann man ja nen
bischen was verbessern.

Silvana - wartet auf einen Haufen Briefe.

PS: Ich bitte an dieser Stelle schon mal Loco und seine Angestellten um
Verzeihung, falls es Beschwerden wegen der vielen Briefe gibt. Ranah ist
angewiesen worden, den Brieftraegern eine heilkraeftige Erfrischung zu
servieren. ;-)

-----------------------------------------------------------------------------



Seltsame Vorgaenge im Wald (Locutus, 27. Feb 1995, 14:47:59):
In letzter Zeit werden im Wald immer haeufiger verwirrte Abenteurer
aufgefunden, die von einer seltsamen Macht hypnotisiert wurden. Bisher
hat noch keiner herausgefunden, um was fuer eine Macht es sich dabei
handelt. Es ist zu vermuten, dass im Nebel manchmal seltsame, koerperlose
Gestalten
ihr Unwesen treiben.

Locutus, der Vulkanbungeespringer

-----------------------------------------------------------------------------



Neues im Wald (Silvana,  2. Mar 1995, 13:23:26):
V O R W A R N U N G !

Im Rahmen einiger Aufforstungsarbeiten wird es voraussichtlich in den
naechten Tagen und Wochen zu ein paar geringfuegigen, geographischen
Aenderungen im Wald kommen. Unter anderem sollen dabei ein paar
Anfaengerfallen entschaerft werden. Tatsaechliche Aenderungen werden
jedoch auf jeden Falls kurz vorher an dieser Stelle angekuenigt.

Silvana - axtschwingend / baeumepflanzend / verschwitzt

PS: Falls jemandem ein paar schoene Namen fuer Fluesse und Baeche einfallen,
    waeren unsere Foerster darueber sicher sehr erfreut.

-----------------------------------------------------------------------------



Feenwald (Silvana,  2. Mar 1995, 17:57:15):
Erste Veraenderungen:

Es hat sich eine Kleinigkeit am Feenwald geaendert. Jetzt sollten
Anfaenger nicht mehr so ohne Vorwarnung gebraten werden und
sonst hat es eigentlich kaum eine Auswirkung. Es kann sein, dass
Scriptspieler jetzt nicht mehr 100% mit ihrer Loesung hinkommen,
also aufgepasst. ;-)

Bye - Silvana

-----------------------------------------------------------------------------



Wieder mal was neues im Wald. (Silvana, 20. Mar 1995, 11:24:38):
`allo, Waldfreunde, Abenteurer, Mitmudder.

Gerade kam ein voellig verstoerter Waldarbeiter zu mir und berichtete, der
Feenwald habe sich mal wieder selbststaendig gemacht und haette einen neuen
Weg produziert. Er soll hoch bis in die Drachenzinnen fuehren. Da der gute
Mann leider nicht schwindelfrei ist, konnte er den Weg allerdings nicht
ganz auskundschaften. Da mir derzeit die Zeit fehlt, mich um solche Dinge
zu kuemmern, werden Abenteurer gesucht, die uns berichten, wo der Weg hin-
fuehrt und ob wir ihn so lassen koennen.

Viel Spass - Silvana.

-----------------------------------------------------------------------------



Casino (Leusel, 24. Mai 1995, 15:19:35):
Im Casino im Elfendorf kann man jetzt auch 17&4 spielen (oder sollte es
koennen). Wer also Geld zuviel hat und keinen Gulli zur Hand, in den er
es werfen kann, sollte es mal dort versuchen.

Leusel (Geldgeil)

-----------------------------------------------------------------------------



Re: Casino (Dwight, 24. Mai 1995, 17:33:32):
#! rn=Leusel rt=801321575
was, einfaches 17 + 4 ? kein Black Jack, oder Baccara?

Dwight :)

-----------------------------------------------------------------------------



Aenderung (Silvana, 17. Jun 1995, 00:45:40):
HiHo
Wiedermal eine Aenderung im Wald: Im Rahmen der HexerQuest-Bugfixes ist der
Uferweg vom WirrWarrMoor nach Snarken ueberarbeitet worden.
Thanx to Ronda for that.
sich auf die BugReports freuend - Silvana.

-----------------------------------------------------------------------------



Aufraeumarbeiten (Yantro, 20. Jun 1995, 10:19:36):

Hallo liebe AbenteurerInnen,

vor einigen Tagen ist ein Wanderer, ein guter Freund von mir nach langer Zeit
mal wieder bei mir zu Besuch gewesen und erzaehlte mir von einer Neuerung,
die
er im Wald entdeckt.... STOP.

Ich will mal ehrlich sein und nicht das schreiben, was andere auch immer
machen

Die Wahrheit ist wie folgt:
Silvana hat ja vor einiger Zeit die Arbeit als RM fuer den Wald uebernommen
und
eine der ersten Neuerungen ist eine regelmaessige halbjaehrige Inventur des
Baumbestandes in der Region. So treibt sie also regelmaessig all ihre Sla....
aeh Mitarbeiter zusammen und laesst alles durchzaehlen. Mein Job war dabei
der
Mischwald rund um den Baerpfad (wo aber noch nie ein baer gesehen wurde) und
ich hatte ein soll von 76434 Baeumen zu finden. Ich kann euch sagen, dass ist
ein Mistjob!!! Haarig wurde die Angelegenheit dann auch noch dadurch, dass
ich
87623 Baeume gezaehlt habe und keiner eine rechte Erklaerung hat, wo
ploetzlich
die Baeume herkommen... Es scheint auf alle Faelle mehr zu sein als frueher.

Wo genau, dass weiss ich jetzt auch nicht mehr, aber vielleicht kann mir
einer
von euch aus der Patsche helfen und mir Mailen, wenn er was Neues im Wald
entdeckt...

           Auf Hilfe hoffend... Yantro:-)

-----------------------------------------------------------------------------



Re: Aufraeumarbeiten (Flintnail, 20. Jun 1995, 11:06:49):
#! rn=Yantro rt=803636376
Aeh...Yantro???
Der Baer is glaub ich in der Hoehle, kurz vor der Hochebene:)
Naja...und wenn man die Tarnkappe von Sir aufhat, sieht man ihn auch beim
Luchs;)...

Flintnail:)

-----------------------------------------------------------------------------



Westweg (Silvana, 17. Jul 1995, 11:59:47):
Also ich neulich so durch den Wald spazierte, viel mir doch auf, dass
es da einen neuen Weg gab - an dem eine ganze Region angeschlossen war.
- ARGL - Quatsch - Solche Ankuendigungen sind einfach einfallslos. ;)
Natuerlich wusste ich, dass es den Weg gab, aber ich hatte eigentlich
keine Zeit, ihn fuer Sterbliche begehbar zu machen. Also mich Li dann
jedoch ansprach, seine Karawane von Fernwest sei irgendwo auf einem
voellig unpassierbaren Waldweg gestrandet und wisse nicht weiter, konnte
ich dann doch nicht anders, als da mal gruendlich aufzuraeumen. So ganz
fertig bin ich da noch nicht, aber ich will man wagen, Euch auf die
Gegend loszulassen. Wundert euch also nicht, falls ihr in irgendein
seltsames Wesen rennt, einen neuen Zaubertrank findet (so Boing die noch
anschliesst) oder gar den Auftrag zu einer Quest bekommt. ;)

Silvana - have fun.

PS: Schoenen Dank an Locutus fuer die tatkraeftige Unterstuetzung und an
    Boing, Mika und Yantro fuers testen.

-----------------------------------------------------------------------------



Einsatz frei waehlen beim 17&4 (Leusel, 18. Jul 1995, 13:02:13):
Hi !

Ich hab beim 17&4 im Casino in der Elfenstadt mal den Einsatz variabel
gemacht. Wemm die ueblichen 500 Muenzen Einsatz also zu wenig oder zu
viel waren, kann jetzt seinen Einsatz (innerhalb bestimmter Grenzen
natuerlich) frei waehlen.

Leusel (schreibt wem hin und wieder mit zwei 'm')

-----------------------------------------------------------------------------



Frostwurm (Silvana,  1. Aug 1995, 08:39:48):
Kleine Aenderung.
Nachdem der Frostwurm allgemein als zu harmlos eingestuft wurde, hab ich
ihn etwas staerker gemacht.

Silvana

-----------------------------------------------------------------------------



Re: Frostwurm (Silvana,  1. Aug 1995, 08:42:30):
#! rn=Silvana rt=807259188
Ach, Quatsch - Bloedsinn. Gezaehmt hab ich ihn, damit man die Quest auch als
Anfaenger (na, ja - fast) loesen kann. 166LP sollte er jetzt auch gegen
nackte Spieler nicht in einer Runde schaffen. Also seit bitte sanft mit
dem lieben Tierchen.

Silvana

-----------------------------------------------------------------------------



Re: Frostwurm (Snuggle,  1. Aug 1995, 22:25:07):
#! rn=Silvana rt=807259188
Ich hoer immer Frostwurm.
Ist das jetzt der Hydraersatz?


YT Snuggle

-----------------------------------------------------------------------------



Re: Re: Frostwurm (Caradhras,  2. Aug 1995, 01:16:26):
#! rn=Snuggle rt=807308707
Neee, der gehoert nur evtl. zu einer Quest dazu, Snuggle.

   Caradhras - hatte Vorsicht 60 dort vor 2 Wochen (puh ;-)

-----------------------------------------------------------------------------



Neue Quest (Bertram, 14. Aug 1995, 15:42:09):
Moin

Fuer alle, die es noch nicht mitbekommen haben:
Im Wald gibt es jetzt eine neue, besonders geistreiche Attraktion.

Viel Spass beim finden und questen wuenscht
                                           Bertram

-----------------------------------------------------------------------------



Elfenladen (Boing, 24. Aug 1995, 08:53:02):
Wegen eines ueblen bugs musste ich den Elfenladen temporaer abhaengen,
bitte auf andere Laeden ausweichen.
  Boing

-----------------------------------------------------------------------------



Re: Elfenladen (Mika, 24. Aug 1995, 09:36:29):
#! rn=Boing rt=809247182
Alles Ok, Bug gefixed, der Elfenladen ist wieder geoeffnet.

Mika

-----------------------------------------------------------------------------



Re: Elfenladen (Schrumpfi, 25. Aug 1995, 00:11:35):
#! rn=Boing rt=809247182
Stimmt der Bug war uebel, da haben Mupfel und ich uns gestern die Zaehne
ausgebissen.
Schrumpfi ist jetzt ein Nervenbuendel

-----------------------------------------------------------------------------



Goblins gesichtet (Bertram,  4. Sep 1995, 13:40:36):

In letzter Zeit sind auf dem Westweg von Snarken zum Neandertal angeblich
friedliche Reisende von raeuberischen Goblins ueberfallen und ausgepluendert
worden. Die ueberlebenden Reisenden waren in bemerkenswert guter Verfassung,
die anderen haben die Goblins verfolgt und wurden nicht mehr gesehen.
Scheinbar handelt es sich um organisierte Kriminalitaet, was darauf hin-
deutet, dass die Goblins ihr Lager in der Naehe des Ueberfallortes haben.
Bisher liegen noch keinerlei Informationen ueber ein Lager vor, was wohl
hauptsaechlich daran liegt, dass es sehr gefaehrlich sein koennte, es zu
finden. Es gibt es wenig Hoffnung, mehr darueber zu erfahren, da noch keiner
unserer Scouts lebend zurueckgekehrt ist.

  Gespannt         Bertram und Nemesis

-----------------------------------------------------------------------------



Werte/Elfen-NPCs (Silvana, 16. Okt 1995, 14:47:51):
Hi.
Ich hab die Elfen-NPCs mal mit Groesse (fuer Karateka) nachgeruestet und
ihnen eine leichte Charakterschule verpasst (hallo, Chaoskrieger).
Ausserdem gibt es jetzt im Elfenladen eine Schriftrolle zu kaufen,
mit der man den Zauberer-Spruch 'werte' sprechen kann. Ist nicht billig,
aber man kann damit den Charakter von NPCs/Spielern abschaetzen (und
noch etwas anderes - findet's selbst raus).

Have fun - Silvana

-----------------------------------------------------------------------------



Re: Werte/Elfen-NPCs (Hardil, 16. Okt 1995, 14:49:56):
#! rn=Silvana rt=813851271

Du hast das NNN vergessen. :-)

Hardil. NNN.
:-)

-----------------------------------------------------------------------------



Elfendorf (Quasimodo, 27. Okt 1995, 10:55:50):

Nachdem die Logfiles ueberquelten habe ich sie mal durchgearbeitet und ein
paar Verbesserungen im Dorf eingebaut. Allesamt nix mit Kampf zu tun.

Viel Spass,

Quasimodo

-----------------------------------------------------------------------------



Cleanup! (Catweazle, 27. Okt 1995, 12:57:38):
Was soll der Waldgeist ? (Asmodis, 23. Okt 1995, 22:39:52):
Also ich finde, Rochus & Co. uebertreiben es mit ihren Creationen
in der Paralleldimension. Gerade hab ich den Waldgeist getroffen,
einen NPC der mich und Asmodina, meine Zweitie (oder Drittie?),
mit einem Schlag toeten konnte, hier das LOG:

Du hast jetzt 210 Lebenspunkte und 206 Magiepunkte.
  Du greifst den Waldgeist mit einem misslungenen Yoko-mawashi-empi-uchi an.
  Du verfehlst den Waldgeist.
  Der Waldgeist greift Dich mit astaehnlichen Krallen an.
Das Kreuz faengt an zu leuchten.
   Du wehrst den Angriff mit einem Gaiwan-nagashi-uke ab.
Du hast jetzt 210 Lebenspunkte und 205 Magiepunkte.
  Der Waldgeist zerschmettert Dich in kleine Stueckchen.
[Tod:] Ein Waldgeist hat gerade Asmodina umgebracht.


Gibt es eigentlich bei den Waffenstaerken nicht einen Richtwert, den
man nicht ueberschreiten sollte oder darf ? Jedenfalls ist ein Monster,
dass ueber 210 LP mit einem Schlag pulverisiert, eine reine
Killermaschine fuer ahnungslose Spieler und passt irgendwie nicht an
eine Kreuzung, an der viele Leute vorbeigehen (naja, nur Seher).

Mir ist klar, dass der Waldgeist nicht urspruenglich so stark ist,
erst nach einigen Kaempfen, aber es ist trotzdem nicht nett, einen
Killer mitten auf dem Weg stehen zu haben, es koennte ja ein Chaot
vorbeikommen, dessen Chaosruestung gerade durchdreht, und dann ist
er der Dumme und weiss nicht mal, was ihm geschieht.
Also sollte der Verantwortliche mal ueberlegen, ob er diese
Kampfkraftsteigerung nicht begrenzen sollte auf einen vernuenftigen
Wert.

So, das wollte ich nur mal gesagt haben

Ciao, Asmodis

------------------------------------------------------------------------------

Re: Was soll der Waldgeist ? (Rochus, 24. Okt 1995, 12:19:20):
(Bezug: Artikel 45 von Asmodis vom 23. Okt 1995, 22:39:52)
Hmmm...
Ich habe eigentlich gedacht, es wuerde reichen, wenn der nicht
mehr automatisch SPieler angreift, wenn er eine gewisse Staerke
ueberschreitet - es ist dann ja niemand gezwungen, mit ihm zu
kaempfen, und man sollte eigentlich erwarten, dass ein Spieler
ziemlich bleich im Gesicht wird, wenn er die Ausgabe von "schaetz"
sieht und dann die Finger von dem Viech laesst.

Ich habe die Staerke jetzt jedoch trotzdem nach oben hin begrenzt - es
ist wirklich etwas viel, wenn ein Schlag genuegt.
Der Waldgeist war uebrigens nicht das einzige Monster mit
unbegrenzter Staerke - frag mal Bloodgore, die nennt Dir dann
eines, was ausgerechnet von dem stammt, der fuer Richtwerte
zustaendig ist, naemlich von Boing :)

Noch etwas, Asmodis:
Ueber die EP fuer Deinen und Asmodinas 1. Tod koennen wir reden,
nicht jedoch ueber die fuer Asmodinas 2. und 3. Tod - den
Waldgeist danach NOCH 2 MAL anzugreifen und dabei zu sterben
hast Du wirklich selber zu verantworten.

------------------------------------------------------------------------------

Re: Re: Was soll der Waldgeist ? (Fyt, 24. Okt 1995, 12:31:56):
(Bezug: Artikel 46 von Rochus vom 24. Okt 1995, 12:19:20)
*neugierig sei*
Stellt das besagte Monster zufaelligerweise Beine und ist
aelteren Geruechten zufolge auch nicht mit einem einzelnen 'zap'
zu killen?
Fyt.

------------------------------------------------------------------------------

Re: Re: Was soll der Waldgeist ? (Rochus, 24. Okt 1995, 12:39:27):
(Bezug: Artikel 46 von Rochus vom 24. Okt 1995, 12:19:20)
Ich habe Janice uebrigens die EP zurueckgegeben, sie ist
kurze Zeit vorher an einem einzelnen Schlag gestorben.
Das mit Asmodis EP muss ich mir jedoch noch *gruendlich*
ueberlegen, da Janice mir gesagt hat, sie haette Asmodis
von diesem Ereignis berichtet - ich sehe nicht ein, wieso ich EP
fuer etwas zurueck geben soll, wovon ein Spieler vorher
gewusst hat, dass er daran sterben kann.

------------------------------------------------------------------------------

Re^3: Was soll der Waldgeist ? (Cuchullin, 24. Okt 1995, 12:41:50):
(Bezug: Artikel 47 von Fyt vom 24. Okt 1995, 12:31:56)

Ich denke, Rochus meint ein gewisses fleischloses (Lebe- [???])wesen in des
Friedhofs Katakomben... *grinsunschuldig*

Cuch.- (glaubt, Rochus zu kennen - trotzdem vor Ueberraschungen nicht gefeit)

------------------------------------------------------------------------------

Re^3: Was soll der Waldgeist ? (Rochus, 24. Okt 1995, 12:50:50):
(Bezug: Artikel 47 von Fyt vom 24. Okt 1995, 12:31:56)
Genau das meine ich.
Inzwischen genoegt jedoch ein einzelner 'zap'.
Das lag daran, dass ein 'zap' frueher nur mehr LP abgezogen
hat als jemand haben kann, ich glaube etwa 100.000 ...

------------------------------------------------------------------------------

Re^3: Was soll der Waldgeist ? (Larissa, 24. Okt 1995, 18:28:05):
(Bezug: Artikel 48 von Rochus vom 24. Okt 1995, 12:39:27)
Also, der 2. und 3. Tod von Asmodina war wirklich pure Absicht, war wohl
etwas sauer der gute Asmo (hat die Tode sogar ueber Allgemein angekuendigt),
aber beim ersten Mal war es ganz sicher nicht so! Obwohl, oder gerade wegen
Janice's Beschwerde....
Larissa, war dabei und will das richtig stellen :-)

------------------------------------------------------------------------------

Re^4: Was soll der Waldgeist ? (Grimmborn, 25. Okt 1995, 09:48:11):
(Bezug: Artikel 51 von Larissa vom 24. Okt 1995, 18:28:05)

Also, wenn mir damals jemand gesagt haette, da gibts was, wo ein Schlag
ausreicht, haett ich nur mitleidig den Kopf geschuettelt und haetts
ausprobiert.
Insofern sind die ersten Tode durchaus verstaendlich.
Naja, und aus Frust die weiteren meiner Meinung nach auch, aber was wollen
Zweities mit ep? Immer weg damit!

Grimmborn der Atheist

------------------------------------------------------------------------------

Re^4: Was soll der Waldgeist ? (Boing, 25. Okt 1995, 11:15:51):
(Bezug: Artikel 50 von Rochus vom 24. Okt 1995, 12:50:50)
Nicht in MorgenGrauen ... dort wurde schon immer sofort die() auf-
gerufen, das klappt also auch bei gewissen fleischlosen Lebewesen. :)
(Ist uebrigens immer noch unbegrenzt ;)
  Boing

------------------------------------------------------------------------------

Re^5: Was soll der Waldgeist ? (Grimmborn, 25. Okt 1995, 11:18:01):
(Bezug: Artikel 53 von Boing vom 25. Okt 1995, 11:15:51)

Jaja, ich frage mich immer noch, was die Funktionen der() und das() machen.
hab ich noch nirgendwo gefunden...

Grimmborn der Atheist. Riecht eine ungerechte Bevorzugung der Weiblichkeit.

------------------------------------------------------------------------------

Re^5: Was soll der Waldgeist ? (Asmodis, 25. Okt 1995, 14:38:17):
(Bezug: Artikel 52 von Grimmborn vom 25. Okt 1995, 09:48:11)
RICHTIGSTELLUNG: Mir hatte keiner gesagt, dass der nur einen Schlag
               braucht, um einen Seher zu toeten, Janice sagte ja
	                       ja nur, dass der ziemlich hart ist.

------------------------------------------------------------------------------

Re: Was soll der Waldgeist ? (Toss, 25. Okt 1995, 20:56:47):
(Bezug: Artikel 45 von Asmodis vom 23. Okt 1995, 22:39:52)
heul doch

------------------------------------------------------------------------------

Re waldgeist (Chicola, 26. Okt 1995, 17:14:35):
auch mal was sagen :
Wozu gibt es eigentlich Monster, die nicht toetbar sind, aber angreifbar ??
Stillt damit ein mordluesterner Magier seinen Durst ?

nicht ganz verstehend ....... Chicola

------------------------------------------------------------------------------

Re: Re waldgeist (Felagund, 26. Okt 1995, 17:22:09):
(Bezug: Artikel 57 von Chicola vom 26. Okt 1995, 17:14:35)
Ganz einfach: weil sich da einer nicht an die (ungeschriebenen) Regeln haelt,
das sollte naemlich eigentlich nicht sein :)
gruss...Fela

------------------------------------------------------------------------------

Re: Re waldgeist (Rochus, 26. Okt 1995, 17:24:02):
(Bezug: Artikel 57 von Chicola vom 26. Okt 1995, 17:14:35)
Wieso muss jedes Monster toetbar sein?

------------------------------------------------------------------------------

Re re .. Waldgeist (Chicola, 26. Okt 1995, 17:25:45):
Rochus: LIES bitte RICHTIG !
toetbar ODER unangreifbar !!
langsam auf 181,956 kommend !!
Chicola

------------------------------------------------------------------------------

Re: Re: Re waldgeist (Rochus, 26. Okt 1995, 17:27:15):
(Bezug: Artikel 58 von Felagund vom 26. Okt 1995, 17:22:09)
Doch, das darf sehr wohl sein - wenn der Spieler eine Chance hat,
VORHER zu erkennen dass es ihn wahrscheinlich umbringen wird.

------------------------------------------------------------------------------

Re: Re re .. Waldgeist (Rochus, 26. Okt 1995, 17:28:41):
(Bezug: Artikel 60 von Chicola vom 26. Okt 1995, 17:25:45)
Wenn sich ein Spieler selber umbringen will, indem er ein fuer
ihn erkennbar viel zu starkes Monster angreift,
wieso sollte er das nicht koennen?

------------------------------------------------------------------------------

Re: Re: Re re .. Waldgeist (Raffi, 26. Okt 1995, 17:29:51):
(Bezug: Artikel 62 von Rochus vom 26. Okt 1995, 17:28:41)
Kurze Zwischenfrage: Gibt es denn dafuer ein untruegliches Zeichen ?

Gruss
H.

------------------------------------------------------------------------------

Re waldgeist u.s.w. (Chicola, 26. Okt 1995, 17:32:58):
Ich finds BLOED sich ueber die Zeitung zu unterhalten !!
1. Erspart man sich einiges tippen!
2. Erspart man sich Missverstaendisse!
und 3. Erspart man sich Zeit
Ich sage jetzt erstmal nichtsmehr dazu, bis sich Rochus bereiterklaert ONLINE
mit mir zu schwafeln !

Eure hoffentlich nicht schon nervende Chicola

PS: Vor meinem ersten Artikel hab ich bereits 3 mal versucht Rochus was
mitzuteilen! Leider Ohne Erfolg !
Ich gebe nicht auf !!

------------------------------------------------------------------------------

Re: Re waldgeist u.s.w. (Aranya, 26. Okt 1995, 17:35:18):
(Bezug: Artikel 64 von Chicola vom 26. Okt 1995, 17:32:58)
Dennoch schlage ich Rochus und Chicola als Ehrenmitglieder im NNN-Club vor.
Ab nach Schmarrn.

Aranya.NNN.

------------------------------------------------------------------------------

Re: Re waldgeist u.s.w. (Rochus, 26. Okt 1995, 17:36:40):
(Bezug: Artikel 64 von Chicola vom 26. Okt 1995, 17:32:58)
Ich habe keine Lust, die Frage jedesmal, wenn sie mir von
jemandem gestellt wird, fuer jeden einzeln zu beantworten.
Was die untrueglichen Zeichen betrifft:
Wenn da so etwas steht wie "... seine Waffe laesst Deine ganz
mickrig aussehen ..." oder so, und man selber traegt ein BSS,
dann sollte einem dass schon zu denken geben.

------------------------------------------------------------------------------

nachtrag (Chicola, 26. Okt 1995, 17:37:19):
achja, wenns UNBEDINGT in die Zeitung muss, dann bitte als LOG und nicht in
100 Artikeln !
Chicola

------------------------------------------------------------------------------

re Re: Re waldgeist u.s.w. (Chicola, 26. Okt 1995, 17:40:38):
Ok rochus, dann sag mal n Termin, an dem man sich trifft, und dann koennen
alle, die es interessiert mit diskutieren!
Chicola schrieb den letzen Artikel

------------------------------------------------------------------------------

Re: Re: Re waldgeist u.s.w. (Asmodis, 26. Okt 1995, 22:22:28):
(Bezug: Artikel 66 von Rochus vom 26. Okt 1995, 17:36:40)
Und woran soll es ein Karateka sehen? Die haben meist keine Waffe da zum
vergleichen und gute Waffen haben andere Monster auch, ohne einen
gleich umzubringen.

------------------------------------------------------------------------------

Re^3: Re waldgeist u.s.w. (Zuerileu, 26. Okt 1995, 22:29:09):
(Bezug: Artikel 69 von Asmodis vom 26. Okt 1995, 22:22:28)
Sali,
Koestlich euch zuzuhoeren das ist auf jedenfall intressanter als Hans Meiser
auf RTL oder Talk im Wurm in Sat1 =:))

Tschuess zaeme euer Zuerileu (Schrecken der Unterwelt!)

------------------------------------------------------------------------------

Re: Re re .. Waldgeist (Olpp, 27. Okt 1995, 00:59:23):
(Bezug: Artikel 60 von Chicola vom 26. Okt 1995, 17:25:45)
Ich glaub, es wird Zeit, auch diese Rubrik abzubestellen..

------------------------------------------------------------------------------

Re: Re: Re re .. Waldgeist (Asmodis, 27. Okt 1995, 01:00:12):
(Bezug: Artikel 71 von Olpp vom 27. Okt 1995, 00:59:23)
Naja, dann bestelle doch alles ab, wenn du keine Zeitungsartikel
mehr lesen willst :)

------------------------------------------------------------------------------

Re^3: Re re .. Waldgeist (Olpp, 27. Okt 1995, 12:28:39):
(Bezug: Artikel 72 von Asmodis vom 27. Okt 1995, 01:00:12)
Na Du bist ja ein schlaues Kerlchen, Asmodis.. Ohne weiteren Kommentar.

Olpp
------------------------------------------------------------------------------
Hm, ich hab dieses Gesuelze und Gejammere mal verlegt.
Fuer alle die, die bis hier unten angekommen sind, ich hoffe ihr hattet
viel Spass beim lesen :)
Yours truly,
        catweazle

-----------------------------------------------------------------------------



Re: Cleanup! (Silvana, 31. Okt 1995, 07:26:20):
#! rn=Catweazle rt=814795058
Jetzt erklaere mir noch einer, was das ganze in d.wald zu suchen hat.
Der Waldgeist ist KEIN Monster des Waldes und auch nicht im Wald ange-
schlossen. Im Wald angeschlossene Objekte/NPCs etc, die nicht von Mika,
Bernard oder mir genehmigt wurden, werden nicht im Wald angeschlossen
und wenn doch, dann sofort geloescht, sobald es mir auffaellt - und wenn
es von Jof persoenlich stammt. *zwinker Jof*
Silvana - etwas veraergert.

-----------------------------------------------------------------------------



Re: Re: Cleanup! (Asmodis, 31. Okt 1995, 08:09:45):
#! rn=Silvana rt=815120780
Hmm, hatte ich nicht meinen Artikel in Polizei.Beschwerden geschrieben ?
Ich meine den Artikel, der das alles nach sich zog.
Da sieht man wieder, dass Magier auch irren koennen :)

-----------------------------------------------------------------------------



Hobbits (Gundur, 31. Okt 1995, 11:41:41):
Als ich letztens mal wieder durch den Wald spazierte begab es sich das ich,
ie der Zufall es will, einen versteckten Weg fand...
Nachdem ich dem Weg einige Zeit gefolgt war kam ich in ein Dorf voller
kleiner
Menchenaehnlichen Wesen (allerdings etwas kleiner)
Nach schweisstreibenden Verhandlungen waren diese Wesen bereit den Weg zum
Morgengrauen oeffne zu lassen und sich ebenso dafuer herzugeben als
Spielerkoerper zu dienen.....

Viel Spass wuenscht Gundur....
ps: Vielen Dank an Silvana und Boing fuers testen
psps: Besonderen Dank auch an Tryfan den alten ergrauten Maulwurf der in
wochenlanger Arbeit das komplette Dorf umgegraben hat und angetestet hat :-)

-----------------------------------------------------------------------------



Re: Hobbits (Gundur, 31. Okt 1995, 11:42:30):
#! rn=Gundur rt=815136101
argl die Tastatur ist schuld...ich schwoere! :-)
Gundur

-----------------------------------------------------------------------------



Re: Re: Cleanup! (Catweazle, 31. Okt 1995, 13:26:57):
#! rn=Silvana rt=815120780
Hm.
Sorry, Silvana, aber diese Artikel haben ein Ausmass angenommen, das ich
sie in polizei.beschwerden fuer ueberfluessig fand. Da ich sie nicht nach
Schmarrn verlegen wollte, da die DIskussion ja wenigstens zu Anfang noch
interessant war. Daher kam mir nun das naheliegendste, eine Diskussion ueber
einen WALDgeist auch in den Wald zu setzen. Und fuer die Parallelwelt hamm
wer ja nu ma keine Rubrik.
Mit der Bitte um untertaenigste Vergebung,
  Yours truly,
          Catweazle

-----------------------------------------------------------------------------



Re^3: Cleanup! (Rochus, 31. Okt 1995, 13:31:12):
#! rn=Catweazle rt=815142417
Der Waldgeist ist in einem Parallelraum der EBENE!

-----------------------------------------------------------------------------



Re^4: Cleanup! (Cuchullin, 31. Okt 1995, 13:32:42):
#! rn=Rochus rt=815142672
Was soll der Terz? Rubrik "d.parallelwelt" und der Kaese ist gegessen...
egal, ob es /d/parallelwelt/ nun gibt oder nicht.

Cuch.- kein Nerv fuer Streitereien.


-----------------------------------------------------------------------------



Re^5: Cleanup! (Boing, 31. Okt 1995, 14:17:40):
#! rn=Cuchullin rt=815142762
Ich finde die Diskussion laecherlich, man wird doch wohl mal einen
falsch verlegten Artikel verkraften koennen. Ich persoenlich faende
die Rubrik d.wald bei einem Waldgeist auch naheliegend.
  Boing

-----------------------------------------------------------------------------



Re: Hobbits (Aline,  2. Nov 1995, 10:31:54):
#! rn=Gundur rt=815136101
Hallo Gundur,

erstmal vielen Dank fuer die neue Rasse. Bedauerlich ist nur, dass die
armen Hobbit-Newbies sich erst durchst Moor (Wirr-Warr oder das andere
zum Polargebiet) kaempfen muessen um zur Hochebene oder zu leicht zu
erlegene NPCs zu kommen.

Aline

-----------------------------------------------------------------------------



Re: Re: Hobbits (Cuchullin,  2. Nov 1995, 12:08:54):
#! rn=Aline rt=815304714

Aber Alinchen, sie koennen auch durch das Neandertal...
Wenn sie nicht von Bertrams Goblins gekrallt werden :)

Cuch.- (kennt die Gobs)


-----------------------------------------------------------------------------



Re: Re: Hobbits (Boing,  2. Nov 1995, 12:14:30):
#! rn=Aline rt=815304714
Wenn ich mich richtig entsinne, wollte Silvana das Wirrwarrmoor aus
diesem Grund entschaerfen. Ist also nur eine Frage der Zeit. :)
  Boing

-----------------------------------------------------------------------------



Merlin? (Hardil,  3. Nov 1995, 15:22:55):
teile merlin mit Bist Du verantwortlich fuers lag?
Du spuerst einen sengenden Schmerz.
Du hast jetzt 84 Lebenspunkte und 213 Magiepunkte.
Du teilst Merlin mit: Bist Du verantwortlich fuers lag?
> Du hast jetzt 85 Lebenspunkte und 214 Magiepunkte.
Merlin ruft: Ich bin im Wald.


Hmmm, Merlin, Dein Trigger war aber auch schonmal besser :)

-Hardil.
Sucht und findet Script-NPCs.

-----------------------------------------------------------------------------



Hobbitliste (Gundur,  7. Nov 1995, 12:17:35):
Jo
Beim Buegermeiter im Hobbitdorf haengt jetzt auch ne Top-Hobbit-Liste...
Gruss
Gundur
ps: Irgendwelche fehlenden s mu mann sich dazudenken *argl*

-----------------------------------------------------------------------------



Re: Hobbitliste (Zephyr,  7. Nov 1995, 14:05:45):
#! rn=Gundur rt=815743055
Lass mich raten, an welche Tastatur Du gesessen hast

Zeph, breit grinsend

-----------------------------------------------------------------------------



Re: Re: Hobbitliste (Gundur,  7. Nov 1995, 14:06:58):
#! rn=Zephyr rt=815749545
Tjaja Du kennst Die Tastatur :-)
*grins breit*
Wie war das? 20 mal versucht da richtige Passwort einzutippen? :-)
Gundur

-----------------------------------------------------------------------------



Re: Re: Hobbitliste (Hardil,  7. Nov 1995, 14:07:02):
#! rn=Zephyr rt=815749545

Zephyr: falsche Rubrik ?
Er ist jetzt erstmal verlegt. :)))

Hardil
NNN.

-----------------------------------------------------------------------------



Re^3: Hobbitliste (Zephyr,  7. Nov 1995, 14:08:06):
#! rn=Gundur rt=815749618
Noe, ich war schon nach dem fuenfzehnten Mal drin ;)
Zeph, in Erinnerung kichernd

-----------------------------------------------------------------------------



Re: Re: Hobbitliste (Cuchullin,  7. Nov 1995, 14:08:08):
#! rn=Cuchullin rt=815749656
Nene, der musste schon hier her :-)
Cuch.- Verleger ;-)

-----------------------------------------------------------------------------



Hobbits sind rachsuechtig :) (Hardil,  7. Nov 1995, 14:48:30):

Kann das sein, dass diese kleinen Pelzfuesse etwas rachsuechtig sind? Kaum
schickt man mal einen oder den anderen zu Lars, schon laesst der Rest einen
noch nichtmal tanken?
Komisch. :-)

-Hardil
NNN.

-----------------------------------------------------------------------------



WirrWarrMoor (Silvana, 10. Nov 1995, 09:25:44):
Hi.
Um unsere neue Rasse, die Hobbits, nicht voellig von der Zivilisation
abzuschneiden, hab ich eine Troy-Bruecke ins Moor eingebaut. Es sollte
jetzt keiner mehr im Moor versinken. Achtung: Wegeskripte bitte korrigieren.
Silvana (tut den Pelzfuesslern was gutes.)

-----------------------------------------------------------------------------



Re: WirrWarrMoor (Zephyr, 10. Nov 1995, 10:06:43):
#! rn=Silvana rt=815991944
"Troy-Bruecke" hoert sich ja nicht grad vertrauenerweckend an :)

frech grinsend, Zephyr

-----------------------------------------------------------------------------



Re: Re: WirrWarrMoor (Silvana, 10. Nov 1995, 10:16:49):
#! rn=Zephyr rt=815994403
"Troy-Bruecke" bezog sich nur auf die dem Stil der Umgebung angepasste,
unerhoert Detailfreudige Beschreibung. Hatte keine Lust, da mehr als
noetig Zeit zu investieren....

frech zurueckgrinsend - Silvana

-----------------------------------------------------------------------------



Probleme im Geisterschloss (hoffentlich) behoben (Bertram, 10. Nov 1995, 11:39:54):
Gestern Abend sind aus bislang ungeklaerten Gruenden ein paar Zeilen
Sourcecode aus dem Questmaster des Geisterschlosses verschwunden. Ich habe
inzwischen saemtliche Objekte ueberprueft und hoffe, dass jetzt alles wieder
funktioniert.
Sollten dennoch Fehler auftreten, so bitte ich darum, ausfuehrliche Bug-
meldungen per Mail an mich zu schicken.

           Hoffend, dass alles wieder in Ordnung ist
                                             Bertram
P.S.: Fuer die Probleme, die mit manchen Questobjekten anderer Quests
      (z.B. dem Maulwurf aus der Titiwuquest) auftreten, habe ich noch
       keine Loesung. Ich arbeite aber dran :)

-----------------------------------------------------------------------------



Chilana (Silvana,  2. Jan 1996, 08:44:26):
Auf mehrfachen Wunsch hab ich ein paar Aenderungen in der Chilana-Quest
vorgenommen. Keine Sorge: Nix was es schwerer machen wuerde. Nur ein paar
Hilfestellungen. Beispielsweise ist der Zutatenliste jetzt zu entnehmen,
dass die Quest weitgehend reboot-sicher ist.
Silvana
PS: Die Aenderungen gelten natuerlich nur fuer diejenigen, die die Quest
jetzt neu anfangen/bzw nach dem naechsten Reboot fuer alle.

-----------------------------------------------------------------------------



Neues Gebiet. (Paracelsus, 22. Jan 1996, 16:41:55):
Hiho!
Da ist mir doch eben eine ganz schreckliche Geschichte zu Ohren gekommen:
Boese Drakonier haben in der Wueste eine Pyramide geklaut! Man sah sie
zuletzt durch das Neandertal gen Norden ziehen.
Wenn man Geruechten Glauben schenken will, benutzen die Drakonier diese
Pyramide nun als Tempel.
Darum moechte ich hier nun alle Spieler, die glauben, der Aufgabe
gewachsen zu sein, auffordern:
Gehet hin und bestrafet die Drakonier fuer ihre Tat!

Viel Spass beim Suchen und Metzeln wuenscht:
    Paracelsus.

P.S.: Nein, dies ist keine Quest.

-----------------------------------------------------------------------------



Bergsee (Silvana, 22. Jan 1996, 16:41:55):
Hi, ihrs. ;)
Ich hab an dem Bergsee in den Drachenzinnen ein paar Ruderboote aufgestellt.
Wer Lust hat, kann man etwas zum erkundern rudern - aber wartet auf die
Anzeige von Paracelsus - die wird Euch mehr dazu verraten.

Silvana

-----------------------------------------------------------------------------



Re: Neues Gebiet. (Durian, 22. Jan 1996, 17:08:35):
~#! rn=Paracelsus rt=822325315
~#! tid=822325315
ACH DIE WAREN DAS???

Ich habe mich schon immer gefragt, warum man nicht in alle drei Pyramiden
gehen kann ... so ist das also, Ihr aus dem Wald klaut :-)

- Durian

-----------------------------------------------------------------------------



Re: Re: Neues Gebiet. (Paracelsus, 22. Jan 1996, 22:34:33):
~#! rn=Durian rt=822326915
~#! tid=822325315
Nein nein, das siehst Du mal wieder falsch. (Wohl zuviel Sand im Getriebe? ;)
Nicht wir klauen, die Drakonier haben geklaut. DANACH sind sie in den Wald
gekommen.
Na, wenn ich erstmal herausfinde, wo die wieder herkommen! ;)
Para.

-----------------------------------------------------------------------------



Re^3: Neues Gebiet. (Cuchullin, 22. Jan 1996, 22:35:59):
~#! rn=Paracelsus rt=822346473
~#! tid=822325315


Na, wenn ihr Pflaumen auch wirklich jeden in den Wald lasst, seid
ihr automatisch Mittaeter.

Hilft Dance^H^H^H^Hurian,
Cuch.-


-----------------------------------------------------------------------------



Re: Re: Neues Gebiet. (Raffi, 23. Jan 1996, 15:16:40):
~#! rn=Durian rt=822326915
~#! tid=822325315

Ich frag mich eher warum die nicht gleich alle 3 geklaut haben - dann koennte
Durian wenigstens das Tal neu planieren und vernuenftig einteilen.

Gruss
H.

-----------------------------------------------------------------------------



Re^3: Neues Gebiet. (Aranya, 24. Jan 1996, 18:34:29):
~#! rn=Raffi rt=822406600
~#! tid=822325315
Du meintest Dancer, oder?

HA HA HA! Wieder in die alte Kerbe hauen!
Da wird jeder Kalauer mitgenommen! Ohne Ruecksicht auf Verluste!

Aranya
       ist heut wieder schraeg drauf

-----------------------------------------------------------------------------



Re^3: Neues Gebiet. (Raffi, 25. Jan 1996, 12:17:19):
~#! rn=Raffi rt=822406600
~#! tid=822325315

Hmm tut mir peinsamm aber  laut Questliste (Gilde,PV) zeichnet Durian fuer
die Pyramiden verantwortlich.

Gruss
H.

-----------------------------------------------------------------------------



Re^4: Neues Gebiet. (Fyt, 25. Jan 1996, 16:35:32):
~#! rn=Raffi rt=822568639
~#! tid=822325315

Hm, Raffi, ist mir auch peinsam, aber lass Dich mal aufklaeren:

Die Pyramiden sind von Anfang an von Dancer gewesen und stehen in
Durians Wueste, was letztenendes eh egal ist, da der eine Zweitie
vom anderen ist.

Das einzige ungeklaerte Problem ist, wer der Erstie ist :))
Eigentlich hat sich mittlerweile die Theorie durchgesetzt, das
jeder der beiden Zweitie vom jeweils anderen ist.

Fyt.

-----------------------------------------------------------------------------



Re^5: Neues Gebiet. (Raffi, 25. Jan 1996, 17:16:11):
~#! rn=Fyt rt=822584132
~#! tid=822325315

So, jetzt hast du mich aufgeklaert, aber irgendwie werde ich das
gefuehl nicht los, dass es mir lieber waere, ich koennte auch
weiterhin an Bienchen, Bluemchen (und jof natuerlich) glauben.

Gruss
H.
(Deprimiert)

-----------------------------------------------------------------------------



Re^6: Neues Gebiet. (Boing, 29. Jan 1996, 13:00:26):
~#! rn=Raffi rt=822586571
~#! tid=822325315
Und was ist mit mir? Hmm? Das merk ich mir!
  Boing

-----------------------------------------------------------------------------



Der Tempel lebt ... (Paracelsus, 29. Jan 1996, 13:13:41):
Hiho!
So, die Drakonier in meinem Tempel pflegen ihre Schuppen jetzt etwas
mehr, was dazu fuehrt, dass sie etwas resistenter geworden sind (gegen
manche Sachen). Dafuer raeumen sie jetzt aber auch ein bisschen auf.
Paracelsus.

-----------------------------------------------------------------------------



Re: Der Tempel lebt ... (Jerrico, 29. Jan 1996, 13:15:59):
~#! rn=Paracelsus rt=822917621
~#! tid=822917621
Das liegt hoffentlich nicht daran, dass ich gerade ein paar Drakonierer aus
dem Weg geraeumt habe :), die sind stark genug, dafuer dass es hier nur einen
Sandsack gibt *grins*

-----------------------------------------------------------------------------



Re: Re: Der Tempel lebt ... (Paracelsus, 29. Jan 1996, 13:17:10):
~#! rn=Jerrico rt=822917759
~#! tid=822917621
Ne ne, Jerrico. Ist auch nur ne minimale Aenderung ;)
Die Parallelwelt ist eh viel schoener ;)
Para.

-----------------------------------------------------------------------------



Re^3: Der Tempel lebt ... (Jerrico, 29. Jan 1996, 13:18:08):
~#! rn=Paracelsus rt=822917830
~#! tid=822917621
Damit wir die Rubrik auch voll bekommen :)   :
Gibts in der Parallelwelt denn mehr als einen Sandsack ? *grins*

-----------------------------------------------------------------------------



Re^3: Der Tempel lebt ... (Jerrico, 29. Jan 1996, 13:18:48):
~#! rn=Paracelsus rt=822917830
~#! tid=822917621
PS:Wer spandiert hier das Bier bei Re^1000 ???

-----------------------------------------------------------------------------



Re^4: Der Tempel lebt ... (Raffi, 29. Jan 1996, 14:01:07):
~#! rn=Jerrico rt=822917928
~#! tid=822917621

Ganz schhoen verwegen lieber Jerrico bei re^3 ueber re^1000 zu spekulieren

Gruss
H.
(Sienen teil zu Re^1000 beitragend)

-----------------------------------------------------------------------------



Re^7: Neues Gebiet. (Raffi, 29. Jan 1996, 16:42:25):
~#! rn=Boing rt=822916826
~#! tid=822325315

Sorry Boing, aber soo ein Besonders Hoher Gott kannst du ja nicht sein, du
bist ja nichtmal aus Muenster. Und wenn ich anfange hier jeden Halb,
Dreiviertel  oder Siebenachtel Gott aufzuzaehlen, dann  bin ich naechste
woche noch beschaeftigt.

Gruss
H.
(in andaechtiger Erwartung des ZWINGE RAFFI ZU SELBSTLOESSCHUNG)

-----------------------------------------------------------------------------



Bug (Silvana,  1. Feb 1996, 11:50:40):
Aufgrund eines Bugs, der durch die neue Bearbeitung der Details/ReadDetails
entstanden ist, ist die Chilana-Quest nicht mehr loesbar. Sie ist bis auf
weiteres abgehaengt.

  Silvana

-----------------------------------------------------------------------------



Re: Bug (Asmodis,  1. Feb 1996, 14:46:00):
~#! rn=Silvana rt=823171840
~#! tid=823171840
Hmm, mich wuerde mal interessieren, was diese neue Regelung gebracht hat
bisher,
ausser bugs und probleme ? :)

-----------------------------------------------------------------------------



Re: Re: Bug (Catweazle,  1. Feb 1996, 14:50:44):
~#! rn=Asmodis rt=823182360
~#! tid=823171840
Na das nenn ich doch mal einen wirklich gut ueberlegten, konstruktiven
Artikel. Bravo Asmodis, weiter so. *Beifall klatsch*
YTC :(

-----------------------------------------------------------------------------



Re^3: Bug (Felagund,  1. Feb 1996, 16:59:18):
~#! rn=Catweazle rt=823182644
~#! tid=823171840
Anscheinend hat es dich noch nie gestoert, wenn an allen moeglichen Dingen
details waren, die du untersuchen wolltest, wo dann "Sowas siehst du hier
nicht" kam? Also mich schon!
gruss..Fela

-----------------------------------------------------------------------------



Re^4: Bug (Fyt,  1. Feb 1996, 18:31:48):
~#! rn=Felagund rt=823190358
~#! tid=823171840
Auf die Art und Weise konnte man wenigstens sicher sein, dass das
detail nicht Questnotwendig ist und dazu untersucht, durchsucht, gesucht
und abgeschleckt werden muss.

Fyt.

PS: Koennte man die ganzen 'suche' und 'durchsuche'-Sachen nicht schon
bei nem ordinaeren 'unt' mit ausgeben? Ich sag nur Sauerstofflasche...

-----------------------------------------------------------------------------



Chilana (Silvana,  5. Feb 1996, 11:42:29):
So, die Quest sollte wieder loesbar sein. Viel Spass - Silvana

-----------------------------------------------------------------------------



Paracelsus (Silvana, 16. Feb 1996, 12:53:40):
Kurz und buendig: Paracelsus ist ab sofort Wald-Vize-RM und wird mich
(so hoffe ich) nach Kraeften unterstuetzen.

  Silvana

-----------------------------------------------------------------------------



Beschwoerungen (Yantro, 20. Feb 1996, 20:57:48):

Hallo meine liebsten Hausbesucher.
Nach einigem sammeln hab ich nun mal das eure Wuensche aus dem Raum des Todes
im Haus der Farben beachtet und einen Teil der Sachen eingebaut, die ihr bis
jetzt dort vergeblich versucht habt zu beschwoeren...

Fuer neue Ideen bin ich immer zu haben.. einfach mal versuchen oder aber mail
an mich :)

               Yantroeli :)

-----------------------------------------------------------------------------



Re: Beschwoerungen (Yantro, 22. Feb 1996, 09:17:38):
~#! rn=Yantro rt=824846268
~#! tid=824846268

Hmm vielleicht nur um das nochmal was klarer auszudruecken:
Da bau ich zur Liebe der Seher in den Todesraum ein, dass man sich einen
Vollstrecker beschwoeren kann und was les ich in meinem LogFile? Die ganzen
HLP beschwoeren alle nur so ein BSS... naja.. ich hab das jetzt abgeaendert,
selber Schuld :).

                Yantro, der Herr des einsamen Hauses.

-----------------------------------------------------------------------------



Drakonien (Paracelsus,  5. Mar 1996, 13:10:47):
Hiho!
Da sich so ein-zwei Spieler beschwert haben, dass die Drakonier zu viel
aufraeumen, hab ich ihre Ordnungswut jetzt _etwas_ gedaempft. Wie gesagt,
nur etwas. Ihr werdet schon sehen, was ihr davon habt. ;)

Paracelsus

-----------------------------------------------------------------------------



Kleine Aenderung (Paracelsus, 18. Mar 1996, 11:20:42):
Hiho!
Die Kneipe "Zum torkelnden Drachen" hat ihr Angebot etwas erweitert und
fuehrt jetzt auch ein nicht-alkoholisches Getraenk.
Daher koennen jetzt auch die Zauberer im Drakonier-Tempel ordentlich
tanken.
Paracelsus.

-----------------------------------------------------------------------------



Re: Kleine Aenderung (Laila, 18. Mar 1996, 11:22:16):
~#! rn=Paracelsus rt=827144442
~#! tid=827144442
Wow, doch wirklich EIN getraenk, na ja, wer die Wahl hat, hat die Qual
Oh Jof, was nehm ich denn bloss, gruebel, schwitz .... :)

Laila, gruebelnd

-----------------------------------------------------------------------------



Re: Re: Kleine Aenderung (Paracelsus, 18. Mar 1996, 11:25:52):
~#! rn=Laila rt=827144536
~#! tid=827144442
Warte, bis Du den Preis gesehen hast ;)

-----------------------------------------------------------------------------



Re^3: Kleine Aenderung (Kramka, 18. Mar 1996, 11:36:24):
~#! rn=Paracelsus rt=827144752
~#! tid=827144442
Laila wartet :)

-----------------------------------------------------------------------------



Aenderung V was.weiss.denn.ich (Paracelsus, 20. Mar 1996, 22:36:46):
Hiho Freunde des Drakoniertempels!
(Die solls geben, hab ich mir sagen lassen ;)
Ich hatte gerade mal wieder Bastellaune und hab also ein bisschen an den
Drakoniern rumgebastelt.
Die Aenderung wird vor allem die Zauberer freuen, da sie jetzt endlich mit
ihrem "rausch"-Spruch etwas wirkungsvolles anstellen koennen. ;)
Viel Spass,
   Paracelsus.

-----------------------------------------------------------------------------



Fondil Farin (Quasimodo, 29. Mar 1996, 15:20:29):

Hi Ich habe mal wieder das Logfile des Elfenschreibers durchgeschaut und
Dabei eine Liste der Fragen erstellt, die ihr fuer beantwortungswuerdig
gehalten habt. Vielleicht ist ja unter euch jemand, der sich dafuer inter-
essiert.

  59 buch
  37 kuss
  25 gnulli
  19 krawatte
  16 wilhelmine
  13 abenteuer
  12 tee
  12 hochebene
  12 gilde
  12 geld
  11 elfen
  10 rezept
  10 magier
  10 labor
  10 casino
  10 aufgabe
   9 zwerge
   9 quest
   7 wissen
   7 magie
   7 dorf
   7 caradhras
   6 zaubertrank
   6 schrat
   6 morgengrauen
   6 kochen
   6 brille
   5 zwergen
   5 vulkan
   5 port vain
   5 menschen
   5 lexikon
   5 kraeuter
   5 kaffee
   5 garderobe
   5 fyt
   5 buecher

-----------------------------------------------------------------------------



Drakonier (Paracelsus,  1. Apr 1996, 16:11:54):
Auf mehrfache Anfragen hin, ob ich die Drakonier mal wieder staerker
gemacht haette:
JEIN. Ich habe si in soweit abgeaendert, dass betrunkenen Spieler weniger
Schaden anrichten als nuechterne.
(Das funzt natuerlich auch andersherum).
Ansonsten wurde nix geaendert.
Paracelsus

-----------------------------------------------------------------------------



Re: Fondil Farin (Azzuro,  2. Apr 1996, 23:20:27):
~#! rn=Quasimodo rt=828109229
~#! tid=828109229
Bei dem Ranking der Fragen fehlt aber einiges.
Diverse Fragen nach Sex, Maennern..........
Mein Zweitie hat nicht umsonst die ganze Nacht Fondil ausgefragt ;)

-----------------------------------------------------------------------------



Oefter mal was neues ;) (Paracelsus,  3. Apr 1996, 13:23:46):
So, ich hab mal wieder etwas gebastelt, daher gibt es mal wieder zwei
kleine Aenderungen im Wald.
Die eine ist interressant fuer Zauberer-Magister, die andere werden wohl
nur Seher finden koennen.
Viel Spass beim suchen ;)

Paracelsus

-----------------------------------------------------------------------------



Re: Re: Fondil Farin (Quasimodo,  4. Apr 1996, 13:03:35):
~#! rn=Azzuro rt=828480027
~#! tid=828109229
Nee, umsonst war es bestimmt nicht, dann eher schon vergeblich.
Ich habe nichts weggelassen, allerdings bedeutet die Zahl vor den Woertern
die Anzahl wie oft danach gefragt wurde. (Wer haette es gedacht?) Schon
mglich, dass Deine Fragen weiter unten in der Liste auftauchen. Ich kann sie
Dir ja mal vollstaendig zumailen, wenne willst...

CU Quasimodo

-----------------------------------------------------------------------------



Billig Erweiterung abzugeben... (Yantro,  9. Apr 1996, 11:42:53):

Halloele meine liebsten Hausbesucher im Walde hier :)

Nach vielen Ueberlegungen hab ich jetzt noch ein paar Sachen angeschlossen,
die man im Haus der Farben im schwarzen Raum beschwoeren kann... Dabei bin ich
eurer Hilfe wie immer sehr dankbar.

Mein Unterbewusstsein und mein Hang zur Schlechtigkeit haben es sich aber
nicht nehmen lassen, einfach auch einen Teil meiner eigenen Ideen zu
verwirklichen und so kann man ab SOFORT in besagtem Raum auch einen Ausgang
beschwoeren, der in ein voellig neues Gebiet fuehrt.

Leider weiss ich noch nicht von einem duemmlichen Abenteuerer zu berichten,
der mit knapper Not all den fiesen Fallen entkommen ist, den die duemmlichen
Abenteurer treiben sich meines Wissens mehr in der Gegend des Vlandes rum ;)

                 Also viel Spass beim Ueberleben... Yantro :)

P.S.: Es gibt natuerlich auch noch einen zweiten Eingang in das Gebiet, der
nicht durch das Haus der Farben fuehrt, aber DEN zu finden ueberlass ich euch
alleine :))))

-----------------------------------------------------------------------------



Gardewaechter (Silvana,  9. Apr 1996, 15:41:24):
Hi.
Die allseits beliebten Gardewaechter der Elfen werden jetzt etwas besser
bezahlt - allerdings sind sie jetzt auch geringfuegig (wirklich!) besser
ausgebildet als vorher...

  Silvana

-----------------------------------------------------------------------------



Finsteres Reich (Paracelsus,  9. Apr 1996, 16:31:32):
So, kleine Warnung fuer alle Besucher des finsteren Reiches:
Koenig Mak'dabar ist jetzt ein richtiger Zauberer.
Paracelsus

-----------------------------------------------------------------------------



Schluesseldienst (Tryfan, 30. Apr 1996, 20:22:00):
Huhu Baseballgeschaedigte,
 Aus gegebenen Anlass moechte Rudy nochmal eindringlich darauf
hinweissen, dass man doch bitte auf seinen Spindschluessel acht geben
soll. Der Schluessel wird nur leihweise vergeben. Insbesondere
sollte man tunlichst daruf achten, dass man ihn nicht in einen Spind
legt, weder seinen eigenen noch in fremde. Er kann dort sehr leicht
eingeschlossen werden, und es nicht gesagt, dass sich auf die Schnelle
ein Schluesseldienst finden lassen kann.
   Die Diamonds     i.A. Tryfan

-----------------------------------------------------------------------------



Diamond Club (Tryfan,  2. Mai 1996, 13:18:02):
Hi Baseballfreunde
 erstmal moechte ich mich dafuer bedanken, dass schon so viele von
Euch den Diamonds geholfen haben. Beinahe haetten sich die Diamonds
in einem anderen Mud niedergelassen, weil ich den Eindruck hatte, dass
die Mehrzahl der Spieler hier im Mud nicht an weiteren Quest interessiert
ist, sondern diese eher als Hinderniss oder laesstige Erschwerniss zum
weiteren Aufstieg in ihrer Gilde, auf der Topliste oder sonstwo sahen.
 Ihr hab mich eines besseren belehrt! Besonders Eure Antwortbriefe auf 
die Quest mit vielen Ideen und Anregungen haben mich echt ueberweltigt.
Nehmt es mir bitte nicht uebel, wenn es mit der Implemetierung noch lange
dauert. Die Quest ist in der Tat sehr flexible gestaltbar, KL-quester
seien gewarnt.
 Vielen Dank an Boing und Silvana fuer ihre Hilfe.
 Mein besondere Dank geht auch hier wieder an die vielen Helfer, die
ich leider nicht namentlich erwaehnen kann. Zumindest meine Kuschelmauli-
wuschelkoboldin moechte ich dafuer knuddeln, dass sie die Menge der Typos
auf eine endliche Summe gebracht hat.
						Tryfan

-----------------------------------------------------------------------------



Spindleerung (Tryfan,  2. Mai 1996, 13:40:20):
Noch eine Bitte von Rudy.
 Rudy bitte darum, die eigene Spinde vor verlassen des Stadions doch
wirklich leerzuraeumen, da sonst keine Haftung mehr fuer den Inhalt des 
Spindes uebernommen werden kann. Leider hat er nur eine begrenzte Anzahl 
von Spinden zu Verfuegung, so dass Spinde von Spielern, die sich nicht 
mehr im Stadion aufhalten, einfach leergeraeumt werden koennen. Die liegen-
gebliebenen Sachen koennen in der Umkleidekabine abgeholt werden, solange 
sie niemand klaut.   Also, Spinde nach Benutzung bitte leeren!
Als Ausgleich hat sich Rudy dazu breitschlagen lassen, die Schluessel
fuer die Spinde nun mit dem Namen der Entleiher zu versehen.
   Die Diamonds            i.A. Tryfan

-----------------------------------------------------------------------------



Re: Diamond Club (Asmodis,  2. Mai 1996, 16:59:01):
~#! rn=Tryfan rt=831035882
~#! tid=831035882
hmm, also ich hab die Quest mit 4 verschiedenen Charakteren gemacht und
hab es immer mit derselbe befehlsfolge geschafft (zuviel wollen wir ja
nicht verraten). Wurde das jetzt geaendert oder kann ich es doch in
meinem script aufnehmen ? Allzu flexibel erschien mir das Ganze nicht :)

-----------------------------------------------------------------------------



Re: Re: Diamond Club (Anatol,  2. Mai 1996, 18:22:34):
~#! rn=Asmodis rt=831049141
~#! tid=831035882

Aehm... ich hab die Quest etwas oefter als 4 mal gemacht :)
Und ich HABE tatsaechlich die eine oder andere 'Scriptfalle' entdeckt.

Scriptet nicht,
Anatol


-----------------------------------------------------------------------------



Re: Spindleerung (Rudiratter,  3. Mai 1996, 01:17:44):
~#! rn=Tryfan rt=831037220
~#! tid=831037220
RudY, das verwirrt mich irgendwie doch.
Rudi oder RudY oder werbin ich?

-----------------------------------------------------------------------------



Mal wieder was neues (Paracelsus, 12. Mai 1996, 12:40:38):
In einem gewissen, kleinen, ueberaus harmlosen Waeldchen kam es gerade
zu einigen Fehlern im Raum-Zeit-Gefuege der Parallelwelt.
Viel scheint dort nicht passiert zu sein, aber seid trotzdem etwas
vorsichtiger, wenn ihr dort euren naechsten Spaziergang macht ];-)

Paracelsus.

P.S.: Zumindest Zauberer sollten sich dort mal umsehen ;)

-----------------------------------------------------------------------------



Huette (Paracelsus, 17. Mai 1996, 17:31:44):
An einem gewissen See steht jetzt ne kleine Huette. Is eigentlich nur was
zum Lachen drin (denke ich).
Paracelsus

-----------------------------------------------------------------------------



Re: Huette (Morgoth, 17. Mai 1996, 17:32:24):
~#! rn=Paracelsus rt=832347104
~#! tid=832347104
ein dartboard mit bild von dir ?
sorry...musste sein...
**waelz**

-----------------------------------------------------------------------------



Re: Re: Huette (Paracelsus, 17. Mai 1996, 17:33:29):
~#! rn=Morgoth rt=832347144
~#! tid=832347104
Nein, ein Automat mit "Anti-Vland-Buttons" natuerlich ;)
Musste auch sein.

-----------------------------------------------------------------------------



Aenderung (Paracelsus, 18. Mai 1996, 21:32:38):
Auf Wunsch einiger Chaoten gibts jetzt im Tempel der Drakonier auch was
extra fuer Chaoten.
Paracelsus.

-----------------------------------------------------------------------------



Finsteres Reich (Paracelsus, 18. Mai 1996, 21:52:20):
Gerade eben besuchte ich Koenig Mak'dabar im finsteren Reich.
Voller Freude erzaehlte dieser mir, dass sich ein weiterer Boesewicht
in seinem Reich niedergelassen habe. Er wollte mir allerdings nicht
mehr erzaehlen, als dass es sich dabei um einen Zentron-Fuersten
handelt (was auch immer ein Zentron sein mag).

Wenn also mal eben wer nachschauen koennte, um was fuer einen Typen
es sich dabei handelt...

Paracelsus.

-----------------------------------------------------------------------------



Neue Genehmigungsbestimmungen (Tryfan, 19. Jun 1996, 11:28:08):
 Rudy gibt bekannt, dass aufgrund neuer Bestimmungen fuer Genehmigungen
fuer die Einfuehrung von Stoffen aus Fernwest die Qualitaet zweier
Fanartikel der Diamonds sich geringfuegig verschlechtert hat. Diese
Abstriche in der Qualitaet wurden gemacht, um das neue Genehmigungs-
verfahren zu umgehen. Dies tut der Authentizitaet der Orginal-Diamonds-
Fanartikel natuerlich keinen Abbruch.
 Betroffen sind hiervon die Orginal-Schlaghandschuhe und das
Orginal-Oberhemd.
	i.A. Tryfan

-----------------------------------------------------------------------------



Steinpanzer (Silvana, 27. Jun 1996, 08:55:41):
Hi.
Ich muss zu meinem Entsetzen feststellen, dass ich meine Kinder nicht mehr
so recht im Griff habe. Paracelsus hat es doch tatsaechlich gewagt,
seiner alten Mutter Vorschriften zu machen... Naja... Jedenfalls ist der
Steinpanzer jetzt etwas schwerer geworden und auch an gewissen Punkten
_etwas_ schwaecher. Nicht wirklich deutlich, aber halt schon etwas 
anders. Ihr werdet es schon merken.

  Silvana

-----------------------------------------------------------------------------



Re: Ein neuer Baum (Orktoeter, 16. Jul 1996, 13:19:24):
~#! rn=Paracelsus rt=837513340
~#! tid=837513340
Warum ?
Ich meine es ist ja nett, das du die Aenderung hier oeffentlich machst, so das
man (wenn man denn dort rumrennt) gewarnt ist, aber warum ist es so ?
Meines wissens nach sind doch laufmakros erlaubt (oder habe ich da etwas
ueberlesen ?)
OrkT

-----------------------------------------------------------------------------



Re: Re: Ein neuer Baum (Paracelsus, 16. Jul 1996, 13:24:40):
~#! rn=Orktoeter rt=837515964
~#! tid=837513340
Natuerlich sind Wegemakros erlaubt. Andererseits hat keiner verboten, dass
man als Magier etwas dagegen unternimmt.
Es geht eigentlich darum, dass es halt auch Spieler gibt, die keine
Moeglichkeit haben, Wegeskripte zu benutzen. Die sind dadurch z.T. recht
arg benachteiligt, und das soll halt ein wenig ausgeglichen werden.
Paracelsus.

-----------------------------------------------------------------------------



Re^4: Ein neuer Baum (Anatol, 16. Jul 1996, 16:57:29):
~#! rn=Morgoth rt=837516312
~#! tid=837513340

Paracelsus haette im AnderLand nie Magier werden duerfen...

Anatol (*aechz* *stoehn*)


-----------------------------------------------------------------------------



Re: Re: Ein neuer Baum (Mupfel, 16. Jul 1996, 17:18:18):
~#! rn=Orktoeter rt=837515964
~#! tid=837513340
Erlaubt sind sie, aber es ist dem einzelnen Magier doch nicht verboten, in
seiner (muehsam geproggten) Gegend die Benutzung derselben etwas zu
'erschweren' ...

-mupfel-

-----------------------------------------------------------------------------



Re^6: Ein neuer Baum (Anatol, 16. Jul 1996, 17:24:44):
~#! rn=Mupfel rt=837530387
~#! tid=837513340

Sobald der erste in einem "catweazle tippt 'mail'-Lag" zuviele Befehle in den
Buffer hackt und dann Nachteile erleidet, ist das Geschrei gross.

Anatol - bruellt dann mit ;)


-----------------------------------------------------------------------------



Re^3: Ein neuer Baum (Asmodis, 16. Jul 1996, 18:44:23):
~#! rn=Paracelsus rt=837516280
~#! tid=837513340
ist ja schoen, dass du dann eben Spieler benachtteiligst, die sich eben 
auf diese Wegemakros verlassen. Dann kannst du aber auch deine npcs
schwaecher machen, sodass es ohne wegemakro da keine probleme gibt.
Das traegt wirklich nicht zur Beliebtheit deiner Pyramide bei.

-----------------------------------------------------------------------------



Re^4: Ein neuer Baum (Lug, 16. Jul 1996, 19:13:57):
~#! rn=Asmodis rt=837535463
~#! tid=837513340
Moin,

ich bin ja eh demnaechst nur noch selten da, also kann ich ruhig meinen
Unbeliebtheitsgrad erhoehen:
Asmodis trifft den Nagel auf den Kopf. Durch einfaches ignorieren von
gebieten, die solche Nervereien enthalten, kann man seine Meinung zu selbigem
am Besten Ausdruck verleihen. Paracelsus scheint solche Scherze ja zu moegen.
Schonmal im Lag ein Nord zu viel getippt und gestorben? Naja, nun auch noch
ein lustiger Wegemacroblocker. Toll, gratuliere! Aber, mir genauso egal, wie
Paracelsus meine Meinung. Seh ich mich lieber weiter bei Toeter um...(los
Toeter weiterproggen ;)
Nervend
Lug

-----------------------------------------------------------------------------



Re^5: Ein neuer Baum (Anatol, 16. Jul 1996, 21:20:07):
~#! rn=Lug rt=837537237
~#! tid=837513340

> Aehm, was ich eigentlich sagen wollte: Ich habe gerade mal die 
> Kommunikation der Drakonier untereinander optimiert. Sollte allerdings
> fuer euch keinen Unterschied machen.

DAS halte ich fuer schlichtweg gelogen.
Es greifen jetzt auch Waechter an, die dies vorher nicht getan haben.
Und das IST ein Unterschied. Oder?

Den Hass-Part, der hier folgte, lasse ich doch lieber weg.

Anatol (schickt den Zweitie zum Cliffhangen)


-----------------------------------------------------------------------------



Re: Ein neuer Baum (Patryn, 17. Jul 1996, 06:49:10):
~#! rn=Paracelsus rt=837513340
~#! tid=837513340
Hmmm, was zum Geier soll der Quatsch...da hat sich wohl wer zu lange nicht
mehr per goto durchs mud bewegt. Soll ich jetzt nach jedem Schritt ne
sekunde pause machen, nur um einen weg, den ich schon 100erte mal per
hand durchwandert bin und es dann letztendlich leid war, weiterhin auf
diese, schon fast als grausam zu bezeichnende methode, zu durchlaufen?!?
bestraft man die leute nun, weil man es in monaten nicht fertigbekommen
hat, nen portal in die naehe der gilde zu stellen?

ein leicht verwunderter PATRYN

-----------------------------------------------------------------------------



Re^3: Ein neuer Baum (Raffi, 17. Jul 1996, 10:29:21):
~#! rn=Paracelsus rt=837516280
~#! tid=837513340

Es mag ja zutreffen, das es nicht verboten ist, aber eine sauerei ist es
trotzdem. Ich hab hier oft so ein Lag das ich bis zu 30 Befehle eingetippt
habe, bevor auch nur der erste ausgefuert wird ! (erst furchs Firmennetz, dann
der doppelte telnet und die duenne strippe in die aussenwelt.)

Nicht jeder sitzt an einer dicken freien strippe.

Gruss
H.
(Drakonier ? Nie gehoert - muss uninteressant sein.)

-----------------------------------------------------------------------------



Re^4: Ein neuer Baum (Bendeigid, 17. Jul 1996, 10:33:03):
~#! rn=Raffi rt=837592161
~#! tid=837513340
Ich weiss nicht wieso ihr euch aufregt... Haette dieses Feature von Anfang an
bestanden haette niemand auch nur ein Wort verloren. 
Aber so ist das eben: Die Bequemlichkeit siegt, und liebgewonnene Privilegien
werden ungern abgetreten.
Uebrigens: Wege sind nicht nur dazu da, von Punkt A nach Punkt B zu gelangen,
sondern sie haben manchmal auch Sinn in sich selbst. Siehe meinen eisgeliebten
Pass.

Z`par Servu,
        Bendeigid

P.S.: Das hier ist ein Spiel, kein Flipper mit High-Score!

-----------------------------------------------------------------------------



Re^5: Ein neuer Baum (Mupfel, 17. Jul 1996, 10:37:30):
~#! rn=Bendeigid rt=837592383
~#! tid=837513340
Natuerlich sind Wege nicht nur dazu da, von A nach B zu kommen. Aber selbst
der interessanteste Weg mit 100 Details in jedem Raum ist mal 'abgegrast'.
Danach laesst man ihn nicht links liegen und geht woanders lang, sondern
schaltet auf 'kurz' oder 'iltrakurz' und tippt schonmal vor (besonders Leute
mit Megalag, wie die Oesis, die von der Wueste bis zum Nordpol tippen koennen,
und Minuten spaeter kommen sie dann an...)

-mupfel-

-----------------------------------------------------------------------------



Re^3: Ein neuer Baum (Orktoeter, 17. Jul 1996, 11:05:19):
~#! rn=Paracelsus rt=837516280
~#! tid=837513340
Lieber Paracelsus,
ich moechte jetzt nicht die Diskussion wieder anfangen, von wegen die einen
haben tf (oder aehnliches) die anderen nicht, also haben die einen einen
Vorteil ,die anderen nicht dafuer haben die Muensteraner kein Netlag, andere
haben eins, also muesste man fuer die Muensteraner ein extra-lag einfuehren..
etc etc etc.
Es reicht denke ich festzustellen, das es keine Moeglichkeit gibt,  fuer alle
gleiche Bedingungen zu schaffen. Das mag traurig sein, ist aber so und jeder
noch so gut gemeinte Versuch, das zu erreichen ist meines erachtens nach zum
Scheitern verurteilt.
Dein Argument, das es dir als Magier nicht verboten ist, so etwas zu schreiben
ist richtig. Trotzdem wuerde ich es gerne sehen, wenn du noch einmal darueber
nachdenkst und die Argumente, die auch von anderen vorgebracht wurden
gebuehrend wuerdigst.
So, ich denke, damit ist eigentlich alles gesagt, weitere Artikel (ausser
vieleicht noch einer von Paracelsus, was nun sein wird ) sind nicht mehr
noetig (hoffe ich).
OrkT.

-----------------------------------------------------------------------------



Re^5: Ein neuer Baum (Amazora, 17. Jul 1996, 17:22:11):
~#! rn=Bendeigid rt=837592383
~#! tid=837513340
Ja verstehst Du denn nicht um was es geht? Ne nicht oder? Manchmal kommt mir
vor, Ihr habt mit dem Vertrag unterschreiben Euer Gedaechtnis verloren. 
Es gibt manche Leute, die haben ein extremes Lag und geben gleich mehrer
Befehle ein und die kommen dann auch auf einmal durch. Selbst wenn die Leute
kein Wegmacro haben, dann sieht es so aus als waer es eins. Naja, in Koeln
habt ihr ja kaum Lag. Zumindestens nicht so wie in Linz zB oder in Wien oder
Osnabrueck oder was weiss ich wo. Naja, macht so weiter und es interessiert
bald keinen mehr hier zu spielen. Habt Ihr Euch aber dann selber zu
zuschreiben. Es ist nicht verboten, was fieses gegen Wegmacros zu proggen aber
es ist auch nicht Pflicht sich dann die Gegend anzuschaun.
Amazora
P.S Ich wuerd Euch Erzmagier und ein paar von den kleineren Magiern mal
verpflichten 2-3 Wochen selber zu spielen. Mal sehn was sich dann alles
veraendert. Ich seh schon Catweazle am Cu draufgehn ;-)

-----------------------------------------------------------------------------



Re^6: Ein neuer Baum (Amazora, 17. Jul 1996, 17:28:26):
~#! rn=Mupfel rt=837592650
~#! tid=837513340
Hiermit forder ich: MUPFEL FOR EM! ;-)
Amazora

-----------------------------------------------------------------------------



Re^7: Ein neuer Baum (Asmodis, 17. Jul 1996, 17:30:39):
~#! rn=Amazora rt=837617306
~#! tid=837513340
ZARDOZ AUCH ! :)

-----------------------------------------------------------------------------



Re^8: Ein neuer Baum (Jasper, 17. Jul 1996, 18:25:36):
~#! rn=Asmodis rt=837617439
~#! tid=837513340
SAIKAN auch !!!
Nein aua nicht hauen, jajaja MORGOTH auch :)

-----------------------------------------------------------------------------



Re^7: Ein neuer Baum (Mupfel, 17. Jul 1996, 19:03:26):
~#! rn=Amazora rt=837617306
~#! tid=837513340
Iiiiiich? Wieso denn ich???

-mupfel- (wundert sich)

-----------------------------------------------------------------------------



Re^6: Ein neuer Baum (Eros, 17. Jul 1996, 20:07:10):
~#! rn=Mupfel rt=837592650
~#! tid=837513340
Also da muss ich Mupfel durchaus recht geben, vorallem is bei uns "Oessis" 
ned amal in der Nacht um 4 Uhr Frueh sicher ob ned ploetzlich ein Minutenlag
auftritt,
und sowas kann sehr schnell zu vielen Toden fuehren, und mit Vorsicht
200 Fluchtrichtung Ende will ich auch ned Paras Gebiet erkunden.

Meckert ausnahmsweise mal im Vorhinein:)
Eros

-----------------------------------------------------------------------------



Re^6: Ein neuer Baum (Morgoth, 18. Jul 1996, 07:41:48):
~#! rn=Amazora rt=837616931
~#! tid=837513340
hihihi, meinst du Cat* findet den oder traut sich in die parawelt ?? ;-))
Morgoth grinst Cat* an

-----------------------------------------------------------------------------



Re^4: Ein neuer Baum (Baron, 18. Jul 1996, 10:17:15):
~#! rn=Orktoeter rt=837594319
~#! tid=837513340
Hi,
Wenn Para der Meinung ist, er moechte in seine Files solche 'Wegscript-Fallen'
einbaun, dann ist das einzig und allein seine Sache. Wenn die Spieler meinen,
sie gehen daraufhin nicht mehr in Paras Gebiet, dann ist das einzig und allein
Sache der Spieler. Ich versteh beim besten Willen mal wieder den Sinn der
Diskussion nicht.

Baron - proggt was er will (solange es nicht gegen bestehende Verbote
verstoesst)

-----------------------------------------------------------------------------



Re^5: Ein neuer Baum (Morgoth, 18. Jul 1996, 10:18:30):
~#! rn=Baron rt=837677835
~#! tid=837513340
wenn die spieler nicht mehr in die gebiete gehen, wieso proggst du sie dann?
Morgoth, gruebelnd

-----------------------------------------------------------------------------



Re^6: Ein neuer Baum (Hadra, 18. Jul 1996, 10:22:09):
~#! rn=Morgoth rt=837677910
~#! tid=837513340
warum ein magier etwas macht ist doch voellig wurst. es wird so sein wie
immer, ein paar gehen mal hin zum schauen, einigen wirds gefallen und sie
werden wiederkommen. anderen wirds nicht gefallen und die kommen ahlt nicht
wieder und dritte werden nei hingehen, und sich eben nicht auskennen.
wo ist das problem?
wenn ein magier etwas bestimmtes proggen will, dann proggt er es halt. wenn es
dann den spielern nicht geafellt, wars fuer katz, aber das ist doch eine
andere frage ;)

hadra - pfennigweise

-----------------------------------------------------------------------------



Re^5: Ein neuer Baum (Ulo, 18. Jul 1996, 10:45:57):
~#! rn=Baron rt=837677835
~#! tid=837513340
Der tiefere Sinn der 'Diskussion' koennte darin gelegen haben, darauf
hinzuweisen, dass die 'Wegskript-Fallen' auch 'Lag-Fallen' darstellen, und
ob das so gewollt war.
Ulo.

-----------------------------------------------------------------------------



Re^3: Priester gesucht (Asmodis, 18. Jul 1996, 17:20:38):
~#! rn=Larissa rt=837626284
~#! tid=837515287
Es geht vor allem darum, dass die Spieler gewoehnt waren, per Wegescript
in die Pyramide zu jetten, wenn Para* das jetzt ploetzlich unterbinden
will und das nicht mal richtig begruendet, dann finden wir Spieler das
natuerlich nicht richtig. Es gibt doch sowas wie 'Gewohnheitsrecht',
oder? Wenn er unbedingt ne 'Wegescriptfalle' (eher ne LAG-Falle) 
irgendwo errichten will, dann sollte er das doch bitte in einem
neuen Gebiet machen, dann meckert sicher kaum jemand.
Ausserdem ist es auch nicht gut, dass sich da jemand als Vorreiter
aufspielt und andere Magier das jetzt eventuell nachahmen. Damit
vergrault man nur noch mehr Spieler und das MUD verfaellt irgendwann
in die Anarchie (weit davon weg sind wir ja nicht mehr).

-----------------------------------------------------------------------------



Re^4: Priester gesucht (Cheasy, 18. Jul 1996, 17:26:37):
~#! rn=Asmodis rt=837703238
~#! tid=837515287
Nu aber... nach langer enthaltsamkeit wieder mal ein paar kontroverse Worte:
Wegescripts schoen und gut, aber warum keine Aenderungen?
Dann koennten wir das MG so lassen wie's ist, braeuchten nur noch per Script
von Punktescheffelmonster zu Punktescheffelmoster zu jetten und eigentlich nur
noch Scripts zu verfeinern. Das find' ich nicht gut.
Mir ist schon lieber, wenn ein Magier was tut (wer erinnert sich nicht an
uralte Typos an prominenten Plaetzen). Wenn sich der Weg aendert, schoen und
gut, dann faellt man als Scripter halt drauf rein. Script aendern, fertig.
Lasst doch den Magiern mal ein paar freiheiten... einfach nur mosern ist
leider nicht en vogue. Konstruktive Kritik waer da schon eher am Platz ;-).
Und Gewohnheitsrecht gibt's nicht, gab's nicht und wird's nie geben.

-Cheasy
P.S: Flames nach dev/null, bitte.

-----------------------------------------------------------------------------



Re^5: Priester gesucht (Eros, 18. Jul 1996, 22:27:38):
~#! rn=Cheasy rt=837703597
~#! tid=837515287

Also ganz so isses ja auch wieder ned.
Der Hauptgrund fuer Wegescripts (Hier steht definitiv: WEGESCRIPTS) is doch
der, dass viele Monster inzwischen eine derartige Staerke erreicht haben,
dass sie ohne ewiges tankenlaufen einfach ned zu packen sind. Jetzt
herzugehen und zu sagen na lass doch jeden machen wie er will, und dann geh
halt ned hin is ja wohl ned der Sinn warum ein Magier etwas macht.
Ich wuerde bitten a bisserl mehr Konstruktiv zu kritisieren oder seine
Meinung kund zu tun, mit 15 Artikeln mit "sinnlos" Argumenten wird nur die
Stimmung vermiest.
Ich wuerde vorschlagen, wenn schon Wegescripte unerwuenscht sind, dann soll
man dies auch sagen, und sie eben verbieten: man kann hier durchaus auch
von Region zu Region unterscheiden, also ned unbedingt gleich wieder generell
alle Scripts verbieten. Was spricht denn z.b. dagegen (ich nehme hier mal
aus gegebenem Anlass Paracelsus Pyramide her) das betreten der
Pyramide nur dann zu gestatten (wenn man ned will das die Monster schwaecher
werden sollen) wenn z.b. 3 Spielenoetig sind, um die Pyramide
betreten zu duerfen?
Dies waere dann eine Moeglichkeit, wenn man Gruppenspielen foerdern will,
eben nur Gruppen den Zugang zu gewissen Gebieten zu erlauben. Dann isses
auch kein grosses Problem wenn dort eben Wegescriptfallen drinn sind,
da man ja eh gemeinsam metzeln und erforschen kann.
Ein nachdenklich werdender
Eros

-----------------------------------------------------------------------------



Re^4: Priester gesucht (Hadra, 19. Jul 1996, 02:02:05):
~#! rn=Asmodis rt=837703238
~#! tid=837515287
du hast im mud keine rechte.
erst ercht keine gewohnheitsrechte.

hadra

-----------------------------------------------------------------------------



Re^5: Priester gesucht (Asmodis, 19. Jul 1996, 02:06:32):
~#! rn=Hadra rt=837734525
~#! tid=837515287
Ist ja nett, dass ihr euch alle so gern unterdruecken lasst, naja, 
tut doch, was ihr wollt, ist mir egal.

-----------------------------------------------------------------------------



Re^6: Priester gesucht (Hadra, 19. Jul 1996, 02:07:33):
~#! rn=Eros rt=837721658
~#! tid=837515287
aaaalso,

ich nehm nur ungern magierpsotings vorweg, aber wenn ich das recht in
erinnerung habe, stand nirgendwo, dass der sinn des speils darin besteht mit
wegescripten unterwegs zu sein, sindern nur, dass die benutzung reine
wegescripts nicht 'strafrechtlich' verfolgt wird.
und bei den vielen monstern, die man ohne wegescripts alleine nicht mehr
killen kann, sollte man sich mal bei gelegenheit ueberlegen, ob so was im team
nicht einfacher sein koennte.
bloss weil es x monster hier gibt, die ich noch nicht gekillt habe, werde ich
mir deshalb keien passenden wege/tank oder sonst-was-scripten schreiben

hadra - pfennigweise

-----------------------------------------------------------------------------



Re^7: Priester gesucht (Anatol, 19. Jul 1996, 02:16:55):
~#! rn=Hadra rt=837734853
~#! tid=837515287
Als Spieler hat man sehr wohl Rechte, denke ich. Man hat ein Recht darauf, von
Magiern nicht bedaengt/geaergert/belaestigt zu werden. Eine Person, die sich
gegen einen Magier nicht wehren kann (ein Magier, der einem Spieler gegenueber
NICHT am laengeren Hebel sitzt, sollte mal 'mschau an' machen und sich
umschauen), sollte halt nicht in eine Situation kommen, in die sie es koennen
muesste. So von wegen "Unantastbarkeit" und so... :)

An solche Rechte, wie sie Asmodis gerne haette (oder doch hat??), glaube ich
eigentlich weniger. Selbst wenn die Magier den Rechner nicht alleine gezahlt
haben, muessen sie nicht automatisch alles tun, was Spieler wuenschen.

Anatol (Meinung)


-----------------------------------------------------------------------------



Re^6: Priester gesucht (Hadra, 19. Jul 1996, 02:32:51):
~#! rn=Asmodis rt=837734792
~#! tid=837515287
das hat nichts mit unterdrueckung zu tun.
ein mud besteht daraus das die einen (spieler) sich in phantasiewelten
bewegen, die sich andere (magier) ausgedacht haben.
dabei ist ein mud eine demokratur in der mit den fuessen abgestimmt wird.
ich habe als spieler wenig bis keine chancen einen magier am proggen
bestimmter dinge zuhindern, aber ich kann duch mein hingehen oder fernbleiben
zum ausdruck bringen was ich davon halte.
wenn ein magier sachen proggt, die nicht allen gefallen, dann kann man
darueber reden (machen wir gerade) aber ichduersiees habe keien 'recht' von
ihm eine abkehr von seinem konzept zu verlangen.
und noch etwas: ja ich stehe dazu, dass es bei jeder regel (beschraenkung?)
due eingefuehrt wird, immer auch verlierer gibt/geben wird/geben muss. es ist
schlichtweg unmoeglich es immer und allen und ueberhaupt und so recht zu
machen.

ansonsten verweise ich fuer einen 'reality vs. playability' auf die
einschlaegigen newsgroups, da wird das ganze gerade auch mal wieder
diskutiert.

hadra - hat immer noch ein paar pfenniger ueber

-----------------------------------------------------------------------------



Der neue Baum (Paracelsus, 19. Jul 1996, 10:01:23):
So. Nachdem ich mir das jetzt alles durchgelesen habe, hab ich eine 
Entscheidung getroffen:
a) Die Falle bleibt. PUNKT.
b) Die Auswirkung habe ich etwas geaendert.
Ich hoffe, damit den tf-Abhaengigen etwas entgegengekommen zu sein.

Paracelsus.

P.S.: Ich frage mich immer noch, warum ihr meint, dauernd Tanken rennen zu
      muessen? Lauft ihr nur blind durch die Gegend?

-----------------------------------------------------------------------------



Re: Der neue Baum (Nixihou, 19. Jul 1996, 14:01:19):
~#! rn=Paracelsus rt=837763283
~#! tid=837763283
man muss dauernd tanken, weil alle "alternativen" meist schon abgegrast sind. 
und wegen der tollen effekte in der kneipe!

-----------------------------------------------------------------------------



Re: Re: Der neue Baum (Asmodis, 19. Jul 1996, 17:50:13):
~#! rn=Nixihou rt=837777679
~#! tid=837763283
Dem kann ich nur zustimmen, es sind zuweilen zuviele Leute im Bereich
der Pyramide, die dann auch diese Tanken benutzen. Ausserdem kommt
der Reset immer zu den unguenstigsten Zeitpunkten, naemlich dann, wenn 
man den Waechter vor der Pyramide gerade nicht plaetten kann.
Dann muss man sich eben Ausweichtanken suchen.

-----------------------------------------------------------------------------



Re^8: Priester gesucht (Amazora, 22. Jul 1996, 00:33:42):
~#! rn=Anatol rt=837735415
~#! tid=837515287
Sie muessen aber auch nicht alles tun um den Spielern die Freude und den Spass
am spielen zu nehmen. So wie es im Moment aussieht, ist das aber so und
Widerstand gibt es kaum. Ich kann mich ja nicht ausnehmen, ich hab mich ja
auch nur schmollend zurueck gezogen. Ist halt schwer was anderes als Boykott
in einem Mud durchzuziehn. 
Amazora (Bombenlegerin)

-----------------------------------------------------------------------------



Neuer Baum gewachsen (Paracelsus, 20. Aug 1996, 21:57:21):
Hi!
Tja, ich hatte eben ein Palaver mit dem Oberpriester der Drakonier. Der 
erzaehlte mir irgend sonnen Kram mit einem "magischen Shifting" oder so,
hat wohl was mit Teleportieren zu tun. Da hat es wohl einige Aenderungen
gegeben, so dass Zauberer jetzt doch im Bereich der Pyramide teleportieren
koennen.
Unter uns gesagt: Der Oberpriester hat dabei ganz fies gegrinst und was von
reflektierenden Waenden gemurmelt, also seid besser vorsichtig.

Paracelsus.

-----------------------------------------------------------------------------



Re: Neuer Baum gewachsen (Mupfel, 20. Aug 1996, 22:43:28):
~#! rn=Paracelsus rt=840571041
~#! tid=840571041

...soll also heissen, wenn du Glueck hast, isses so gut wie bei Morgoth, wenn
Du Pech hast, so uebel wie bei Morgoth, Zardoz und Rochus zusammen :-)

-mupfel-

-----------------------------------------------------------------------------



Gardewaechter (Silvana, 21. Aug 1996, 11:30:20):
Ich hab eben hinterherum mitbekommen, dass Mupfel wohl ohne mich zu fragen
und ohne mir was davon zu sagen die Klamotten vom Gardewaechter abgewertet
hat. Ich frag mich zwar, wieso ich als Regionsmagier nich davon in 
Kenntnis gesetzt werde, aber da ich es nun weiss, wollte ich es Euch 
nicht laenger vorenthalten.

  Silvana

-----------------------------------------------------------------------------



Re: Gardewaechter (Mupfel, 21. Aug 1996, 12:40:11):
~#! rn=Silvana rt=840619820
~#! tid=840619820

Aehm... das geschah mit Einverstaendnis und vorheriger Absprache von
Paracelsus, seines Zeichens Wald-RM und Erzmagier fuer Balance.

Ich seh aber ein was Du meinst und entschuldige mich hiermit oeffentlich bei
Dir (und Mika, auch Wald-RM).

-mupfel-

-----------------------------------------------------------------------------



Timber!!! (Leusel, 10. Sep 1996, 15:16:19):
Hi !


Aufgrund massiver Anfragen (ok, es waren nur 2) gibt es
jetzt fuer die 'Fluch der Weisheit'-Quest auch eine
Questbelohnung. Fragt doch einfach mal den Pfoertner
nach 'questbelohnung'.

Leusel

P.S.: Das erstellen der Liste dauert etwas. Also Geduld.

-----------------------------------------------------------------------------



Re: Timber!!! (Caradhras, 10. Sep 1996, 15:32:22):
~#! rn=Leusel rt=842361379
~#! tid=842361379
Der Pfoertner kann englisch? Wow! :)

 Rothorn Caradhras - findet es immer seltsam wenn es in deutschen Muds
     quests heisst statt Abenteuer, Raetsel, Aufgabe....
PS: man macht ja auch nie 'frage pigibidi nach quest' oder so 
  *grausel*

-----------------------------------------------------------------------------



Re: Re: Timber!!! (Tanis, 10. Sep 1996, 15:42:05):
~#! rn=Caradhras rt=842362342
~#! tid=842361379
macht man nicht? seit wann den nicht mehr?

Tanis ... der immer zuerst nach quest fragt

-----------------------------------------------------------------------------



Re^3: Timber!!! (Caradhras, 10. Sep 1996, 15:47:25):
~#! rn=Tanis rt=842362925
~#! tid=842361379
argl :)

Na gut, ists eben kein deutsches Mud mehr. :)

    Rothorn Caradhras

-----------------------------------------------------------------------------



Re^4: Timber!!! (Leusel, 10. Sep 1996, 15:48:56):
~#! rn=Caradhras rt=842363245
~#! tid=842361379
Hi !

Caradhras hat natuerlich recht :)

Also fragt den Pfoertner lieber einfach nach Belohung.

Leusel

-----------------------------------------------------------------------------



Re^4: Timber!!! (Highlander, 10. Sep 1996, 15:49:00):
~#! rn=Caradhras rt=842363245
~#! tid=842361379
Ich kann Dich beruhigen - es ist noch eines.
Und so verkehrt ist quest nicht. Gibt es doch im Deutschen den Begriff
einer Queste. Ja, ist etwas altmodisch, deswegen finde ich den Anglizismud
ups, Anglizismus, quest (Quest) gar nicht sooo schlecht. Sondern praktisch,
da kurz und praegnant. :>
  HrT

-----------------------------------------------------------------------------



Re^5: Timber!!! (Yendi, 10. Sep 1996, 15:51:48):
~#! rn=Leusel rt=842363336
~#! tid=842361379

Wenn ich den Pfoertner nach "Belohung" frage, kriege ich aber keine Antwort,
oder?


-----------------------------------------------------------------------------



Re^6: Timber!!! (Leusel, 10. Sep 1996, 15:54:36):
~#! rn=Yendi rt=842363508
~#! tid=842361379
Doch, genau darauf bekam man eine Antwort. Nur leider auf 'Belohnung' nicht :)

Das ist aber jetzt natuerlich (?) behoben.

Leusel

-----------------------------------------------------------------------------



Re^5: Timber!!! (Fyt, 10. Sep 1996, 18:14:31):
~#! rn=Highlander rt=842363340
~#! tid=842361379

Hm, das deutsche Wort fuer 'pregnant' ist nicht 'praegnant', sondern
'schwanger'...

Fyt... denkend . o O ( so ein komisches Suppenhuhn )

-----------------------------------------------------------------------------



Re^6: Timber!!! (Highlander, 11. Sep 1996, 14:28:21):
~#! rn=Fyt rt=842372071
~#! tid=842361379
Tut mir leid, aber wenn Du das Wort praegnant nicht kennst, ist das nicht
meine Schuld :>    Ich kann praegnant (d (oder lat?)) und pregnant (e)
durchaus auseinanderhalten.

Highlander... denkend . o O ( so ein komisches  ...  Fyt )  ;>

-----------------------------------------------------------------------------



Re^5: Timber!!! (Raffi, 11. Sep 1996, 23:11:02):
~#! rn=Highlander rt=842363340
~#! tid=842361379

Jo, ich bevorzuge auch Queste - damit sind dann die Englischfreaks befriedigt
(ausser den Typohassern vieleicht) und es ist trotzdem kurz und Deutsch.

Gruss
H.

-----------------------------------------------------------------------------



Re^6: Timber!!! (Caradhras, 11. Sep 1996, 23:54:42):
~#! rn=Raffi rt=842476262
~#! tid=842361379
Jo, Queste ist genehmigt. :)

  Grossinq... aeeeh Rothorn Caradhras der Grausame

-----------------------------------------------------------------------------



Abenteuertagebuch verbessert (?) (Leusel, 13. Sep 1996, 12:40:54):
HI !

Das Tagebuch hat jetzt ein neues Feature.
Einfach zum Pfoertner gehen und ihn nach 'abenteuertagebuch' fragen und das
dann untersuchen.

Leusel

P.S.: Das sollte eigentlich fuer die meisten uninteressant sein :)

-----------------------------------------------------------------------------



Re^7: Timber!!! (Grumbart, 17. Sep 1996, 12:47:09):
~#! rn=Caradhras rt=842478882
~#! tid=842361379
Queste klingt wie Plaste :((

-----------------------------------------------------------------------------



Ein neuer Baum ... (Paracelsus, 14. Nov 1996, 12:42:58):
Hiho!
Es tut sich mal wieder was! Am Nordrand des Weihers wurde ein neuer Weg
entdeckt.
Er fuehrt offenbar in ein kleines, merkwuerdiges Metzelgebiet fuer Anfaenger
(Ich schaetze mal so Level 4-8 -Spieler sollten sich da wohl fuehlen).

PARAcelsus.

-----------------------------------------------------------------------------



Re: Ein neuer Baum ... (Silvana, 14. Nov 1996, 12:58:07):
~#! rn=Paracelsus rt=847971778
~#! tid=847971778
Ist das nen Typo, oder wieso schreibst Du Deinen Namen so seltsam? :)

Silvana.

-----------------------------------------------------------------------------



Re: Re: Ein neuer Baum ... (Paracelsus, 14. Nov 1996, 12:58:57):
~#! rn=Silvana rt=847972687
~#! tid=847971778
Tss, da sollten die doch selbst drauf kommen! ;)

Grinsend, Paracelsus.

-----------------------------------------------------------------------------



Re^3: Ein neuer Baum ... (Saenger, 15. Nov 1996, 06:23:51):
~#! rn=Paracelsus rt=847972737
~#! tid=847971778
Dan heisst 4-8 wohl 40-80?:)

Schmunzelnd Saenger

-----------------------------------------------------------------------------



Schuppe (Silvana,  2. Feb 1997, 10:16:15):
Hi.
Auf besonderen Wunsch der Kaempfer-Seher hat jetzt die Schuppe vom
Ungeheuer vom See des ewigen Regens ein paar IDs mehr...

  Silvana

-----------------------------------------------------------------------------



Ueberarbeitung (Paracelsus,  7. Feb 1997, 09:22:17):
Hi.
So, ich bin endlich mal wieder dazu gekommen, mein rep-File abzuarbeiten.
Es warn mal wieder einige nette Ideen dabei, die ich teilweise umgesetzt
habe. Ihr werdets schon merken ;)

Paracelsus.

-----------------------------------------------------------------------------



Kleine Aenderung am Abenteuertagebuch (Leusel,  9. Apr 1997, 10:53:22):
Hiho!

Ich hab die ID 'buch' aus dem Abenteuertagebuch entfernt, weil es zu haeufig
zu Namenskollisionen mit Buechern in Raeumen kam. Es laesst sich jetzt nur
'tagebuch', 'abenteuertagebuch' usw. ansprechen.

Leusel

-----------------------------------------------------------------------------



Re: Kleine Aenderung am Abenteuertagebuch (Mysterious,  9. Apr 1997, 21:38:23):
~#! rn=Leusel rt=860576002 rg=d.wald
~#! tid=860576002
das is gut....
ab undan hat es doch gestresst...und den muddies sollte man ja nicht allzuviel
tipparbeit zumuten :-)

-----------------------------------------------------------------------------



Re: Re: Kleine Aenderung am Abenteuertagebuch (Anatol,  9. Apr 1997, 21:43:27):
~#! rn=Mysterious rt=860614703 rg=d.wald
~#! tid=860576002
Ich moechte nicht unnoetig Hate's Hass auf mich ziehen, aber waer' es nicht
wirklich besser, wenn beim Untersuchen gelten wuerde: Env vor Inv! ?

Staendig die Lampe des Dschinns, den Runenstab etc. untersuchend,
Anatol


-----------------------------------------------------------------------------



Re^3: Kleine Aenderung am Abenteuertagebuch (Hate, 10. Apr 1997, 15:22:10):
~#! rn=Anatol rt=860615007 rg=d.wald
~#! tid=860576002
Dann hast Du den gleichen Effekt von vorher, nur umgekehrt.

Dafuer gibts beim untersuchen den Zusatz "im raum".

oder: "in mir", je nachdem was man zuerst untersuchen will.


Hate.

-----------------------------------------------------------------------------



Re^4: Kleine Aenderung am Abenteuertagebuch (Acrimon, 10. Apr 1997, 17:22:16):
~#! rn=Hate rt=860678530 rg=d.wald
~#! tid=860576002
Mit dem Unterschied, dasz man "im raum" oefter benoetigt.
Was man mit sich traegt, untersucht man fast nie, und wenn, dann hat man ein
Alias dafuer, und wenn in dem Alias ein "in mir" enthalten ist, dadurch wird
das Kuerzel selbst nicht laenger.

Daher wuensche ich mir auch, dasz zuerst im Raum nachgesehen wird und erst
dann im Inventory.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^5: Kleine Aenderung am Abenteuertagebuch (Anatol, 10. Apr 1997, 18:36:16):
~#! rn=Acrimon rt=860685736 rg=d.wald
~#! tid=860576002

Das 'in mir' zieht auch nicht 100% perfekt, wenn ich schon am Mosern bin
(tschuldige). 'unt muenzen in mir' sagt mir, wenn im Raum welche liegen,
nicht, dass ich keine mehr bei mir trage, sondern die Anzahl derer im Raum
liegenden...

Findet Env vor Inv wirklich besser, 
Anatol


-----------------------------------------------------------------------------



Re^6: Kleine Aenderung am Abenteuertagebuch (Silvana, 11. Apr 1997, 20:30:27):
~#! rn=Anatol rt=860690176 rg=d.wald
~#! tid=860576002
ali unt unt $* im raum
ali un1 unt $* in mir
ali un2 unt $*

Sonst noch Fragen?

  Silvana

-----------------------------------------------------------------------------



Re^7: Kleine Aenderung am Abenteuertagebuch (Acrimon, 11. Apr 1997, 20:59:05):
~#! rn=Silvana rt=860783427 rg=d.wald
~#! tid=860576002
Sorry - Du hast nicht verstanden, was wir wollen.

"schau $* im raum" (ja, oder "unt") betrachtet *nur* Gegenstaende oder Details
im Raum.
Wir aber wollen sowohl Gegenstaende im Raum als auch im Inv sehen koennen, und
zwar vorrangig die im Raum.

Da hilft uns leider kein Alias weiter.
Und '/def schau = schau $* im raum %; /def -1 -p101 -ag -mregexp -t"^Sowas
siehst Du da nicht!$" schautrig = schau $* in mir %; /def -1 -p100 -mregexp
-t".+" schautrig2 = /untrig schautrig' ist nach der hiesigen Scriptdefinition
verboten, weil es sowohl Trigger enthaelt als auch manchmal zwei Aktionen mit
einem Befehl ausloest.
Abgesehen davon haben nicht alle TF, und wegen Lagzeiten ist obiges Script
auch nicht 100%ig fehlerfrei.

Was wir wuenschen, ist, dasz "schau" und "unt" zuerst im Raum nachschauen,
bevor sie auf das Inv zurueckgreifen.

Danke,
Acrimon der Rote Ritter

-----------------------------------------------------------------------------



Re^8: Kleine Aenderung am Abenteuertagebuch (Silvana, 11. Apr 1997, 21:04:41):
~#! rn=Acrimon rt=860785145 rg=d.wald
~#! tid=860576002
Aendere das und die andere Haelfte der Mudder schreit. Ich hab Dir
eben schon versucht klaszumachen, daSZ man/frau/mensch es nicht
allen Recht machen kann.

  Silvana

-----------------------------------------------------------------------------



Re^9: Kleine Aenderung am Abenteuertagebuch (Woody, 11. Apr 1997, 21:14:44):
~#! rn=Silvana rt=860785481 rg=d.wald
~#! tid=860576002
Wenn ich das richtig sehe, haben wir hier nicht ein Inv-vor-Env
Problem, sondern ein Gegenstand-vor-Detail Problem, oder? Also
es werden zuerst Gegenstaende mit einer passenden ID und erst
wenn das fehlschlaegt Details gesucht. Das halte ich sehr wohl
fuer eine sinnvolle Vorgehensweise, ein Umstellen wuerde unter
diesem Aspekt wohl eher negativere Auswirkungen haben.

senfend,
woody.-

-----------------------------------------------------------------------------



Re^10: Kleine Aenderung am Abenteuertagebuch (Anatol, 11. Apr 1997, 21:38:07):
~#! rn=Woody rt=860786084 rg=d.wald
~#! tid=860576002
Hm, Woodys Argumentation leuchtet sogar mir irgendwie ein ;-).
Ganz im Vertrauen - mir als Bluemchenpfluecker waere es trotzdem lieber,
wenn direkt nach den Gegenstaenden im Raum die Details des Raumes kaemen,
meistens weiss ich ja, was ich mit mir herumschleppe...

Dennoch halte ich es fuer einen Bug, dass bei der expliziten Angabe, WAS
untersucht werden soll, die Alternativen dennoch gecheckt und gegebenenfalls
ausgegeben werden...

Bsp: ali cash = unt muenzen in mir
Ich habe KEINE Muenzen bei mir, zu meinen Fuessen liegen aber 1093 herum.
'cash' liefert NICHT:
Du findest an Anatol kein "Muenzen".
Dein Blick wendet sich der Umgebung zu.
Du siehst 1093 Muenzen.
SONDERN:
Du siehst 1093 Muenzen.

Und da weiss ich nicht, wozu das Blickeschweifen ueberhaupt angezeigt wird, 
wenn es eh nur dann erscheint, wenn sowohl in mir als auch um mich herum
das Gewuenschte nicht zu sehen ist.

Aber das sind nur ein paar Pfennige eines arroganten Wurstsehers...
Anatol


-----------------------------------------------------------------------------



Re^10: Kleine Aenderung am Abenteuertagebuch (Acrimon, 11. Apr 1997, 22:28:36):
~#! rn=Woody rt=860786084 rg=d.wald
~#! tid=860576002
Gut, ich fuehre das besser aus:

Momentan gilt folgende Reihenfolge:
1. Details am zuletzt untersuchten Gegenstand oder Detail
2. Gegenstaende im Raum
3. Gegenstaende im Spieler
4. Details

Was wir wuenschen, ist:

1. Details am zuletzt untersuchten Gegenstand oder Detail
2. Gegenstaende im Raum
3. Details
4. Gegenstaende im Spieler

Dann betrachtet man nicht staendig Sachen, die man mit sich fuehrt, wenn man
einen Raum untersuchen will.

Und Gegenstaende, die ich mit mir fuehre, betrachte ich nur hoechst selten,
und dafuer hab ich auch Aliase:
alias ig unt geld in mir
alias ep unt anzeige an uhr in mir
alias ausbildung unt kragen in mir

Daher halte ich es fuer wesentlich praktischer, die Details vor dem Inv
abzusuchen.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^11: Kleine Aenderung am Abenteuertagebuch (Boing, 14. Apr 1997, 08:57:07):
~#! rn=Acrimon rt=860790516 rg=d.wald
~#! tid=860576002
Solange die Gegenstaende im Raum IMMER vor den Details bleiben, ist mir
das recht. Ich habe allerdings ne Menge Code, die genau auf das oben
erwaehnte baut.                               ^ hier muss 'der' stehen
  Boing

-----------------------------------------------------------------------------



Re^9: Kleine Aenderung am Abenteuertagebuch (Smurf, 14. Apr 1997, 12:16:22):
~#! rn=Silvana rt=860785481 rg=d.wald
~#! tid=860576002
Dann mach die Reihenfolge einfach einstellbar. Wie, ueberlasse ich gerne
deiner Fantasie. ;-)
"untersuchung raum person" wuerde zuerst im Raum gucken.
"untersuchung person" nur an dir.
"untersuchung paket raum person" schaut zuerst in dein Paket (naja, ob
das gebraucht wird, sei dahingestellt, wenn's zu schwer ist lass es weg).

-----------------------------------------------------------------------------



Re^10: Kleine Aenderung am Abenteuertagebuch (Fyt, 14. Apr 1997, 12:19:27):
~#! rn=Smurf rt=861012982 rg=d.wald
~#! tid=860576002
Hm, ja.. und dann mach es noch so, dass man bei 'toete' einstellen kann,
ob das durch Defend laeuft oder do_damage macht oder ob es gleich zappt...

Fyt.


-----------------------------------------------------------------------------



Re^11: Kleine Aenderung am Abenteuertagebuch (Fyt, 14. Apr 1997, 14:06:16):
~#! rn=Fyt rt=861013167 rg=d.wald
~#! tid=860576002

Aehm, ja. Da es offenbar Interpretationsschwierigkeiten gibt (Acrimon
hat mich gerade darauf hingewiesen *hust*): Im letzten Artikel
fehlt *natuerlich* ein  IRONIE OFF.

Fyt.

-----------------------------------------------------------------------------



Drakonien geschlossen. (Paracelsus, 14. Apr 1997, 16:08:05):

Wie der Titel schon sagt. Gruende? Siehe Wargons Artikel.

  Paracelsus.

-----------------------------------------------------------------------------



Hobbitdorf (Gundur, 20. Apr 1997, 14:46:11):
Die Hobbits haben von irgendjemand etwas besser kaempfen gelernt...
Also zumindest die im Hobbitdorf :-)
Gruss
Gundur

-----------------------------------------------------------------------------



Re: Hobbitdorf (Laurin, 21. Apr 1997, 08:33:49):
~#! rn=Gundur rt=861540371 rg=d.wald
~#! tid=861540371
Noch besser ? Waren die nicht schon etwas zu stark ???

-----------------------------------------------------------------------------



Hobbits (Gundur, 12. Mai 1997, 10:36:02):
Nicht genug dass die Hobbits eh schon Probleme haben...nun hat auch noch ein
Bewohner ders Hobbitdorfes ein aeh oder 2? Probleme ...
Viel Spass beim helfen *grins fies*
Gundur

-----------------------------------------------------------------------------



Re: Hobbits (Gundur, 12. Mai 1997, 11:19:18):
~#! rn=Gundur rt=863426162 rg=d.wald
~#! tid=863426162
Achja bevor ichs vergess:
Die Quest ist von aeh ca. 1534 Leuten gleichzeitig loesbar..
Hoff ich zumindest :-))
Gruss
G.

-----------------------------------------------------------------------------



Typofix (Paracelsus, 16. Mai 1997, 21:31:44):
Aufgrund eines Typos tat das Gelbwasser nicht ganz was es sollte.
Der Fehler ist jetzt behoben.
Wird jetzt vieleicht nicht jeder was mit anfangen koennen ;)

Para*

-----------------------------------------------------------------------------



Die Huddles (Gundur, 20. Mai 1997, 12:59:57):
Da es viele Spieler gab denen 40 AP zuwenig waren..und das auch einzusehen
ist..
gibts nun etwas mehr AP...
hmmm grammatik war noch nie mein Ding :-)
Gruss
Gundur

-----------------------------------------------------------------------------



Aenderung (Paracelsus, 20. Mai 1997, 22:40:41):
Hi.
Ich hab mich mal wieder durch mein Rep-File gekaempft. Es sind dabei mal
wieder einige Typos verschwunden, aber es gab auch einige andere
kleine Aenderungen. Vrlasst euch also besser nicht darauf, dass noch alles
so ist, wie ihr es in Erinnerung habt. Dar Para^H^H^H^HTeufel steckt im
Detail ;)

Paracelsus.

P.S.: (extra fuer Ringor ;) Einige der von Dir gemeldeten Typos sind 
      scheinbar noch da, nicht wundern! Das hat schon seine Richtigkeit.

-----------------------------------------------------------------------------



Re: Aenderung (Asmodis, 20. Mai 1997, 23:00:06):
~#! rn=Paracelsus rt=864160841 rg=d.wald
~#! tid=864160841
Noch mehr Wegescriptfallen, noch mehr Gemeinheiten ??
Leute, schreibt keine fehlermeldungen mehr in Drakonien, dann
lebt ihr laenger :)

-----------------------------------------------------------------------------



Bastelstunde (Paracelsus, 27. Mai 1997, 14:33:35):
Tss, da hat wohl wieder irgend so ein poeser, poeser Magier am Schemenreich
geruettelt.
Dabei sind wohl auch einige Monster rausgefallen, die da eigentlich neu rein
sollten. Fragt mich bloss nicht, wo die wieder gelandet sind.

];-)
Para*

-----------------------------------------------------------------------------



Re: Bastelstunde (Key, 27. Mai 1997, 15:59:42):
~#! rn=Paracelsus rt=864736415 rg=d.wald
~#! tid=864736415
Tsts Para netmal auf deine eigenen Monster kannst du aufpassen ;)
Hmm mal sehen ob man an denen gut sterben kann ;))
Key

-----------------------------------------------------------------------------



Re: Re: Bastelstunde (Silvana, 27. Mai 1997, 20:08:51):
~#! rn=Key rt=864741582 rg=d.wald
~#! tid=864736415
Hmmmm, Key: 303 Tode... Para, Du warst zu sanft, als Du Deine Monster
ausgebildet hast...
  Silvana

-----------------------------------------------------------------------------



Re^3: Bastelstunde (Key, 27. Mai 1997, 20:09:24):
~#! rn=Silvana rt=864756531 rg=d.wald
~#! tid=864736415
Nee ich hatte noch keine Zeit vorbeizuschauen .. ;))
Key

-----------------------------------------------------------------------------



Schoenheitskorrekturen (Paracelsus, 13. Jun 1997, 12:53:57):
Hi.
So, ich hab mal bei mir selbt einige Schoenheitskorrekturen durchgefuehrt.
Para*

-----------------------------------------------------------------------------



Re: Schoenheitskorrekturen (Paracelsus, 13. Jun 1997, 12:54:29):
~#! rn=Paracelsus rt=866199237 rg=d.wald
~#! tid=866199237
Aehm, ich meine natuerlich: in meinem Gebiet ;)

-----------------------------------------------------------------------------



Re: Re: Schoenheitskorrekturen (Cauno, 13. Jun 1997, 12:54:57):
~#! rn=Paracelsus rt=866199269 rg=d.wald
~#! tid=866199237
hm. vorher dachte ich, ich haette es besser verstanden ...

C. No

-----------------------------------------------------------------------------



Re: Re: Schoenheitskorrekturen (Grimmborn, 13. Jun 1997, 13:50:55):
~#! rn=Paracelsus rt=866199269 rg=d.wald
~#! tid=866199237
Haett mich auch gewundert, wie Du sonst jemals damit haettest fertig werden
wollen...

GdA

-----------------------------------------------------------------------------



Re: Schoenheitskorrekturen (Key, 13. Jun 1997, 17:28:04):
~#! rn=Paracelsus rt=866199237 rg=d.wald
~#! tid=866199237
Hmm so schoen das man gleicht stirbt? :)=

Key

-----------------------------------------------------------------------------



Re: Schoenheitskorrekturen (Silvana, 14. Jun 1997, 15:21:13):
~#! rn=Paracelsus rt=866199237 rg=d.wald
~#! tid=866199237
Krallen geschliffen und neu lackiert? Das wird Pyro freuen. :)
Silvana -> Schmarrn.

-----------------------------------------------------------------------------



Re: Schoenheitskorrekturen (Mupfel, 21. Jun 1997, 01:09:00):
~#! rn=Paracelsus rt=866199237 rg=d.wald
~#! tid=866199237
Hm... ob das noch was bringt? :-)

-mupfel-

-----------------------------------------------------------------------------



Atalan... (Yantro, 26. Jun 1997, 15:17:11):

Halloele, 

im Rahmen meiner ureigenen Gemeinheit hab ich Atalan einen neuen magischen
Trick beigebracht... also Vorsicht!!!!

Yantro

-----------------------------------------------------------------------------



Re: Atalan... (Grimmborn, 26. Jun 1997, 15:42:01):
~#! rn=Yantro rt=867331031 rg=d.wald
~#! tid=867331031
Nette Ankuendigung, vor allem wenn man ueberlegt, dass Yantro rund eine Stunde
vorher nicht eben gluecklich aus einer Klausur rausgekommen ist...

GdA

-----------------------------------------------------------------------------



Re: Re: Atalan... (Janice, 26. Jun 1997, 15:51:12):
~#! rn=Grimmborn rt=867332521 rg=d.wald
~#! tid=867331031
Du kannst einen richtig aufbauen, danke Grim :)

Janice

-----------------------------------------------------------------------------



Re: Atalan... (Ringor, 26. Jun 1997, 23:28:45):
~#! rn=Yantro rt=867331031 rg=d.wald
~#! tid=867331031
Ein Kaempfer mit nem magischen Trick? Wow. Wie passend.

Allerdings anscheinend noch nich angeschlossen. Oder so magisch, dass ihn ein
dummer Zwerg nichmal sieht. ;-)

Ringor

-----------------------------------------------------------------------------



Dumm gelaufen (Paracelsus, 28. Jun 1997, 13:40:29):
Hi.
Es ist doch immer wieder eine Freude, sich mitten in der Nacht unsichtbar
einzuloggen und mal zu lauschen, was so auf dem Seher-Kanal alles erzaehlt
wird.
Das, was ich da gestern abend gehoert habe, hat bei mir nicht gerade gute
Laune erzeugt. Als Resultat gibt es eine kleine, temporaere Aenderung in
Drakonien. Sie wird euch ganz sicher nicht gefallen, aber dafuer koennt
ihr euch dann bei den entspr. Sehern bedanken.
Wann ich das ganze wieder aufhebe, weiss ich noch nicht.

Paracelsus.

P.S.: So langsam aber sicher geht mir dieses mega-egoistische Geschrei marke
       'MEINE Gilde, MEINE Gilde, tu doch bitte was fuer MEINE Gilde, die
        anderen sind eh alle zu stark' tierisch auf den Senkel.

-----------------------------------------------------------------------------



Re: Dumm gelaufen (Hangover, 28. Jun 1997, 13:46:27):
~#! rn=Paracelsus rt=867498029 rg=d.wald
~#! tid=867498029
Moin!


Eine Frage: was soll das? Ist das jetzt der gute neue Umgangston,
dass Magier Spieler belauschen, und dann beleidigt sind und erstmal
ihre Region aendern?

So langsam geht mir das Getue einiger Magier echt auf die Nerven.
Leute, denkt ihr, dass ihr nur da seid um Spieler zu provozieren,
oder um gegen Spieler zu spielen??? Wacht doch mal auf.

Schnauze voll,
Hangover

(der nix fuer seine Gilde will...)

-----------------------------------------------------------------------------



Re: Dumm gelaufen (Asmodis, 28. Jun 1997, 16:30:35):
~#! rn=Paracelsus rt=867498029 rg=d.wald
~#! tid=867498029
Soso, Big Brother is watching you, so weit sind wir also schon ...
Para*, wenn du keinen Spass verstehst, dann bleib zuhaus in deinem Bett.

 Ciao, Asmodis (genervt von einigen Magiern)

-----------------------------------------------------------------------------



Re: Re: Dumm gelaufen (Schoko, 28. Jun 1997, 16:59:24):
~#! rn=Asmodis rt=867508235 rg=d.wald
~#! tid=867498029

Hmmm uralt aber immer wieder war: Der Lauscher an der Wand, hoert die eigne
...usw

Schoko (freut sich schon auf die Party, DA wirds rundgehen :) )

-----------------------------------------------------------------------------



Re: Dumm gelaufen (Mupfel, 28. Jun 1997, 18:06:51):
~#! rn=Paracelsus rt=867498029 rg=d.wald
~#! tid=867498029
Ja suuper ey, dann loggt jetzt jeder Magier mit Metzelgebiet nen "Ebenen-Bot"
ein, der alles mitloggt um aus den Gespraechen abzuleiten wie er seine Sachen
noch "wasserdichter" gegens Uberleben von Spielern machen kann... ja toll
Paracelsus, 1+ mit Sternchen.

-mupfel-

-----------------------------------------------------------------------------



Re: Re: Dumm gelaufen (Paracelsus, 28. Jun 1997, 21:16:16):
~#! rn=Mupfel rt=867514011 rg=d.wald
~#! tid=867498029
Also um das mal klarzustellen: Es geht hier um Sachen, die auf dem
Seher-Kanal gesagt wurden, was man hier im Mud wohl als "oeffentlich" 
bezeichnen kann. Mit dem Belauschen von irgendwelchen Spielergespraechen
(via sage, teile mit) hat das ja wohl nix zu tun, die Vergleiche finde ich
doch arg uebertrieben.
Ich denke, es gibt bessere Methoden, Magier von Aenderungen zu ueberzeugen,
als sich hinter ihrem Ruecken ueber diese aufzuregen.
Zugegeben, manche suchen tatsaechlich den direkten Kontakt per Gespraech oder
Mail mit dem entsprechenden Magier, aber wesentlich mehr scheinen lieber
auf dem Seherkanal rumzumosern.

Paracelsus.

-----------------------------------------------------------------------------



Re^3: Dumm gelaufen (Paracelsus, 28. Jun 1997, 22:00:08):
~#! rn=Paracelsus rt=867525376 rg=d.wald
~#! tid=867498029
So, die ganze Aktion ist auch schon wieder vorbei ... wenn sich bis hier
also jemand aufgeregt hat, kann er sich wieder abregen.

Nach der Diskussion eben auf dem Seher-Kanal werte ich die Aktion fuer
mich einfach als Erfolg und somit als beendet.

Para*

-----------------------------------------------------------------------------



Re: Re: Dumm gelaufen (Lug, 28. Jun 1997, 22:19:58):
~#! rn=Hangover rt=867498387 rg=d.wald
~#! tid=867498029
Tja Para,

Ehrlich, Deine Art kotzt mich auch an. Aber es ist ja nicht nur Deine. Sollte
es sich um die Diskussion handeln, an die ich mich erinnere, dann hast Du kein
Verstaendnis fuer Ironie und bist akut humorlos. Die Debatte, die ich meine,
war unter befreundeten Sehern, die sich gegenseitig in die Pfanne gehauen
haben. Deine Reaktion ist aber typisch. Ekelerregend. Gluecklicherweise
ignoriere ich Deine Region sowieso weitgehend. Du weisst ja warum.
Interessiert Dich natuerlich nicht, und umgekehrt.

Lug.

-----------------------------------------------------------------------------



Re^4: Dumm gelaufen (Asmodis, 28. Jun 1997, 22:33:19):
~#! rn=Paracelsus rt=867528008 rg=d.wald
~#! tid=867498029
Mist, wieder verloren :)

-----------------------------------------------------------------------------



Re^3: Dumm gelaufen (Taragon, 28. Jun 1997, 23:06:28):
~#! rn=Lug rt=867529198 rg=d.wald
~#! tid=867498029
hi

also ich bin noch lange kein seher... aber was ich bisher so mitverfolgt habe,
muss ich zugeben, dass man da langsam aber sicher die lust verliert,
ueberhaupt noch seher werden zu wollen... wenn vereinzelte magier hier schon
rumspielen als waeren sie goetter, und die spieler die versuchskaninchen fuer
ihre gemeinheiten darstellen, finde ich, dass man nicht am mud, sondern an den
MAGIERN mal kraeftig aufraeumen sollte. !!!!

taragon
  (von nix ahnung, aber davon genug)

-----------------------------------------------------------------------------



Re^4: Dumm gelaufen (Slyfox, 28. Jun 1997, 23:26:37):
~#! rn=Taragon rt=867531988 rg=d.wald
~#! tid=867498029
Genau richtig, Taragon, das meine ich auch, man sollte bei den Magiern
mal kraeftig aufraeumen, nur ist und bleibt das Meinung, den Erzmagiern
ist das sooo scheissegal, was die Seher denken, und meinen, das sind
alles nur Jammerlappen.

Denen ist gar nicht bewusst, dass sie uebertreiben, ich bin gespannt,
welchen Schlag sie uns als naechstes austeilen, es wird kommen, da bin ich
ueberzeugt.

Traurig ueber die Erzmagier, die anscheinend nicht besonders viel Hirn haben.
   Slyfox

-----------------------------------------------------------------------------



Re^5: Dumm gelaufen (Hate, 28. Jun 1997, 23:27:35):
~#! rn=Slyfox rt=867533197 rg=d.wald
~#! tid=867498029
Als naechstes loeschen wir alle die mit S anfangen...

Hate.
P.S. Meinungen sind uns eben nicht egal.

-----------------------------------------------------------------------------



Re^6: Dumm gelaufen (Mupfel, 28. Jun 1997, 23:34:16):
~#! rn=Hate rt=867533255 rg=d.wald
~#! tid=867498029
Du willst Silvana loeschen? :-)

-mupfel-

-----------------------------------------------------------------------------



Re: Dumm gelaufen (Larissa, 29. Jun 1997, 14:00:12):
~#! rn=Paracelsus rt=867498029 rg=d.wald
~#! tid=867498029

ich hoer immer 'Was da grad auf dem Seherkanal kam...'

Oehem, worum zur Hoelle gehts grad eigentlich?

Lari, neugierig

-----------------------------------------------------------------------------



Re^5: Dumm gelaufen (Silvana, 29. Jun 1997, 16:12:27):
~#! rn=Slyfox rt=867533197 rg=d.wald
~#! tid=867498029
Wie waers mit folgendem naechsten 'Schlag': Wir machen ne Aenderung im
Login, die keine Magier mehr ins Mud laesst. Dann betet mal schoen,
dass es nie nen Reboot gibt...
*Polemik off*
Was ich eigentlich sagen wollte: Das uebliche rumgeflame in der MPA
beruehrt mich nicht im Geringsten und hat herzlich wenig Chance, zu
irgendeiner Aenderung, in dem was ich programmiere zu fuehren.
Fuer ein direktes Gespraech hingegen in aller Freundlichkeit... Naja,
wers probiert hat, weiss, was er davon hat... :) 
Bei den Artikeln in der MPA hab ich jedoch den Verdacht, dass da niemand
etwas veraendern oder bewegen will, sondern nur gerne das Maul aufgerissen
wird. Schade eigentlich...
  Silvana

-----------------------------------------------------------------------------



Re^7: Dumm gelaufen (Silvana, 29. Jun 1997, 16:13:03):
~#! rn=Mupfel rt=867533656 rg=d.wald
~#! tid=867498029
Danke, Mupfel, das kann ich zur Not auch noch selbst. Silvana

-----------------------------------------------------------------------------



Re^8: Dumm gelaufen (Grimmborn, 30. Jun 1997, 08:04:33):
~#! rn=Silvana rt=867593583 rg=d.wald
~#! tid=867498029
Hmm, das einfachste Gegenmittel scheint keiner erkannt zu haben: Wenn das, was
auf dem (Seher-)kanal gesagt wird, nicht genehm ist, kann man das am
einfachsten abstellen, indem man den (Seher-)kanal ausbaut...

GdA

-----------------------------------------------------------------------------



Re^9: Dumm gelaufen (Key, 30. Jun 1997, 08:10:28):
~#! rn=Grimmborn rt=867650673 rg=d.wald
~#! tid=867498029
Hmm ich will das der Magierkanal ausgebaut wird, dass kann man auch auf Seher
besprechen ;))

Key

-----------------------------------------------------------------------------



Re: Dumm gelaufen (Fyt, 30. Jun 1997, 08:36:44):
~#! rn=Paracelsus rt=867498029 rg=d.wald
~#! tid=867498029

Sicher gefaellt mir Deine Aenderung in Drakonien nicht, Para...

Fyt.

PS: Verraet mir mal einer, wo das sein soll?

-----------------------------------------------------------------------------



Re^5: Dumm gelaufen (Yantro, 30. Jun 1997, 08:53:29):
~#! rn=Slyfox rt=867533197 rg=d.wald
~#! tid=867498029
 Hmm Slyfox, 
den EMs zu unterstellen, dass sie wenig Hirn haben, dass ist eine
diskussionswuerdige Sache, denn das sehen viele sicherlich relativ und im
Vergleich zu Dir sehen ja eigentlich alle hier im Mud ziemlich dumm aus, wie
wir alle wissen. Anderseits zu behaupten, dass die EMs sich um nix kuemmern
wuerden und das keine Bewegung ist, dass ist eine Unterstellung, der ich
widersprechen muss. Ich finde, es zeugt von Groesse und Niveau, wenn man so zu
seinem Ego steht wie Du, Slyfox, und sich nicht von den Schranken der
Desorientiertheit und Unwissenheit aufhalten laesst, wenn es die Moeglichkeit
gibt zu zeigen, wer der Beste in diesem Mud ist.

Yantro

-----------------------------------------------------------------------------



Re^6: Dumm gelaufen (Fyt, 30. Jun 1997, 09:04:03):
~#! rn=Hate rt=867533255 rg=d.wald
~#! tid=867498029
Dann hockt Euch doch mal zusammen und ueberlegt, ob die Stimmung hier
noch die gleiche wie vor drei Jahren ist, und fall Ihr dann zu dem
Schluss kommt, dass dem nicht so ist, fragt Euch doch mal, woran das liegen
kann.

Fyt.

-----------------------------------------------------------------------------



Re^7: Dumm gelaufen (Grimmborn, 30. Jun 1997, 09:16:06):
~#! rn=Fyt rt=867654243 rg=d.wald
~#! tid=867498029
Ich bin etwas aelter als drei Jahre, und ich muss sagen, im Grossen und Ganzen
finde ich nicht, dass die Stimmung sich gross geaendert hat. Sicher, das MG
ist groesser und damit unpersoenlicher geworden, aber ansonsten gibt es immer
noch dieselben Fronten, dieselben Probleme, dieselben Flames...
Wenn vor drei Jahren geheult wurde, dass der Seherstatus ja nichts bringt,
weil es nichts gibt, was nicht die normalen Spieler auch koennten und die (E)M
zu faul oder zu sehr von sich selber eingenommen sind, um das zu aendern, so
ist es jetzt die Diskussion, dass andere Gilden zu stark sind, der Tod nicht
passt oder die persoenliche Eitelkeit nicht geschmeichelt wird, weil die (E)M
zu faul oder zu sehr von sich selber eingenommen sind, um das zu aendern.

Nein, wirkliche Unterschiede sind da nicht.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^7: Dumm gelaufen (Boing, 30. Jun 1997, 09:17:42):
~#! rn=Fyt rt=867654243 rg=d.wald
~#! tid=867498029
Um ehrlich zu sein ... die Stimmung ist kein bisschen besser und kein
bisschen schlechter als damals ... die destruktiven Noergler und Besser-
wisser gab's schon immer und sie haben auch schon immer ihren Muell durch
die komplette MPA verbreitet ...
  Boing

-----------------------------------------------------------------------------



Re^8: Dumm gelaufen (Fyt, 30. Jun 1997, 09:25:41):
~#! rn=Grimmborn rt=867654966 rg=d.wald
~#! tid=867498029

Ich bin auch laenger als drei Jahre hier, die 'drei' war relativ
willkuerlich gewaehlt, aber mit der intention, dass sich hier nicht nur
ein Dutzend Leute angesprochen fuehlt. Ich bin der Meinung, dass sich
sehr wohl etwas an der allgemeinen Stimmung geaendert hat, und zwar
nicht zum besseren. Natuerlich ist das MG in der Zwischenzeit so gross
geworden, dass es nicht daran zugrunde geht, wenn hier einer nach dem
anderen verschwindet, trotzdem halte ich die Entwicklung nicht fuer gut.

Fyt.

-----------------------------------------------------------------------------



Re^9: Dumm gelaufen (Boing, 30. Jun 1997, 09:27:52):
~#! rn=Fyt rt=867655541 rg=d.wald
~#! tid=867498029
Das ist doch in jedem Mud das gleiche und wird auch immer so sein:
Alte Spieler gehen (aus welchen Gruenden auch immer), neue kommen.
Ich faende es auch ehrlichgesagt reichlich langweilig, wenn wir immer
noch die selben Spieler haetten wie vor einigen Jahren.
  Boing

-----------------------------------------------------------------------------



Re^10: Dumm gelaufen (Fyt, 30. Jun 1997, 09:34:51):
~#! rn=Boing rt=867655672 rg=d.wald
~#! tid=867498029

Hm, schade eigentlich... einer der Gruende *meines* Hierseins ist naemlich,
dass ich hier Leute treffe, die ich auch in dem Mud mit der tollen Grafik
kenne, die ich aber wegen der schlechte Wegescripte in dem Mud da nur selten
sehe.

Und da tut es mir in irgendeiner Weise schon weh, wenn ich alle paar Tage
ne 'tschuess-mail' in der Post habe. Ist das so unverstaendlich?

Fyt.

-----------------------------------------------------------------------------



Re^10: Dumm gelaufen (Taragon, 30. Jun 1997, 10:38:37):
~#! rn=Boing rt=867655672 rg=d.wald
~#! tid=867498029
hmmm...
fragt sich nur wie es aussieht wenn 
1. mehr spieler gehen als kommen
weil 2. die hohen keine lust mehr haben
und 3. weil fuer die neuen alles durchweg zuuu schwer geworden ist

...

Taragon, von nix Ahnung aber davon ne ganze Menge

-----------------------------------------------------------------------------



Re^4: Dumm gelaufen (Li, 30. Jun 1997, 10:41:32):
~#! rn=Taragon rt=867531988 rg=d.wald
~#! tid=867498029
Hmm, Taragon, auss deinem Artikel entnehme ich, dass du genauso wie ich keine
Ahnung hast um was es geht. Deshalb solltest du lieber die Klappe halten und
nicht laut rumtoenen, ueber Sachen, von denen du keine ahnung hast.

-----------------------------------------------------------------------------



Re^11: Dumm gelaufen (Hardil, 30. Jun 1997, 10:42:04):
~#! rn=Taragon rt=867659917 rg=d.wald
~#! tid=867498029

Benennt doch die Rubrik in d.wald.jammerlappen um.
Moensch, ihr scheint immer noch nicht kapiert zu haben, dass das ganze hier
nur ein Spiel ist. Ein Spiel, in dem sich halt manchmal die Spielregeln
aendern.
Die einen versuchen, die Spielregeln moeglichst zu ihren Gunsten zu biegen,
und die anderen druecken dagegen, um das Gleichgewicht zu erhalten.
So isses, so wird es immer bleiben.
Sonst waere es langweilig.
Und wenn ihr weiterdiskutieren wollt, dann bitte in d.wueste. Das ist eh viel
zu leer.

-Hardil.

-----------------------------------------------------------------------------



Re^12: Dumm gelaufen (Silvana, 30. Jun 1997, 10:58:08):
~#! rn=Hardil rt=867660124 rg=d.wald
~#! tid=867498029
Zumindest eines kann man den Artikeln wohl entnehmen: Wir sollten
dringend was fuer mehr Anfaengerfreundlichkeit tun. Ich hoffe einfach
mal auf ne Menge brauchbarer Vorschlaege, bevorzugt in 'entwicklung'
oder per Mail.
  Silvana

-----------------------------------------------------------------------------



Re^13: Dumm gelaufen (Dauergast, 30. Jun 1997, 11:08:37):
~#! rn=Silvana rt=867661088 rg=d.wald
~#! tid=867498029
Hmm, Silvana, Dein Artikel kam grade zur rechten Zeit ...

Denn rein prinzipiell wollte ich grade Fyt zustimmen, dass sich das Klima
doch veraendert hat in den letzten Jahren, auch wenn es Magiern sicher
nicht sofort auffaellt ...

Die Hilfsbereitschaft Anfaengern gegenueber hat mE deutlich nachgelassen,
sicher auch hervorgerufen durch zuviele zt-Listen-Fragen auf den Kanaelen,
auf die es meistens nur mehr sarkastische Antworten gibt ...

Sollte sich zB ein Anfaenger zufaellig in die Akademie verirren, wer hilft ihm
denn dann zB raus ..?

Sicher, das Problem mit den Attributen wurde schon haeufiger diskutiert,
aber solange das MG weiter waechst, die zt's weiter verstreut werden, und
niemand ohne zt-Liste in annehmbarer Zeit wenigstens etwas 
staerker werden kann, wird sich an diesem Problem nix aendern ...
(DG erinnert sich noch an Anfaenger-Fuehrungen ueber die Hochebene mit fast
garantierten 3 Zaubertraenken ... Schnee von gestern??).

Sucht doch mal nach Moeglichkeiten, den Anfaengern den Einstieg zu
erleichtern,
die Hilfsbereitschaft wieder zu foerdern usw. anstatt neue Herausforderungen
fuer HLP's zu
schaffen, die meist nur zu erhoehtem Einzelgaengertum anregen ...

Ideen aus anderen MUD's (geaendertes Attribut-System, Einzelkaempfer-
und Skript-Erschwernisse etc.) sind vielleicht bedenkenswert 

DG

-----------------------------------------------------------------------------



Re^14: Dumm gelaufen (Asmodis, 30. Jun 1997, 11:10:38):
~#! rn=Dauergast rt=867661717 rg=d.wald
~#! tid=867498029
Das Problem mit den ZTs ist doch in Arbeit, soviel ich weiss ...

-----------------------------------------------------------------------------



Re^14: Dumm gelaufen (Alpha, 30. Jun 1997, 11:18:11):
~#! rn=Dauergast rt=867661717 rg=d.wald
~#! tid=867498029
Anfaenger helfen? Ja.
Gemeinsam metzeln? Ja. Wie waers mit Teamplay a la PK-Mud?
Scripten erschweren? Noe. Was hast du gagengen wenn ich vom Elfenhain nach PV
scripte und zurueck?

-----------------------------------------------------------------------------



Re^15: Dumm gelaufen (Fyt, 30. Jun 1997, 11:37:38):
~#! rn=Alpha rt=867662291 rg=d.wald
~#! tid=867498029

Wie waer's denn mit nem NPC, der an den 'Geburtsorten' rumsteht und
Anfaenger auf Nachfrage zu den 'wichtigen' Stellen (PV, HE, ...)
bringt?

Fyt.


-----------------------------------------------------------------------------



Re^16: Dumm gelaufen (Fyt, 30. Jun 1997, 11:38:06):
~#! rn=Fyt rt=867663458 rg=d.wald
~#! tid=867498029

NAtuerlich Schritt fuer Schritt...

Fyt.

-----------------------------------------------------------------------------



Re^12: Dumm gelaufen (Asmodis, 30. Jun 1997, 13:04:24):
~#! rn=Kretek rt=867668630 rg=d.wald
~#! tid=867498029
RL, nehme ich an :)

-----------------------------------------------------------------------------



Re^14: Dumm gelaufen (Key, 30. Jun 1997, 16:11:34):
~#! rn=Dauergast rt=867661717 rg=d.wald
~#! tid=867498029
Hmm es gibt schon einige npc die fuer den Gruppenkampf bestimmt sind ...
Es scheitert eher im daran das die meisten hier zumindest im Kampf
Einzelgaenger sind, und sich in einer Gruppe nicht koordinieren lassen :)

Naja das System aus dem PK hatte ich mal nem Mag vorgeschlagen, der meinte
aber dann koenne man ja gleich wieder scripten einfuehren ...
Naja ansonsten halte ich das System da fuer annehmbar =;)

Key

-----------------------------------------------------------------------------



Re^15: Dumm gelaufen (Rochus, 30. Jun 1997, 16:16:49):
~#! rn=Key rt=867679894 rg=d.wald
~#! tid=867498029
Hmm, da faellt mir ein, man koennte so etwas wie
  auf "los!" norden
einbauen, was bewirken wuerde, dass man nach norden geht
sobald jemand "los!" sagt - das wuerde die Koordination doch
stark erleichtern und waere wohl auch realisierbar.

  Rochus

-----------------------------------------------------------------------------



Re^16: Dumm gelaufen (Slyfox, 30. Jun 1997, 16:18:22):
~#! rn=Rochus rt=867680209 rg=d.wald
~#! tid=867498029
Das geht doch schon laengst, mittels TF-Trigge ;) Aber nee, das is ja
nischt erlaubt.

  Slyfox

-----------------------------------------------------------------------------



Drakonierpyramide (Paracelsus, 21. Aug 1997, 22:18:33):
Hiho.
Da mehrere Spieler sich beschwert haben, dass sie die drakonische
Tempelanlage nicht betreten koennen und somit nicht an ihren angeblich
dort befindlichen ZT kommen, habe ich die Eintrittsschwelle etwas
gesenkt.
IIhr werdet schon sehen, was ihr davon habt ]:->

Para*

-----------------------------------------------------------------------------



Re: Drakonierpyramide (Key, 22. Aug 1997, 14:07:33):
~#! rn=Paracelsus rt=872194713 rg=d.wald
~#! tid=872194713
Brav 
*taetschel Para* =;)

Key

-----------------------------------------------------------------------------



Update (Quasimodo, 23. Aug 1997, 18:18:26):
Ich habe mal die Typos, die seid Anfang August berichtet wurden korrigiert.
Anfang August 96 versteht sich... :-)

Quasi

PS: In der Elfensiedlung

-----------------------------------------------------------------------------



Skoweweise (Yantro,  4. Sep 1997, 11:59:02):
Hi, 
endlich ist es soweit... der Skoweweise ist nicht mehr so traurig und
knauserig und hat sich dazu durchgerungen, denen, die ihm einen Faecher gegen
die elende Hitze zu bringen, eine Belohung zukommen zu lassen, die der Magie
seines Volkes wuerdig ist.

Yantro, Papa dieser Wichte da oben.

-----------------------------------------------------------------------------



Bugfix (Paracelsus,  8. Sep 1997, 21:45:19):
Hi.
Kleiner Bugfix im gelben Wuerfel (Parawelt).
Dadurch ist in einem Raum jetzt ein NPC da, der da schon immer sein sollte,
es aber nicht war.

Para.

-----------------------------------------------------------------------------



Merkwuerdiges (Paracelsus, 19. Sep 1997, 22:16:04):
Wer sucht, koennte fuendig werden - oder sich nasse Fuesse hohlen.
Er koennte aber auch ein Schluesselerlebnis haben.
Doch wer den Schluessel hat, sollte auch Wissen haben, denn Wissen ist Macht.
Aber wie mein Freund Tod immer sagt: NICHTS WISSEN MACHT AUCH NICHTS.


Paracelsus - spricht mal wieder in Raetseln.

-----------------------------------------------------------------------------



Re: Merkwuerdiges (Key, 20. Sep 1997, 00:51:25):
~#! rn=Paracelsus rt=874700164 rg=d.wald
~#! tid=874700164
Hmmm also der Schluessel bin ich ;)
Und ich weiss auch einiges ueber mich ...
Aber maechtig? :))

Und was heisst denn da dein Freund Tod? Des ist meiner ;)))

Naja aber mal weg vom schmarrn ....
teile key mit schleier :))))
Wo isses? :) Ich wills testen ;) 

Key, zu faul zum suchen :)
,

-----------------------------------------------------------------------------



Ruecktritt (Silvana, 22. Sep 1997, 00:03:10):
Nur zur Info:
Ich habe Freitag meinen Ruecktritt als Wald-RM eingereicht, da mir die
Zeit fuer diese Aufgaben fehlt. Bis auf weiteres ist Paracelsus alleine
dafuer zustaendig.

  Silvana

-----------------------------------------------------------------------------



Re: Ruecktritt (Anatol, 22. Sep 1997, 13:13:34):
~#! rn=Silvana rt=874879390 rg=d.wald
~#! tid=874879390
Oh Scheisse, Du hast ihn mit MY* und dem Schluessel alleine gelassen?

Geht dann vermutlich doch nicht Tuereoeffnen,
Anatol


-----------------------------------------------------------------------------



Im Wald, da sind die Raeuber... (Anacrion, 27. Sep 1997, 13:52:48):

Liebe Waldmagier !

Ich musste heute morgen die arme Jammie befreien, die als Geist hoffnungslos
in dem Raeuberbaum festgesessen hat.
Diese war naemlich mit xxx Muenzen in das Schloss gegangen und hatte die auch
als geist noch im (nicht verwendbaren) Inventory.
Als sie von Raeubern ueberfallen wurde, wollten die ihr gesamtes Geld, aber an
das konnte sie nicht ran...toeten gihg als Geist aber auch nicht...

Wenn also Jemand bei den Raeubern entweder eine Ueberfallsperre fuer Geister
(faende ich am gelungensten), freien Ausgang fuer Geister oder einfach nur
eine Sperre des Lebend-Inventories fuer Raeuber einbauen wuerde, waere das ein
weiterer entfernter Bug.

Anacrion - konstruktiv


-----------------------------------------------------------------------------



Re: Im Wald, da sind die Raeuber... (Yendi,  1. Okt 1997, 13:21:00):
~#! rn=Anacrion rt=875361168 rg=d.wald
~#! tid=875361168


Irre ich mich, oder hat ein Geist nix mehr im inventory?
Wie kann man als Geist noch mit Kohle rumlaufen?


-----------------------------------------------------------------------------



Re: Re: Im Wald, da sind die Raeuber... (Anacrion,  1. Okt 1997, 16:43:47):
~#! rn=Yendi rt=875704860 rg=d.wald
~#! tid=875361168

Du irrst :)
Wenn man Geisterschloss gemacht hat, wird das inventory naemlich beibehalten,
um dann, wenn man wieder lebendig wird, wieder zu erscheinen..

Anac*

-----------------------------------------------------------------------------



neuer RM (Boing, 15. Okt 1997, 15:29:46):
Neuer Regionsmagier: Freund
  Boing, kurz und knapp wie immer :)

-----------------------------------------------------------------------------



Re: neuer RM (Quasimodo, 16. Okt 1997, 13:58:45):
~#! rn=Boing rt=876922186 rg=d.wald
~#! tid=876922186
Huch, der war doch wauch mein Erster Chef...

Quasi

-----------------------------------------------------------------------------



Anna/Uni (Paracelsus, 19. Okt 1997, 22:22:13):
Die beiden Felinen-"Damen" haben ihre Huette abgerissen und sind in ihre
Heimat zurueckgekehrt.
Offenbar lief das Geschaeft nicht so gut wie erwartet ;)
Aber keine Angst, die beiden tauchen schon irgendwann wieder auf.

Para*

-----------------------------------------------------------------------------



Re: Anna/Uni (Anatol, 19. Okt 1997, 22:23:52):
~#! rn=Paracelsus rt=877292533 rg=d.wald
~#! tid=877292533
Die, die es am meisten gebraucht haetten, wurden von den beiden Suessen
ja gnadenlos angegriffen - wer sooo waehlerisch ist, braucht sich ja nicht
wundern, wenn der Kundenkreis recht klein bleibt... :)

Anatol, der erste mit Nietenarmbaendern :)


-----------------------------------------------------------------------------



Re: Re: Anna/Uni (Key, 20. Okt 1997, 17:50:58):
~#! rn=Anatol rt=877292632 rg=d.wald
~#! tid=877292533
Also ich war regelmaessig da :(

Warum denn abgehaengt? Die waren geil!

Key

-----------------------------------------------------------------------------



Re^3: Anna/Uni (Silvana, 20. Okt 1997, 20:44:19):
~#! rn=Key rt=877362658 rg=d.wald
~#! tid=877292533
Sie kommen ja wieder. Geduld! :) Silvana (weiss schon wo).

-----------------------------------------------------------------------------



Re^4: Anna/Uni (Anatol, 20. Okt 1997, 23:15:16):
~#! rn=Silvana rt=877373059 rg=d.wald
~#! tid=877292533
Hmmm, wie heisst die Felinenstadt? Fellatio? Das waer dann die erste Stadt, 
die spontan als "pervers" angesehen wird - ausserdem waer' es unpassend, 
denn Katzen sind eh viel zu egostisch fuer eine solche (Geistes)Haltung.

Ach, das ist hier gar nicht Schmarrn? Oh.
Anatol :)


-----------------------------------------------------------------------------



Re^5: Anna/Uni (Teddy, 21. Okt 1997, 00:22:58):
~#! rn=Anatol rt=877382116 rg=d.wald
~#! tid=877292533
Wie waere es, wenn man die zur Heilstelle umfunktioniert. 
Evtl. mit Boni und Abzuegen: Ich koennte danach immer (Bonsai-)Baeume
ausreissen, aber ir
gendwie hab ich meist wacklige Knie
Eine gewisse zeit braucht man meistens auch dafuer.
Also z.B. Man kann nicht so schnell gehen (wacklige Knie), dafuer Kraft etwas
hochgesetzt
 und man braucht ein wenig Zeit fuer die Heilung.
 
Teddy, heute mal (pervers) kreativ

-----------------------------------------------------------------------------



Re^5: Anna/Uni (Grimmborn, 27. Okt 1997, 11:54:22):
~#! rn=Anatol rt=877382116 rg=d.wald
~#! tid=877292533
Du unterschaetzt da die Gelenkigkeit dieser Viecher aber ganz gewaltig...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Myung/Asaniel (Paracelsus, 18. Nov 1997, 22:13:06):
Hi.
Aus technischen Gruenden sind Myung und Asaniel bis auf weiteres abgehaengt.
Para*

-----------------------------------------------------------------------------



Wald.rep (Freund, 21. Dez 1997, 11:11:45):
Hi,

ich habe das Wald.report-file abgearbeitet. Viele Typos sind jetzt raus... :-)

Besonderer Dank an: Birdy, Icks, Tuffi, Achakzai, Tell und Kennard.

Weiter so :-), Freund (RM Wald)

-----------------------------------------------------------------------------



Zeitschleife (Freund, 25. Dez 1997, 11:45:15):
Hi,
ich habe da ein kleines Problem. Es gibt einen Raum im Wald, da findet man
Spuren eines grossen Tieres. Und immer, wenn ich das wald-report-file
durchgehe, finde ich entweder:

TYPO von oops / (23. Dez 1997):
fusspuren fussspuren (Alte und neue Rechtschreibung)

oder halt den umgekehrten Eintrag, wenn ich das Wort mit 3 "s" schreibe. :-/

Da aber 3 "s" wesentlich "falscher" Aussehen als 2, moechte ich es gerne so
lassen. Einwaende? Rote Ritter vielleicht? ;-)

Freund, sucht eine Loesung.

P.S.: Vielelicht eine Property P_NEW_SPELLING? :-)

-----------------------------------------------------------------------------



Re: Zeitschleife (Anatol, 25. Dez 1997, 13:53:14):
~#! rn=Freund rt=883046715 rg=d.wald
~#! tid=883046715
Bau doch ein "return 0"-AddCmd "typo" ein und bringe prophylaktisch eine
Meldung "Die Fussspuren sind ganz ok so, also, was ist los?". :)

Drei "s" ist imho in der Tat korrekt.

Anatol :)


-----------------------------------------------------------------------------



Re: Re: Zeitschleife (Janitze, 25. Dez 1997, 14:08:16):
~#! rn=Anatol rt=883054394 rg=d.wald
~#! tid=883046715
Komisch, ich denke mal gehoert zu haben, das die Muds bei der alten
Rechtschreibung bleiben, ich fuer meinen Teil schreib meinen Kram
nach der alten Rechtschreibung und bis jetzt hat sich auch noch niemand
drueber beschwert, hoechstens ueber zuviel oder zuwenig Kommas :)

Janice, proggt auch, aber woanders

-----------------------------------------------------------------------------



Re^3: Zeitschleife (Wurzel, 25. Dez 1997, 14:18:35):
~#! rn=Janitze rt=883055296 rg=d.wald
~#! tid=883046715
das schoene an der neuen rechtschreibung ist die uebergangsfrist. in dieser
zeit (etliche jahre sind es wohl, wie lange genau weiss ich nicht) gelten
alte und neue rechtschreibung beide. am ende dieser zeit wird in einzelnen
faellen entschieden, ob die alte oder neue regelung weitergelten soll, je
nachdem was sich durchgesetzt hat.
ich persoenlich setze mich dafuer ein, dass zumindest in diesen faellen 
(leider sind das ja nicht alle regeln) die alte form weiter gilt. das geht
ganz einfach dadurch, dass ich die neuen regeln ignoriere. kein einziges
file werde ich auf die neue rechtschreibung umstellen (hat auch was mit
faulheit zu tun, ich gebs ja zu :)

wurzel

-----------------------------------------------------------------------------



Re: Zeitschleife (Cheasy, 25. Dez 1997, 18:49:53):
~#! rn=Freund rt=883046715 rg=d.wald
~#! tid=883046715
> TYPO von oops / (23. Dez 1997):
> fusspuren fussspuren (Alte und neue Rechtschreibung)

> oder halt den umgekehrten Eintrag, wenn ich das Wort mit 3 "s" schreibe. :-/

Probier's mal mit

AddCmd( ({"typo"}), "new_typo");
...

int
new_typo(string txt)
{
  if (member(txt, "fusspuren")
     || member(txt, "fussspuren"))
   {
      write("Hm, darueber kann man sich streiten. Trotzdem Danke!\n");
      return 1;
    }
  return 0;
}

Damit hast Du zumindest im rep-file Ruhe...
-Cheasy

-----------------------------------------------------------------------------



Re: Re: Zeitschleife (Avalon, 25. Dez 1997, 20:01:16):
~#! rn=Cheasy rt=883072193 rg=d.wald
~#! tid=883046715
Joe, ich hab ein Weihnachtsgeschenk fuer Cheasy: :)

    (, !, =, -, 1, ), (, !, =, -, 1, )

sind sogar 12 kleine Paeckchen geworden :-)))


lg
avalon.-

-----------------------------------------------------------------------------



Re: Zeitschleife (Padreic, 25. Dez 1997, 23:41:28):
~#! rn=Freund rt=883046715 rg=d.wald
~#! tid=883046715
Ich haette da noch eine ganz andere Idee, wie waer es denn das bei jedem typo
fussspur/fusspur sich das ganze automatisch wieder aendert, dann kann es sich
jeder mit Hilfe eines Typos so machen wie es ihm gefaellt :)

                                     Padreic

-----------------------------------------------------------------------------



Re: Zeitschleife (Oops, 26. Dez 1997, 18:42:24):
~#! rn=Freund rt=883046715 rg=d.wald
~#! tid=883046715
Hi Freund,

Duden ist an dieser Stelle ganz eindeutig: Wenn ein scharfes s durch zwei
s (ss) ersertzt wird, gilt die Loeschungsregel der Dreifachkonsonanten nicht.
Es bleibt immer bei 3 s.

Das hat sich mit der Reform uebrigens nicht im geringsten geaendert. Die
Reform schreibt nun nur die Dreifachkonsonanten auch da vor, wo vorher
einer geloescht wurde (Bsp. Sperriegel (alt) Sperrriegel (neu)).

Gruesse von Oops, dem Nachtzwerg.

-----------------------------------------------------------------------------



Re: Re: Zeitschleife (Grimmborn, 27. Dez 1997, 02:23:15):
~#! rn=Oops rt=883158144 rg=d.wald
~#! tid=883046715
Machen wir uns nichts vor, die Stellen, die nach beiden Regelwerken falsch
sind (also "echte typos") ueberwiegen bei weitem die Stellen, die sich bei
einer Umstellung von der alten auf die neue Rechtschreibung aendern wuerden.
Denn, bei aller Aufregung, so schrecklich ueberwaeltigend sind die Aenderungen
in praktischen Texten denn auch wieder nicht.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Re: Zeitschleife (Kartoffel, 27. Dez 1997, 22:02:11):
~#! rn=Oops rt=883158144 rg=d.wald
~#! tid=883046715
Ums mal ganz kurz zu sagen:
Auch nach der alten Rechtschreibregel sind die Fussspuren richtig, da: 
Drei Konsonanten wenn ein Konsonant folgt und 
zwei Konsonanten wenn ein Vokal folgt. 
Egal ob die Loeschungsregel aufgehoben wird oder nich ;))

Kartoffel - hat auch mal was gelernt in der Schule ;)

-----------------------------------------------------------------------------



Re: Zeitschleife (Yendi, 29. Dez 1997, 14:18:46):
~#! rn=Freund rt=883046715 rg=d.wald
~#! tid=883046715

Auch wenn ich jetzt als neue "rote Gefahr" verschrieen werde:

Wie waers mit "Fuszspuren"?

/enter duck-and-run mode/

Yendi dngsW


-----------------------------------------------------------------------------



Re: Zeitschleife (Acrimon, 30. Dez 1997, 20:28:28):
~#! rn=Freund rt=883046715 rg=d.wald
~#! tid=883046715
drei "s" hintereinander werden immer zu zweien verkuerzt. Das sieht nicht nur
richtiger aus, sondern ist es auch.
Aber "Fuszspuren" besteht nicht aus drei "s", sondern aus einem scharfen s und
einem "s". Daher besteht auch keine Veranlassung, sie zu verkuerzen, selbst
wenn man gezwungen ist, fuer das scharfe s eine Umschreibung zu verwenden.
Dann haette man aus zwei unterschiedlichen Buchstaben zwei gleiche gemacht.

Aber persoenlich habe ich nichts dagegen, wenn du es anders schreibst.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re: Re: Zeitschleife (Gloinson,  2. Jan 1998, 16:38:32):
~#! rn=Acrimon rt=883510108 rg=d.wald
~#! tid=883046715
Auf der naechten Party schenken wir Acrimon einen Duden. Nach alter
Rechtschreibung werden drei Konsonanten nur vor einem Vokal zu zwei
verkuerzt. Nach neuer Rechtschreibung gar nicht. Der Duden empfiehlt
fuer das Maschinenschreiben des 'sz' ss einzusetzen. Letztendlich
faellt das aber unter Kategorie 'Wurst und Kaese'. Aber bevor sich
Hangover wieder beschwert, die Zeitung sei zu leer ... :)

Gloin

-----------------------------------------------------------------------------



Re: Re: Zeitschleife (Fyt,  5. Jan 1998, 14:14:19):
~#! rn=Yendi rt=883401526 rg=d.wald
~#! tid=883046715

Klingt echt nach Szprachfehler ;-)

Fyt.

-----------------------------------------------------------------------------



Re^3: Zeitschleife (Fyt,  5. Jan 1998, 14:16:08):
~#! rn=Gloinson rt=883755512 rg=d.wald
~#! tid=883046715

Nenn mir mal ein Wort, das regulaer mit drei s nahceinander geschrieben
wird.

Fyt, bezweifelnd, dass es sowas gibt.


-----------------------------------------------------------------------------



Re^4: Zeitschleife (Kartoffel,  6. Jan 1998, 22:29:40):
~#! rn=Fyt rt=884006168 rg=d.wald
~#! tid=883046715
Hmm, ich schaetze dass liegt daran, dass Dreifachkonsonanten nur in
zusammengesetzten Woertern findet und die meisten Woerter die auf 'ss' enden
muessten, nach der alten Regel mit '(Du weisst schon was)' geschrieben werden.

Kartoffffffel

-----------------------------------------------------------------------------



Re^5: Zeitschleife (Fyt,  9. Jan 1998, 12:45:48):
~#! rn=Kartoffel rt=884122180 rg=d.wald
~#! tid=883046715

Ach was ;-)

Fyt.

-----------------------------------------------------------------------------



Abenteuertagebuch entwanzt (Leusel,  8. Feb 1998, 12:30:55):
Hallo!

Wie mir einige von euch schrieben, funktionierte das Abenteuertagebuch aus dem
'Fluch der Weisheit' Abenteuer nicht mehr. Ich hoffe, ich habe es repariert.
Wenn nicht, bitte melde Dich!

Leusel

-----------------------------------------------------------------------------



Schemenreich (Birdy, 16. Feb 1998, 18:59:39):

Nachdem ja nun das Tanken erheblich erschwert wurde, wuerde ich dafuer
stimmen, die Zeit der Raumresets zu verlaengern oder auf einen festen Wert zu
setzen.
Mir ist es naemlich gerade passiert, dass sich der Raum mit dem Feuer- und dem
Eisschemen innerhalb von etwa 20 Minuten 3x resettete.
Und da man bei den beiden allein schon immer mind. 2mal tanken muss, schafft
man es nicht mal mehr bis zu Lodoss.

Birdy, mal schauend, was er macht, solange der Tod noch wirkt

-----------------------------------------------------------------------------



Re: Schemenreich (Anatol, 16. Feb 1998, 19:06:15):
~#! rn=Birdy rt=887651979 rg=d.wald
~#! tid=887651979
alias xxx teile $1 mit Dann geh halt nicht alleine hin, Seicherl...

Anatol


-----------------------------------------------------------------------------



Re: Re: Schemenreich (Lug, 16. Feb 1998, 19:09:45):
~#! rn=Anatol rt=887652375 rg=d.wald
~#! tid=887651979
Aeh,

was ist ein Seicherl?

Linguistisch-dialektologisch Interessiert
Lug

-----------------------------------------------------------------------------



Re^3: Schemenreich (Embe, 16. Feb 1998, 22:53:45):
~#! rn=Lug rt=887652585 rg=d.wald
~#! tid=887651979
seicherl: vor allem in "osterreich gebr"auchlicher, umgangssprachlicher
ausdruck f"ur schw"achling.

gruss, eMBee. (linguistik studierend)

-----------------------------------------------------------------------------



Re^4: Schemenreich (Woody, 22. Feb 1998, 13:32:21):
~#! rn=Embe rt=887666025 rg=d.wald
~#! tid=887651979
": In Oesterreich ungebraeuchliche Art, Umlaute zu denotieren.

woody.- (sich fuer embee entschuldigend ;))

-----------------------------------------------------------------------------



Re^5: Schemenreich (Acrimon, 23. Feb 1998, 17:47:27):
~#! rn=Woody rt=888150741 rg=d.wald
~#! tid=887651979
Da ist keine Entschuldigung notwendig.
"a ist genauso gerechtfertigt wie andere Arten, Umlaute zu denotieren.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^6: Schemenreich (Woody, 24. Feb 1998, 02:06:09):
~#! rn=Acrimon rt=888252447 rg=d.wald
~#! tid=887651979
Ach weiszt Du, drum hab ich ja auch einen Smiley dahintergeschrieben...

woody.-

-----------------------------------------------------------------------------



Re^7: Schemenreich (Engywuck, 24. Feb 1998, 19:43:13):
~#! rn=Woody rt=888282369 rg=d.wald
~#! tid=887651979
Jeder, der mir mit einem "a oder aehnlichen optischen Sondermuell ankommt,
kriegt sofort ein ignoriere verpasst. Die Umschreibungen mit 'e' sind
schliesslich nicht umsonst erfunden.

Engy*

-----------------------------------------------------------------------------



Re^8: Schemenreich (Woody, 24. Feb 1998, 19:46:31):
~#! rn=Engywuck rt=888345793 rg=d.wald
~#! tid=887651979
Da merkt man gleich, wer tex kennt und wer nicht :)

eher tolerant und nicht nach der form zensierend,
woody.-

-----------------------------------------------------------------------------



Re^8: Schemenreich (Embe, 24. Feb 1998, 23:07:59):
~#! rn=Engywuck rt=888345793 rg=d.wald
~#! tid=887651979
es ich sehr schwer eine schon vor jahren angeeignete gewohnheit abzulegn, vor
allem wenn sie von etlichen leuten mit denen ich "uber email kontakt hab auch
gepflegt wird.
ich achte nicht bewust darauf wie ich schreibe, solang der inhalt stimmt,
und darum mischen sich bei mir dialekt und hochdeutsch genauso wie ich
ab und zu statt "u auch ue uws. verwende, ganz abgesehn von den vielen
rechtschreibfehlern, die mir ganz egal sind..

abgesehn davon bin ich schon aus sprachwissenschaftlicher sicht, nicht bereit
auf etwas zu verzichten, nur weil es der computer nicht korrekt darstellen
kann,
"u halte ich f"ur eine nachvollziehbare convention,
(ich seh ja ein, dass sie ungewohnt is), die die aussprache einen lauts auch
widergibt, was ue nicht tut.

gruss, eMBee.
--
mud administrator   SILKE
mbaehr+embee@iaeste.or.at

-----------------------------------------------------------------------------



Re^9: Schemenreich (Anatol, 24. Feb 1998, 23:15:12):
~#! rn=Embe rt=888358079 rg=d.wald
~#! tid=887651979
'"u' (oder sollte ich ""u" schreiben?) gibt die Aussprache des Lauts wieder?
Wie sprichst Du bitte ein '"' aus? Du brauchst dann - wie fuer ae, oe, ue
(welche fuer Emails Netiquette sind) - die Vereinbarung, dass Du sie wie
Umlaut-A sprichst. Und dann koenntest Du Deine Artikel genausogut auch mit
den Umlaut des nachfolgenden Vokals aussprichst. Und solche Vereinbarungen
... bitte, Du k&ouml;nntest auch in html schreiben, w&auml;re auch nur eine
Vereinbarung. Aber eben keine so leserliche.
Unter dem Strich kommt es, denke ich, mehr auf die Leserlichkeit an. Die
Geschm&auml;^H^H^H^H^Haecker moegen verschieden sein, und ich kann das 
Argument, dass jemand seine Tex-Gewohnheiten nicht aendern moechte, ver-
stehen. Dennoch wuerde ich persoenlich "ae", "oe" und "ue" vorziehen, genau
DAS ist naemlich die normale "Convention", wie sie auch ausserhalb der
Elektronik gilt, wenn keine Umlaute dargestellt werden koennen. Und um
Acrimon in die Diskussion einzuschalten: Fuer sz und ss gilt dasselbe.

Kein Sprachwissenschaftler, dennoch neunmalklug,
Anatol


-----------------------------------------------------------------------------



Re^9: Schemenreich (Hate, 25. Feb 1998, 16:42:53):
~#! rn=Woody rt=888345991 rg=d.wald
~#! tid=887651979
Also ich benutze in meinen LaTeX files immer die richtigen 8-bit Umlaute. 

Hate.

-----------------------------------------------------------------------------



Re^10: Schemenreich (Woody, 25. Feb 1998, 16:45:02):
~#! rn=Hate rt=888421373 rg=d.wald
~#! tid=887651979
Ja... mir war eigentlich der Nachsatz wichtiger als die
Bemerkung drueber.

woody.-

-----------------------------------------------------------------------------



Re^8: Schemenreich (Pra, 25. Feb 1998, 18:55:57):
~#! rn=Engywuck rt=888345793 rg=d.wald
~#! tid=887651979
Jaja, Motzpeter ;-)

Aber sich selber mit einem Engy* umschreiben. Was soll denn dieses bloede
Sternchen da? Denk doch mal an die ganzen Windoof user. Die k"oennen damit
doch gar nix anfangen, du arroganter Dos/Unix-Anwender, du! 

Pra. Engywucks feucht knuddelnd.

-----------------------------------------------------------------------------



Re^10: Schemenreich (Lug, 26. Feb 1998, 02:03:10):
~#! rn=Anatol rt=888358512 rg=d.wald
~#! tid=887651979

Also,


der Unterschied besteht zwischen Phonem und Graphem.

Kurz: Anatol hat Recht. Wie immer.

FidKG
Lug

-----------------------------------------------------------------------------



Re^10: Schemenreich (Acrimon, 26. Feb 1998, 18:03:24):
~#! rn=Anatol rt=888358512 rg=d.wald
~#! tid=887651979
Soviel ich weiB, steht in der Netiquette gar nichts Derartiges drin, Anatol.
In EMails schreibe ich sowieso die richtigen Umlaute, und es hat sich noch
niemals jemand deswegen beschwert.
Im "Ubrigen gibt die Notation mit " tats"achlich die Aussprache WEIT besser
als die Notation mit e wieder. Denn niemand spricht 'J"ager' wie 'Ja-eger'.
AuBerdem gibt es tats"achlich nicht wenige Worte, die 'ae', 'oe' oder 'ue'
enthalten und deswegen NICHT wie Umlaute gesprochen werden d"urfen.
Aus diesen Gr"unden benutze auch ich jetzt in diesem Artikel diese -
tats"achlich etwas sch"onere - Notation der Umschreibung von Umlauten.
Und wem es aufgefallen ist - ich habe auch eine andere Notation benutzt, die
ich speziell in von Engl"andern geschriebenen deutschen Texten "ofter gesehen
habe, und die mir auch sehr gef"allt. Besser jedenfalls als die '"ubliche'
Konvention.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^11: Schemenreich (Grimmborn, 26. Feb 1998, 18:13:47):
~#! rn=Acrimon rt=888512604 rg=d.wald
~#! tid=887651979
Weder html noch 8-bit in der einen oder anderen Weise (da gibts naemlich
mehrere, inkompatible Moeglichkeiten) sind Standard fuer eine mail. Wenn Dus
nicht glaubst, such Dir halt das entsprechende RFC. Wer etwas anderes
ungefragt macht, ist massiv unhoeflich. Sicher gibt es Leute, die mails in
html fuer super halten, aber das kann man eben nicht vorraussetzen und sollte
es daher defaultmaessig lassen.

Grimmborn der Atheist. 70 DAU-Anfragen in der Woche. 20% lesbares 8-bit, 20%
unlesbares 8-bit, 15% zusaetzlich die mail nochmal als html im attachment, 5%
mail nur als html.

-----------------------------------------------------------------------------



Re^11: Schemenreich (Mars, 26. Feb 1998, 18:18:48):
~#! rn=Acrimon rt=888512604 rg=d.wald
~#! tid=887651979
Ich kann mir nicht helfen, aber wenn ich sowas wie '"ublich' sehe,
finde ich das einfach h"aBlich.

Mars 

-----------------------------------------------------------------------------



Re^12: Schemenreich (Kartoffel, 26. Feb 1998, 18:30:38):
~#! rn=Anatol rt=888514155 rg=d.wald
~#! tid=887651979
-> Etikette

-----------------------------------------------------------------------------



Re^11: Schemenreich (Gnome, 26. Feb 1998, 20:07:07):
~#! rn=Acrimon rt=888512604 rg=d.wald
~#! tid=887651979
"...tats"achlich etwas sch"onere - Notation der Umschreibung von Umlauten..."

acrimon,
1. sieht das beschissen aus,
2. liest sich das noch beschissener, als es aussieht.

 da/3 dihr das selber nicht auhf"allt, i/3t mihr ain r"atsel !!!

gnOme

-----------------------------------------------------------------------------



Re^11: Schemenreich (Hadra, 27. Feb 1998, 01:46:49):
~#! rn=Acrimon rt=888512604 rg=d.wald
~#! tid=887651979
warum laeuft diese bloede diskussion hier eigentlich so regelmaessig ab, wie
samstags die ziehung der lottozahlen?

-----------------------------------------------------------------------------



Re^12: Schemenreich (Roadrunner, 27. Feb 1998, 08:13:57):
~#! rn=Mars rt=888513528 rg=d.wald
~#! tid=887651979
mag sein, aber das ist eben die Notation in TeX. Als ich letztens meine Arbeit
zusammenschrieb tippte ich viel mit TeX (LaTeX natuerlich), und da stelle ich
meine Tippgewohnheiten besser nicht zwischen Mud und Rl um, da mir sonst in RL
jede Menge Tippfehler unterlaufen. Ich sitze eben an ner Unix-Kiste die in TeX
eben KEINE Umlaute versteht, und im Hinblick auf die Kompatibilit"at der
Sourcen behalte ich das auch besser so bei. 

Roadrunner bittet um Verst"andnis.

-----------------------------------------------------------------------------



Re^13: Schemenreich (Wargon, 27. Feb 1998, 10:18:03):
~#! rn=Roadrunner rt=888563637 rg=d.wald
~#! tid=887651979
Hmm... was spricht gegen \usepackage[latin1]{inputenc}? Oder ist das noch
LaTeX2.09?
  Wargon

-----------------------------------------------------------------------------



Re^11: Schemenreich (Catweazle, 27. Feb 1998, 10:18:53):
~#! rn=Acrimon rt=888512604 rg=d.wald
~#! tid=887651979
weiB?
schoen?

Yours truly,
     Catweazle (ultrakurz)

-----------------------------------------------------------------------------



Re^14: Schemenreich (Yaren, 27. Feb 1998, 10:33:42):
~#! rn=Wargon rt=888571083 rg=d.wald
~#! tid=887651979
was spricht gegen amerikanische tastaturen an SGIs oder an SUN SPARCs?
es ist doch halt so, dass es um das verstaendnis geht, nicht wahr? versteht
mich jeder, wenn ich schoen oder sch"on sage? klasse! und ich muss Roadrunner
zustimmen: man sollte sich wirklich an eine konvention halten, damit man nicht
in jedem kontext umdenken muss ...

Yaren wird sich wohl nun auch tex-notation angew"ohnen. und vielleicht auch
GroBschreibung?

-----------------------------------------------------------------------------



Re^15: Schemenreich (Gloinson, 27. Feb 1998, 14:11:31):
~#! rn=Yaren rt=888572022 rg=d.wald
~#! tid=887651979
Irgend jemand hat es schon gesagt: Man stolpert beim lesen ueber die
" und das senkt unsere Lesegeschwindigket von 5000 C/min ... aber
eigentlich ist das ja wurscht, oder?

Gloin ... fordert kategorisch ein 'ignoriere LateXinline.news' :)))

-----------------------------------------------------------------------------



Re^16: Schemenreich (Engywuck, 27. Feb 1998, 18:32:13):
~#! rn=Gloinson rt=888585091 rg=d.wald
~#! tid=887651979
Mein Gott, seid ihr alle unflexibel...!
Ich mudde seit Fruehjahr '94. Kenner wissen, was das fuer das Schreiben von
Umlauten fuer Auswirkungen hat. Trotzdem: Seit ich meine Diplomarbeit parallel
mit Word (und Umlauten) geschrieben hab, hab ich keine Schwierigkeiten damit,
sofort zwischen der Schreibweise mit "o und oe umzuschalten. 
Und die Tex-Schreibweise "logischer" zu finden is ja wohl eh das Letze:
Schliesslich muss man sie nur einfuehren, weil ein Computer zu doof ist, den
Unterschied zwischen einem Umlaut-oe und einem oe durch zufaelliges
aufeinandertreffen der Vokale (wie in "Autoerfassung") zu kapieren. Ich als
denkender Mensch (rsp. Zwerg) bin jedoch sehr wohl in der Lage, diesen
Unterschied zu kapieren und finde es eigentlich eine zumutung, soeinen Quatsch
hier lesen zu muessen. Warum schreiben wir nicht gleich in Html??

Interessiert zwar eh keinen, aber was solls ;)

Ciao, Engy*

-----------------------------------------------------------------------------



Re^17: Schemenreich (Muaddib, 28. Feb 1998, 11:49:32):
~#! rn=Engywuck rt=888600733 rg=d.wald
~#! tid=887651979
Also, die TeX-Schreibweise ist definitiv fuer die logischer, die damit die
ganze Zeit arbeiten. Und wenn Du Dich mal auf eine Liste subscriben wuerdest,
wo sowas normal ist, dann wuerdest Du das sicher auch irgendwann machen. Nur
weil es in einem Mud exotisch anmutet, brauchst Du nicht zu meinen, dass das
unlogisch oder sonstwie mies ist. Und der Computer ist keinesfalls zu doof, er
versteht nur keine Umlaute, wenn er 7-bit Zeichensaetze verarbeitet (wie
auch?). Und wenn Du in Html schreiben willst, bitte, go ahead. Dann wirst halt
von allen inflexiblen Leuten angeflamt, aber das scheint ja so Sitte zu sein.

Mua, muss Embe mal in Schutz nehmen.

-----------------------------------------------------------------------------



re text (Smarte,  4. Mar 1998, 20:48:22):
wenn ich diese artikel mit "o , "a , "u sehe koennte ich kotzen .
das lenkt mich ab weil es ungewoehnlich ist und schwachsinnig sieht es auch
aus !

Smarte stimmt Engywuck zu .
,

-----------------------------------------------------------------------------



Re^15: Schemenreich (Acrimon,  6. Mar 1998, 19:29:48):
~#! rn=Yaren rt=888572022 rg=d.wald
~#! tid=887651979
Was k"onnen einen amerikanische Tastaturen daran hindern, Umlaute einzugeben?
Ein paar Zeilen in der .Xmodmap, der Eintrag "xmodmap .Xmodmap" in der
.xsession, einen vernuenftigen Font (Endung -iso8859-1) in der .Xdefaults und
das wars.
Ich habe die Umlaute auf <LAlt>-a, <LAlt>-A, <LAlt>-s usw. gelegt.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re: re text (Jimdigriz,  6. Mar 1998, 20:13:24):
~#! rn=Smarte rt=889040902 rg=d.wald
~#! tid=889040902

So ? dabei sind "a, "o "u und "s (!) doch sehr sch"o"o"o"o"on :-)
Ich w"u"u"urde gerne sehen wie du laut "B"A"A"A"A"A"H" :-P
schreist und Dich beim lesen dieses Artikel
 "u"u"u"ubergibts :-)

Alter Dramatisierer,
 Ciao,
 JdG, heute mal mit "a"o"u

-----------------------------------------------------------------------------



Schemenreich (Paracelsus,  8. Mar 1998, 21:59:18):
Hi.
Ich wollte nur mal darauf hinweisen, dass das Teleportieren im Schemenreich
jetzt gef^H^H^Hinteressanter als frueher ist.

Paracelsus.

-----------------------------------------------------------------------------



Re: Schemenreich (Patryn,  9. Mar 1998, 12:14:49):
~#! rn=Paracelsus rt=889390758 rg=d.wald
~#! tid=889390758
wie gut, dass dein backslash keine rechte lust hat, denn das zitat:
 "... gef^H^H^Hinteressanter ..." ist recht aussagekraeftig :))

------
patryn

-----------------------------------------------------------------------------



Re: Re: Schemenreich (Niete,  9. Mar 1998, 12:16:06):
~#! rn=Patryn rt=889442089 rg=d.wald
~#! tid=889390758
bei para* haette es noch nichtmal dieses winks bedurft, wer ihn kennt weiss,
was er mit interessant meint :)


-----------------------------------------------------------------------------



Re^3: Schemenreich (Key,  9. Mar 1998, 13:01:05):
~#! rn=Niete rt=889442166 rg=d.wald
~#! tid=889390758
Och das meisste von ihm ist eh interessant :)
Da brauch er es gar net zuzuschreiben ,)

Key

-----------------------------------------------------------------------------



Waldruestungen angepasst (Silvana,  9. Mar 1998, 13:17:34):
Hi.
Ich habe gerade meine Ruestungen im Wald an die neuen maximal zulaessigen
Werte angepasst. Also verlasst Euch nicht darauf, dass alle Ruestungen noch
so gut/schlecht sind wie vorher. Das gilt natuerlich nur fuer neu
geclonte Ruestungen.

  Silvana

-----------------------------------------------------------------------------



Re: Re: Schemenreich (Yendi,  9. Mar 1998, 17:33:16):
~#! rn=Patryn rt=889442089 rg=d.wald
~#! tid=889390758
Da hat's jemand nicht kapiert... *seufz*


-----------------------------------------------------------------------------



Re^3: Schemenreich (Grimmborn,  9. Mar 1998, 23:07:51):
~#! rn=Yendi rt=889461196 rg=d.wald
~#! tid=889390758
Was willste machen? Idio^WIntellektuell Herausgeforderte gibt es in allen
Schichten...

Grimmborn der Th^H^HAtheist

-----------------------------------------------------------------------------



Wieder da (Paracelsus,  9. Mar 1998, 23:58:43):
Hiho.

So, der gute Asaniel ist von seiner langen Reise zurueckgekehrt ;)
(Und ihr duerft dreimal raten, wer auch wieder da ist. Apropos: da koennte
sich was geaendert haben, also vielleicht vorsichtshalber doch nochmal
Asaniel ausquetschen.)

Paracelsus.

-----------------------------------------------------------------------------



Re: Wieder da (Therin, 10. Mar 1998, 00:55:00):
~#! rn=Paracelsus rt=889484323 rg=d.wald
~#! tid=889484323

Wenn ich jetzt wuesste, wer das ist :-)

T.

-----------------------------------------------------------------------------



Re: Wieder da (Key, 10. Mar 1998, 11:14:56):
~#! rn=Paracelsus rt=889484323 rg=d.wald
~#! tid=889484323
*freu huepf knuddel para* :)
Und Myung? .)
Wo isse? :))

Key geht jagen :)

-----------------------------------------------------------------------------



Re^9: Schemenreich (Smurf, 11. Mar 1998, 22:04:58):
~#! rn=Woody rt=888345991 rg=d.wald
~#! tid=887651979
Das muss wohl der Grund sein, wieso moderne TeX-Systeme durchaus in der
Lage sind, ISO-Latin1 zu verstehen.

Smurf, der seinem Client durchaus nicht ohne Grund das automatische
Ersetzen von ae => ae beigebracht hat (ahem... ihr wisst was ich
meine. ;-)

-----------------------------------------------------------------------------



Damit in dieser Rubrik auch mal wieder etwas steht. (Paracelsus, 24. Jun 1998, 21:31:08):
Es gibt tatsaechlich mal wieder einige kleine Aenderungen bei mir:

o Ein froehlich singender Elf erhielt von mir das Verbot, Spieler duemmer
  aussehen zu lassen, als sie es sind.

o Ein spassiger Stirnreif hat jetzt auch noch seine letzten positiven
  Eigenschaften verloren. Dafuer ist ein anderer Gegenstand, der diese
  positiven Eigenschaften auch hat, nicht mehr nur auf eine Gilde
  beschraenkt. Allerdings hat sich der entsprechende NPC nun auch ein
  wenig geaendert.

o Ein ziemlich materieloser Ring koennte jetzt auch fuer Wesen interessant
  werden, die aus einer anderen Welt stammen.

o Eine Kneipe tief im dunklen Wallen fuehrt jetzt auch Happa-Happa im
  Angebot, damit arme Pelzfuesse dort nicht verhungern muessen.

o Die Flueche eines gewissen schwarzen, ueberaus harmlosen O:>
  Daemonendrachen sollten jetzt fuer Kleriker etwas leichter aufzuheben sein.
  Auch der direkte Zugang zu diesem possierlichen Wesen sollte sich jetzt
  etwas weniger chaotisch gestalten.

Paracelsus - ein klein wenig raetselhaft.

-----------------------------------------------------------------------------



Re: Damit in dieser Rubrik auch mal wieder etwas steht. (Key, 26. Jun 1998, 17:16:00):
~#! rn=Paracelsus rt=898716668 rg=d.wald
~#! tid=898716668
Aber ich will meinen Stirnreif behalten *schnief* :)

Hab Dank Para :))

Key

-----------------------------------------------------------------------------



Re: Damit in dieser Rubrik auch mal wieder etwas steht. (Teddy, 26. Jun 1998, 18:37:14):
~#! rn=Paracelsus rt=898716668 rg=d.wald
~#! tid=898716668
Hab ich doch glatt vergessen:


DANKE!!! ;-)))
SUPER !!! ;-)))


Teddy

-----------------------------------------------------------------------------



Re: Re: Damit in dieser Rubrik auch mal wieder etwas steht. (Paracelsus, 27. Jun 1998, 21:35:41):
~#! rn=Teddy rt=898879034 rg=d.wald
~#! tid=898716668
Tja, da haben mich doch einige Spieler gestern auf dem Stammtisch noch auf
1-2 nette Ideen gebracht, die ich doch glatt umgesetzt habe. Die
Auswirkungen werden sich aber wohl erst nach dem naechsten Reboot zeigen,
da die entspr. Objekte bereits "ausverkauft" sind.

Paracelsus - gemein wie immer.

-----------------------------------------------------------------------------



Schwarzer Schluessel (Paracelsus, 28. Jun 1998, 21:56:47):
Der schwarze Schluessel fuer die schwarze Tuer ist voruebergehend nicht
erhaeltlich. Zumindest so lange nicht, bis ich den Bug dahinter gefunden
habe.

Para*

-----------------------------------------------------------------------------



Re: Schwarzer Schluessel (Key, 30. Jun 1998, 09:04:16):
~#! rn=Paracelsus rt=899063807 rg=d.wald
~#! tid=899063807
Such Para such .)

Danke fuer die spontane Reaktion .)

Key

-----------------------------------------------------------------------------



HdF (Zarniya,  2. Jul 1998, 12:37:58):
Hi, 

im Haus der Farben gibt es nun ein paar Fragen und Aufgaben mehr bei den
Weisen, weil irgendwie wars doch zu langweilig da, meint ihr nicht?

Zarniya, die leider keine Typos bearbeiten kann :)))))

-----------------------------------------------------------------------------



Re: Re: Schwarzer Schluessel (Paracelsus,  5. Jul 1998, 21:24:03):
~#! rn=Key rt=899190256 rg=d.wald
~#! tid=899063807
So, die schwarze Tuer kann jetzt wieder mit dem schwarzen Schluessel
geoeffnet werden.
Frohes Sterb^H^H^H^H^H^H^H^H^H^H^H^HViel Spass,
Paracelsus.

-----------------------------------------------------------------------------



Drakonieroberpriester (Paracelsus,  9. Nov 1998, 23:10:33):
Hi.

Der DOP in der Parawelt hat ein neues Spielzeug dabei.

Para*.

-----------------------------------------------------------------------------



Schattenaxt (Paracelsus, 15. Nov 1998, 21:15:09):
Die Schattenaxt hat sich ein klein wenig geaendert.

Para.

-----------------------------------------------------------------------------



Spalt in einer Felswand (Paracelsus, 27. Nov 1998, 18:22:25):
Ums kurz zu machen: Neuer raum, neues Monster. Froehliches Sterben.

Paracelsus.

-----------------------------------------------------------------------------



nix neues im Wald (Gundur,  2. Dez 1998, 13:03:25):
Hi
Ein grosser Meteorit oder sowas ist auf das Haus der Farben und das Skowedorf
gefallen und hat alles Leben ausgehaucht.
Wir Waldbewohner trauern alle um das schoene Gebiet.
Moege die Macht mit euch sein.
i.A.
Gundur

-----------------------------------------------------------------------------



Re: nix neues im Wald (Songoku,  2. Dez 1998, 13:07:51):
~#! rn=Gundur rt=912603805 rg=d.wald
~#! tid=912603805
Wieso weshalb warum????
Sayonara!

-----------------------------------------------------------------------------



Re: Re: nix neues im Wald (Patryn,  2. Dez 1998, 13:10:58):
~#! rn=Songoku rt=912604071 rg=d.wald
~#! tid=912603805
na warum wohl, erst denken dann schreiben.
ich dachte, eng mit dem mud verknuepfte gebiete duerfen nich auf geheiss
eingeschnappter ex-magier abgeklemmt werden: zumindest das haus der farben
existiert schon so lange, dass es eine menge verweise auf diese gegen in
objekten/raeumen anderer magier gibt.
so langsam kapier ich die entscheidungen der hiesigen erzmagierriege
in hinsicht auf yantro ueberhaupt nicht mehr.

------
patryn

-----------------------------------------------------------------------------



Re^3: nix neues im Wald (Gundur,  2. Dez 1998, 13:14:03):
~#! rn=Patryn rt=912604258 rg=d.wald
~#! tid=912603805
Welche Verweise aus anderen Gebieten gibt es bitte?
Und zweitens war das keine 'Erzmagierriegen' Entscheidung sonder
Yantro/Zarniya wollte das so..
So what?! Erst denken dann reden oder?
G.

-----------------------------------------------------------------------------



Re^4: nix neues im Wald (Sharia,  2. Dez 1998, 13:15:46):
~#! rn=Gundur rt=912604443 rg=d.wald
~#! tid=912603805
ich dachte immer, dass geloeschte Magier keinen Zugriff auf ihren Code haben
und mit ihrer loeschung saemtliche Rechte an das MUD .. also an die
Gemeinschaft .. oder an den Verein abgetreten haben ... dachte ich halt so ..
Sharia

P.S.: ich finde es echt schade dass Yantro das so will ... ich fand vorallem
das Skowedorf echt klasse ... tja .. sonst haette ich nich auch da nen Haus
gehabt .......


-----------------------------------------------------------------------------



Re^3: nix neues im Wald (Boing,  2. Dez 1998, 13:16:29):
~#! rn=Patryn rt=912604258 rg=d.wald
~#! tid=912603805
In diesem Fall ist die Entscheidung ganz klar: Wenn ein Magier moechte,
dass sein Gebiet abgehaengt wird (aus welchen Gruenden auch immer),
dann wird dieser Wunsch respektiert sofern es kein 'zentrales' Gebiet
(z.B. Port Vain, die Hochebene oder eine Gilde) ist.
  Boing

-----------------------------------------------------------------------------



Re^4: nix neues im Wald (Patryn,  2. Dez 1998, 13:16:47):
~#! rn=Gundur rt=912604443 rg=d.wald
~#! tid=912603805
wahrscheinlich bist du zu selten da, als dass du die x-mal gefaellte
diskusionsentscheidung: alte gebiete gehen in mud-besitz ueber, wenn der
magier weg ist, kennen wuerdest. ok ok, wir koennen das extra fuer dich noch
mal ausdiskutieren.
und sicher spielst du auch viel zu viel, um die verweise aus anderen gebieten
zu kennen...das sind wohl einfach zu viele infios auf einmal, da muss man
sowas natuerlich auch vergessen.
den rest deiner polemik lasse ich mal unkommentiert, koennte sonst in
beleidigungen ausarten.

------
patryn

-----------------------------------------------------------------------------



Re^4: nix neues im Wald (Belgariad,  2. Dez 1998, 13:17:11):
~#! rn=Boing rt=912604589 rg=d.wald
~#! tid=912603805
Auch wenn damit ne Gildenquest verloren geht?

-----------------------------------------------------------------------------



Re^5: nix neues im Wald (Lena,  2. Dez 1998, 13:21:18):
~#! rn=Belgariad rt=912604631 rg=d.wald
~#! tid=912603805
Was ist mit den ZTs? Kriegen wir neue Sprueche?

Lena

-----------------------------------------------------------------------------



Re^6: nix neues im Wald (Rikus,  2. Dez 1998, 13:23:55):
~#! rn=Lena rt=912604878 rg=d.wald
~#! tid=912603805
Ja, 75% davon habe ich schon in neue gewandelt, den Rest stelle ich
bsi heute abend um.

Rikus

-----------------------------------------------------------------------------



Re^5: nix neues im Wald (Dancer,  2. Dez 1998, 13:31:38):
~#! rn=Patryn rt=912604607 rg=d.wald
~#! tid=912603805
Der einzige, der hier beleidigend wird, bist Du. Ich denke, Boings Aussage zu
der Thematik, war kurz genug um eindeutig zu sein, also mach Gundur nicht
dafuer an, dass ein eingeschnappter Ex-Mag Dich/Euch dazu zwingt, Aenderungen
an bestehenden Files vorzunehmen.

Im Uebrigen gab es bei der Erstellung von Yantros Files hoechstwahrscheinlich
noch keine Regelung ueber die Handhabung von Gedankengut ausgeschiedener
Magier, womit nachtraeglich auch nicht darueber entschieden werden kann -
jedenfalls nicht in anderen Medien. Und wer behaupten will, dass es im Mud
'etwas anderes' ist, der hat unrecht.

Dancer

-----------------------------------------------------------------------------



Re^6: nix neues im Wald (Patryn,  2. Dez 1998, 13:37:24):
~#! rn=Dancer rt=912605498 rg=d.wald
~#! tid=912603805
how, boing hat gesprochen. ja, damit kann man jede meinung wirksam abwuergen,
jedenfalls aus deiner sicht. ich glauibe, gundur unternahm als erster
den verzweifelt wirkenden versuch, schnippisch zu wirken. was machst du jetzt
mich dafuer an? nun ja, lassen wir das...
die entscheidung zumindest, dass dieses gebiet abgeklemmt wird, kann nicht
von dem ex-magier allein getragen werden...zumindest habe ich die
regelung betreffs wichtiger gebiete mal so verstanden.
die begruendung, dass dieses gebiet vor festlegung dieser regelung
geschrieben wurde und ihr somit nicht unterliegt, ist schon mehr als
nur ein wenuig naiv. fast alle gebiete, die unter diese regelung
gestellt wurden, duerften dieses problem haben. die hochebene ist gar
aelter als das haus der farben, wuerd ich meinen...

------
patryn

-----------------------------------------------------------------------------



Re^4: nix neues im Wald (Gnome,  2. Dez 1998, 13:39:46):
~#! rn=Boing rt=912604589 rg=d.wald
~#! tid=912603805
"Wenn ein Magier moechte..."

seit wann ist Yantro wieder magier? hab ich was verpasst?
ausserdem IST das haus der farben ein zentrales gebiet. zentraler ist wohl
nur noch pv oder he. ueber das skowedorf kann man sich streiten, aber auch
um diese gegend ist es bestimmt schade.

die entscheidung, dieses gebiet so einfach abzuhaengen, kann ich daher nicht
ganz nachvollziehen.
auf der anderen seite gebuehrt zarniya meine vollste hochachtung.
nachdem ihr antrag auf restaurierung abgelehnt wurde, verhaelt er sich in
etwa so: "was? ich darf nicht mehr im sandkasten mitspielen? nie wieder?
nagut, dann gebt mir alle meine foermchen zurueck, auf der stelle!"

ganz toll, zarniya, ganz toll.

gnOme

-----------------------------------------------------------------------------



Re^7: nix neues im Wald (Dancer,  2. Dez 1998, 13:41:36):
~#! rn=Patryn rt=912605844 rg=d.wald
~#! tid=912603805
Den ersten Teil der Antwort ignoriere ich jetzt mal, weil er recht unsachlich
ist, ich habe Dich nicht angemacht.

Was Deine quasi juristische Aussage angeht, liegst Du allerdings falsch. Du
kannst Dich auf den Kopf stellen, aber solange Du kein schriftliches
Uebergabe- oder Einverstaendnisschreiben von Yantro hast, gehoert weder dem
Mud, noch dem Verein, noch irgendjemand anderem das Recht an Yantros Files
ausser Yantro selbst.

Willkommen in der Realitaet.

Dancer


-----------------------------------------------------------------------------



Re^5: nix neues im Wald (Dieder,  2. Dez 1998, 13:42:43):
~#! rn=Gnome rt=912605986 rg=d.wald
~#! tid=912603805
Gnome Du sprichst mir aus der Seele ;-)

Dieder

-----------------------------------------------------------------------------



Bitte? (Songoku,  2. Dez 1998, 13:42:45):
Warum bitten wir ihn nicht hoeflich, dass alles wieder angeschlossen werden
darf?
Sayonara!

-----------------------------------------------------------------------------



Re^8: nix neues im Wald (Patryn,  2. Dez 1998, 13:44:47):
~#! rn=Dancer rt=912606096 rg=d.wald
~#! tid=912603805
daraus folgere ich messerscharf, dass die ganze regelung eigentlich
eh null und nichtig ist. hoffen wir allesamt innig, dass keine magier
mit noch zentraleren gegenden die von gnome beschriebene
sandkasten- und foermchen-masche aufgreifen.

------
patryn

-----------------------------------------------------------------------------



Re^7: nix neues im Wald (Key,  2. Dez 1998, 13:44:48):
~#! rn=Patryn rt=912605844 rg=d.wald
~#! tid=912603805
Verdammt nochmal Patryn!
Was ist denn mit Dir los? Ist Dir ne Laus ueber die Leber gelaufen?
Du klingst wie nen kleines Kind dem der Rotz aus der Nase laeuft.

Und an alle anderen, Bevor es Yantro mal wieder schafft, was er wohl schon
geschafft hat hier wieder schlechte Laune zu verbreiten, ES IST ZARNIYA DER
FUER DAS VERANTWORTLICH IST. KEINER SONST! AUCH KEIN ERZ DER NICHT AUF ZARNIYA
HOEREN WOLLTE.

Und jetzt Ende der Diskusion. 

Key

-----------------------------------------------------------------------------



Re^5: nix neues im Wald (Anatol,  2. Dez 1998, 13:46:17):
~#! rn=Gnome rt=912605986 rg=d.wald
~#! tid=912603805
Auf dem Seherkanal wurde - von unauthorisierter Stelle - der Grund fuer
das Ablehnen Yantros Wiederaufnahmegesuchs genannt: "Man hat ihn nicht
haben wollen. Das klingt hart, entspricht aber der Wahrheit am ehesten.
[...]". Unabhaengig davon, wieviel Yantro sich davon selbst zuzuschreiben
hat - nehme ich es niemandem uebel, nach dieser Art von "Tuer zuschlagen"
seine Sachen wirklich zusammenzupacken und wo anders weiter zu entwickeln
und Freude am Programmieren zu finden.

Ich haette nie geglaubt, Yantro irgendwann einmal zu verteidigen.
Schlechtes Zeichen.
Anatol


-----------------------------------------------------------------------------



Re^6: nix neues im Wald (Hreidmar,  2. Dez 1998, 14:12:29):
~#! rn=Anatol rt=912606377 rg=d.wald
~#! tid=912603805
Wie du schon richtig sagtest, Anatol, nannte eine unauthorisierte Stelle den
Grund fuer die Ablehnung auf den Antrag von Zarniya. Also solltest du
vielleicht mal nach dem wahren Grund fragen. Den Erzmagiern jetzt so etwas zu
unterstellen ist auch nicht die feine englische Art.

Abgesehen davon will niemand Zarniya das Recht auf die Dateien, die von Yantro
programmiert wurden nehmen. Aber warum muessen die Gebiete ABGEHAENGT werden,
wenn Zarniya an anderer Stelle daran arbeiten will? Alle Magier hier im MG
arbeiten ehrenamtlich, d.h. ohne Bezahlung. Alle leisten etwas zum Wohl der
Allgemeinheit der Mudder. Wenn ich fuer einen Verein, dem ich angehoere, eine
Leistung erbringe, kann ich auch nicht sagen: Leute, ich will jetzt zu einem
anderen Verein wechseln, rueckt mal schnell meine gesamte Arbeit raus (Punkte,
die eine Mannschaft in der Tabelle voran gebracht haben, Arbeitskraft bei der
Renovierung des Vereinslokals usw.). So sieht Zarniyas Wunsch nach Abhaengen
der Gebiete einfach zu sehr nach Revanche-Foul aus. Nur dass Zarniya damit
nicht die Erzies trifft, sondern die Spieler...

Hreidmar

-----------------------------------------------------------------------------



Re^7: nix neues im Wald (Patryn,  2. Dez 1998, 14:21:24):
~#! rn=Hreidmar rt=912607949 rg=d.wald
~#! tid=912603805
der vergleich mit dem verein hinkt in unserem fall, dort wuerde der vorstand
gegen ein solches verhalten einschreiten. ich z.B bin in einem
fliegerverein und leiste meine baustunden als flugzeugtechniker.
waere schon lustig, wenn ich austrete und mal eben die von mir angebrachten
sicherungen und verleimungen wieder entferne :)
nun ja...hier ist das alles natuerlich ganz anders.

------
patryn

-----------------------------------------------------------------------------



Re^7: nix neues im Wald (Jiddu,  2. Dez 1998, 15:18:43):
~#! rn=Rikus rt=912605035 rg=d.wald
~#! tid=912603805
bereits geholte gehn aber nicht verlohren oder ..?

-----------------------------------------------------------------------------



Re^7: nix neues im Wald (Lena,  2. Dez 1998, 18:15:53):
~#! rn=Hreidmar rt=912607949 rg=d.wald
~#! tid=912603805
dreizeiler?
Nun ja, da muss ich Hreidmar Recht geben...
Lena. (doch Dreizeiler.)

-----------------------------------------------------------------------------



Re^8: nix neues im Wald (Padreic,  2. Dez 1998, 18:20:33):
~#! rn=Patryn rt=912608484 rg=d.wald
~#! tid=912603805
Auch wenn ich mich aus dieser Diskussion ja eigentlich raushalten wollte,
ueberkommt es mich dann doch mal wieder.... *seufz*

Erstens, Yantro wurde nie geloescht er hat sich absolut freiwillig geloescht
und ich vermute auch mal das er dabei durchaus einen Hintergedanken hatte,
naemlich dadurch nochmal unfrieden zu saehen. Die Artikel die er seitdem als
Zarniya geschrieben hat, bestaetigen mich in dieser Ansicht nur.
Zweitens, das restaurieren eines geloeschten Magiers/Spielers ist eine
absolut nicht selbstverstaendliche Gefaelligkeit (das wurde erst vor kurzer 
Zeit nochmal eindeutig klargestellt) und es hat auch bereits einige Spieler 
getroffen die sich in kollektivem Wahnsinn geloescht haben.
Drittens, so wenig ich vom loeschen von angehaengten Gebieten halte (da ich 
es fuer eine absolut kindische Trotzreaktion halte) bin ich dennoch der
Meinung, das dies eines der elementaren Grundrechte eines jeden Magiers sein 
und bleiben sollte, denn alles was ich progge ist und bleibt vollstaendig   
mein geistiges Eigentum fuer das ich auch nie etwas bekommen habe. (Dies
gilt selbstverstaendlich nicht fuer arbeiten an der mudlib oder grundlegenden
Objekten die auch gerade deshalb nicht mehr im Magierverzeichnis sondern im
globalen Regionsverzeichnis liegen). Ausserdem, wieso proggt man ueberhaupt 
ein Gebiet? Weil man hofft das Spieler es besuchen und diese dort dann auch 
Spass haben man ihnen also eine Freude macht. Ein Gebiet das man nie in
Aktion sieht ist voellig nutzlos und wohl auch ziemlich frustierend. Meiner 
Meinung nach gewinnt Yantro dadurch absolut nichts, aber wenn er es fuer
sein Ego braucht, soll er es haben. Die Welt geht davon nicnt unter denn es
gibt noch Unmengen von anderen Gebieten.

Padreic

-----------------------------------------------------------------------------



Re^5: nix neues im Wald (Qitess,  2. Dez 1998, 19:21:13):
~#! rn=Gnome rt=912605986 rg=d.wald
~#! tid=912603805
na, entschuldige mal, gnome, so wie du das schreibst, wuerde ich genau wie
zarniya/yantro handeln. darf ich nicht mehr mitspielen, dann duerfen die
anderen auch nicht mit meinen foermchen weiterspielen, waer ja noch
schoener...
nee, aber ansonsten finde ich es eigentlich immer schade bis beschissen, wenn
ein magier/ex-magier seine sachen abhaengt (von daher, gnome, stimme ich dir
zu, es ist aber ein sehr merkwuerdiger vergleich mit dem sandkasten ;) ), weil
er eben nicht mehr magier sein darf (oder will, soll es ja auch geben) oder
ihm irgenwas am mg nicht mehr gefaellt.
ja. so sehe ich das. ich denke, man sollte tatsaechlich einen dahingehenden
passus in den magiervertrag aufnehmen. vielleicht waere es auch nicht
schlecht, gegenden/npcs/quests/gegenstaende, die schon eine bestimmte zeit
angeschlossen sind (muesste man drueber nachdenken, ab wann sowas
alteingesessen ist), irgendwie loeschgeschuetzt abzuspeichern. oder so.

QI** meint nur mal so.

-----------------------------------------------------------------------------



Re^6: nix neues im Wald (Acrimon,  2. Dez 1998, 21:32:54):
~#! rn=Qitess rt=912626473 rg=d.wald
~#! tid=912603805
Wenn es ueber Software geht, dann sind die Begriffe "Eigentum", "Besitz",
"zurueckfordern", "ausleihen" usw. grundverkehrt.
Denn:
Wenn Yantro sein Gebiet zurueckfordert, dann bekommt er es (naemlich den
Sourcecode seines Gebietes), aber damit ist der Sourcecode im MG noch lange
nicht geloescht.
"ausleihen" geht sowieso nicht, denn wer leiht schon Sourcecode dadurch her,
dasz er ihn auf seinem eigenen Rechner loescht? Man kann hoechstens eine Kopie
weitergeben, aber das ist dann auch kein "ausleihen" mehr.

Man kann solcherlei Terminologie nicht aud Software anwenden.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^8: nix neues im Wald (Teddy,  2. Dez 1998, 22:20:15):
~#! rn=Key rt=912606288 rg=d.wald
~#! tid=912603805
Jepp, seh ich aehnlich.
Im Prinzip ist es doch so, den groessten Gefallen den ihr Yantro tun koennt,
is jetzt darueber zu lamentieren, dass das Zeugs abgehasengt wurde.
OK, es war nett, es war auch mal was fuer Anfaenger und fuer Groessere
gleichzeitig, sehr stimmungsvoll und sogar nette tools drin, aber:
Unterm Strich: SCHEISS DRAUF!!!

Wer wie Yantro der Meinung ist, sein eigenes Verhalten, das er selber als
falsch anerkannt gehabt hat und die brteite Ablehnung die ihm entgegentritt so
'ahnden' zu muessen, zeigt das seinen Entwicklungsstand und seine geistige
Reife wohl in aller Deutlichkeit.
Anstatt in den letzten 11 Monaten sowas wie Groesse und Reife zu ezigen hat er
zu jedem Zeitpunkt miese Stimmung verbreitet und versucht es jetzt meiner
Meinung nach mit kollektiver Erpressung.
Zum Glueck scheint noch keiner auf die Idee gekommen zu sein, seine
restaurierung im Austausch der Files zu verlangen.
Goennt ihm dann doch bitte auch den anderen Triupoh nicht, wieder Unmut und
Unfriden gestiftet zu haben.

Tedy, als Chaot fuer Frieden und Harmonie stimmend ;)

-----------------------------------------------------------------------------



Re^9: nix neues im Wald (Belgariad,  2. Dez 1998, 22:26:28):
~#! rn=Teddy rt=912637215 rg=d.wald
~#! tid=912603805
Tja leute es gibt nix zum trauern. Ersatz fuer die Stiefel jibbet mehr als
genug. Zum Beispile Morgoths Schuhe sind recht einfach zu bekommen. Naja 1
oder 2 Tode mehr.... was solls. Key sagt die geben Stups (die Tode) ;). Also
lasst uns diese Diskussion beenden oder nur noch im stillen weiterfuehren
damit Yantro seinen scheinbaren Triumph nicht feiern kann.

-----------------------------------------------------------------------------



Re^9: nix neues im Wald (Morgoth,  2. Dez 1998, 22:32:03):
~#! rn=Teddy rt=912637215 rg=d.wald
~#! tid=912603805
Hey, Du muddest mit telnet. Dein tf-typokorrektur-send-hook tut nicht.

Ich hab ja lange gewartet und lange ueberlegt, ob ich ueberhaupt etwas
schreibe, aber es muss einfach sein.
Ihr scheint es alle irgendwie nicht so ganz zu peilen, worum es Yantro bei
seinen Artikel, die ja ach so grauselig und boese waren, eigentlich ging. So
wie ich das mitbekommen habe, war es einfach nur ein Kampf gegen die
'Ungerechtigkeit' hier im MUD. Es stinkt ihm (und mir nicht viel weniger),
dass ein paar Obertrottel, auch Erzmagier genannt, die volle Kontrolle und
absolute Macht haben.
Ich stehe immer noch voll hinter ihm und werde ihn, soweit es meine Grenzen
erlauben, unterstuetzen.

Yantro for MagierLevel 222 !!!

Morgoth

P.S.: Morgoth streckt den Erzies die Zunge raus und wartet auf einen Beweis
der Unfa^h^h^h^hMacht der Erzmags.

-----------------------------------------------------------------------------



Re^10: nix neues im Wald (Tunixgut,  3. Dez 1998, 10:36:30):
~#! rn=Morgoth rt=912637923 rg=d.wald
~#! tid=912603805
Naja, jetzt ist hier so viel gesenft worden, dass ich mich auch net mehr
zurueckhalten kann! ;o)
Zunaechst einmal finde ich Yantros Entscheidung genauso Scheisse, wie die
meisten vor mir auch, auch weil ich denke, das Haus der Farben WAR DEFINITIV
eine sehr zentrale Stelle im MG und die Skowe waren einfach klasse!
MIR wird an dieser Stelle nur recht flink bewusst, das Yantro einer der
wenigen Leute war, die echt noch was geproggt haben fuer's MG, wo andere sich
auf ihren Leveln ausruhen...
Auf der anderen Seite frage ich mich, was hier immer gegen Yantros Geflame
gemosert wird, als wenn er der einzige waere, der hier ziemlich direkt
schreibt, was er denkt. Mir fallen da auf Anhieb noch ein halbes Dutzend
weitere Leute ein. und ein Zehnerpack kommt mit einigem Gruebeln bestimmt noch
dazu. So what?
Und wenn ich jetzt das Geheule hoere: "Trauert dem Scheiss nicht nach, sonst
bekommt Yantro seinen Triumph noch", dann kriege ich das kalte Kotzen. Wenn
Yantros Gebiete so ein Scheiss gewesen waeren, dann taete keiner heulen...

's Karate-Zwerchle - behaelt Yantro in guter Erinnerung...

-----------------------------------------------------------------------------



Re^7: nix neues im Wald (Puk,  3. Dez 1998, 17:04:52):
~#! rn=Hreidmar rt=912607949 rg=d.wald
~#! tid=912603805
na das ist mal ne meinug die mir zusagt. das ganze sieht wirklich aus wie
"wenn ich nicht darf, darf keiner " Ich finde es schade das sich Stimmungen so
schnell aendern. Irgendwann muss es Yantro doch auch spass gemacht haben das
ganze zu proggen und was hat er jetzt noch weiter davon ? natuerlich kann er
es im anderen Mud austellen, aber das ist nicht das gleiche finde ich.
deswegen muss ich sagen das man hier wirklich uebr gar nichts mehr erstaunt
sein darf .
deswegen muss ich sagen das man hier wirklich uebr gar nichts mehr erstaunt
sein darf .
Puk (faende es schade wenn es weiter so geht)

-----------------------------------------------------------------------------



et in terra pax (Bottom,  3. Dez 1998, 18:44:10):

Dabei waere das Problem doch sooo leicht zu loesen...
Yantro hat eine E-Mail-Adresse und die ist sogar bekannt. Warum schreibt nicht
einer der Entscheidungstraeger dieses unseres MorgenGrauens eine nette Mail an
Yantro, drueckt sein Bedauern ueber das Gelaufene aus, sagt, dass alles nur
ein riesengrosses Missverstaendnis war und bietet Yantro volle Rehabilitation?
Sicher ist Yantro eitel genug, darauf einzugehen...das MorgenGrauen bekaeme
die abgehaengten Gebiete zurueck und einen kreativen Progger obendrein. Zu
wuenschen waere es!
Probleme sehe ueberhaupt keine bei dieser Vorgehensweise, schliesslich sagt
ein altes und immer wieder bestaetigtes Sprichwort, dass der Kluegere
nachgibt, und es will doch niemand duemmer sein als Yantro, oder???

Bottom - zuckersuess

PS: Ich schlage Rumata vor, der soll das machen...kaeme bestimmt gut!



-----------------------------------------------------------------------------



Re: et in terra pax (Azzuro,  3. Dez 1998, 18:47:23):
~#! rn=Bottom rt=912710650 rg=d.wald
~#! tid=912710650
ENTHAUPTET BOTTOM WEGEN GOTTESLAESTERUNG!

Sich in dieser Art und Weise ueber seine Goettinnen lustig machen....
Oder noch besser waere entmannen als Strafe.

Azzuro, ueberzeugt dass Rumata weiblich ist.

-----------------------------------------------------------------------------



was lernen wir draus? (Wurzel,  3. Dez 1998, 19:12:44):
hm...
sehr bedenklich das ganze. man stelle sich vor, boing aergert sich ueber
was und will, dass alles was von ihm kommt rausgenommen wird...

in einem anderen mud, wo ich seit einiger zeit nichts mehr mache, sind von
dem zustaendigen regionsmagier alle meine files in ein allgemeines directory
uebertragen worden. eigentlich nicht schlecht, die regelung.

man sollte ueberlegen, ob nicht prinzipiell gebiete, die seit einiger zeit
angeschlossen sind und deren entwicklung fertig ist, in sowas wie z.b.
/d/wald/allgemein/ transferiert werden sollten. falls doch noch was dran zu
tun ist, kann man das ueber zugriffsrechte machen.

mit der uebertragung waere dann auch gleich die frage der rechte daran
geklaert. der code geht in allgemeineigentum ueber, was aber
nicht die moeglichkeit des magiers einschraenkt, seinen kram noch woanders
anzuschliessen.

mit so einer loesung koennte man eines der themen ein fuer alle mal beenden,
die mit unschoener regelmaessigkeit immer wieder in der mpa auftauchen.
bei manchen themen kann man sich ja prima drueber amuesieren, dabei aber
nicht.

comments?

wurzel

-----------------------------------------------------------------------------



Re: was lernen wir draus? (Bottom,  3. Dez 1998, 19:45:29):
~#! rn=Wurzel rt=912712364 rg=d.wald
~#! tid=912712364

Warum nicht?

Bottom feixt.


-----------------------------------------------------------------------------



Re: was lernen wir draus? (Gnome,  3. Dez 1998, 20:06:58):
~#! rn=Wurzel rt=912712364 rg=d.wald
~#! tid=912712364
hi,

mich wunderts nur, dass das nicht schon lange im magiervertrag drinsteht.
so was wie: "...verpflichtet sich, alle fertigen und angehaengten files,
dem morgengrauen zum wohle der allgemeinheit zu ueberlassen. das gilt
auch, wenn der autor (ohne "h", anatol :)) aus welchen gruenden auch
immer, das MG verlaesst. die autorenrechte liegen bis auf widerruf des
autors beim autor selber."
so oder so aehnlich, ist doch gar net so schwer, oder?

wer bauts ein?

gnOme

ps: proggt jmd ein "haus der farben II" incl. "atalan II" etc? terrorist? :)

-----------------------------------------------------------------------------



Re^11: nix neues im Wald (Teddy,  3. Dez 1998, 22:36:59):
~#! rn=Tunixgut rt=912681390 rg=d.wald
~#! tid=912603805
Sorry TNG, aber du hast scheinbar nicht so wahnsinnig viel mitgekriegt von
dem, was gelaufen ist.
is auch unterm Strich voellig wurscht, die Entscheidung zur Loeschung ebenso
wie die, die Sachen abzuhaengen war seine eigene, hat ihn keiner zu gedraengt.
So what? 

Teddy, kotzt auch so einiges an.

-----------------------------------------------------------------------------



Re^10: nix neues im Wald (Hasim,  4. Dez 1998, 10:50:26):
~#! rn=Morgoth rt=912637923 rg=d.wald
~#! tid=912603805
Naja, das bezieht sich jetzt nicht direkt auf den artikel vor mir ,nur so ne
idee.... wenn das haus der farben sooo wichtig ist... naja, frueher, ganz
frueher hab ich mir da den degen geholt..., dann bauts doch wieder auf... muss
ja nicht haus der farben heissen, und statt dem roten oder sontwie weisen
gibts dann halt nen pastellgruenen... so aehnlich wie bei cola und pepsi,
sieht gleich aus, heisst nur anders, (ups ... muesste es nicht statt des...
heissen)....

Naja, was ich eigentlich damit sagen wollte, nicht schreien, aendern!
Hasim, leider nicht programmieren koennend

-----------------------------------------------------------------------------



Re: Re: was lernen wir draus? (Sharia,  4. Dez 1998, 11:02:10):
~#! rn=Gnome rt=912715618 rg=d.wald
~#! tid=912712364

schon dabei :)
Sharia.

-----------------------------------------------------------------------------



Re^3: was lernen wir draus? (Puk,  4. Dez 1998, 14:30:40):
~#! rn=Sharia rt=912769330 rg=d.wald
~#! tid=912712364
ich finde es klasse wenn sharia was unternimmt. Wie ich bereits gedagt habe
faende ich es schade wenn Leute ihr zeug mitnehmen aberdas den Leuten per
Vertrag zu verbieten, naja, das faende ich nicht ganz so toll. Ich meine jeder
sollte selbst entscheiden was er spaeter damit macht, auch wenn es schde ist
wenn ide Files abgehaengt werden. Aber ansonsten muss ich sagen diese
Diskussion geht schon ziemlich lange und aendern kann man nichts.


Puk (sagt make peace not war )

-----------------------------------------------------------------------------



Re^10: nix neues im Wald (Key,  4. Dez 1998, 22:42:51):
~#! rn=Morgoth rt=912637923 rg=d.wald
~#! tid=912603805
Morgoth Morgoth ....
Sorry aber Yantro provoziert. Bis zum Gehtnichtmehr, wenn Du das so toll
findest versteh ich Dich absolut nicht.
Das er dadurch eins drauf kriegt ist verstaendlich denk ich ....

Und die ach so grosse und uneingeschraenkte Macht der Erzies ...
*hust*
Also ich hab damit keine probs das die nen bisserl ueberwachen, aber viel mehr
tun sie nicht.
Und der Vorwurf Muensteraner Pack ist ja auch nimmer so ganz guetlig, oder?

Key

-----------------------------------------------------------------------------



Re^11: nix neues im Wald (Anatol,  4. Dez 1998, 23:24:16):
~#! rn=Key rt=912811371 rg=d.wald
~#! tid=912603805
Wenn Du behauptest, dass Morgoth das ein wenig zu fanatisch sieht, magst 
Du da vielleicht Recht haben. Dass DU aber eine mindestens ebenso extreme
Sicht der Dinge hast, ist Dir das auch bewusst?

Anatol - muss noch Arroganzpunkte sammeln und weiss nicht wie.


-----------------------------------------------------------------------------



Re^12: nix neues im Wald (Saladin,  5. Dez 1998, 16:46:59):
~#! rn=Anatol rt=912813856 rg=d.wald
~#! tid=912603805
Nur so ein Gedanke: ohne die Mudlib waere ein programmieren hier nicht 
moeglich. Stellt sich die Frage wenn man diese allgemeine Vorraussetzung zur
Verfuegung gestellt bekommt, einem wirklich die Rechte an Sourcecode gehoeren.
Und zwar uneingeschraenkt. Ich verweise in diesem Sinne nur z.b. auf 
Properties oder sys Dateien die immer includiert werden.

Saladin

-----------------------------------------------------------------------------



Re^13: nix neues im Wald (Shannara,  5. Dez 1998, 20:18:22):
~#! rn=Saladin rt=912876419 rg=d.wald
~#! tid=912603805
Steht den die Basis-MUDlib nicht unter der GPL? Diese Lizenz ist ja unter
/secure/GPL in der (herunterladbaren) Version vom FTP-Server abgelegt..

Shannara

-----------------------------------------------------------------------------



egion und Yantro (Mahatmu,  8. Dez 1998, 17:34:48):
Das einzige Problem, dass ich hier sehe, ist, dass ein Magier in einer
Gefuehlsaufwallung seine Gebiete eingezogen hat, weil man ihm persoenlich
dumm gekommen ist, so wie er der Menge sonst dumm kommt.
Da er das kaum rueckgaengig machen kann, ohne an Gesicht zu verlieren,
schlage ich vor, dass der Teil der Spieler, den das
Gera gel/Gekungel/Gefasel unter den Magiern einen Schmarrn interessiert,
eine kleine Sammlung an Namenszuegen macht und lieb 'bitte' sagt. Ich
zumindest moechte das Haus der Farben auch mal sehen und ich fand die Skowe
sehr schoen, eines der ersten Gebiete, in das ich mich verirrte.
Wenn mir netterweise jemand die e-mail von Yantro (vielleicht er selbst)
zustellen wuerde an: cbecker@informatik.hu-berlin.de
Jeder Spieler, der ebenso denkt wie ich, kann mir gern dorthin eine Mail
schicken, mit e-mail und MUD-Name.
Mich interessiert wirklich nicht, wie bloed Ihr Magier Euch untereinander
kommt, ich moechte immer mal in huebschen Gebieten mudden ...

Gloin

-----------------------------------------------------------------------------



Re^12: nix neues im Wald (Grimmborn,  8. Dez 1998, 18:54:40):
~#! rn=Teddy rt=912724619 rg=d.wald
~#! tid=912603805
Klar, ich kann das genau vor mir sehen. Wenn Dir jemand grob Unrecht tut (es
geht ja nicht um objektive Wahrheit sondern um subjektives Erleben), dann
gehst Du auch zu demjenigen hin und sagst "OK, Du behandelst mich wie die
letzte Scheisse, aber wenn Du was von dem, was mir gehoert brauchen kannst,
bitte, nimm was Du moechtest."

Entweder bist Du heilig oder scheinheilig. Ich tippe auf letzteres.

Nichtsdestotrotz bin ich durchaus ein Anhaenger der OSS, fuer das ich das MG
eigentlich immer gehalten habe. 

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^13: nix neues im Wald (Teddy,  8. Dez 1998, 22:05:23):
~#! rn=Grimmborn rt=913143280 rg=d.wald
~#! tid=912603805
Wie du mich findest ist mir persoenlich ziemlich schnuppe.

Du setzt allerdings bei mir voraus, das ich nicht in der Lage bin,
persoenliches Empfinden und objektive Tatsachen die mir jemand knallhart ins
Gesicht sagt auseinanderzuhalten.

Ich habe im uebrigen lediglich festgestellt, was ich von seinem Verhaltenb
halte, ich kanns nachvollziehen und es ueberrascht mich nichtmal, aber ich
muss es nicht gut finden.
Es ist und bleibt in meinen Augen kindisch.
Leb damit oder lass es.


Teddy

-----------------------------------------------------------------------------



Re^14: nix neues im Wald (Grimmborn,  9. Dez 1998, 10:18:50):
~#! rn=Teddy rt=913154723 rg=d.wald
~#! tid=912603805
Ich setze allerdings vorraus, dass Du nicht in der Lage bist, persoenliches
Empfinden und objektive Tatsachen vollstaendig auseinanderzuhalten. Ohne Dich
naeher zu kennen. Mir ist bisher noch niemand begegnet, der das koennte, und
Du bist da sicher keine Ausnahme.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Vagnard (Paracelsus, 24. Dez 1998, 15:27:49):
Da der liebe Vagnard in letzter Zeit offenbar einige Dinge gemacht hat,
die er eigentlich nicht machen sollte, musste ich doch mal ein ernstes
Wort mit ihm reden.

Frohest Ster^H^H^H^HFest,
  Para*.

-----------------------------------------------------------------------------



Das Abenteuertagebuch funktioniert wieder (Leusel, 23. Apr 1999, 11:03:58):
Hiho!

Das Abenteuertagebuch aus der 'Fluch der Weisheit' Quest sollte jetzt wieder
funktionieren. Dank an Tomator, Tiamak und M* fuer Bugreports.

Leusel

-----------------------------------------------------------------------------



Re: Das Abenteuertagebuch funktioniert wieder (Gor, 23. Apr 1999, 11:21:48):
~#! rn=Leusel rt=924858238 rg=d.wald
~#! tid=924858238
Funktionieren tut es. Nur fehlen die Daten der letzten Abenteuer. Mein letztes
war im November letzten Jahres ;))

Gor isses aber auch Wurscht obs tut oder nich.

-----------------------------------------------------------------------------



Neuer (alter) Regionsmagier (Boing, 26. Mai 1999, 09:39:04):
Paracelsus ist wieder in den Schoss des Waldes zurueckgekehrt und
uebernimmt wieder die Aufgaben eines Regionsmagiers.
  Boing

-----------------------------------------------------------------------------



Gruene Robe (Paracelsus, 26. Jun 1999, 23:08:40):
Hi.

Ich hab mich mal dazu ueberreden lassen, die gruene Robe etwas
haltbarer zu machen.

Para*.

-----------------------------------------------------------------------------



Re: Zeitvertreib (Paracelsus,  5. Jul 1999, 16:18:04):
~#! rn=Tiamak rt=931182172 rg=d.ebene
~#! tid=931182172
Hi.

Und fuer den Fall, dass sich tatsaechlich mal 4 oder mehr Leute
zusammenfinden, um etwas zu spielen, gibts bei mir im Drakowald eine
kleine Huette, wo man mit 4 bis 10 Leuten Rage spielen kann.

Paracelsus.

-----------------------------------------------------------------------------



Re: Re: Zeitvertreib (Paracelsus, 10. Jul 1999, 21:21:16):
~#! rn=Paracelsus rt=931184284 rg=d.wald
~#! tid=931182172
Hi.

Kleines Rage-Update (Ebene [Rage:], "bediene", zwischendurch aussteigen)

Para*

P.S.: Nein, Hobo, das Spiel faengt immer noch mit 10 Karten an.

-----------------------------------------------------------------------------



Chilana (Silvana, 11. Jul 1999, 13:41:29):
Salve

Ich hab eben versucht, Chilana beizubringen, wie sie zukuenftig mit der
Padreicschen Sicherheitslogik umzugehen hat. Gar nicht so leicht, der alten
Dame so was beizubringen... Sollte sie in all dem Durcheinander etwas
vergessen haben, seid bitte so gut und verzeiht es ihr genaedig...? Wenn ihr
schon wen schlagen muesst... Ihr wisst schon wen... :)

Silvana

-----------------------------------------------------------------------------



Re^3: Zeitvertreib (Hobo, 12. Jul 1999, 11:22:14):
~#! rn=Paracelsus rt=931634476 rg=d.wald
~#! tid=931182172
Schaaade,
Es waer so schoen, wenn man mal eben in einer halben Stunde ein Spielchen
unterbringen wuerde...
EIGENTLICH sollte ich ja tagsueber arbeiten und nicht spielen...

  Hobo

P.S.: Wird's denn ueberhaupt irgendwann weniger als 10 Karten am Anfang geben?

-----------------------------------------------------------------------------



Re^4: Zeitvertreib (Paracelsus, 12. Jul 1999, 12:51:14):
~#! rn=Hobo rt=931771334 rg=d.wald
~#! tid=931182172
Nun, theoretisch koennte man noch einen zweiten Raum machen, in dem 
dann sozusagen "Mini-Rage" gespielt wird.

Para*

-----------------------------------------------------------------------------



Re^5: Zeitvertreib (Paracelsus, 31. Jul 1999, 21:02:35):
~#! rn=Paracelsus rt=931776674 rg=d.wald
~#! tid=931182172
Ok, also extra fuer Omi im Keller des Kaffeezimmers:
   Hardcore-Mini-Rage

Faengt bei 7 Karten an, die Farbkarten gehen nur noch von 0 bis 9,
spielbar mit 3-8 Spielern. Ach ja, und von den "+5"ern und "-5"ern
gibts 3 statt 2.

Para*.

-----------------------------------------------------------------------------



Re^6: Zeitvertreib (Hobo,  2. Aug 1999, 11:29:39):
~#! rn=Paracelsus rt=933447755 rg=d.wald
~#! tid=931182172
Weia, + und -5 dreimal?

Gitb's denn auch eine andere Topliste, oder gar keine dafuer (my favorite)?

  Oma - mag Hardcore-Mini-Rage

-----------------------------------------------------------------------------



Re^7: Zeitvertreib (Paracelsus,  2. Aug 1999, 13:26:31):
~#! rn=Hobo rt=933586179 rg=d.wald
~#! tid=931182172
Hat ne eigene Topliste.

Para*

-----------------------------------------------------------------------------



Neues ... (Paracelsus,  2. Aug 1999, 14:13:53):
... vom Jaeger im Glockenwald. Aber seht selbst.

Para*.

-----------------------------------------------------------------------------



Gruene Robe (Paracelsus,  4. Aug 1999, 14:43:35):
Hi.

Also nach dem Reboot sollte die gruene Robe jetzt endlich so lange
halten, wie sie wirklich soll, und nicht nur 4h.

Para*.

-----------------------------------------------------------------------------



Re: Gruene Robe (Paracelsus,  4. Aug 1999, 18:46:08):
~#! rn=Paracelsus rt=933770615 rg=d.wald
~#! tid=933770615
Wobei ich vielleicht noch erwaehnen sollte, dass mir bei Vagnard noch
eine kleine Gemeinheit eingefallen ist ...
Aber ihr werdet schon sehen ;)

Para*

-----------------------------------------------------------------------------



Ein kleiner Pfad... (Yoru, 13. Aug 1999, 09:12:28):
Hallo liebe Opf^H^H^HSpieler.

Es scheint, als habe sich am Westweg ein neuer, kleiner Pfad aufgetan.
Wo mag er hinfuehren? Welche Gefahren lauern dort?
Nun, ihr werdet schon sehen. Aber lasst euch sagen: Alleine werdet ihr
nicht weit kommen.

Yoru.

-----------------------------------------------------------------------------



Re: Ein kleiner Pfad... (Thufhir, 13. Aug 1999, 11:54:38):
~#! rn=Yoru rt=934535548 rg=d.wald
~#! tid=934535548

hmmm, ich bin zwar ne mehrfach testierte wurst, aber ich frage mich, was einen
magier dazu bewegen kann, so einen absoluten mist zu programmieren.

nur eine meinung, thufhir

-----------------------------------------------------------------------------



Re: Re: Ein kleiner Pfad... (Yoru, 13. Aug 1999, 12:00:22):
~#! rn=Thufhir rt=934545278 rg=d.wald
~#! tid=934535548
Worin besteht denn Dein Problem?
Darin, dass Du ploetzlich in einem Sumpf stehst? Dass Du im ersten Raum
mit dem Befehl "unt" den Weg nicht findest und daraus schliesst, dass
a) das dann wohl in keinem anderen Sumpfraum helfen wird.
b) es garantiert keinen anderen befehl gibt, mit dem man den Weg finden
   kann und Du es deshalb nur mit "trial & error" versuchen kannst?

Wenn das Dein problem ist, dann attestiere auch ich Dir, dass Du eine
Wurst bist.

Yoru.

-----------------------------------------------------------------------------



Re^3: Ein kleiner Pfad... (Thufhir, 13. Aug 1999, 12:01:42):
~#! rn=Yoru rt=934545622 rg=d.wald
~#! tid=934535548

nur ein testat mehr. *zuck*

-----------------------------------------------------------------------------



Re^4: Ein kleiner Pfad... (Patryn, 13. Aug 1999, 12:06:44):
~#! rn=Thufhir rt=934545702 rg=d.wald
~#! tid=934535548
was solls, ein sumpflabyrinth mehr oder weniger...muss ja keiner hingehen.
war man sich nicht halbwegs einig, nicht labyrinth 7243 zu proggen, wenn
moeglich? na ja, irgendwie ne beliebte programmieridee :)

------
patryn

-----------------------------------------------------------------------------



Re^5: Ein kleiner Pfad... (Sting, 13. Aug 1999, 17:20:55):
~#! rn=Patryn rt=934546004 rg=d.wald
~#! tid=934535548
Also ich schliesse mich Thufhir leider an. Ich finde den Tonfall zwar nicht
ganz ok, aber der Inhalt ist richtig. Ich hab es mir angesehen und muss dazu
sagen: Solche Gebiete sollten eigentlich laengst mega-out sein, man siehts am
Beispiel vom Sumpf suedlich von PV, da geht auch keiner hin weils einfach NUR
nervig ist. Naja, vielleicht laesst sich der Sumpf ja noch ein wenig aendern
oder wenigstens kleiner machen, denn das ist schon recht gross...

Sting

-----------------------------------------------------------------------------



Re^6: Ein kleiner Pfad... (Taragon, 15. Aug 1999, 18:33:44):
~#! rn=Sting rt=934564855 rg=d.wald
~#! tid=934535548
AOL.

Ich denke, das ist nur ein weiterer unnoetiger "lassen wir die armen spieler
mal wieder hundertfuenfundzwanzigtausendsiebenhundertachtundsechzig
verschiedene sachen machen nur um aus der
dreitausendfuenfhunderteinundvierzigsten labyrinthgegend rauskommen zu
koennen"
Raum. Da haette man echt mal was proggen sollen, wo auch ein spieler hingeht.
Da lobe ich mir die neue FE, da gibts wenigstens was zu holen...

Taragon - bisher noch inoffizielle Wurst, aber nahe dran :-)

-----------------------------------------------------------------------------



Re^7: Ein kleiner Pfad... (Nonne, 16. Aug 1999, 07:45:19):
~#! rn=Taragon rt=934742024 rg=d.wald
~#! tid=934535548
Tach,

also ich habe mir den Sumpf angesehen und habe ca. 5 minuten gebraucht das
system zu kapieren. Wenn man den Weg nur einmal finden muss, ist das doch
okay. Nur als ich hinterher mit Niete vor dem Tor stand, alles hatten, was man
braucht (schien zumindest so) und wir die Syntax nicht fanden, um das Tor
aufzumachen, war schon nervig. Einige Syntaxhilfen sind ja da, aber einige
mehr waeren nicht schlecht. z.B. bei lasse los sollte auch lasse Stamm los
moeglich sein. Ansonsten kann ich mir noch keine Urteil erlauben, ich war ja
noch nicht in dem eigentlichen Gebiet. Aber der Sumpf ist wirklich nicht so
tragisch. Mit einigen 'unt <bla>' findet man den Weg da durch doch recht
schnell.
Fazit: Nicht erst aufregen, dann umschauen, sondern andersrum ;-)

Nonne, untersucht auch nicht gern, aber das war kein Problem.

-----------------------------------------------------------------------------



Re^5: Ein kleiner Pfad... (Paracelsus, 16. Aug 1999, 08:09:44):
~#! rn=Patryn rt=934546004 rg=d.wald
~#! tid=934535548
Tja, manche geben sich halt nicht damit zufrieden, einfach nur 2-3
Megamonster willkuerlich in die Gegend zu setzen bzw. rumhuepfen zu
lassen.
Dass ein "Sumpflab" keine neue Idee ist, duerfte auch jedem klar sein.
Da einen Sumpf zwischen zu setzen war urspruenglich meine Idee, die
Yoru uebernommen hat, weil das ganze a) einen kleinen humoristischen
Aspekt hat und b) sogar einen Zweck erfuellt.
Zu Taragons Artikel kann ich nur sagen: Du bist Seher, niemand hindert
Dich daran, Dir einen Magiervertrag geben zu lassen, Magier zu werden
und was "tolles" zu proggen.

Para* - eher amuesiert.

-----------------------------------------------------------------------------



Re^6: Ein kleiner Pfad... (Patryn, 16. Aug 1999, 10:08:02):
~#! rn=Paracelsus rt=934790984 rg=d.wald
~#! tid=934535548
der unterschied ist nur, dass es zu der zeit ausser hydra keine megamonster
gab. inzwischen hat sich das gluecklicherweise geaendert, und das bei
weitem nicht nur wegen meinen sachen.
nervige labs und suempfe gabs hingegen schon damals dutzendweise im
ueberfluss. nichtsdestotrotz wollte ich niemanden angreifen. ich
sagte ja: wer nich hingehen mag, der braucht nicht.
amuesiert scheintst du eher nicht zu sein. da bin ich wohl einem
sekundaerziel unbewusst ueber den schlips gefahren.

------
patryn - eher gelangweilt

-----------------------------------------------------------------------------



Re^7: Ein kleiner Pfad... (Paracelsus, 16. Aug 1999, 11:11:10):
~#! rn=Patryn rt=934798082 rg=d.wald
~#! tid=934535548
Na wenn Du meinst.

Para* - laut Patryn nicht amuesiert.

-----------------------------------------------------------------------------



Re^8: Ein kleiner Pfad... (Lug, 17. Aug 1999, 22:53:10):
~#! rn=Paracelsus rt=934801870 rg=d.wald
~#! tid=934535548

Noch ein Lab? Wieder ne Gegend zu unbequem ;)
Ich finde das voellig legitim sowas zu proggen. Ich hasse es naemlich neue
Wegemacros zu schreiben...

Lug

-----------------------------------------------------------------------------



Das neue Sumpfgebiet (Kamelot, 21. Aug 1999, 20:27:56):
So sch.... Dieses Gebiet auch ist hat es doch einen grossen Nachteil
Wenn man in diesem Sumpf stirbt dann ist alles _alles_ innerhalb von 20
sekunden im Schlamm versackt und unwieder ruflich verloren.
Es ist nicht so das ich was dagegen haette das die Sachen die auf dem Weg
liegen verschwinden aber bitte nicht innerhalb von 20 sekunden in der Zeit
kann man ja nicht mal die Todessequenz hintersich bringen  oder geschweige
denn mit einem zweite die Ausruestung sichern


Kamelot *stink sauer*

-----------------------------------------------------------------------------



Re: Das neue Sumpfgebiet (Apsu, 22. Aug 1999, 00:03:39):
~#! rn=Kamelot rt=935267276 rg=d.wald
~#! tid=935267276
Tja, Zweities sind einerseits geduldet, andererseits nicht so sonderlich gern
gesehen, und andererseits gibts Gebiete, wo man keine andere Wahl hat, als
sich nen Zweitie zuzulegen um im Zweifelsfall sein Zeug zu retten.

Diese Entwicklung finde ich auch ein wenig seltsam. IMUHO

Apsu

-----------------------------------------------------------------------------



Re: Re: Das neue Sumpfgebiet (Grimmborn, 23. Aug 1999, 20:47:18):
~#! rn=Apsu rt=935280219 rg=d.wald
~#! tid=935267276
Versuch mal weniger zud und mehr mud zu spielen.

GdA

-----------------------------------------------------------------------------



Re^3: Das neue Sumpfgebiet (Householder, 23. Aug 1999, 20:49:56):
~#! rn=Grimmborn rt=935441238 rg=d.wald
~#! tid=935267276
oder bessa keins von beiden :-)

-----------------------------------------------------------------------------



Re^4: Das neue Sumpfgebiet (Apsu, 24. Aug 1999, 07:07:33):
~#! rn=Householder rt=935441396 rg=d.wald
~#! tid=935267276
Ach so das muss grad ein daueridelnder horteseherwasweissichwaszweitie
schreiben :)

-----------------------------------------------------------------------------



Re^3: Das neue Sumpfgebiet (Apsu, 24. Aug 1999, 07:14:55):
~#! rn=Grimmborn rt=935441238 rg=d.wald
~#! tid=935267276
Ist aba nicht immer jemand zur Stelle.

Apsu, an den Putzteufel denkend.

-----------------------------------------------------------------------------



Dravi-Felinen (Darkwing, 26. Aug 1999, 10:54:49):
Ich muss jetzt dochmal was zu dem Sumpf schreiben.
Ist ja schoen und gut so ein Lab vor einem Gebiet... und es hat sogar ein
System. Ein wenig Arbeit und man kann durchskripten. Das man dabei gelentlich
eine Krankheit mitbekommt nervt, aber was solls. Jedenfalls hat man die Arbeit
mit diesem Sumpf nur einmal und kann danach dahinter metzeln.
Tja, schoen waers!
Das sich der Sumpf jeden Reboot aendert kann ja kein Mensch ahnen, wer da
durchskriptet hat leider verloren und endet bei Lars deswegen. Ach ja, die
Ausruestung wird auch komplett destructed.

Tja schade um das Gebiet, das Lab hab ich mir einmal fuer die Kills dahinter
angeschaut und dabei bleibts dann wohl. Naja viel Spass mit der Killstatistik,
Yoru , gehn bestimmt noch einige drauf. Und kommen dann nicht wieder :) 

Darkwing

-----------------------------------------------------------------------------



Das Multi und die Realitaet (Smarte, 13. Sep 1999, 13:07:59):
nomen et omen zumindest in diesem Artikel.
Man sollte sich langsam mal die Tatsache vor Augen fuehren das es fuer viele
so ist das sie a: nicht soviele Freunde hier haben (OK, ihr Problem) und b:
nicht immer die Freunde da sind bzw sehr oft die in diesem Moment etwas machen
was fuer sie wichtig ist bzw es ist ihnen einfach nicht moeglich rechtzeitig
da zu sein. Ich habe z.B. das Problem da ich seltener hier bin fast nie Leute
da zu haben den die meisten Spielen schon lange nicht mehr oder sind nur
selten hier.

Ein bisschen Realitaet tut denn suechtigen HLPs mal ganz gut aber ich denke
nicht das das ueberhaupt jemanden da interessiert.

Smarte

-----------------------------------------------------------------------------



Re: Das Multi und die Realitaet (Grimmborn, 13. Sep 1999, 20:09:25):
~#! rn=Smarte rt=937228079 rg=d.wald
~#! tid=937228079
> Ein bisschen Realitaet tut denn suechtigen HLPs mal ganz gut aber ich
> denke nicht das das ueberhaupt jemanden da interessiert.

Das hast Du bemerkenswert treffend ausgedrueckt.

Grimmborn "heul doch!" der Atheist

-----------------------------------------------------------------------------



Gotcha (Smarte, 16. Sep 1999, 11:56:55):
Wenigstens hast DU es gelesen. :)

bis denn

Smarte

-----------------------------------------------------------------------------



Re: Gotcha (Pra, 16. Sep 1999, 14:05:42):
~#! rn=Smarte rt=937483015 rg=d.wald
~#! tid=937483015
das war jetzt der vierte Artikel von Smarte ohne jeden Bezug.
Kann ihm mal jemand die reply-Funktion der MPA erklaeren bitte?

Pra. Hat extra Muell abbestellt, damit er sowas nicht lesen braucht.

-----------------------------------------------------------------------------



Re: Re: Gotcha (Patryn, 16. Sep 1999, 14:28:51):
~#! rn=Pra rt=937490742 rg=d.wald
~#! tid=937483015
du fuerst eine statistik ueber duemmliche artikel?
was ist mit dir los? hast du nix zu tun? :)

------
patryn mit einem beitrag fuer pra's statistik

-----------------------------------------------------------------------------



Re^3: Gotcha (Pra, 16. Sep 1999, 14:44:53):
~#! rn=Patryn rt=937492131 rg=d.wald
~#! tid=937483015
nicht direkt Statistik. Der Ablauf war eher wie folgt:
(und innerhalb ca. einer Viertelstunde)

1. Komischer Artikel. Worauf bezieht der sich? Egal.
2. Oh, noch einer ohne Bezug. Andere Rubrik, anderer thread, na, egal.
3. Was denn, noch einer? Ist der Typ bloed?
4. Argl, *genervt sei*, Artikel schreib. Bis 4 im Kopf nachzaehl.

Pra.

-----------------------------------------------------------------------------



Jeronimoooo! (Paracelsus, 17. Feb 2000, 13:10:23):
Hmm, ich galube, mir ist gerade ein Licht ausgegangen.
Aber weiter vorne scheint ein kleines Objekt zu leuchten.

Paracelsus - raetselhaft

-----------------------------------------------------------------------------



Chilana (Silvana, 29. Jun 2000, 19:23:08):
Salve

Ich hab was fuer die Spielkinder unter Euch: Nachdem ich es leid war, staendig
Typos in Chilanas "kann-ich-nicht-beantworte"-Datei zu finden, hab ich
versucht, das ganze etwas flexibler zu gestalten. Chilana versucht nun, Typos
zu erkennen und mit ihren Daten zu vergleichen. Es _kann_ sein, dass sie dann
sehr seltsame Vorschlaege macht, aber... Naja, probiert es aus. ;-)

  Silvana

-----------------------------------------------------------------------------



Hobbits aufgepasst! (Tilly, 30. Jul 2000, 16:10:05):
Moin moin Pelzkugeln,

Euer Pfeifchen hat eine kleine Veraenderung erfahren, es laesst sich nun
ausschliesslich mit dem Kommando 'stopfe' oder 'stopf' fuellen. Diese
Aenderung wird mit Reboot/Crash oder vergleichbarem aktiv.

Gruss,
              - Tilly -


-----------------------------------------------------------------------------



*RUMMS* (Paracelsus, 21. Aug 2000, 09:57:11):
Du rufts: Baum faellt!
Der Baum faellt mit einem lauten *RUMMS* zu Boden.
Siamil tielt Dir mit: He, das war verdammt knapp! Fast haettest Du unser
Siamil tielt Dir mit: Gebaeude beschaedigt!
Du teilst Siamil mit: Oh. Entschuldigung. Hab ich in dem Nebel gar nicht
Du teilst Siamil mit: gesehen.
Siamil tielt Dir mit: Sag mal, was ist eigentlich mit den ganzen Testies,
Siamil tielt Dir mit: die hier dauernd rumlaufen? Hoert das mal irgendwann
Siamil tielt Dir mit: auf?
Du teilst Siamil mit: Es kommt noch viel schlimmer. Da werden demnaechst
Du teilst Siamil mit: sogar ganz normale Spieler auftauchen. Und manche von
Du teilst Siamil mit: denen wollen gar nichts von Dir, die haben ein ganz
Du teilst Siamil mit: anderes Problem zu loesen.
Siamil tielt Dir mit: Oh je!
Du troestest Siamil aus der Ferne.

Baumfaeller Paracelsus.

P.S.: Auch bei diesem Baum haben natuerlich viele Leute mitgeholfen. Ich
      moechte mich daher bedanken bei: Thanos, Lan, Nachtwind, Sator,
      Telenos, Assassine und Swc.
      Ich hoffe, ich habe niemanden vergessen.

-----------------------------------------------------------------------------



Ausgang Asaniels Baum (Paracelsus,  8. Sep 2000, 21:35:51):
Hi.

Da die Dunkelelfen-Testies sowie ihr Magier offenbar einfach zu bloede
sind (ich hab mir die rasse auf "Dunkelelf" gesetzt und bin problemlos
rausgekommen, da ist schliesslich ein Default fuer unbekannte Rassen
drin), bin ich nun deren Wunsch nachgekommen und habe einen extra
Text fuer Dummelfen eingebaut. Mal schaun, ob sie jetzt in der Lage
sind, den Baum zu verlassen.

Paracelsus - schuettelt nur den Kopf.

P.S.: Und nein, ich werde diesen Text nie nie nie aendern!
      Das habt ihr euch verdient.

-----------------------------------------------------------------------------



Elfenkneipe (Paracelsus, 24. Sep 2000, 21:32:25):
Ich hab mal die Kneipe im Elfendorf etwas "aktualisiert".

Para*

-----------------------------------------------------------------------------



Chilana (Silvana, 29. Sep 2000, 17:59:29):
Salve

Sollte heut irgendjemand seltsame Veraenderungen auf der Liste der Kraeuter
bemerkt haben, die Chilana haben will... Bitte nicht wundern, das hat seine
Ordnung und ist keine Bug, sondern die Behebung eines Bugs. ;-) Sollte es
trotzdem Probleme geben, bitte melden.

  Silvana

-----------------------------------------------------------------------------



*RUMMS* (Paracelsus,  3. Okt 2000, 21:55:28):
Nachdem das Balanceteam es in der Rekordzeit von 3 Monaten und einer
Woche geschafft hat, die Unmenge von neun Gegenstaenden abzunehmen,
ist mal wieder ein Baum umgefallen. Klingt aber seltsam gedaempft
der Fall ... als seis mindestens zwei Ecken entfernt gewesen.

Paracelsus.

-----------------------------------------------------------------------------



PLATSCH! (Silvana,  8. Okt 2000, 17:48:09):
Im Wald ist ein Baum umgefallen.
Hat verdammt lang gebraucht, bis man den Aufschlag gehoert hat.

  Silvana (orakelt)

-----------------------------------------------------------------------------



Todeswald (Sky,  4. Nov 2000, 01:51:04):

Gegruesst seien die tapferen, unerschrockenen Recken des
Morgengrauen. Die Skelette im Wald von Drakonien bahnen
sich bisher ungehindert ihre Wege, doch damit ist es 
jetzt vorbei.
Dazu werden (laut Paracelsus +g+) mindestens 12 (todes-
mutige) Leute gebraucht. Als Termin um den Wald auszu-
raeuchern steht Freitag, 10 November (abends) fest.
Da bekannterweise alles was ueber 4 Leute rausgeht zu
Problemen in der Koordination fuehrt werden alle die
Interesse haben gebeten mir bis zum 9.11 ne Mail zu 
schreiben und ich werde dann versuchen das zu managen. 
Zugegeben etwas ungewoehnliche Art ein Team zusammenzu-
stellen, aber besondere Situationen erfordern besondere 
Mittel. 

P.S.: Dumme Kommentare ausnahmsweise mal bitte sparen :)

-----------------------------------------------------------------------------



Re: Todeswald (Ark,  4. Nov 2000, 15:12:17):
~#! rn=Sky rt=973299064 rg=d.wald
~#! tid=973299064
Noe :-)

Ihr werdet alle sterben!



              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Todeswald (Paracelsus,  6. Nov 2000, 10:15:42):
~#! rn=Sky rt=973299064 rg=d.wald
~#! tid=973299064
Naja, 12 ist son grober Richtwert. Ihr wart ja auch mit weniger Leuten schon
nicht schlecht dabei.

Paracelsus - freut sich immer, wenn Spieler zusammenarbeiten.

-----------------------------------------------------------------------------



Re: Re: Todeswald (Sina,  6. Nov 2000, 10:16:46):
~#! rn=Paracelsus rt=973502142 rg=d.wald
~#! tid=973299064
Ich hab ja nur Schiss, dass wir es schaffen, und dann in dieses
Haus reinmuessen *zitter*

Sina, wie immer feige

-----------------------------------------------------------------------------



Re^3: Todeswald (Thanos,  6. Nov 2000, 10:38:43):
~#! rn=Sina rt=973502206 rg=d.wald
~#! tid=973299064
Da steht dann ein 16er Team drin und sagt : Reingefallen ;)

Thanos, mag gar nicht wissen was da drin ist

--> schmarrn

-----------------------------------------------------------------------------



Re^4: Todeswald (Sina,  6. Nov 2000, 10:40:45):
~#! rn=Thanos rt=973503523 rg=d.wald
~#! tid=973299064
...und genau deswegen nehmen wir ein paar von euch Tanjians mit :))

-----------------------------------------------------------------------------



Re^5: Todeswald (Thanos,  6. Nov 2000, 10:42:36):
~#! rn=Sina rt=973503645 rg=d.wald
~#! tid=973299064
Frei nach dem Motto :Euer Gildenchef, ihr muesst leiden ?

Thanos, mal wieder fuer : HEFFEN AN DIE MACHT!

-----------------------------------------------------------------------------



Re^6: Todeswald (Paracelsus,  6. Nov 2000, 10:47:45):
~#! rn=Thanos rt=973503756 rg=d.wald
~#! tid=973299064
Dabei gehts denen da auch nicht besser als anderen. :)

Paracelsus,

P.S.: Der Plural von Tanjian ist auch Tanjian, und nicht Tanjians :)

-----------------------------------------------------------------------------



Re: Re: Todeswald (Kartii,  6. Nov 2000, 10:54:27):
~#! rn=Paracelsus rt=973502142 rg=d.wald
~#! tid=973299064
Hmm meinst Du nicht eher zusammensterben? :)

Kartii

-----------------------------------------------------------------------------



Haustiere.... (Zook, 10. Apr 2001, 13:14:54):
Hach, man muss ja staendig auf die Haustiere aufpassen, sonst machen sie
Unsinn. Nun ja, auf jeden Fall hat Freunds Hauskater Rusty leider bei
einer Balgerei sein Halsband verloren. Ich konnte ihm jedoch ein Ersatz-
Halsband beschaffen, was ihm auch genauso gut gefaellt wie das alte.

Gruss, Zook.

P.S.: Auch Spieler sind scheinbar betroffen und haben nicht genau auf
das Halsband aufgepasst. Nun ja, einfach nochmal hinlaufen und Rusty
ueberreden, dass er seines hergibt.

-----------------------------------------------------------------------------



Windring (Boing, 11. Apr 2001, 13:41:15):
Auf Draengen des Balance-Teams gab es Aenderungen am Windring. Eins
vorneweg: Der Ring ist nicht abgewertet worden, die Aenderungen betreffen
nur die Nutzung (z.B. keine n Ringe mehr hintereinander nutzen).
  Boing

-----------------------------------------------------------------------------



neue besen... ;) (Patryn, 29. Mai 2001, 21:57:58):
hi leute,

gemaess meiner mudweiten default-rassenwahl "elf" widme ich mich also ab
heute der aufsicht des waldes, gemeinsam mit silvana :)
heisst das jetzt, dass bald alle wege mit monster ala holzhydra
zugepflastert sein werden? nein, keine sorge *g*
ich habe heut erst mal yorus repfile verdampft und quasimodos repfile
stark eingedampft. es lohnt sich also durchaus wieder auch bei aelteren
waldprojekten ideen, typos, ... abzusetzen, aber was mir heut doch
stark aufgefallen ist:
mir nutzen in den alten gebieten keine ellenlangen missing_detail listen.
ich weiss selbst, dass das frueher anders gehandhabt wurde :)
wer nen detail vermisst, der schreibe gleich eines mit rein in die idee,
dann passiert da auch was.
also, ideen, vorschlaege u.s.w. sind willkommen. viel spass.

------
patryn

-----------------------------------------------------------------------------



Re: neue besen... ;) (Silvana, 29. Mai 2001, 23:04:56):
~#! rn=Patryn rt=991166278 rg=d.wald
~#! tid=991166278
Naja, ein alter Besen ist auch dabei. :)
Soll aber nicht heissen, dass ich nicht auch noch was auszukehren haette. Wir
haben da schliesslich noch so ein vegetationsunfreundliches Gebiet, wo zu viel
gestreut worden ist, das dringend begruent werden sollte... Also, Patryn, auf
zum Baeume pflanzen! :)

Silvana (nimmt sich da ein paar _sehr_ grosse Baeume vor)

-----------------------------------------------------------------------------



Re: Re: neue besen... ;) (Solmyr, 30. Mai 2001, 01:55:38):
~#! rn=Silvana rt=991170296 rg=d.wald
~#! tid=991166278
Gehoert Taramis ab sofort zu d.wald ?! :)

Sol*, leicht laechelnd

-----------------------------------------------------------------------------



Re: Re: neue besen... ;) (Foobar, 30. Mai 2001, 05:13:15):
~#! rn=Silvana rt=991170296 rg=d.wald
~#! tid=991166278
Ich wuensche Euch beiden viel Erfolg im Wald. Und das ist durchaus ernst
gemeint :o)

Foobar

-----------------------------------------------------------------------------



Re^3: neue besen... ;) (Solmyr, 30. Mai 2001, 10:14:46):
~#! rn=Foobar rt=991192395 rg=d.wald
~#! tid=991166278
Ich will mehr Pilze ! Ach  und Bier natuerlich :)

Sol*

-----------------------------------------------------------------------------



skelette (Patryn,  4. Jun 2001, 01:19:48):
vorsicht bei zauberschild-verwoehnen skelettmetzlern, ex-bug (hopefully)

------
patryn

-----------------------------------------------------------------------------



Duesterwald (Parawelt 2 in Drakonien) (Silvana, 16. Jun 2001, 12:52:46):
Besagtes Gebiet ist bis auf weiteres wegen massiver Probleme geschlossen. Ich
kuemmer mich nach meinem Urlaub drum.

  Silvana

-----------------------------------------------------------------------------



Waffenruhe (Silvana,  3. Jul 2001, 12:28:03):
Drei Waffen aus Paracelsus' Gebiet, namentlich Brummkeule, Steindolch und
Golemarm, haben sich den Vorstellungen der Balance gebeugt.

  Silvana

-----------------------------------------------------------------------------



Re: Waffenruhe (Darkwing,  3. Jul 2001, 15:42:17):
~#! rn=Silvana rt=994156083 rg=d.wald
~#! tid=994156083
Also gerade Brummkeulen sind ja massiv im Umlauf. Super! Wehret den Anfaengen
:)

-----------------------------------------------------------------------------



paraweltsachen (Patryn, 28. Sep 2001, 13:23:07):
hi leute,

ein paar wenige starke paraweltsachen von paracelsus verlangen jetzt
den seherstatus fuer die benutzung.
beschwerden an /dev/null. *ignore on*

-- 
patryn

-----------------------------------------------------------------------------



Auch Feuerteufel machen mal was Anstaendiges! (Zook, 26. Nov 2001, 20:59:09):
Erfreuliche Neuigkeiten fuer Euch: Da schaue ich einmal bei einem kleinen
Feuerteufel vorbei und siehe an, scheinbar aus purer Langeweile hat er mit
Stahl herumgespielt und es ist tsatsaechlich etwas Brauchbares dabei 
herausgekommen. Voellig unglablich. Ich erwarte, dass nun einiges 
Gefummel in Damenhandtaschen und in Hosentaschen unterbleiben wird. Naja,
wer mehr wissen will, schaue sich in dem Nest von den Baeumeknuddlern
um.

Gruss, Zook.

-----------------------------------------------------------------------------



gruene robe und co (Patryn, 14. Dez 2001, 12:31:40):
hi leute,

aaalso...wie sicherlich manche merken sind ihre gruenen roben und sonstige
parasuperspezialitems verschwunden.
es gibt ein neues rotationssystem, was derzeit eine testphase durchlaufen
wird. das ganze funzt aehnlich wie bei magiewesenzahn,
nach verschiedensten kriterien wie zb umgebung des zahns, killer,
monsterkills u.s.w. wird entschieden, ob die objekte zwangsrotiert werden.
derzeit betrifft das also gruene robe, kampfstab, drachenring,
 alle vernichterringe.

-- 
patryn


-----------------------------------------------------------------------------



Re^7: Sauna am Polarweg (Bambi, 22. Dez 2001, 11:10:04):
~#! on=Rochus ot=1008962980 og=d.gebirge
~#! rn=Deepblue rt=1008962924 rg=d.gebirge
~#! tid=1008676253
Sobald Du in der Lage bist sie zu besiegen.

-----------------------------------------------------------------------------



Re^8: Sauna am Polarweg (Bambi, 22. Dez 2001, 11:10:10):
~#! on=Foobar ot=1008963070 og=d.gebirge
~#! rn=Rochus rt=1008962980 rg=d.gebirge
~#! tid=1008676253
Ah, die sind schon wieder dran?

Foobar

-----------------------------------------------------------------------------



Re^8: Sauna am Polarweg (Bambi, 22. Dez 2001, 11:10:11):
~#! on=Deepblue ot=1008963098 og=d.gebirge
~#! rn=Rochus rt=1008962980 rg=d.gebirge
~#! tid=1008676253
Hm, damit einer die alleine hauen kann, da muss man noch ziemlich viel an der
ruestungsspirale drehen. Aber eigentlich sind wir doch ein MUd, da muss das
einer alleine doch garnicht bringen.
Und im Team haben wir die doch besiegt.

-----------------------------------------------------------------------------



Re^8: Sauna am Polarweg (Bambi, 22. Dez 2001, 11:10:12):
~#! on=Gor ot=1008969391 og=d.gebirge
~#! rn=Rochus rt=1008962980 rg=d.gebirge
~#! tid=1008676253
Und zwar Deepblue allein! ;)

-----------------------------------------------------------------------------



Re^9: Sauna am Polarweg (Bambi, 22. Dez 2001, 11:10:13):
~#! on=Deepblue ot=1008969516 og=d.gebirge
~#! rn=Gor rt=1008969391 rg=d.gebirge
~#! tid=1008676253
[ ] Du hast die Bedeutung des M in Mud verstanden.
Deep, einzeilig schmarrend.

-----------------------------------------------------------------------------



Re^6: Sauna am Polarweg (Boing, 22. Dez 2001, 13:09:08):
~#! on=Deepblue ot=1008962924 og=d.gebirge
~#! rn=Tsunami rt=1008956985 rg=d.gebirge
~#! tid=1008676253
Aehm, RepFiles Arbeiten ist nett, sachen debuggen ist netter. Auch wenns nicht
im Gebirge liegt: Wan kommen die schwarzen Skelette wieder?
Deep, antreibend

-----------------------------------------------------------------------------



Re^7: Sauna am Polarweg (Mupfel, 22. Dez 2001, 16:18:11):
~#! rn=Boing rt=1009022948 rg=d.wald
~#! tid=1008676253
Aeh, wieso werden jetzt "Polar"-Files aus d.gebirge nach d.wald verlegt? Soll
wohl in eine neutrale Region, was? ;)

-mupfel-

-----------------------------------------------------------------------------



Re^8: Sauna am Polarweg (Boing, 28. Dez 2001, 13:37:17):
~#! rn=Mupfel rt=1009034291 rg=d.wald
~#! tid=1008676253
Es ging im verlegten Artikel um die schwarzen Skelette. Ich gehe davon
aus, dass die von Paracelsus gemeint sind, und die sind meines Wissens
im Wald. Korrigier mich, wenn ich falsch liege. :)
  Boing

-----------------------------------------------------------------------------



Re^9: Sauna am Polarweg (Tsunami, 10. Jan 2002, 20:43:28):
~#! rn=Boing rt=1009543037 rg=d.wald
~#! tid=1008676253
also in polar sind die bestimmt ned, die schwarzen Skelette.

Tsunami.

-----------------------------------------------------------------------------



Re^10: Sauna am Polarweg (Boing, 11. Jan 2002, 09:11:01):
~#! rn=Tsunami rt=1010691808 rg=d.wald
~#! tid=1008676253
Ja, was glaubst Du wieso ich den Artikel nach d.wald verlegt habe statt
nach d.polar? Schau einfach in welcher Rubrik wir gerade sind ... ;)
  Boing

-----------------------------------------------------------------------------



Armschienen (Paracelsus) (Tilly,  5. Aug 2002, 23:58:50):
Moin moin,

nach Ruecksprache mit der alten wie neuen Gilden-Balance
steht die Funktionalitaet der Armschienen von Darkachka-
Dingendsda (Ihr wisst schon, dieses Ding von Paracelsus)
nur noch Karateka zur Verfuegung.

Gruss,

 - Tilly, diesmal nur zur Haelfte fuer die Objekt-Balance -

-----------------------------------------------------------------------------



Re: Armschienen (Paracelsus) (Vardion,  6. Aug 2002, 00:14:22):
~#! rn=Tilly rt=1028584730 rg=d.wald
~#! tid=1028584730
Damit kannste die Eis-Armschienen gleich abhaengen, das deren Funktion ja nun
komplett von den Drachenklauen uebernommen wird...

Vardion

-----------------------------------------------------------------------------



Re: Re: Armschienen (Paracelsus) (Mandragon,  6. Aug 2002, 00:21:45):
~#! rn=Vardion rt=1028585662 rg=d.wald
~#! tid=1028584730
Am besten die Klauen abhaengen. Dann ist es auch nicht so voll beim
Kommandofuehrer ....

Ma*

-----------------------------------------------------------------------------



Re^3: Armschienen (Paracelsus) (Ark,  6. Aug 2002, 13:36:30):
~#! rn=Mandragon rt=1028586105 rg=d.wald
~#! tid=1028584730
Warum muss es immer nur "ein bestes FItem mit Feature x" geben?
Fuer die Vielfalt, auch wenn die Wirkung aehnlich ist.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: Armschienen (Paracelsus) (Nonne,  6. Aug 2002, 19:43:27):
~#! rn=Ark rt=1028633790 rg=d.wald
~#! tid=1028584730
Schoen waere es ja, wenn alle Items, die durch die Balance muessen, auch
Nachteile haetten. So muss man nicht nur die Features abwaegen, sondern auch
die Nachteile. So hat man als Magier auch mal ne Chance ein Objekt zu proggen,
das durch die Balance kommt, aber trotzdem von Spielern angenommen wird. So
bleibt man halt immer hinter den Objekten, die noch aus historischen Gruenden
viel zu gut sind und trotzdem nicht abgehaengt/abgewertet werden.

Nur mal so in die Runde werfend
Nonne.

-----------------------------------------------------------------------------



Re^5: Armschienen (Paracelsus) (Cuchullin,  6. Aug 2002, 19:51:06):
~#! rn=Nonne rt=1028655807 rg=d.wald
~#! tid=1028584730
Fuer viele Objekttypen gilt die Regelung, dass auch Nachteile da sein 
muessen. Als aktiver Regionsmagier weisst Du das sicherlich. Wenn Du das
fuer ALLE Objekte machen moechtest, steige in eine Zeitmaschine und 
fang' 1992 damit an. Und wenn Du schonmal da bist, verhindere bitte, dass
Padreic zu mudden anfaengt, dito fuer [beliebige Namen einfuegen]. Und
falls Du Silvana da siehst... HILF IHR BEI TARAMIS. :)

C :)

-----------------------------------------------------------------------------



Re^6: Armschienen (Paracelsus) (Armitage,  6. Aug 2002, 23:18:19):
~#! rn=Cuchullin rt=1028656266 rg=d.wald
~#! tid=1028584730
Hmmm ... Man kann es auch uebertreiben mit seiner oeffentlich bekundeten
Antipathie.

...

-----------------------------------------------------------------------------



Re^7: Armschienen (Paracelsus) (Mupfel,  6. Aug 2002, 23:29:59):
~#! rn=Armitage rt=1028668699 rg=d.wald
~#! tid=1028584730
Hmja ich glaub, bei "[beliebige Namen einfuegen]" koennte er auch seinen
eigenen Einsetzen...

-mupfel-

-----------------------------------------------------------------------------



Re^7: Armschienen (Paracelsus) (Gor,  7. Aug 2002, 10:50:07):
~#! rn=Armitage rt=1028668699 rg=d.wald
~#! tid=1028584730
Na komm genannte Person legt da besonderen Wert darauf, wenn man ihn nicht
ausreden laesst. }:-)

-----------------------------------------------------------------------------



Re^5: Armschienen (Paracelsus) (Pilgrim,  9. Aug 2002, 10:49:02):
~#! rn=Nonne rt=1028655807 rg=d.wald
~#! tid=1028584730
>Schoen waere es ja, wenn alle Items, die durch die Balance muessen, auch
Nachteile haetten.

Sag ich ja immer ;-)
Oder Zumindest nicht fuer alle Gilden/Rassen gleich gut sein ... oder
so ...

Pilgrim

-----------------------------------------------------------------------------



Eisspeer (Paracelsus) (Tilly, 21. Aug 2002, 13:50:20):
Moin moin,

die Objekt-Balance hat sich die Freiheit genommen und den
Eisspeer von Paracelsus etwas aufgewertet. Er ist jetzt
jedoch nur von Sehern nutzbar.

              - Tilly, i.A. der Balance -

-----------------------------------------------------------------------------



Re: Eisspeer (Paracelsus) (Zarniya, 21. Aug 2002, 14:14:47):
~#! rn=Tilly rt=1029930620 rg=d.wald
~#! tid=1029930620
hmm AUFwerten... sicher, dass es nicht besser gewesen waere, einfach alle
anderen Speere abzuwerten? So mosert doch dann keiner. :-) 

Marc (schmarrend)

-----------------------------------------------------------------------------



Re: Re: Eisspeer (Paracelsus) (Pitfall, 21. Aug 2002, 16:47:11):
~#! rn=Zarniya rt=1029932087 rg=d.wald
~#! tid=1029930620
sprich nicht ueber speere die du noch nie in der hand hattest :)

-----------------------------------------------------------------------------



Re: Eisspeer (Paracelsus) (Mupfel, 21. Aug 2002, 19:09:21):
~#! rn=Tilly rt=1029930620 rg=d.wald
~#! tid=1029930620
AUFgewertet? Tilly, biste krank? ;)

-mupfel-

-----------------------------------------------------------------------------



Re: Eisspeer (Paracelsus) (Nizzl, 21. Aug 2002, 23:31:47):
~#! rn=Tilly rt=1029930620 rg=d.wald
~#! tid=1029930620
Hoffentlich wurde der nur in der Art "Kriegshamster" (knuddel o.Ae)
aufgewertet.
Falls der Eisspeer in Bezug auf die Kampfkraft aufgewertet wurde sag ich nur:
lol@Balance

-----------------------------------------------------------------------------



Re: Re: Eisspeer (Paracelsus) (Elberet, 21. Aug 2002, 23:32:16):
~#! rn=Nizzl rt=1029965507 rg=d.wald
~#! tid=1029930620
geh ihn doch mal eben holen

Elbi
PS bringst mir einen mit?

Elbi

-----------------------------------------------------------------------------



Re^3: Eisspeer (Paracelsus) (Pitfall, 22. Aug 2002, 13:10:14):
~#! rn=Elberet rt=1029965536 rg=d.wald
~#! tid=1029930620
du hast recht nizzl, lol@balance .)

-----------------------------------------------------------------------------



Re^14: Oh wunder, oh wunder (Deepblue, 12. Sep 2002, 13:28:13):
~#! rn=Tilly rt=1031823599 rg=gilden.klerus
~#! tid=1031811618
15er Teams??? Schwarze Skelette anklemmen!

-----------------------------------------------------------------------------



Re^15: Oh wunder, oh wunder (Foobar, 12. Sep 2002, 13:29:00):
~#! rn=Deepblue rt=1031830093 rg=d.wald
~#! tid=1031811618
IIRC waren es zwei 8er ;o)

Foobar

-----------------------------------------------------------------------------



Re^16: Oh wunder, oh wunder (Mandragon, 12. Sep 2002, 13:29:23):
~#! rn=Foobar rt=1031830140 rg=d.wald
~#! tid=1031811618
Zumindest vorher ...

Ma*

-----------------------------------------------------------------------------



Re^16: Oh wunder, oh wunder (Deepblue, 12. Sep 2002, 13:29:39):
~#! rn=Foobar rt=1031830140 rg=d.wald
~#! tid=1031811618
Egal, hauptsache die Groessenordnung stimmt.

-----------------------------------------------------------------------------



Re^16: Oh wunder, oh wunder (Orktoeter, 12. Sep 2002, 13:43:58):
~#! rn=Foobar rt=1031830140 rg=d.wald
~#! tid=1031811618
Das sollte Rochus bei Gelegenheit auch mal ausbauen... Speziell gegen einen
einzelnen Gegner sollten die 5 Leute die in einem Team vorne stehen koennen eh
schon sterische Probleme bekommen... von mehr als einem Team ganz zu schweigen
-> der einfachheit halber nur ein Team/gegner

OrkT.

PS und wenn Rochus dann schon mal am Teamkampf bastelt, kann er ja auch gleich
die Teamflucht einbauen

-----------------------------------------------------------------------------



Re^17: Oh wunder, oh wunder (Tilly, 12. Sep 2002, 13:46:45):
~#! rn=Orktoeter rt=1031831038 rg=d.wald
~#! tid=1031811618
Ha, und was kommt als naechstes?

Trves (1.Reihe) zu Zaubi (1.Reihe): Leihste mir mal Deine Extra-Hand?
Zaubi (1.Reihe)                   : Nur wenn ich den Messerkreis von
                                    X bekomme *schmoll*

Teamflucht ... also neeeeee :-)

 - Tilly - 

-----------------------------------------------------------------------------



Re^17: Oh wunder, oh wunder (Nonne, 12. Sep 2002, 13:47:03):
~#! rn=Orktoeter rt=1031831038 rg=d.wald
~#! tid=1031811618
Wozu? Du spielst doch eh nicht mehr! Ausserdem sin Regelaenderungen, wenn das
Spiel einmal begonnen hat, doch sowas von unfair...

Nonne.

P.S: Wers nicht verstanden hat: *grins*

-----------------------------------------------------------------------------



alles neu? (Patryn, 10. Okt 2002, 17:03:17):
Hi,

ein Klassiker ist wieder angeschlossen. Vielen Dank an Yantro fuer die 
Bereitstellung seiner alten Gebiete.
Rikus und Tilly waren schon fleissig, lediglich 3 Items werden erst nach
Tillys Urlaub ueberprueft und sind vorerst noch unzugaenglich.
Dank auch an Vanion fuer viele Anmerkungen. 
Es gab zwar viele technische Veraenderungen, doch gemaess Yantros Wunsch
so gut wie keine Inhaltlichen. Bitte bedenkt dies bevor ihr ellenlange
MissingDetail-Listen absetzt. (die ich sowieso ignoriere ohne Inhalte)
Zum einen ist die heutige Detailwut eher diskussionswuerdig und zum anderen
ist es nun mal ein Gebiet der alten Garde, welches mit anderen Reizen
aufwarten kann.

-- 
Patryn schwelgt in Erinnerungen


-----------------------------------------------------------------------------



Re: alles neu? (Montanus, 10. Okt 2002, 21:13:50):
~#! rn=Patryn rt=1034262197 rg=d.wald
~#! tid=1034262197
Yantro soll alte Garde sein? Ich erinner mich noch dran, wie er nur ein
kleiner Spieler war und noch nicht Yantro hiess... also alt ist wirklich was
anderes.

-----------------------------------------------------------------------------



Re: Re: alles neu? (Sting, 10. Okt 2002, 21:14:34):
~#! rn=Montanus rt=1034277230 rg=d.wald
~#! tid=1034262197
Egal, jedenfalls DANKE ich Patryn und auch Yantro vielmals fuer dieses
Wiederanschliessen eines meiner alten Lieblingsgebiete :)

Sting

-----------------------------------------------------------------------------



Re: Re: alles neu? (Patryn, 10. Okt 2002, 21:49:18):
~#! rn=Montanus rt=1034277230 rg=d.wald
~#! tid=1034262197
da sieht man mal wieder, dass alles relativ ist ;)
ich bin ja auch erst relativ spaet dazugestossen, relativ zu manch einem
rentnerrentner *g*

-- 
patryn

-----------------------------------------------------------------------------



Re: alles neu? (Zarniya, 11. Okt 2002, 13:41:31):
~#! rn=Patryn rt=1034262197 rg=d.wald
~#! tid=1034262197
Hallo zusammen, 

ich will mich an dieser Stelle auch bedanken. Zuerst einmal bei Patryn, der
sich die Arbeit mit dem Anschluss aufgehalst hat und das obwohl ich ziemlich
harte Bedingungen hatte, denn ich wollte das Original anschliessen lassen und
keine Bearbeitung. Dann ist da weit oben auf der Liste Silvana und Boing, die
mich beide immer bei allem unterstuetzt haben, was ich hier gemacht habe und
die immer mit einem offenen Ohr und oft auch offenem Herzen fuer mich da
waren. Dann nochmal der Dank an alle Spieler, die mich noch von frueher kennen
und die in meine Idee des Wiederanschlusses des Hauses und der Skowe geglaubt
haben, stellvertretend will ich hier Anatol nennen. 
Zum Schluss geht mein Dank an einen ehemaligen Inselmagier hier, der mich
eigentlich auf die Idee gebracht hat, die ganzen Sachen wieder anzuschliessen,
denn mit seinem Weggang, seinem Theater und seinen angeblich gerichtlichen
Drohungen gegenueber dem MG (soweit man das als Spieler mitbekommen hat)
zeigte er mir, was Anstand und Verantwortung gegen ueber dem Spiel und dem
Spass hier ist. Deswegen ist das der Hauptgrund, dass dies alles wieder da
ist, denn ich wollte nicht so sein wie er. 

Einige Tools muessen nochmal durch die Balance (obwohl sie schon mal
angeschlossen waren, aber so sind die neuen Regeln), die Kaempferquest ist
wohl auch wieder in Anschlussarbeit und ich hoffe, dass ihr alle Euren Spass
an den Gebieten habt. Seid brach zu den Skowe, es sind liebe Wesen :) Wer mal
einfach nur ein wenig lesen will und von all dem Metzellaerm abschalten, der
sollte mal ein wenig im Haus rumgehen. Wer sich den Tod wuenscht, der kann ihn
haben, Service ist Service. :) Bei Bugs kann ich als Spieler nicht viel
machen, aber fuer Ideen bin ich per Mail immer zu erreichen. 

Marc (Zarniya, frueher Yantro)

P.S.: Da sage einer, ein Baum koennte nicht zweimal umfallen. :)
P.P..S.: Ich meinte BRAV bei den Skowe... komisch, nach all den Jahren MG gibt
es immer noch keinen guten Editor hier in der MPA!

-----------------------------------------------------------------------------



Re: Re: alles neu? (Cadrach, 12. Okt 2002, 11:15:30):
~#! rn=Zarniya rt=1034336491 rg=d.wald
~#! tid=1034262197
Ich hoffe aber es ist geklaert das das Gebiet nun dranbleibt. Das ganze kann
man naemlich durchaus mit einem lachendem und einem weinendem Auge sehn. Da
das Gebiet endgueltig abgehaengt wurde, wurden damals dann auch die EKs der
Spieler alle ausgetragen (die FPs eigentlich auch?). Nun kommt das Gebiet
ueberaschenderweise auf einmal wieder und die Altspieler sind irgendwo die
dummen und muessen sich das ganze aufs neue holen. (Beim Haus der Farben geht
das ja noch, aber bei manch anderem Gebiet wo die NPCs weitaus heftiger und
aufwendiger sind, ist das nichtmehr lustig).
Irgendwo halte ich es nicht fuer verkehrt da dann auch irgendwo loeschungen
mal als endgueltig zu betrachten. Ich meine damit jetzt ausdruecklich _nicht_
das Haus der Farben (hier ist das Problem eh nich soo riesig), sondern das
ganze allgemein.

Cad*

-----------------------------------------------------------------------------



Re^3: alles neu? (Householder, 12. Okt 2002, 13:08:59):
~#! rn=Cadrach rt=1034414130 rg=d.wald
~#! tid=1034262197
man muss FP's und EK's holen ??? scheisse wieso hat mir das keiner gesagt ?
scheisse scheisse scheisse :-((( 

-----------------------------------------------------------------------------



Re^4: alles neu? (Mupfel, 12. Okt 2002, 14:31:20):
~#! rn=Householder rt=1034420939 rg=d.wald
~#! tid=1034262197
Gabs damals schon EKs? *gruebel* FPs gabs schon...

-mupfel-

-----------------------------------------------------------------------------



Re: Re: alles neu? (Gor, 12. Okt 2002, 17:10:15):
~#! rn=Zarniya rt=1034336491 rg=d.wald
~#! tid=1034262197
Hmm das ist ja eine erfreuliche Nachricht. ABer wer zum Teufel traegt mir die
ganzen Eks wieder ein? Ich find da naemlich nicht einmal mehr hin. ;)


Gor

-----------------------------------------------------------------------------



Re^3: alles neu? (Amaryllis, 12. Okt 2002, 17:14:29):
~#! rn=Gor rt=1034435415 rg=d.wald
~#! tid=1034262197
Manchmal denke ich an die Zeit zurueck, in der im Schwarzwald noch aktiv
gezockt wurde... :-)

Ama*, in alten Erinnerungen schwelgend.

-----------------------------------------------------------------------------



Re^3: alles neu? (Karis, 12. Okt 2002, 20:03:52):
~#! rn=Cadrach rt=1034414130 rg=d.wald
~#! tid=1034262197
Schoen, dass die Sachen endlich wieder dranhaengen!
Danke sehr!

Karis

-----------------------------------------------------------------------------



Re^4: alles neu? (Vector, 13. Okt 2002, 19:27:23):
~#! rn=Karis rt=1034445832 rg=d.wald
~#! tid=1034262197
ich denke einfach mal dass das so gehandhabt wird wie sonst
auch, etwa bei der magieinsel:
ek's werden ersatzlos gestrichen, die fps werden umgetragen!
also die forscher verlieren nix, die metzler die ek's,
verlorene eps und tode bleiben erhalten.
eigentlich auch mal was ueber das man diskutieren koennte.

-----------------------------------------------------------------------------



Re: Re: alles neu? (Gnome, 13. Okt 2002, 22:58:45):
~#! rn=Zarniya rt=1034336491 rg=d.wald
~#! tid=1034262197
hui.
haett ich im leben nicht mehr mit gerechnet...
aber find ich klasse von dir, danke yantro :) und natuerlich auch allen,
die daran beteiligt waren... todesdrache, skowe... cool :)

gnOme denkt . o 0 ( wann taucht die magieinsel wieder auf? )

-----------------------------------------------------------------------------



skelette (Patryn, 15. Okt 2002, 17:47:45):
hi,

das ist wohl die woche der alten gebiete ;)
Da mein Nervenkostuem bezueglich hier nicht naeher spezifizierter Pilze
schon ziemlich durchloechert war, habe ich mich entschloessen, die
beruechtigten Skelette wieder anzuhaengen.
Dazu wurde die Versteinerung in mehrfacher Hinsicht entschaerft, zB
ist sie leichter zu loesen und geht auch nach einer gewissen Zeit wieder
weg (3 Tage bzw. 6 Onlinestunden etwa)
Typos, Bugs u.s.w. hatte ich damals schon viele ausgemerzt, wenn noch was
ist, typo, bug, idee sollten bekannte Befehle sein.

-- 
patryn

-----------------------------------------------------------------------------



Re: Re: alles neu? (Ancalagon, 17. Okt 2002, 00:41:43):
~#! rn=Zarniya rt=1034336491 rg=d.wald
~#! tid=1034262197
H


Ancalagon knuddelt Yantro/zarniya mal wieder so richtig
kuschelwuschelhuschelpuscheligweich durch! *freu*

Anca *grins*

-----------------------------------------------------------------------------



Re: Re: alles neu? (Key, 21. Okt 2002, 19:59:55):
~#! rn=Zarniya rt=1034336491 rg=d.wald
~#! tid=1034262197
Mutet fuer mich etwas seltsam an, nach all der Zeit ...

Dazu noch die Anspielung auf einen gewissen Inselmagier, was auch schon eine
geraume Zeit zurueckliegt, oder gabs was neues in den letzten 3 Jahren?

Wie dem auch sei ... Deine Meinung Yantro war damals eine ganz andere, sonst
waere das Haus der Farben nicht weggewesen.
Sich jetzt in das rosa Licht zu ruecken und andere gleichzeitig zu denunzieren
halte ich fuer falsch.

Cu

P.S.: Nein ich hab nicht zuende gelesen.

-----------------------------------------------------------------------------



Re^3: alles neu? (Key, 21. Okt 2002, 20:16:49):
~#! rn=Key rt=1035223195 rg=d.wald
~#! tid=1034262197
Sorry Selbstreply ...

Mir wurde jetzt mehrmals gesagt, das es sich dabei um einen juengeren Fall
handelt ... sorry da war ich nicht so ganz aktiv ;)
Aendert jedoch nichts an der Aussage ...

Cu

-----------------------------------------------------------------------------



Re^4: alles neu? (Gor, 21. Okt 2002, 21:19:18):
~#! rn=Key rt=1035224209 rg=d.wald
~#! tid=1034262197
Alter Schwede,
nicht ganz so aktiv??? Du warst schlichtweg NICHT DAAAAAAA!!!! ;) Aber du hast
trotzdem recht. Naja was lange...........

Gor

-----------------------------------------------------------------------------



Re^5: alles neu? (Zarniya, 22. Okt 2002, 09:27:10):
~#! rn=Gor rt=1035227958 rg=d.wald
~#! tid=1034262197
Hi, 

ohne irgendwelche Schuldzuweisungen hier zu veroeffentlichen, hat es mit dem
Wiederanschluss meiner Sachen sage und schreibe ueber ein Jahr gedauert. Das
hatte diverse Gruende, die aber hier egal sind. 

Marc

-----------------------------------------------------------------------------



Re^6: alles neu? (Thargor, 22. Okt 2002, 19:26:06):
~#! rn=Zarniya rt=1035271630 rg=d.wald
~#! tid=1034262197
ich sach mal was als ausenstehender (die paar onlineminuten bisher zaehlen
nicht und magiersachen sind mir sowieso fremd):

wieso wurden die sachen ueberhaupt abgeklemmt?
(bitte keine antwort - dient nur der einleitung)

... und wie koennte man magier-vertraege ausformulieren, dass eine 
abklemmung in zukunft umgangen werden kann? (hier duerft ihr ideen einstreuen,
meine folgt auch gleich :)

... warum tritt der magier fuer gebiete und sachen, die er fuer das mg
entwickelt - ab und an bestimmt wohl auch mit unterstuetzung anderer magier
und der 
resourcen des mg nicht ein dauernutzungsrecht an das mg ab ?
wenn der magier geht, kann er seine sachen mitnehmen und in anderen muds
verbraten .. aber er sollte die version des mg im mg belassen muessen .. also
irgendsowas wie eine mg-gpl

Thargor, Herr des Senfs

-----------------------------------------------------------------------------



Re^7: alles neu? (Gor, 22. Okt 2002, 21:44:39):
~#! rn=Thargor rt=1035307566 rg=d.wald
~#! tid=1034262197
Hi,
fuer mich ist die Abklemmung solcher Sachen nicht nachvollzierhbar. Lieber hau
ich ab im Wissen, dass der eine oder andere Spieler das Gebiet betritt, wie
wenn die, in vielen Arbeitsstunden geproggten, Gebiete auf meiner Festplatte
vergammeln. Aber jeder so, wie ers gerne haette.....
Gor

-----------------------------------------------------------------------------



Re^8: alles neu? (Cuchullin, 25. Okt 2002, 23:51:30):
~#! rn=Gor rt=1035315879 rg=d.wald
~#! tid=1034262197
Ist denn schon wieder Zeit fuer die Alles-was-meins-ist-Diskussion?
Muesste nicht "Snoop muss verboten werden" und "Cheater-Schweine!"
irgendwie vorher wieder drangewesen sein? Naja, vielleicht hab ich es
ja verpasst, man kann euch ja auch wirklich nichtmal ZWEI Wochen
alleine lassen... ;)

YTCu :)

-----------------------------------------------------------------------------



Re^9: alles neu? (Thargor, 26. Okt 2002, 22:08:20):
~#! rn=Cuchullin rt=1035582690 rg=d.wald
~#! tid=1034262197
und wann ist: scripten ist boese! wieder dran?

Thargor
(grinsend)

-----------------------------------------------------------------------------



Re^10: alles neu? (Cuchullin, 26. Okt 2002, 22:15:37):
~#! rn=Thargor rt=1035662900 rg=d.wald
~#! tid=1034262197
Irgendwann nach "Wir brauchen einen Superseher-Level".


-----------------------------------------------------------------------------



Re^11: alles neu? (Thargor, 27. Okt 2002, 00:40:13):
~#! rn=Cuchullin rt=1035663337 rg=d.wald
~#! tid=1034262197
.. ach und ich dachte nach dem 'Wir brauchen eine Gilde der
Gildenlosen'-Theman ..
.. die Gilde, die sich aus jeder anderen Gilde eine Spruch raussuchen darf ;)
Thargor, viel zu jung um sich mit unnoetigen Erinnerungen belastet zu fuehlen

-----------------------------------------------------------------------------



Re^12: alles neu? (Cuchullin, 27. Okt 2002, 00:41:51):
~#! rn=Thargor rt=1035672013 rg=d.wald
~#! tid=1034262197
Die Diskussion koennen wir nicht ohne Astar und Bloodyharry fuehren. Die
sind fuer die Piratengilde (R.I.P.) verantwortlich. Daher liegt die etwas
brach. Aber Gildenlosigkeit ist an sich etwas feines.

YTCu :)


-----------------------------------------------------------------------------



3 objekte (Patryn, 31. Okt 2002, 03:12:52):
hi leute,

die balance war sehr flink, vielen dank, die 3 versprochenen objekte
sind jetzt nachgereicht.
danke auch an alle spieler die fleissig typos/ideen abgesetzt haben,
hatte ganz schoen viel mit zu tun, aber jetzt sollte es schon viel
sauberer sein.

-- 
patryn

-----------------------------------------------------------------------------



todesmutige (Patryn,  8. Dez 2002, 19:20:02):
hi, im park der freunde, manche wissen es, gehts derzeit ein stueck weiter
als gewohnt. jedoch sollte man sich nicht vom obigen namen irritieren
lassen, der eingang ist versteckt und seher only.
bei problemen...positive wie negative (aus welcher sicht auch immer)
bitte ich um mails. tode kann ich jedoch nicht wieder zuruecknehmen ;)

-- 
patryn

-----------------------------------------------------------------------------



Re: todesmutige (Patryn, 19. Dez 2002, 13:49:52):
~#! rn=Patryn rt=1039371602 rg=d.wald
~#! tid=1039371602
ach ja, FPs und so gibts da jetzt auch, die neuen optionalen halt :)

-- 
patryn


-----------------------------------------------------------------------------



Foerster und so (Patryn, 22. Jan 2003, 16:06:23):
Wers noch nicht gemerkt hatte, am Foerster gehts nun noch ein Stueckchen
weiter. Ohne Teams sollte man die NPCs auch dort in Ruhe lassen, auch
wenn sie noch nicht das ganze geplante Repartoire der Spielermassakrierung
nutzen.

-- 
Patryn

-----------------------------------------------------------------------------



Waldlichtung (Nibel,  2. Apr 2003, 16:00:29):
Ein Spaeher des Elfenvolkes fand unlaengst eine bisher unentdeckte
Waldlichtung westlich des Elfendorfes. Ersten Berichten zufolge soll
das Gebiet eher ungefaehrlich sein, doch man weiss ja nie. Wackere
Abenteurer (und Mitglieder aller anderen Gilden) sind willkommen.
  - Nibel
-----------------------------------------------------------------------------



Re: Waldlichtung (Patryn,  2. Apr 2003, 16:58:29):
~#! rn=Nibel rt=1049292029 rg=d.wald
~#! tid=1049292029
Na die Zaubis haben damit gleich eine neue Quest zum Spass haben ;)
Dank an Nibel, wirklich huebsch gelungen.
kkwer
Vielleicht ists ja nen Ansporn fuer die doch recht zahlreichen offenen
Waldgesellenstuecke... ;)

-- 
patryn

-----------------------------------------------------------------------------



Vernichterringe (Nibel, 31. Mai 2003, 15:10:53):
Die Ringe des grossen Vernichters wurden etwas abgewertet. Die
Funktionalitaet bleibt erhalten, die Wirkung ist jedoch stellenweise
gesenkt worden. Zudem werden die Restriktionen schaerfer ueberprueft,         
also ist beim Tragen Vorsicht geboten. 
  - Nibel
-----------------------------------------------------------------------------



Myung (Nibel, 12. Jun 2003, 20:45:57):
Im Zuge eines Umzugs ist noch ein Bug bei Myung aufgefallen, die gute
sollte nun wieder besser gegen Paralyse gewappnet sein. Seid gewarnt.
  - Nibel
-----------------------------------------------------------------------------



Wenn die Sonne im Hobbithuegel scheint. (Nibel,  6. Aug 2003, 19:40:15):
Einigen Raeumen des Huddlewohnhuegels fehlte eine gewisse Property, damit
diese als Innenraeume erkannt wurden. Dies fuehrte dazu, dass den
Negerelfen auch innerhalb des Hauses die Sonne zu schaffen machte...

Wenn noch aehnliche Stellen auffallen, meldet dies.
  - Nibel
-----------------------------------------------------------------------------



Paraturm der Waldlichtung (Nibel, 29. Okt 2003, 15:42:16):
Wenig ist bekannt ueber den Zirkel, fuer tot hielt man sie alle. 
Grelle Lichter ueber des Turmes Spitzen, liessen bis vor kurzem 
noch die Nacht erglueh'n. Nun scheint es wieder ruhig ueber den 
Steinen, doch tief verborgen brodelt es. Wartend, sehend, hockt es 
dort, bereit sein Antlitz bald zu zeigen.

  - Nibel
-----------------------------------------------------------------------------



Im Nebelgebirge ... (Seleven, 30. Okt 2003, 16:51:49):
  ... haben sich ein paar seltsame Gestalten mit spitzen Ohren niedergelasen.
Leider haben sie ihren Eingang im Nebel versteckt, damit andere noch
seltsameren Gestalten sie nicht so einfach finden. :^)

Viel Spass beim Bluemchenpfluecken und hoffentlich bis Lars.

Sell Elwen

-----------------------------------------------------------------------------



"Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Twilight,  1. Nov 2003, 01:11:02):
Du stehst im Haus von Eppstein. Es ist das groesste Haus hier im Dorf. Dies
ist auch kein Wunder, denn Eppstein ist ein Steinriese von betraechtlicher
Groesse. Das Zimmer hier ist spartanisch eingerichtet. Bis auf einen riesigen
Stuhl, einen Tisch und ein Bett mit aehnlich riesigen Ausmassen ist der Raum
kahl. 
Es gibt einen sichtbaren Ausgang: nordosten.
Ein Steinriese.
> tm shadox ich bin mal idle - wenn was ist tm - oder ins WL
Du teilst Shadox mit: ich bin mal idle - ...
> 
Du hoerst die Uhr schlagen: Es ist jetzt 1 Uhr.
Dein Schutzfilm gegen die Sonne verblasst langsam wieder.
Die Sonne scheint gnadenlos auf Dein Haupt und schwaecht Dich.
Die Sonne scheint gnadenlos auf Dein Haupt und schwaecht Dich.
Die Sonne scheint gnadenlos auf Dein Haupt und schwaecht Dich.
Die Sonne scheint gnadenlos auf Dein Haupt und schwaecht Dich.
Die Sonne scheint gnadenlos auf Dein Haupt und schwaecht Dich.
Die Sonne scheint gnadenlos auf Dein Haupt und schwaecht Dich.
Die Sonne scheint gnadenlos auf Dein Haupt und schwaecht Dich.
Die Sonne scheint gnadenlos auf Dein Haupt und schwaecht Dich.
Die Sonne scheint gnadenlos auf Dein Haupt und schwaecht Dich.
Die Sonne scheint gnadenlos auf Dein Haupt und schwaecht Dich.
Die Sonne scheint gnadenlos auf Dein Haupt und schwaecht Dich.
Die Sonne scheint gnadenlos auf Dein Haupt und schwaecht Dich.
Das war wohl zuviel fuer Dich. Das naechste mal solltest Du Dich wohl besser
gegen die Sonne schuetzen.

Eine grosse Trauer ueberfaellt Dich. Sollte es das wirklich gewesen sein?

...


Twilight *langsam echt genervt von sowas*

P.S.: Nein, "Dann waerst halt kein Delf geworden" ist _keine_ ernstzunehmende
Antwort

-----------------------------------------------------------------------------



Re: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Orktoeter,  1. Nov 2003, 01:15:28):
~#! rn=Twilight rt=1067645462 rg=d.wald
~#! tid=1067645462
Sorry, doch.

OrkT.

-----------------------------------------------------------------------------



Re: Re: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Twilight,  1. Nov 2003, 01:20:24):
~#! rn=Orktoeter rt=1067645728 rg=d.wald
~#! tid=1067645462
Nein. Als Delf kannst nunmal draussen nicht hochideln. Ich hatte nur noch 12
LP und bin extra in das Haus gegangen zum hochideln. Sei mir neu, wenn das nun
bestraft werden sollte ;) Es gibt auch keine Moeglichkeit meines Wissens zu
schaun, wie lang der Schutz noch wirkt. Was soll ich machen als Delf? Mir vorm
Comp in die Hose machen ums mal ganz profan zu sagen, weil ich nicht weiss, ob
ich hier jetzt grad sicher bin und wie lange der Schutz noch haelt?
[Nein, das ist keine Bitte darum, das einsehbar zu machen. Aber vllt. ne Bitte
darum die Einstellung zu einigen Sachen zu ueberpruefen. Es ist halt nicht
immer nur Pech des Spielers.]

Twilight

P.S.: Als Nicht-Delf "doch" zu sagen ist immer einfach. Nicht wahr? :)

-----------------------------------------------------------------------------



Re: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Croft,  1. Nov 2003, 01:20:28):
~#! rn=Twilight rt=1067645462 rg=d.wald
~#! tid=1067645462
Nuja. Was erwartest du?  Das MG hat wieviele Raeume? 10.000? 20.000?
]Die Delfen gibts wie lange? 3 Monate?  Du glaubst das in der Zeit
alle fehlerhaften Raeume gefunden worden sind?  Ich wuerd eher sagen
deine Strategie dir die Orte zum idlen rauszusuchen ist falsch.

Croft

-----------------------------------------------------------------------------



Re: Re: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Orktoeter,  1. Nov 2003, 01:22:30):
~#! rn=Croft rt=1067646028 rg=d.wald
~#! tid=1067645462
Du bist doch wohl freiwillig Delf geworden. Sei es um des Rollenspiels wegen,
sei es weil du dir Vorteile erhofft hast. Tatsache ist, das du dir halt auch
mali eingehandelt hast. Wenn du weist dass dein Schutz irgendwann aufhoeren
kann, dann idle nicht unbeaufsichtigt herum.

OrkT.

-----------------------------------------------------------------------------



Re^3: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Croft,  1. Nov 2003, 01:22:58):
~#! rn=Orktoeter rt=1067646150 rg=d.wald
~#! tid=1067645462
Ich bin kein Delf, OrtT.

Croft

-----------------------------------------------------------------------------



Re^4: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Orktoeter,  1. Nov 2003, 01:23:42):
~#! rn=Croft rt=1067646178 rg=d.wald
~#! tid=1067645462
*seufz* erklaer ich es dir halt... ich habe auf den letzen Artikel in der
Reihe geantortet....

OrkT.

-----------------------------------------------------------------------------



Re^5: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Croft,  1. Nov 2003, 01:24:26):
~#! rn=Orktoeter rt=1067646222 rg=d.wald
~#! tid=1067645462
Dann verwende bitte keine persoenlichen Anreden oder mach das im Artikel
klar an wen du dich richtest.

Croft

-----------------------------------------------------------------------------



Re^6: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Orktoeter,  1. Nov 2003, 01:25:30):
~#! rn=Croft rt=1067646266 rg=d.wald
~#! tid=1067645462
mea culpa, also in dem Artikel da oben irgendwo habe ich nicht Croft gemeint
mit dem Delfen. Das er sich angesprochen fuehlte ist seine Sache.

OrkT.

-----------------------------------------------------------------------------



Re^3: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Qitess,  1. Nov 2003, 03:08:00):
~#! rn=Twilight rt=1067646024 rg=d.wald
~#! tid=1067645462
Dunkelelfen sind scheisse und sollten zum PK freigegeben werden.
QI**

-----------------------------------------------------------------------------



Re^4: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Nibel,  1. Nov 2003, 03:17:04):
~#! rn=Qitess rt=1067652480 rg=d.wald
~#! tid=1067645462
und dafuer muellt ihr die Rubrik hier voll?

PS: Man kann seinen Char - einige Suechtige moegen das jetzt nicht glauben,
aber es ist tatsaechlich so, ausloggen (!). d.h. sich vom Mud trennen, die
Nabelschnur loesen... Ist hart, klar, aber man riskiert dann auch keine
unerwarteten Komplikationen. (Zumeist.)

PPS: Antwort in guter .megaschmarrn-Tradition auf den letzten Artikel.
  - Nibel
-----------------------------------------------------------------------------



Re^5: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Qitess,  1. Nov 2003, 03:21:44):
~#! rn=Nibel rt=1067653024 rg=d.wald
~#! tid=1067645462
(Dafuer liebe ich das mud! :D )
Rollenspiel sagt Dir was? Der Stand der Delfen auch? :D
Kein Oberflaechenbewohner wuerde doch einen Delfen lebendig lassen, oder?
Dazu brauche ich eigentlich gar nichts weiter zu schreiben ;) ...
QI**

-----------------------------------------------------------------------------



Re^6: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Bambi,  1. Nov 2003, 10:43:02):
~#! rn=Qitess rt=1067653304 rg=d.wald
~#! tid=1067645462
Das mit dem Rollenspiel ist leider so eine Sache. Es wurde dagegen
entschieden, die Delfen als das zu betrachten, was einige (z.B. Qitess,
Anatol, Mandragon, ...) darunter aufgrund diverser "Vorbildung" verstehen. Den
Delfen-Spielern daraus einen Strick zu drehen ist nur bedingt ein brauchbarer
Ansatz.
Dass Twilight sich ueber den "unverdienten" Tod aufregt, ist imho erst einmal
ein Indiz, dass Padreic einen richtig guten, brauchbaren Malus geschaffen hat.
Aergerlich fuer den Spieler ist natuerlich, dass er in diesem Fall wohl "zu
Unrecht" gestorben ist.
Andererseits kann ich seine Aufregung, beziehungsweise die Art, wo und wie er
sich darueber aufregt, nicht ganz nachvollziehen. Es ist seit jeher so, dass
sich das Mud weiterentwickelt. Frueher gabs zur Langbeschreibung kaum Details,
es gab keine Materialien in Objekten (oder sie wurden nicht gesetzt), es gab
keine Zuordnungsklassen (ist ein Zombie nun ein Untoter oder nicht?), usw.
usf. In alten Gebieten ist es nun einmal so, dass einige Sachen (noch) nicht
so toll sind, wie in neueren. Das ist nicht zwingend schlecht und kann bei
Bedarf geaendert werden. Fuer die, die schwer vom Begriff sind, gibts auch
gleich einen Loesungsansatz: Wenn Dir ein Raum auffaellt, der "indoor" sein
sollte, es scheinbar aber nicht ist, schau zunaechst, ob es Absicht sein
koennte. Falls Dir das nicht der Fall zu sein scheint, setz einen Fehler ab
("hilfe fehler"), falls Du ein Hoerrohr hast und herausfindest (in Kombination
mit finger, siehe "hilfe finger"), dass der entsprechende Magier inaktiv ist
oder dafuer bekannt, keine Repfiles zu lesen (das sind die Dateien, wo bug-
typo- ideenmeldungen landen), dann schreib doch bitte eine freundliche Mail an
den zustaendigen RM mit Bitte um Aenderung.
Dabei kann es natuerlich zu einigen "Problemen" kommen. Erstens kennst Du
ueblicherweise den Pfad des Raumes nicht, in dem Du stehst, zweitens kannst Du
das Gebiet nicht immer eindeutig einer Region zuordnen. Obwohl Du mit der Wahl
der Rubrik (d.wald) bewiesen hast, dass es in diesem Fall einfach war, kannst
Du im Zweifel immer noch durch Ansprechen eines Magiers herausfinden, wer der
zustaendige RM ist. Und das mit dem Pfadnamen kann man notfalls durch eine
detaillierte Angabe des Ortes machen. ("Bin beim Steinriesen im Hobbitdorf.")

MfG, Bambi.

PS. Ich finde auch, dass "Werd kein Delf" durchaus ein brauchbarer Kommentar
zu Deinem Problem ist, aber nicht zwingend, weil ich den Umstand eines Hauses
ohne mudlibseitig erkanntes Dach fuer gut halte.

-----------------------------------------------------------------------------



Re^7: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Gloinson,  1. Nov 2003, 10:46:49):
~#! rn=Bambi rt=1067679782 rg=d.wald
~#! tid=1067645462
Alternativ kannst du einen der Weisen versuchen zu ueberzeugen ein Script
ueber alle Dateien laufen zu lassen, diese ggf. zu laden und auf die
entsprechenden Attribute zu pruefen um die Pfade dann deinem Gildenmagier zur
individuellen Pruefung zu uebergeben, welcher wiederum die fehlerhaften zur
Aenderung per Skript zurueckschickt. Ja, das haette sicher auch in Padreics
Macht gelegen solche Ueberzeugungsarbeit zu leisten  - vielleicht (!) hat er
sich ja insgeheim gedacht "wer in solchen, von sich selbst unueberprueften
Raeumen idelt ist selber schuld".


-----------------------------------------------------------------------------



Re^8: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Croft,  1. Nov 2003, 10:48:25):
~#! rn=Gloinson rt=1067680009 rg=d.wald
~#! tid=1067645462
Cooles Script.  Das testet dann "Long sieht nach indoor aus" und
macht Ausgaben wenn dann indoor nicht gesetzt ist?

Croft

-----------------------------------------------------------------------------



Re^11: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Gloinson,  1. Nov 2003, 10:54:44):
~#! rn=Bambi rt=1067680402 rg=d.wald
~#! tid=1067645462
Ich habe mal Rubrik "magier.entwicklung" gewaehlt, damit sich die Faulheit
nicht unter den Spielern die Bloesse geben muss. Das die Methode "findet es
doch selbst raus" eventuell die urpsruengliche Intention Padreics war habe ich
ja nicht bestritten.


-----------------------------------------------------------------------------



Re^11: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Brotnael,  1. Nov 2003, 10:54:46):
~#! rn=Bambi rt=1067680402 rg=d.wald
~#! tid=1067645462
Muss man Faulheit oder viel Aufwand immer mit "Pech gehabt" quitieren?
Brot

-----------------------------------------------------------------------------



Re^10: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Croft,  1. Nov 2003, 10:55:14):
~#! rn=Gloinson rt=1067680244 rg=d.wald
~#! tid=1067645462
Du meinst so Sachen wie: "Die Baeume bilden fast so etwas wie
ein natuerliches Dach"?  Ich glaub, da ist es besser alle !indoor
Raeume per Hand durchzugehen als so ein Script so sinnvoll zu schreiben
das man keine Falschnegativen bekommt ...  Das spart wohl Zeit ,-)

Croft

-----------------------------------------------------------------------------



Re^11: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Gloinson,  1. Nov 2003, 10:57:21):
~#! rn=Croft rt=1067680514 rg=d.wald
~#! tid=1067645462
Bevor ich jetzt weiter ueber Informatik rede wo andere Programmieren verstehen
werfe ich lieber den Vorschlag in den Raum, der mir da noch so im Hinterkopf
schwebte (und von Nonne dort vertrieben wurde): Nervt euren Gilden-EM, auf
dass ihr das Licht in einem Raum einschaetzen koennt. Sei es nun von Aussen
oder von Innen, mir doch so ein Ikea.


-----------------------------------------------------------------------------



Re^11: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Nonne,  1. Nov 2003, 10:59:19):
~#! rn=Croft rt=1067680514 rg=d.wald
~#! tid=1067645462
Das einfachste waere wohl gewesen, der DElfen-Shell einen Befehl zur
Einschaetzung der Sonnenintensitaet zu geben. Damit haette man das Testen auf
Fehler weniger Zeitintensiv fuer die Spieler gestalten koennen.

Nonne.

P.S: Sind DElfen unter den Rassen sowas wie Zauberer unter den Gilden?
Brauchen wir fuer DElfen-Zaubere noch eine Rubrik gejammer^2? *g*

-----------------------------------------------------------------------------



Re^12: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Zook,  1. Nov 2003, 12:30:54):
~#! rn=Nonne rt=1067680759 rg=d.wald
~#! tid=1067645462
Oder einen Befehl "sonnenbug", der in Raeumen, die einem Delfen als eigentlich
geschlossen vorkommen, aber doch sonnig sind, die Moeglichkeit geben diese
Daten an den Gildenmagier weiterzuleiten (also einen Eintrag in ein Logfile
vornehmen). Dann wuerde das ganze Procedere auch aus der MPA herausgehalten.

Zook.

-----------------------------------------------------------------------------



Re^12: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Twilight,  1. Nov 2003, 12:40:45):
~#! rn=Nonne rt=1067680759 rg=d.wald
~#! tid=1067645462
*lach* nu muss ich wohl doch nochmal zu meinem 'Gejammer' was sagen :)
Bambi hat in sofern recht, dass die Aufregung ziemlich viel war (war mein
dritter Tod an dem Tag) - man moege mir verzeihen, auch Mags sollten das noch
kennen.
Nen Skript waer klasse, falls irgendwer nen machbaren Ansatz hat. Die Chancen
stehen aber wohl nicht grad gut. 
Das mit dem Einschaetzen der Sonnenintensitaet waer auch klasse. 
Das MG ist riesig und ich versteh durchaus, dass die Pflege da net einfach
ist. Aber das ist halt auch genau das Problem eben. Als Spieler hat man kaum
Einblick, wo es sich lohnt Reps abzusetzen dieser Art. Das gleiche ist
manchmal bei Mails. (Die kommen durchaus auch mal mit "Empfaenger unbekannt"
zurueck - auch bei RMs) Aber dafuer gibts eh keine gescheite Loesung. :)

Twilight - Erstie und weiblich

-----------------------------------------------------------------------------



Re^13: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Twilight,  1. Nov 2003, 12:42:09):
~#! rn=Zook rt=1067686254 rg=d.wald
~#! tid=1067645462
Danke. Das waer klasse. Dann wuerde das alles bei einem 'bekannten' Magier
landen, von dem man hofft oder weiss, dass es nicht noch nen halbes Jahr
rumliegt.

Twilight - dunkelelfisch strahlend

-----------------------------------------------------------------------------



Re^3: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Boese,  1. Nov 2003, 12:45:49):
~#! rn=Twilight rt=1067646024 rg=d.wald
~#! tid=1067645462
Doch ;)
Wenn Du dir nicht sicher bist, ob Du irgendwo ideln kannst, warte einfach ein
paar Sekunden. Wenn Du nicht langsam aber sicher hochidelst.. sprich Deine LP
oder KP werden mehr.. bist Du zum Ideln da an der falschen Stelle ;)
Mit boesem Gruss
Boese

-----------------------------------------------------------------------------



Re^13: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Zook,  1. Nov 2003, 14:49:06):
~#! rn=Twilight rt=1067686845 rg=d.wald
~#! tid=1067645462
Ueber untaetige oder nicht erreichbare Regionsmagier kann man sich gern
bei mir beschweren. :-)

Zook.

-----------------------------------------------------------------------------



Re^3: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Zarniya,  3. Nov 2003, 06:40:43):
~#! rn=Orktoeter rt=1067646150 rg=d.wald
~#! tid=1067645462
ich habs noch nicht ganz gelesen, aber ich muss kotzen, wenn ich Orktoeter
hier labern hoere... ER ist der, der immer sagt, dass hier mehr Rollenspiel
integriert werden soll... und ich bin sicher, dass ER der schnellste ist, der
mit seinem Meister der Rollenspielgruppe Streit anfangen wuerde, wenn er
selbst sonnenempfindlich ist und dann in einem dunklem Raum ploetzlich genau
wegen der Sonne krepiert. Freunde, hier geht es nicht um Delfen ja oder nein.
Hier geht es darum, dass diese Bugs schnell weg kommen und die einfachste
Moeglichkeit ist meiner Meinung nach, wenn man der Rasse der DElfen zumindest
fuer eine gewissen Zeit ein Tool geben wuerde, womit sie checken koennen, ob
sie INDOOR sind und dann im Bugfall eine Meldung in ein dafuer gemachtes
Logfile abgeben koennen..... Sollte nicht so schwer sein, sowas zu proggen und
so koennten die DElfen sich erstmal selbst helfen. Nein, ich denke nicht, dass
dieses Tool ne Dauerloesung sein soll.. es soll nur ein temporaerer Bugmelder
sein.

Marc

-----------------------------------------------------------------------------



Re^4: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Muadib,  3. Nov 2003, 07:35:13):
~#! rn=Zarniya rt=1067838043 rg=d.wald
~#! tid=1067645462
das tool besitzen sie: schutz auslassen und schauen was passiert

-----------------------------------------------------------------------------



Re^5: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Zarniya,  3. Nov 2003, 08:41:34):
~#! rn=Muadib rt=1067841313 rg=d.wald
~#! tid=1067645462
ich hoff, dass ist nicht dein ernst... klar wuerd das so gehen, aber ich
denke, da es sich um 'ausserrollenspielische' Probleme handelt, sollte man
auch 'ausserrollenspieltechnisch' eine Loesung finden. Ich persoenlich wuerde
sogar einigen Delf-Spielern meines Vertrauens ein Tool geben, aehnlich dem
Dancetool, mit dem sie das umsetzen auf indoors selbst machen koennen. Aber
ich gebe zu, dass ist wirklich eine Vertrauenssache. 

Marc

-----------------------------------------------------------------------------



Re: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Ark,  3. Nov 2003, 20:18:25):
~#! rn=Twilight rt=1067645462 rg=d.wald
~#! tid=1067645462
Gentlemen Dunkelelfen schreiben einen Brief an einen hoeherstufigen Magier
ihres Vertrauens, weil sie wissen, dass bei der Menge an Raeumen im MG zwar
berechtigte Hoffnung, aber dennoch kein zwingende Vorschrift dazu besteht,
dass programmierende Magier "damals" schon darauf achteten, was drinnen oder
draussen betrifft. Will ja niemanden verteidigen, aber in dem Fall waere es
stilvoller gewesen, das auf dem kleinen Dienstweg zu regeln :-)
Im uebrigen solltest Du mittlerweile "sichere" Idelstellen kennen, oder? Wie
dem auch sei, wenn ihr Spieler "mitspielt", haben wir dieses Issue bald fast
ganz im Griff.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Boese,  4. Nov 2003, 17:12:58):
~#! rn=Zarniya rt=1067838043 rg=d.wald
~#! tid=1067645462
Mmh ich hab glaub ich schon mal erklaert wie man einfachst auch ohne Tool
sehen kann, ob Raeume zum idlen taugen oder nicht? Also nochmal auf die Gefahr
hin, dass ich andere langweile: 2 sekunden in einen Raum stellen und gucken ob
man 1-2 lp danach mehr hat oder nicht. Bei 'mehr LP' ->indoor, bei gleich viel
LP wie vorher ->sonne->nich ideln!
Schuldigung fuer die Wiederholung,
gar nicht so
Boese ;)

-----------------------------------------------------------------------------



Re^5: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Darklor,  4. Nov 2003, 20:57:00):
~#! rn=Boese rt=1067962378 rg=d.wald
~#! tid=1067645462
Jupp du langweilst! - Lass doch mal die armen Delfen in Ruhe ideln. ;)

Darklor

-----------------------------------------------------------------------------



Re^5: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Vardion,  5. Nov 2003, 13:43:49):
~#! rn=Boese rt=1067962378 rg=d.wald
~#! tid=1067645462
Man koennte allen Spielern generell auch einfach einen Befehl der Art "schau
nach oben" geben, der einem dann sagt, ob man indoors ist oder nicht. Ob man
ueber sich nen Himmel sieht oder nicht, sollte wohl auch ein noch so kleiner
Spieler ohne jegliche magische Faehigkeiten erkennen koennen...

Vardion

-----------------------------------------------------------------------------



Re^6: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Montanus,  5. Nov 2003, 13:47:36):
~#! rn=Vardion rt=1068036229 rg=d.wald
~#! tid=1067645462
Vielleicht hat der Riese aber auch eine Infrarot-Lampe in seinem Haus, die man
als technisch unbedarfter Spieler nicht erkennt (vielleicht auch, weil sie zu
weit oben angebrahct ist), oder die Waende sind aus sonnenlichtspeicherndem
Material, das Sarottielfen toastet.
Ist ein Fantasy-Mud. Nicht alles muss logisch sein. Wer seine LP-Zahl wissen
will, soll die Sir-Quest machen und dann einfach seinen Teddy einschalten.
Dann erkennt man sehr shnell, ob man wo besser idelt oder nicht. Und idlen
muss eh nicht sein, wenn man keine Zeit hat, kann man sich ausloggen. Geht
ganz einfach.
Oder "frage grimmborn nach selbstloeschung"...

-----------------------------------------------------------------------------



Re^7: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Anatol,  5. Nov 2003, 19:34:20):
~#! rn=Montanus rt=1068036456 rg=d.wald
~#! tid=1067645462
So trivial ist das nicht. Es gibt Raeume, in denen es (sic!) Nacht ist,
aber dank Mondlicht hell genug, um etwas zu sehen. Es gibt Raeume, die
sind im Wald, vor lauter Baeumen sieht man aber die Sonne (und evtl. den
Wald ;)) nicht.

Ich nehme nicht an, dass ein Dunkelelf in einem solchen Raum Schaden
nehmen wird. Und falls doch, *sollte* er zumindest nicht Schaden nehmen.

Anatol

-----------------------------------------------------------------------------



Re^8: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Catweazle,  5. Nov 2003, 19:40:16):
~#! rn=Anatol rt=1068057260 rg=d.wald
~#! tid=1067645462
Tja, sowas passiert, wenn man eine Variable semantisch falsch verwendet.

YTC

-----------------------------------------------------------------------------



Re^8: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Cadrach,  5. Nov 2003, 20:11:18):
~#! rn=Anatol rt=1068057260 rg=d.wald
~#! tid=1067645462
Also mir ist kein Raum mit Mondlicht bekannt, in denen Dunkelelfen Schaden
nehmen und in den Waldraeumen wo das Sonnenlicht genug durchdringt um den Raum
zu erleuchten, ja da bekommen Delfen in der Tat Schaden - aber dort ist ja
auch Sonne.
Man kann auch Probleme sehn wo keine sind...

Cad*

-----------------------------------------------------------------------------



Re^9: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Morgoth,  5. Nov 2003, 20:13:20):
~#! rn=Cadrach rt=1068059478 rg=d.wald
~#! tid=1067645462
Dann fehlt dem Lichsyyyyy... ein P_SUNLIGHT und ein P_MOONLIGHT und ein
P_TORCHLIGHT und ein......

M*

-----------------------------------------------------------------------------



Re^10: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Catweazle,  5. Nov 2003, 20:15:22):
~#! rn=Morgoth rt=1068059600 rg=d.wald
~#! tid=1067645462
Nein, das fehlt den Delfen.
Wenigstens einer hat mich verstanden.

YTC

-----------------------------------------------------------------------------



Re^11: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Grimmborn,  5. Nov 2003, 21:08:49):
~#! rn=Catweazle rt=1068059722 rg=d.wald
~#! tid=1067645462
Ich sehe ehrlich gesagt das Problem nicht so. Einfach diese angekokelten,
schwulen Baeumeficker wieder abschaffen und es ist Ruhe.
Meiner Treu, als waeren die normalen BaeuFi nicht schon schlimm genug.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^12: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Darklor,  5. Nov 2003, 21:22:46):
~#! rn=Grimmborn rt=1068062929 rg=d.wald
~#! tid=1067645462
Nur Baeume? - Man kann das im Dunkeln ja so schlecht erkennen... *fg*
Aber ansonsten find ich *indoor* is nich sehr klever gewaehlt - schliesslich
kann die Sonne ja durchs 'Fenster' scheinen...

Darklor

-----------------------------------------------------------------------------



Re^13: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Nonne,  6. Nov 2003, 09:12:48):
~#! rn=Darklor rt=1068063766 rg=d.wald
~#! tid=1067645462
Padreic wird Dir gleich sagen, dass _ihm_ die Approximation mit P_INDOORS, so
es denn korrekt gesetzt ist, ausreicht. Ich habe mit ihm darueber diskutiert,
oder was man diskutieren nennt, wenn man gegen eine Wand aus Ignoranz spricht.

Nonne.

-----------------------------------------------------------------------------



Re^14: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Zarniya,  6. Nov 2003, 09:41:03):
~#! rn=Nonne rt=1068106368 rg=d.wald
~#! tid=1067645462
Alle Raeume ohne das Detail Sonne oder Sonnenlicht sind sicher... 


-----------------------------------------------------------------------------



Re^15: "Huddles und Raeume mit Sonne" oder "Mal wieder ein unverdienter Tod" (Foobar,  6. Nov 2003, 11:46:48):
~#! rn=Zarniya rt=1068108063 rg=d.wald
~#! tid=1067645462
"Vom Himmel scheint das Licht eines gelben Kreises herab."

Supersicher, Zarniya...

Foobar

-----------------------------------------------------------------------------



fleissiger Forscher (Feigling, 10. Nov 2003, 20:29:31):

Ein eifriger Forscher hat sich nochmal genau am Glockenwald
umgeschaut, hat unter jeden Stein und hinter jeden Baum geblickt
und schliesslich einen alten, lange vergessenen Pfad endeckt.
Er berichtet, dass sich dort tiefer im Wald ein kleines Dorf
und eine alte Burg befindet. 

Dort traf er auch auf einen Priester, der verzweifelt jemanden
sucht, der ihm und dem Dorf helfen kann.

Feigling

-----------------------------------------------------------------------------



Re: Paraturm der Waldlichtung (Nibel,  9. Dez 2003, 21:58:43):
~#! rn=Nibel rt=1067438536 rg=d.wald
~#! tid=1067438536
Vesrays Ring tut nun auch was er soll. Froehliches Metzeln.
  - Nibel
-----------------------------------------------------------------------------



Abenteuertagebuch (Ark, 29. Dez 2003, 23:09:57):
Hi,
zwei neue Quests sind jetzt im Tagebuch drin: Drachenstatue und
Dunkelelfenamulett. Das waere jetzt noch kein Anlass, Artikel zu schreiben,
wenn da nicht ... *hust* ... eine kleine Nachlaessigkeit meinerseits dazu
gefuehrt hat, dass letztere das Bestehen nicht mitgeloggt hatte. Das ist nun
behoben, heisst allerdings, dass die Quest erneut bestanden werden muss, wenn
man auf einen Tagebucheintrag Wert legt. Von Bitten um haendische
Logfileeintraege bitte ich natuerlich abzusehen :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Wald und so, was sonst ;) (Patryn,  6. Jan 2004, 22:54:55):
Wollt nur mal anmerken, dass ich den Zulauf bei Wald recht kurios finde,
heut wieder vielversprechende Antraege auf Mitarbeit mit guten Konzepten,
mehrere laufende Abnahmen und nicht zuletzt, in letzter Zeit erstaunlich
viele Sachen angeschlossen.
Es tut mir leid, wenn da abundzu derzeit was klemmt, aber bin grad im Stress
und Nibel wird wahrscheinlich schon Kreise drehen :)
Danke an alle, die sich fuer diese Region begeistern.

-----------------------------------------------------------------------------



Zauberwald (Padreic, 16. Feb 2004, 12:21:41):
Der Zauberwald ist auf unbestimmte Zeit buggy, weil irgendein Depp dort ein
Verzeichnis geloescht hat. Bitte bis zur Entwarnung das Gebiet meiden.

Pad*

-----------------------------------------------------------------------------



Re: Zauberwald (Padreic, 16. Feb 2004, 12:39:55):
~#! rn=Padreic rt=1076930501 rg=d.wald
~#! tid=1076930501
Zook war so freundlich das ganze zu fixen, sollte also nun wieder
funktionieren...

Pad*

P.S.: Wenn ich rausfinde wer das war, erwuerge ich ihn!

-----------------------------------------------------------------------------



Updates (Nibel, 22. Mar 2004, 14:32:40):
Die Elementargeister sind etwas "lebendiger" geworden, sprich einige Standard-
Kommandos funktionieren nun damit... Aeltere koennen beim Elf auf der 
Waldlichtung umgetauscht werden.

Nach dem naechsten Reboot wird der Spitzhut etwas schwaecher werden, dafuer
gibts dann noch ein neues huebsches Objekt dort.

  - Nibel
-----------------------------------------------------------------------------



Re: Updates (Nibel,  7. Apr 2004, 22:04:05):
~#! rn=Nibel rt=1079962360 rg=d.wald
~#! tid=1079962360
Gewisse Karnickelohren lassen sich nun am Trophaeenstab befestigen, verknoten 
ist dann aber selbstverstaendlich nicht mehr.

Neu erschaffene Elementargeister sollen angeblich leistungsfaehiger sein, und 
mehr als nur Komponenten sortieren koennen.

Wie bereits erwaehnt wird der funkelnde Spitzhut etwas weniger gut aushelfen 
als bisher, dafuer gibts ein ganz nettes neues Objekt dort. Vielen Dank an die
Balance, welche die Genehmigung schnell (und noch rechtzeitig vor dem Reboot) 
geliefert hat.
  - Nibel
-----------------------------------------------------------------------------



Magische Ungereimtheiten (Nibel, 21. Mai 2004, 14:38:00):
Auf goettlichen Beschluss hin, habe ich den Wald nach NPCs und Stellen
durchforstet, in denen unbegruendet oder unangemessen hohe Magieresistenzen
vorkamen und einiges abgewertet.
  - Nibel
-----------------------------------------------------------------------------



In einer kleinen Huette... (Nibel, 30. Mai 2004, 09:37:00):
...da wohnt die Gwendoline. Naja, nicht ganz.

Lange und beschwerlich ist der Weg des Tau-Tau. Ein jeder Tanjian wird das
bestaetigen koennen. Umso schwerer faellt es, den Verlockungen zu
widerstehen, und nicht vom Wege abzukommen. Viele Novizen haben dies
geschafft, doch einige scheiterten. Vor laengerer Zeit wandte sich ein 
junger Mann namens Heffen von der Lehre des Tau-Tau ab, um nach dem Pfad
der Dunkelheit zu streben. Aber stets haelt das Universum Gut und Boese
im Gleichgewicht, und so geschah es, dass eine junge Elfe ebenso vom Weg
abkam. Sie suchte das Licht und hat es gefunden. Vor einiger Zeit verliess
sie die Gemaeuer der Tanjian und zog sich auf eine friedliche Waldlichtung
zurueck. Alleine, wissend, dass ihre Unausgeglichenheit nur zu weiterem
Leide fuehrt.

  - Nibel
-----------------------------------------------------------------------------



Dunkle Erzrenter... (Nibel, 31. Mai 2004, 08:40:10):
Heffen ist ja nunmal nicht mehr der Juengste, und frueherige 
Tanjianabwertungen haben ihm doch etwas zu schaffen gemacht. Ich habe dem
armen Kerl mal etwas Nachhilfeunterricht gegeben, er duerfte also nun leicht 
staerker sein. Aber keine Sorge...
  - Nibel
-----------------------------------------------------------------------------



Snoelryn + Taih'Tor (Nibel, 31. Jul 2004, 16:44:24):
Zwei wackere Gestalten haben sich unlaengst aufgemacht, Vesray Sit zu 
toeten - oder mindestens seine Schatzkammer zu pluendern. Da die beiden
nun auch noch einiges bei sich tragen, duerfte es sich lohnen, sie
unterwegs abzufangen.

  - Nibel
-----------------------------------------------------------------------------



Abenteuertagebuch (Ark, 14. Aug 2004, 01:05:02):
Die Diamondquest sollte nun bei viiiiel mehr Spielern im Tagebuch mit den
richtigen Daten erscheinen, einfach mal neuladen, ich hab das Logfile mal
upgedated.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Abenteuertagebuch (Darklor, 14. Aug 2004, 23:39:42):
~#! rn=Ark rt=1092438302 rg=d.wald
~#! tid=1092438302
Sind es wirklich so viel mehr?

Darklor

-----------------------------------------------------------------------------



Re: Re: Abenteuertagebuch (Turbo, 17. Aug 2004, 20:04:51):
~#! rn=Darklor rt=1092519582 rg=d.wald
~#! tid=1092438302
Ich weiss nicht, wieviele mehr es sind. Aber ich bin darunter und
habe mich sehr gefreut. Danke, Ark. Jetzt fehlt im Tagebuch nur
noch das Dunkelelfenamulett *g*. Wenn sich Padreic da erbarmen 
koennte .. immerhin habe ich Diamond Club, die Ark aus der Versenkung
hervorgezaubert hat, am 27. Okt. 2000 gemacht, Delfenamu dagegen
zwischen dem 24. Okt 2003 und dem 27. Okt 2003.

Turbo (Kater)

-----------------------------------------------------------------------------



Re^3: Abenteuertagebuch (Asuka, 17. Aug 2004, 20:40:44):
~#! rn=Turbo rt=1092765891 rg=d.wald
~#! tid=1092438302
Wenn ich mich recht erinner, gabs irgendwann zu Beginn des des Jahres
die Moeglichkeit, fuer eine bestimmte Zeit das Dunkelelfenamulett
nochmal zu machen, damit es in das Abenteuertagebuch aufgenommen wird.
Ob das jetzt immer noch geht, keine Ahnung.

Asuka

-----------------------------------------------------------------------------



Re^4: Abenteuertagebuch (Darklor, 17. Aug 2004, 21:04:24):
~#! rn=Asuka rt=1092768044 rg=d.wald
~#! tid=1092438302
Also bei mir is das Delfenamu darin - dafuer in fehlt noch immer der Club (und
ich hab ihn erst dieses Jahr gemacht...)

Darklor

-----------------------------------------------------------------------------



Re^5: Abenteuertagebuch (Ark, 17. Aug 2004, 22:31:12):
~#! rn=Darklor rt=1092769464 rg=d.wald
~#! tid=1092438302
Das war meine Daemlichkeit und ist nun hoffentlich behoben.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^6: Abenteuertagebuch (Montanus, 18. Aug 2004, 10:10:19):
~#! rn=Ark rt=1092774672 rg=d.wald
~#! tid=1092438302
Hmmm, und wenn auch noch Paganinis Teufelsgeige eingelsen wuerde... immerhin
war das meine vierte Quest, direkt nach Casino, Schrat und Waldbauernhof.

-----------------------------------------------------------------------------



Re^7: Abenteuertagebuch (Ark, 18. Aug 2004, 12:17:55):
~#! rn=Montanus rt=1092816619 rg=d.wald
~#! tid=1092438302
Haengt alles von noch vorhandenen Logfiles ab.
Duncton ist etwas problematisch, da verschiedene Versionen existieren, noch
etwas undurchsichtig, deshalb versprech ich vorsichtigerweise mal nix.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Vagnards Ringe (Nibel, 20. Aug 2004, 11:34:04):
Ringe des besagten Herrn sollten nun wieder fruehere Werte angenommen haben.
  - Nibel
-----------------------------------------------------------------------------



Kampfstaebe (Nibel,  3. Sep 2004, 17:01:12):
Einige Kampfstab-Keulen sind nun echte Kampfstaebe... Weitere moegen folgen.
  - Nibel
-----------------------------------------------------------------------------



Achtung (Morgoth,  9. Sep 2004, 02:43:49):
Hi

da es bei Nibel ein bischen gebuggt hat, aber leider niemand mehr mit
Schreibrechten da ist, hab ich einen Raum abgehaengt. Es fehlen also ein paar
Ausgaenge. Vorsichtig mit Wegescripten oder so :)

M*

-----------------------------------------------------------------------------



Re: Achtung (Nibel,  9. Sep 2004, 16:55:32):
~#! rn=Morgoth rt=1094690629 rg=d.wald
~#! tid=1094690629
Baum faellt! Und erschlaegt gleich den kleinen Bug :)
  - Nibel
-----------------------------------------------------------------------------



Baum faellt... (Nibel, 18. Okt 2004, 08:53:09):
Dereinst brodelte es inmitten des Waldes. Der Vulkan spie Feuer und wirbelnde 
Flammenlohen erhellten die Nacht. Horden wildester Kreaturen pilgerten zum
brennenden Berg und die Tiere fluechteten in Scharen, getrieben vom 
schrecklichen Laerm. Schon kurz darauf machten sich mutige Recken auf, und
fanden tief darunten etwas... Doch kehrten sie wohltrunken zurueck und
konnten sich ihrer Gedanken nicht entledigen.

  - Nibel
-----------------------------------------------------------------------------



Re: Baum faellt... (Nibel, 18. Okt 2004, 18:04:31):
~#! rn=Nibel rt=1098082389 rg=d.wald
~#! tid=1098082389
Und weiter gehts...
  - Nibel
-----------------------------------------------------------------------------



Hilf den Gnarfen (Tealc, 25. Okt 2004, 21:30:13):
Hi liebe Menschen, Zwerge, Hobbits, Elfen, Dunkelelfen, Felinen und was sonst
noch so alles rumkriecht ;-)

Es ist so weit - es gibt mal wieder eine neue Quest!

Sie heisst "Hilf den Gnarfen" und ist ab Level 1 spielbar.
Weitere Infos zur Quest erhaltet Ihr natuerlich wie immer vom Wanderer auf der
Hochebene.

So, dann viel Spass beim Spielen!
Ueber Feedback wuerde ich mich natuerlich sehr freuen.

Gruss,
Tealc

PS: Fuer hoehere Katzenkrieger gibts sogar noch eine kleine Ueberraschung ;)

-----------------------------------------------------------------------------



Sterbeorgien und Spielfrust (Nibel, 26. Okt 2004, 20:20:47):
Nachdem sich mal wieder zu kleine Spieler mit ganzen Dorfbevoelkerungen
angelegt haben und mehrere Male nacheinander den Kuerzeren zogen, habe
ich mal eine Sicherung eingebaut. Nur falls da wer ueben geht, und sich
wundert. Betroffen sind Elfendorf + Hobbithuegelhausen.

  - Nibel
-----------------------------------------------------------------------------



Re: Sterbeorgien und Spielfrust (Kellybundy,  1. Nov 2004, 18:58:58):
~#! rn=Nibel rt=1098814847 rg=d.wald
~#! tid=1098814847
Hobbithuegelhausen is ja noch nachvollziehbar, aber Elfen? *veraechtlich
schnauf*

Kelly

-----------------------------------------------------------------------------



Schmiedende Feuerzwerge (Nibel, 26. Dez 2004, 15:03:11):
Nachdem ich einem nicht naeher genannten Feuerzwerg ordentlich in den
Hintern getreten habe, hat er sich nun doch dazu ueberreden lassen,
Ausruestungsgegenstaende von Spielern zu reparieren. 
  - Nibel
-----------------------------------------------------------------------------



Eene meene Miste... (Nibel, 18. Jan 2005, 18:13:51):
...es rappelt in der... Schatzkammer Vesrays.
  - Nibel
-----------------------------------------------------------------------------



Vampire und co. (Nibel,  1. Feb 2005, 14:20:38):
Ein fieser Vampir hat jetzt auch was nettes bei sich.
  - Nibel
-----------------------------------------------------------------------------



Hejda (Nibel,  3. Mar 2005, 16:35:30):
Ich trete von meinem Posten als Wald-RM zurueck. Meinem Nachfolger
wuensche ich viel Glueck und moege er sich weiterhin tatkraeftig
fuer die Rodung (wo sollen sonst all die neuen Gebiete hin) und das 
Entelfen des schoensten MG-Gebietes einsetzen.
  - Nibel
-----------------------------------------------------------------------------



Wunderdoktor (Chagall,  1. Aug 2005, 22:46:24):
Der Wunderdoktor verschenkt seine kostbaren Traenke nun nicht mehr einfach
so wahllos. Eigentlich verschenkt er sie gar nicht mehr, aber ist ja auch
egal. 

MC

-----------------------------------------------------------------------------



Eine schwarze Scheibe (Chagall,  4. Aug 2005, 15:02:15):
sollte jetzt fuer alle Gilden identifizierbar sein.

MC

-----------------------------------------------------------------------------



Neue Waldbewohner gesichtet! (Ark,  5. Okt 2005, 13:52:50):
Rufe drangen zu ihm vor ... neugierige Rufe, suchende Rufe, die
sich stetig naeherten. Gut, das koennte bedeuten, dass er endlich
gerettet sein wuerde. Es wurde auch Zeit, denn seine Verletzungen
waren unangenehm, gefaehrlich? Schmerzhaft jede Bewegung, der Hals
in Flammen, trocken wie Zunder die Augen, die Blut traenten ...

'Hallo, wie geht es Dir?'
Das kindliche Gesicht eines Hobbits beugte sich ueber ihn, so nah,
dass er den nach Metwurst riechenden Atem feucht und warm an der
Nase spuerte.
'Ich glaube, er lebt, Driddel. Los, bring ihm noch etwas von dem
 guten Kraeuterschnaps, das hilft immer.'
Die Stimme entfernte sich mit dem runden Kopf, dann hoerte er noch
ein Klirren toenerner Gefaesse, bevor die Welt verschwamm und ihn
erneut in Dunkelheit stiess.

Wie er sie hasste. Sie paeppelten ihn, pflegten ihn und gaben ihm
zu essen, oh ja, das war nett und freundlich, doch irgendwann ging
ihm das ewige, nicht endenwollende Geplapper muessiger Platitueden
doch sehr auf den Geist. Doch seine gelegentlichen Wutanfaelle
schienen die Hobbits allenfalls zu belustigen, spornten sie zu
neuen Erzaehlungen an, die immer wieder von Fragen, Fragen, Fragen
nach seinen Abenteuern mit dem Drachen unterbrochen wurden.
Als haette er die Geschichte von der Reise mit seinem Bruder nicht
schon hunderte Male erzaehlt ...

'Und Du bist sicher, dass der Drache uns nicht gesehen hat?'
Die Stimme seines Bruders liess Till aufhorchen, schwang in ihr
doch deutliche Besorgnis mit.
'Klar, denkst Du, ich bin ein Anfaenger? He, wir Schwarzwichtel
 werden uns doch von so einem nicht ins Bockshorn jagen lassen,
 oder?'
Er versuchte, ruhig zu klingen, doch es gelang nur notduerftig.
'Zeig mir doch nochmal den Stein.'
Thellurion sah misstrauisch zu ihm herueber:
'Nein, wir schauen ihn gemeinsam zuhause an, wenn wir in Sicherheit
 sind. Vorher ist es zu gefaehrlich, wir wissen ja nicht, ob er uns
 nicht noch verfolgt.'
Grummelnd starrte Till auf den Boden vor sich.
'Ich meine ja nur, ich will nur nochmal sehen, ob Du ihn nicht etwa
 verlegt hast, kann ja sein, die Flucht war ja recht wild und so,
 und ich muss schliesslich auf Dich aufpassen, Du warst schon immer
 der Leichtsinnige der Familie, also komm schon, stell' Dich nicht
 so an.'
Doch Thellurion blieb hart, verweigerte Till immer wieder auch nur
den kleinsten Blick auf den wertvollen gruenen Stein, den sie unter
grosser Gefahr ... an sich gebracht, nein, gerettet hatten.
So beschaeftigt war Till mit seinen Gedanken, dass er nicht merkte,
dass die Voegel im Wald verstummten, ein Schatten sich ueber ihn
und seinen Bruder senkte und das pulsartige Fauchen von Schwingen
aus Drachenleder immer lauter wurde.
Erst als er seinen Bruder schon schreiend im Gebuesch abseits des
Weges verschwinden sah, erkannte er schockiert, in welcher Gefahr
sie sich befanden.
Das war so ziemlich das Letzte, an was er sich erinnern konnte, als
sich der bruellende gruene Vorhang um seinen Koerper wand und ihn
in die Hoelle zu entreissen drohte.

'Und wo ist Dein Bruder jetzt?'
Der junge Hobbit vor ihm riss Till aus seinem Gruebeln.
'Er hat sich aufgemacht, die Bestie zu suchen, mein kleiner ... hm,
 Freund. Offenbar will er ihm ein Opfer bringen, meinen Stein will
 er der Kreatur geben, meinen schoenen Stein, meinen Schatz!'
Mit grossen Augen sah ihn der Hobbit an, sprachlos - zumindest fuer
kurze Zeit. Vielleicht sollte er sich nicht laenger unter diesem
neugierigen Volk aufhalten, es waere besser, sich von den Hobbits
ein wenig zu distanzieren. Sie koennen ihm nicht helfen, doch kann
er selbst nichts ausrichten, denn man kennt ihn sicher, wuerde ihn
toeten, wenn er sich dem Drachen noch einmal naehert.

Ein paar Tage spaeter fragten sich die Hobbits, wer ihr Gast war
und wohin er wohl verschwunden sein mag. Und haetten die Drebbles
an diesem Tag nicht feucht-froehlich den Namenstag von Pelina -
oder war es Hulger Drebble - gefeiert ... wer weiss, dann haetten
die Hobbits sich sicher besorgt auf die Suche nach ihm gemacht.
Doch so war es gut, so konnte er nun ungestoert auf Hilfe warten.
Und Hilfe wuerde er ohne Zweifel brauchen!


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Questinfos (Ark,  5. Okt 2005, 13:53:16):
Hurra, es ist vollbracht, eine neue Quest ist da.
Diese eine hat etwas laenger gebraucht aus nunmehr unwichtigen
historischen Gruenden :-) Sie hat ueberdies noch den zweifelhaften
Charme eines gewissen Experiments, denn sie laesst sich auf mehrere
Arten loesen: entweder durch Forschen oder durch Metzeln ... und
huch, damit habe ich eigentlich schon eine Musterloesung verraten.
So leicht wird es allerdings auch nicht gemacht, ich hoffe, jeder
hat das Gefuehl, die Punkte sind redlich verdient. Viele Loesungen
"mittendrin" sind ebenfalls moeglich, einige bedingen dann recht
zwangslaeufig den naechsten Schritt. Gewalt erzeugt eben mitunter
Gegengewalt. Zu den Loesungen: sie sind sehr abhaengig von dem, was
ihr Spieler seid und darstellt, deshalb immer aufpassen, dass ihr
das, was euch zur Verfuegung steht, auch nutzt und eure Rolle ein
wenig spielt.

Nachdem ich nebuloes geschwafelt und angedeutet habe, noch eine
Bitte. Aufgrund der oben angedeuteten vielfachen Loesungen, aber nur
einer begrenzter Anzahl schlachtungswilliger NPC, kann es gerade am
Anfang zu vermehrtem Unmut kommen, dem ich etwas, aber natuerlich
nicht vollstaendig vorbeugen konnte. Ein Appell an gegenseitige
Ruecksichtnahme sei deshalb erlaubt, wenngleich selbstverstaendlich.
Dies ist ebenfalls ein Teil des Experiments, zukuenftig auch solche
Quests zuzulassen, die dem Spieler ein wenig Freiheit bei der
Loesungsfindung lassen ... wenn man das so nennen darf. Immerhin
bleibt einem Spieler durchaus noch ein weiterer Reiz, erneut das
Questgebiet zu betreten, sei es, um Kills zu erobern oder in Ruhe
zu forschen. Auch die lange erwartete Questbelohnung fuer die
ultimativen Helden koennte es jederzeit wert sein wiederzukehren.
Man wird sehen.

Natuerlich wuensche ich mir jederzeit Kritik, positiv wie negativ,
aber hoffentlich sachlich und konkret. Und nun bleibt mir nichts
weiter, als euch viel Spass zu wuenschen und zu hoffen, dass ihr
den auch habt.

Dank gilt auch der Balance fuer die Geduld und das Testen, besonders
an Huraxprax und Lurchi.

Euer


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Helfer gesucht! (Selebelleth,  3. Nov 2005, 18:52:25):
Hallo ihr grossen Abenteurer,

Mir wird das hier zu viel. Erst soll ich hier ein Fest organisieren, dann 
verlier ich meine Lieblingsbrosche und habe keinen Kopf mehr fuer nichts! 
Koennte jemand vorbeikommen und mir vielleicht helfen? Ach ja. Ich habs ja 
fast vergessen. Ich bin die Seleb und wohne im Nebelelfendorf. Das werdet 
ihr sicher kennen. Wer Zeitung liest, weiss schliesslich alles. Naja fast. 
Aber eigentlich habe ich keine Zeit. Wollte aber hier um Hilfe bitten, wenn 
jemand meine Brosche findet, kann er, oder sie, wegen mir kann es auch ein
Zwerg sein, da bin ich mir nicht mit dem Geschlecht sicher. Egal. Wenn sie
jemand findet, koennte derjenige sie bitte bitte herbringen! Aber ich will
keine Neue - ich meine, keine gekaufte, ich will die eine, die ich verloren
habe. Sie hat fuer mich einen grossen, aehm, persoenlichen Wert.
Vielen, vielen Dank im Vorraus.

Eure Selebelleth.

-----------------------------------------------------------------------------



Re: Helfer gesucht! (Seleven,  3. Nov 2005, 19:01:15):
~#! rn=Selebelleth rt=1131040345 rg=d.wald
~#! tid=1131040345
So. Jetzt ist mein Gesellenstueck komplett :^).
Ich moechte mich hiermit nochmal bei allen Helfern bedanken, vor allem bei
Zook - die Popcorntuete musste ich wegen ihm selber anschliessen, und das
Gebiet drumrum halt auch. Ausserdem will ich mich bei meiner Mutti Twingi
bedanken, die mein generve ausgehalten hat und an alle RMs Wald, die in 
letzter Zeit so verabschiedet wurden, natuerlich auch bei Chagall, der den
Job hoffentlich noch ein wenig behaelt. Ich moechte auch die Testies und 
Ark nicht ungenannt lassen. Danke Whitetiger, danke Highlander, danke Bran.
So. Genug geschleimt. Viel Spass beim forschen.

Seleven.

-----------------------------------------------------------------------------



Brutzeldi Brutzelda (Chagall, 11. Dez 2005, 20:58:50):
Amtliches Schreiben der Forstverwaltung.

Die Forstverwaltung gibt bekannt:

Offenes Feuer im Wald ist verboten. Zuwiderhandlungen werden unter
Umstaenden mit zusammenbrechenden Bruecken bestraft, die Ausruestung
konfisziert und in einem sicheren Raum verstaut. Diese kann zu denen
in der Anlage genannten Oeffnungszeiten abgeholt werden.

gez.
<unleserliches Gekrakel> <Stempel>

-----------------------------------------------------------------------------



Drachenaltar (Chagall, 28. Dez 2005, 18:42:33):
Klitzekleine Aenderung am Drachenaltar, duerfte den groessten Teil von Euch
nicht betreffen. Diejenigen, welche die Aenderung betrifft, sollten eventuell
einmal ihr Verhalten ueberdenken.

MC

-----------------------------------------------------------------------------



Kleine Aenderung bei den Nebelelfen (Seleven,  9. Jan 2006, 18:18:34):
Kraeht vielleicht kein Hahn nach, aber im Baum der Nebelelfen kann man sich
jetzt auch per oben/unten bewegen. Hatte diese Idee recht oft im Repfile,
deswegen kriegt ihr jetzt auch ein paar Zeilen Scroll.
Seleven.

-----------------------------------------------------------------------------



Forst der Silberseide entdeckt! (Ark, 15. Jan 2006, 00:23:35):
Der Dunkelelf sah auf. Der Schmerz stoerte ihn nicht, doch dafuer mehr,
wie es dazu kommen konnte. Warum hatte er nur versagt? Nun stand er
vor seinem Meister und schaemte sich, seine Wangen brannten nicht nur
vor Pein, die eingebrannten Zeichen der Schande wuerden einige Zeit
brauchen, bis die Wunden geschlossen, die Haut vernarbt sein wuerde.
Vor allem war es die Schmach, die ihm die Tyrannenspinnen zugefuegt
hatten, allen voran ihre Koenigin, Ssu'ssuraht. Bis er gemerkt hatte,
dass sie ein falsches Spiel mit ihm trieb, war es bereits zu spaet, der
kleine Forst fast voellig zerstoert.
All das trieb sie hoeher in der Gunst seines Meisters, doch er wusste,
dass er noch eine Chance erhalten wuerde. Seine Zeit der Folter wuerde
bald beendet sein, sein Domizil wieder erneuert, sein geschundener
Koerper wieder unter seiner Kontrolle. Natuerlich wuerde man ihn nicht
mehr unbeaufsichtigt lassen, dafuer wuerde Ssu'ssuraht schon sorgen,
da sie ihn fuerchtete. Aber ihre Kreaturen sind schwach, das wusste er.
Nicht mehr lange, und der Forst wuerde ihm wieder gehoeren, und dann ...

Das Boese im Wald gebar sich stets aufs Neue, schier unerschoepflich
erschienen ihm die Energien, die staendig neue Spinnen erscheinen
liessen. Er musste doch dagegen vorgehen, sein Eid verlangte von ihm,
diesen unhaltbaren, ja, unheiligen Zustand zu veraendern. Ein einfacher
Mann des Waldes war er, doch aeusserst beunruhigt, wie schnell sich der
Forst veraenderte, die Tannen in den Besitz der Finsternis wanderten.
Entschlossen stiefelte er aus dem Waeldchen heraus. Erfreut atmete der
gruengekleidete Mann die frische Luft, die aus Osten von den Gipfeln
der Berge von Tingan heranwehte. Der Mann wusste, er wuerde Hilfe
benoetigen, denn alleine war er zu schwach fuer die vielen Spinnen.
Und so kehrte er zu seinen kleinen Freunden, den Wichten zurueck.

Gruebelnd lutschte der Wonnewichtkoenig an einem seiner duerren, aber
kraeftigen Finger:
'Und wir wissen nicht, wer sich dahinter verbergen mag?'
Seufzend meinte der Mann:
'Mein Koenig, wir muessen uns damit abfinden, dass es niemand ist, der
 es gut mit uns meint. Die Spinnen sind ein Zeichen, sie gehorchen nicht
 den mir bekannten Gesetzen der Natur, sie sind ... unnatuerlich.'
Innerlich stoehnte er, denn es war bereits der dritte Tag, an dem er mit
dem Koenig der Wichte zusammensass, um sich zu beraten.
'Nun, nun, wir sind der Meinung, dass eventuell etwas getan werden muss,
 um etwas mehr Licht in die Sache zu bringen.'
Das war sein Stichwort.
'Majestaet, es freut mich zu hoeren, dass ...'
Er wurde durch ein Husten unterbrochen:
'Deshalb werden wir dafuer sorgen, dass Ihr alles Noetige erhalten
 werdet, um unsere Armee in den Wald zu fuehren, um diese Unwesen zu
 untersuchen und, wenn noetig, zu vernichten.'
Stolz sah sich der Koenig um, ueberzeugt davon, eine sehr wichtige
Entscheidung mit Wuerde getroffen zu haben.
'Aber Majestaet, ich kann nicht verlangen, dass Ihr Eure Untertanen
 aufs Spiel setzt. Sicher werden sich ...'
'Schweigt, unsere Meinung steht fest. Wir haben hier einige Hilfsmittel
 fuer Euch, die Euch helfen werden.'
Entsetzt starrt der Mann auf die kleinen Kristalle, die ihm nach einer
Weile von grinsenden Wichten ueberreicht wurden.
'Aber ...'
'Wir sagten doch, schweigt. Wir muessen nun eine Strategie ersinnen,
 die ...'
Er hoerte nicht mehr zu. Entschlossen, den Anweisungen nicht ganz Folge
zu leisten, nickte er ab und an geduldig, entschuldigte sich hoeflich,
um sich zurueckzuziehen. Nein, die Wonnewichte konnte er unmoeglich auf
eine solche Mission schicken. Sie wussten ja nicht einmal, wie es dort
draussen aussieht. Doch er erinnerte sich an die vielen Besucher, die
der Wald, in dem er nun lebte, in letzter Zeit gesehen hatte. Alle von
diesen Abenteurern waren auf Gefahren aus, und das musste er nutzen.
Sicher wuerden sie sich als eine gute Waffe im Kampf gegen die Spinnen
erweisen.
Er brauchte ja nur zu warten ...


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Neues kleines Gebiet (Ark, 15. Jan 2006, 00:28:13):
Hi, das kleine Gebiet gehoert eigentlich unter d.anfaenger, aber ich hab es
dennoch mal hier angekuendigt. Enthalten ist eine kleine Miniquest, die
durchaus auch fuer groessere Spieler interessant ist/sein kann. Der
Schwerpunkt liegt hier zwar auf dem Metzeln, doch wird man nicht nur
waffenschwingend durch die Raeume rasen koennen. Es ist fuer den einen oder
anderen blutigen Anfaenger noch ein wenig schwierig, doch mit ein klein wenig
Erfahrung und Hilfe sollte er sich hier bewaehren koennen ... und eine
Belohnung gibt es auch :-)
Viel Spass damit.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Neues kleines Gebiet (Ark, 15. Jan 2006, 00:32:02):
~#! rn=Ark rt=1137281293 rg=d.wald
~#! tid=1137281293
Ach, wer einen bestimmten Kristall in seinem Inventar vermisst, ich hab sie
alle eingezogen, neue sind wieder holbar, die sind nun nutzbar.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Neues kleines Gebiet (Ark, 23. Jan 2006, 19:04:28):
~#! rn=Ark rt=1137281522 rg=d.wald
~#! tid=1137281293
Noch eins zum Kristall: man kann ihn bei Verlust wieder beim Waldlaeufer
bekommen. Hat man zwischenzeitlich "ende" gemacht, geht das auch, allerdings
faengt man mit dem Spinnentoeten auch nochmal an.
Dazu habe ich noch den kleinen Bug beseitigt, dass der Kristall/der
Waldlaeufer die falschen Spinnen ansagt, wenn man zwischenzeitlich so weit
aufgestiegen ist, dass man eigentlich andere Spinnen toeten soll. Man muss nun
immer die toeten, die man auch bei Auftragsvergabe befohlen bekommen hat
(logisch). Ausnahme: "ende" (siehe auch weiter oben).


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Nix wichtiges... (Chagall, 24. Jan 2006, 20:07:02):
Der Ring eines kleinen, pelzigen Freundes sollte jetzt auch fuer die
Bettvorleger aus Katzmandu funktionieren. 

Falls doch nicht, laut schreien, dreimal im Kreis rennen und dann das Fell
ablecken.

Waldmeister Chagall

-----------------------------------------------------------------------------



Die Wiederkehr in den Spinnenforst (Ark, 17. Feb 2006, 22:37:48):
Der Abenteurer roechelte nur noch:
'Sie waren so ... viele, zu viele auf ... einmal ... gewaltige Spinner
 sind ... es, unglaublich grosse ... sie brueten ... brueten alles ...
 aus ... alles brueten sie aus ...'
Dann sank der Kopf des tapferen Geschundenen zurueck auf den Boden, das
Blut sickerte langsam aus der haesslichen Kopfwunde und umgab den Toten
wie ein roter Heiligenschein.
Verstohlen wischte der Mann eine Traene von seiner Wange. Immer noch
wueteten die weissen Spinnen im kleinen Forst am Rande der Berge von
Tingan. Immer noch musste man befuerchten, dass sich dort ein groesseres
Uebel verbarg. Wenn doch nur jemand ihm helfen wuerde ...
Doch es gab ja jene, die er schon einmal dorthin geschickt hatte. Und
vielleicht waren sie so stark, sich tiefer in den Forst hineinzuwagen.
Er brauchte ja nur zu warten ...


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Die Wiederkehr in den Spinnenforst (Morgoth, 20. Feb 2006, 08:07:52):
~#! rn=Ark rt=1140212268 rg=d.wald
~#! tid=1140212268
Quote: ".... gewaltige Spinner ...." 

M*

-----------------------------------------------------------------------------



Nun liebe Seher, gebt fein acht... (Chagall, 23. Feb 2006, 19:51:30):
ich hab' Euch etwas mitgebracht.

Naja, ist nichts wildes, aber ein kleines, seltsames
Maennlein treibt ab sofort im naeheren Umfeld von
Paraportal 8 sein Unwesen. Falls wer drueber stolpert,
einfach schnell umhauen, damit es keinen Unfug treibt.

Waldmeisterchen Chagall

-----------------------------------------------------------------------------



Re: Nun liebe Seher, gebt fein acht... (Chagall, 23. Feb 2006, 20:02:06):
~#! rn=Chagall rt=1140720690 rg=d.wald
~#! tid=1140720690
Vielleicht noch so ein kleiner Hinweis. Zu schnelles Hauen ist 
u. U. kontraproduktiv.

MC

-----------------------------------------------------------------------------



Re: Re: Nun liebe Seher, gebt fein acht... (Zook, 23. Feb 2006, 20:03:24):
~#! rn=Chagall rt=1140721326 rg=d.wald
~#! tid=1140720690
Nu das war wohl klar: Erst hauen, dann fragen? ;)

Zook.

-----------------------------------------------------------------------------



Re^3: Nun liebe Seher, gebt fein acht... (Chagall, 23. Feb 2006, 20:09:28):
~#! rn=Zook rt=1140721404 rg=d.wald
~#! tid=1140720690
Naja, ich sag mal so: Zum einen ist das Ding extrem nachtragend. Zum anderen
kaempft es auch manchmal ungern allein.

MC

-----------------------------------------------------------------------------



Re^4: Nun liebe Seher, gebt fein acht... (Bran, 23. Feb 2006, 20:09:54):
~#! rn=Chagall rt=1140721768 rg=d.wald
~#! tid=1140720690
Petze.

-----------------------------------------------------------------------------



Re^5: Nun liebe Seher, gebt fein acht... (Chagall, 23. Feb 2006, 20:10:26):
~#! rn=Bran rt=1140721794 rg=d.wald
~#! tid=1140720690
Ich darf das, immerhin hat mich das Ding die Treppe runtergeschubst.

MC

-----------------------------------------------------------------------------



Der dunkle Beschwoerer (Ark, 24. Feb 2006, 15:44:14):
Der Dunkelelf sah laechelnd auf:
'Habt ergebensten Dank, Meister.'
Ein Teilerfolg, doch er konnte lange warten. Er war erst einmal zurueck.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Der dunkle Beschwoerer (Ark, 24. Feb 2006, 15:46:10):
~#! rn=Ark rt=1140792254 rg=d.wald
~#! tid=1140792254
Ausnahmsweise gebe ich mal ausdruecklich vorher bekannt, dass eine Kunst noch
nicht so funktioniert, also nicht wundern, wenn er im Laufe der Zeit nochwas
dazulernt. Warnung Ende :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Notausgaenge (Chagall,  7. Aug 2006, 21:19:13):
Ein gewisser Notausgang in einem finstren Reich fuehrt jetzt nicht mehr
zu einem (fast) Komplettverlust der Ausruestung. Nehmen wuerde ich den
Ausgang allerdings trotzdem nicht, wer weiss was stattdessen dort nun
passiert.

MC

-----------------------------------------------------------------------------



Zweililienstab (Chagall, 20. Aug 2006, 19:57:11):
Damit hier mal wieder was steht:

Am Zweililienstab gab es eine kleine balancetechnische Anpassung.

MC

-----------------------------------------------------------------------------



Re: Zweililienstab (Sharia, 20. Aug 2006, 20:05:13):
~#! rn=Chagall rt=1156096631 rg=d.wald
~#! tid=1156096631
tja jetzt muesste man nurnoch wissen was das ist und wo das ist :)

Sharia

-----------------------------------------------------------------------------



Re: Re: Zweililienstab (Chagall, 20. Aug 2006, 20:07:32):
~#! rn=Sharia rt=1156097113 rg=d.wald
~#! tid=1156096631
Tja, warum soll es Dir anders gehen als mir. Ich musste den grad auch
suchen. :)

MC

-----------------------------------------------------------------------------



Re: Re: Zweililienstab (Eljo, 20. Aug 2006, 20:07:36):
~#! rn=Sharia rt=1156097113 rg=d.wald
~#! tid=1156096631
Seherraeuber war das doch (Oder haut mich :-) )

-----------------------------------------------------------------------------



Re^3: Zweililienstab (Sharia, 20. Aug 2006, 20:09:08):
~#! rn=Eljo rt=1156097256 rg=d.wald
~#! tid=1156096631
achsoo na die schaff ich eh nich


-----------------------------------------------------------------------------



Re^4: Zweililienstab (Eljo, 20. Aug 2006, 20:10:28):
~#! rn=Sharia rt=1156097348 rg=d.wald
~#! tid=1156096631
Schwaechling. ;-)

-----------------------------------------------------------------------------



Re^5: Zweililienstab (Bran, 20. Aug 2006, 20:15:42):
~#! rn=Eljo rt=1156097428 rg=d.wald
~#! tid=1156096631
War das nicht eigentlich ein Schwert, das Ding?

-----------------------------------------------------------------------------



Re^6: Zweililienstab (Miril, 20. Aug 2006, 20:16:14):
~#! rn=Bran rt=1156097742 rg=d.wald
~#! tid=1156096631
Die Betonung liegt auf "war".

-----------------------------------------------------------------------------



Re^7: Zweililienstab (Gloinson, 20. Aug 2006, 23:45:06):
~#! rn=Miril rt=1156097774 rg=d.wald
~#! tid=1156096631
Nett. Vielleicht ist er ja jetzt klerikompatibel.


-----------------------------------------------------------------------------



Rosenkleid bekleidete Frauen ... (Zarunia, 26. Aug 2006, 03:53:21):
schon seltsam, dass die gefaehrlichsten npcs immer die 08/15 mobs um die ecke
sind. gibt es eigentlich einen grund, dass neue laden npcs, etc immer die
krassen uebermonster sein muessen.

oder wass soll ich sonst von einer ladentante halten, die mit einem weisen
rossenkleid bekleidet ist und bei der ein schaetze sagt unwuerdig. im kampf
sich aber herausstellt, das sowohl eine gute waffe, als auch sprueche weniger
schaden als an vampiren, giganten, etc macht.

ueberraschend ist dann, dass dieser npcs ploetzlich 150 schaden aufeinmal
raushaut und dabei gleich noch vergiftet.

gruesse zarunia

-----------------------------------------------------------------------------



Re: Rosenkleid bekleidete Frauen ... (Chagall, 26. Aug 2006, 10:23:13):
~#! rn=Zarunia rt=1156557201 rg=d.wald
~#! tid=1156557201
Ich hab keine Ahnung, welchen NPC Du meinst. Aber vielleicht waere
eine Mail an den Magier, der den NPC verbrochen hat, gerne auch mit
cc an den RM Wald hilfreicher, als wenn Du hier wage Andeutungen 
in die MPA setzt.

MC

-----------------------------------------------------------------------------



Re: Re: Rosenkleid bekleidete Frauen ... (Eljo, 26. Aug 2006, 10:23:33):
~#! rn=Chagall rt=1156580593 rg=d.wald
~#! tid=1156557201
Selevens Nebeldorf.

-----------------------------------------------------------------------------



Re: Rosenkleid bekleidete Frauen ... (Ark, 26. Aug 2006, 10:30:31):
~#! rn=Zarunia rt=1156557201 rg=d.wald
~#! tid=1156557201
Das ist aber nichts Neues. Es gibt hier Orks, die sind fast sofort tot, wenn
man sie nur anschaut, und andere, die Dich in einer Runde plaetten. Daraus
jetzt zu fordern, dass eine Angleichung stattfindet, waere ebenso sinnlos wie
vermessen. Falls eine begruendete (!) Unfairness vorliegt, bitte wie Chagall
vorschlaegt verfahren. Ansonsten muss man den verantwortlichen Magiern sicher
zugestehen, dass bei der Gestaltung eine gewisse Freiheit gestattet sein darf.
Bei NPC, die nicht von sich aus angreifen, geht man immer selbst das Risiko
ein. Falls Du meinst, dass nicht ausreichend gewarnt wurde, dann reicht auch
eine Mail an den jeweiligen Magier.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Rosenkleid bekleidete Frauen ... (Eljo, 26. Aug 2006, 10:32:30):
~#! rn=Ark rt=1156581031 rg=d.wald
~#! tid=1156557201
Das Vieh war unfair, als die Vergiftung noch ueber den Tod hinaus hielt. ;-)
Und es war unfair, als der Spezialangriff noch bei einem Kleri 200 Schaden
machte, bei anderen ein direktes die().
Aber seitdem das angepasst wurde, naja, geht man halt oefter tanken. 

-----------------------------------------------------------------------------



Re^3: Rosenkleid bekleidete Frauen ... (Ark, 26. Aug 2006, 10:48:50):
~#! rn=Eljo rt=1156581150 rg=d.wald
~#! tid=1156557201
In dem Fall auch mea culpa, denn ich hab's ja abgenommen :-)
Aber ich denke, hier ist die Schoepferin nicht stur und uneinsichtig.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: Rosenkleid bekleidete Frauen ... (Seleven, 26. Aug 2006, 16:09:49):
~#! rn=Ark rt=1156582130 rg=d.wald
~#! tid=1156557201
Ich antworte auf den letzten Artikel, weil ich gerne wissen wollte, ob jemand
Zarunias Meinung teilt (und das auch hinschreibt).
Die Frau ist gewollt so gestrickt, dass sie hohe Schadensspitzen hat - was man
bei den wenigsten NPCs vorher sieht. Das mit dem Schutz ist vielleicht etwas
gemein, weil es keinen Hinweis darauf gibt. Naja, ausser natuerlich man
beschaeftigt sich vorher mit den Waechtern und merkt, dass die einen
Schutznebel haben, der Schaden absorbiert. Dieser Effekt wird durch das
Rosengestruepp verstaerkt. Ich weiss aber nicht, wie man einen Hinweis darauf
gestalten koennte. Nur wenige Chars koennen in die Zukunft scheuen und wissen
dadurch, was fuer Verteidigungsmassnahmen ein NPC ergreift. Was Du mit einer
guten Waffe meinst, ist mir nicht klar, die Haende sind recht schwach. Wie dem
auch sei, ich hoffe, dass sich die anderen Spieler/Seher, die sich durch die
Nebelelfen ungerecht behandelt fuehlen, sich auch bei mir melden. Gegen
konstruktive Kritik bin ich nicht voekllig immun. :) 
Seleven.

-----------------------------------------------------------------------------



Re^5: Rosenkleid bekleidete Frauen ... (Zarunia, 26. Aug 2006, 19:44:14):
~#! rn=Seleven rt=1156601389 rg=d.wald
~#! tid=1156557201
mit "guter waffe"/zauber meinte ich meine sprueche. da ging nichts durch. kann
man den nebel nicht so gestalten, dass er z.b. max 80% des schaden absorbiert.
eventuell wirds ja auch so gemacht.

-----------------------------------------------------------------------------



Re^6: Rosenkleid bekleidete Frauen ... (Eljo, 26. Aug 2006, 19:46:32):
~#! rn=Zarunia rt=1156614254 rg=d.wald
~#! tid=1156557201
Ist sie zu stark, bist Du zu schwach.
Also als L18 Spieler erwarten, bei jedem Body/Schutz durchzukommen, ist auch
etwas viel, oder?

Ich hatte bei ihrem Schutz nie Probleme, mit keinem meiner Chars. Sicherlich
wird einiges absorbiert, aber garantiert keine 100%.
Insofern wuerde ich vielleicht auch noch etwas an Skills/Leveln drauflegen.
:-)

-----------------------------------------------------------------------------



Re^6: Rosenkleid bekleidete Frauen ... (Seleven, 26. Aug 2006, 20:30:40):
~#! rn=Zarunia rt=1156614254 rg=d.wald
~#! tid=1156557201
Ohne die genaue Zahl im Kopf zu haben - mehr sollte es nicht sein. Eher 60%,
je nach Schadensart. Als Delf solltest Du keine Probleme haben den richtigen
Schaden zu waehlen.
S11

-----------------------------------------------------------------------------



Re: Re: Rosenkleid bekleidete Frauen ... (Bambi, 27. Aug 2006, 11:15:33):
~#! rn=Ark rt=1156581031 rg=d.wald
~#! tid=1156557201
Wenn ich mir ueberlege, was ein einfacher Baer mit Spielern machen wuerde,
wenn ich den nach meinen Vorstellungen programmieren wuerde...

-----------------------------------------------------------------------------



Neue Nachbarn (Selebelleth, 25. Sep 2006, 17:06:15):
Hallo, mal wieder ich.
Hab gerade mit einem ganz bezaubernden Hobbitmaedchen gequatscht. Die wohnt
bei uns um die Ecke, im Birkenwaeldchen. Sie hat leider noch recht wenig
Besuch und ich dachte ich helf ihr mal und schreib, dass ihr sie alle besuchen
sollt. Sie freut sich ganz sicher. So, sonst noch was? Hm. Ach ja. Sie heisst
Myrtillchen. Und wenn was ist - ich wars nicht. Seleven ist wie immer schuld.
Liebe Gruesse von den Nebelelfen.
Eure Seleb.
Eure Seleb.
PS: Wieso kommen denn so wenige Leute zu mir, nachdem sie dem Buergermeister
den Brief gebracht haben?

-----------------------------------------------------------------------------



Briefkasten im Nebelelfendorf (Chagall, 26. Sep 2006, 20:40:04):
Falls irgendwer den Briefkasten im Nebelelfendorf vermisst, der
wurde von der Morgengrauen-Postzentrale wegen Vandalismusgefahr
temporaer entfernt.

i.A. Chagall

-----------------------------------------------------------------------------



Re: Briefkasten im Nebelelfendorf (Seleven, 27. Sep 2006, 10:22:26):
~#! rn=Chagall rt=1159296004 rg=d.wald
~#! tid=1159296004
Ich entschuldige mich schon mal im Vorraus, aber ich habe das ganze Gebiet an
die kommende Umstellung angepasst - bzw. hier zumindest einen Schritt gemacht.
Fuer Eingeweihte: Ich habe fast alles in #pragma strict_types geschrieben und
vor allem in meinem GS oft aus Versehen und Unwissen ein ; dahintergeklemmt.
Letzteres hab ich beseitigt und eigentlich auch alle Files neu geladen.
Eigentlich. Wies aussieht hab ich wohl ein paar uebersehen. Ich hoffe, dass
nicht noch mehr dazukommen, diese Sorte vonBug ist zwar nicht gefaehrlich,
aber dennoch unschoen. Auf Gegenstaende in eurem Inv sollte es aber keine
Auswirkungen haben.
Seleven mit Asche auf ihrem Haput.

-----------------------------------------------------------------------------



Re: Re: Briefkasten im Nebelelfendorf (Seleven, 27. Sep 2006, 10:47:18):
~#! rn=Seleven rt=1159345346 rg=d.wald
~#! tid=1159296004
Habe den Briefkasten verstaerkt, wieder angeschlossen und das Gebiet mal
komplett neu geladen. Ich hoffe es bleibt ruhig.
Seleven

-----------------------------------------------------------------------------



Paragei (Chagall,  6. Nov 2006, 20:45:19):
Hallo liebe Waldwanderer,

ihr solltet ab sofort aufpassen, wenn ihr euch mit dieser
gefaehrlichen Kreatur, dem Paragei, anlegt. Durch einen
Bugfix einer ungenannten Erzmagierin wurde er massiv
aufgewertet.

MC


-----------------------------------------------------------------------------



Myung (Chagall, 18. Dez 2006, 20:31:11):
Die gute Myung tut wieder. Ihr duerft also sterben gehen.

MC

-----------------------------------------------------------------------------



Bericht einer Waldwanderung (Raschaua, 27. Jan 2007, 15:13:02):
Ich wanderte kuerzlich mal wieder durch den Wald in der Naehe des Hobbitdorfs,
als mir ein kleiner dunkler Pfad auffiel. Ich folgte ihm durchs Unterholz und
fand mich bald darauf auf einem recht breiten, aber sehr zugewachsenen Weg
wieder.
Dieser Teil des Waldeswurde offensichtlich schon lange von niemandem mehr
betreten. In frueheren Zeiten muss der Weg jedoch oft benutzt worden sein,
denn bei meinen Erkundungen im dunklen Wald fand ich sogar ein verfallenes
Wirtshaus. Nach einer Weile gelangte ich an das Ufer eines friedlich
daliegenden Sees. Der Weg schien sich auf der anderen Seite des Sees
fortzusetzten, ich entdeckte jedoch keine Moeglichkeit, ihn trockenen Fusses
zu ueberqueren.
Vielleicht gibt es uf der anderen Seite noch mehr zu entdecken und es wuerde
sich lohnen, nach einem Weg auf die andere Seite zu suchen.

Raschaua

-----------------------------------------------------------------------------



Fang Du Lan (Chagall, 18. Feb 2007, 11:50:27):
Der Wuerfel im Wald funktioniert jetzt wieder wie er soll, d.h. man kann
die Gildenquest(s) wieder spielen.

MC

-----------------------------------------------------------------------------



Ascii-Grafik-Umstellung (Ennox, 21. Apr 2007, 13:17:14):
Die Symbole im Schwarzen Kristall von Thors Hammer, sollten jetzt auch mit
Braillezeile und Sprachausgabe erkennbar sein.
Vielen Dank an Xutelius und Kessa fuer die Unterstuetzung.

Ennox, kaempft gegen das %!"$%&/()=

-----------------------------------------------------------------------------



Fluch der Weisheit (Chagall, 26. Jun 2007, 17:22:25):
Huhu,

die Quest 'Fluch der Weisheit' sollte jetzt wieder spielbar sein. Falls
irgendetwas doch nicht funktioniert, bitte per Mail kurz mitteilen.

MC

-----------------------------------------------------------------------------



Zaubererunterstuetzungen (Nibel, 16. Sep 2007, 13:01:05):
Dank Chagall unterstuetzen nun einige meiner Items Zaubersprueche ziemlich
gut, einmal unverbindlich Nachsehn lohnt sich auf alle Faelle.
  - N

-----------------------------------------------------------------------------



Jahrealte Repfiles... (Nibel, 25. Sep 2007, 17:57:02):
...werden trotzdem gelesen, lieber spaet als nie. Vielen Dank an unzaehlige
Typos, Ideen und Bugreports. Ist soweit gefixt.
  - N
-----------------------------------------------------------------------------



Foerster und Fischer (Chagall,  8. Jan 2008, 20:39:09):
Huhu,

damit sich niemand von den HLPs wundert, ich habe gerade das Gebiet rund um
Patryns Foerster abgeklemmt. Wann und vor allem ob es wieder angeschlossen
wird, steht momentan noch nicht fest, ich schreibe die Tage aber noch was in
die MPA.

MC

-----------------------------------------------------------------------------



Re: Foerster und Fischer (Chagall,  1. Feb 2008, 16:00:42):
~#! rn=Chagall rt=1199821149 rg=d.wald
~#! tid=1199821149
Ok, besser spaet als nie. Das Gebiet bleibt erstmal weg, ich gehe aber davon
aus, dass es wieder kommt. Wann weiss ich noch nicht genau, aber es kommt
wieder.

MC

-----------------------------------------------------------------------------



Re: Foerster und Fischer (Chagall, 18. Feb 2008, 20:03:24):
~#! rn=Chagall rt=1199821149 rg=d.wald
~#! tid=1199821149
Gebiet wieder da, duerft also sterben gehen.

MC

-----------------------------------------------------------------------------



Orkbaerchen (Chagall, 23. Feb 2008, 13:22:27):
Huhu,

im Magierbaum im Elfendorf gibt es jetzt wieder Orkbaerchen bzw. eine Tuete
mit Orkbaerchen zu finden.

MC

-----------------------------------------------------------------------------



Re: Orkbaerchen (Huraxprax, 26. Feb 2008, 22:18:56):
~#! rn=Chagall rt=1203769347 rg=d.wald
~#! tid=1203769347
Orkbaerchen!
:jubelt Chagall zu.
:sucht vergeblich in seinem Telefonbuch nach einer Schweizer Telefonnummer...

hurax

-----------------------------------------------------------------------------



Eine kleine Aenderung bei den Nebelelfen ... (Seleven,  1. Mar 2008, 20:28:47):
... die keiner merken sollte, weil sie rein technischer Natur ist. Sollte aber
das Suchen, bzw. Finden der Brosche irgendwie selstam reagieren, schreibt mich
bitte an. :-)
Wenn Du nichts von einer Brosche, oder den Nebelelfen weisst, frag mal den
Wanderer nach Spaetzle ...

Seleven, nebulos.

-----------------------------------------------------------------------------



Tabibito und Kia (Chagall,  7. Mar 2008, 19:10:45):
Auch Tabibito und Kia erinnern sich jetzt wieder an ihre Faehigkeiten.

MC

-----------------------------------------------------------------------------



Thefezaneh (Ark, 26. Jun 2008, 16:04:19):
Als kleinen Bonus ... gewisse Luftgeister helfen jetzt ein bisschen mehr (im
Sinn von Einsatzmoeglichkeiten), der Schutz hilft jetzt auch vor
Ausruestungsbeschaedigung.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Waaagh! (Kessa, 23. Feb 2009, 20:42:24):
Friedlich liegt der Wald um das Doerfchen Skoga im Abendsonnenschein. Ein Tag
wie jeder andere neigt sich dem Ende zu. Die kleinen Kinder spielen auf den
Strassen, waehrend sie aufs Abendessen warten. Die Zwergenwirtin putzt die
Theke fuer die Gaeste, die bald kommen werden, der Pfarrer macht sich bereit,
das Gloeckchen zur Abendandacht zu laeuten. Vor dem Tor packt ein braver
Holzfaeller seine Axt ins Buendel, streckt den mueden Ruecken... da ploetzlich
raschelt es im Gebuesch.

Ein Tier? Er wendet sich um - doch es ist schon wieder still.

Zu still...

Im naechsten Augenblick ertoent ein gellender Kampfschrei, beantwortet von
einem quiekenden Gejohl aus vielen Kehlen. Aus dem Dickicht hervor bricht eine
wilde Horde kleiner gruener Gestalten. Sie ueberrennen den Holzfaeller, der
hilflos liegenbleibt, und stuermen kreischend auf das Dorf der Menschen zu.

Es sind viele - viel zu viele. Kleine gemeine Messerchen schwingend,
pluendernd und marodierend, toben sie durchs Dorf und lassen keinen Stein auf
dem anderen. Ein staemmiger Zwerg hier, eine tapfere Elfin dort versucht
standzuhalten, das Dorf zu verteidigen - doch zu spaet... schon ist Panik
ausgebrochen, und es bleibt nichts als Flucht, wilde, ueberstuerzte Flucht.
Ueberall wimmelt es von den laermenden gruenen Wichten. Jeder Dorfbewohner
ergreift das Kostbarste, das er hat - ein Kind reisst sein Pueppchen an sich,
Muetter und Vaeter ihre Kinder -, und dann fliehen sie, rennen ums nackte
Leben, hinein in den Wald, waehrend hinter ihnen die groehlende Meute durchs
Dorf zieht und alles kurz und klein schlaegt, was den Fliehenden lieb war und
ihnen Heimat bedeutete. Und als der letzte Hobbit das Dorf verlassen hat,
erhebt sich ein jubelnder Siegesschrei ueber den Baumwipfeln:

"Waaaaaaaaaaagh!!"

Jawohl, Freunde: die Goblins sind da! Sie haben sich in einem Doerfchen im
Wald eingenistet und sind nicht gewillt, es wieder herzugeben. Ihr koennt euch
entscheiden: Helft ihr den wilden Kampfmaschinchen, oder wollt ihr den
vertriebenen Menschen, Hobbits, Zwergen und Elfen beistehen, ihre Heimat
zurueckzuerobern? Beide Parteien halten Aufgaben fuer euch bereit - aber
bedenkt: eure Wahl wird Konsequenzen haben. 

Wenn ihr sie besuchen wollt, schaut euch mal im Suedwesten der Waldlichtung
um, dort scheint sich ein neuer Pfad aufgetan zu haben.

Wem es nicht genuegt, den Goblins beim Pluendern und Brandschatzen zu helfen,
der kann fortan auch selber eine fiese kleine Gruenhaut spielen. Viel Spass
dabei wuenschen euch

Kessa und Nibel

-----------------------------------------------------------------------------



Re: Waaagh! (Nibel, 23. Feb 2009, 20:46:03):
~#! rn=Kessa rt=1235418144 rg=d.wald
~#! tid=1235418144
EKs sind noch nicht eingetragen, wir lassen den Questgebern erstmal etwas
Luft. Aber es gibt dort auch sonst jede Menge zu erledigen.
  - N
-----------------------------------------------------------------------------



Re: Waaagh! (Kessa, 23. Feb 2009, 21:31:39):
~#! rn=Kessa rt=1235418144 rg=d.wald
~#! tid=1235418144
Ich moechte mich gern bei allen bedanken, die mich/uns besonders unterstuetzt
haben:

- Zesstra, die mir jede Menge wertvolle Tips gab und einsprang und half, wo es
irgend moeglich war,
- Gloinson, der mir einige eigenartige Sachen so erklaert hat, dass ich sie
wider mein eigenes Erwarten sofort verstand,
- Chagall, der mir besonders in der Anfangszeit mit Rat und Tat zur Seite
stand und in dessen Region unser neues Gebiet nun angeschlossen ist,
- McDee, der tagelang forschte, testete und vor allem pruegelte,
- Humni, der einen fuer sattgefressene Plueschdrachen bemerkenswerten
FP-und-ZT-Eintrage-Spurt hinlegte,
- Zook, der von seinem Berg stieg, das Gebiet begutachtete und als GS-wuerdig
befand,

Und vor allem und ganz besonders

- Ark, der unermuedlich testete, meckerte, mit-entbuggte, ermutigte und ebenso
unermuedlich zwischen eigensinnigen Leuten (zwei davon Nibel und ich :))
vermittelte, bis wir das Projekt tatsaechlich noch auf die Beine brachten,
- und Nibel, der mir mit unendlicher Geduld und einem Koennen, das ich noch
immer laengst nicht richtig beurteilen kann, das Programmieren beibrachte und
das Goblingebiet mit mir zusammen geschrieben hat. Wir hatten soooo viel
Spass. Und jetzt hoffentlich ihr alle :)

Gruss, Kessa

-----------------------------------------------------------------------------



Re: Waaagh! (Orktoeter, 24. Feb 2009, 20:01:21):
~#! rn=Kessa rt=1235418144 rg=d.wald
~#! tid=1235418144
Grats zu dem vollbrachten Werk!

Allerdings: So lange es nicht moeglich ist PKS zu begehen, sollten boese
Rassen nicht fuer Spieler zugaenglich sein (ich weis: es ist eh zu spaet).

quo vadis, MG?

(jedenfalls nicht Richtung Rollenspiel).

-----------------------------------------------------------------------------



Re: Re: Waaagh! (Croft, 24. Feb 2009, 20:02:37):
~#! rn=Orktoeter rt=1235502081 rg=d.wald
~#! tid=1235418144
'hilfe rassen'"Obwohl fuer sie Pluendern, lautes Herumbruellen und die
gemeinsten Streiche
spielen zum Alltag gehoeren, wuerde sie niemand als boesartig bezeichnen."
Gut, dass das geklaert ist.

Croft

-----------------------------------------------------------------------------



Re^3: Waaagh! (Kessa, 24. Feb 2009, 20:05:12):
~#! rn=Croft rt=1235502157 rg=d.wald
~#! tid=1235418144
Wenn du, Orktoeter, mal aus deinem Schloss kaemst und einigen von den neuen
kleinen Goblins zugucken und vor allem zuhoeren wuerdest, koenntest du dich
daran freuen, wie das Rollenspiel grad wieder ein wenig auflebt, und muesstest
nicht die Zeitung zuweinen :)

Waaagh! Kessa

-----------------------------------------------------------------------------



Re^4: Waaagh! (Chagall, 24. Feb 2009, 20:06:14):
~#! rn=Kessa rt=1235502312 rg=d.wald
~#! tid=1235418144
Da merkt man mal wieder, dass an Orktoeter die aktuelle Mudentwicklung
vollkommen vorbeigeht, obwohl er staendig anwesend ist.

MC

-----------------------------------------------------------------------------



Re^3: Waaagh! (Orktoeter, 24. Feb 2009, 20:11:35):
~#! rn=Croft rt=1235502157 rg=d.wald
~#! tid=1235418144
Ahe... die haben gerade einfach so ein Dorf "platt gemacht"... in der "boesen
Variante" kann der Spieler helfen zu pluendern und Brand zu schatzen... das
klingt fuer mich nicht gerade nach den netten Nachbarn von Nebenan.

Klar ist es eine Erweiterung im moeglichen Rollenspiel, aber nur, wenn man
auch akzeptiert, das ein einzelner Angehoeriger einer solchen Rasse in einem
"zivilisierten Ort" instantan gelyncht wuerde.

Dieses Lynchen (oder Playerkill) ist aber im MG nicht vorgesehen, daher finde
ich nicht, dass "boese Rassen" ins MG passen (nicht als Spielerrassen).

-----------------------------------------------------------------------------



Re^4: Waaagh! (Croft, 24. Feb 2009, 20:12:37):
~#! rn=Orktoeter rt=1235502695 rg=d.wald
~#! tid=1235418144
Sind doch eh alle Spieler hier boese, so viel wie hier getoetet und gelootet
wird.  Und du bist boese weil du idlest.

Croft

-----------------------------------------------------------------------------



Re^4: Waaagh! (Kessa, 24. Feb 2009, 20:14:38):
~#! rn=Orktoeter rt=1235502695 rg=d.wald
~#! tid=1235418144
DIE haben ein Dorf plattgemacht - nimmst du auch im richtigen Leben ganze
Rassen in Sippenhaft, wenn einige Angehoerige was ausfressen? Es war nicht die
gesamte Rasse, die das Dorf uebernommen hat, sondern genau ein Stamm. Zu denen
die Spieler-Goblins nicht gehoeren.

Vielleicht hast du aber das Ganze auch nicht so genau gelesen, dann tu das
doch einfach nochmal, nur so als Empfehlung.

-----------------------------------------------------------------------------



Re^4: Waaagh! (Srabi, 24. Feb 2009, 20:14:56):
~#! rn=Orktoeter rt=1235502695 rg=d.wald
~#! tid=1235418144
Also mal ehrlich...was ist denn dann mit den Dunkelelfen, auch diese sind
nicht gerade eine friedliebende Rasse, wie ich schon mehrfach feststellen
musste.
Srabi

-----------------------------------------------------------------------------



Re^5: Waaagh! (Chagall, 24. Feb 2009, 20:15:38):
~#! rn=Srabi rt=1235502896 rg=d.wald
~#! tid=1235418144
Und die boesen Elfen, die einfach so auf harmlose Dunkelelfen einpruegeln.
Gleich mal abhaengen, das Elfenpack.

MC

-----------------------------------------------------------------------------



Re^5: Waaagh! (Orktoeter, 24. Feb 2009, 20:33:16):
~#! rn=Srabi rt=1235502896 rg=d.wald
~#! tid=1235418144
Auf die bezog sich der Kommentar in der Klammer)

-----------------------------------------------------------------------------



Re^6: Waaagh! (Hermiod, 24. Feb 2009, 20:52:54):
~#! rn=Orktoeter rt=1235503996 rg=d.wald
~#! tid=1235418144
JaWooohl! es gibt weitaus mehr goblingebiete als solche fuer dunkelelfen,
shakies oder felinen. Mein Jubl und, Lob und Dank! (auch bez. Gebiet!).
r

-----------------------------------------------------------------------------



Re: Re: Waaagh! (Ark, 24. Feb 2009, 21:50:13):
~#! rn=Orktoeter rt=1235502081 rg=d.wald
~#! tid=1235418144
Rollenspiel? Orktoeter? Hm, irgendwas verpass ich hier. Die Logik rennt weg.
Zu huelf! Da! Ein Eichhoernchen. Es PK-ed! Arme Nuss.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: Waaagh! (Ark, 24. Feb 2009, 21:52:30):
~#! rn=Orktoeter rt=1235502695 rg=d.wald
~#! tid=1235418144
Der Bus mit den 0815 Std. Heften der Fantasyliteratur stoppt hier nicht.
Naechste Station: Generikarien. Danach: Boredom.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: Waaagh! (Orktoeter, 24. Feb 2009, 21:54:45):
~#! rn=Ark rt=1235508750 rg=d.wald
~#! tid=1235418144
Sorry, aber so lange wir hier keine Leute engagieren die Rollenspiel bewerten,
wird es nicht moeglich sein, das in die Wertung einfliessen zu lassen.
Andererseits hat der besagte Bus aber schon gestoppt und den entsprechenden
Rassen ihre Boni gegeben...


-----------------------------------------------------------------------------



Re^6: Waaagh! (Ark, 24. Feb 2009, 22:00:28):
~#! rn=Orktoeter rt=1235508885 rg=d.wald
~#! tid=1235418144
Mist ... wer hat mich engagiert? Ich will mein Geld! Schliesslich bin ich fuer
Rollenspiel verantwortlich. Und ich mache meine Sache gut. Ein Bonus ist mal
faellig. Und inzwischen spielt eure Rolle! Keine abfaellige Worte fuer Elfen.
Zwerge grummeln bitte. Dunkelelfen meucheln leise. Hobbits verlassen nicht die
Wirtschaft. Felinen ... Schredder. Goblins? Hm, abhaengen, die spielen ja
keine Rolle *gnihihi*


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^6: Waaagh! (Gloinson, 25. Feb 2009, 02:15:22):
~#! rn=Orktoeter rt=1235508885 rg=d.wald
~#! tid=1235418144
Irgendwie kommt mir grad wieder in den Sinn, wie wir damals mit Humni ein
huebsches Rollenspiel in Halle gespielt haben. Cakey und ich als Hobbits, mit
viel Enthusiasmus und Uebertreibung, wir fanden es witzig, Humni fand es OK
und hat es unterstuetzt, die meisten anderen fanden es witzig.

Orktoeter zu Humni: So sind Hobbits doch gar nicht! So koennen die das doch
nicht spielen!

Hmja. 0815 Hefte.


-----------------------------------------------------------------------------



Re^5: Waaagh! (Boing, 25. Feb 2009, 09:02:08):
~#! rn=Kessa rt=1235502878 rg=d.wald
~#! tid=1235418144
Nicht aergern, Kessa. Wenn Orktoeter nicht mosern kann ist er nicht
gluecklich. 
Ich finde es prima dass dieses grosse Projekt doch noch erfolgreich
zum Abschluss kam! :)
  Boing

-----------------------------------------------------------------------------



Re^6: Waaagh! (Anatol, 25. Feb 2009, 09:14:27):
~#! rn=Boing rt=1235548928 rg=d.wald
~#! tid=1235418144
Kuck die World-of-Warcraft-Zocker an. Sie leben in einer Welt, in der 
es zwei sich bekriegende Spielerfraktionen gibt:

Die Guten: Menschen, Zwerge, Nachtelfen, Draenei (don't ask), Gnome
Die anderen Guten: Tauren, Untote, Blutelfen, Orks, Trolle

Huch.

Hier im MG gibt es keine sich bekriegenden Spielerfraktionen. Alle Parteien
muessen einen Modus Operandi finden, um miteinander umzugehen; das faengt
durchaus auch schon bei den Gilden (Chaoten? Kleriker?) an. All das foerdert
und fordert das Rollenspiel mehr als es ein hochelfischer Einheitsbrei
koennte.

Manchen mag's auch ueberfordern.

Anatol

PS: Fuer einen Blutelfen ist es uebrigens auch nicht einfach, mit einem 
Tauren zusammenzuarbeiten, ohne dauernd "Steak..." zu denken.

-----------------------------------------------------------------------------



Re^7: Waaagh! (Ark, 25. Feb 2009, 11:27:38):
~#! rn=Anatol rt=1235549667 rg=d.wald
~#! tid=1235418144
Nebenbei ist dieses Kategoriedenken eh Mumpitz. "Alle Elfen sind weiss
bekleidet, bewegen sich anmutig und singen den ganzen Tag ... in der Naehe von
Baeumen." "Alle Orks grunzen ueberall in der Gegend herum, trampeln Leute
nieder und schiessen 3kg Pfeile in die Nasen von armen Menschen."
Das Rollenspiel, wenn man schon damit argumentiert, laesst einen hinterhaeltig
boesen (jo, die Gesinnung gibts in den klassischen Pen&Paper Rollenspielen
fuer _alle_) Menschenmagier ebenso zu wie den von Elfen aufgezogenen Goblin,
der Tiere respektiert und nicht gleich verspeist.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Waaagh! (Zook, 25. Feb 2009, 15:25:55):
~#! rn=Orktoeter rt=1235502081 rg=d.wald
~#! tid=1235418144
Ich kann problemlos einrichten, dass jeder andere Dich PKen 
darf, OrktT. Waere das okay fuer das Einfuehren von 
Sarotti-Elfen und Goblins und anderem....? Zook.

-----------------------------------------------------------------------------



Re: Re: Waaagh! (Mirimadel, 27. Feb 2009, 23:46:44):
~#! rn=Kessa rt=1235421099 rg=d.wald
~#! tid=1235418144
Glueckwunsch Euch Beiden, fuer das Gelungene Gebiet und Rasse.
Vielen Dank dafuer, fuer die neuen Spiel Moeglichkeiten und den Spass.
Einen Blumenstraus fuer euch Beide.
gruessel Miri

-----------------------------------------------------------------------------



Waaagh: Goblin-Titel (Kessa, 28. Feb 2009, 19:10:19):
Nach eingehender Beratung mit Nibel wird es Groblaz fortan uebernehmen,
Angehoerigen der Goblinrasse ordentliche, verstaendliche Gildentitel zu
verleihen. Fragt ihn einfach nach "titel".

Waaagh! Kessa

-----------------------------------------------------------------------------



I once shot a goblin in skoga... (Nibel, 16. Sep 2010, 20:08:21):
Stupse, frisch und froehlich. In und um Skoga. Gilt natuerlich wie immer
auch rueckwirkend.
  - N
-----------------------------------------------------------------------------



Koenigsdrache (Chagall, 25. Okt 2010, 09:19:00):
Der Koenigsdrache hat jetzt wieder gelernt, gegen bestimmte Arten von
Artillerie etwas resistenter zu sein.

MC

-----------------------------------------------------------------------------



Myung (Chagall, 25. Okt 2010, 10:32:48):
Auch Myung war auf der kurzen Fortbildung und ist nun ebenso gegen bestimmte
Arten von Artillerie wieder immun.

MC

-----------------------------------------------------------------------------



Schulungsmassnahmen (Chagall, 25. Okt 2010, 13:34:21):
Huhu,

bevor ich jetzt zu jedem NPC einen eigenen Artikel schreibe, gibts einen
Sammelartikel. Diverse NPCs von Paracelsus waren heute auf Inhouse-Schulung
und erkennen jetzt wieder besser Artillerie und andere Kampfobjekte. Andere
Teilnehmer der Schulung kamen aus den Regionen Polar, Inseln und Ebene.

Wundert euch also nicht, wenn ploetzlich bestimmte Objekte schlechter
abschneiden.

MC

-----------------------------------------------------------------------------



Elementargeister (Arathorn, 30. Jul 2012, 00:39:51):
Hallo zusammen,

ich habe gerade einen Fehler in den Elementargeistern behoben und die
existierenden zu dem Zweck austauschen muessen. Wenn sich eure Geister
gerade irgendwie seltsam verhalten, koennte es daran liegen. Wenn irgendwas
komplett kaputt erscheint, gilt wie immer: Melden.

Arathorn.

-----------------------------------------------------------------------------



Helferchen (Ark,  5. Sep 2012, 00:10:23):
Kleine Helferchen fuer Kaempfe gegen gewisse gro^H^H^H titanische Drachen
haben nun auch noch eine Zusatzfaehigkeit erworben. Ihre Anzahl hat sich
freilich nicht erhoeht.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Drachentoeter-Rollen (Arathorn,  4. Nov 2012, 16:49:00):
Hallo zusammen,

ich habe gerade in Abstimmung mit Chagall ein wenig an den Drachentoeter-
Schriftrollen gebastelt. Fuer Euch neu ist vor allem die Beachtung der
Einstellung von "grafik ein/aus". Es sollte so sein, dass jede Ausgabe
der zu toetenden Drachen, egal ob Ihr sie selber lest, oder sie gezeigt
bekommt, in einer Ultrakurz-Variante erfolgen sollte, wenn Ihr "grafik aus"
habt. Wenn Ihr "grafik ein" eingestellt habt, sollte sich fuer Euch nichts
gegenueber dem vorigen Zustand geaendert haben.

Wichtig: Diese Aenderung gilt nur fuer ab jetzt neu geholte Schriftrollen.
Die alten, die Ihr bereits besitzt, habe ich nicht ausgetauscht, weil dann
Euer Fortschritt verloren gewesen waere.

Wenn Fehler oder Merkwuerdigkeiten bei neuen Schriftrolle auftreten, bitte
ich um Rueckmeldung, damit ich das ggf. noch etwas anpassen kann.

Gruss, Arathorn, Drachentoeter-Schriftrollen-Toeter.

-----------------------------------------------------------------------------



Schwierigkeiten beim Lesen des Questtagebuchs (Zesstra,  9. Nov 2012, 22:21:20):
Huhu,

wer sein Questtagebuch (von Leusel) zur Zeit nicht lesen kann, kann dies mit
ende oder (als Seher) deponieren und entnehmen aus der magischen Truhe im
Seherhaus beheben.

Zesstra

-----------------------------------------------------------------------------



Fehler bei Details in Patryns Gebieten (Zesstra, 22. Dez 2012, 13:50:44):
Huhu,

aufgrund offenkundigen Unverstaendnisses von Konzepten funktionieren tastbare
und lesbare Details in Gebieten von Patryn nicht.
Die Reparatur davon kann eine Weile dauern, weil es kein lokaler Fehler,
sondern ein Designfehler bei Patryn ist.
Betroffen sind nach bisherigem Kenntnisstand alle Gebiete von Patryn, nicht
nur die im Wald.

Zesstra

-----------------------------------------------------------------------------



Chilanas Lebenselixier (Arathorn,  5. Jan 2013, 16:22:13):
Hallo zusammen,

nachdem sich das Lesen von Chilanas Notizen eine zeitlang ungewohnt verhielt,
habe ich gerade eine Aenderung eingebaut, die das alte Verhalten 
wiederherstellen sollte.

Probiert es bitte mal aus und meldet euch, wenn euch immer noch etwas
komisch vorkommt.

Gruss, Arathorn.

-----------------------------------------------------------------------------



Ein gewisser Todespanzer (Arathorn, 27. Jan 2013, 22:30:28):
benoetigte ein dringendes Update. Dies ist nun aktiv, und ich habe alle
existierenden Exemplare entsprechend ersetzt. Wenn euch irgend ein
merkwuerdiges Verhalten auffallen sollte, bitte wie gehabt melden.

Gruss, Arathorn.

P.S.: Dass er sich nicht mehr merkwuerdig verhaelt, ist Gegenstand der
      Aenderung und nicht berichtenswert. Danke. ;-)

-----------------------------------------------------------------------------



Schatten (Chagall, 26. Feb 2013, 08:30:14):
Da der Schatten vom Balrog nach der Mudlibaenderung von Spielern nicht mehr
aufgehoben werden konnte, habe ich jetzt erst einmal eine Interimsloesung fuer
ihn eingebaut.

MC

-----------------------------------------------------------------------------



myung (Arson, 11. Jul 2013, 09:49:31):
Am Sonntag den 18.08 um 14:00 Uhr
Wuerde ich mit euch gerne mal eine der gefaerlichsten Hexen, wenn nicht die
gefaerlichste Hexe im Morgengrauen aufsuchen.
Tief im Schemenreich schlummert sie, bereit uns alle zu vernichten, wenn wir
uns nicht alle gegen sie zusammenschliessen.

ab 6 Leuten findet der Ausflug statt.
Ihr solltet euch vorher ein mal mit Asaniel ueber diese Dame unterhalten und
seinen Ratschlaegen volgen.

Zur Anmeldung und bei Fragen bitte eine kurze Mudmail an mich.

Lg Arson

-----------------------------------------------------------------------------



Re: myung (Chagall, 11. Jul 2013, 12:50:50):
~#! rn=Arson rt=1373528971 rg=d.wald
~#! tid=1373528971
Myung verbittet sich uebrigens, Hexe genannt zu werden. Sie liess mir
ausrichten, dass sie eine freundliche kleine Zauberin sei, die sich jederzeit
ueber Besuch freut.

MC

-----------------------------------------------------------------------------



Re: Re: myung (Zook, 11. Jul 2013, 14:11:30):
~#! rn=Chagall rt=1373539850 rg=d.wald
~#! tid=1373528971
Ich werde am Sonntag den Todeskanal genau beobachten.

Zook

-----------------------------------------------------------------------------



Ebenfalls ein Metzelvorschlag (Tijo, 11. Jul 2013, 14:20:35):
Hi, 
 
Euch hat es sicher auch schon geaergert, dass die Goblins in Skoga einem immer
wenn man an der Fallgrube stirbt den Krempel klauen. Fuer einen Einzelkaempfer
ist das allerdings ein bisschen heikel da. Wenn 5 bis 10 goblins da kaempfen,
dann ist das kein Zuckerschlecken - bei den Goblins greifen naemlich alle
gleichzeitig an. Kann sein, dass niemand lust dazu hat, aber ich wuerde gern
mal ein groesseres team bilden, um den Krempel der Leute wieder rauszuholen.
Falls Ihr lust habt koennen wir uns ja mal irgendwann treffen. Apropos: der
Scroll wuerde allerdings ziemlich gewaltig. Ausserdem weiss ich nicht, ob man
den Krempel wirklich wiederkriegt.

LG Tijo

-----------------------------------------------------------------------------



Re: Ebenfalls ein Metzelvorschlag (Ark, 11. Jul 2013, 21:37:00):
~#! rn=Tijo rt=1373545235 rg=d.wald
~#! tid=1373545235
Kleine Hinweise:
Zum Wort "Vorschlag" gehoert sinnigerweise immer auch eine Zeit dazu, wenn es
um mehr als eine Hilfe geht. Und Dinge wie "weiss ich nicht, ob man ..." sind
natuerlich vorher zu klaeren, es freut sich vielleicht nicht jeder, wenn das
Ziel verfehlt wird (ok, hier vielleicht schon, weil Stupse abfallen koennten).
Und zum Schluss: halte ich fuer Deine Stufe noch ein wenig hart :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Ebenfalls ein Metzelvorschlag (Tijo, 12. Jul 2013, 08:28:30):
~#! rn=Ark rt=1373571420 rg=d.wald
~#! tid=1373545235
Ok, danke fuer die Hinweise. Ich wart dann halt noch ein bisschen...

-----------------------------------------------------------------------------



dixit Daemonicus (Tijo, 13. Jul 2013, 11:00:20):
Hi,
Ihr kennt bestimmt die Quest Dixit Daemonicus (vielleicht nur vom Namen her).
Darin geht es darum Yagurs eiserne Zinne zu erforschen.
Allerdings braucht man zwei Kampfgefaehrten. Ich suche welche. Anforderung ist
lediglich mindestens Spielerlevel 9.
Falls man die Quest schon gemacht hat ist es auch nicht schlimm. Man kann die
Quest glaub ich nochmals machen - nur bringt das dann weder Abenteuer- und
Erfahrungspunkte.
Ich haette Mittwoch Abend (naechste Woche Mittwoch) sowie Donnerstag den
ganzen Tag Zeit. Falls das nicht geht koennen wir aber gerne einen anderen
Termin ausmachen. Schreibt mir einfach eine kurze Mudmail.
LG Tijo

-----------------------------------------------------------------------------



Re: dixit Daemonicus (Tijo, 15. Jul 2013, 15:57:29):
~#! rn=Tijo rt=1373706020 rg=d.wald
~#! tid=1373706020
Ah, mir ist grad aufgefallen dass ich am Donnerstag nur nachmittags zeit
hab... 
LG tijo

-----------------------------------------------------------------------------



Ignorieren von Arenen-Scroll (Zesstra, 18. Mar 2014, 22:53:06):
Wer irgendwelche Arenen ignorieren will, sollte folgende neue Eintraege
verwenden:

* Kampfscroll im Fegefeuer: .arena.fegefeuerscroll
* Duellaufforderungen im Fegefeuer: .arena.fegefeuerduell
* Kampfankuendigungen im Fegefeuer: .arena.fegefeuer
* Ankuendigungen von Jaspers Schlachtfeld: .arena.schlachtfeld
* Seherwettbewerb in der Wuestenarena: .arena.seherwettbewerb
* Herausforderungen in der Wuestenarena: .arena.gladiator
* Spielerduelle in der Wuestenarena: .arena.duell

Zesstra

-----------------------------------------------------------------------------



Das Glas mit Gluehwuermchen (Arathorn, 27. Apr 2014, 04:04:10):
... loest sich jetzt nicht mehr so schnell auf, wie es das bisher tat.
Vielleicht ist es ja dadurch fuer den einen oder anderen wieder etwas
attraktiver geworden.

Arathorn.

-----------------------------------------------------------------------------



Abenteuertagebuch (Arathorn, 30. Apr 2014, 21:54:54):
Hallo zusammen,

das Abenteuertagebuch, das man ja bekanntlich als Belohnung fuer die
Weisenhaus-Quest bekommt, funktioniert jetzt endlich wieder wie gewohnt.

Auf eine Sache moechte ich an dieser Stelle hinweisen: aus historischen
Gruenden wurde und wird bei den Zeitangaben im Tagebuch nicht auf etwaige
Zeitverschiebungen durch Sommer-/Winterzeit Ruecksicht genommen, so dass
es (je nach Jahreszeit) zu Abweichungen von einer Stunde kommen kann.
Dieses Verhalten laesst sich leider nicht aendern.

Wenn ihr abgesehen von evtl. Zeitverschiebungen Probleme mit dem Tagebuch
feststellen solltet, meldet euch bitte bei mir.

Gruss, Arathorn.

-----------------------------------------------------------------------------



Nars (Chagall,  9. Jul 2015, 17:01:12):
Huhu,

ich hab einem boesen, schwarzen Drachen mal versucht zu erklaeren, dass es
keine gute Idee ist, ihnen den Kopf abzubeissen, wenn sie doch eigentlich
davor geschuetzt werden sollten. Freiwillige vor zum testen. :)

Chagall

PS: Dank an Amaryllis fuers ausfuehrliche Beschreiben der Fehlers 

-----------------------------------------------------------------------------



Re: Nars (Chagall,  9. Jul 2015, 17:01:51):
~#! rn=Chagall rt=1436454072 rg=d.wald
~#! tid=1436454072
Ersetzt 'ihnen' bitte durch 'den Spielern'. 

MC, zu faul zum loeschen

-----------------------------------------------------------------------------



Re: Re: Nars (Amaryllis,  9. Jul 2015, 20:27:51):
~#! rn=Chagall rt=1436454111 rg=d.wald
~#! tid=1436454072
Danke fuers schnelle Fixen!

Ama*, hat gern mal Entkaeferung betrieben.

-----------------------------------------------------------------------------



Der Kriegerbeutel (Arathorn, 24. Sep 2015, 12:52:45):
Hallo zusammen,

der Kriegerbeutel nimmt nun auch exotische Gegenstaende wie das SMS oder
die Tonfa auf.

Danke an Bugfix fuers Reparieren.

Gruss, Arathorn.

-----------------------------------------------------------------------------



Reparaturen (Notstrom, 21. Dez 2015, 12:15:41):
    Huhu,

ich fange momentan an, die im Wald aufgelaufenen Probleme zu reparieren.
Dabei kann es natuerlich immer mal passieren, dass man etwas uebersieht.
Seid also nicht ueberrascht, sondern sagt mir bitte zeitnah Bescheid,
wenn Dinge auf einmal nicht mehr so funktionieren, wie sie sollten. Und
bitte auch, wenn sie noch nie so funktioniert haben, wie sie sollten.

Ansonsten: Das Uebliche. :)

Viel Spass im Wald,
Notstrom.

-----------------------------------------------------------------------------



Der Weiher ... (Notstrom,  4. Jan 2016, 18:15:16):
... wurde von mir, aeh, repariert. Wenn da was nicht so tut, wie es tun
sollte, bitte zeitnah Bescheid mailen.

Danke, Notstrom.

-----------------------------------------------------------------------------



Paracelsus-Kram aufribbeln (Notstrom, 10. Jan 2016, 14:25:49):
Huhu,

Arathorn und ich bauen momentan Spells bei Paracelsus um. (Eigentlich baut
Arathorn dankenswerterweise ganz fleissig um und ich jubel ihm zu, denn das
Zeug liegt nicht direkt in Region Wald. Ich kuemmer mich um die waldseitige
Integration der Aenderungen.) Das heisst, dass es bei Paracelsus-NPCs mal
knallen kann, wenn wir irgendwo nicht aufpassen, so geschehen heute.
Eigentlich sollte dort nun alles wieder funktionieren ...

RZGs (Fehler im Raum-Zeit-Gefuege) sehen wir selbst, aber wenn anderweitig
Dinge bei Paracelsus-Kram komisch aussehen, dann verstaendigt bitte entweder
Arathorn oder mich. Wir kuemmern uns dann zeitnah darum. Danke!

Notstrom.

-----------------------------------------------------------------------------



Entwanzung (Notstrom, 29. Feb 2016, 17:27:45):
Huhu,

heute ist eine groessere Aufraeum- und Reparaturaktion durch den Wald
gefegt, unter Anderem im Elfendorf. Wenn dort nun komische Sachen
passieren, sagt bitte (wie ueblich) Bescheid. Eventuelle RZGs seh ich
aber selbst.

Danke,
Notstrom.

-----------------------------------------------------------------------------



Entwanzung II (Notstrom,  7. Mar 2016, 15:57:58):
Huhu,

heute haben groessere Reparaturen bei Paracelsus' Kram im Wald stattgefunden.
Eigentlich sollte alles prima funktionieren, aber falls was ist, wisst Ihr ja
Bescheid: das Uebliche. :)

Bis bald,
Notstrom.

-----------------------------------------------------------------------------



Entwanzung III (Notstrom,  8. Mar 2016, 16:20:22):
Huhu,

heute gab es einige Reparaturen bei Nibel im Wald: Weisstannenlichtung,
Vesray und Gefolge, Vulkan samt Innereien. Wenn sich da etwas komisch
verhaelt: Das uebliche ... Ruhe bewahren, Bescheid sagen, Fix abwarten.

Danke!
Notstrom.

-----------------------------------------------------------------------------



Entwanzung IV (Notstrom, 12. Mar 2016, 15:36:09):
Huhu,

im Wald bei Silvana hat es einige groessere Reparaturen gegeben.

Wer RZGs bei der Chilana-Quest erlebt, weiss bitte Bescheid, bleibt ruhig
und laesst einen Magier kurz werkeln (Arathorn und ich sind informiert).

Wer von einer gewissen Klippe springt, sollte nun auch anderes Fluggeraet
nutzen koennen als bisher. Flugobjekte, die dort nicht funktionieren, werden
gern nachgetragen, dadurch erlittene Tode allerdings nicht rueckgaengig
gemacht. Allerdings duerft Ihr in dem Fall auf ein Stueck Trost-Schokolade
hoffen. ;)


Ganz vielen Dank an Arathorn fuers Helfen und Gilraen fuers Testen unter
Einsatz von Leib und Leben.

Viel Spass beim Fallen,
Notstrom.

-----------------------------------------------------------------------------



Einmal Eppstein war doppelt, den muessen wir abziehen. (Arathorn, 13. Mar 2016, 17:46:06):
Hallo zusammen,

ich stolpere gerade ueber einen zweiten Eppstein im Hobbitdorf, der nicht
angeschlossen ist, aber als EK eingetragen war. Ich habe den gerade temporaer
deaktiviert und werde ihn in absehbarer Zeit permanent austragen, da er
nicht erreichbar ist.

Da kein aktuell aktiver Spieler den EK hat, wird sich bei euren Stufen-
punkten und auf der Plakette nichts tun, aber ggf. wird der eine oder 
andere eine Veraenderung auf seiner/ihrer Brumni-Liste bemerken.

Gruss, Arathorn.

-----------------------------------------------------------------------------



Entwanzung V (Notstrom, 15. Mar 2016, 20:13:25):
Huhu,

bei Locutus gabs heut groessere ... naja, schon eher Neubauarbeiten als
Renovierungen. Fuer Euch sollte sich nicht viel geaendert haben, aber
falls Ihr Tinymacros o.ae. nutzt, werden einige Raeume nicht erkannt
werden. Und einiges, was ein gewisser Gegenstand vorher als von "Locutus"
eingestuft hat, wird nun als "Locutus im Wald" erkannt.

Viel Spass,
Notstrom.

-----------------------------------------------------------------------------



Entwanzung VI (Notstrom, 16. Mar 2016, 10:11:43):
Huhu,

in Findulas' Vulkanraeumen sind die Befehle fuer spezielle Aktionen nun
wesentlich toleranter.

Hth,
Notstrom.

-----------------------------------------------------------------------------



Locutus' Workroom ... (Notstrom, 19. Mar 2016, 13:34:26):
... ist nun betretbar. Sorry, und Dank an Rhoakka fuers Melden.

-----------------------------------------------------------------------------



Boese Gobbos! (Notstrom, 22. Mar 2016, 09:53:16):
Huhu,

bei Kessa im Wald wurde ein Ausruestungskomplettverlust ausgebaut. Danke
an Rhoakka fuers Finden. *huestel*

Falls Ihr weitere gemeine, fiese und unnoetige Ausruestungskomplettverluste
entdeckt, sagt bitte Bescheid.

Viel Spass beim Metzeln,
Notstrom.

-----------------------------------------------------------------------------



Boeses Elementarzeugs! (Notstrom, 22. Mar 2016, 10:23:24):
Huhu,

bei Paracelsus im Wald wurden mehrere Ausruestungskomplettverluste ausgebaut.
Danke an Bugfix, Elendil und Arathorn fuer Melden und Gucken.

Falls Ihr weitere gemeine, fiese und unnoetige Ausruestungskomplettverluste
entdeckt, sagt bitte Bescheid.

Viel Spass beim Rumirren,
Notstrom.

-----------------------------------------------------------------------------



Chilana ueber Ostern (Notstrom, 25. Mar 2016, 23:59:48):
        Huhu,

ich habe gerade bei Chilana einen RZG behoben. Mir ist ein wenig unklar,
woher der stammt, ich hoffe aber, dass sie nicht weiter rumbuggt. Falls
doch, bin ich leider erst Sonntag abend wieder da, um mich zu kuemmern
(s.a. magier.urlaub).

Daumend drueckend,
Notstrom.

-----------------------------------------------------------------------------



Nachoesterliche Freude: Chilana wiederauferstanden! (Notstrom, 30. Mar 2016, 20:43:14):
    Huhu,

die Chilana-Quest sollte nun wieder funktionieren. Wer einen Zettel hat, wo
keine Besorgungsliste draufsteht, entsorgt bitte seinen Zettel und laesst
sich von Chilana einen neuen geben.

Danke an Arathorn.

Viel Spass,
Notstrom.

-----------------------------------------------------------------------------



Re: Nachoesterliche Freude: Chilana wiederauferstanden! (Notstrom, 30. Mar 2016, 21:00:36):
~#! rn=Notstrom rt=1459363394 rg=d.wald
~#! tid=1459363394
Huhu nochmal,

da alle Zettel, die sich in Umlauf befanden, defekt waren, habe ich mal fix
Eure Exemplare zerstoert. Wer die Quest gerade spielt, holt sich bei Chilana
bitte einen neuen Zettel, die Gute hat sich euren Queststatus gemerkt.

Hth,
Notstrom [braucht jetzt jetzt nen Bier].

-----------------------------------------------------------------------------



Eine Wiege von Gundur ... (Notstrom,  5. Apr 2016, 12:17:00):
... ist nun unter Anderem etwas grosszuegiger, was Syntaxen angeht.

Have fun,
Notstrom.

-----------------------------------------------------------------------------



Verscheuche Gronk (Notstrom, 28. Apr 2016, 11:40:12):
Die Sonne schien golden durch das Laub des Ahorns, den Lappendils
Vater seinerzeit eigenhaendig an der Palisade ausserhalb des Elfendorfes
gepflanzt hatte. Die Patrouille durch das Dorf war fast beendet, und
bald wuerde er sich bei einem Schnellhaerter staerken koennen.

Ploetzlich blieb er stehen. Irgendetwas stimmte nicht. Wachsam schaute
er sich um.

Westlich befand sich die Hauswand der Gaststaette. Er konnte nichts
Ungewoehnliches und schon gar keine Details daran erkennen, allerdings
verrieten ihm seine Ohren, dass es darin hoch herging.

Dann war da noch die Holztuer der Grube. Schau an, die hatte schon wieder
jemand nicht richtig abgeschlossen. Die letzten Wochen ueber war immer
wieder einmal lautes Hilferufen daraus zu hoeren gewesen, und auch heute
war ein leises Wimmern zu vernehmen. Nachdenklich schloss er die Tuer und
blickte sich weiter um.

Als sein Blick den wunderschoenen Ahorn emporwanderte, wusste er, was ihm
komisch vorgekommen war: Jemand hatte ein Seil an den untersten Ast
geknuepft, so dass man daran bestimmt ueber die Palisade turnen koennte.
Doch warum? Schliesslich kam man doch auch wunderbar zum Haupttor aus
dem Dorf heraus. Lappendil kratzte sich an den spitzen Ohren.

Sollte er diesen Vorfall melden? Andererseits - wer sollte denn an dem Seil
schon ueber die Palisade kommen? Orks gab es hier keine. Zwerge hielten
sich ordnungsgemaess auf den Wegen und benutzten das Haupttor. Anderes
Getier benutzte doch kein Seil, oder?

Gedankenverloren machte er sich auf den Weg in die Gaststaette. Der
Schnellhaerter wartete.

-----------------------------------------------------------------------------



Re: Verscheuche Gronk (Notstrom, 28. Apr 2016, 11:40:39):
~#! rn=Notstrom rt=1461836412 rg=d.wald
~#! tid=1461836412
    Huhu,

nach erneut nur mittlerer Pause wieder ein Neuanschluss. Ich wuensche
Euch viel Spass mit der Miniquest "Verscheuche Gronk" und dem dahinter
liegenden MQ-Orakel fuer den Wald. Ein Hinweis zum Orakel: Das Orakel
funktioniert, aber die im Wald gelegenen Miniquests sind noch nicht
alle dafuer eingetragen. Bitte nicht wundern, die werden nachgetragen.

Die NPCs dieses neuen Gebietes werden fuer die ersten paar Tage nicht
angreifbar sein, damit diesmal zumindest waehrend des ersten Andrangs
niemand beim Questen gestoert wird.

Waldmagiernd,
Notstrom.

-----------------------------------------------------------------------------



Re: Re: Verscheuche Gronk (Notstrom,  1. Mai 2016, 12:01:53):
~#! rn=Notstrom rt=1461836439 rg=d.wald
~#! tid=1461836412
Huhu,

inzwischen sind viele, aber noch nicht alle MQ-Hinweise von der Eibe
erhaeltlich. Ausserdem ist der erste Andrang ja vorbei, also viel Spass
beim Metzeln.

Schoenen Sonntag!
Notstrom.

-----------------------------------------------------------------------------



Re^3: Verscheuche Gronk (Arathorn,  1. Mai 2016, 13:29:03):
~#! rn=Notstrom rt=1462096913 rg=d.wald
~#! tid=1461836412
Hallo zusammen,

kurze Ergaenzung von mir dazu: Die Eibe hat nun alle Informationen, die
sie braucht, um euch angemessen Auskunft zu geben. Dennoch gilt natuerlich
wie immer: wenn ihr denkt, es fehlt was, einfach melden.

Gruss, Arathorn.

-----------------------------------------------------------------------------



Der Magierbaum im Elfendorf ... (Notstrom,  4. Mai 2016, 11:33:12):
... wurde von mir grossraeumig repariert. Scriptsysteme wie die Tinymacros
koennten nun Probleme haben, die Raeume wiederzuerkennen.

Hth
Notstrom.

-----------------------------------------------------------------------------



Pelzfuesse geputzt (Notstrom,  4. Jul 2016, 19:08:28):
Huhu,

im Hobbitdorf funktioniert nun wieder etwas, was vorher lang kaputt war.
Und es funktioniert etwas anderes wieder, was vor genau 10 Jahren
ungluecklich abgeknipst wurde.

Nicht wundern,
Notstrom.

-----------------------------------------------------------------------------



Reparaturen bei den Gobbos (Notstrom, 23. Jul 2016, 18:14:22):
    Huhu,

Arathorn und ich haben heute unseren Nachmittag bei Nibel im Goblindorf
verbracht. Und dort einiges glattgezogen, was ziemlich kaputt war:

1. Ihr duerft wieder sorgenfrei und unbeschwert sterben, die RZGs dort
   sollten gefixt sein.
2. Spieler, die schon einmal existierten, MQs dort abgegeben haben, sich
   dann geloescht und wieder neu erzeugt haben, sollten dort nun auch
   Miniquests abgeben duerfen.

Wenns Bugs oder Schwierigkeiten gibt: das Uebliche.

Vielen Dank an Arathorn fuer seine tatkraeftige Unterstuetzung.

Notstrom.

-----------------------------------------------------------------------------



Barde rundgemacht (Notstrom,  3. Aug 2016, 21:03:10):
Huhu,

bei Selevens Nebelelfen habe ich einem Barden beigebracht, besser auf Eure
Reaktionen zu achten. Kaputten Kram dort habe ich ansonsten nicht angefasst,
also bitte meldet, falls (genauer: wenn) mal wieder was nicht funktioniert.

Danke,
Notstrom.

-----------------------------------------------------------------------------



In der Nebelelfenkneipe ... (Notstrom,  5. Aug 2016, 10:21:43):
... wurde im Zuge anderer Reparaturen eine unerwuenschte, unbeschraenkte
Gesinnungsreparatur ausgebaut.

Schoenes Wochenende,
Notstrom.

-----------------------------------------------------------------------------



Fiese Viecher (Oham, 19. Aug 2016, 22:43:21):
Na super. Als wenn der Mist da in Port Vain alles waere!

Ich hatte mir gedacht, ich geh zurueck nach Hause, da, wo die anderen Elfen
sind, die mich verstehen. Da kann man dann auch mal rumhaengen und in Ruhe
Dinge tun.

Und was ist da? Erstmal rennt da jemand durchs Dorf. Hallo? Die gehoert doch
nicht in die Elfensiedlung! Und was macht die? Sagt, doch, doch sie gehoere
dahin. Suuper. Toll, Humni. Was soll der Mist?

Ist echt das Allerletzte. Und dann kamen da so nette Meldungen an der
Kreuzung, dass es da nicht weitergeht. Da hatte Notstrom bestimmt ganz viel
Arbeit mit. Und was machst Du? Baust da einfach einen Waldweg hin. Verdammt,
wir haben echt genug Wald! Was soll das? Wer soll da noch im Wald wohnen? Das
ist doch echt totaler Mist!

Und dann diese Lichtung. Lauter Raben. Mal im Ernst: Die braucht wirklich
niemand. Echt gar keiner.

Die Welt war besser, als Du noch ein Zwerg warst.

Oham

-----------------------------------------------------------------------------



Re: Fiese Viecher (Humni, 19. Aug 2016, 22:48:39):
~#! rn=Oham rt=1471639401 rg=d.wald
~#! tid=1471639401
Oha. Jetzt machen schon die Elfen den Elfen Angst. Ich staune, ich staune.
Vielleicht geht aber auch mal jemand anders dahin. Ein anderer Elf oder so,
einer der nicht so feige ist wie Du...

Wieso haben Dich die Kaempfer eigentlich angenommen?

Humni

-----------------------------------------------------------------------------



Ein boeser Fluch ... (Notstrom, 25. Aug 2016, 16:22:51):
... bei Yantro wurde von mir ... naja, irgendwas zwischen gefixt und
neugeschrieben. Er sollte sich nun wie ein zuenftiger Fluch verhalten,
ansonsten meldet Euch bitte.

Froehliches Ausprobieren,
Notstrom.

-----------------------------------------------------------------------------



Fragen im Haus der Farben (Notstrom, 27. Aug 2016, 15:58:26):
Huhu,

wie vermutlich einige von Euch bemerkt haben, ueberarbeite ich momentan das
Haus der Farben (und die anderen Gebiete von Yantro). Technisch bin ich so
gut wie durch, inhaltlich koennte ich Eure Hilfe gebrauchen. Die Weisen im
Haus der Farben haben ja einige Fragen, an deren Beantwortung das Erlangen
gewisser Gegenstaende geknuepft ist. Die Fragen stammen mehrheitlich von
1997, sind also moeglicherweise nicht mehr in jeder Beziehung topaktuell.
Hier kommt Ihr ins Spiel: Ich nehme momentan Vorschlaege fuer neue Fragen
(mit Antworten) fuer die Weisen entgegen. Fuer besonders schoene Frage-
Antwort-Paerchen vergebe ich auf Wunsch gern einen passenden Extralook bis
zum naechsten Reboot. :)

Bis bald,
Notstrom.

P.S.: Einsendungen bitte per Mudmail. Danke!

-----------------------------------------------------------------------------



Skowe-Weiser revisited (Notstrom,  1. Sep 2016, 23:40:33):
Huhu,

eine am 4. September 1997 von Yantro in der MPA angekuendigte Belohnung
wurde um den Miniquest-Status erweitert. Lohnt also vielleicht, mal wieder
hinzupilgern.

Ganz viel Dank an Ark.

Viel Spass mit einem netten alten Gebietchen,
Notstrom.

-----------------------------------------------------------------------------



Re: Skowe-Weiser revisited (Zaphob,  3. Sep 2016, 11:53:36):
~#! rn=Notstrom rt=1472766033 rg=d.wald
~#! tid=1472766033
Falls sich jemand nicht erinnert: Auf der Mg Webseite kann man das Mpa Archiv
durchsuchen 

-----------------------------------------------------------------------------



Ein tiefschwarzer Umhang ... (Notstrom, 21. Okt 2016, 07:41:01):
... wurde entsprechend den Vorgaben der Balance ganz leicht abgewertet. Die
in Umlauf befindlichen Exemplare wurden ausgetauscht. Bei Problemen meldet
Euch bitte bei einem EM, falls ich gerade nicht da bin, berufsbedingt ist
meine Zeit fuers Mud momentan leider stark zusammengeschrumpft.

Bis bald,
Notstrom.

-----------------------------------------------------------------------------



Fruehjahrsputz ... (Notstrom, 18. Mar 2017, 12:34:30):
... diesmal bei Seleven. Im Zuge des Grossputzes habe ich auch einen etwas
ungeschickten Gebrauch einer gewissen Mudlib-Function glattgezogen, diverse
Fehlermeldungen beim Forschen und ausprobieren sollten nun so funktionieren,
wie sie von Seleven urspruenglich geplant waren.

Notstrom.

-----------------------------------------------------------------------------



Alle Nibelschen Totenkopf-Ohrringe ... (Notstrom, 18. Mar 2017, 21:58:38):
... die sich im Spiel befinden, wurden von mir gefixt und ausgetauscht. Bitte
neu anziehen.

Danke,
Notstrom.

-----------------------------------------------------------------------------



Fruehjahrsputz, Teil 2 ... (Notstrom, 25. Mar 2017, 12:08:24):
... und zwar diesmal bei Tryfan. Von dem stammt bekanntlich der Diamond Club.
Eigentlich sollte sich fuer Euch nichts sichtbar geaendert haben (ausser ein
paar gefixten Typos), aber falls etwas nicht mehr so funktioniert, wie es
vorher getan hat, dann meldet Euch bitte bei mir.

Danke,
Notstrom.

-----------------------------------------------------------------------------



Umstellung der Extralooks (Notstrom, 26. Mar 2017, 14:51:19):
Huhu,

wie einige von Euch bemerkt haben duerften, wird momentan eine bestimmte
Art und Weise, einen Extralook zu setzen, modernisiert. Gegenstaende, die
die "alte" Vorgehensweise implementieren, werfen einen RZG, funktionieren
aber ansonsten weiterhin.

Ich habe mittlerweile diverse Gegenstaende, vor allem in Region Wald, auf die
neue Methode umgestellt und dabei auch diverse Items ersetzt. Falls es dabei
zu Problemen kommen sollte, meldet Euch bitte.

Vermutlich werden die Umbauarbeiten noch ein Weilchen weiterlaufen, bis alle
Gegenstaende modernisiert sind, habt bitte etwas Langmut mit uns.

Danke,
Notstrom.

-----------------------------------------------------------------------------



Karnickelohren (Notstrom, 14. Mai 2017, 10:57:13):
Huhu,

im Zuge meiner gestrigen Reparaturen habe ich die Karnickelohren von Nibel
neugeladen. Dummerweise wurde dabei die Anzahl der Ohren auf 1 herunter-
gesetzt. Wer mehr dabeihatte und jetzt unzufrieden damit ist, kann sich bei
mir melden.

Notstrom.

-----------------------------------------------------------------------------



Dea Kommandant dea Luschn ... (Notstrom, 26. Mai 2017, 08:39:05):
... is nu tolaranta, was ne Suenntaks angeht. Da, woa steht, ists auch bessa.

Waaagh,
Notstrom.

-----------------------------------------------------------------------------



Fixer Mulai-Fix (Notstrom, 27. Mai 2017, 16:22:24):
Huhu,

ich habe unfreiwillig den Code des Mulai gesehen und konnte den nun wirklich
so nicht lassen. Ein paar Kleinigkeiten bei ihm werden sich nun subtil anders
verhalten, aber wenn etwas ganz anders oder noch kaputter als sonst aussieht,
meldet Euch bitte. Danke.


Notstrom.

-----------------------------------------------------------------------------



Eine Kneipe bei Yantro ... (Notstrom, 19. Dez 2017, 13:22:40):
... ist nun wieder betretbar.

Prost,
Notstrom.

-----------------------------------------------------------------------------



In eines Exmagiers Workroom ... (Notstrom, 20. Dez 2017, 17:54:26):
... kann man nun nicht mehr ungeprueft Zeugs zerstoeren. Ausserdem ist ein
wenig defekte Funktionalitaet ausgebaut worden. Vermissen sollte man da
aber eigentlich nichts, man kann sogar mehr mit seinem Krams herumhantieren
als zuvor.

Hth,
Notstrom.

-----------------------------------------------------------------------------



Fruehjahrsputz II (Notstrom, 10. Jan 2018, 21:13:29):
... und zwar bei Paracelsus, Troy und Silvana. Bei wem irgendwas noch uebler
knallt als sonst, der melde sich bitte bei mir.

Danke,
Notstrom.

-----------------------------------------------------------------------------



Re: Fruehjahrsputz II (Ark, 10. Jan 2018, 21:32:24):
~#! rn=Notstrom rt=1515615209 rg=d.wald
~#! tid=1515615209
Troy Quest ist abgehaengt? :)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Fruehjahrsputz II (Notstrom, 10. Jan 2018, 21:33:33):
~#! rn=Ark rt=1515616344 rg=d.wald
~#! tid=1515615209
Schoen waers. Aber da wuerde mir wohl der Quest-EM aufs Dach steigen.

SCNR,
Notstrom.

-----------------------------------------------------------------------------



Re^3: Fruehjahrsputz II (Ark, 10. Jan 2018, 21:44:23):
~#! rn=Notstrom rt=1515616413 rg=d.wald
~#! tid=1515615209
Pssst, dis big zickrit fromm mih: Wieder anhaengen mit mehr Details, weniger
Fehlern und begeisterten Spielern, die warten :-)
Da wird der alte Sack Questmagier nix sagen, ich weiss es genau.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: Fruehjahrsputz II (Notstrom, 10. Jan 2018, 21:45:16):
~#! rn=Ark rt=1515617063 rg=d.wald
~#! tid=1515615209
Ist das ne Freiwilligenmeldung? :)

Neugierig,
Notstrom.

-----------------------------------------------------------------------------



Re^5: Fruehjahrsputz II (Ark, 10. Jan 2018, 22:26:41):
~#! rn=Notstrom rt=1515617116 rg=d.wald
~#! tid=1515615209
Siehe Plan. Follow the Plan. The Plan is everything. Must ... follow ... Plan!


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Fruehjahrsputz III (Notstrom, 20. Jan 2018, 18:20:08):
... diesmal bei Seleven. Einiges koennte dort nun funktionieren oder gar einen
Syntaxhinweis (!!!) geben.

Notstrom.

-----------------------------------------------------------------------------



Drachentoeter-Orden (Notstrom, 24. Jan 2018, 11:41:08):
Der Extralook sollte nun wieder funktionieren. Ich habe Eure Orden
ausgetauscht, wenn das Lag vorbei ist, solltet ihr Euch wieder wie gehabt
bewundern koennen.

Hth,
Notstrom.

-----------------------------------------------------------------------------



Fruehjahrsputz IV (Notstrom, 24. Jan 2018, 11:47:02):
... diesmal bei Silvana, Troy, Nibel, Kessa und Paracelsus (noch woanders
als beim DT-Orden). Sollte was noch kaputter sein als vorher, sagt bitte
(wie ueblich) mir Bescheid.

Danke,
Notstrom [braucht jetzt erstmal nen Schnaps].

-----------------------------------------------------------------------------



Pelzfusskrams (Notstrom, 25. Jan 2018, 13:43:43):
Huhu,

ein genehmigungspflichtiger Ausruestungsgegenstand funktioniert nun wieder
so wie urspruenglich von Gundur beabsichtigt.

Notstrom.

-----------------------------------------------------------------------------



Geisterschloss (Notstrom, 31. Jan 2018, 11:47:55):
Das Treppenhaus ist nun wieder betretbar.

Hth,
Notstrom.

-----------------------------------------------------------------------------



Fruehjahrsputz V (Notstrom,  3. Feb 2018, 20:10:40):
... diesmal bei unseren Dauergaesten Silvana und Seleven. :)
Falls dort Sachen nun nicht mehr funktionieren, die schonmal funktioniert
haben, dann meldet Euch bitte bei mir.

Danke,
Notstrom.

-----------------------------------------------------------------------------



Re: Fruehjahrsputz V (Ark,  4. Feb 2018, 11:50:15):
~#! rn=Notstrom rt=1517685040 rg=d.wald
~#! tid=1517685040
Ich dachte, das waere jetzt _new&improved_ X^P


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Fruehjahrsputz V (Notstrom,  4. Feb 2018, 11:53:03):
~#! rn=Ark rt=1517741415 rg=d.wald
~#! tid=1517685040
Sagen wir, eine Manpage hat gelogen, und etwas musste bei gewissen "Faellen"
korrigiert werden.

Genauer werd ich mal nicht.
Danke aber an Arathorn fuers schnelle Fixen der Manpage.

Notstrom.

-----------------------------------------------------------------------------



Der Gaertner war da ... (Humni,  5. Feb 2018, 09:46:19):
Genauer: Wer sich bei einem gewissen Raben...meister umschaut, kann evtl. neu
angepflanzte Dinge entdecken.

Humni

-----------------------------------------------------------------------------



Re: Der Gaertner war da ... (Notstrom,  5. Feb 2018, 10:04:20):
~#! rn=Humni rt=1517820379 rg=d.wald
~#! tid=1517820379
Auf einer nibelschen Lichtung war er wohl auch.

Hth,
Notstrom.

-----------------------------------------------------------------------------



Frag den Koch (Notstrom,  7. Feb 2018, 15:29:11):
... der weiss naemlich mehr, wenn Du als Tanjian etwas suchst, was seit
mindestens zehn geschlagenen Jahren niemand mehr gefunden hat.

Hth,
Notstrom.

P.S.: Wenn der Gegenstand sich nicht findet, einfach einige Zeit spaeter
nochmal probieren.

-----------------------------------------------------------------------------



Re: Frag den Koch (Ark,  7. Feb 2018, 15:57:12):
~#! rn=Notstrom rt=1518013751 rg=d.wald
~#! tid=1518013751
Das Gleichgewicht?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Seltsame Meldungen (Notstrom,  8. Feb 2018, 11:49:08):
Huhu,

die Waechter des Hobbitdorfes mit Struv-Ausbildung funktionieren nun viel
besser, buggen aber den metzelwuetigen Spieler froehlich mit Meldungen zu,
die fuer sie, aber nicht fuer ihn gedacht sind. Das Problem liegt hier in
der Lib, und wir ("wir" wie in "Bugfix") arbeiten dran, aber es kann noch
ein kleines bisschen dauern, bis das gefixt ist. Bitte einfach ignorieren,
der Kampf sollte trotzdem nicht schwieriger oder einfacher sein als vor der
Reparatur.

Falls weitere Kampf-NPCs neugeladen werden, bevor der Fix in der Lib ist,
kann sich dasselbe Verhalten auch anderswo zeigen, also bitte nicht wundern.

Danke,
Notstrom.

-----------------------------------------------------------------------------



Elementarebenen (Arathorn, 10. Feb 2018, 00:25:30):
Hallo zusammen,

auf den Elementarebenen hatte sich eine schon nicht mehr ganz taufrische
Aenderung noch nicht herumgesprochen - keine grosse Ueberraschung, wenn man
bedenkt, wie abgelegen die Ecke dort ist. Jedenfalls war ich grad mal dort
und habe den Bewohnern erklaert, worauf sie in Zukunft achten muessen.

Leider sind dabei einige Elementarkompasse und andere Dinge von den Untiefen
der Elementarebenen verschlungen worden. Wenn ihr derartiges vermisst, meldet
euch bei mir.

Sorry dafuer, aber die Unterredung mit den Herrschaften war grad dringend. ;-)

Arathorn.

-----------------------------------------------------------------------------



Re: Seltsame Meldungen (Notstrom, 10. Feb 2018, 11:44:25):
~#! rn=Notstrom rt=1518086948 rg=d.wald
~#! tid=1518086948
Huhu,

das Problem sollte dank Bugfix und Zesstra geloest sein. Sollten Euch weitere
ungewoehnlichen Verhaltensweisen oder Meldungen auffallen, gebt mir bitte
Bescheid.

Danke,
Notstrom.

-----------------------------------------------------------------------------



Truhen (Notstrom, 10. Feb 2018, 14:22:53):
Huhu,

an einigen Truhen von Paracelsus und Yoru haben Arathorn und ich technisch
nachgebessert. Erstere betreffen auch Exemplare im Gebirge und Dschungel.

Bitte meldet Euch bei den zustaendigen RMs, falls mit denen nun etwas nicht
so funktioniert wie sonst.

Danke an Arathorn (der die Hauptarbeit damit hatte),
Notstrom.

-----------------------------------------------------------------------------



artikel Ein Transportmittel ... (Notstrom, 19. Feb 2018, 14:35:13):
... in Paracelsus' Haus wurde von mir repariert. Und dann nochmal repariert.

Wenn dort etwas so aussieht, als funktionierte es nicht, dann meldet Euch
bitte.

Danke,
Notstrom.

-----------------------------------------------------------------------------



Schokoladiges (Notstrom, 24. Feb 2018, 01:49:49):
Der Wegweiser knarrte in der leichten Morgenbrise. Die Sonne waermte seine
morschen Richtungspfeile, und im Wald begann ein neuer Tag. Auch die Elfen
im nahen Dorf schienen bereits wach zu sein. Doch irgendwas war anders.
Nur was? Ein leichter Geruch nach Schokolade lag in der Luft und lenkte ihn
immer wieder beim Nachdenken ab. Na, vielleicht kam ja demnaechst mal wieder
ein Spieler vorbei, dann konnte er den unauffaellig ausfragen.

Notstrom.

-----------------------------------------------------------------------------



Re: Schokoladiges (Notstrom, 24. Feb 2018, 01:50:08):
~#! rn=Notstrom rt=1519433389 rg=d.wald
~#! tid=1519433389
Huhu zusammen,

ich freue mich, eine neue Miniquest ankuendigen zu duerfen, die unweit des
Elfendorfs startet.

Ganz vielen lieben Dank an Arathorn, Ark, Miril und Humni.

Viel Frass beim Schielen,
Notstrom.

-----------------------------------------------------------------------------



Zeitumkehr ... (Notstrom, 14. Mar 2018, 15:32:04):
... sollte nun niemanden mehr ins Void befoerdern und auch keinen Krempel-
komplettverlust mehr verursachen. Eigentlich. Vielleicht mag das ja jemand
Mutiges testen.

Hth,
Notstrom.

-----------------------------------------------------------------------------



Schokolade ... (Notstrom,  4. Aug 2018, 16:43:08):
... gibt es im Morgengrauen mittlweile auch ganz offiziell als Material,
denn Zesstra hat auf der Mudparty freundlicherweise die Materialliste
entsprechend erweitert.

Ich habe also in meinem Verantwortungsbereich die mir bekannten Schokoladen
auf ... Schokolade umgestellt. Verschiedene Gilden, NPCs oder Gegenstaende
sollten also nun in der Lage sein, Gegenstaende aus Schokolade korrekt
zu klassifizieren.

Falls mir Gegenstaende oder NPCs durch die Lappen gegangen sind, oder Ihr
auf Entitaeten anderer Regionen stosst, bei denen das Material passend
umgetragen werden sollte, so setzt dies bitte an den entsprechenden Objekten
z.B. als Bug ab.

Achja: Ich habe aus verschiedenen Gruenden keine existierenden Schokoladen
umgeprummelt, Ihr muesst sie also neu holen, wenn Ihr das neue Material
ausprobieren wollt.

Danke,
Notstrom.

-----------------------------------------------------------------------------



Aufraeumarbeiten (Notstrom, 13. Okt 2018, 12:37:39):
... gabs heute bei Paracelsus und Yoru. Arathorn und ich grossreinegemacht.
Eigentlich sollte sich fuer Euch nichts geaendert haben, aber man weiss ja
nie - falls sich etwas anders oder gar nicht mehr verhaelt, meldet Euch
bitte.

Danke!
Notstrom.

-----------------------------------------------------------------------------



Ein Gebuesch bei Kessa (Notstrom, 28. Okt 2018, 14:02:51):
... ist nun toleranter, wenn es darum geht, abzuhauen.

Hth,
Notstrom.

-----------------------------------------------------------------------------



Im Wald und anderswo (Notstrom, 10. Nov 2018, 12:59:17):
... hat Arathorn zahlreiche (mal kleinere, mal groessere) uralte Konstrukte
auf modernen, leichter wartbaren und sogar performanteren Code umgestellt.
Langfristig profitieren wir alle davon, kurzfristig kann es sein, dass sich
Dinge ... anders verhalten als gewohnt. Solche Anomalien bitte melden,
entweder an Arathorn oder an den RM.

Danke!
Nostrom.

-----------------------------------------------------------------------------



Ueberfaellige Anpassung (Notstrom, 28. Nov 2018, 23:35:50):
Huhu,

Artillerie, die man sich bei Locutus besorgen kann, wurden an die
Anforderungen der Balance angepasst. Die Aenderungen sind subtil und
sollten eigentlich niemandem auffallen, aber ich sag Euch trotzdem mal
Bescheid.

Viel Spass,
Notstrom.

-----------------------------------------------------------------------------



Die Finsternis breitet sich aus ... (Notstrom, 28. Sep 2019, 18:38:11):
Tikitaki war unruhig, aber er wusste nicht, weswegen. Die Gewitterwolken,
die draussen vorbeizogen, das seltsame Fluestern, das nirgendwo herzukommen
schien, die Albtraeume ... irgendetwas war im Gange, etwas, das ihm sicher
nicht gefiehl. Es war gerade so, als ob in einer anderen Welt etwas geschaehe,
was ihn betrag. Nur was? Besorgt wollte er sich eine heisse Schokolade
eingiessen, als er wie aus einem Nebel ein schauderhaftes Lachen vernahm.
Ploetzlich wusste er, was all das bedeutete. Eine Parallelwelt seiner kleinen
Schmiede hatte sich manifestiert. Hatten denn die Goetter gar kein Mitleid?
Inbruenstig hoffte er, dass ein paar tapfere Kaempfer sich der Angelegenheit
annehmen wuerden, schliesslich war er ja auch nicht mehr der Juengste.

-----------------------------------------------------------------------------



Re: Die Finsternis breitet sich aus ... (Notstrom, 28. Sep 2019, 18:38:44):
~#! rn=Notstrom rt=1569688691 rg=d.wald
~#! tid=1569688691
Hallo zusammen,

nach einer halben Ewigkeit, die ich mit anderen Dingen beschaeftigt war,
hier nun wieder ein kleines Gebietchen, in das allerdings nur Seher sich
verlaufen koennen sollten. Ich empfehle, vielleicht nicht allein dorthin
loszuziehen.

Ganz besonderen Dank an Arathorn fuer die exzellente, tatkraeftige RM-
Vertretung und das Eintragen von allerlei Dingen, an Zook fuer die
angenehme FP- und MQ-Abnahme, an Bugfix fuer Gildenkram und Support und an
Humni fuer Genehmigungen, die in sein Ressort fallen. Darueber hinaus moechte
ich mich herzlichst bei meinen geduldigen Testern Gulahr, Gilraen, Fargan
und Mundron bedanken, ohne die das Gebietchen laengst nicht so nett und die
Gegner laengst nicht so fies geworden waeren. Danke natuerlich auch an
die ueblichen Verdaechtigen, die mich mit Ideen und Zuspruch inspiriert
haben.

Frohes Metzeln,
Notstrom.

-----------------------------------------------------------------------------



Sorgen in Hobbithuegelhausen (Notstrom, 19. Dez 2019, 22:46:15):
    Hallo zusammen,

Pfomp Haarenfuss in der Kneipe in Hobbithuegelhausen hat neuerdings
Sorgen, bei denen er ohne den einen oder anderen tapferen Abenteurer
total aufgeschmissen ist. Vielleicht koennt Ihr ihm ja helfen, denn
seinen Kummer wegzufressen will ihm einfach nicht gelingen. Wer ganz
besonders wahnwitzig ist, kann ihm in der Parallelwelt helfen ...
das wird dann auch besonders honoriert.

Ihr werdet feststellen, dass auch die Kneipe eine Grundrenovierung erhalten
hat. Vielleicht ist dies nun endlich mal ein Ort, an dem auch ein Hobbit
satt wird.

Danke an alle Beteiligten: Arathorn, Zook, Afunial, Bugfix, Myrana und alle,
die ich gerade vergesse. Besonderen Dank an Livia, ohne die die Miniquest
nicht entstanden waere.


Viel Spass, und weiterhin eine schoene Adventszeit wuenscht
Notstrom.

-----------------------------------------------------------------------------



Das Album der Sehenswuerdigkeiten ... (Notstrom,  4. Jan 2020, 18:05:10):
    Huhu,

verschiedene Spieler kamen auf mich zu und haben vor allem fuer die Para-
Version der Selfie-Miniquest Wuensche geaeussert. Ich habe nun verschiedene
davon eingebaut, ganz lieben Dank an meine mutigen Testerinnen Soynada und
Tassram.

Fuer die Para-Version der Miniquest (also, wenn Ihr Euch Eure Kamera in
Para abholt) ist der Questfortschritt nun rebootfest. Das heisst aber auch,
dass Ihr weiterhin auf der Para-Version unterwegs seid, wenn Ihr Eure
Kamera entsorgt, Euer Questfortschritt ist dann unveraendert. Wenn Ihr
Euren Questfortschritt loswerden wollt, weil Ihr z.B. statt der Para-Version
lieber die "normale" Version spielen moechtet, dann koennt Ihr Eure Kamera
nun "zerstoeren". Wenn Ihr die Kamera identifiziert, erhaltet Ihr einen
Hinweis darauf.

Ausserdem koennt Ihr die Kurbel nun "kurz" drehen. Wie ihr vielleicht schon
ahnt, erhaltet Ihr damit eine verkuerzte Auskunft, was noch zu erledigen
ist, die bereits erledigten Motive tauchen damit nicht mehr auf.

Der Befehl "syntaxhilfe" listet wie bisher die gueltigen Kommandos.


Fuer die Normal-Version hat sich also nichts Wesentliches geaendert, aber
die neuen Kommandos stehen auch hier zur Verfuegung.


In den Genuss dieser Aenderungen kommt ihr allerdings nur, wenn Ihr Euch
eine neue Kamera abholt. Wer die Quest "normal" spielt, erhaelt dabei
allerdings wie gehabt eine neue Auswahl an Motiven, fuer Euch hat sich,
was das angeht, nichts geaendert.

Wer die Quest in der Para-Variante spielt, kann mich gern ansprechen, damit
ich ihr/ihm eine neue Kamera verschaffe, ohne dass die alte Kamera den
Questfortschritt bei ihrem Abgang entsorgt.

Das ist jetzt ein wenig technisch geworden, aber ich hoffe, Ihr seid dafuer
nun auch gut informiert. :)


Hth,
viel Spass,

Notstrom.

-----------------------------------------------------------------------------



Drakonische Peitschen ... (Humni, 17. Jan 2020, 23:20:40):
... erfordern drakonisches Abwerten.

Danke an Arathorn fuer das Auffinden. Eine genauere Balancebewertung wird
folgen.

Humni

-----------------------------------------------------------------------------



Zweitiemarkierung bei Fondil Farin (Zesstra, 23. Jan 2020, 00:20:46):
Huhu,

der Dorfschreiber des Elfendorfes war bislang etwas nachlaessig mit dem
Pruefen der Antraege auf Zweitiemarkierung und hat gelegentlich Unfug gemacht,
z.b. Zweities von Zweities erzeugt oder Gaeste markiert. Auch war er sehr
geduldig und hat ggf. unbegrenzt lange Zeit mit einem Antrag verschwendet.

Ich habe ihm eine Nachschulung in ordentlichen buerokratischen Ablaeufen
gegeben und er sollte das jetzt deutlich gewissenhafter bearbeiten.

Ihr koennt ihm ja mal einen Besuch auf einen Birkensaft abstatten. Und falls
er jetzt etwas verwirrt ist, sagt Bescheid, dann rede ich nochmal mit ihm.

Zesstra

-----------------------------------------------------------------------------



Kamera und Ketos (Notstrom, 14. Apr 2020, 17:37:08):
    Huhu zusammen,

heute hat eine groessere Verlegungsaktion im Gebirge stattgefunden.
Deshalb obacht, wenn Ihr mit Eurer Kamera unterwegs seid, um bei Ketos
Aufnahmen zu machen. Es geht um diese drei Motive:

 - Das Bergdorf
 - Der Siebensprung
 - Beim grossen MGMUDE

1. Wer keines dieser drei Motive noch aufzunehmen hat, ist nicht betroffen
   und muss nicht weiterlesen.
2. Wer die Quest in der Normal-Variante spielt und mindestens eines dieser
   Motive offenhat, hat Glueck und kann sich bei mir melden.
3. Wer die Quest in Para angenommen hat (dann hat man ALLE Motive) und
   mindestens eines dieser Motive noch offenhat, kann die Kamera beim
   Troedler entsorgen (NICHT "zerstoere kamera" machen, sonst ist Euer
   Questfortschritt futsch) und sich eine neue besorgen, diese kennt die
   Aenderungen bei Ketos bereits.

Hth,
Notstrom.

-----------------------------------------------------------------------------



Der schwarze Stern (Notstrom, 26. Nov 2020, 18:38:25):
    Hallo zusammen,

suedlich von Tikitakis Huette kann man in einer anderen Realitaet nun die
Wiese betreten, die sich dort befindet. Vielleicht laesst sich dort etwas
entdecken, was Sehern ein Weilchen Beschaeftigung bietet.

Auch hier gilt das, was ich in der Nachbarrubrik schrub: Vielen Dank an
alle Mitwirkende!


Viel Spass!
Notstrom.

-----------------------------------------------------------------------------



Auf zu neuen Ufern (Arathorn, 27. Dez 2020, 19:51:10):
Hallo zusammen,

ich habe heute diverse Raeume, NPCs und Objekte im Questgebiet von "Auf zu
neuen Ufern" geaendert, um da ein paar Fehler zu beseitigen und
Spielerwuensche umzusetzen. Das meiste war Kleinkram, von dem ihr nix merken
solltet, aber es kann trotzdem sein, dass das ein oder andere dabei
kaputtgegangen ist.

In dem Fall bitte ich um etwas Geduld, ich kuemmer mich drum, sobald ich das
sehe. Wie immer gilt, bei Raum-Zeit-Fehlern muesste ihr nicht extra was
absetzen.

Gruss, Arathorn.

-----------------------------------------------------------------------------



Selfie bei Ealorin (Notstrom,  2. Jan 2021, 21:10:59):
    Hallo zusammen,

wer mit Pfomps Kamera Schwierigkeiten hat, Ealorin abzulichten, melde sich
bitte bei mir. Neu geholte Kameras weisen das Problem nicht mehr auf.

Hth,
Notstrom.

-----------------------------------------------------------------------------



Bauarbeiten bei Paracelsus (Arathorn, 14. Jan 2021, 16:33:02):
Hallo zusammen,

ich habe gerade einen ganzen Haufen Aenderungen und Korrekturen bei Paracelsus
im Wald eingespielt, d.h. im wesentlichen fuer Drakonien, Thors Hammer (soweit
es im Wald spielt) und Fang Du Lans Labyrinth.

Es sind alles Aenderungen, die sich fuer euch nicht im Spiel auswirken
sollten, aber Wenn sich doch irgendwas ungewohnt anfuehlt oder anders wirkt,
meldet euch am besten direkt. Fehler im Raum-Zeit-Gefuege muesst ihr nicht
extra melden, die werden automatisch registriert.

Gruss, Arathorn.

-----------------------------------------------------------------------------



Der Schatten (Arathorn, 21. Jan 2021, 00:25:57):
Hallo zusammen,

nach etwas Gebastel habe ich es nun hinbekommen, dass der Schatten wieder den
gewohnten Extralook erzeugt. Bestehende Exemplare habe ich ausgetauscht, d.h.
ihr muesstet ihn wieder anziehen, falls ihr ihn vorher getragen hattet.

Gruss, Arathorn.

-----------------------------------------------------------------------------



Die Bruecke im Drakoniertempel (Arathorn, 14. Mai 2021, 00:20:11):
Moin,

solltet ihr (oder jemand anderes) ungeschickt sein und da unten auf der
Bruecke einen ... sagen wir ... gefaehrlichen Zwischenfall ausloesen, koennen
jetzt alle Beteiligten unversehrt fluechten.

Arathorn.

-----------------------------------------------------------------------------



Huddles (Arathorn,  9. Aug 2021, 21:57:36):
Hallo zusammen,

ich habe gerade ein groesseres Paket Ueberarbeitungen fuer die Huddles-Quest
eingespielt. Ich erwarte nicht, dass es zu groesseren Unstimmigkeiten kommt,
aber sollte euch etwas auffallen, das deutlich anders ist als bisher, gilt
wie immer: meldet euch.

Gruss, Arathorn.

-----------------------------------------------------------------------------



Knuellko braucht Hilfe - Notstroms letzte Quest (Bugfix, 16. Nov 2021, 16:27:14):
Moin zusammen,

Bei seinem ueberraschenden Tod hinterlies Notstrom uns eine fast fertige
Quest. Ich habe mich dieser angenommen und die letzten fehlenden Kleinigkeiten
ergaenzt.

Auf der Weststrasse am Rand des Wirrwarrmoores sitzt ein verletzter Hobbit,
der dringend Hilfe braucht. Vielleicht findet sich ja ein Spieler, der Lust
hat mal zu schauen was ihm fehlt?


Danksagung

Ich bedanke mich bei Saray fuers Testen, bei Arathorn fuer die Abnahme des
Gebietes und bei Zook fuer Abnahme, Verlegen und Eintragen von Quest, FPs und
ZTs. Aber vor allem gilt mein Dank Notstrom, der uns damit mal wieder eine
wirklich schoene Anfaengerquest geschenkt hat, schade, dass es die letzte war.

Viele Gruesse
Bugfix

-----------------------------------------------------------------------------



Nebelelfenspeere (Arathorn, 18. Mai 2023, 12:17:39):
Hallo zusammen,

wie uns zugetragen wurde, war die Syntax fuer die Benutzung des
Nebelelfenspeers nicht sinnvoll herauszufinden. Bei der Suche nach dem Problem
stellte sich heraus, dass der Speer darueber hinaus diverse andere technische
Unzulaenglichkeiten hatte und ein urspruenglich geplantes, interessantes
Feature komplett fehlte.

Ich habe den Speer daher einmal auf links gekrempelt, technisch modernisiert
und dabei die fehlenden Dinge nachgeruestet. Sollte immer noch etwas nicht
stimmen, meldet euch.

Danke an Yorrel fuer den Hinweis.

Bestehende Speere habe ich ausgetauscht, ihr braucht aber evtl. neue Steine.

Gruss, Arathorn.

-----------------------------------------------------------------------------



