Gruppe eingerichtet (Jof,  2. Jul 1993, 12:01:36):
Ja, subject has it ...
-----------------------------------------------------------------------------



Bisschen leer hier... (Yendi, 16. Jul 1993, 12:50:18):
...oder?
-----------------------------------------------------------------------------



Hmmm... (Boing, 16. Jul 1993, 14:01:42):
Vielleicht gibt's nix zu sagen? :)
Frag doch mal Sir ...
-----------------------------------------------------------------------------



Re:Hmmm... (Sir, 11. Aug 1993, 14:30:41):
Tja,
die Region Unterwelt ist halt perfekt, da gibt es nichst zu bemeckern
oder noch zu verbessern :-)

Dennoch bin ich Vorschlaegen gegenueber stets aufgeschlossen.

MfG
	Sir
-----------------------------------------------------------------------------



Re:Hmmm... (Boing, 11. Aug 1993, 23:12:44):
Ich bin wirklich erstaunt, Deine Reaktion auf Artikel ist ja NOCH
schneller als Deine Reaktion auf mails :)
  Boing
-----------------------------------------------------------------------------



Re:Re:Hmmm... (Sir, 16. Aug 1993, 16:46:24):
Frechheit !
ARhjhJKH KSJIJ!@@# O! BLLLL

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



Dear Sir! (Yendi, 17. Aug 1993, 12:53:19):
Muessen solche zungen- und fingerbrecherischen Richtungsangaben wie z.B.
"Nordenoben" oder "Westunten" wirklich sein?
Reichen Dir die 8 normalen Himmelsrichtungen plus "oben" und "unten" 
nicht mehr aus?
Und wenn Du schon so lange Begriffe verwendest, koenntest Du dann nicht
wenigstens passende Abkuerzungen mitliefern?    Oder ist das Absicht?

(Das gleiche gilt uebrigens fuer den Magier, der die Huegel um Hilberts Turm
 geschnitzt hat; oder warst Du das auch?)

		Schoene Gruesse (mit blutenden Fingern)
					Yendi
-----------------------------------------------------------------------------



Re:Dear Sir (Sir, 17. Aug 1993, 13:04:05):
Moin moin,

tja leider waren diese neuen Richtungen eher witzig gemeint; und wie
das so ist liege ich mit meinem merkwuerdigen Sinn fuer Humor mal wieder
daneben ;-)
Nun mal Ernst beseite, Abkuerzungen kann ich zumindest bei "Nordoben"
nicht einfuehren, weil das bekanntlich mit "Nordosten" kollidieren wuerde.
Oder willst du ein "nob" ?
Ich finde auch, das man fuer solche Zwecke die Moeglichkeiten des alias
ausnutzen sollte, denn fuer sowas ist es schliesslich da.

An Hilberts Turm bin ich gaenzlich unschuldig, wende Dich vertrauensvoll
an Kassandra und Rumata.

MfG
	Sir
-----------------------------------------------------------------------------



Re:Dear Sir (Rumata, 19. Aug 1993, 10:06:39):
Hi,

ich stimme mit Sir ueberein, dass die Spieler doch den Befehl "alias"
benutzen koennten.

Rumata, MudAdm des MorgenGrauens

P.S.: Man haette im Turm als Richtungen auch nord/sued/west/oben/unten
      zum Benutzen der Treppe programmieren koennen.
      *hinterhaeltig grins* ;-)
-----------------------------------------------------------------------------



Re:Dear Sir (Boing, 19. Aug 1993, 16:03:37):
Holla!

In solchen Faellen benutze ich dann immer zwei Ausgaenge mit dem selben
Ziel, einen nach oben und einen nach Norden (zum Beispiel). Die Frage ist,
ob das besser ist, da es halt vielleicht verwirren koennte. Aber im grossen
und ganzen ist es halt doch nur eine Geschmacksfrage, und darueber laesst
sich bekanntlich nicht streiten :)

Tschuess,
   Boing
-----------------------------------------------------------------------------



Magier gesucht ! (Sir, 20. Okt 1993, 21:53:38):
Hallo liebe (Noch-)Spieler,

ich hoffe, dass wenigstens einigen von Euch meine Region Unterwelt
gefaellt, deren weiteren Ausbau ich, wie ich zu meiner Schande gestehen muss,
in letzter Zeit straeflich vernachlaessigt habe.
Jetzt will ich mich aufraffen und endlich viele schoene neue Gebiete
hinzufuegen, gedacht habe ich z.B. an eine Anfaenger-Zone, den Ausbau
von Moria im Sinne von Tolkien, zudem fehlt natuerlich immer noch eine
richtige Hoelle ...
Der Sinn dieses Artikels soll sein, neue Magier fuer die Region anzuwerben
(Freiwillige vor!), damit ich den Ausbau schneller und besser vorantreiben
kann.
Also, wenn ihr alles geloest habt was es zu loesen gibt und alle Monster
getoetet habt, die da rumlaufen auf weiter Flur, und ausserdem Begeisterung
fuers Programmieren und vor allem viele gute Ideen mitbringt, dann denkt
beim Magierwerden an ("To boldly go where no man has gone before") mich.

MfG
	Sir, der bisher zu Faule
-----------------------------------------------------------------------------



Re: "filzlaus" (Yendi,  3. Dez 1993, 12:10:18):
Faszinierend... };->
-----------------------------------------------------------------------------



Re: "filzlaus" (Boing,  3. Dez 1993, 18:50:36):
Jau! So ist das Leben :-)
  Boing

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



Hoelle angeschlossen (Sir,  9. Dez 1993, 14:44:46):
Hi,

von der Schwefelkluft aus gibt es jetzt eine provisorischen Anschluss
zur Hoelle, ich bin fuer Anregungen und Ideen stets dankbar.

MfG
	Sir

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



Hochzeit in MorgenGrauen (Chris, 13. Dez 1993, 16:56:21):
Endlich ist es soweit. Man kann in MorgenGrauen heiraten.
Dazu haben die Goetter eine kleine Kapelle in Nibelheim geschaffen.

Was muss man machen, um zu heiraten?
Man muss sich nur mit seiner bzw. seinem Zukuenftigen und einem Magier
als Trauzeugen in die Kapelle begeben. Dort kann man dann den Priester
ueber weitere Einzelheiten befragen. Der Magier kann dann die Zeremonie
beginnen. 
Geniesst die Trauung. 
Nur ueberlegt es euch gut, da es bisher noch keine Scheidung gibt.
Und wenn Ihr es nicht zu eilig mit der Hochzeit habt, schreibt doch eine
Anzeige in die Zeitung, damit moeglichst viele zu Eurer Hochzeit kommen
koennen.

Natuerlich gehoert zu jeder richtigen Hochzeit auch eine Feier.
Deshalb gibt es gleich neben der Kapelle einen Festsaal, den man 
fuer jede Feier nutzen kann. Alle im Mud sind zu den Feiern dort 
eingeladen. Aber bedenkt, dass sich der Gastgeber sicher ueber ein 
kleines Gastgeschenk freuen wuerde.

Schaut Euch ruehig mal um.

Chris

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



neue Hoehle entdeckt! (Cadra, 22. Dez 1993, 00:20:14):
Wie uns einige entsetzte Elfen berichteten, sind in der Naehe ihres
Baumes in letzter Zeit Dunkelelfen gesichtet worden. Nachforschungen
ergaben, dass sich hinter einem Wasserfall eine Hoehle befindet. Bislang
traute sich aber noch niemand, diese naeher zu untersuchen...
Von dem Betreten wird allerdringenst abgeraten. Dunkelelfen sollen sehr
geschickte und mutige Gegner sein.

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



Auf den Spuren der Echsen (Death, 17. Sep 1994, 15:29:22):
Ein dunkles Hallo an alle.

Dies ist nur eine Kurzinfo, dass es im Bereich der Unterwelt ein neues Gebiet
gibt.
Der Eingang liegt irgendwo in der Naehe des Findlings oder bei den Minen.
Wer suchet der findet, oder so.
Die 1. Etage ist mehr etwas fuer Anfaenger und die lieblichen Tierchen dort
sind recht harmlos.
In der 2. Etage ist eher der Fortgeschrittene gefragt.
Die 3. und vorerst letzte Etage ( noch nicht angeschlossen ) ist erst fuer
Kaempfer ab Level  18 oder so zu emphelen. Hier koennen sich Seher und so
austoben.
Eine Quest ist noch nicht angeschlossen, ist aber in arbeit ;-)
Naja bisher hat der Tod noch jeden von Euch geholt und so wird es auch
diesmal sein ;-)

Fuer Tips und Anregungen bin ich offen und falls etwas stoerrt oder
auffaellt, einfach an mich wenden.

Der  SCHWARZE TOD.

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



Re: Auf den Spuren der Echsen (Morgoth, 22. Sep 1994, 12:01:40):
Jau, ich war da schon mit Looser und Rxtech? unten. Is echt SUPER.
TIP : Der Echsenpanzer is ganz gut...und lasst euch nicht vom TOD
erschrecken.....
                                   Morgoth

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



die echsen - kurze pause (Death,  2. Okt 1994, 16:00:28):

Hallo !!

Seit ca. zwei Wochen bin ich nun endlich mal wieder hier, allerdings nur fuer
sehr kurze zeit.
Wie ich sehen musste/konnte, ist die echsenhoehle auf grund einiger maengel
momentan wieder draussen.
Da ich auch in den naechsten zwei wochen kaum oder gar nicht da sein werde,
wird sich dies wohl auch nicht aendern.
Ich danke euch jedoch fuer die vielen reaktionen, denn es gab auch positive
kritik !!
Tja, die bugs und ideen werde ich wirklich ALLE umsetzen !!!   dauert
allerdings noch etwas.
der dritte level wird dann aber auch mit angeschlossen.
Ich hoffe, es gab keine wirklich grossen probleme, falls doch, bitte ich
darum, mich direkt anzusprechen, falls
ich mal wieder da sein sollte.

Bis denn, ein etwas ueberlasteter schwarzer tod.

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



Orkhoehle - die 2. (Death, 28. Okt 1994, 16:41:33):

So, nach langer Zeit ist nun die Orkhoehle in der Unterwelt wieder offen.
Ich hoffe, dass sie auch laenger offen bleibt!
Alle typos, bugs und ideas wurden ueberprueft und bearbeitet.
In einigen Teilen haben sich einzelne Sachen veraendert.
Warnungen, die den Tod betreffen, sollten beachtet werden !!
Ansonsten bin ich fuer Kritik (pos und neg) jederzeit empfaenglich.
Viel Spass
Der Schwarze Tod

PS.: Meine Verlobte, Ute, hat jetzt 2 Bodyguards, und ist staerker geworden
!!
    Ich finde es nicht gut, wenn meine Verlobte zusammengetreten wird!!
   Ach ja, zur Not werde ich mir noch Flueche ueberlegen !!

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



Runenschwerter der Dunkelelfen (Cadra, 21. Nov 1994, 19:37:37):
Wie den dunkelelfischen Schmieden letztens zugetragen wurde,
hatten sie sich bei der Eingravierung der Runen verschrieben.
Sie haben sich nun bemueht, die richtigen Runen zu finden und
einzugravieren. Zu erhoehter Vorsicht bei Gebrauch der
Waffen durch die natuerlichen Gegner der Dunkelelfen wird
geraten.

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



Re: Runenschwerter der Dunkelelfen (Flintnail, 24. Nov 1994, 18:01:38):
#! rn=Cadra rt=785443057
Sach mal Cadra...wer sind denn die natuerichen Feinde...???
...ich hab von denen auch schon nen paar Dutzend erwischt:) bin ich dadurch
natuerlicher Feind???
     ....Flintnail...

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



Re: Re: Runenschwerter der Dunkelelfen (Caradhras, 25. Nov 1994, 22:11:51):
#! rn=Flintnail rt=785696498
                     Huhu

Flintnail, die natuerlichen Feinde der Dunkelelfen (von mir auch Svart
Alfar, also Schwarzelfen genannt) sind natuerlich die Lichtelfen, die
Lios Alfar, in diesem Sinne also die normalen Elfen die im Mud rumrennen.
Und damit also auch die normalen Spieler der Rasse Elf.

Wobei man noch dazu wissen muss, dass die Dunkelelfen das semantische
Aequivalent zu den tolkienesen Orks sind, eine verdorbene Zuechtung
des Boesen. Und die Lichtelfen sind natuerlich aequivalent zu den
normalen tolkienesen Elben.

Ich hoffe, dass diese meine Interpretation nicht zu sehr der Denkweise
und Absicht der Erschaffer der Dunkelelfen und normalen Elfen
widerspricht.

     tschoe           Caradhras der ewige Prophet

PS: Ach so, von mir auch ne kleine Warnung noch, ich bin ja Elf und
    hatte mein Kuerzel fuer 'zuecke Schwert" (Blutsauger), als ich
    das Zeug der Dunkelelfen mitnahm war das Runenschwert an erster
    Stelle, hab das also waehrend dem Kampf gezueckt. Es ist mir
    kurz danach in der Hand explodiert, etwa 130 LP Verlust. ;-)

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



Ute & Bodyguard (Death, 29. Dez 1994, 14:09:55):
Halloechen!

Nachdem meine Ute am Anfang ihres Lebens innerhalb einer Woche ca. 31x
gestorben
war, und ich hasse es, wenn jemand meine Verlobte verpruegelt, hatte ich zwei
Bodyguards hinzugefuegt und auf Angriff gestellt!
Da mich aber mehrere Spieler gefragt haben ob es denn sein muesse, dass man
sofort angegriffen wird, sobald man den Raum mit Ute betritt, habe ich dies
geaendert.
Ab sofort kann man den Raum wieder gefahrlos betreten, solange man Ute nicht!
angreift.
Sollte jedoch einer trotzdem Ute angreifen, so wird er sein blaues Wunder
erleben.

DER SCHWARZE TOD

P.S.: Etwas traurig bin ich ja schon, dass nun weniger bei mir sterben werden
*grins*

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



Damit auch was in d.unterwelt los ist... (Aranya, 22. Mai 1995, 21:41:25):
Diese Rubrik wurde seit dem 29. Dezember nicht mehr genutzt wurde, schreib
ich
eben mal was rein. Fuer alle ist hier eine Rose zum Ausschneiden.

@>(----'-,------

------>8---------

-a Tja, das war's.
Aranya

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



Re: (Aranya, 22. Mai 1995, 21:47:11):
Huch, da hab ich ja einen Final- zu einem Kausalsatz gemacht und es nicht
gemerkt. Sowas aber auch. Sorry for that!
Und wech!
Aranya

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



teddymeldung (Mupfel,  7. Jul 1995, 17:17:23):
hallo

wie waers wenn man die teddymeldung ('report') konfigurierbar machen wuerde,
aehnlich wie die uhrmeldung, mit (sagenwer) einem befehl 'reportmeldung'? der
default waere dann 'reportmeldung Du hast jetzt %d Lebenspunkte und %d
Magiepunkte' aber auch ein 'reportmeldung (%d,%d)' waere denkbar. ich weiss
das manche tf-user das mit 'gag' auch erreichen aber so waere das allen
zugaenglich gemacht.

...nur so'ne idee...
-mupfel-

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



Re: teddymeldung (Morgon,  8. Jul 1995, 15:28:42):
#! rn=Mupfel rt=805130243
Da waere ich auch ABSOLUT dafuer! Mich nervt auch andauernd dieses
unuebersichtliche X Lebenspunkte Bla Bla... (Bitte jetzt nicht
sagen, das ich es abstellen kann.... :)

Genau!
      Morgon

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



Re: Re: teddymeldung (Cuchullin, 10. Jul 1995, 23:05:46):
#! rn=Morgon rt=805210122

Tjaaa... nur da wird das In-den-Tod-laufen-lassen von Script-Playern enorm
erschwert.. ein Echo oder ein Teile-mit "Du hast noch ..." geht dann ja nicht
mehr.
Zumindest nicht fuer Spieler.

- cuch -

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



Re^3: teddymeldung (Mupfel, 10. Jul 1995, 23:09:37):
#! rn=Cuchullin rt=805410346
naja... du hast doch eh' deine teddymeldung tf-maessig 'aufbereitet' :-)
und um die scripties mach dir mal keine sorgen... die kriegen wir noch...
nicht wahr rochus? :-)

-mupfel-

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



Notung ist SCHWER (Rumata, 16. Jan 1996, 08:20:02):
Hi,
es gibt verschiedenen Stellen, an denen man nicht zu viele Sachen bei
sich tragen kann. Leider kann man Notung nicht wegwerfen, kann das mal
jemand berufenens aendern?

Rumata

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



Balrog (Wurzel,  4. Mar 1996, 15:49:12):
Hallo,

Es war an der Zeit, und zwar dringend:
Der Balrog ist wieder ein etwas ernstzunehmenderer Gegner. Originalton:

- Da konnte ich immer so schoen ideln -

Das halt ich ja im Kopf nicht aus.
Der erneuerte Balrog ist jetzt in der Lage, Hilfe zu holen, und das tut er
auch. Damit nicht Anfaenger da reintappen, ist er jetzt nur noch fuer Seher
zugaenglich.

Im uebrigen moechte ich hier schonmal ankuendigen, dass auch andere Ecken der
Unterwelt renoviert werden. Einiges ist doch schon etwas angestaubt.

Kommentare werden gern entgegengenommen, flames > /dev/null

gruss, wurzel

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



Re: Balrog (Bobo,  4. Mar 1996, 15:55:26):
~#! rn=Wurzel rt=825950952
~#! tid=825950952
Jau, das hoert sich gut an...
Kann mir vorher noch mal jemand eine Frage beantworten, die mich schon seit
Jahren quaelt, die ich jedoch nie zu stellen wagte?
Was hat es mit dem See unten am Ende des Tunnels auf sich? Ein bisschen
hab' ich mich dabei an Tollkien erinnert gefuehlt - nur leider bin ich nie
ueber den Uferrand hinausgekommen *schaem*
Wer was weiss, darf sich gerne vertrauensvoll an mich wenden...
Ciao,
twBs.

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



RE:Balrog (Chicola,  4. Mar 1996, 16:33:20):
Huhu :)
Schoen und gut, dass der Balrog erneuert wurde, aber koennte man das nicht
vorher ankuendigen ?? Zumindest bei solch hefigen Veraenderungen ? Ich bin da
vorhin (Jof und Boing sei Dank) mit 2 LPs herausgekommen ! Ausserdem vermehren
sich die Monster auf wunderbare weise :(

Etwas veraergert                            Chicola

PS: Das mit dem Hochidlen stammt von mir, aber wurde nicht korekt zitiert!
Ich sage, als Wargon mir vorhielt, das der Balrog immer schon stark war, dass
ich das nicht so sehe, weil man frueher dort _fast_ hochideln konnte!! :)

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



Re: RE:Balrog (Fyt,  4. Mar 1996, 16:34:16):
~#! rn=Chicola rt=825953600
~#! tid=825953600

Hm, also irgendwie ist EIN nazgul schon ziemlich happich...

Wer genehmigt solche Sachen eigentlich?

Fyt, sich wiedermal wundernd.

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



Re: Re: RE:Balrog (Asmodis,  4. Mar 1996, 16:35:10):
~#! rn=Fyt rt=825953656
~#! tid=825953600
Ob das genehmigt wurde ? Wahrscheinlich duerfen erst mal wir Spieler
testen :)

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



Re^3: RE:Balrog (Fyt,  4. Mar 1996, 16:37:57):
~#! rn=Asmodis rt=825953710
~#! tid=825953600
Ok, meine Meinung als Tester dann: durchgefallen, und zwar glatt :)

Fyt.

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



Re^4: RE:Balrog (Fyt,  4. Mar 1996, 19:18:52):
~#! rn=Fyt rt=825953877
~#! tid=825953600

Um das noch 'n bisschen auszuwalzen:
Wer kontrolliert eigentlich Regionsmagier?

Ich hab mich ja dran gewoehnt, dass es Viecher gibt, die
immer mal 100 Schaden machen, kann auch damit leben, dass
es welche gibt, die das mit 11 Koepfen in einer Runde
schaffen, aber wieso man solche Dinger braucht, um einen
popligen Balrog zu bewachen (der im Vergleich zu den
Nazguls wohl eher ne Lappalie ist), geht nicht in mein
Hirn :)

Fyt, froh, nach der Levelreform wieder was zum motzen zu haben :)

PS: kann es sein, dass hier jemand 'do_damage' und 'Defend'
verwechselt? Ich bin bis jetzt kein einziges Mal um dieses
komische Schwert herumgekommen...

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



Re: Re: RE:Balrog (Amazora,  4. Mar 1996, 22:54:33):
~#! rn=Fyt rt=825953656
~#! tid=825953600
Hmm, also ich fand den Balrog vorher schon etwas popelig. Fuer einen Balrog
war der mir zu leicht. Den hatte ich mit ein paar Schlaegen tot. Jetzt find
ich ihn netter. :-)
Aber ich bin eh nur ne Testie.
Amazora mag Herausforderungen

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



Re^3: RE:Balrog (Silvana,  5. Mar 1996, 08:18:12):
~#! rn=Amazora rt=825976473
~#! tid=825953600
Hmmm... Wenn ich mir die MERS-Werte und die Beschreibungen von Tolkien und
so ansehe, muss ich feststellen, dass Balrog und Nazguls durchaus ange-
messene Werte haben. In Mittelerde konnte auch kein einzelnes Wesen gegen
solch eine Uebermacht laenger als eine 'Runde' ueberleben - mit Ausnahme
der Valar (Goetter) - natuerlich.
Das das ganze nichts (aber auch wirklich GAR NICHTS) mehr mit dem Papp-
Balrog von frueher zu tun hat ist schon klar. Das da nur Seher rein duerfen
ist nur verstaendlich (bei MERS wuerde jeden LowLewelSpieler angesichts
eines Balrogs einfach so tot umfallen).
Der neue Balrog gehoert sicher zu den haertesten Stellen ueberhaupt im
Morgengrauen (vergleichbar mit Water Luh oder Cu Sith), aber nach ein paar
kleinen Veraenderungen gegenueber der ersten 'Auflage' ist das durchaus
spielbar und eine echte (harte) Herausforderung fuer groessere Seher-
Schwaerme.
Nicht, dass das jetzt mein Lieblings-Metzelgebiet werden koennte, aber ich
finde die Aufregung doch (inzwischen) etwas uebertrieben.

  Silvana

PS: Fuer die LPC-Kenner: Es ist kein direktes do_damage() drin.
PPS: Zu der Frage mit bzgl. RM-Kontrolle: Eigentlich wird von RMs erwartet,
     dass sie sich selbst kontrollieren koennen. Ist das nicht der Fall,
     wird frueher oder spaeter ein Gott/EM einschreiten. Die wiederum sind
     nicht zu kontrollieren.... ;-)

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



Re^4: RE:Balrog (Paracelsus,  5. Mar 1996, 10:39:23):
~#! rn=Silvana rt=826010292
~#! tid=825953600
Hmm, ich will nur hoffen, dass der gute Alebrich sich jetzt nicht mehr
beim Balrog verkriechen kann. Das waere sonst ein kleines Problem in
einer gewissen Quest.
Para.

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



Re^3: RE:Balrog (Yendi,  5. Mar 1996, 12:25:49):
~#! rn=Amazora rt=825976473
~#! tid=825953600


Der Balrog war immer zu schwach. Er sollte schon als Einzelmonster
furchterregend stark sein.
Ihm jetzt aber ein paar Nazgul zur Seite zu stellen ist uebertrieben.
Ausserdem, was haben Ringgeister mit einem Balrog zu tun? *gruebel*


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



arme newbies (Chicola,  5. Mar 1996, 13:23:50):
Wie schon im Titel zu lesen, ich find nicht fair 3 raeume von einer
Anfaengerquest( -> Hexentoeter) solche Bestien aufzustellen ohne entsprechende
Absicherung ( Monster im Raum darueber)! Aber ich komme immer wieder zum
Schluss, dass ess einigen (wenigen !!) Magiern nur darum geht, in der
Mordliste zu fuehren!!
Immer noch sauer                 Chicola

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



Re: arme newbies (Asmodis,  5. Mar 1996, 14:44:32):
~#! rn=Chicola rt=826028630
~#! tid=826028630
Ich seh auch keinen Sinn, den Balrog ueberhaupt staerker zu machen, oder
hat er jetzt irgendwas Besonderes dabei? Langsam sollte man die
Ruestungsspirale
mal etwas zurueckdrehen.

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



Re^3: arme newbies (Esmeralda,  5. Mar 1996, 20:25:21):
~#! rn=Anatol rt=826035208
~#! tid=826028630
Gibt es nicht in der Dunkelelfenstadt eine Stelle, wo man
entweder einen Zaubertrank kriegt, oder zum Balrog gemovt wird?
Nur so als Frage, ich habe keine Lust, es auszuprobieren ;-)

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



Re^4: arme newbies (Mars,  5. Mar 1996, 20:27:30):
~#! rn=Esmeralda rt=826053921
~#! tid=826028630
Ich habe Wurzel gefragt, und er sagt, man wird einen Raum ueber den Balrog
teleportiert, weil es sonst Mord waere :)

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



Re^4: arme newbies (Jimdigriz,  5. Mar 1996, 20:37:24):
~#! rn=Esmeralda rt=826053921
~#! tid=826028630
Da gibts nochn paar andere Stellen,
ein Anfaenger hat aber weder in der Dunkelelfenstadt noch
beim D* was verloren...

JdG

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



nochmal Balrog (Snuggle,  5. Mar 1996, 22:44:57):
Nix dagegen, dass es jetzt maechtig heftig ist, den Balrog zu killen, aber,
korrigiert mich, wenn ich Unsinn erzaehle, keinem Nazgul fiele es ein,
einen Balrog zu verteidigen, es sei denn er haette ein eigenes Interesse an
dem Gegner des Balrogs...

Muss mal wieder den HdR waelzen, bis dahin
YTSnuggle

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



Re: nochmal Balrog (Mupfel,  6. Mar 1996, 00:06:54):
~#! rn=Snuggle rt=826062297
~#! tid=826062297
Stimmt :-)

So ein Balrog sollte solche Hilfe eigentlich auch nicht brauchen, aber ich
glaube das gaeb dann ein Megamonster... (wenn man schon ueberlegt wie
schwaechlich unsere Drachen sind... :-)

-mupfel-

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



Re^4: arme newbies (Wur,  6. Mar 1996, 05:03:11):
~#! rn=Esmeralda rt=826053921
~#! tid=826028630
Ui, Die Stelle gab es mal, aber es heute immer noch so ist...wer weiss?

Wur

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



Re^4: arme newbies (Silvana,  6. Mar 1996, 09:46:46):
~#! rn=Esmeralda rt=826053921
~#! tid=826028630
Das mit dem ZT ist ausgebaut worden.
  Silvana

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



Re^5: arme newbies (Har,  6. Mar 1996, 10:22:18):
~#! rn=Silvana rt=826102006
~#! tid=826028630
Ooooch, wie langweilig ;-)

Har

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



Re: Re: nochmal Balrog (Asmodis,  6. Mar 1996, 11:00:17):
~#! rn=Mupfel rt=826067214
~#! tid=826062297
Wieso werden die Drachen eigentlich immer als boese, gemein und
hinterlistig dargestellt ? In vielen Buechern und Geschichten
sind es doch positive Wesen.

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



Re^3: nochmal Balrog (Wargon,  6. Mar 1996, 11:07:18):
~#! rn=Asmodis rt=826106417
~#! tid=826062297
Das kommt wohl auf den Hintergrund des Drachen an. Fernoestliche Drachen sind
in der Regel gutmuetig (soweit sie sich ueberhaupt um Menschen kuemmern) und
Symbole der Weisheit, waehrend "hiesige" Drachen eher mit verwuesteten
Gebieten, entfuehrten Jungfrauen und Dosenfutter (=> gekochte Ritter) in
Verbindung gebracht werden.
Im Fantasybereich hat man wohl eine aehnliche Abstufung: Waehrend goldene,
silberne, bronzene oder kupferne Drachen mehr positive Eigenschaften tragen,
ueberwiegen bei schwarzen, blauen, gruenen oder roten die negativen
Eigenschaften.
Ich hoffe, ich habe das einigermassen richtig zusammengefasst ;)
  Wargon

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



Re^4: nochmal Balrog (Paracelsus,  6. Mar 1996, 11:18:44):
~#! rn=Wargon rt=826106838
~#! tid=826062297
Hmm, ich hab einen ganz ganz lieben, echt so richtig wirklich netten
gruenen Walddrachen ;)

Paracelsus, Herr ueber mindestens 5 Drachen ;)

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



Re^5: nochmal Balrog (Snuggle,  6. Mar 1996, 12:04:45):
~#! rn=Paracelsus rt=826107524
~#! tid=826062297
Wargon, ausgerechnet Du vergisst die Sumpfdrachen?

grinsend,
Snuggle

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



Re^3: nochmal Balrog (Boing,  6. Mar 1996, 13:17:32):
~#! rn=Asmodis rt=826106417
~#! tid=826062297
Werden sie doch gar nicht immer, von meinen eigenen Drachen werden z.B.
Water Luh oder der Kristalldrache beide als sehr gut dargestellt.
  Boing

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



Re^4: nochmal Balrog (Asmodis,  6. Mar 1996, 13:23:51):
~#! rn=Boing rt=826114652
~#! tid=826062297
Naja, wenn man sie angreift werden sie aber ziemlich fies :)

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



Re^5: nochmal Balrog (Throin,  6. Mar 1996, 15:50:26):
~#! rn=Asmodis rt=826115031
~#! tid=826062297
Zwei Sachen: Zum Thema Drachen:
Bei Tolkien sind generell ALLE Drachen Geschoepfe von Morgoth. Nach seinem
Fall haben die Ueberlebenden sich selbstaendig gemacht.
Sie sind an sich boese, hinterhaeltig und zu allem ueberfluss auch noch
hochintelligent.

Zum Thema Balrog und Nazgul:
Nach Tolkien haben die beiden nix miteinander zu tun.
Nazgul sind (soweit ich mich jetzt erinnere) erst Anfang des dritten
Zeitalters entstanden, waehrend der einzige Balrog im DZ in Moria gesichtet
wurde. Dort ist nie ein Nazgul aufgetaucht.
Zur Abstammung: Balrogs sind Maiar (wie Sauron oder Gandalf) und daher
eigentlich eine Art#
Halbgoetter. Nazgul sind Menschen, die von der Macht der Ringe Saurons
pervertiert und ins Geisterreich hinuebergezogen wurden. eigentlich sollten
Nazgul also schwaecher sein. Ich weiss nicht genau, wie man das im MERS-
Regelwerk verarbeitet hat, aber man sollte diese Abstammung doch
beruecksichtigen.

So, das reicht fuers erste.
Sorry fuers Layout,

Oberbraumeister Throin
(Gewinner aller Tolkienquizze (?) an denen er teilgenommen hat) :)

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



Re: Re: arme newbies (Amazora,  6. Mar 1996, 19:42:57):
~#! rn=Asmodis rt=826033472
~#! tid=826028630
Hmm, mag schon stimmen aber wenn ich mir in anderen Muds die Balrogs ansehe,
dann find ich es schon ok, dass er staerker gemacht wurde. Vor Balrogs sollte
man schon etwas Achtung haben und die nicht mit drei oder vier Schlaegen platt
haben.
Aber wie gesagt: Ich bin eh nur ne Testie.
Amazora

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



Re^5: arme newbies (Acrimon,  7. Mar 1996, 00:37:08):
~#! rn=Silvana rt=826102006
~#! tid=826028630
Und was bekommen dann diejenigen, die den ZT (beim ersten Einloggen) an
dieser Stelle zugewiesen bekamen?

Acrimon, der Rote Ritter

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



Re: Re: nochmal Balrog (Acrimon,  7. Mar 1996, 00:46:45):
~#! rn=Mupfel rt=826067214
~#! tid=826062297
Ein Balrog ist definitiv mit groszem Abstand wesentlich staerker als ein
Drache.
Schlieszlich ist ein Balrog ein Maia, der auf der falschen Seite steht.
Und Nazguls sind ein Stueck schwaecher als Drachen; es sind nur Menschen,
denen mit Hilfe von Ringen eine gewisse Macht verliehen wurde.
Nazgul sind weniger intelligent als Drachen, sie sind schwaecher als Drachen,
sie koennen weniger als Drachen (kein Feuer), sie sind weniger geschuetzt als
Drachen; aber dafuer verbreiten sie eine grauenhafte Furcht.

Acrimon der Rote Ritter

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



Re^3: nochmal Balrog (Anatol,  7. Mar 1996, 01:50:20):
~#! rn=Acrimon rt=826156005
~#! tid=826062297

/*
Jo, das mit der "grauenhaften Furcht" kommt in etwa hin, so ganz sorglos geh
ich nicht da hin, wenn einem 6.Dan-Karateka in der Wilkommensrunde 80 LPs
weggehauen werden.... Aber sind wir doch froh, dass es nur 3-4 Nazguls sind,
die da beim Balrog stehen... ;-)
*/

Anatol


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



Re^4: nochmal Balrog (Mupfel,  7. Mar 1996, 19:27:40):
~#! rn=Anatol rt=826159820
~#! tid=826062297
genau... wie waers denn mit 'alle neune', wurzel? :-)

-mupfel- (dann traut sich da garkeiner mehr rein, denn 9x50 lp weg pro
kampfrunde macht auch den besten seher platt :-)

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



Re^5: nochmal Balrog (Asmodis,  7. Mar 1996, 19:29:48):
~#! rn=Mupfel rt=826223260
~#! tid=826062297
Was sollen ueberhaupt jetzt diese Viecher, wenn der Balrog jetzt
angeblich stark genug sein soll ??

Ich finde nicht gut, dass Magier immer so uebertreiben und
unbedingt ihre Todesbilanz verbessern wollen.

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



Re^6: nochmal Balrog (Anatol,  7. Mar 1996, 19:40:38):
~#! rn=Asmodis rt=826223388
~#! tid=826062297

Der Balrog IST genau durch diese Viecher so stark, Asmo :)
Ok, zwar nicht nur, er selbst haut auch ordentlich rein... aber ohne Nazguls
haette er die 5 Seher vor drei Tagen nicht ueberlebt.

Anatol


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



Re^7: nochmal Balrog (Toe,  7. Mar 1996, 19:50:46):
~#! rn=Anatol rt=826224038
~#! tid=826062297
Grummel...
Aber auch mit fuenf (oder mehr) ists gefaehrlich... Der der in einer Gruppe
unten bleibt und (wegen der Gruppe) seine Vorsicht runtergesetzt hat - also
eine Runde alleine unten bleibt - tja der ist halt Kanonenfutter (da schlagen
dann in einer Runde 5 Viecher und hauen im unguenstigen Falle 200 LP wech...
toe (ist froh das er selber und nicht escubar bei drauf gegangen ist)

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



Re^8: nochmal Balrog (Asmodis,  7. Mar 1996, 20:31:50):
~#! rn=Toe rt=826224646
~#! tid=826062297
Mag sein, dass er nur durch die Nazguls so stark ist, aber ich das
beantwortet nicht meine Frage, wieso das sein muss. Es reicht
doch, wenn man das Vieh mit 2 Sehern erledigen kann. Ich finde
es nicht gut, dass 5 Seher da Probleme haben.

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



Nochmal Balrog (Wurzel,  7. Mar 1996, 23:30:23):
Hallo,

es sind doch einige Fragen uebriggeblieben, die ich beantworten moechte:

1. Ganz allgemein zu Balrogs und Nazguls
   Balrogs waren nach Tolkien (nachzulesen im Silmarillion) im ersten
   Zeitalter recht zahlreich. Dass davon welche Morgoths Ende ueberlebt
   haben, liest man im Herrn der Ringe (Moria). Sie waren von Anfang an
   Diener des dunklen Herrschers, und es ist daher naheliegend, dass sie
   mit der uebrigen Erbmasse an Sauron gegangen sind. Dadurch ist auch die
   Beziehung zu den Nazgul geklaert: Diener EINES Herrn.
   Einen Sauron zu programmieren, habe ich nicht vor, waere keine echte
   Herausforderung: this_player()->die();  :-)

2. Ich habe die Artikel mit Aufmerksamkeit gelesen.
   Nochmals: Der ZT ist unwesentlich geaendert, der Teleport fuehrt jetzt in
   den Tunnel ueber dem Balrog. Ansonsten ist alles gleich geblieben. Ein
   Teleport direkt zum Balrog ist m.E. tatsaechlich Mord.
   Ich suche noch immer nach Stellen, wo ein Teleport dorthin
   ausgeloest wird. Wer eine kennt, bitte Bescheid sagen.
   Ansonsten bleibe ich dabei, die Unterwelt zu veraendern.
   Diese Newsgroup hatte z.B. vorher Null Artikel, genauso spannend wie der
   Rest der Unterwelt. Es gibt zahlreiche Stellen, die m.E. dringend der
   Ueberarbeitung beduerfen. Der Balrog hat mir als Tolkien-Fan nur
   besonders weh getan. :)

Gruss, Wurzel

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



Re: Nochmal Balrog (Amonsul,  8. Mar 1996, 13:09:16):
~#! rn=Wurzel rt=826237823
~#! tid=826237823
            Moin Kinnings

/ Wurzel:
1. Ganz allgemein zu Balrogs und Nazguls
   Balrogs waren nach Tolkien (nachzulesen im Silmarillion) im ersten
   Zeitalter recht zahlreich. Dass davon welche Morgoths Ende ueberlebt
   haben, liest man im Herrn der Ringe (Moria). Sie waren von Anfang an
   Diener des dunklen Herrschers, und es ist daher naheliegend, dass sie
   mit der uebrigen Erbmasse an Sauron gegangen sind. Dadurch ist auch die
   Beziehung zu den Nazgul geklaert: Diener EINES Herrn.
/

Tut mir leid, Wurzel, aber das ist ziemlich grosser Quatsch. Wie hier
schon geschrieben wurde, sind Balrogs zu den Maiar gehoerig, also einer
'unsterblichen' Rasse zugehoerig, genauso wie Sauron es ist. Und Sauron
war nur ein Diener Morgoths, wenn auch als einer der hoechsten Vertreter
einer der machtvollsten, vielleicht sogar der machtvollste.
Und es ist kaum anzunehmen, dass sich Balrog mit so laeppischen Kroeten
wie Nazgul verbuenden wuerden, nach der 5ten Schlacht der Altvorderen-
zeit machten alle Balrogs alles auf eigene Rechnung.
Es ist hoechstens, allerhoechstens denkbar, dass sich Nazgul irgendwann
zu Dienern von Balrogs entwickeln koennten, aber da haette wohl
jemand namens Sauron etwas dagegen. Wenn man Nazgul und Balrog in der
Staerke vergleicht, muesste ein Balrog um mehrere Male staerker sein,
man denke nur an Gandalfs Kampf gegen mehrere Nazgul gleichzeitig auf
der Spitze des AmonSul (und er hat nicht verloren, die Nazgul mussten
sich zurueckziehen), aber spaeter beim Kampf gegen den Balrog auf
dem Gipfel von Celebdil siegte Gandalf mit grosser Muehe.


             AmonSul, die Wetterspitze


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



Re: Nochmal Balrog (Nixihou,  9. Mar 1996, 01:16:27):
~#! rn=Wurzel rt=826237823
~#! tid=826237823
naja wurzel, anstelle jeden x-beliegien teleport zum balrog zu suchen
schieb deinen allseits gehassten balrog doch in die paralelwelt, wenn du
weisst wie das geht, und stell ansonsten ein anderes
lichtscheues, nicht ganz so starkes monster an die stelle in die normale
weld.
auf diese weise ist das gebiet dann auch wieder fuer low-level-player
zugaenglich.
ausserdem solltest du dir eher mal was ueberlegen wie du die unterwelt
ineressant ERWEITERST! und nicht fuer SEHERRUDEL (nicht unter 5)
herrichtest, die dann immer noch am krueckstock da wieder rausgehen!

im uebrigen hilft es wirklich wenn man mal ein paar spieler fragt, was fuer
aenderungen die unterwelt interessanter machen wuerden.
du wirst es kaum fuer moeglich halten was da fuer anregungen auf dich
zukommen. (ich tippe mal darauf das du dir dann fuer die naechsten 2 jahre
keine anderen sache vornehmen muesstest, wenn du alle anregungen
MUDGERECHT umsetzen wolltest)

nixi, entschuldigt sich fuer den ruppigen artikel


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



Re: Nochmal Balrog (Toe, 12. Mar 1996, 09:48:49):
~#! rn=Wurzel rt=826237823
~#! tid=826237823
knapp am thema vorbei...
toe (kopfschuettelnd)

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



Balrog---oder schon out? (Murkes, 14. Mar 1996, 22:41:29):
Also noch mal von mir was zum Balrog -- wenn eine Stimme von einem
Retner wie mir ueberhaupt noch zaehlt.
(Und wenn die Diskussion nicht schon laengst beendet ist)
Also: Als ich noch Spieler war (gut, ist etwas her), fand ich den Balrog
nun wirklich nicht gerade leixht -- eher das gegenteil. ich glaube aber
immernoch, dass die meisten Spieler durchaus Probleme gehabt haben, ihn in
seinner vorherigen Staerke zu killen. Ok, fuer Seher war er wohl kein Problem,
mag ja sein. Ich persoenlich halte nichts davon, Monster einfach in der
Staerke zu erhoehen, da ist es dann besser, neue staerkere Monster zu
entwickeln.
Natuerlich gibt es ein paar
Monster, die eine Sonderfunktion im MG einnehmen (z.B. Robin), dass der
irgendwie angepasst wird ist klar, aber der Balrog? Geht mir nicht so recht in
den Sinn.
So, dass war mein Ketchup zu dem Thema (wahrscheinlich eh schon veraltet),
entschuldigt nichtvorhandenen formatierung und diverse typos -- ich kaempfe
gerade gegen das netz, das Modem und den rest der (virtuellen) Welt.

Murkes, der, der immer zu schwach war, um den Balrog zu plaetten ;)

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



Re: Balrog---oder schon out? (Felagund, 15. Mar 1996, 19:32:22):
~#! rn=Murkes rt=826839689
~#! tid=826839689
Ein Balrog ist nur wenige Stufen unter einem Gott anzusiedeln, und war
deshalb vorher zu leicht...also mich hat das z.B. ziemlich genervt, da sollte
man sich eher fragen, wieso Robin so stark ist, DAS entbehrt naemlich eher der
Logik, als den Balrog vernuenftig stark zu machen.
gruss..Fela
P.S.was die Nazgul da zu suchen ham is mir allerdings nach wie vor nicht ganz
klar..mach doch lieber den Balrog noch etwas schwerer, Wurzel ;)

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



Wasserfall (Li, 20. Mar 1996, 09:09:52):
Also damit wir anderen Magier hier nicht staendig mit Fragen bombardiert
werden, greife ich jetzt mal zur Selbshilfe:
Amm Wasserfall auf dem Weg zw. PV und Wald sieht man sich selber.
DIES IST KEIN BUG, sondern Absicht. Man spiegelt sich sozusagen.
Moegen mir die Unterweltmagier verzeihen, aber ich habe keine Lust, jedem
Dritten Spieler zu erklaeren, was es damit auf sich aht.
(aeh hat)
Li

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



grabungsarbeiten (Wurzel, 14. Apr 1996, 21:05:25):
hallo,

in der unterwelt haben grabungsarbeiten begonnen, bei denen umfangreiche
tunnelsysteme und tropfsteinhoehlen etc. entdeckt wurden. es ist noch
nicht allzu viel interessantes dabei aufgetaucht, wenn man mal von einem
unterirdischen baum absieht... aber das ist nur eine frage der zeit.
geruechte sagen, dass irgendwo dort unten auch ein fussweg nach fernwest sein
soll, aber bisher ist der entsprechende gang noch verschuettet. es ist aber
damit zu rechnen, dass noch zahlreiche weitere gaenge entdeckt werden, man
kann sogar vermuten, dass ganz morgengrauen unterhoehlt ist.

gruss, wurzel

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



Re: grabungsarbeiten (Acrimon, 14. Apr 1996, 23:44:43):
~#! rn=Wurzel rt=829508725
~#! tid=829508725
Ein unterirdischer Gang nach Fernwest?
Uff, und das zu Fusz, wo die Karawane schon drei Tage braucht; da reichen
keine 50 Fackeln.

Ich glaub, da nehm ich doch lieber die Karawane!

Acrimon, der Rote Ritter

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



Re: Re: grabungsarbeiten (Anakin, 15. Apr 1996, 09:45:36):
~#! rn=Acrimon rt=829518283
~#! tid=829508725
Es gibt ja auch diverse Gegenstaende die immer leuchten.
Will heissen einen Reboot lang, damit sollte man schon hinkommen :)

Anakin.

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



Re: Re: grabungsarbeiten (Lifafa, 15. Apr 1996, 10:16:08):
~#! rn=Acrimon rt=829518283
~#! tid=829508725
Acrimon, hast Du die Route der karawane genau kartographiert? Bist Du sicher,
dass sie nicht einen ziemlichen Umweg macht; schliesslich ist sie auf oasen
angewiesen. ;)

                          Lifafa

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



Re^3: grabungsarbeiten (Raffi, 15. Apr 1996, 12:31:48):
~#! rn=Lifafa rt=829556168
~#! tid=829508725

Hmmm, schoen und gut Lifafa, aber wie sieht es mit der Versorgungslage im
hoehlensystem aus ?

Ich warte immer noch darauf das der weg vom Neandertal aus weitergebaut wird
- aber was ist wahrscheinlich so wie mit der Lindauer Autobahn:(

Gruss
H.

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



Re: Re: grabungsarbeiten (Mupfel, 15. Apr 1996, 20:29:04):
~#! rn=Acrimon rt=829518283
~#! tid=829508725
Vielleicht ein Laufband? :-)

-mupfel-

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



hospital (Wurzel, 28. Apr 1996, 21:54:04):
hallo,

das unterwelt-hospital hat sein angebot erweitert:
fuer all jene, die eine unglueckliche begegnung mit gianni hatten oder sonst
probleme mit der geschlechtlichen identitaet, gibt es einen chirurg (oder
eine chirurgin?), der zu einem allerdings saftigen preis hilft.

gruss, wurzel

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



kleine erweiterung (Wurzel,  5. Jun 1996, 18:23:04):
hi,
kleine erweiterung : die huette am waldweg hat einen kleinen anbau bekommen.
genauer gesagt, ist ein schnellbeschiss ... aeh, schnellimbiss dazugekommen.

guten appetit (igitt), wurzel

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



Re: kleine erweiterung (Tzofe, 10. Jun 1996, 12:47:54):
~#! rn=Wurzel rt=833991784
~#! tid=833991784

Kleine Anregung: Wie waer's denn mit 'nem Waschbecken ?

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



Wilhelmsburg (Wurzel, 16. Jun 1996, 02:09:40):
hi,
frueher als geplant, hat das kleine doerfchen wilhelmsburg seine pforten 
geoeffnet. fuer die abnutzungsgeplagten gibt es dort einen schmied, der
ruestungen und waffen repariert.
die restlichen geplanten features (wie z.b. mietwohnungen fuer spieler)
sind noch nicht soweit, aber man kann sich schon mal umschauen...

wurzel

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



okay, okay... (Wurzel, 30. Jun 1996, 01:49:40):
hi,

auf mehrfach geaeusserten wunsch gibt es jetzt in der wilhelmsburger
dorfkneipe auch was nichtalkoholisches mit heilwirkung. auch andere
anmerkungen sind abgearbeitet, aber noch nicht alle. das kostet zeit,
und die stecke ich im moment hauptsaechlich in die quest, die dort im
entstehen begriffen ist... so ganz nebenbei gehe ich ja auch noch arbeiten,
gelegentlich schlafe ich sogar. 
also geduld, es wird alles (soweit sinnvoll) bearbeitet.

wurzel

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



kleine neuigkeit (Wurzel, 31. Aug 1996, 00:18:32):
hallo,

es gibt eine kleine erweiterung von wilhelmsburg. weitere folgen demnaechst.

wurzel

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



Das Anti-Tier-Tool (Willow, 17. Sep 1996, 19:01:02):
Hast Du schon immer was gegen Tiere gehabt? Magst Du keine Katzen, Hunde oder
Papageien? Wolltest Du schon immer mal Durian wuergen wegen seiner Tiere?
Beruhige Dich. Es gibt jetzt DAS Anti-Durian-Zootier-Tool. Dieses Tool (eine
wunderhuebsche Holzpfeife) ist JETZT kaeuflich zu erwerben!!! Besucht den
Laden in Wilhelmsburg - dort gibt es diese wunderhuebsche Pfeife!!!
Uebrigens, derjenige, welcher als Erstes diese Pfeife kauft, bekommt den
halben Kaufpreis von mir zurueckerstattet! ;)

Weidchen Willow hatte schon immer was gegen diese Zoo-Tiere.

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



Anti-Tier-Tool (Willow, 17. Sep 1996, 19:04:24):
Aeh, der erste Kaeufer hat seinen halben Kaufpreis zurueckerhalten, also Geld
gibts keins mehr zurueck... ;)
Weidchen Willow

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



Re: Das Anti-Tier-Tool (Morgoth, 18. Sep 1996, 07:16:34):
~#! rn=Willow rt=842979662
~#! tid=842979662
also das erste tool gegen die viecher hatte wohl ich. hat mir reichlich aerger
gebracht ;-)))
Naja, aber diese Mistviecher nerven wirklich ;-))
Morgoth

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



Re: kleine neuigkeit (Wurzel,  6. Okt 1996, 03:12:46):
~#! rn=Wurzel rt=841443512
~#! tid=841443512
naechster teil fertig... 
wurzel

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



Re: Re: kleine neuigkeit (Wurzel, 15. Okt 1996, 18:46:34):
~#! rn=Wurzel rt=844564366
~#! tid=841443512
und wieder ein stueck mehr in wilhelmsburg...

have fun
wurzel

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



Wilhelmsurg (Silvana, 18. Okt 1996, 09:17:49):
[Verlegt von d.wald, Isnogood, 16. Okt 1996, 05:08:37]:
Kann es sein, dass die quest zwar gelistet, aber noch gar nicht fertig ist?
Irgendwie kommt es mir vor, als wuerde was fehlen


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



Re: Wilhelmsurg (Silvana, 18. Okt 1996, 09:18:35):
~#! rn=Isnogood rt=845435317
~#! tid=845435317
[Verlegt von d.wald, Boing, 16. Okt 1996, 15:05:31]:
Dann hast Du wohl nicht gruendlich genug gesucht. :)
Nee, mal im Ernst: Wenn nicht beim Oeffnen fuer die Spieler was grandios
schiefgegangen ist, dann sollte alles fertig und spielbar sein.
  Boing


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



Re: Re: Wilhelmsurg (Silvana, 18. Okt 1996, 09:19:04):
~#! rn=Boing rt=845471131
~#! tid=845435317
[Verlegt von d.wald, Atoz, 16. Okt 1996, 18:02:38]:
Naja, ein paar kleinigkeiten, wie kein Licht auf dem Balkon waren schon noch
nicht da, aber ansonsten war eiegntlich alles oki


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



Re^3: Wilhelmsurg (Silvana, 18. Okt 1996, 09:19:50):
~#! rn=Atoz rt=845481758
~#! tid=845435317
[Verlegt von d.wald, Wurzel, 16. Okt 1996, 19:50:40]:
mal abgesehen davon, dass das licht jetzt an ist (wenn man immer mit genug
licht beim testen rumrennt, faellt das halt nicht auf :), ist das hier die
falsche rubrik... nur weil ein teil oberirdisch ist, gehoert es noch lange
nicht zum wald :)

wurzel (buddelt sonst nur hoehlen)


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



der fussweg nach fernwest (Wurzel, 19. Okt 1996, 14:07:57):
der fussweg nach fernwest naehert sich so langsam seiner vollendung... ein
weiteres teilstueck ist fertig und eroeffnet.
wenn es in diesem tempo weitergeht, kann es nur noch monate dauern :)

ich werd mich dieser tage mal dran machen, die 80 k repfile abzuwursten. als
erstes fliegt das logging jeder unbeantworteten frage wieder raus, sonst geht
bei dem tempo der eintraege irgendwann die wesentliche information floeten :)

gruss, wurzel

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



Re^3: kleine neuigkeit (Wurzel, 20. Okt 1996, 16:53:28):
~#! rn=Wurzel rt=845397994
~#! tid=841443512
eigentlich kaum der rede wert, aber wilhelmsburg waechst weiter...
diesmal nur eine kleinigkeit, aber mehr kommt noch in lockerer folge.

wurzel

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



Re: der fussweg nach fernwest (Mupfel, 21. Okt 1996, 12:58:15):
~#! rn=Wurzel rt=845726877
~#! tid=845726877

Ein Fussweg nach Fernwest? Samma habt ihr sie noch alle??? Wenn der ganz dran
ist, stimmt der Name 'Fernwest' fuer mich nicht mehr... wenn da alles
hinscriptet.

-mupfel-

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



Re: Re: der fussweg nach fernwest (Patryn, 21. Okt 1996, 13:03:03):
~#! rn=Mupfel rt=845895495
~#! tid=845726877
es wird sicherlich mal scripts geben, aber du darfst dich gern als erster 
dran versuchen

------
patryn

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



Re^3: der fussweg nach fernwest (Mupfel, 21. Okt 1996, 13:06:35):
~#! rn=Patryn rt=845895783
~#! tid=845726877

Ich hab keine Ahnung von tf, frag doch mal Fyt :-)

-mupfel-

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



Re^4: der fussweg nach fernwest (Ulo, 21. Okt 1996, 17:27:18):
~#! rn=Mupfel rt=845895995
~#! tid=845726877

Jetzt macht mal keine Panik. Ich schau mir den Weg ja grad an... Wenn man da
mit Skript durchkommt, muss er vmtl umgearbeitet werden. Aber das sehen wir
mal. Deswegen tf zu lernen lohnt sich mit sicherheit nicht ... :-)

Ulo.

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



Re^5: der fussweg nach fernwest (Grimmborn, 21. Okt 1996, 18:15:51):
~#! rn=Ulo rt=845911638
~#! tid=845726877

mv fernwest nahwest (entsprechende Rechte vorrausgesetzt) und das Problem ist
weg. Wozu die Aufregung, Mupfel?

GdA


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



Re^5: der fussweg nach fernwest (Fyt, 22. Okt 1996, 00:41:38):
~#! rn=Ulo rt=845911638
~#! tid=845726877

Na dann bau mal um, Ulo.

Fyt, herausforderungen witternd :)

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



Weg nach Fernwest (Mysterious, 24. Okt 1996, 18:58:20):
sachtma...koenntet ihr mir vielleicht den einstieg in das dungeon geben, wo
man dann von fernwest nach rest der welt kommt?? 
als karateka finde ich es ziemlich laestig, dass ich immer mit der karawane
fahren muss....
schliesslich iss ja fuer unser eins fernwest nich die ferne, sondern unsere
wahlheimat

danke....

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



Re: Weg nach Fernwest (Wurzel, 24. Okt 1996, 20:24:09):
~#! rn=Mysterious rt=846176300
~#! tid=846176300
selber suchen macht gluecklich :)
und damit das suchen jetzt auch einen sinn hat: der weg ist offen!

have fun
wurzel

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



fernwest weg (Mysterious, 25. Okt 1996, 14:14:44):
willst du mir nich wenigstens nen tip geben? nur so den einstieg von der
oberflaeche....die region, wo man einsteigen muss, oder so....waer nett
duiiiiiiiii

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



Re: fernwest weg (Wurzel, 25. Okt 1996, 18:45:49):
~#! rn=Mysterious rt=846245684
~#! tid=846245684
ganz einfacher tip:
wenn man von ost nach fernwest geht, kommt man dort heraus, wo der einstieg
ist. jedenfalls, wenn man den unterirdischen weg benutzt.

wurzel gibt heute nachhilfe in logik

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



Re: Re: fernwest weg (Ulo, 27. Okt 1996, 14:01:41):
~#! rn=Wurzel rt=846261949
~#! tid=846245684
Wo's lang geht, wird nidd verraten... ;-)

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



Re: Re: Weg nach Fernwest (Mupfel, 29. Okt 1996, 18:07:06):
~#! rn=Wurzel rt=846181449
~#! tid=846176300
Aha...

Ich sah zufaellig ein paar Spieler da rumkrauchen und dachte 'dann muss er
wohl angeschlossen sein', trotz raeumen wie diesem...
Der Gang fuehrt weiter durch die Unterwelt. Ausgaenge gibt es im Westen und
Suedosten.
Es gibt zwei sichtbare Ausgaenge: westen und suedosten.
(hielt ich ehrlichgesagt fuern prototypen, naja dann nicht :-)

-mupfel-

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



Re^3: Weg nach Fernwest (Yantro, 30. Okt 1996, 08:06:50):
~#! rn=Mupfel rt=846608826
~#! tid=846176300

Na da schliesst sich Wurzel halt dem Niveau der restlichen Unterwelt und alten
Teilen des Waldes an. Ich finde sowas ehrlich gesagt peinlich und frage mich,
ob es den Verantwortlichen im MG recht sein kann, dass sowas durch einen RM
genehmigt wird, bzw oder der RM qualifiziert ist. Ich weiss nur, dass sowas im
Wlad oder im Polar nicht angeschlossen wuerde.

Yantro, traurig

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



Re^4: Weg nach Fernwest (Anatol, 30. Okt 1996, 11:39:54):
~#! rn=Yantro rt=846659210
~#! tid=846176300

Da Yantro Artikel loescht, wenn er sie fuer unzutreffend haelt, werde ich
mich jetzt NICHT zu Yantro und die Glashausproblematik aeussern.

Ich finde aber, dass - wenn Magier schon ueber andere Magier laestern 
oder provozieren muessen (das tut so mancher Magier recht gern) - sollen
sie es bitte in einer passenderen Rubrik tun. Einer, die beispielsweise
nur Magier lesen koennen.

Nur Meinung, 
Anatol


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



kleine neuigkeit (Wurzel, 14. Nov 1996, 21:14:04):
nachdem die koboldplage anhaelt, hat sich erna siebenscheich entschlossen,
eine
kleine belohnung auszusetzen fuer leute, die ihr das szepter des koboldkoenigs
bringen... sie ist nicht besonders wohlhabend (sagt sie jedenfalls, maklern
darf man nicht alles glauben :), also sind es keine reichtuemer. auch nichts
besonders nuetzliches... nur, damit man es nicht ganz umsonst tut :)

wurzel

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



Wilhelmsburg (Wurzel,  2. Feb 1997, 11:44:14):
neue kleinigkeit in wilhelmsburg zu finden... die grossen sachen dauern
laenger, deswegen ab und an was kleines (damit es nicht zu ruhig wird :)

wurzel

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



Dunkelelfen... (Nichts, 20. Feb 1997, 12:41:37):

Nachdem es die betreffende Magierwelt versaeumt hat, die ersten Todesfaelle
registriert wurden und ich ein 'Der Waechter schlaegt Dich zu Brei.' bei
reinmechanischem Schaden lesen durfte...

Die Dunkelelfen waren bei den Trves. 

Und sie haben ihre Lektionen gelernt.

Nichts, wurde ziemlich verpruegelt


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



Re: Dunkelelfen... (Orktoeter, 20. Feb 1997, 12:56:21):
~#! rn=Nichts rt=856438897 rg=d.unterwelt
~#! tid=856438897

Ich kann NIchts da nur zustimmen.
Es ist schon ein unterschied, ob man alleine da unten alles killen kann, oder
Ob ein Waechter bereits nicht mehr zu schaffen ist, da er unter Feuerbaellen
wegtaucht und Waffenangriffe mit der Schildparade unschaedlich macht.

Wenn man schon (was ich als recht zweifelhaft betrachte) alte, bekannte
Monster mit neuen faetures austattet, dann doch bitte mit ner entsprechenden
Vorwarnung in der zugehorigen Rubrik.

OrkT soch etwas erstaunt ueber Dunkelelfen, die ueber Nacht erstklassige
Kaempfer geworden sind (ein Spieler braucht da schon einige Zeit fuer).

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



Re: Re: Dunkelelfen... (Wurzel, 23. Feb 1997, 13:20:23):
~#! rn=Orktoeter rt=856439781 rg=d.unterwelt
~#! tid=856438897
so, wie auf der party besprochen sind die dunkelelfen etwas geaendert worden.
kaempfer sind sie aber weiterhin, nur nicht mehr alle gleich stark.

es ist richtig, aenderungen sollten in der mpa angekuendigt werden. bei
aenderungen, die ich selbst mache, schreibe ich (meistens :) auch was. so
wie jetzt z.b. :)

wurzel

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



Re^3: Dunkelelfen... (Snuggle, 25. Feb 1997, 13:52:04):
~#! rn=Wurzel rt=856700423 rg=d.unterwelt
~#! tid=856438897
Eine Aenderung anzukuendigen ist nur recht und billig, insbesondere wenn
man die Diskussion auf Seher.Entwicklung beruecksichtigt, aber das ist wohl
nicht das ganze Geheimnis.
OrkT hat mir ziemlich aus der Seele gesprochen und ich denke, dass wenn 
alte NPCs neue Faehigkeiten lernen (weil diese jetzt durch eine neue Gilde
zur Verfuegung stehen), sie diese nicht unbedingt auf dem Level des
Gildenmeisters koennen sollten. Vielleicht schaut Wurzel (oder auch
andere Magier, die aehnliches vorhaben) sich ja mal an, was ein
Spieler alles tun muss, um auf die Faehigkeiten zu kommen (einschliesslich des
dafuer noetigen Gildenlevels und der wiederum dafuer noetigen Stats/
Stufen/Erfahrungspunkte).

Wie schrieb Brieseltrim: keine Ausnahmen von Lehrplan. 
Sollte auch fuer NPCs gelten, findet

Snuggle

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



Re^3: Dunkelelfen... (Mupfel, 25. Feb 1997, 14:50:01):
~#! rn=Wurzel rt=856700423 rg=d.unterwelt
~#! tid=856438897
Gibts noch Monster, die keine Kaempfer/Zauberer/Karateka sein? Wenn ja, dann
schnell aendern.... (habe ich die Stimmung unter den Magiern getroffen? :-)

-mupfel- (is back)

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



Re^4: Dunkelelfen... (Asmodis, 25. Feb 1997, 22:33:08):
~#! rn=Mupfel rt=856878601 rg=d.unterwelt
~#! tid=856438897
Habt ihr was gegen Abenteurer oder Chaoten ? Vergesst die nicht :)

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



Anschluss meines Gebietes (Padreic, 18. Mar 1997, 20:14:39):
Von mir ist jetzt ein neues Gebiet bei den Dunkelelfen angeschlossen.
Viel Spass beim suchen!
                                                     Padreic

P.S.: Fallen die nicht toedlich sind, sind keine Fallen!
Also aufpassen, umschauen & mitdenken.

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



Gegend immer noch nicht angeschlossen.. (Felagund, 14. Apr 1997, 16:12:10):
Im Zuge der Aktion 'Solidaritaet unter Magiern' wird meine Minigegend jetzt
wohl vorerst doch nicht fertiggeschrieben.
Grund? Siehe polizei.benachrichtigungen..KEINESFALLS meine faulheit oder ein
anderes mud..;)
Fela

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



Re: Gegend immer noch nicht angeschlossen.. (Schlips, 14. Apr 1997, 20:03:09):
~#! rn=Felagund rt=861027130 rg=d.unterwelt
~#! tid=861027130
Pooooaaaahhhhhhh, dass ich net lache

Solidaritaet unter Magiern - das ist echt zum schiessen
Wenn ich mich recht entsinne, stand in Wargons Artikel auch was von schwarzen
Schafen unter den Magiern - sooo gross kann die Solidaritaet gar net sein ...

Schlips, rollt vor Lachen ueber den Boden

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



Rattenplage (Patryn,  2. Jun 1997, 22:24:28):
Irgendwo in der Unterwelt wurden mal wieder ein paar Ratten ausgesetzt:
 An fuer sich nichts Ungewoehnliches, man sollte sich DIESE Ratten jedoch
vorher _etwas_ genauer anschaun. Die Warnungen muessten nun eindeutig
gewesen sein (nur so fuer unsere jammerlappen ;)
also viel spass dann: wenn die Hydra nicht da ist, kann man sich ab sofort
mit diesen Tierchen herumschlagen (jetzt war die Warnung perfekt)

------
patryn, sein kill-log angrinsend

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



Re: Rattenplage (Fyt,  3. Jun 1997, 09:30:14):
~#! rn=Patryn rt=865283068 rg=d.unterwelt
~#! tid=865283068

Gibt's eigentlich noch friedliche Regionen im MG?

Fyt.

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



Re: Rattenplage (Boing,  3. Jun 1997, 09:34:14):
~#! rn=Patryn rt=865283068 rg=d.unterwelt
~#! tid=865283068
Ratten im Hydra-Format? Klingt ja toll logisch ....
  Boing

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



Re: Re: Rattenplage (Patryn,  3. Jun 1997, 10:06:46):
~#! rn=Fyt rt=865323014 rg=d.unterwelt
~#! tid=865283068
was soll der kommentar? man muss schon ziemlich feste absichten hegen,
sich mit diesen ratten anzulegen, um sie zu gesicht zu bekommen.
du kannst also nach wie vor unbehelligt ueberall dort herumlaufen, wo dies
bisher auch ging...
na ja. irgendwas gibts ja immer zu mosern, schliesslich wollen wir doch
die athmosphaere im MG nicht wieder verbessern, oder?! waer ja mal was
ganz neues.

------
patryn

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



Re^3: Rattenplage (Fyt,  3. Jun 1997, 10:08:02):
~#! rn=Patryn rt=865325206 rg=d.unterwelt
~#! tid=865283068

Ich hab gemosert? Huch?

Fyt.

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



Re: Re: Rattenplage (Patryn,  3. Jun 1997, 10:10:14):
~#! rn=Boing rt=865323254 rg=d.unterwelt
~#! tid=865283068
erst anschaun, dann... na ja, klingt eigentlich genauso logisch wie
herumzaubernde orks oder unterwassertabletten. war auch nur als
warnung gedacht, da stand nicht, ich hab die hydrakoeppe in ratte
umbenannt, nun macht mal schoen.

------
patryn

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



Re: Rattenplage (Key,  3. Jun 1997, 17:15:11):
~#! rn=Patryn rt=865283068 rg=d.unterwelt
~#! tid=865283068
*grins Patryn* Wie Du proggst in unterwelt? Hmm noch net mit der gilde
ausgelastet? :))
Mom ich setz mal nen paar typos ab ;))

Hmm Boing jetzt komm, etwas mehr Phantasie ... oder glaubst du rl gibbet
Schlabbermurkse, Knutschfische die einen staendig abknutschen, Drachen usw? :)
Naja oder Chaoten als Gilde? .)

Key, hat inzwischen immer wieder neue Auswahl wo er sterben kann. :))

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



Re: Re: Rattenplage (Stahldorn,  3. Jun 1997, 17:19:27):
~#! rn=Key rt=865350911 rg=d.unterwelt
~#! tid=865283068
Naja, Chaoten, Drachen usw. passen zumindest in eine Phantasywelt, aber mit
den Knutschfischen, kaempfenden Backblechen, aggressiven Schneebaellen und
Killer- und Riesennasenpopeln hab ich mich nie richtig anfreunden koennen...
STAHL.

P.S.: nix gegen die SSP als solche

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



Re: Re: Rattenplage (Silvana,  3. Jun 1997, 20:42:59):
~#! rn=Key rt=865350911 rg=d.unterwelt
~#! tid=865283068
Naja, Chaoten als Gilde gibbet. Nennt sich Bundestag. :)
OK, schlechter Scherz, aber ich konnt's mir nicht verkneifen. 
  Silvana -> Schmarrn

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



Re^3: Rattenplage (Maso,  4. Jun 1997, 01:21:53):
~#! rn=Patryn rt=865325414 rg=d.unterwelt
~#! tid=865283068
> [...] klingt eigentlich genauso logisch wie
> herumzaubernde orks [...]

Wieso sollen Orks nicht zaubern koennen?

               Maso.


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



Re: Rattenplage (Patryn,  4. Jun 1997, 12:45:12):
~#! rn=Patryn rt=865283068 rg=d.unterwelt
~#! tid=865283068
es gab ein paar kleine aenderungen bei den ratten: nur so als warnung
fuer die leute, welche die tierchen schon kennen!!!
ich hoffe mal, damit noch etwas mehr teamplay herauszufordern.

------
patryn

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



Re^3: Rattenplage (Astar,  4. Jun 1997, 13:03:13):
~#! rn=Stahldorn rt=865351167 rg=d.unterwelt
~#! tid=865283068
Hmm, Du hast die Dosenoeffner vergessen ;)

Astar

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



kurze Mitteilung (Semmel,  8. Jun 1997, 12:30:11):
Den Berichten eines aufmerksammen Abenteurers zufolge hat sich nahe des 
Dorfes Wilhemsbug ein Loch aufgetan, welches zu einer kleinen unterirdischen
Stadt fuehrt. Ausserdem berichtete der Abenteurer etwas von furchteregenden 
Monstern ... was er damit wohl gemeint hat?

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



PS (Semmel,  8. Jun 1997, 13:48:42):
Achso man sollte sich dort SEHR vorsichtig umschauen.

Semmel

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



Re: PS (Hadra,  8. Jun 1997, 13:52:20):
~#! rn=Semmel rt=865770522 rg=d.unterwelt
~#! tid=865770522
schreib doch dirket, dass du da unten ein paar todesfallen hingesetzt hast,
das spart dann ungemein ankuendigungsartikel ;)

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



Re: Re: PS (Fyt,  8. Jun 1997, 13:54:42):
~#! rn=Hadra rt=865770740 rg=d.unterwelt
~#! tid=865770522
Naja, nach dem er die richtige Rubrik getroffen hat, war eigentlich jeglicher
Text ueberfluessig ;-)

Fyt.

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



Re^3: PS (Patryn,  8. Jun 1997, 13:55:59):
~#! rn=Fyt rt=865770882 rg=d.unterwelt
~#! tid=865770522
*moser* *stichel* *jammer*
...genau: die rubrik ist die richtige, weiter so :)

------
patryn

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



Re: kurze Mitteilung (Woody,  8. Jun 1997, 20:27:13):
~#! rn=Semmel rt=865765811 rg=d.unterwelt
~#! tid=865765811
Hihi, "Wilhemsbug" war aber ein freud'scher, oder? :)

immer noch grinsend
woody.-

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



wegen renovierung geschlossen (Padreic, 10. Jul 1997, 19:27:57):
Wegen grossen Renovierungsarbeiten bleibt der 'Schlachthof' bis auf weiteres
geschlossen, der Abschluss der arbeiten und die Wiedereroeffnung wird dann
bekanntgegeben.
                                        Padreic

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



Vorsicht - Patryns Ratten (Tenno,  5. Aug 1997, 13:23:23):
Wenn sich jemand an den Ratten versucht, sollte er dringend Anti-Feuer-
Ruestung benutzen. Patryn hat es uebertrieben:
225 LP
-> rein
(alle Ratten geben ihren Schlag ab)
103 LP
Die riesige Ratte zischelt ...
... Flammenstrahl ...

Tja. Da fiel ich dann aus meinen rauchenden Stiefeln. Und ich trug schon
fast maximale Ruestung, d.h. die 120 LP der einzelnen Ratten sind schon
random(Minimum).

Gloin

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



Re: Vorsicht - Patryns Ratten (Patryn,  5. Aug 1997, 14:32:32):
~#! rn=Tenno rt=870780203 rg=d.unterwelt
~#! tid=870780203
falsch....voellig flasche taktik...wenn man das wort beim reinrennen ins
nest so gebrauchen duerfte...

------
patryn

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



Re: Re: Vorsicht - Patryns Ratten (Gast1,  6. Aug 1997, 12:15:06):
~#! rn=Patryn rt=870784352 rg=d.unterwelt
~#! tid=870780203
*trickkiste schuettel*
Ja schade eben, ich bin noch kein Jammerlappen, sonst koennte ich die
Ratte, bevor sie reinrennt mit Artillerie erlegen. Da ist hier jedoch
erstens ein grosses 'koennte' davor und zweitens ... naja, dann mach
es doch bitte gleich so intelligent wie Mupfel, das erspart einem die
Tankerei bis zum eigenen Todespunkt wenn man doch reingeht.

Gloin#

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



Re^3: Vorsicht - Patryns Ratten (Patryn,  6. Aug 1997, 12:19:38):
~#! rn=Gast1 rt=870862506 rg=d.unterwelt
~#! tid=870780203
du hast einfach nur keine ahnung und da wird sich wohl auch nix dran
aendern :)
solange mein zeiti keine probleme mit den tierchen hat kannst du jammern,
flennen, purzelbaeume schlagen...mir egal, ich jedenfalls stelle sicher,
dass ich die selber killen kann und nehme einfach mal an, dass dies dann
auch andere koennen. ich weise dir mit sicherheit nach, dass du fuer
die ratten einfach nich korrekt geruestet warst und wahrscheinlich auch
alles falsch gemacht hast was man nur falsch machen konnte...

------
patryn bricht die diskusion hiermit ab

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



Re^4: Vorsicht - Patryns Ratten (Gast1,  6. Aug 1997, 12:34:57):
~#! rn=Patryn rt=870862778 rg=d.unterwelt
~#! tid=870780203
Bleibt nur noch zu bemerken, dass Hood Zauberer ist. Thema Schadensarten.
Wobei die 225+ LP immer noch nicht fairer werden ... da beisst die Ratte,
aeh Maus keinen Faden ab.

Gloin ... dankt Patryn fuer die konstruktive Aufnahme seiner Beschwerden :->

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



Re^5: Vorsicht - Patryns Ratten (Patryn,  6. Aug 1997, 13:48:25):
~#! rn=Gast1 rt=870863697 rg=d.unterwelt
~#! tid=870780203
konstruktibe aufnahme von beschwerden werden nur bei konstruktiven
beschwerden in betracht gezogen :)
was hat eigentlich die angriffsschadensart eines zauberers mit der
ruestungsstaerke des selbigen gemein? ich geh da (gleich welche gilde)
im unguenstigsten fall mit 50-100 LP wieder raus

------
patryn

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



Re^7: Vorsicht - Patryns Ratten (Astar,  6. Aug 1997, 14:10:31):
~#! rn=Gast1 rt=870869378 rg=d.unterwelt
~#! tid=870780203
Zauberer=Panzer

Frag mal Para* zu dem Thema...

Astar

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



Re^7: Vorsicht - Patryns Ratten (Patryn,  6. Aug 1997, 14:11:35):
~#! rn=Gast1 rt=870869378 rg=d.unterwelt
~#! tid=870780203
sagte ich was von JEDER gilde?
liesst du ueberhaupt was ich schreibe oder antwortest du aus prinzip
irgendetwas? :)

------
patryn

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



Re^8: Vorsicht - Patryns Ratten (Astar,  6. Aug 1997, 14:19:47):
~#! rn=Patryn rt=870869495 rg=d.unterwelt
~#! tid=870780203
Aus Prizip ;)

Nee, schon klar, hab gelesen was Du geschrieben hast, war nur n Reflex, weil
jemand was von Schutz und Zauberer geschrieben hat.

Astar

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



noch was (Wurzel, 25. Aug 1997, 21:29:31):
die minen von moria haben eine kleine erweiterung erfahren. (nein, nicht die
vielen fehlenden details, das kommt wenn ich selbst keine ideen mehr habe :),
beschwerden nicht an mich, sondern an patryn (kenner wissen schon, was sie
erwartet :)

wurzel

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



News aus den Orkhoehlen (Death, 27. Aug 1997, 20:04:33):
Die Forschungsakademie zu Port Vain gibt bekannt : 
In den Tiefen der Orkhoehlen wurden die Ausgrabungsarbeiten beendet.
Die Forschungen sind abgeschlossen , das Gebiet zur allgemeinen Besichtigung 
freigegeben.
Geruechte ueber verschwundene Forscher und ploetzlich auftauchende Monster 
haben sich nicht bestaetigt.
Trotzdem wird empfohlen, sich nur in Gruppen zu bewegen.
Wer schon in der 2. Ebene Schwierigkeiten hatte, sollte NICHT dort hinunter
gehen.
Da unsere Forscher nie einen Ausgang fanden (sie wurden immer mit Hilfe eines
Magiers  
herausgetranst) , empfiehlt es sich, sich GENAU umzuschauen.
Fuer ploetzlich eintretenden Tod oder langsames Dahinsterben wird keine
Haftung uebernommen. 


gez. Jemand ;-) Mitglied des Forschungsrates 

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



Re: News aus den Orkhoehlen (Yantro, 28. Aug 1997, 08:53:42):
~#! rn=Death rt=872705073 rg=d.unterwelt
~#! tid=872705073
welche Akademie???? 

Yantro staunt.

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



Re: News aus den Orkhoehlen (Asmodis, 28. Aug 1997, 15:34:15):
~#! rn=Death rt=872705073 rg=d.unterwelt
~#! tid=872705073
Nun uebertreib mal nicht, soooo hart sind die auch nicht :)

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



report (Wurzel, 21. Sep 1997, 21:29:53):
nachdem ich jetzt wieder mehr zeit habe, werde ich unter anderem mal mein
mittlerweile ziemlich angeschwollenes reportfile abarbeiten (vielen dank an
alle, die sich bisher beteiligt haben :). da das nicht unbedingt die
spannendste aller taetigkeiten ist, kann es unter umstaenden etwas dauern,
bis ich wieder mal soweit bin, also wer was zu schreiben hat, sollte es
sehr bald tun. sonst dauert das wieder ewig...

wurzel

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



unterwelt (Wurzel, 21. Okt 1997, 19:47:32):
ich hab mal angefangen, die etwas schimmeligen www-seiten der unterwelt
abzustauben. bis das fertig ist, hoffe ich auch html (und evtl. sogar java)
gelernt zu haben... mit anderen worten: erstens ist das noch lange nicht
fertig und zweitens bin ich fuer jegliche hinweise und anregungen dankbar :)

wurzel

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



Re: unterwelt (Wurzel, 27. Okt 1997, 20:37:19):
~#! rn=Wurzel rt=877456052 rg=d.unterwelt
~#! tid=877456052
so, ein erster schwung webseiten ist vorlaeufig fertig... wofuer so ein
mudfreies wochenende machmal gut sein kann :)
vorschlaege, meinungen etc. an mich, /etc/flames > /dev/null

wurzel

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



Re: Re: unterwelt (Wurzel,  5. Nov 1997, 20:07:15):
~#! rn=Wurzel rt=877981039 rg=d.unterwelt
~#! tid=877456052
gibt wieder ein paar neuerungen... auch death hat sich mal drangemacht und
webseiten poliert, ansonsten bugfixes und eine kleine erweiterung der
bisherigen seiten.

wurzel

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



Hochzeit (Rikus, 10. Dez 1997, 22:33:38):
Hi,

ich habe einiges an den Eheringen (Nibelheim) gefixt und auch der Priester
schaut nun nicht mehr so genau auf das Geschlecht.

Viel Spass, Rikus

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



Re: Hochzeit (Sharia, 10. Dez 1997, 22:38:43):
~#! rn=Rikus rt=881789618 rg=d.unterwelt
~#! tid=881789618
pfffffffffffffft
Bisher war das ein Privileg von uns Klerikern, dass wir auch
gleichgeschlechtliche Partner trauen konnten .. das hat man uns nun genommen
:-(((

Sharia, schmollend ;-)))))

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



teddy (Wurzel,  3. Jan 1998, 22:19:52):
hi,
nachlese des koelner stammtischs:
es gibt kleinere aenderungen am teddy.
1. wenn jemand vergiftet ist, wird es auch angezeigt.
2. fuer seher: anscheinend gibt es monster, die vorsicht und fluchtrichtung
   manipulieren. daher werden jetzt fuer seher auch diese infos mitangezeigt.
   ich denke mal, wer sich als "normalspieler" an solche monster wagt, weiss
   entweder genau was er/sie tut oder braucht keinen teddy, sondern einen
   sarg...
3. in uebereinstimmung mit dem neuen "info" sind es jetzt konzentrations-
   und keine magiepunkte mehr.

wie ueblich wird das ganze erst bei ende oder reboot aktiv.

wurzel

p.s. beschwerden/flames bitte an ringor :)

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



Re: teddy (Sharia,  4. Jan 1998, 00:56:01):
~#! rn=Wurzel rt=883862392 rg=d.unterwelt
~#! tid=883862392
feine sache das !! DANKE :-)
Aber bitte mach die 2. Zeile (VS und FR) doch bitte optional d.h. waehlbar..
will meinen, dass vielleicht nicht jeder bei jeder reportanzeige 2 zeilen
scroll haben moechte .. vorallem leute die nur ueber telnet spielen :-)))

Gruss Sharia

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



Re: Re: teddy (Niete,  5. Jan 1998, 15:12:41):
~#! rn=Sharia rt=883871761 rg=d.unterwelt
~#! tid=883862392
hi, ist ja echt nett, das einzubauen. ich moechte mich aber der bitte sharias
um optionalitaet der vs/fr-zeile anschliessen, wenn's moeglich ist. 
niete

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



Re^3: teddy (Wurzel,  5. Jan 1998, 18:14:21):
~#! rn=Niete rt=884009561 rg=d.unterwelt
~#! tid=883862392
ist moeglich und schon in arbeit. wenns fertig ist, werdet ihr das merken :)

wurzel

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



Re^4: teddy (Wurzel,  5. Jan 1998, 20:00:25):
~#! rn=Wurzel rt=884020461 rg=d.unterwelt
~#! tid=883862392
aeh, ich habs jetzt doch anders gemacht. man merkt es nur, wenn man den 
knopf liest... wie ueblich erst nach ende/reboot.

wurzel

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



Re^5: teddy (Cheasy,  6. Jan 1998, 08:42:17):
~#! rn=Wurzel rt=884026825 rg=d.unterwelt
~#! tid=883862392
Da man grad den Baer aktualisiert:
---<snip here>---
zeige baer cheasy
Cheasy zeigt Dir stolz seinen Teddy.
Der Teddy brummt Dich gluecklich an : 'Hallo, ich bin Cheasys Teddy Peterli'
und zwinkert Dir zu.
Du zeigst Deinen Teddy stolz Cheasy.
---<snip here>---
Irgendwie koennte man diese Selbstbefriedigung ausbauen. Vielleicht mit 'nem
netten Kommentar dazu.
-Cheasy

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



Re^5: teddy (Niete,  6. Jan 1998, 13:41:04):
~#! rn=Wurzel rt=884026825 rg=d.unterwelt
~#! tid=883862392
super, vielen dank wurzel :)
N

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



Re^5: teddy (Ender,  6. Jan 1998, 14:03:43):
~#! rn=Wurzel rt=884026825 rg=d.unterwelt
~#! tid=883862392
Das gefaellt mir
Ender.


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



Re^6: teddy (Anatol,  6. Jan 1998, 14:19:16):
~#! rn=Cheasy rt=884072537 rg=d.unterwelt
~#! tid=883862392
Gerade als Magier in einem anderen Mud sollte man in der Lage sein,
Typos und Bugs besser mit Mail oder den entsprechenden Befehlen ("typo", 
"bug") abzuhandeln und NICHT jedesmal einen supertollen Artikel in die
MPA posten muessen.

Anatol, tadelnd und wissend, dass eine Mail an Cheasy auch gereicht haette ;)


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



Re^6: teddy (Wurzel,  6. Jan 1998, 20:04:01):
~#! rn=Cheasy rt=884072537 rg=d.unterwelt
~#! tid=883862392
was hast du eigentlich gegen selbstbefriedigung? ist doch das einzige, was
vielen hier bleibt... :)

aber im ernst: der teddy ist die arbeit von sir. er hat ihn so konzipiert
und gemacht, wie er nun mal ist. das einzige, was ich mache, sind kleinere
wartungsanpassungen und (hoffentlich sinnvolle) ergaenzungen, und ich werde
den teufel tun und sirs arbeit verhackstuecken. wenn das teil von mir waere,
haettest du vermutlich auch keinen knuddeligen teddy, sondern eine garstige
spinne auf der schulter, bei aehnlicher funktionalitaet:

Deine Spinne versetzt Dir 204 Giftbisse und legt 136 Eier unter Deine Haut.

oder sowas... aber wie gesagt, es ist und bleibt ein knuddeliger teddy. wenn
dir das nicht gefaellt, solltest du alt genug sein zu wissen, wie man das
teil entsorgt.

wurzel

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



Re^7: teddy (Asmodis,  7. Jan 1998, 18:39:51):
~#! rn=Wurzel rt=884113441 rg=d.unterwelt
~#! tid=883862392
Aeh, es ist wohl nur eine kleine Wartungsarbeit, wenn du einbaust,
dass man sich ihn selbst nicht zeigen kann :)

  Asmodis denkt o O (Magier)

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



Re: Hochzeit (Slyfox,  7. Jan 1998, 21:31:25):
~#! rn=Rikus rt=881789618 rg=d.unterwelt
~#! tid=881789618
Ist es auch moeglich, 'ne 2. Frau zu heiraten?

   Slyfox

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



Re: Re: Hochzeit (Anatol,  7. Jan 1998, 21:32:21):
~#! rn=Slyfox rt=884205085 rg=d.unterwelt
~#! tid=881789618
Glaub mir, eine ist genug.
Eine ist, um genau zu sein, schon MEHR als genug.

Anatol


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



Re^3: Hochzeit (Mesaron,  7. Jan 1998, 21:33:17):
~#! rn=Anatol rt=884205141 rg=d.unterwelt
~#! tid=881789618

Al Bundy wuerde jetzt wild mit dem Kopf nicken.
Da er nicht da ist, tue ich das mal. NICK.

Mesa*

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



Re^4: Hochzeit (Sharia,  7. Jan 1998, 22:44:23):
~#! rn=Mesaron rt=884205197 rg=d.unterwelt
~#! tid=881789618
ich wusst noch garnich dass ihr verheiratet seid :)

Sharia erfaehrt viel neues hier im Mud ueber alte Bekannte :-)

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



Re^8: teddy (Alpha,  8. Jan 1998, 14:48:12):
~#! rn=Asmodis rt=884194791 rg=d.unterwelt
~#! tid=883862392
Lass es drin!
Alpha.
.,

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



Re^7: teddy (Cheasy,  8. Jan 1998, 16:36:57):
~#! rn=Wurzel rt=884113441 rg=d.unterwelt
~#! tid=883862392
*waelz*

das war mal ne nette und schlagfertige Antwort :-)
-Cheasy

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



Fuer alle Erfahrungspunkteliebenden (Semmel, 14. Jan 1998, 15:04:42):
Der Kraemer in der Stadt in der Unterwelt hat, da er selbst zu seinen
Spielerzeiten sehr interessiert an Erfahrungspunkten war, eine kleine
Liste der erfahrensten Spieler des Morgengrauens geschrieben und 
schreibt da alle Aenderungen sofort rein.

Semmel

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



Re: Fuer alle Erfahrungspunkteliebenden (Ringor, 16. Jan 1998, 10:31:07):
~#! rn=Semmel rt=884786682 rg=d.unterwelt
~#! tid=884786682
Mal ganz platt gefragt: geht das auch ohne Lag?

Jedes Mal, wenn laenger keiner nachgesehen hat, loest der erste mit "lies
liste" eine Pause von ner halben Minute aus -> ueber 40% Lag.

Sooo wichtig ist diese Liste doch auch nicht. Da laesst sich doch sicher ne
Moeglichkeit finden, die aehnlich wie die Toplisten zu erstellen, oder?

Ringor

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



Re: Re: Fuer alle Erfahrungspunkteliebenden (Anatol, 16. Jan 1998, 11:45:12):
~#! rn=Ringor rt=884943067 rg=d.unterwelt
~#! tid=884786682
Ich bezweifle, dass Semmel in der Lage ist, auf dem Mudrechner cronjobs
laufen zu lassen... aber vielleicht koennte er mit Savefile und eval_cost
arbeiten :)

Anatol, eben noch ... jetzt in der Mensa


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



Re: Re: Fuer alle Erfahrungspunkteliebenden (Boing, 16. Jan 1998, 14:32:19):
~#! rn=Ringor rt=884943067 rg=d.unterwelt
~#! tid=884786682
Man koennte es ja so machen wie bei der Liste auf Toeters Insel,
wer Interesse hat daruf zu stehen muss ab und zu hingehen
und sich neu eintragen lassen. Das geht dann ganz ohne Lag.
  Boing

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



Erfahrungspunkteliste (Semmel, 16. Jan 1998, 14:37:47):
ich habe die liste aufgrund des entstehenden lags erst mal rausgenommen und
werde sie mal 'entlagen'.

Semmel

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



Liste der erfahrensten Spieler (Semmel, 16. Jan 1998, 16:05:55):

Die Liste sollte jetzt lagfrei sein. :)
Viel Spass damit.

Semmel

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



finsterwaldklinik (Wurzel, 16. Feb 1998, 11:26:30):
der leiter der finsterwaldklinik gibt bekannt:

der erste bauabschnitt der klinik ist eroeffnet. der vollstaendige betrieb
ist damit noch nicht moeglich, aber ein belegarzt (dr. frankenstein) hat
seine taetigkeit schon aufgenommen.

ueber den weiteren fortschritt werden wir zu gegebener zeit unterrichten.

gez. prof. stinkmann, finsterwaldklinik wilhelmsburg

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



kneipen (Wurzel, 22. Feb 1998, 15:30:58):
die wilhelmsburger kneipe und der schnellimbiss sind wieder funktionsfaehig
(fuer diejenigen, die es interessiert). dabei hats auch was neues auf der
karte.

wurzel

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



mietshaus (Wurzel, 23. Feb 1998, 21:55:09):
eine gelegenheit zum geldscheffeln laesst sich erna siebenscheich natuerlich
nur ungern entgehen... und schwupp, schon laesst sie ein neues stockwerk
errichten :)

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



priester (Wurzel, 25. Feb 1998, 21:18:28):
der priester in der unterwelt hat wohl schwierigkeiten gehabt, die ringe zu
finden, das sollte jetzt behoben sein
bei der gelegenheit hat er uebrigens auch gelernt, sich etwas besser seiner
haut zu wehren, falls sich wieder solche vorkommnisse ergeben, die da heute
anlass zu beschwerden gegeben haben :)

wurzel

p.s. nein, er ist kein supermonster geworden und gibt auch keine stupse.

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



Re: priester (Larissa, 26. Feb 1998, 08:32:07):
~#! rn=Wurzel rt=888437908 rg=d.unterwelt
~#! tid=888437908
Naja...
bring ihm lieber bei zwischen Maennlein und Weiblein zu
unterscheiden.

bei Mieze und Egomir sagte er am Schluss so etwas wie:

Damit seid ihr nun Mann und Frau.

Lari, obdie beiden sich einig geworden sind wer der Mann ist?

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



scripte?? (Wurzel,  2. Mar 1998, 21:00:09):
aeh, ein kleiner beitrag zur scriptdiskussion...
es gibt doch immer noch leute, die telnet verwenden, sei es weil sie von
einer merkwuerdigen gurke aus spielen (oder gibts tf auch fuer VMS/MVS/BS2000
oder so ein zeug? :) oder weil ihnen die konfiguration zu muehsam ist. fuer
alles, was der sheriff erlaubt, gibts ein kleines tool zum hier benutzen...
nicht allzu komfortabel, aber vielleicht doch hilfreich.
aeehh, warum steht das hier in dieser rubrik?
nunja, kaufen kann man es nicht. umsonst ist der tod... also muss man was
dafuer tun. viele haben das schon getan, die koennen die buergermeisterin
von wilhelmsburg nach einer belohnung fragen :)

have fun

wurzel

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



Re: scripte?? (Ringor,  2. Mar 1998, 21:05:56):
~#! rn=Wurzel rt=888868809 rg=d.unterwelt
~#! tid=888868809
Wow. :-)

Ist das nicht ungefaehr das, was immer mit dem Argument abgelehnt wurde, dass
die Befehle dann als ein Block abgearbeitet werden, was dazu fuehrt, dass ein
Spieler, der die Befehle nacheinander eingibt, weniger Befehle pro Zeiteinheit
bearbeitet bekommt oder so?

Ringor. Alt und vergesslich.

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



Re: scripte?? (Sting,  2. Mar 1998, 21:07:29):
~#! rn=Wurzel rt=888868809 rg=d.unterwelt
~#! tid=888868809
Cool, ich denke da werden sich einige Leute freuen :)


Sting

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



Re: Re: scripte?? (Boing,  3. Mar 1998, 09:23:43):
~#! rn=Ringor rt=888869156 rg=d.unterwelt
~#! tid=888868809
Genau, deswegen wird dieses Tool auch wieder wegkommen. Wenn die Spieler
Scripte wollen, dann sollen sie das extern machen, dann bekommt wenigstens
jeder Befehl seine eigene Scheibe der eval-cost. Ein internes speed-tool
bedeutet Stillstand fuer den Rest des Muds, sobald so ein Makro gestartet
wurde!
  Boing

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



Re^3: scripte?? (Paracelsus,  3. Mar 1998, 09:24:25):
~#! rn=Boing rt=888913423 rg=d.unterwelt
~#! tid=888868809
Oder vereinfacht ausgedrueckt: Nach dem Reboot sind die Dinger wieder weg.

Paracelsus.

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



Re^4: scripte?? (Bloodyharry,  3. Mar 1998, 09:49:37):
~#! rn=Paracelsus rt=888913465 rg=d.unterwelt
~#! tid=888868809
Dabei faende ich Wurzels Idee gar nicht so schlecht. Dieses Tool bietet
zumindest eine hervorragende Moeglichkeit die Einhaltung interner Script-
moeglichkeiten bei gleichzeitigem totalen Verbot externer Scripte.
Allerdings muesste das Teil noch erheblich in seiner Abarbeitungsgeschwin-
digkeit reduziert werden, da sonst wohl das gesamte MUD stehen bleibt.
Ganz abgesehen davon, dass solch schnelle Aktivitaeten nicht sehr realistisch
waeren.
Vielleicht waere es ja nochmal einen Gedanken wert, ob und wie man das Teil
richtiger realisieren kann?

bh

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



Re^3: scripte?? (Wurzel,  3. Mar 1998, 18:44:09):
~#! rn=Boing rt=888913423 rg=d.unterwelt
~#! tid=888868809
ah ja.
mit anderen worten, wer scripten will soll gefaelligst von einem rechner
mit "gaengigem" betriebssystem und der entsprechenden softwareausstattung
kommen und bloss nicht wechseln...
naja, wer die macht hat kann entscheiden. so what.

wurzel

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



Re^4: scripte?? (Gloinson,  3. Mar 1998, 19:05:56):
~#! rn=Wurzel rt=888947049 rg=d.unterwelt
~#! tid=888868809
Oder er sollte Ahnung von Portabilitaet haben. Oder eine Art Window-
Oberflaeche und Cut&Paste. Jetzt zufrieden? SCRIPTEN FUER ALLE :)))

Gloin

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



Re^5: scripte?? (Key,  4. Mar 1998, 10:08:46):
~#! rn=Gloinson rt=888948356 rg=d.unterwelt
~#! tid=888868809
oder man fragt einfach ob jemand einen auf seinen account laesst.
Ich fuer meinen Teil war lange Zeit auf dem Account eines Freundes ....

Wo ist das prob?

Key

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



Re^6: scripte?? (Yaren,  4. Mar 1998, 10:15:50):
~#! rn=Key rt=889002526 rg=d.unterwelt
~#! tid=888868809
Account-Sharing? Das muss aber nen sehr guter Freund gewesen sein ... 

Yaren (laesst niemand an seine Accounts)

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



Re^7: scripte?? (Pra,  4. Mar 1998, 17:16:53):
~#! rn=Yaren rt=889002950 rg=d.unterwelt
~#! tid=888868809
Tja Key, wo ist das Problem?

Ich kenne deinen Freund nicht. Und ich bezweifle, dass er mich auf seinen
account laesst (pardon: l"aBt).

Pra. 

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



Re^8: scripte?? (Schoko,  4. Mar 1998, 17:18:29):
~#! rn=Pra rt=889028213 rg=d.unterwelt
~#! tid=888868809
Hmm also ich weiss nich, ihr seht das zu eng ... im irc werden regelrecht
Accounts getauscht, man weiss ja nie, wozu man mal einen Account in
Griechenland gebrauchen kann ;))

Schoko

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



Re^9: scripte?? (Pra,  4. Mar 1998, 17:20:21):
~#! rn=Schoko rt=889028309 rg=d.unterwelt
~#! tid=888868809
zum Glueck sind wir hier nich im IRC.

Pra. Schuettelt sich.

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



Re^9: scripte?? (Rochus,  4. Mar 1998, 17:21:49):
~#! rn=Schoko rt=889028309 rg=d.unterwelt
~#! tid=888868809
Wofuer braucht man IRC zum Account tauschen?
Mit "ypx" und "Crack" kommt man an mehr Accounts als
man jemals gebrauchen wird :-)

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



Re^10: scripte?? (Grimmborn,  4. Mar 1998, 18:34:51):
~#! rn=Rochus rt=889028509 rg=d.unterwelt
~#! tid=888868809
Das duerfte Dir bei meinem account nicht so leicht fallen.
Ansonsten gilt: Auf meinen account kommt mir keiner, da liegen einfach zu
viele persoenliche (wenn auch nicht wichtige) Sachen rum. Zum "verleihen" habe
ich ja ausserdem noch andere accounts, denen nicht so wichtige Sachen sind...

Grimmborn der Atheist. Anfragen wg. accounts zwecklos.

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



Re^11: scripte?? (Key,  4. Mar 1998, 20:00:33):
~#! rn=Grimmborn rt=889032891 rg=d.unterwelt
~#! tid=888868809
Ich rede ja net von meinem Account den ich benutzte :)
Aber einen anderen hab ich auch an einen mudder verliehen :)

Key

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



Re: kneipen (Wurzel,  5. Mar 1998, 21:05:14):
~#! rn=Wurzel rt=888157858 rg=d.unterwelt
~#! tid=888157858
tja, wieder mal kneipen angepasst... hoffentlich wird das jetzt nicht zum
dauerjob. dafuer gibts jetzt wieder mal was neues.

wurzel

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



Re: Re: kneipen (Silvana,  5. Mar 1998, 21:06:52):
~#! rn=Wurzel rt=889128314 rg=d.unterwelt
~#! tid=888157858
Was Neues von Wurzel in Kneipen? Hm, Karies? Paradontose? Magenverstimmung?

  Silvana (schmarrt rum)

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



Re^3: kneipen (Wurzel,  5. Mar 1998, 21:07:50):
~#! rn=Silvana rt=889128412 rg=d.unterwelt
~#! tid=888157858
ein single malt whisky, was sehr leckeres. immer diese vorurteile :)

wurzel

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



Re^4: kneipen (Gloinson,  5. Mar 1998, 21:26:29):
~#! rn=Wurzel rt=889128470 rg=d.unterwelt
~#! tid=888157858

Kein Johnny Walker? Vielleicht greift Dein momentaner Enthusiasmus auf
die Zwergenstadt ueber ... *hoff* :))

Gloin

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



Re^5: kneipen (Silvana,  5. Mar 1998, 21:39:22):
~#! rn=Gloinson rt=889129589 rg=d.unterwelt
~#! tid=888157858
Hm, in der Zwergenstadt waere aber eher so was wie Miners Punch angemessen.
Wie ich Wurzel kenne, kriegt man dann von einem kriegt man dann von einem
Bergarbeiter eine gelangt... (wenn mans schon so bestellt...)

  Silvana (ab nach schmarrn)

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



Re^7: kneipen (Silvana,  6. Mar 1998, 20:36:04):
~#! rn=Wurzel rt=889212002 rg=d.unterwelt
~#! tid=888157858
Brauchst Du noch mehr von der Sorte? Keine Sorge, kann ich genug liefern. 
  Silvana . o O (Irgendwoher muss Paracelsus seine Bosheit geerbt haben...)

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



Re: Re: kneipen (Wurzel,  6. Mar 1998, 23:25:54):
~#! rn=Wurzel rt=889128314 rg=d.unterwelt
~#! tid=888157858
mcdonalds in der orkhoehle tuts wieder.
auch wenn man den mcdoof eigentlich haette zumachen sollen... naja, wems
schmeckt :)

wurzel

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



Re^4: kneipen (Lug,  7. Mar 1998, 14:57:10):
~#! rn=Wurzel rt=889128470 rg=d.unterwelt
~#! tid=888157858
Hm,


Macallan oder Lagavulin?

Gern Malt konsumierend
Lug

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



Re^5: kneipen (Quasimodo,  7. Mar 1998, 21:42:10):
~#! rn=Lug rt=889279030 rg=d.unterwelt
~#! tid=888157858
Der 15 Jahre-Jonny Walker (der gruene) ist gar nicht so schlecht.

Qusi.

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



Re^6: kneipen (Lug,  8. Mar 1998, 02:50:18):
~#! rn=Quasimodo rt=889303330 rg=d.unterwelt
~#! tid=888157858
Fein,

wenn jemand demonstriert keine Schicht zu haben.

FidKG

Lug

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



Re^6: kneipen (Jimdigriz,  8. Mar 1998, 17:36:17):
~#! rn=Quasimodo rt=889303330 rg=d.unterwelt
~#! tid=888157858

der Gruene ?? *zweifel*
 Also Black Label und Blue Label sind mir bekannt,
aber Gruen ? Wobei IMHO selbst der Blue Label
ein blended Whisky ist und kein Malt, wenn auch 
vermutlich ein besonders guter, zumindest wenn man
nach dem Preis geht.....

Btw, hat ausser mir noch jemand die Erfahrung
gemacht, dass sich der 10jaehrige Laphroaig in
den letzten 3 Jahren gewaltig verschlechtert hat ?
Also der Jahrgang 86/87 deutlich schlechter ist
als die davor ? 
Ich hab mich echt gewundert aber das Zeug
hat neuerdings ein Aroma, dass an Loesungs-
mittel erinnert , und ich hatte den eigentlich
als angenehmen Islay Malt in Erinnerung....

Hmm wie waers mit einer whisky Rubrik ? ;-)
Die Gebraeue mit dem "e" haben da aber dann nix
verloren.

Ciao,
 Jim DiGriz , Favorit zur Zeit: Benromach, 17 Yrs Cask Strength
           Glenhaven Independent Bottling

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



Re^7: kneipen (Grimmborn,  8. Mar 1998, 17:48:33):
~#! rn=Jimdigriz rt=889374977 rg=d.unterwelt
~#! tid=888157858
Wenn Du Islay magst, empfehle ich den Lagavulin, der sich AFAIK (nicht IMHO!
;-) ) in der letzten Zeit nicht verschlechtert hat. Und, aber das ist
natuerlich Geschmackssache, Lagavulin ist nochmal besser als Laphroaig,
rauchiger, torfiger, aromatischer.

Grimmborn der Atheist

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



Re^7: kneipen (Lug,  9. Mar 1998, 00:08:08):
~#! rn=Jimdigriz rt=889374977 rg=d.unterwelt
~#! tid=888157858
Aeh,

ion welche Richtung geht der benromach denn?

FidKG
Lug

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



Re^8: kneipen (Alan,  9. Mar 1998, 14:11:29):
~#! rn=Grimmborn rt=889375713 rg=d.unterwelt
~#! tid=888157858
Wenn Du auf torfigen Single Malt stehst, ist ebenfalls der Talisker zu
empfehlen... wobei es den AFAIK auch in unterschiedlichen Varianten gibt.
Den 10 Jahre alten solltest Du eigentlich in den meisten Duty Frees
bekommen...
 - Alan -

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



Re^9: kneipen (Key,  9. Mar 1998, 17:20:33):
~#! rn=Alan rt=889449089 rg=d.unterwelt
~#! tid=888157858
UARGL!!!
Jetzt habe ich mich gerade an IMHO gewoehnt da labert ihr mit AFAIK rum ...
Was issn das nu wieder? :)

Key nix verstehend das nix ist in sei Sproch :)

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



Re^10: kneipen (Teddy,  9. Mar 1998, 17:21:38):
~#! rn=Key rt=889460433 rg=d.unterwelt
~#! tid=888157858
AFAIK ist as far as i know, ausserdem gaebe es noch AFAIR: as far as I
remember

Teddy

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



Re^8: kneipen (Jimdigriz,  9. Mar 1998, 17:31:17):
~#! rn=Grimmborn rt=889375713 rg=d.unterwelt
~#! tid=888157858
Hoi,

Lagavulin und Talisker stehen natuerlich
schon in meinem Schrank, ebenso Bowmore und Bunnahabhain
(noch 2 Islays)

Der Benromach ist ein eher milder Highland Malt,
aber der Hauptvorteil liegt in der Abfuellung,
naemlich unfiltiert und ungefaerbt. Cask Strength
bedeutet 62.5 %, durch das verduennen mit Quellwasser
werden dann die Aromatraeger frei und man hat etwas
ganz wunderbares.  *mmmmmmmmmmmm*

CIao,
 Jim DiGriy

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



Re^11: kneipen (Yendi,  9. Mar 1998, 17:31:42):
~#! rn=Teddy rt=889460498 rg=d.unterwelt
~#! tid=888157858
... oder as far as I recall, IIRC.

YTY


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



Re^9: kneipen (Har, 10. Mar 1998, 22:14:40):
~#! rn=Jimdigriz rt=889461077 rg=d.unterwelt
~#! tid=888157858
Aehemm...
da ich solche koestlichen Genuesse gerne auch mal probieren wuerde, wird es
wohl
notwendig sein, dass ich irgendwann auch mal die namen nciht nur
identifizieren kann sondern auch aussprechen...
Wer gibt mir denn bitte mal eine Lautschrift-Uebersicht???


Har

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



Re^10: kneipen (Flinx, 10. Mar 1998, 22:20:06):
~#! rn=Har rt=889560880 rg=d.unterwelt
~#! tid=888157858
Au ja, ne lautschriftuebersicht waere klasse. Noch besser allerdings
waere mal ne Einfuehrung in die hohe Kunst des Whisk(e)ytrinkens.
Was schmeckt Wie. Und warum ?! Wodrauf muss man achten usw.

Flinx, nix kapierend, aber Glennfiddich-moegend.


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



Re^11: kneipen (Wurzel, 10. Mar 1998, 22:42:39):
~#! rn=Flinx rt=889561206 rg=d.unterwelt
~#! tid=888157858
glenfiddich? au weia...
ohne jetzt allzu viel ahnung von whisky zu haben, mag ich glenfiddich nicht,
der aetzt.

wurzel (trinkt cardhu)

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



Re^7: kneipen (Jasper, 10. Mar 1998, 23:40:22):
~#! rn=Jimdigriz rt=889374977 rg=d.unterwelt
~#! tid=888157858
Also die rubrik bestelle ich sofort ab. Auf der letzten 'all you can drink'
party bin ich nach einem halben plastikbecher whisky sofort rausgerannt,
und hab mir die sache nochmal durch den kopf gehen lassen...

Jasper ,der Whisk(e)yhasser

Ps: dann schon lieber eine rubrik bier oder besser noch pils

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



news (Wurzel, 10. Mar 1998, 23:53:25):
die schweinehunde haben zuwachs bekommen. falls es jemanden interessiert.

wurzel

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



Re^8: kneipen (Jimdigriz, 11. Mar 1998, 01:10:52):
~#! rn=Jasper rt=889566022 rg=d.unterwelt
~#! tid=888157858

Vielleicht sollte man ein Whisky-Seminar machen :)
auf der Party.
Von dem getraenk mit "e" besser bekannt
als Bourbon moechte ich mich jedoch
Distanzieren, die Assoziation mit
Whsky - dem gaelischen Aqua Vitae 
ist meiner bescheidenen Meinung nach nicht
wirklich angebracht. (Ja, ich kenne auch 
Maker's Mark, aber es ist doch ein ganz
anderes Getraenk....)

Ciao,
 Jim DiGriz

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



Re^9: kneipen (Lug, 11. Mar 1998, 03:37:17):
~#! rn=Jimdigriz rt=889571452 rg=d.unterwelt
~#! tid=888157858

Naja,

wenn wir schon von gaelischem Aqua Vitae sprechen:
Altirisch: uisce betha[d] - Bereits erwaehnt in den Annalen von Loch Ce.
Und da es im Irischen zuerst erwaehnt ist: Whiskey.
Auch wenn der schottische besser schmeckt. Scots Gaelic ist aber erst nach dem
Classical Modern Irish abgespalten.

Haare spaltend
Lug

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



Re^10: kneipen (Gloinson, 11. Mar 1998, 09:20:44):
~#! rn=Lug rt=889580237 rg=d.unterwelt
~#! tid=888157858
Jaja. ODer das Rochussche Wasser des Lebens, das ist auch nicht zu ver-
achten: Pupsi Cola, Coca Cola, Vita Cola, Stern Cola, Spar Cola und
nicht zu vergessen die goettliche Club Cola.

Gloin ... suelzt mal wider der Spirituose.

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



Re^11: kneipen (Snuggle, 18. Mar 1998, 20:00:12):
~#! rn=Gloinson rt=889600844 rg=d.unterwelt
~#! tid=888157858
Falls das Whiskyseminar auf der Fete stattfindet, informiere mich
bitte jemand. Dann komm ich doch noch .-)

tschaui
snugg

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



Re^11: kneipen (Ulo, 19. Mar 1998, 05:47:02):
~#! rn=Gloinson rt=889600844 rg=d.unterwelt
~#! tid=888157858

Wenn wir schon bei den ganzen Cola-Sorten sind, gibts noch Afri-Cola?

--Ulo

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



Re^12: kneipen (Grimmborn, 19. Mar 1998, 09:28:59):
~#! rn=Ulo rt=890282822 rg=d.unterwelt
~#! tid=888157858
Leider ja.
Allerdings, das Blatt in deren Logo ist ja schon cool...

GdA

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



Renovierungsarbeiten abgeschlossen. (Padreic, 20. Mar 1998, 23:29:24):
Der Wirt des Schlachthofes hat die Renovierungsarbeiten an seinem Keller    
nun abgeschlossen und kann sich nun wieder voll und ganz seinen Gaesten 
widmen. Ab sofort hat der Schlachthof also wieder geoeffnet und der Wirt
freut sich auf jeden Besucher, den es halt so nach Zzerenzzen verschlaegt
(Dunkelelfen selbstverstaendlich ausgenommen).

                                        Padreic

P.S.: Es hat sich dort alles ein wenig veraendert und es gibt auch einige neue
Sachen dort. Also auch fuer alle die, die schonmal da waren, kann es sich
durchaus lohnen sich nochmal umzuschauen.

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



Orkhoehlenanbau (Death, 23. Mar 1998, 20:48:36):
Die Orkhoehlen werden in naechster Zeit (so 1-2 Jahre :-) ) bischen ausgebaut.
Dabei sollen auch paar Verbesserungen der bestehenden Raeume einfliessen.

Frage- Sollen die schwachen Orks bischen angehoben werden, um auch fuer die
Kaempferausbildung 
zu zaehlen ? Haette die Konsequenz, dass die starken auch bischen staerker
werden.
Zugang zur 3.Ebene (ja, sowas gibt es) und Ausgang werden etwas erleichtert. 
Dafuer die Monsterchen etwas kraeftiger.

Ideen und Anregungen willkommen.

Death, die Sense schwingend

P.S. anregende Diskusson in dieser Rubrik, gleich mal mit Johnny nen kleinen
Walk machen :)

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



Re: Orkhoehlenanbau (Tunixgut,  1. Apr 1998, 14:56:05):
~#! rn=Death rt=890682516 rg=d.unterwelt
~#! tid=890682516
Bin dagegen! Ich finde, man sollte noch ein paar Monster fuer die
durchschnittlichen Gildenanfaenger uebriglassen, an denen diese ueben koennen,
ohne staendig abzukratzen.

Meine Meinung - 's Karate-Zwerchle - schafft kaum mehr. ;o)

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



party-nachlese (Wurzel,  4. Apr 1998, 00:36:25):
auf der party gabs auch eine kleine diskussion. als ergebnis verteilt die
buergermeisterin von wilhelmsburg wieder belohnungen fuer die quest, mit
kleinen technischen aenderungen gegenueber der vorversion.

wurzel

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



riesenmagier (Patryn,  6. Apr 1998, 13:25:56):
irgendwie ist der daemon in der maske des riesen in der letzten zeit etwas
sterker geworden. es lohnt sich also, dort noch mal vorbeizuschauen,
besonders fuer bierschuettler...

------
patryn

PS: wie immer: achtung, nebenwirkungen ;)

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



Beginn einer Invasion? (Semmel, 12. Mai 1998, 11:59:13):
Hi,

der alte Mann teilte mir heute mit das er von einem Schwarzmagier angegriffen
worden sei und das dabei ein magisches Wesen in eine andere Welt entschwunden
ist. Er befuerchtet, dass es diesem Wesen in dieser Welt gefallen koenne und
es womoeglich in Zukunft noch andere Wesen anlocken wuerde. Darum saehe er
es gerne, wenn dem Wesen das Leben in der anderen Welt so schwer, wie nur
moeglich gemacht wird.

Semmel

PS: Im Moment koennen mutige Seher noch den Umstand ausnutzen, das die 
    magische Ruestung des Wesens den Weg in die andere Welt noch nicht
    gefunden hat.

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



Re: Beginn einer Invasion? (Yendi, 12. Mai 1998, 12:13:23):
~#! rn=Semmel rt=894967153 rg=d.unterwelt
~#! tid=894967153
Ja toll. Und was glaubt der alte Mann, wo die Wesen hingehen, wenn ihnen das
Leben in ihrer Heimatdimension zu schwer gemacht wird? Hmmm?

Yendi
       schuettelt nur den Kopf und sagt: "Wesen und wesen lassen..."


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



Re: Re: Beginn einer Invasion? (Jimdigriz, 12. Mai 1998, 15:08:14):
~#! rn=Yendi rt=894968003 rg=d.unterwelt
~#! tid=894967153

Hmm hiess das nicht "... verwesen lassen... " ? 

JdG

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



Und noch einmal der alte Mann (Semmel, 13. Mai 1998, 18:31:08):
Hi,

der alte Mann teilte mir mit das er ein paar Mutige fuer eine Aufgabe sucht.

Semmel

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



Re: Und noch einmal der alte Mann (Pra, 13. Mai 1998, 19:19:12):
~#! rn=Semmel rt=895077068 rg=d.unterwelt
~#! tid=895077068
was ist die Aufgabe? Komma- und Rechtschreibefehler finden? ;-)

Pra. Sreibt coreckt.

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



Bug im schwarzen Ring! (Padreic, 17. Jun 1998, 13:41:29):
Im schwarzen Ring befand sich leider ein Bug! Das beheben dieses Bugs machte
leider ein komplettes umstrukturieren notwendig, so dass alle im Spiel
befindlichen Ringe destructet werden mussten (nein, nur alle schwarzen :).
Ab sofort sollte der Dunkelelfenmagier bugfreie Ringe mit sich fuehren.

                             Sorry, Padreic.

P.S.: Am Ring selbst hat sich nichts geaendert, der alte erzeugte lediglich
Datenmuell.

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



Schlechte Neuigkeiten... (Padreic,  9. Jul 1998, 22:42:58):
Aufgrund von wildwuchs und einigen argen Problemen musste ich heute die
Hoehlen vor Wilhelmsburg vorlaeufig abhaengen (auch bekannt als Semmel's
Gebiet).

                                 Padreic

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



Test (Padreic, 10. Jul 1998, 13:15:25):
Derzeit wird ein neues AddItem fuer NPCs getestet, das erheblich zur
Objektreduzierung beitragen und Muellsaecke ueberfluessig machen soll. Bisher
sind in der Unterwelt die beiden oberen Wachen hinter dem Wasserfall
umgestellt. Es sollte dort jetzt nicht mehr zu groesseren Ansammlungen von
deren Ruestungen/Waffen kommen. Sollte sich dies als erfolgreich rausstellen
wird es sich (hoffentlich) auf grosse Teile des muds ausdehnen. Ich wuensche
viel Spass beim testen.

                                      Gruss Padreic

P.S.: Bugs, Ideen und Anregungen bitte per mail an mich.

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



Re^5: T-Shirt-Motive (Gloinson, 10. Jul 1998, 14:27:08):
~#! rn=Yendi rt=900068259 rg=party
~#! tid=899837714
Hmmmm ... Neues AddItem? Eigentlich koennte man damit doch fast alles loesen:
Im Std-NPC AddItem aendern: Ein Feuerriese kommt an. Ein Feuerriese nimmt 

ein Feuerschwert||eine Feuerkeule||eine Feueraxt.

Gloin

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



Re^6: T-Shirt-Motive (Padreic, 10. Jul 1998, 15:21:33):
~#! rn=Gloinson rt=900073628 rg=d.unterwelt
~#! tid=899837714
Auch wenn ich keine Ahnung hab, was das jetzt mit T-Shirt-Motiven zu tun hat,
genau das macht das neue AddItem Gloin :)

                                   Padreic


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



Zzerenzzen (Padreic, 30. Jul 1998, 15:58:32):
So die Dunkelelfen haben beschlossen das es ihnen nach den ganzen Abwertungen
bei den Trves nicht mehr gefaellt und haben aus Protest geschlossen die Gilde
verlassen (nein nein, loeschen werden sie sich deshalb nicht gleich :). Um es
kurz zu fassen es hat sich in Zzerenzzen einiges getan und ein Besuch sollte
sich wirklich lohnen.

                                Padreic

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



Zzerenzzen (Padreic,  1. Sep 1998, 20:47:33):
Endlich sind die Umbauarbeiten an Zzerenzzen abgeschlossen und alle NPCs die
fuer Zzerenzzen geplant waren sind jetzt auch angeschlossen. Fuer die meisten
duerfte sich also ein erneuter Besuch durchaus lohnen.
Ausserdem gibt es nun auch eine Parawelt zu Zzerenzzen in der ich viel
Vergnuegen wuensche.

                                    Padreic

P.S.: Die Parawelt vom Schlachthof ist noch nicht fertig, wird aber sicher
auch irgendwann bald kommen...

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



Re: Zzerenzzen (Padreic,  8. Sep 1998, 15:08:53):
~#! rn=Padreic rt=904675653 rg=d.unterwelt
~#! tid=904675653
Nachdem es in der Parawelt wohl zu leichten Schwierigkeiten mit Boingresets
gekommen ist, habe ich die resets insoweit umgestellt, als das jeder NPC
_mindestens_ 10 min. tod ist bevor er resetet.

                                        Padreic

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



Re: Re: Zzerenzzen (Gloinson,  8. Sep 1998, 15:11:54):
~#! rn=Padreic rt=905260133 rg=d.unterwelt
~#! tid=904675653
Zitat Patryn 'Das hat mit Boing nichts zu tun' :) Deshalb werden auch
nicht mehr Leute da runtergehen ...

Gloin

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



Re: Re: Zzerenzzen (Boing,  8. Sep 1998, 15:14:09):
~#! rn=Padreic rt=905260133 rg=d.unterwelt
~#! tid=904675653
Ob Tod das gefallen wird, wenn er laufend fuer 10 Minuten durch
irgendwelche Dunkelelfen ersetzt wird? ;)
Ich kann mir schon seine Gedanken vorstellen ...
Tod denkt . o O (RAUS AUS MEINEM KOERPER, DU WIDERLICHER ELF!)
  Boing

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



Re^3: Zzerenzzen (Nonne,  9. Sep 1998, 09:41:33):
~#! rn=Boing rt=905260449 rg=d.unterwelt
~#! tid=904675653
Was ich an dem swap_out-Reset-Bug nicht verstehe ist, warum er bei heistellen
nicht funktioniert. Einmal durch para-drakonien metzeln ist mit den
heilstellen okay, aber das zweite mal ohne? baut doch den bug aus, anstatt an
den symptomen zu werkeln. das hat doch bei irgendwelchen amuletten auch
schonmal funktioniert. ich waere dem magier dafuer ewig dankbar und wuerde ihn
auch weiterempfehlen ,)

Nonne

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



Re^4: Zzerenzzen (Key,  9. Sep 1998, 09:50:03):
~#! rn=Nonne rt=905326893 rg=d.unterwelt
~#! tid=904675653
This is not a Bug, this is a feature :) (C) Morgoth :))

Hmm ich weiss gar net was Du hast ... mussu Dich immer mit Heiltraenken
vollaufen lassen? .)

Key

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



Re^5: Zzerenzzen (Nonne,  9. Sep 1998, 09:51:27):
~#! rn=Key rt=905327403 rg=d.unterwelt
~#! tid=904675653
Ich bin Kleriker! Womit denn sonst? Den weltlichen Geluesten, wie Alkohol habe
ich bekanntlich abgeschworen ;)

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



Re^4: Zzerenzzen (Teddy, 10. Sep 1998, 17:02:46):
~#! rn=Nonne rt=905326893 rg=d.unterwelt
~#! tid=904675653
Jof sucht den Bug derzeitig, er hatte ihn mal ausgebaut, scheinbar wurden
davon aber nur Amulette und keine Raeume erfasst, er wird also gesucht.

Teddy

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



Re^4: Zzerenzzen (Mammi, 21. Sep 1998, 13:09:22):
~#! rn=Nonne rt=905326893 rg=d.unterwelt
~#! tid=904675653
Bug?
Was fuer 'n Bug? Das iss'n Feature.

Mammi

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



neues bei den Dunkelelfen... (Padreic, 25. Okt 1998, 11:03:14):
Nachdem es wohl an einer bestimmten Stelle Probleme mit groesseren
Zombieansammlungen gab, verschwinden diese jetzt automatisch im naechsten
reset wenn sie bis dahin nicht getoetet wurden...

Padreic

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



Nenais'u (Padreic,  8. Nov 1998, 15:48:50):
Bei Nenais'u gab es ab und an mal einen Fehler durch den man dann in der
Abenteurergilde aufwachte, dieser wurde ausgebaut (die betroffenen werden
wissen was gemeint ist :)

                                    Padreic

P.S.: Im Gegenzug dazu gibt es jetzt eine Moeglichkeit gegen das ganze zu
schuetzen.... (viel Spass beim suchen).

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



Neues bei den Dunkelelfen... (Padreic, 14. Nov 1998, 18:22:18):
Endlich ist es soweit!
Die Kneipe 'der Schlachthof' gibt es nun auch in der Parawelt mit neuen
Gags, neuen Raeumen und vor allem jeder Menge neuer NPCs die auf Euren Besuch
warten. Das ganze ist auf Teams ausgelegt, alleine dorthin zu gehen hat
wirklich nicht sonderlich viel Sinn. Desweiteren gibt es dort deshalb auch
einige Teamkampffeatures, aber das werdet ihr schon merken wenn ihr dort seid.

Padreic wuenscht allen viel Vergnuegen in Schlachthof Teil II.

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



Neues Item (Padreic,  8. Dez 1998, 12:00:13):
Fuer alle die, die Nyela bereits kennen, koennte es sich ggf. lohnen nochmals
bei ihr vorbeizusehn, da sie ab heute einen neuen Gegenstand dabei hat.

                                 Padreic

P.S.: Fuer alle die sie bisher nicht kennen lohnt sich ein Besuch in
Zzerenzzen natuerlich sowieso :).

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



Waeldchen (Sniper, 22. Dez 1998, 16:30:15):
Hallo Leute,

gegenueber des Wasserfalls der Dunkelelfen ist in den letzten Wochen ein
kleines Waeldchen gewachsen. Es scheint ideal zu sein, um mal so richtig
auszuspannen, sich zu erholen und sich des Lebens zu freuen. Wenn ihr mal Zeit
habt, dann schaut es euch doch mal an.
Fuer Ideen und Anregungen bin ich immer sehr dankbar, also: macht mein Repfile
ruhig voll.

Sniper 

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



nochmal waeldchen (Sniper, 23. Dez 1998, 15:20:04):
Halloechen,

vielen Dank fuer die vielen Meldungen in meinem Repfile. Ich hab mal versucht,
so das wichtigste zu erledigen. Der Rest folgt nach den Feiertagen.
Bis dann und schoene Weihnachten
Sniper

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



Maerchenquest (Rochus, 25. Jan 1999, 21:35:13):
Die Maerchenquest wurde ein wenig ueberarbeitet, in dem Sinne dass
die NPCs etwas auskunftsfreudiger geworden sind.
Nun sollte sie wieder einen ihrer EInstufung gemaessen Schwierigkeitsgrad
haben, also besteht keine Notwendigkeit mehr, Komplettloesungen
ueber die Ebenen zu schicken :-)

  Rochus

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



Re: Maerchenquest (Morgoth, 26. Jan 1999, 07:54:45):
~#! rn=Rochus rt=917300113 rg=d.unterwelt
~#! tid=917300113
Alles klar,
dann schieb mir doch mal einer per mail zu ;-)

M*

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



Re: Maerchenquest (Key, 26. Jan 1999, 08:25:53):
~#! rn=Rochus rt=917300113 rg=d.unterwelt
~#! tid=917300113
Danke ;)

Key, kurz und buendig :)

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



Re: Maerchenquest (Orktoeter, 27. Jan 1999, 13:46:14):
~#! rn=Rochus rt=917300113 rg=d.unterwelt
~#! tid=917300113
Danke Rochus !

OrkT findet es gut, das diese Anfaengerquest jetzt (hoffentlich) wieder fuer
"echte" Anfaenger alleine spielbar ist.

Besonderen Dank an Rochus, dafuer, das er sich die Muehe gemacht hat, diese
alte Quest (die nicht mal von ihm ist) zu ueberwarbeiten !

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



Re: Re: Maerchenquest (Ringor, 27. Jan 1999, 13:54:10):
~#! rn=Orktoeter rt=917444774 rg=d.unterwelt
~#! tid=917300113
Prinzipiell moechte ich mich OrkT hier anschliessen - ich finde es klasse,
wenn alte Sachen ueberarbeitet werden.

Aber der Dank sollte doch an die richtige Adresse gehen: danke Mindblade, dass
Du Dir die Muehe gemacht hast, den alten NPCs die lange faelligen fehlenden
Informationen zu verpassen.

Und natuerlich danke an Rochus, dass er es angeschlossen hat. ;-)

Ringor

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



Re^3: Maerchenquest (Orktoeter, 27. Jan 1999, 14:43:04):
~#! rn=Ringor rt=917445250 rg=d.unterwelt
~#! tid=917300113
Ups, das wusste ich nicht, also, mein spezieller Dank an Mindblade fuer die
Verbesserungen und an Rochus fuers anschliessen !

Ehre wem Ehre gebuehrt (oder so)

OrkT.

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



Re^4: Maerchenquest (Guildo, 29. Jan 1999, 09:29:03):
~#! rn=Orktoeter rt=917448184 rg=d.unterwelt
~#! tid=917300113
Und wo wir gerade bei Unterwelt-Questen sind:
Kann bitte auch noch wer die Nibelungenquest-NPCs ueberarbeiten und deren
ungefragte Kommentare ein bisschen zurueckschrauben? Da wird einem ja immer
der ganze Monitor vollgesuelzt!

Gruss, Guildo


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



Re^5: Maerchenquest (Wurzel,  2. Feb 1999, 19:37:48):
~#! rn=Guildo rt=917602143 rg=d.unterwelt
~#! tid=917300113
das ist immer eine frage der abwaegung und faellt fuer mich in die gleiche
kategorie wie die millionen fehlenden details in nibelheim.
auf der einen seite: klar, sollte gemacht werden, keine frage.
auf der anderen seite ist es auch ein zeugnis dessen, was hier mal gewesen
ist, und wie es sich der entsprechende magier (in diesem fall sir) gedacht
hat.
bei der maerchenquest war es aus spielbarkeitsgruenden noetig, was zu tun.
fuer mich faellt der rest schon fast unter sowas wie denkmalschutz. natuerlich
wuerde man vieles, was heute unter denkmalschutz steht, mittlerweile ganz
anders machen. auf der anderen seite waere ein brandenburger tor aus buntem
kunststoff doch nicht ganz das selbe, oder?

wurzel

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



Re^6: Maerchenquest (Mindblade,  2. Feb 1999, 21:21:00):
~#! rn=Wurzel rt=917984268 rg=d.unterwelt
~#! tid=917300113
Also prinzipiell stimme ich Dir da vollkommen zu, Wurzel. Ich hatte mit
Sicherheit auch nicht vor, die Arbeit irgendeines Magiers umzumodeln. Das
einzige, was mich stoert ist, dass ein paar Quests (bei der heutigen
MG-Groesse) nicht mehr alleine loesbar sind. Und ich spreche nicht von kleinen
Tips auf -b, sondern von ganzen KLs die ueber die Ebenen/per teile mit
wandern, weil jeder, der die Quest spielt die gleichen Fragen hat. Und ich
denke, ein paar kleine zusaetzliche AddInfos schmaelern nicht die Arbeit des
Magiers, der die Quest programmiert hat.

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



Re^7: Maerchenquest (Asmodis,  4. Feb 1999, 22:05:41):
~#! rn=Mindblade rt=917990460 rg=d.unterwelt
~#! tid=917300113
Die Maerchenquest hab ich aber noch selbst geloest frueher ...
Aber ich geb zu, man muss sich dazu etwas im MG umgesehen haben ...

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



Re^8: Maerchenquest (Anatol,  4. Feb 1999, 23:13:20):
~#! rn=Asmodis rt=918165941 rg=d.unterwelt
~#! tid=917300113
Jau, frueher. Frueher konnte man auf dem Weg von der Prinzessin zur
Hexe nicht ein Duzend mal falsch abbiegen, Asmodis :o). 

Frueher war alles besser.

Anatol


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



Re^9: Maerchenquest (Asmodis,  5. Feb 1999, 00:02:31):
~#! rn=Anatol rt=918170000 rg=d.unterwelt
~#! tid=917300113
stimmt, da ist man entweder beim weihnachtsmann, auf der hochebene oder im
elfendorf gelandet :-)

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



Dunkelelfen (Padreic, 16. Mai 1999, 19:26:23):
Ich habe Zzerenzzen heute fuer einige Tage abgehangen, da ich die neue
Dunkelelfengilde eingespielt habe. Ich werde die Files in den naechsten
Tagen noch debuggen und die Gilde im MG testen um die Spells einigermassen
auszubalancieren. Wenn dieser Schritt abgeschlossen ist (wird ein paar Tage
dauern) werde ich die Dunkelelfennpcs neu justieren und Zzerenzzen wieder
oeffnen. Ich moechte euch bitten auch nicht anderweitig zu versuchen dort
hin zu gelangen, da die NPCs schlichtweg unbalanciert und ggf. buggy sind.
Um auch jeden Anreiz zu nehmen es zu versuchen habe ich die interessanten
Items komplett abgehangen, es lohnt sich also auch gar nicht!
Nun zum zweiten Punkt, ich plane den Anschluss einer Dunkelelfenrasse und
das oeffnen der Gilde fuer Spieler. Dieser Anschluss wird jedoch noch einige
Zeit dauern, da Gilden im MorgenGrauen erfahrungsgemaess eine lange
Testphase beduerfen. Zu diesem Zweck wird es insgesamt fuenf Testspieler
geben. Um jedem die gleichen Chancen zu geben sich als Testspieler zu
bewerben bitte ich diejenigen die Interesse daran haben, mir spaetestens bis
zum 24.05.99 eine kurze mail als Bewerbung zu schicken.

Padreic

P.S.: Um das von vornherein klarzustellen. Die Gildenskills werden
selbstverstaendlich nach Ende der Testphase geloescht.

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



Re: Dunkelelfen (Mahatmu, 17. Mai 1999, 11:10:01):
~#! rn=Padreic rt=926875583 rg=d.unterwelt
~#! tid=926875583
Und ich muss mihc als EM in viiiel kleineren MUDs vollschwallen lassen,
doch das TestMUD zu nutzen um gravierende Regionsaenderungen zu testen.
Also wiewaswo laesst Du die Dunkelelfenstadt nicht dran und testest das
in einem nichtangeschlossenen Area so? Oder im TestMUD? Oder heisst Du
Yantro und das ist Dein kleines Haus der Farben?

Gloin

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



Re: Dunkelelfen (Wurzel, 30. Mai 1999, 19:29:35):
~#! rn=Padreic rt=926875583 rg=d.unterwelt
~#! tid=926875583
da padreic offensichtlich nix dazu schreiben will...
die dunkelelfen sind wohl wieder dran. jedenfalls hab ich schon einige leute
da rumturnen gesehen.
wenn es buggt, nicht an mich wenden :)

wurzel

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



Re^7: Yrdsteine (Bendeigid, 10. Jun 1999, 08:43:45):
~#! on=Alpha ot=928699381 og=gilden.kaempfer
~#! rn=Tarina rt=928604883 rg=gilden.kaempfer
~#! tid=928519874
Na gluecklicherweise gibbet ja einige Wege mehr nach Fernwest, als die
Karawane.
Ansonnsten haetten meine Karateka mich schon laengst umgebracht.
Alpha.

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



Re^9: Yrdsteine (Bendeigid, 10. Jun 1999, 08:44:37):
~#! on=Isis ot=928751118 og=gilden.kaempfer
~#! rn=Songoku rt=928739364 rg=gilden.kaempfer
~#! tid=928519874
Z.B. durch die Unterwelt oder nen Seher fragen , ob er mal eben mit Pegasus
rueberfliegt...;)

Isis

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



Re^9: Yrdsteine (Bendeigid, 10. Jun 1999, 08:45:53):
~#! on=Wurzel ot=928868524 og=gilden.kaempfer
~#! rn=Neb rt=928788680 rg=gilden.kaempfer
~#! tid=928519874
klarstellung:
nicht alphas artikel, sondern nebs skriptende zweitis haben mich dazu
veranlasst, eine klitzekleine aenderung am fussweg nach fernwest anzubringen.

der artikel ist also voellig daneben. entschuldigung waere angebracht.

wurzel

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



Re^10: Yrdsteine (Bendeigid, 10. Jun 1999, 08:46:01):
~#! on=Neb ot=928868969 og=gilden.kaempfer
~#! rn=Wurzel rt=928868524 rg=gilden.kaempfer
~#! tid=928519874
Ah ja, der Weg blieb also seit (mindestens) ein-einhalb Jahren unveraendert,
obwohl er als Wegescript-Route immer genutzt wurde, und sobald meine 2ties da
anfangen, durchzulaufen, aenderst Du nen paar Tage spaeter direkt alles so,
dass man nicht mehr durchscripten kann?
Muss ich das jetzt persoenlich nehmen, Wurzel?
Wo ist da der Gag?
Ist es so witzig, durchs Reisfeld zu stolpern?
Auf die Erklaerung, warum MEINE durchscriptenden 2ties der Ausloeser waren,
bin ich mal gespannt.....

Neb

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



Re^11: Yrdsteine (Bendeigid, 10. Jun 1999, 08:46:05):
~#! on=Wurzel ot=928869277 og=gilden.kaempfer
~#! rn=Neb rt=928868969 rg=gilden.kaempfer
~#! tid=928519874
das war zufall. der fussweg war nie dazu gedacht, so einfach per script
durchlaufen zu werden. und wie vielleicht aufgefallen ist, war ich in den
letzten eineinhalb jahren beruflich bedingt nicht uebermaessig aktiv, so
dass es mir erst jetzt aufgefallen ist...

hat nichts mit dir persoenlich zu tun. aber aus deinem tonfall entnehme ich,
dass es auch nicht ganz verkehrt gewesen waere...

wurzel

p.s. ein halbwegs cleverer scriptentwickler kann das immer noch, es geht
nur nicht mehr so stumpf.

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



Re^12: Yrdsteine (Bendeigid, 10. Jun 1999, 08:46:11):
~#! on=Neb ot=928869972 og=gilden.kaempfer
~#! rn=Wurzel rt=928869277 rg=gilden.kaempfer
~#! tid=928519874
Ganz, ganz schwach, Wurzel, ehrlich.
Erst sagst Du, Du stellst es um, weil Dein Gebiet nie zum durchscripten
bestimmt war, und als naechstes meinst Du, dass sobald ich mein Script so
umgestellt habe, dass es auf 7 oder 8 verschiedene Raummeldungen triggern kann
und dann 7 oder 8 verschiedene Wege ablaeuft (nein, wie clever), darf ich
weiter wild da unten durchscripten?
Warum werde ich bloss manchmal so muede, wenn ich solchen Argumentationen
folgen muss?

Neb, fuehlt sich schon wieder irgendwie ganz schoen matt.....

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



Re^13: Yrdsteine (Bendeigid, 10. Jun 1999, 08:46:27):
~#! on=Ulo ot=928917527 og=gilden.kaempfer
~#! rn=Neb rt=928869972 rg=gilden.kaempfer
~#! tid=928519874
 Es  war seinerzeit eine Auflage fuer den Fussweg, dass man nicht so einfach 
durchskripten kann.  Ich  hatte  mir den Fussweg damals angesehen, und fuer ok
befunden.  Das   Urteil  kann  man  sicher  als  Beleg  fuer  meine  fehlenden
TF-Kenntnisse interpretieren  :). Wenn sich jetzt herausstellt, dass man durch
cleveres Programmieren  ein  Skript schreiben kann, mit dem man  durchskripten
kann, so  ist  das  zunaechst mal UNERWUENSCHT. Die Tatsache, dass mir das die
ganze Zeit  entgangen ist, heisst nicht, dass es zum Gewohnheitsrecht geworden
ist! Da  der  Weg in der Unterwelt verlaeuft, ist es Wurzels Sache, sich darum
zu kuemmern.  Das hat Wurzel jetzt getan. Wenn die Hauptskripter auf der Route
jetzt veraergert sind, kann ich das nachvollziehen, aber es war nur eine Frage
der  Zeit,   bis  das  auffliegt,  denn  wie  gesagt,  das  Durchskripten  ist
UNERWUENSCHT

Ich habe mir die Aenderungen nicht angesehen, will es auch nicht. Obige
Ausfuehrungen sind ein paar grundsaetzliche Gedanken aus der Sicht von
Fernwest.

Ulo

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



Re^15: Yrdsteine (Bendeigid, 10. Jun 1999, 08:46:34):
~#! on=Wurzel ot=928956776 og=gilden.kaempfer
~#! rn=Neb rt=928956721 rg=gilden.kaempfer
~#! tid=928519874
mal wieder ein beweis fuer fehlende ahnung. willow hat einen teil des fusswegs
gebaut.
aber wem sag ich das...

wurzel

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



Re^15: Yrdsteine (Bendeigid, 10. Jun 1999, 08:46:35):
~#! on=Willow ot=928956788 og=gilden.kaempfer
~#! rn=Neb rt=928956721 rg=gilden.kaempfer
~#! tid=928519874
kurze und einfache antwort - nein! du solltest auch mal lieber drueber
nachdenken, was du schreibst - also mehr als ein 'heul doch' faellt mir dazu
echt nicht ein...
Weidchen Willow grummelnd...

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



Re^17: Yrdsteine (Bendeigid, 10. Jun 1999, 08:46:38):
~#! on=Neb ot=928956922 og=gilden.kaempfer
~#! rn=Willow rt=928956886 rg=gilden.kaempfer
~#! tid=928519874
Eine Schaufel anscheinend Trug, in Orkenhort, wenn ich richtig verstehe ;)

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



Re^18: Yrdsteine (Bendeigid, 10. Jun 1999, 08:46:39):
~#! on=Trug ot=928958553 og=gilden.kaempfer
~#! rn=Neb rt=928956922 rg=gilden.kaempfer
~#! tid=928519874
Jep. Dein lieber Burn war damals ja so richtig 'nett' und was ganz und gar
nicht Druckreifes von sich gegeben obwohl ICH nur dich hoeflich um Hilfe
gebeten habe.

Schaem dich.

Trug.

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



Re^14: Yrdsteine (Bendeigid, 10. Jun 1999, 08:46:40):
~#! on=Gnome ot=928960417 og=gilden.kaempfer
~#! rn=Ulo rt=928917527 rg=gilden.kaempfer
~#! tid=928519874
hi,

ich verstehe nicht so recht, warum der weg geaendert wurde...
damit man nicht mehr durchscripten kann? aha.
man kann - zumindest mit tf - ALLES scripten und triggern - nur manchmal
lohnt sich der aufwand nicht.
d.h. also, wenn hier jmd mit der begruendung kommt, dass der weg geaendert
wurde, damit man nicht durchscripten kann...

gnOme

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



Re^15: Yrdsteine (Bendeigid, 10. Jun 1999, 08:46:41):
~#! on=Wurzel ot=928960790 og=gilden.kaempfer
~#! rn=Gnome rt=928960417 rg=gilden.kaempfer
~#! tid=928519874
wie du richtig sagst: manchmal lohnt sich der aufwand nicht.
natuerlich kann man alles mit tf machen. alles nur eine frage des aufwands.
man kann sich auch das ganze mudden sparen und alles von einem script
machen lassen, das halbwegs intelligent programmiert ist. nur eine frage
des aufwands.
was willst du uns jetzt damit sagen?

wurzel

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



Re^15: Yrdsteine (Bendeigid, 10. Jun 1999, 08:46:42):
~#! on=Ulo ot=928961447 og=gilden.kaempfer
~#! rn=Gnome rt=928960417 rg=gilden.kaempfer
~#! tid=928519874

Oh Weh! 
Ich habe nix dazu gesagt, was wir koennen, sondern nur, was wir nicht
moegen: Durchskripten ist UNERWUENSCHT.
Weil wir das Durchskripten nicht moegen, machen wir es eben schwerer.
Ob wir es jemals unmoeglich machen koennen, ist uns dabei herzlich egal.

Ulo

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



Re^16: Yrdsteine (Bendeigid, 10. Jun 1999, 08:46:43):
~#! on=Tarina ot=928963101 og=gilden.kaempfer
~#! rn=Ulo rt=928961447 rg=gilden.kaempfer
~#! tid=928519874
Zu dem Satz "durchscripten ist unerwuenscht" muss ich jetzt doch
mal was ablassen...

Ich bin bisher per Hand durchs reisfeld gegangen und habe mich
mit schoener Regelmaessigkeit langgelegt - was mich masslos
aergert, nebenbei bemerkt - weil die da eingebauten Pausen
naemlich nicht nur 'scripten' verhindern, sondern eigentlich auch
normales 'gehen' per manueller Steuerung.

Und wenn ich mich so oder so hinlege, dann kann ich auch
durchscripten. Dann nehme ich es eben in Kauf, mich in den
Schlamm zu schmeissen und werde nicht unschuldig reingetunkt.

Ich frage mich, was ein Magier davon hat, wenn ein Spieler nicht
durch sein Gebiet scripten kann. Wird sein Gebiet dann besser,
schoener oder mehr beachtet? Ich bezweifele, dass ich dem
Reisfeld - selbst wenn ich durchschleichen muesste -, irgendeinen
Blick mehr goennen wuerde, als ich es bisher getan habe. Also was
hat ein Magier davon?

Mich interessiert das ganz ehrlich. Vielleicht erlebe ich ja das
'taeglichen' Schlammbad ganz anders, wenn ich weiss, wozu es gut
ist :-)

Waer also schoen, wenn Ulo oder jemand anders mal zu den Gruenden
was schreiben koennte.

Gruss,                                                         
Tarina

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



Re^17: Yrdsteine (Bendeigid, 10. Jun 1999, 08:46:45):
~#! on=Householder ot=928963839 og=gilden.kaempfer
~#! rn=Tarina rt=928963101 rg=gilden.kaempfer
~#! tid=928519874
ich glaub die meinen nicht dass fuer dich das gebiet schoener ist , wenn du
langsam da durch gehst, sondern dass es fuer andare spieler haesslich ist ,
wenn du da durchskriptest :-) warum das so sein soll soll weiss ich alladinx
auch nicht ...

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



Re^18: Yrdsteine (Bendeigid, 10. Jun 1999, 08:46:46):
~#! on=Tarina ot=928964077 og=gilden.kaempfer
~#! rn=Householder rt=928963839 rg=gilden.kaempfer
~#! tid=928519874
Den anderen kann es egal sein, wie schnell oder langsam ich durch einen raum
renne. mich hindert ja auch keiner, einen riesenbogen in fernwest vom dai zu
dorf und wieder zurueck zu scripten, wenn ich ein paket kaufen will. Das kann
also eigntlich nicht der Grund sein.

Tarina

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



Re^19: Yrdsteine (Bendeigid, 10. Jun 1999, 08:46:47):
~#! on=Darkwing ot=928964612 og=gilden.kaempfer
~#! rn=Tarina rt=928964077 rg=gilden.kaempfer
~#! tid=928519874
Ich denke der Grund ist einfach dass das Gebiet in sich geschlossen sein soll.
Also nicht bei Funakoshi ueben, schnell ein Eis beim Weihnachtsmann und ein
Stueck leckeren Sand aus der Wueste zu sich nehem und in der naechsten Sekunde
einen weiteren Yeri-Kekomi-wasweichichwas anbringen :-)

Das Problem ist nur dass man das nicht verhindern kann. Wer skripten will
macht es auch so, der Rest hatte nichtmal vorher ein Skript.

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



Re^20: Yrdsteine (Bendeigid, 10. Jun 1999, 08:46:48):
~#! on=Tarina ot=928965394 og=gilden.kaempfer
~#! rn=Darkwing rt=928964612 rg=gilden.kaempfer
~#! tid=928519874
Das ist dem abgeschlossenen Gebiet koennte ich nachvollziehen, wenn das Gebiet
gross genug waere, dass man sich dort wirklich aufhalten kann. Aber 20 Minuten
Reise mit der Karawane fuer Fernwest (inclusive Wartezeiten) ist wirklich
etwas uebertrieben. Ich fand Fernwest als kleiner Spieler (Taschensuche) ziem-
lich oede. Ein paar Huehner und Schweine, ne Kraehe und ne Ente. Das war das,
was mir im Gedaechtnis blieb. Und dafuer die lange Fahrt. Heute ist nur wenig
mehr dazugekommen, was mich interessiert. Irgendwie wirken Strassen, auf denen
man Spieler trifft (auch wenn die zum Teil scripten) auf mich einladender als
die Strassen in Fernwest.
Die Frage ist, ob ein Magier, der solche Bremsen einbaut, nicht sein Gebiet
ausgrenzt.

Tarina

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



Re^19: Yrdsteine (Neb, 10. Jun 1999, 08:54:51):
~#! rn=Bendeigid rt=928997199 rg=d.unterwelt
~#! tid=928519874
Da ich mich absolut nicht mehr daran erinnern kann, muss wohl kurz nach einer
Deiner Willkuer-Aktionen mit Deinem Koomiker gewesen sein, und nach solchem
Machtmissbraeuchen wundert es mich, dass Du staunst, wenn Du auch mal grob
angefasst worden bist.
Wer mit seinem Magier Leute killt und die dabei auch noch ihrere Sachen
entledigt, sollte sich nicht wundern, wenn das Echo deren Freunde nicht so
positiv ist, oder was meinst Du?

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



Re^16: Yrdsteine (Neb, 10. Jun 1999, 09:10:34):
~#! rn=Bendeigid rt=928997202 rg=d.unterwelt
~#! tid=928519874
Okay, es gibt jetzt also dort unten einen Ausgang, der wenn man ihn benutzt,
einen wild durch Wurzels gesamtes Gebiet transt, gut.
Das scripten wird es nicht verhindern, aber stellen wir uns doch einmal
tatsaechlich einen Spieler vor, der von Willows schoen beschriebenen Raeumen
in der Unterwelt gehoert hat und nun dort hin will.
Er war noch nie da, faengt an, eine Karte zu zeichnen, und benutzt
unweigerlich irgendwann diesen Ausgang, der dieses wilde Getranse ausloest.
Er macht das einmal, ist orientierungslos, faengt an, eine neue Karte zu
zeichnen, stolpert ein zweites mal in diesen Ausgang, unweigerlich, denn es
ist der einzige (zumindest mir bekannte) Weg, ein Knotenpunkt sozusagen.
Und wieder wird er getranst.
Mmh.
Spaetestens an dieser Stelle wird er Blatt und Stift beiseite legen, "Ende"
eingeben und sich schwoeren, nie mehr dieses merkwuerdige Gebiet zu betreten.
Und fuer diese Loesung sind also nicht nur Wurzel, dem ich vielleicht sogar
abnehme, dass es ihm am liebsten ist, wenn sein Gebiet frei von Spielern
bleibt, seine Lieblings-NPCs soll ja schliesslich auch keiner metzeln koennen,
sondern auch Ulo als zustaendiger RM fuer Fernwest, und Willow, der irgendwann
einmal wenigstens ein wenig Muehe in die Beschreibung dieser Raeume gesetzt
hat.
Ich muss das nicht verstehen, oder?

Neb, kopfschuettelnd.

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



Re^17: Yrdsteine (Morgonate, 10. Jun 1999, 12:05:23):
~#! rn=Neb rt=928998634 rg=d.unterwelt
~#! tid=928519874
Wenn wir gerade von willkrlichem, unbemerktem Transen sprechen, da hab ich ein
Labyrinth in Fernwest im Kopf, wo ich nach Moeglichkeit auch nie wieder rein
will. Ist nen Quest-Gebiet und Notwendig, dass man da durch muss.
Ich schliesse mich Neb an, sowas sollte verboten gehoeren.

Morgonate

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



Re^17: Yrdsteine (Ulo, 10. Jun 1999, 12:21:49):
~#! rn=Neb rt=928998634 rg=d.unterwelt
~#! tid=928519874

Nochmals.
Ich hab die Aenderung am Fussweg nicht persoenlich in Augenschein genommen,
und hab das auch nicht vor. Ich beurteile damit also nicht die Loesung,
die da eingebaut wurde.

Ich beurteile nur die Motive, die zu der Aenderung gefuehrt haben. Und die
Motive befuerworte ich. Ich werd das hier nicht in aller Ausfuehrlichkeit
machen (sorry, Tarina).

Die schwere Erreichbarkeit von Fernwest gehoert zum Konzept. Ich will mich
da nicht auf Zeitangeben festlegen lassen, aber ein Durchskripten fuer
Nichtseher ist einfach inaktzeptabel. Da sind wir zutiefst undemokratisch
und autoritaer und setzen unsere Idee von der schweren Erreichbarkeit
durch. Ich werde mir geeignete Massnahmen ueberlegen, um zu ueberpruefen,
wie lange eine Spielerin oder ein Spieler nach Fernwest braucht. Sollten
sich da erstaunlich kurze Zeiten bei einigen Personen ergeben, werde ich
nachsehen, wie es dazu kommt und ggf. was unternehmen.

Die Diskussion, ob das Konzept an sich sinvoll ist, fuehre ich nicht
in der MPA, sondern ggf. per Mail. Solange das Konzept so steht, wird
es so durchgezogen, basta.

Ulo.

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



Re^20: Yrdsteine (Shannara, 10. Jun 1999, 17:29:30):
~#! rn=Neb rt=928997691 rg=d.unterwelt
~#! tid=928519874
Gewisse Leute, denen diese alte Sache eigentlich NULL angeht, scheinen wohl
nicht damit befriedigt sein, ueber Charaktere herzuziehen, die es schon
laengst nicht mehr gibt.

Darf ich dich aufklaeren?
Koomi war damals Stufe 18 Kleriker und spielte gerade Orkenhortquest und da
kam Burn reingeskriptet und metztelte vor seiner Nase die NPCs weg. Weil Koomi
zufaelligerweise eine Schaufel kurz leihweise benoetigte, hat Burn als
Reaktion mich ohne ersichtlichen Grund aufs wuesteste beschimpft und hat
weitergeskriptett.

Koomi durfte dann in einen Laden marschieren und Resets abwarten. Ich
bezweifel, ob das was mit seinen nachfolgenden Magierstatus _irgendwas_ zu tun
hatte.

Weil er ja so angeblich dutzendfachen PK machte, da haette er wohl auch so
nebenbei Burn mal so zappen koennen. Seltsam, warum er es nicht getan hatte,
hm? Lug hat aus der Sache einen sprichwoertlichen Elefanten gemacht und zu den
beiden anderen Sachen, haben da gewisse Leute (Jiddu, Lug, Neb, Sharia) sich
besonders hervorgetan, ihre dreckige Nase da reinzustecken.

Gewillkuert wird so oder so auch noch von anderen, da war Koomi nicht der
andere. Auch Spielermanipulation wie das Titel/Presay-Herumsetzen, obwohl das
angeblich ein Seherprivileg ist/sein sollte.

So, viel Spass damit.

Shannara.

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



Re^21: Yrdsteine (Sharia, 10. Jun 1999, 19:56:45):
~#! rn=Shannara rt=929028570 rg=d.unterwelt
~#! tid=928519874
*rotfl*

Shannara: mir ist dein Artikel egal, aber ich moechte ZU gern wissen was du
gegen mich hast :) ich kann mich immerwieder koestlichst ueber dich amuesieren
... dies ist wohl auch ein Grund dafuer wieso ich dich in der MPA noch immer
nich ignoriere .. ich habe soooo lange auf einen Artikel von Dir gewartet ..
DANKE :-)

Sharia, mag keine Katzen und keine Leute die nicht wissen was Rollenspiel ist
:-)

P.S.: aber danke dass ich endlich malwieder in der Mpa erwaehnt wurde *lach*
:-)

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



Re^22: Yrdsteine (Nevok, 11. Jun 1999, 02:53:33):
~#! rn=Darkwing rt=929062157 rg=d.unterwelt
~#! tid=928519874
dann poste sowas in schmarrn

*is den thread leid und schliesst sich Wim an*

wieso muss aus jeder Sache ein Flamewar werden, seit ihr einfach nich faehig
zu diskutieren ohne euch gegenseitig fertig zu machen? is doch laecherlich
sowas...

Nevok, der teilweise nich kapieren kann wie Leute die deutlich Grips im Kopf
haben sich so kindisch verhalten koennen....

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



Re^11: Yrdsteine (Morgoth, 11. Jun 1999, 07:46:07):
~#! rn=Bendeigid rt=928997161 rg=d.unterwelt
~#! tid=928519874
Wieso stolpert man im reisfeld ? ;-)) 

M*

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



Re^12: Yrdsteine (Smurf, 14. Jun 1999, 15:27:04):
~#! rn=Morgoth rt=929079967 rg=d.unterwelt
~#! tid=928519874
Versuch du mal, schnell durch so'n Reisfeld zu laufen,
dabei faellt man halt auf die Nase. ;-)

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



Re^21: Yrdsteine (Lug, 16. Jun 1999, 03:44:36):
~#! rn=Shannara rt=929028570 rg=d.unterwelt
~#! tid=928519874
Ach Shannara...

Dich hatte ich ja schon fast wieder vergessen. Immer noch am Heulen, weil Du
Niete permanent den Kuerzen ziehst? Loesch Dich und such nen RL Psychodoc auf.
Koennte Dir vielleicht helfen. Ich hab da zwar meine Zweifel, aber was solls.

Heute mal lieb
Lug

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



Re^23: Yrdsteine (Lug, 16. Jun 1999, 04:29:05):
~#! rn=Nevok rt=929062413 rg=d.unterwelt
~#! tid=928519874
Achjechen Neebock...


Du nein wirklich, Du. Das macht mich jetzt betroffen mit dem Flamewar, Du.
Wenn Du das schon dafuer haelst, dann heul doch. 
Fein, nun kommen wieder die "Das find ich jetzt nicht gut, ey! Artikel...

Kopfschuettelnd
Lug

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



Re^23: Yrdsteine (Bierchen, 16. Jun 1999, 04:36:09):
~#! rn=Nevok rt=929062413 rg=d.unterwelt
~#! tid=928519874
oh, jetzt faellt es mir wieder ein, warum ich hier platz brauchte zum
schreiben eines artikels: 
was sucht dieses thema denn hier, und nicht, es ging doch um yrdsteine, oder
irre ich mich da?, in d.fernwest oder gilden.kaempfer? was hat die unterwelt
damit zu tun, ausser, dass sie einen weg bereitstellt? geschickt verlegt in
eine fremdrubrik, moechte ich da mal sagen :) oh, ich antworte gerade auf eine
lug-artikel, soviel auswahl gibs aber nicht mehr.. :)
gruss,
      - Bierchen -

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



Re^24: Yrdsteine (Lug, 16. Jun 1999, 04:39:15):
~#! rn=Bierchen rt=929500569 rg=d.unterwelt
~#! tid=928519874

Also Bierchen:

Es ging einmal um Fernwest, weil eingie da immer noch hinwollen. Komisch, ich
weiss. Und dann um Yrdsteine, weil einige die haben wollen. Seltsam, ich
weiss. Dann flennten einige rum und ich hab sie in die Unterwelt gewuenscht
und damit waeren wir wieder beim THEMA! Coll, was?

Den Verleger nervend
Lug

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



Re^25: Yrdsteine (Bierchen, 16. Jun 1999, 04:50:57):
~#! rn=Lug rt=929500755 rg=d.unterwelt
~#! tid=928519874
dann mault doch die mags von fernwest an. wenn jemand durch meine region
laeuft, um zu einer anderen zu kommen, und es dann zu weit ist... pech gehabt.
wenn dann jemand auf die idee kommt, das objekt der begierde bei mir finden zu
muessen, dann sage ich nur: geh zurueck und nehm den normalen weg. abgesehen
davon sollte das zeug hier wieder den weg in gilden.kaempfer finden. aber
vielleicht findet sich auch jemand unter euch, der mit einem magier aus
fernwest reden kann, ohne beim ersten satz gleich beleidigend zu werden...
dann waere der ganze muell hier ziemlich ueberfluessig.
-> schmarrn.
gruss,
    - Bierchen -

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



Re^26: Yrdsteine (Bendeigid, 16. Jun 1999, 09:02:41):
~#! rn=Bierchen rt=929501457 rg=d.unterwelt
~#! tid=928519874
Aeh, Bierchen,
der ganze Thread lag sehr wohl richtig in dieser Rubrik. Angefangen hatte es
mit Fragen um/ueber Yrdsteine, und da lag/liegt der Thread folgerichtig unter
gilden.kaempfer. Als die "Diskussion" dann aber abdriftete, dass auch ander
Regionen schwer erriechbar waeren und es sich dann an scripten oder nicht
durch den weg nach fernwest in der unterwelt und aenderungen an ebendiesem
aufhielt, da war der thread (immer noch gleiche ueberschrift, wenn auch schon
laengst unpassend) in dieser rubrik.
Wenn dann hier noch zauberer muellen muessen wegen taramis, verlegts
sonstwohin, bloss nicht nach kaempfer, nur weil der Titel des Threads auf
trves weist!

Z'par Servu,
           Bendeigid
P.S.: Apropos: Wieso muessen eigentlich staendig wege gescriptet werden? und
speziell durch die Unterwelt nach Fernwest? Wir sollten die kneipen auf einen
level heben/senken, damit sowas ueberfluessig ist. Oder endlich
"erschoepfungspunkte" einfuehren, die, wenn sie sinken, dafuer sorgen, dass
man hinfaellt. Am besten gleich in die UNterwelt ;)

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



Re^24: Yrdsteine (Nevok, 16. Jun 1999, 09:47:13):
~#! rn=Lug rt=929500145 rg=d.unterwelt
~#! tid=928519874
weniger die 'das find ich nich gut' als eher Dein 'FidKG' in leicht
abgewandelter Form..
FDiKL
mal sehen....das erste is die geschlechtliche Vermehrung im imperativ, das
naechste is eine persoenliche Anrede, dann kommt eine naehere lokale
Bestimmung, dann ein Gelenk und zu guter letzt Dein Name
und das alles kommt von Herzen
oder so
da siehste was du mir wert bist......

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



Re^25: Yrdsteine (Anatol, 16. Jun 1999, 14:56:19):
~#! rn=Nevok rt=929519233 rg=d.unterwelt
~#! tid=928519874
Haettest Du die suelzige Erklaeuterung des "FDiKL" weggelassen, haette
das dem geneigten Leser vielleicht ein Laecheln abringen koennen. Die
Unterstellung jedoch, dass jener Leser nicht in der Lage ist, das doch
recht plumpe Akronym ohne Hilfe aufzuloesen, verdirbt Dir den Effekt aber
total.

Ich wuerde Dir gerne ein "Heul doch!" zuwerfen, aber Du koenntest das 
vielleicht ernst nehmen, das taete mir ja dann leid. Am besten nimmst
auch Du Dir Lugs Rat zu Herzen - es soll ja ganz gute Psychiater geben.

Anatol


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



Re^26: Yrdsteine (Nevok, 16. Jun 1999, 18:16:39):
~#! rn=Anatol rt=929537779 rg=d.unterwelt
~#! tid=928519874
danke werde ich vielleicht drauf zurueckkommen...ich darf doch annehmen, dass
Deine in letzter Zeit seltenere Anwesenheit auf eine Konsultation eines
selbigen Zurueckzufuehren ist?

Nevok

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



Re^27: Yrdsteine (Acrimon, 16. Jun 1999, 20:17:18):
~#! rn=Nevok rt=929549799 rg=d.unterwelt
~#! tid=928519874
Persoenliche Flamewars gehoeren nicht in die mpa.
Geht lieber in die Arena...

Acrimon

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



Re^28: Yrdsteine (Nevok, 16. Jun 1999, 20:18:58):
~#! rn=Acrimon rt=929557038 rg=d.unterwelt
~#! tid=928519874
richtiger kommentar, falscher adressat

Nevok

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



Re^28: Yrdsteine (Wurzel, 16. Jun 1999, 20:32:25):
~#! rn=Acrimon rt=929557038 rg=d.unterwelt
~#! tid=928519874
natuerlich gehoeren die in die mpa. ich will ja schliesslich auch mal was
zum lachen haben. arena ist so humorlos, da bekommt man ja gar nichts mit.

wurzel (will mehr ueble beschimpfungen lesen :)

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



Re^29: Yrdsteine (Puk, 17. Jun 1999, 12:27:48):
~#! rn=Wurzel rt=929557945 rg=d.unterwelt
~#! tid=928519874

Aber echt, das ist doch immer ganz lustig die MPA zu lesen.
Nachher geht ihr in die Arena und keiner bekommt das mit, das waere doch echt
ne verlust :)

Puk (---> Schmarrn)

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



Re^27: Yrdsteine (Lug, 19. Jun 1999, 23:03:06):
~#! rn=Bendeigid rt=929516561 rg=d.unterwelt
~#! tid=928519874

Das laesst sich schnell beantworten, Bende:

Weils es scheissoede ist, die selben gammeligen alten Langweilerwege staendig
abzulatschen. Spieler haben kein Goto. Immer diese Magier...

Lug

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



Re^25: Yrdsteine (Lug, 19. Jun 1999, 23:03:38):
~#! rn=Nevok rt=929519233 rg=d.unterwelt
~#! tid=928519874
Nullrock?

Das ist mir zu hoch, weisste doch...

Lug

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



es ist so heiss... (Wurzel, 29. Aug 1999, 18:48:42):
endlich, nach langer zeit des spekulierens, philosophierens und forschens
ist es heraus, warum es in der wueste so heiss ist. nicht etwa, weil dort
die sonne so heiss scheint (immerhin gibt es nur eine einzige sonne, warum
sollte sie an manchen stellen heisser scheinen als an anderen), nein, der
wahre grund liegt tiefer. und zwar ziemlich tief in der unterwelt.
allen wagemutigen sei aber gesagt: es ist nicht nur heiss dort unten, auch
nicht einfach sehr heiss, sondern es ist geradezu abartig heiss. so heiss,
dass man einen speziellen sehr seltenen magischen schutz braucht, um sich
auch nur dort umzusehen.
die entdecker der hoehle berichten, dass dieser schutz oft materielle form
annimmt, und zwar die eines kleinen goldenen kettchens, unscheinbar doch
wirksam... nur leider hilft es nicht, ein beliebiges goldkettchen zu tragen.
es ist nicht das gold, das schuetzt... also: seid gewarnt.

wurzel

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



Re: es ist so heiss... (Shannara, 29. Aug 1999, 19:39:55):
~#! rn=Wurzel rt=935952522 rg=d.unterwelt
~#! tid=935952522
Ui, endlich kann man dort unten weiter und kann endlich den Schutz dafuer
finden.... Bin schon einmal fast zu einer Grillkatze geworden, nur weil ich
mal so in der Unterwelt rumlungerte :-)

Shanny.

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



Re: Re: es ist so heiss... (Householder, 29. Aug 1999, 19:45:15):
~#! rn=Shannara rt=935955595 rg=d.unterwelt
~#! tid=935952522
harhar grillkatze hoert sich richtig lecka an :-)
HH, grunzend mit einem "katzen in den ofen"-Faehnchen wedelnd

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



Re: Re: es ist so heiss... (Wurzel, 29. Aug 1999, 19:45:19):
~#! rn=Shannara rt=935955595 rg=d.unterwelt
~#! tid=935952522
hm, grillkatzen... lecker :)
vielleicht sollte ich noch eine kleinigkeit dazu stricken :)

wurzel

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



Re^3: es ist so heiss... (Shannara, 29. Aug 1999, 19:46:29):
~#! rn=Wurzel rt=935955919 rg=d.unterwelt
~#! tid=935952522
weia, was hab ich da geschrieben... vergiss aber dann auch nicht
Elfengrillsteak und Zwergenfondue :-)

Shannara.

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



Re^4: es ist so heiss... (Householder, 29. Aug 1999, 19:48:01):
~#! rn=Shannara rt=935955989 rg=d.unterwelt
~#! tid=935952522
elfengrill steak is nix (zu mager und wohlschmeckende muskulatur ham die typen
ja auch nicht ...) 
zwergensteak is auch nix weil kannibalismus
HH

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



Re^5: es ist so heiss... (Patryn, 29. Aug 1999, 19:52:01):
~#! rn=Householder rt=935956081 rg=d.unterwelt
~#! tid=935952522
unter kanibalistisch veranlagten wesen kursiert das geruecht, man wuerde
intelligenz und weisheit des feindes in sich aufnehmen, wenn man ihn
aufisst. insofrn ist es sogar voellig nutzlos, zwerge zu essen.
dass eurereins elfenfleisch verschmaeht, kann ich als vertreter dieser art
sehr begruessen, jedoch wird so niemals etwas vernuenftiges aus eurer
rasse :)

------
patryn

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



Re^5: es ist so heiss... (Paracelsus, 29. Aug 1999, 19:52:21):
~#! rn=Householder rt=935956081 rg=d.unterwelt
~#! tid=935952522
Elfengrillsteak ... also Fisch vom Grill?

Und Zwergensteak ... naja, bis man da den Dreck runter hat.

Para*

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



Re^6: es ist so heiss... (Householder, 29. Aug 1999, 20:07:11):
~#! rn=Paracelsus rt=935956341 rg=d.unterwelt
~#! tid=935952522
hm der dreck ist sicher gut fuer die verdauung ...

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



Re^7: es ist so heiss... (Silvana, 30. Aug 1999, 08:09:01):
~#! rn=Householder rt=935957231 rg=d.unterwelt
~#! tid=935952522
Schon mal Igel gegessen? Der wird in Ton eingepackt und dann gebacken. Koennte
doch bei den Zwergen aehnlich gehen. Wenn er gar ist, pellt man den Ton
(Dreck) ab und schon ist mach auch die Stacheln (Haare/Dreckschicht) los...

  Silvana (grinst in Hobos Richtung - die weiss wieso)

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



Re^8: es ist so heiss... (Anatol, 30. Aug 1999, 08:15:36):
~#! rn=Silvana rt=936000541 rg=d.unterwelt
~#! tid=935952522
Wenn man doch nur im Voraus wissen wuerde, fuer wieviele Portionen
Hundefutter der Zwerg dann reicht...

Anatol ;)


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



Re^8: es ist so heiss... (Hobo, 30. Aug 1999, 12:56:59):
~#! rn=Silvana rt=936000541 rg=d.unterwelt
~#! tid=935952522
Jupp, die weiss, wieso..

  Hobo - fuehlte sich einfach angesprochen

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



Re^9: es ist so heiss... (Atoz,  8. Sep 1999, 09:24:50):
~#! rn=Anatol rt=936000936 rg=d.unterwelt
~#! tid=935952522
Anatol Du Tierquaeler!

Der arme Hund!


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



Re: es ist so heiss... (Wurzel,  9. Sep 1999, 20:45:30):
~#! rn=Wurzel rt=935952522 rg=d.unterwelt
~#! tid=935952522
da rochus derzeit keine zeit hat, hab ich es jetzt mal anders gemacht...
der palast von muspelheim ist jetzt wenigstens teilweise zugaenglich.
ich wuerde ja sagen, zieht euch warm an... aber das waere wohl unpassend.
deshalb eher: froehliches sterben :)

wurzel

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



Re: Re: es ist so heiss... (Wurzel, 11. Sep 1999, 09:16:56):
~#! rn=Wurzel rt=936909930 rg=d.unterwelt
~#! tid=935952522
ich sollte vielleicht nicht so oft auf stammtische gehen... das macht weich.
jedenfalls gibt es jetzt eine moeglichkeit, eine tiefgreifende erschoepfung
schneller wieder loszuwerden als bisher.

wurzel

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



Zwergenkergeln (Smarte, 13. Sep 1999, 12:48:26):
Naja, in der langen Geschichte des Elfen-Zwergen Konflikts faellt mir da im
Moment der Bonuslevel von Dungeonkeeper 2 ein. :)))) Ich sag nur Zwerge Kegeln
!!! 
Fand ich richtig witzig (OK, mit Elfen kann man aehnliche Sachen machen. Genug
Moeglichkeiten gibt es dafuer ja in DK2. :)))

Bis denn

Smarte (hin und wieder auch mal hier)

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



zwerge... (Wurzel, 18. Sep 1999, 15:45:51):
man kann ueber zwerge sagen (und denken) was man will, eins kann man ihnen
jedenfalls nicht absprechen: sie sind geschaeftstuechtig.
einer von ihnen hat jetzt den weg nach muspelheim gefunden, um mit seinem
hotdog-stand dort die riesen und besucher zu verkoestigen. ob er damit reich
werden kann, bleibt allerdings abzuwarten.

wurzel

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



Re^3: es ist so heiss... (Wurzel,  1. Okt 1999, 23:07:27):
~#! rn=Wurzel rt=937041416 rg=d.unterwelt
~#! tid=935952522
kleinere ergaenzungen, fuer leute die bisher dachten alles zu kennen.

wurzel

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



kleine aenderung (Wurzel,  4. Dez 1999, 14:42:13):
wer jemanden gekillt hat, der keine stupse gab trotz anzeige, darf es gerne
nochmal probieren. insider wissen um wen es geht :)

wurzel

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



Orkhoehleneingang (Death, 19. Dez 1999, 19:01:14):
Die ersten 3 Raeume wurden ein wenig abgeaendert, es fehlt noch eine Aenderung
in einem File die der RM bald (hoffentlich) vornimmt!
Death

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



Re: Orkhoehleneingang (Alpha, 20. Dez 1999, 17:59:31):
~#! rn=Death rt=945626474 rg=d.unterwelt
~#! tid=945626474
....[finger death].....

Death ist nicht anwesend.
Zuletzt eingeloggt von: Muenchen
Zuletzt ausgeloggt: Mon, 18. Okt 1999, 19:34:37 (62d 23:23:16)
                                                ^^^^
Was Magier nicht alles so schaffen....

Alpha wundert sich nur...

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



Re: Re: Orkhoehleneingang (Taragon, 20. Dez 1999, 18:05:44):
~#! rn=Alpha rt=945709171 rg=d.unterwelt
~#! tid=945626474
Was erwartest du von magiern, die in ihrer grenzenlosen vergesslichkeit ihre
zeitung zum artikelschreiben benutzen wenn sie invis sind :-)
Ich sags ja andauernd... zeitung sollte invis unbenutzbar werden :-)

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



Re^3: Orkhoehleneingang (Alpha, 20. Dez 1999, 18:27:38):
~#! rn=Taragon rt=945709544 rg=d.unterwelt
~#! tid=945626474
....oder Invis Mags sollten beim Ausloggen ihr Last-Login aktualisiert
bekommen. So merkt man, dass der betreffende Mag noch "aktiv" ist....
Alpha.

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



Re^4: Orkhoehleneingang (Taragon, 20. Dez 1999, 18:28:42):
~#! rn=Alpha rt=945710858 rg=d.unterwelt
~#! tid=945626474
Das waere sogar irgendwie sinnvoll. Fragt sich nur ob ein magier das einbaut,
wo sie doch so stolz drauf sind, so machen zu koennen als seien sie nicht da
:-)

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



Re^4: Orkhoehleneingang (Tilly, 20. Dez 1999, 18:29:02):
~#! rn=Alpha rt=945710858 rg=d.unterwelt
~#! tid=945626474
Meine Guete, ihr habt vielleicht Probleme ...

 - Tilly -

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



Re^5: Orkhoehleneingang (Taragon, 20. Dez 1999, 18:34:16):
~#! rn=Tilly rt=945710942 rg=d.unterwelt
~#! tid=945626474
Wo ist das problem, tilly ? :-)

stabinfo
Sieh es als verbesserungsvorschlag an... und wer verbesserungsvorschlaege als
'probleme' ansieht, sollte besser keine zeitung lesen :-))

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



Re^6: Orkhoehleneingang (Tilly, 20. Dez 1999, 18:44:18):
~#! rn=Taragon rt=945711256 rg=d.unterwelt
~#! tid=945626474
Wenn es denn mal ein Verbesserungsvorschlag waere! Ich moechte weiterhin invis
Artikel schreiben koennen, ohne dass da gleich mein letzter Login aktualisiert
wird. 
Btw.: Wer verlegts den nun nach muell?

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



Re^6: Orkhoehleneingang (Belgariad, 20. Dez 1999, 18:46:26):
~#! rn=Taragon rt=945711256 rg=d.unterwelt
~#! tid=945626474
Stabinfo? Aktualisiert das das letzte Ausloggen? :)

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



Re^7: Orkhoehleneingang (Sublime, 20. Dez 1999, 19:52:00):
~#! rn=Belgariad rt=945711986 rg=d.unterwelt
~#! tid=945626474
Stabinfo ? Hat das was mit Bundeswehr zu tun ? ;=)

liebe gruesse
subl

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



Re^8: Orkhoehleneingang (Taragon, 20. Dez 1999, 19:52:50):
~#! rn=Sublime rt=945715920 rg=d.unterwelt
~#! tid=945626474
Du als nichtzauberer wirst das eh nicht verstehen :-)

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



Re^9: Orkhoehleneingang (Sublime, 20. Dez 1999, 19:55:30):
~#! rn=Taragon rt=945715970 rg=d.unterwelt
~#! tid=945626474
Haette ich Eure Probleme hier verstehen wollen, haette ich das
auch geschrieben ;) Aufpassen ! Hab' lediglich nach diesem lustigen
Wort 'Stabinfo' gefragt und obs das in dem Bundeskarnevalsver..wehr
gibt...

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



Re^10: Orkhoehleneingang (Taragon, 20. Dez 1999, 20:04:46):
~#! rn=Sublime rt=945716130 rg=d.unterwelt
~#! tid=945626474
Nein. Das ist taramisianisch fuer 'sag mir das was mein teddy auch sagen
koennte, aber nicht so nett' :-)

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



Re^11: Orkhoehleneingang (Sublime, 20. Dez 1999, 20:05:58):
~#! rn=Taragon rt=945716686 rg=d.unterwelt
~#! tid=945626474
nu' abba' entgueltig ;)

---> muell

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



Re^8: Orkhoehleneingang (Jamalski, 21. Dez 1999, 12:43:02):
~#! rn=Sublime rt=945715920 rg=d.unterwelt
~#! tid=945626474
Stabinfo, Bundeswehr, Orkhoehleneingang....
hmmm...
Schnittblumen!

Jamalski, geistig blitzend

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



Re^9: Orkhoehleneingang (Sublime, 21. Dez 1999, 18:08:48):
~#! rn=Jamalski rt=945776582 rg=d.unterwelt
~#! tid=945626474
Schnittblumen ? Hmm, was soll mir dazu schon noch einfallen ?

;=), Sublime nachdenkend

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



Re^4: Orkhoehleneingang (Mahatmu,  2. Jan 2000, 23:00:22):
~#! rn=Alpha rt=945710858 rg=d.unterwelt
~#! tid=945626474
Oehm. Wenn ich vom Stand meiner alten Lib ausgehe, wurde genau das
einstmals entfernt. Aus gutem Grund. Dreimal darfste raten.

Mahatmu

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



vorsicht :) (Wurzel,  7. Jan 2000, 01:16:15):
wer zum balrog geht, sollte vorsichtig sein. insbesondere, wenn er/sie in
der parawelt lebt :)
man kann nie sicher sein, insbesondere nicht vor ueberraschungen.

have fun

wurzel

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



Hochzeitsoednis! (Lug,  7. Jan 2000, 23:20:51):

Also. Ich war ja lange auf keiner Hochzeit mehr und das war auch gut so. Ohen
Priesterkillen, Zaps, Einsprueche etc. ist das alles grottenlangweilig. Wer
sowas braucht soll sich doch von einer Klerikerin trauen lassen. HER MIT DER
ALTEN ZEREMONIE!

Haeretiker
Lug

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



Re: Hochzeitsoednis! (Sting,  7. Jan 2000, 23:21:51):
~#! rn=Lug rt=947283651 rg=d.unterwelt
~#! tid=947283651
Hochzeiten in der Unheiligen Kapelle bei der Chaosgilde sind eh vieeeel
coooooler! Frag Nesaja und 112 :)

Sting

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



Re: Hochzeitsoednis! (Wim,  7. Jan 2000, 23:22:01):
~#! rn=Lug rt=947283651 rg=d.unterwelt
~#! tid=947283651
Du willst einen Zap haben? Keeeiiin problem

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



Re: Re: Hochzeitsoednis! (Lug,  7. Jan 2000, 23:23:29):
~#! rn=Wim rt=947283721 rg=d.unterwelt
~#! tid=947283651

Pft. Du verstehst das nicht, Jungspund.

Alter Sack
Lug

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



frankenstein (Wurzel,  9. Jan 2000, 15:06:59):
frankenstein funktioniert wohl wieder. wer damit in der letzten zeit ein
problem hatte, schickt mir einfach ne kurze mail.

wurzel

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



ratten (Padreic,  5. Feb 2000, 16:28:19):
Auf bitten des Balanceteams hin hat es heute eine leichte Aenderung des
Rattenbluts gegeben, aber ihr werdet es schon merken (sofern ihr nich vorher
sterbt :)

Pad*

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



Re: ratten (Gnome,  5. Feb 2000, 18:58:44):
~#! rn=Padreic rt=949764499 rg=d.unterwelt
~#! tid=949764499
'leichte' aenderung ist wohl 'leicht' untertrieben...

JETZT kannste die ratten auch abklemmen, kommt aufs gleiche raus...

gnOme bekommt langsam einen kleinen hass auf die balance...

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



Re: Re: ratten (Nevok,  5. Feb 2000, 19:00:22):
~#! rn=Gnome rt=949773524 rg=d.unterwelt
~#! tid=949764499
Nevok wartet eigentlich nur auf Lugs oder Anatols Ratschlaege
diesbezueglich...

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



Re^3: ratten (Anatol,  5. Feb 2000, 19:38:07):
~#! rn=Nevok rt=949773622 rg=d.unterwelt
~#! tid=949764499
Ich glaube nicht, dass ein Seher mit ein wenig Feingefuehl fuer
Balance und andere Drahtseilakte grosses Geschrei anstimmen wird,
schliesslich weiss ein solcher: Nicht jedes Feature kann mit 
Aufwand, egal wie hoch, gerechtfertigt werden.

Anatol


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



Re^4: ratten (Sublime,  5. Feb 2000, 23:26:47):
~#! rn=Anatol rt=949775887 rg=d.unterwelt
~#! tid=949764499
Wie waers denn mal, wenn ihr genau sagen wuerdet, was sich 
nun bei den Ratten geaendert hat...Ein Aussenstehender bekommt
sonst naemlich gar nicht mit, was damit nun war, und ich haette
schon ganz gerne gewusst, was da geaendert worden ist, so
rein informativ (und zum lernen) natuerlich. Oder sollten
wir Aenderungen jetzt immer im Stillen behalten, bis die ersten
Trottel daran abkratzen oder aehnliches ?

liebe gruesse
subl

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



Re: ratten (Elendil,  6. Feb 2000, 14:02:01):
~#! rn=Padreic rt=949764499 rg=d.unterwelt
~#! tid=949764499
Hi zusammen,
da auch nicht noch nicht die genaue Aenderung kenne mag ich ueber das MAss
garnicht streiten. Zu bedenken geben moechte ich nur, wenn ein Skill
angehangen und nicht limitiert wird muss damit gerechnet werden, dass ihn
irgenwann einmal Leute haben; dann diesen Skill zu kappen ist je nach Gewicht
der Aenderung nicht in Ordnung. Den Aufwand den Personen bereit waren in
diesen Skill zu stecken haben sich an der Entlohnung bemessen. Diese Aenderung
war zu antizipieren, sollte aber nicht zur Regel werden.
Elendil

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



Re: Re: ratten (Boing,  6. Feb 2000, 16:11:46):
~#! rn=Elendil rt=949842121 rg=d.unterwelt
~#! tid=949764499
Der Skill war in Ordnung solange sich die Leute ihn noch ehrlich
erarbeitet haben. Leider ist es inzwischen in diesem Mud ueblich
geworden mit Hilfe einer zusammengeliehenen Karatezweitiearmee alles
platt zu machen, das dieses Verhalten fuer alle schaedlich ist zeigt
der Fall mit dem Rattenblut.
  Boing

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



Re^3: ratten (Elendil,  6. Feb 2000, 16:14:11):
~#! rn=Boing rt=949849906 rg=d.unterwelt
~#! tid=949764499
Also ich fuer meinen Teil hatte einen Karateka dabei ... ausserdem aendert das
doch nichts an meiner Aussage, oder ?

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



Re^3: ratten (Darkwing,  6. Feb 2000, 16:15:27):
~#! rn=Boing rt=949849906 rg=d.unterwelt
~#! tid=949764499
ehrlich erworben ????
Kiloweise Skowefedern mit rein/raus da reinschmeissen ... tolle Leistung.

Zu ehrlich erworben kann ich da nur sagen dass staendig aufgewertet wurde
sobald man Moeglichkeit gefunden hatte die zu schaffen.

Hmpf.

Darkwing

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



Re^3: ratten (Greifax,  6. Feb 2000, 17:04:12):
~#! rn=Boing rt=949849906 rg=d.unterwelt
~#! tid=949764499
Mit der Argumentation waere dann der Runenskill, Pfeil und Bogen, Hydra-
toeterruestung und Sterne auch abzuhaengen.

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



Re^4: ratten (Belgariad,  6. Feb 2000, 17:05:30):
~#! rn=Greifax rt=949853052 rg=d.unterwelt
~#! tid=949764499
Belgariad applaudiert.

Haengt den ganzen Kaese ab! Benutzt ja eh keiner.

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



Re^3: ratten (Hood,  6. Feb 2000, 18:23:50):
~#! rn=Boing rt=949849906 rg=d.unterwelt
~#! tid=949764499
vor einigen monaten haette ich auch stark protestiert gegen diese
aenderung, obwohl ich fest damit gerechnet habe, dass die balance
irgendwann diesbezuegliche langeweile bekommen wird, wie geschehen.
inzwischen habe ich aber einigen leuten klargemacht, dass sie sich gar
nicht zu wundern brauchen mit den derzeitigen metzelmethoden,
zb. die hier angesprochenen single-rl-player-metzelkarawanen.
schade ist nur, dass es sich im prinzip nicht mehr lohnt, solche monster
zu schaffen, denn ich bin durchaus der meinung, dass hoher aufwand auch
dinge rechtfertigt, die ausserhalb der 08-15-balance liegen, die
derzeitig zeitsparend ganz gern betrieben zu werden scheint.
wie gesagt...in anbetracht des verhaltens gewisser spieler kann mir das
in diesem fall ziemlich egal sein, schade um die arbeit halt.

----------
i.a. Patryn

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



Re^4: ratten (Trug,  6. Feb 2000, 18:28:02):
~#! rn=Hood rt=949857830 rg=d.unterwelt
~#! tid=949764499
Vielleicht waeren solche Zweitie-Karawanen durch eine mengenmaessige
Beschraenkung etwas regulierbar? Auch wenn dann 'hart' durchgegriffen werden
muss, um das einzuhalten?

Trug. selber nicht ganz davon ueberzeugt, weil wohl wissend, dass die MGsche
Phantasie in Hinsicht 'Regeln missachten' unbegrenzt ist.

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



Re^4: ratten (Anatol,  6. Feb 2000, 18:51:22):
~#! rn=Hood rt=949857830 rg=d.unterwelt
~#! tid=949764499

Nochmal zum Mitschreiben, fuer alle jene, die noch nicht be-
griffen haben, dass es 'die Balance' weder darauf anlegt, ein 
Default-Feindbild fuer High-End-Metzler zu schaffen, noch nach
einem "08/15-Balance"-Anforderungenkatalog Objekte durchwinkt
oder haengenlaesst. 

Die Balance soll den laengerfristigen Spielspass sichern. Sie 
versucht, nur soviel wie noetig aus den Schwingen aus dem von 
Magiern beantragten (oder im Spiel befindlichen) Federvieh zu 
schneiden, damit jenes nicht unkontrollierbar davonflattert.
Damit die Gegenden im MorgenGrauen auch in einem Jahr noch 
spielbar und interessant sind. Ja, moeglichst viele Gegenden, 
nicht nur die neusten, brutalsten, heftigsten. 
Am Beispiel des Rattenblutes sieht man das eventuell besonders
deutlich: Zum einen zog der damals zustaendige Magier zog vor, 
die Ratten gelegentlich auf- statt das Blut abzuruesten, die
_Notwendigkeit_ dafuer bestand offenbar; die Spieler wurden 
immer staerker und/oder immer findiger. Das ist natuerlich der
falsche Weg, das geht nur in gewissen Grenzen ohne Traenen.
Zum anderen, um das Rattenblutbeispiel nun wirklich aufzugrei-
fen, hat ein reger Nutzer dieses Features ziemliche Vorteile.
Ein Spieler mit 350 Lebenspunkten (entschuldigt, dass ich da
konkrete Dinge nenne) kann sich in Gebiete wagen, die fuer an-
dere verschlossen bleiben werden, da sie, Teamkampf hin oder 
her, das Gebiet nur ueber Lars verlassen werden. Unser Muster-
Seher kann also nicht nur leichter neue Killstupse ertoeten, 
er kann auch leichter an andere Objekte ran, die eigentlich 
auch "High-End" haetten sein sollen. Wenn der Erschaffer jenes
anderen Objektes einen schlechten Tag hat, sorgt er einfach
dafuer, dass es wieder schwerer zu erhalten ist, siehe oben.
Laengerfristig wuerden wir dann in einem Mud leben, in dem es
Waffen gibt, die normale Monster mit einem Schlag toeten (und
nicht normale Monster, die einem nichtmal jenen einen Schlag
lassen).

Man nennt das Phaenomen verallgemeinernd "Ruestungsspirale" 
und man wird es vielleicht nicht ganz verhindern koennen, denn
mit steigender Vielfalt - jene zu beschraenken liegt NICHT im
Interesse der Balance - nimmt das Machtpotential beim Kampf 
ebenfalls zu. Aber man kann diese Spirale bremsen.

Manchmal tut dieses Fluegelstutzen weh. Zum Beispiel dann, wenn
dies erst sehr spaet geschieht... - Jedoch nimmt der spaete 
Zeitpunkt kein Bisschen von der Notwendigkeit. Und in diesem 
Fall bestand sie ganz offenbar, denn man konnte es, so schreibt 
jemand, der sich mit diesen Ratten auskennt, vorhersehen. Ja, 
es war noetig. Und ja, ich stimme Elendil zu, das nachtraeg-
liche Herunterschrauben eines Effektes, in das Leute viel Zeit 
und Material investiert haben, sollte eine Ausnahme bleiben.
Aber ich muss Widerworte einlegen gegen jene, die sagen, dass
im vorliegenden Fall nur wegen der "Methodik" die Schere ge-
schwungen wurde. Dass der eine oder andere den Skill auf un-
schoene oder gar unlautere Art hochgezogen hat, ist natuerlich
schade und scheisse, ist aber nicht in erster Linie fuer das
Zurueckbringen des Features auf den harten Boden der Tatsachen 
verantwortlich.

Sei in diesem Zusammenhang nochmal darauf hingewiesen, dass 
jeder, egal ob Spieler oder Magier, mit "mail balance" auf 
Objekte, die seiner Meinung zuviel Ungleichgewicht erzeugen,
hinweisen kann. Er kann auch einem einzelnen Mitglied des so
gehassten Balancegremiums Bescheid geben - richtig beissen 
tut, glaub' ich, keiner. Kaum einer kann die Effekte einer 
Waffe, Ruestung oder sonstigen Kampfhilfe schneller richtig
abschaetzen als der, der sie nutzt.

Meine private Meinung auf knapp siebzig Zeilen,
Anatol


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



Re^5: ratten (Hood,  6. Feb 2000, 19:08:43):
~#! rn=Anatol rt=949859482 rg=d.unterwelt
~#! tid=949764499
Als methodisches 08/15-Balance-Gebahren bezeichne ich Sprueche wie:
'Es wird keine grundsaetzlich neuen Metzeltools mehr geben, nur bisheriges
in abgewandelter Form.'
oder:
'Wir brauchen hier noch einen maximalen 100%-Wert, da darf nix drueber.'
oder:
'Da sind zwei Maximalwerte in einem Tool vereint, das wird nicht zugelassen.
Streiche einfach einen und wir sind happy, das war schon immer so. Nein, uns
ist es egal, wie schwer das zu besorgen ist.'
oder:
'In ein paar Monaten soll da noch nen Skill kommen, von dem Du ja eigentlich
nichts weisst. Deshalb haben wir den Wert erstmal nach unten korrigiert.'

Wenn ihr euch darin nicht wiedererkennt, dann ist doch alles in Ordnung. In
diesem Fall ist das Gejammer der Spieler und Magier wirklich
nebensaechlich...oder eigentlich ist es das ja immer. Als guter
Balancemagier sollte man ueber solchen Dingen stehen, das ist keine Kritik, 
das ist Gejammer ;)

Die Ratten musste ich nur insofern aendern, dass ich beim Programmieren
nicht beachtet habe, dass ein Karateka nebst Rueckendeckung eines Kaempfers 
dort ein undurchdringliches Schutzschild darstellte (uebrigens ein
allgemeines Problem und imho wichtiger als das Rattenblut, wie so einiges).
Ich nehme mir nicht heraus, an alles gedacht zu haben, und so sind mitunter
halt Nachbesserungen bei komplizierteren Monstern noetig.
Gegen die angesprochenen Metzelkarawanen ist jedoch kein Kraut gewachsen,
ich hab zumindest keinen Plan dazu, oder besser gesagt dagegen.
Solange man das Heft nicht in die Hand nimmt, und solche vorgaenge einfach
verbietet, solange kann man damit wohl aus Programmierersicht auch nicht
umgehen.
Und nein: Solch eine Regel verlangt kein 100-baendiges Gesetzeswerk. Man
wird nicht jeden erwischen und manche, denen etwas nicht 100%ig nachweissbar
ist, auch laufen lassen muessen, aber das Problem sind doch wohl die
offensichtlichen Zweitiearmeen, nicht die weniger offensichtlichen.
Und ja: Ich weiss, sowas wird nicht kommen, weil man wieder die abstrusesten
Referenzfaelle konstruiert und alles totdiskutiert.

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



Re^6: ratten (Wurzel,  6. Feb 2000, 21:00:51):
~#! rn=Hood rt=949860523 rg=d.unterwelt
~#! tid=949764499
wenn es denn tatsaechlich so ist, wie hier an einigen stellen angedeutet,
dass naemlich die spieler immer staerker werden, dann kann ich nur sagen:
die balance hat wohl versagt. es war doch erklaertes ziel, die spirale nicht
nur zu beenden, sondern auch ein paar umdrehungen zurueckzuschrauben. das
ist dann offensichtlich nicht passiert. und sei es auch nur, weil die gilden
dabei irgendwie uebersehen wurden.
wenn ein karateka mit rueckendeckung eines kaempfers unbesiegbar ist (und sei
es auch nur an bestimmten stellen), ist das in meinen augen viel mehr krank
als irgend ein noch so nettes tool.
das zweitieproblem laesst sich relativ einfach beseitigen. man laesst eben
von einer ip-adresse nur noch einen login zu, damit hat man den groessten
teil erledigt. ich weiss, dass es leute gibt, die das umgehen koennen, aber
das sind dann erstens nicht mehr sehr viele, zweitens findet man die auch
recht schnell heraus.

wurzel

p.s. ueber das balanceteam sag ich jetzt nichts weiter, meine meinung dazu
ist ja hinreichend bekannt.

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



Re^7: ratten (Matis,  6. Feb 2000, 23:51:39):
~#! rn=Wurzel rt=949867251 rg=d.unterwelt
~#! tid=949764499
1. Anatol hat eigentlich schon fast alles gesagt. Ich kann seinem
   Artikel nur zustimmen.

2. Die Balance ist ganz sicher kein schemenhafter Geheimbund, der 
   versessen versucht, den Spielspass im MG in die Knie zu zwingen.
   Vielmehr versucht das Team, wie der Name schon sagt, die Balance
   im MG in Bezug auf Objekte zu erhalten - so gut es moeglich ist.
   Dabei sind wir natuerlich keineswegs unfehlbar. Eine regerer
   Gedankenaustausch waere da sicher nicht die schlechteste Idee.
   Aber es sollte in einem _sachlichen_ Rahmen geschehen ...
   
3. Das Rattenblut in der alten Form war hoffnungslos uebertrieben. 
   Selbst nach der Aenderung ist es immer noch eine Klasse fuer sich.
   Mehr Details gibt es hier nicht, geht doch selber hin und seht 
   nach :o).
   

Gartenzwerg Matis

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



Re^6: ratten (Deepblue,  7. Feb 2000, 09:08:58):
~#! rn=Hood rt=949860523 rg=d.unterwelt
~#! tid=949764499
Wieso nicht bei vielen Metzlern ab und an nen Schlag danebengehen lassen, ist
doch im Alltagschaos auch ueblich. Wenn die Metzelkarawane sich dann eher
selbst pruegelt, wird sie ueberlegen, wie lange es sinn macht

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



Re^7: ratten (Foobar,  7. Feb 2000, 10:37:55):
~#! rn=Wurzel rt=949867251 rg=d.unterwelt
~#! tid=949764499
Moin.

Bei allem Respekt, Wurzel, diese Idee ist nicht praktikabel.

Ich mudde z.B. meist von unserem Uni-Rechner aus, der eine bestimmt Anzahl
(256 oder so) von Logins zulaesst. Wenn ich da eingeloggt bin und spiele, kann
sich kein anderer Mudder, der diesen Rechner benutzt, einloggen. Und das
faende ich sehr schade. 

Gruss,

     Foobar

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



Re^8: ratten (Humni,  7. Feb 2000, 11:33:28):
~#! rn=Foobar rt=949916275 rg=d.unterwelt
~#! tid=949764499
Aehem, ich als Mensch mit mehreren Zweities hab mal ein paar Fragen
zum Thema:

1. Ich habe nirgends gelesen dass es verboten ist, sich mit mehr als 
zwei Spielern gleichzeitig einzuloggen. Wenn ich da was ueberlesen habe,
sagt mir bitte Bescheid, unter hilfe zweitspieler finde ich da nichts.

2. Definiert bitte mal genau ,,Zweitiearmee''. Wenn ich mit drei Spielern
(die ja nicht im Team arbeiten koennen, weil als Zweities markiert) fuer
einen der drei ein Grubenungeheuet zwecks ZT toete, ist das dann eine
Zweitiearmee?? Ich hab daran bisher nichts verbotenes gesehen. Wozu
Karatezweitiearmeen toll sein sollen, kann ich sowieso nicht sagen,
da mein Karatezweitie irgendwie ne ziemliche Wurst ist. Aber das ist
ein anderes Thema...vielleicht trainiere ich ihn wirklich zuwenig.

OK, da ich beim Rattenblut nicht weiss, wovon Ihr redet, halte ich
da einfach meinen Mund.

Humni

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



Re^9: ratten (Boing,  7. Feb 2000, 11:35:32):
~#! rn=Humni rt=949919608 rg=d.unterwelt
~#! tid=949764499
Bei den sogenannten Zweitiearmeen ist es so, dass beispielsweise Spieler
A, B, C, D und E je einen Karatezweitie haben. Die Passwoerter sind allen
anderen Spielern bekannt so dass bei Bedarf JEDEM 5 Karatekas zur 
Verfuegung stehen, die aber nicht auf den eigenen Charakter markiert
sind.
  Boing

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



Re^10: ratten (Spellfire,  7. Feb 2000, 19:11:36):
~#! rn=Boing rt=949919732 rg=d.unterwelt
~#! tid=949764499
Soderle da ich ja auch einer der Rattenblutbetroffenen bin moechte ich auch
mal
meinen ersten Artikel inne Mpa setzen.

1. Find ich den Zeitpunkt der Abwertung auch viel zu Spaet, keine Ahnung wie
lange es denn Skill schon gibt, aber bestimmt nicht erst nem halben Jahr. Und
nen Skill erst abzuhaengen wenn ihn 5 Leute gemaxt haben find ich ziemlichen
Muell, waeren es nur 4 gewesen waer das ok gewesen? Oder ab wann waren es
zuviel?

2. Die 315 Lps die ich nun seit nem Monat geniessen konnte haben das Spiel
auch
nicht wesentlich geaendert, man haut zwar jetzt mehr leichte Monster pro
Tankeinheit um, steht aber nicht wesentlich laenger bei den grossen drin und
hat meist
das Pesch das man so als letzter drin steht und noch ne saftige Runde
kassiert,
so dass ich auch schon gestorben bin weil ich soviele Lps hatte. Und nach
jedem
Tod die Pararattenkoenigin zu killen ist auch ziemlich nervend....

3. Die Rattenkoenigin ist eigentlich so das einzige Monster bei dem ich
wirklich mit 3 Zweities gleichzeitig gekaempft habe. Ich waere deshalb auch
dafuer nur einen oder zwei Charactere maximal gleichzeitig einloggen zu
duerfen.

4. Es ist ja sehr nett das darauf geachtet wird das die Spieler nicht zu stark
werden, aber wie sieht das eigentlich mit den NPCs aus, fuer die scheinene ja
immer mehr skills erfunden zu werden, die nie einer testet, so koennen die
jetzt schon den Teammodus aufheben....Weiterhin ist mir ja auch zu Ohren
gekommen, das Magier ihre eigen Gildenbalance in ihren Monstern eingebunden
haben. Somit ist fuer mich die Existenz eines Balanzegremiums eh ad absurdum
gefuehrt.

5. Wer Reschtschreibefehler findet darf sie behalten.

6. Ja ich heule

7. Liebe ich Magierwillkuer

8. Bin ich so wenigstens geheilt worden und weiss was ich mit meiner Zeit
besser anfangen kann als hier irgendwelche stupiden Skills hochzuueben.

9. werde ich das MG nun auch als Chat mit verbesserten emotes ansehen.

10. Wuensch ich euch noch allen viel Spass


Gruesse Spellfire

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



Re^11: ratten (Gnome,  7. Feb 2000, 19:27:08):
~#! rn=Spellfire rt=949947096 rg=d.unterwelt
~#! tid=949764499
ich kann dich voll und ganz verstehen, spelli.
besonders mit punkt 2 hast du recht, aber es gibt balance-mitglieder, die
halt nur die LP-zahl sehen und immerhin nach 2 jahren anfangen zu schreien.
immerhin.
wozu eigentlich noch skills ueben? die werden eh frueher oder spaeter
abgewertet. so geschehen mit robins pfeilen und dem warok.
und ich wette, wenn jmd kampfbrot gemaxt hat (schon geschehen?), wird
der auch abgewertet.
und ich frage mich in darkwings sinne, warum es monster geben darf, die
team-modus aufloesen koennen? dauert das auch 2 jahre, bis da was gemacht
wird?
matis: das rattenblut ist fuer DEN aufwand keinen pfifferling mehr wert.
die wenigsten haben 3 seher-2ties mit den noetigen skills und erfahrung
dafuer.

gnOme boykottiert nun 17 NPCs

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



Re^12: ratten (Anatol,  7. Feb 2000, 20:59:16):
~#! rn=Gnome rt=949948028 rg=d.unterwelt
~#! tid=949764499

Ja doch, natuerlich. Der Zeitpunkt der Abwertung war viel zu spaet. Da
herrscht Konsens, absolut. Aber bitte: Das Balance-Gremium existiert in
der jetzigen Art erst seit Ende '98, das Rattenblut ist wohl aelter. 
Und ja, damit ist es schon VIEL zu lange im Spiel und haette viel zu 
lange effektiv genutzt werden koennen - wurde aber nicht, der damalige
"Held" ging wegen Diploms in Spielpause, und damit fiel das auch lange
nicht auf. Wenn Patryn bei Anschluss schon wusste, dass das nicht so
bleiben darf, ist der Schwarze Peter meiner Meinung nach SEINE Karte,
denn nur weil die Balance etwas genehmigt, darf der Regionsmagier die
Augen nicht zukneifen. Und wenn jemand der Balance ("mail balance")
Bescheid gegeben haette, waer schon frueher etwas passiert. Man kann
das B-Team naemlich auch in Zugzwang bringen. Dafuer sind sie ja da ;)

So.
Ich weiss jetzt nicht, ob ich lachen oder weinen soll. Oh, natuerlich,
das System hat Loecher. Denn einerseits zwingt man jede Waffe, jede
Ruestung, jedes Tool mit Kampfnebenwirkung, jeden Hilfsnpc, jede 
Stelle, die Alkohol/Essen/Trinken abbaut durch den harten Weg der
Balance, andererseits aber haben Regionsmagier freie Hand ueber ihre
Regionen und koennen z.B. ewige Heilstellen nach Gutduenken verteilen.
Oder eben NPCs mit richtig tollen Spells - sei es nun ein "200LPs-weg-
Flaechenspell", ein Aufloesen des Teamkampfes oder ein Versteinern
fuer die naechsten 24 Stunden. ABER dass sich jetzt hier AUSGERECHNET
Leute beschweren, die dieses Spiel *mitspielen*, die, anstatt dem ent-
sprechenden Magier via Mail deutlich zu machen, dass das, was er da
entworfen hat, Oberscheisse ist (ok, es darf diplomatischer sein), 
lieber den Killstup mit illegalen oder zumindest stark anzuzweifelnden
Mitteln 'erarbeiten' und den Erfolg geniessen, da zucken dann doch 
einige Gesichtsmuskeln.... *seufz*

Wie aber das Problem loesen? Zum einen brauchen, denke ich, Magier
Feedback. Wenn ein Monster fehlkonzipiert wurde, ein Feature, B-Team
hin oder her, jeseits von Gut und Boese ist, dann ist der Magier,
der das erschaffen hat, der erste, der das erfahren sollte.
Beim Gedanken daran, dass den Magiern noch mehr Balance-Gremien
an den Hals gekettet werden, vergeht mir ein wenig die Lust am 
Magierwerden. Wenn man jedes Monster, das potenziell mehr als zwei
Stupse geben wuerde, abnehmen lassen muesste (Mh, was sind eigentlich
Wims Kompentenzen als Erzmagier fuer NPC-Balance auf diesem Gebiet?), 
jede Heilstelle der Heilstellenbalance vorlegen muss, jeden Raum, der 
mehr als nur eine Tuer zum auf- und zumachen hat,... Schauerlich. 
Witzigerweise gibt es aber eine Instanz, die genau fuer diesen Kram 
defacto zustaendig ist: Sie heisst "Regionsmagier". Autsch ]:^)


Es ist beruhigend, dass Bendeigid die Hauptschuld bei den Magiern 
sieht, aber liegt sie denn wirklich da? Letztenendes kaempfen hier 
auch viele Magier um Lob und Anerkennung, also um jene Zuckerle, die 
jeder Mensch zum Leben braucht. Solange wir Spieler diesen Magiern 
vermitteln, dass sie das groesste Zuckerstueck fuer tolle Waffen/
Ruestungen/etc. erhalten und das Spiel (und sei es mit der Gewalt 
ungemeldeter Bugs, offensichtlich zu starker Gildenfaehigkeiten oder 
6 Karatekas) mitspielen, werden bei der Objektbalance weiterhin ab-
gefahrene, "best-of-balance"-reife, Antraege eintrudeln. Und die 
Dinge, die NICHT von einem regionsunabhaengigen Gremium beaeugt 
werden, werden weiterhin eskalieren - wie die 'Herausforderungen'.

Wir sind alle nur Menschen.
Spieler wie Magier.

Anatol


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



Re^10: ratten (Householder,  7. Feb 2000, 21:03:32):
~#! rn=Boing rt=949919732 rg=d.unterwelt
~#! tid=949764499
ph
dann ist es aufgabe der exekutive dieses muds dies nachzuweisen und
entsprechende sanktionen zu ergreifen ganz einfach ...  beim proggen/aendern
von npc's von solchen 2tiekarawanen auszugehen ist doch schwachsinn

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



Re^13: ratten (Gnome,  7. Feb 2000, 21:17:39):
~#! rn=Anatol rt=949953556 rg=d.unterwelt
~#! tid=949764499
es ist nicht wirklich dein ernst, wenn du sagst, dass einerseits RMs
ihre endlos-heilstellen in ihrem gebiet plazieren koennen, wie sie lustig
sind, andereseits du aber anweifelst, ob die schuld wirklich bei den
magiern liegt?
jetzt weiss ICH nicht, ob ich lachen oder weinen soll.

ja, es waere stressig, jedes neue monster durch eine extra NPC-balance
zu bugsieren um den magier dann in seine schranken zu weisen.
aber genau dort liegt der ansatz.
da manche magier ihrer NPCs nicht selbst vernueftig gestalten koennen,
muss dann freundlicherweise die NPC-balance nachbessern.
denn wo es keinen grund fuer 2tie-armeen oder bug ausnutzen gibt, dort
wird auch nicht beschissen (wieso sollte man den DG mit seiner 2tie-armee
killen?).

gnOme

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



Re^12: ratten (Matis,  7. Feb 2000, 23:44:50):
~#! rn=Gnome rt=949948028 rg=d.unterwelt
~#! tid=949764499
Richtung Gnome, Spellfire:
Wenn es angeblich das _Spielen_ (jaja, darum gehts immer noch) im
MG nicht wesentlich veraendert hat, wenn man ploetzlich 315 statt 
210 LPs hatte (Zwerge hatten noch mehr), und man sogar deutliche
Nachteile dadurch hatte, dann frage ich mich doch, warum dieser
Skill dort mit solcher "Manpower" und solchem Aufwand geuebt wurde,
und warum jetzt ein Aufschrei der Empoerung umgeht, wo sich doch gar
nichts "wesentlich" geaendert hat? 

Richtung alle Aktiven:
Da die 2tie-Diskussion ueber mehrere Rubriken verstreut ist, gebe ich
mal hier meinen Senf dazu.

Die Karategilde selber kann kaum was dafuer, dass sie hier zu einem
Hauptpunkt der Diskussion geworden ist. Abhaengen oder radikal aendern
ist totaler Quatsch!
Auch die Idee, max. einen 2tie pro Gilde zuzulassen,
halte ich nicht fuer besonders gut. In anderen MUDs gibt es 
Beschraenkungen der 2tie-Zahl pro Spieler (max. ein 2tie im Silberland
zB glaub ich), aber so etwas wuerde der Gildenvielfalt und damit der
Vielfalt des Spasses im MG nicht gerecht. Persoenlich finde ich die
Idee ueberlegenswert, dass eine RL-Person max. 2 Charactere gleichzeitig
eingeloggt haben darf. Meinetwegen kann er dann sogar mit diesen anstellen
was er will. Inwieweit eine solche Regel kontrollierbar ist, das steht auf
einem anderen Blatt.

Ich hoffe aber doch, dass wir uns alle hier einig sind, dass Teammetzeln 
mit 4, 5 vom gleichen RL-Menschen gelenkten Characteren ganz und gar nicht 
im Sinne des Spiels im MG ist. Das sollte einem schon der eigene 
Menschenverstand sagen (oder Zwergenverstand in meinem Falle ;o).


Gartenzwerg Matis

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



Re^13: ratten (Gnome,  8. Feb 2000, 00:10:07):
~#! rn=Matis rt=949963490 rg=d.unterwelt
~#! tid=949764499
nunja, viel interessanter - zumindest fuer zwerge - waren die MP.

und ja, 315 LP statt 210 veraendern das spiel nicht allzu sehr.
man muss pro monster weniger tanken und man stirbt durch die hoehere
vorsicht vielleicht nicht so oft. aber stehen kann man den weghier
deshalb noch lange nicht, und ein zap von nars bleibt auch mit 363 LP
ein zap.

gnOme

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



Re^14: ratten (Vector,  8. Feb 2000, 09:35:23):
~#! rn=Gnome rt=949965007 rg=d.unterwelt
~#! tid=949764499

Man sollte vielleicht nochmal sagen, dass der Rettenskill nicht weg ist, 
sondern "nur" (man verzeihe mir dieses Wort), die max-lps/mps deutlich
nach unten korrigiert wurden.
Jedoch finde ich, dass der Skill immer noch SEHR gut ist, und es sich immer
noch lohnt, sich selbigen "anzueignen"... ich werde das jedenfalls machen,
sofern ich bis dahin noch meine Zweitie-Armeen einloggen darf:)

--Vector--

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



Re^14: ratten (Boing,  8. Feb 2000, 09:55:06):
~#! rn=Gnome rt=949965007 rg=d.unterwelt
~#! tid=949764499
Und es ist natuerlich auch kein Unterschied, ob der Weghier einen
Todesstoss ansetzen kann, weil die LP niedrig sind oder ob man einfach
die Vorsicht um 100 Punkte hoeher setzen kann.
Erzaehl doch bitte keinen solchen Mist.
  Boing

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



Re: Re: ratten (Spellfire,  8. Feb 2000, 10:40:04):
~#! rn=Gnome rt=949773524 rg=d.unterwelt
~#! tid=949764499
Mir scheint es das sich bei der ganzen Sache ne Menge Leute von den >300 Lps
blenden lassen,es hat einige Vorteile, so z.B. das seltenere Tanken, oder die
Vorsicht 200 beim Weghier. Wenn man nun aber glaubt das man jetzt jedes
groessere Monster einfach wegzapt oder so, der hat sich leider getaeuscht.
Ich wuesste eigentlich nur mal gerne ob sich die Balance mal die Muehe gemacht
hat und mal einige Stunden mit > 300 Lps herumzulaufen und zu schaun, ob man
nun wirlich so einen exorbitanten Vorteil hat.
Fuer 100 Lps wuerd ich den Skill wahrscheinlich doch wieder hoch ueben, weil
man sich schon darangewoehnen kann, fuer 45 Lps auf gar keinen Fall, da lohnt
sich nicht mal das einmalige killen der Pararatten. Ich hab auch so bis jetzt
alle grossen Monster gekillt, und das mit 210 Lps.
Zum Procedere haette ich mir gewuenscht, das man vielleicht die 5 Spieler mal
angesprochen haette um mit ihnen darueber zu reden. Man haette dann ja auch
mal
andere Wege diskutieren koenne, so z.B. das der Bonus nur 5 Onlinestunden
haelt oder so, so dass man dann geziehlt mal mit den LPs metzeln kann ...
Ist wohl aber auch nur Wunschdenken. Deshlab bin ich dafuer die Skill ganz
abzuhaengen, das mit den 45 LPs ist eher eine Farce...

Zuden NPCs kann ich nur sagen, das ich mich im Endeffekt freue wenn die
Monster
immer fieser werden, sollen ja schliesslich auch Herauforderungen sein. Der
mei
ste Spass macht mir halt eben Wege zufinden wie man mit Moeglichkeiten die
einem das MG gibt die Monster zu killen. Und der Trend geht ja auch schon
eindeutig hin, das Monsterkillen heute genauso aufwendig ist wie Quests
zuloesen, viele Monster gehen heute eh nimmer mit der Bruteforce Methode
sprich
15 Zweities rein und abwarten.

Hochachtungsvoll Spellfire

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



Re^14: ratten (Panic,  8. Feb 2000, 11:00:46):
~#! rn=Gnome rt=949965007 rg=d.unterwelt
~#! tid=949764499
Ich hab das Rattenblut mit Darkwing genutzt und kann dazu nur sagen dass
gerade der LP-Bonus jenseits von gut und boese war.
Als Kaempfer so gut wie nie in den Bereich zu kommen wo sich die Fehlschlaege
nur noch haeufen, bei starken Monstern mal Vorsicht 190 nehmen koennen... das
hatte was. 
Ich habs genutzt solang ich konnte, dass sich da frueher oder spaeter etwas
aendert war eigentlich keine Frage.

Darkwing

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



Re^16: ratten (Baboon,  8. Feb 2000, 11:04:45):
~#! rn=Spellfire rt=950001493 rg=d.unterwelt
~#! tid=949764499
Erstmal: Spellfire, deine Leertaste ist putt.

Zum Thema denke ich, dass die balance-Magier nicht
zu restriktiv vorgehen sollten. Ein Item so abzuwerten,
dass es praktisch nutzlos wird ist natuerlich Unfug.
Im Fall des Rattenbluts denke ich aber, dass es wirklich
zu stark war. Sicherlich, bei High End Monstern hat man
auch mit Rattenblut keine uebermaessig verbesserten
Chancen, allerdings darf man auch nicht vergessen, dass
die Mehrzahl der Spieler wahrscheinlich nicht mehr als
einmal zu so einem Monster hinkommt (und danach bei Lars
vorbeischaut). Fuer solche Spieler, die hauptsaechlich 
mittelstarke Gegner angreifen ist das Rattenblut allerdings
spitze. Wer von den Mittelklassespielern allerdings kommt
auf normalem Wege an Rattenblut? Doch wohl keiner. Fuer
mich ergeben sich daraus drei Schlussfolgerungen:

1. Das "neue" Rattenblut ist eine super Sache fuer mittlere
   Spieler. Allerdings ist es bei der ParaRattenkoenigin
   denkbar falsch untergebracht.

2. Die Abwertung des Rattenbluts ist nicht die Ursache fuer 
   irgendetwas. Wenn hier lamentiert wird, dass man fuer
   manche Monster unbedingt Rattenblut braucht, macht das
   bloss deutlich dass diese Monster einfach unverschaemt
   stark sind. Wenn sich die zustaendigen Magier nicht
   ueberzeugen lassen sie abzuwerten, muss man die Monster
   dann halt meiden.

3. Die Behauptung "Das Rattenblut war ja gar nicht sooo toll"
   kann eigentlich nur von einem Hochleistungsmetzler kommen,
   der gar nicht mehr wahrnimmt, dass die monster die er
   erledigt eigentlich kaum zu schaffende Halbgott (oder besser)
   -Kreaturen sein sollen. Stichwort: Ruestungsspirale.
   Erinnert sich hier vielleicht noch jemand daran, dass die
   Hydra mal _das_ Monster ueberhaupt war? Zu der Zeit, als
   die Liste der Hydratoeter wirklich noch kurz war?
   Zurueck zu dieser Zeit will von den Magiern wohl kaum jemand, 
   aber irgendwann ist der Punkt erreicht, wo ein Monster nicht
   mehr staerker werden kann, ohne einen direkten zap
   auszufuehren. Das Rattenblut musste also abgewertet
   werden, um einen Spielraum zur Maximalgrenze zu halten.

BaBOOn()

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



Re^17: ratten (Vector,  8. Feb 2000, 11:07:46):
~#! rn=Baboon rt=950004285 rg=d.unterwelt
~#! tid=949764499
Sicher ist das neue Blut klasse fuer mittlere Spieler (auch fuer alle
anderen).
Aber: Welche mittlere Spieler -was imemr das auch ist- kommt an das Blut ran??

--Vector--

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



Re^18: ratten (Baboon,  8. Feb 2000, 11:13:37):
~#! rn=Vector rt=950004466 rg=d.unterwelt
~#! tid=949764499
Sag ich doch: Es ist fuer mittlere Spieler Klasse. Aber die kommen
nicht ran. Das allerdings ist nicht die schuld der Balance,
sondern die desjenigen, der programmiert hat.
Mittlere spieler sind fuer micht uebbrigens die unteren
Seherraenge

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



Re^19: ratten (Tiamak,  8. Feb 2000, 11:14:39):
~#! rn=Baboon rt=950004817 rg=d.unterwelt
~#! tid=949764499
Wenn das neue Rattenblut nur noch fuer "mittlere Spieler" taugt, frage ich
mich ernsthaft, warum Boing die Statringe nicht schleunigst abhaengt.

Welcher Anfaenger gibt sich schon noch mit Ausdauer+4 ab?

Tiamak

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



Re^3: ratten (Anatol,  8. Feb 2000, 11:16:29):
~#! rn=Spellfire rt=950002804 rg=d.unterwelt
~#! tid=949764499

Hallo Spellfire,
nein, die Balance machte sich nicht die Muehe, mit einem gesetzten
100%-Skill und 350-410 LPs herumzulaufen und zu metzeln. Irgendwie
hat "die Balance" auch so viel Fantasie.

Ich fuer meinen Teil allerdings kam letztens (huhu Ark :^)) in den 
zweifelhaften Genuss von Ausdauer 20+8 und habe so mit 266 LPs ge-
metzelt wie ein junger Gott.
Natuerlich hast recht: Ob Du bei Nars mit 200 oder 500 LPs gezappt 
wirst, macht wohl kaum nennenswerten Unterschied. Aber wenn Du bei 
einem "normalen" anspruchsvollen Monster 5 statt 3 Runden nach dem
Reinhasten ohne unvorsichtiger zu werden stehenbleiben kannst, ist
das ein *Plus* an potenziellen Schaden von ueber 200%, was natuer-
lich auch fuer die Zauberertechnik 'Combination of Death' herrlich 
ist.

Tut mir wirklich leid, Spellfire, aber verlierst Du vielleicht vor 
lauter Nars und Muspelheim nicht etwas den Blick fuer den Rest der 
virtuellen Realitaet? :)

Anatol


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



Re^3: ratten (Hood,  8. Feb 2000, 11:29:01):
~#! rn=Spellfire rt=950002804 rg=d.unterwelt
~#! tid=949764499
ich bin zwar auch der meinung, dass die herabsenkung auf 45 nen witz ist
fuer den aufwand, aber abhaengen...noe...das hat nen haufen arbeit gemacht
und gehoert nun mal zu den ratten.
evtl. ueberlegt man sich das ja noch mal fuer die spellpoints, denn
fuer +45 gibts da wirklich einfachere sachen. dann lohnt sich evtl. auch
der skill wieder, keine frage: das blut fuer die lebenspunkte ist nun
eher ueberfluessig, aber auch nur eine seite des items.

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



Re^13: ratten (Samtpfote,  8. Feb 2000, 11:31:57):
~#! rn=Matis rt=949963490 rg=d.unterwelt
~#! tid=949764499
Ich kann da nur Matis zustimmen, dass woanders 'haertere' Regelungen
hinsichtlich Zweities sind (SL erlaubt tatsaechlich nur einen zweitie, und das
insgesamt). Anwendbar ists eben fuers MG nicht, da meiner Meinung nach das zu
restriktiv ist und hier andere Sachen gelagert sind.

Was die maximalen LP betrifft: meine ach so geliebten (*g*) Felinen kommen
seit jeher mit 'nur' 194 LP maximal aus und hat sich schon jemand da
aufgeregt, dass das 'zuwenig' ist?

Eigentlich sollte man - wenn neue Spielregeln aufgestellt werden - auch dafuer
gesorgt werden, dass da sie ohne Wenn und Aber, Freunderlwirtschaft auch
ausgefuehrt werden, sonst sind sie ja eh fuer die sprichwoertliche Katz'

Samtpfote. 


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



Re^19: ratten (Hood,  8. Feb 2000, 11:33:23):
~#! rn=Baboon rt=950004817 rg=d.unterwelt
~#! tid=949764499
so ein quark...die ratten mit all ihren tricks und gemeinheiten und das
rattenblut bilden eine einheit. nur weil das blut unangemessen stark
abgewertet wurde (eine abwertung war aber noetig, keine frage),
kann ich es nicht irgendeinem was_weiss_ich_monster andrehen.
die meisten leute, die ueber das rattenblut diskutieren, oder
auf den ratten als monster rumhacken, oder die an der abwertung beteiligt
waren, haben bisher entweder gar keine ratte zu gesicht bekommen oder
dort keine besonders ruehmliche figut gemacht.
die leute, die sich extensiv mit den tierchen beschaeftigt haben,
sind recht schnell zu der meinung gekommen, dass jeder tod auf die
eigene kappe ging und nicht auf irgendwelche unvorhersehbaren zaps.

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



Re^20: ratten (Puk,  8. Feb 2000, 11:40:27):
~#! rn=Hood rt=950006003 rg=d.unterwelt
~#! tid=949764499
okok, von mir auch mal was :)
Ich find die Abwertung des Blutes auch etwas heftig, obwohl mein skill
vielleicht gerade mal bei 2% (?) liegt :)
Da finde ich den Vorschlag von Spellfire das ganze Zeitlich zu begrenzen
sinnvoller.
Wenn man dann wirklich mal etwas groesseres Metzeln will, lohnt sich das ganze
eben noch die Ratten eben vorzuziehen und dann die grosse Metzelei zu starten.
Ich fand den Skill wie er bis jetzt war auch recht Heftig, da er vorallem
gerade eigentlich nur durch diese Zweitiarmeen zu erreichen ist. Ansonsten
gibts nach dem Kill die ersten netten diskussionen "Wer trinkt und wer trinkt
nun nicht ?".
Gerade dieser Frage ist man doch ausgewischen indem man seine Zweitiarmee zum
Einsatz gebracht hat.

Puk macht nur ne Anregung zum Nachdenken in nem thread der eh schon zu lang
ist ;)

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



Re^21: ratten (Golas,  8. Feb 2000, 11:49:58):
~#! rn=Puk rt=950006427 rg=d.unterwelt
~#! tid=949764499
bei zeitlicher begrenzung wird aber die 2tiearmee wieder gefoerdert ...
also nicht zu knapp bemessen, dass man die ratten evtl 2 oder sogar 3 mal
machen kann, damit man danach auch noch zu dritt metzeln gehen kann.

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



Re^21: ratten (Mahatma,  8. Feb 2000, 12:13:04):
~#! rn=Puk rt=950006427 rg=d.unterwelt
~#! tid=949764499
Zeitliche Begrenzung ist Mist, dafuer lohnt sich der Aufwand erst recht nicht.
Am Anfang war es sogar zeitlich begrenzt (wenn man keinen Spieler im
Rattenraum stehenliess, was insbesondere bei den Pararatten nicht praktikabel
war), und damit war es eigentlich unbrauchbar. Im uebrigen ist ein Zwerg mit
Ausdauerring und +45 LP meiner Meinung nach immer noch nicht zu verachten.

Mahatma

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



Re^22: ratten (Bendeigid,  8. Feb 2000, 15:44:09):
~#! rn=Mahatma rt=950008384 rg=d.unterwelt
~#! tid=949764499
Meiner Meinung nach ist ein Zwerg mit +45 LP zu verachten, und der Magier
gleich mit.
Habt ihr eigentlich alle noch irgenwelchen Bezug "nach unten"? Gehts euch noch
gut? "plus 45 LP ist ein Witz" Ja, das sind 25 %!!! Ich renn gleich zu meiner
Chefin und will eine unbedeutende Gehaltserhoehung um 25%, ist ja nur ein
Witz!

Selbstbegrenzung ist der Punkt, grade bei Magiern. Spieler und die Handvoll
HLP, um dies hier geht (wie viele schaffen die Ratten? 5? 10? Nicht viel mehr
jedenfalls) muss man sauber trennen. 

Z`par Servu,
       Bendeigid

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



Re^23: ratten (Hood,  8. Feb 2000, 15:51:17):
~#! rn=Bendeigid rt=950021049 rg=d.unterwelt
~#! tid=949764499
die meisten leute haben 0 plan vom handling des blutes,
+45 hp rattenbonus sind nich einfach gleich +5 stats hp,
selbst mit maxskill bleiben von den 45 effektiv nicht viel ueber, wenn
man die ratten nich nach jedem kampf neu machen moechte, denn es gibt
auch bei maxskill eine grenze >>0, die man nicht unterschreiten sollte,
damit die wirkung nicht abklingt.
bei +45 spellpoints wirds gar ganz albern, effektiv hat man bei maxskill,
das heisst nach unsaeglich vielen rattenkills nebst toden, maximal ein
verletze mehr, wenn man nicht gefahr laufen will, den bonus zu verlieren.
diverse umhaenge, ringe und was weiss ich bieten da nicht nur mehr, sondern
sind auch klar leichter zu besorgen und sind einfacher und ungefaehrlicher
im handling.
ein abklingen des spellpointbonus kostet niuch unwesentlich viele hp, was
auch toedlich sein kann, abklingen des hpbonus kostet nicht wenig
spellpoints, ok das kann man verschmerzen.
auf jeden fall ist die 45 nen witz, egal ob bei hp oder sp.
man muss auch die nachteile und den beschaffungsaufwand sehen, und nich
milchmaedchenrechnungen ala: ich hatte ausversehen +8 stats und fuehlte
mich toll. das ist ueberhaupt nicht vergleichbar, schon weil stats
ungleich mehr auswirkungen haben, als nur hp und sp zu erhoehen.

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



Re^23: ratten (Lyra,  8. Feb 2000, 16:25:11):
~#! rn=Bendeigid rt=950021049 rg=d.unterwelt
~#! tid=949764499
Wie waere es mal mit enem Extra-Bonus (so ca. 50 LPs) fuer weibliche Kaempfer?

Lyra koennte daran gefallen fidnen, auch wenn sie noch keine ratte getoetet
hat

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



Re^24: ratten (Anatol,  8. Feb 2000, 16:32:17):
~#! rn=Hood rt=950021477 rg=d.unterwelt
~#! tid=949764499
Erklaere mir und meinem Milchmaedchen, in was das Attribut "Ausdauer" 
denn noch einfliesst, wenn nicht nur in die Lebenspunkte. Sollte
Dir da Relevantes einfallen, sieht mein Milchmaedchen gerne ein, 
dass man "+8 Ausdauer" und "+56 LPs" nicht vergleichen kann.

Des weiteren sind die "+45" LPs natuerlich additiv, d.h. man kann 
trotzdem zusaetzlich Ringe/Traenke/sonstwas benutzen, wie gehabt.

Wenn Du Dir der Staerke eines Sicherheitspuffers wie diesem nicht
bewusst bist, ist das ein ernstes Anzeichen dafuer, dass Dir Tode
scheissegal sind - und dann daran wohl noch etwas geschraubt werden
muesste. Nach unten. In die richtig eklige Zone. Dorthin, wo es weh
tut. Ja, SO weit runter, dass Du lieber einmal die Ratten killst 
statt zu sterben.

Anatol

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



Re^25: ratten (Heromcfly,  8. Feb 2000, 16:34:51):
~#! rn=Anatol rt=950023937 rg=d.unterwelt
~#! tid=949764499

denk an deinen blutdruck anatol :)
willst du nu alle fuer etwas bestrafen was fakt nur ne handvoll leute wirklich
kratzt ?
das n ganzer arsch voll leute mitreden ist normal aber diese diskussion
derartig 
aufzublasen ist unnoetig denk ich :)

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



Re^26: ratten (Heromcfly,  8. Feb 2000, 16:35:31):
~#! rn=Heromcfly rt=950024091 rg=d.unterwelt
~#! tid=949764499

und irgendwann erwisch ich den kobold der mir immer den umbruch verhunzt :=


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



Re^25: ratten (Hood,  8. Feb 2000, 16:37:38):
~#! rn=Anatol rt=950023937 rg=d.unterwelt
~#! tid=949764499
da ich mehrere gilden kenne, sind mir diverse vorteile von
staterhoehungen statt den indirekten erhoehungen von lp und sp sehr
wohl bekannt, sollten sie dir nicht bekannt sein, dann solltest du dich
dringend darueber informieren, ein gefaehrlicher mangel im
kkwer
balancegremium.
hast du jemals die ratten selbst gekillt? die schere zwischen
abklinglevel und bonus ist derzeit albern, da kannste diskutieren wie
du willst. das macht effektiv +gar nichts, denn die vorsicht kann man
nicht erhoehen, wenn man den bonus nicht gefaehrden will.
und sterben tut sichs bei den pararatten bestimmt genauso leicht wie
bei irgendeinem anderen monster, nix mit sicher.
deinen letzten kommentar kapier ich nich.

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



Re^15: ratten (Gnome,  8. Feb 2000, 16:58:50):
~#! rn=Boing rt=950000106 rg=d.unterwelt
~#! tid=949764499
ich schrieb:
'...und man stirbt durch die hoehere vorsicht vielleicht nicht so oft.'
erst lesen, dann schreiben. wie immer.

mir sind die vorteile einer hohen LP-zahl durchaus voll bewusst.
aber gewisse leute hier, hallo anatol & co., sehen immer nur die eine seite 
der medallie. sooo viele LP/MP? das verbietet sich eigentlich von selbst!
ich erwaehne hier den von hood angesprochenen effektiv-skill mit der zu
knappen schere.
der arbeitsaufwand, um den skill _einigermassen_ sinnvoll einzusetzen, liegt
etwa bei 80x ratten killen. wirklich, fast ein kinderspiel.

nebenbei gesagt, trainiere ich den skill genau fuer muspelheim, ele-ebenen
und etwaiges, anatol. fuer das drachenbaby oder den sandtiger reichen auch
meine std-LP grade so. hoffe ich zumindest.

wenn ich wirklich 45 LP mehr haben will, nehm ich mir nen ausd+2 ring und
lass mich segnen. wer nimmt schon nen +4 ring, mahatma?
wenn ich 45 MP mehr haben will, dito.

und wer sich nen felinen zuechtet und sich anschliessend ueber die LP
beschwert, ist selber schuld.

gnOme

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



Re^22: ratten (Tarina,  8. Feb 2000, 17:20:11):
~#! rn=Golas rt=950006998 rg=d.unterwelt
~#! tid=949764499
Also das mit den Ratten und der Zweitiearmee kann man auch anders regeln:

Jeder, der ueber 5 % des Monsters gemetzelt hat, kann einen Anteil Rattenblut
trinken.
Aber nur den Anteil, den er gemetzelt hat. Nicht mehr.
Das bedeutet mit Sicherheit, dass der Skill langsamer waechst. Aber vielleicht
erhalten
ihn auf diese Weise mehr Leute. Und es wuerde das 'miteinander' metzeln
deutlich foerdern.

Nur eine Idee. Mit Sicherheit fuer den Magier arbeitsintensiv aber ich faende
es ausgesprochen ungewoehnlich und anziehen.

Mir haben die Ratten uebrigens Spass gemacht bisher (auch wenn ich da schon
mal gestorben bin).

Tarina

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



Re^14: ratten (Neb,  8. Feb 2000, 19:00:07):
~#! rn=Gnome rt=949965007 rg=d.unterwelt
~#! tid=949764499
Gnome schrieb:

>und ja, 315 LP statt 210 veraendern das spiel nicht allzu sehr.
>man muss pro monster weniger tanken und man stirbt durch die hoehere
>vorsicht vielleicht nicht so oft. aber stehen kann man den weghier
>deshalb noch lange nicht, und ein zap von nars bleibt auch mit 363 LP
>ein zap.

Also Gnome, bitte, ja, von jeder anderen Gilde zieht diese Argumentation ja
noch vielleicht halbwegs, aber wenn Du nicht peilst, welchen Riesenvorteil es
_nur_ und wirklich _nur_ fuer einen Kaempfer hat, mit ueber 300 LP rumzulaufen
und im Kampf nie unter 150 LP zu sinken, dann solltest Du freiweillig auf
Deinen Generalsposten verzichten um am besten aus den Trves austreten.
Oder geh wenigstens noch einmal zu einem Eurer Ausbilder und lass Dir die
genaue Funktion der Faehigkeiten "schmerzen" erklaeren.

Gruss, Neb.

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



Re^15: ratten (Gnome,  8. Feb 2000, 19:09:47):
~#! rn=Neb rt=950032807 rg=d.unterwelt
~#! tid=949764499
danke neb, du hast gar nix verstanden.
ich hole mir nicht das blut, um einen gardewaechter totzuidlen.
bei den monstern, bei denen das blut den vorteil bringt, nicht gleich
gezappt zu werden, sondern doch mal 3 oder 4, vielleicht auch 5 runden
drinzustehen, hat es den nachteil, dass ich in der zeit, in der ich ja
ach so einen grossen vorteil ausspielen _koennte_, doch sehr begrenzt ist
und ich eigentlich nur zusehen kann, wie meine LP in 50 oder 100er-schritte
abnimmt.
aber DIESE erfahrung hast du ja bestimmt noch nicht gemacht, deshalb bleib
lieber bei den klerikern und metzel weiter daemonen, die dir nichts
anhaben koennen...

gnOme

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



Re^16: ratten (Neb,  8. Feb 2000, 19:15:54):
~#! rn=Gnome rt=950033387 rg=d.unterwelt
~#! tid=949764499
>danke neb, du hast gar nix verstanden.


Das Kompliment gebe ich doch gerne mal zurueck.

Also, nochmal ganz langsam:

Du bist ein Kaempfer. Wenn Kaempfer unterhalb einer gewissen Lebenspunktanzahl
sinken, fangen sie an, ihre Kampffaehigkeiten zu verlieren. Ja oder nein?
Wenn ein Kaempfer jetzt also ploetzlich viel mehr Lebenspunkte hat und seine
Vorsicht locker flockig auf 150 setzen kann, kommt er also nie mehr in die
Verlegenheit, durch 120 oder 150 abgezogene LPs in den Bereich des
schlechteren Kaempfens zu kommen, wie es sonst passiert waere. Oder?
Ich finde dass schon einen netten Nebeneffekt. Punkt.

Gruss, Neb.

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



Re^17: ratten (Heromcfly,  8. Feb 2000, 20:45:38):
~#! rn=Neb rt=950033754 rg=d.unterwelt
~#! tid=949764499

du sagst es nebeneffekt 
ab einem gewissen gildenlevel kratzt es einen kaempfer 
in der regel auch nicht mehr wenn seine le gegen 100 
gehen. wirklich spuren wird man es eh erst wenn mann
deutlich drunterfaellt und dann steht man in der regel 
eh schon in der tanke 
ich denke nicht das kaempfer einen wesentlich groesseren
vorteil daraus ziehen wuerden als andere gilden

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



Re^26: ratten (Anatol,  8. Feb 2000, 20:58:48):
~#! rn=Hood rt=950024258 rg=d.unterwelt
~#! tid=949764499
Ich muss das tatsaechlich richtigstellen: Patryn hat insofern Recht,
dass die Attribute - AUCH Ausdauer - in einigen Gilden eine gewisse
Rolle spielen. Wusste ich nicht (steht auch nirgends), aendert sich.

Anatol

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



Re^16: ratten (Tiamak,  8. Feb 2000, 21:27:23):
~#! rn=Gnome rt=950033387 rg=d.unterwelt
~#! tid=949764499
> bei den monstern, bei denen das blut den vorteil bringt, nicht gleich
> gezappt zu werden, sondern doch mal 3 oder 4, vielleicht auch 5 runden
> drinzustehen, hat es den nachteil, dass ich in der zeit, in der ich ja
> ach so einen grossen vorteil ausspielen _koennte_, doch sehr begrenzt ist 
[...]

Wie Du schon sagst: 3, 4 oder 5 Runden. 

Du weisst, wie hoch die Abzuege in den ersten beiden Runden sind? Du kannst
erahnen, wie gross der "ach so grosse Vorteil" ist, den 3-5 *zusaetzliche*
Runden ausmachen? Zuzueglich des geringeren Todesrisikos?

Entscheide Dich doch bitte endlich, was Du uns weiss machen moechtest. Auf der
einen Seite jammerst Du, wie gross die Abwertung ist - aber auf der anderen
Seite hat der Skill eigentlich auch in Originalstaerke kaum einen Unterschied
gemacht.

Ja warum ist das Geschrei denn dann so gross?

Ein "Ja, ich weiss wie stark <xyz> ist - aber ich faende eine Abwertung in
Form von <...> besser" klingt entschieden glaubwuerdiger und
verhandlungsfaehiger als ein "Eigentlich war <xyz> nie zu stark. Und ihr habt
es jetzt total ruiniert!".

Bei manchen Artikeln in diesem Thread frage ich mich wirklich, warum die Leute
sich ueberhaupt die Muehe gemacht haben, einen Skill zu ueben, der eigentlich
sooo wenig gebracht hat. 

Tiamak. Koennte fast Mitleid bekommen.

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



Re^18: ratten (Sharia,  9. Feb 2000, 12:06:38):
~#! rn=Jasper rt=950068754 rg=d.unterwelt
~#! tid=949764499
Jasper, es wurde schonmal erwaehnt aber hier nochmal:
Das Blut gibt es schon laenger als das Balance - Team und daher konnte man
darueber nicht nachdenken (zumindest nicht von Balanceteam - Seite)
Ausserdem kann es halt leider vorkommen, dass Dinge die mal angeschlossen
wurden und damals nicht fuer zu krass befunden wurden, einfach durch neue
Umstaende (seien es Gilden, Gegenden oder ergaenzende Gegenstaende) ploetzlich
unerwartet stark und maechtig werden. (damit ist jetzt nicht unbedingt das
Rattenblut gemeint)

Gruss Sharia


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



Re^20: ratten (Ark,  9. Feb 2000, 20:43:18):
~#! rn=Gloinson rt=950097647 rg=d.unterwelt
~#! tid=949764499
Hm, vielleicht das erste, Jammern?

Ich finde ja, dass den Nagern viel zuviel Aufmerksamkeit geschenkt wird.
Verstehe ich das jetzt eigentlich richtig, dass das Spielen einigen Leuten
keinen Spass mehr macht, weil die Biester nicht mehr das hergeben wie zuvor?
Oder allgemeiner, dass das, was man durch einen Skill mit 100% vorher
erreichen konnte, vermeintlich schlechter geworden ist?
Hm, da es eigentlich jeden trifft, verstehe ich die Aufregung nicht ganz, bin
halt doch schon mehr Magier als Spieler ;^) Wenn ich mal ehrlich sein darf,
finde ich 45 LP mehr, von denen hier die Rede ist, immer noch ganz schoen
massig, egal, wieviel Aufwand man reinstecken muss. Oder bin ich einfach nur
nicht mehr ganz up to date? Kann auch sein.
Naja, da bleib ich lieber bei meinen Quests, da ist die Kritik noch
vergleichsweise ertraeglich ... glaub ich.
Und jetzt wieder Ring frei.


              *** ARK * the * Magnificent ***


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



Re^22: ratten (Apsu, 10. Feb 2000, 16:19:51):
~#! rn=Golas rt=950006998 rg=d.unterwelt
~#! tid=949764499
Das Problem scheint mir zu sein, dass die Kombination anderer Gilden mit
Karatekas schlecht ist (fuer die Ratten :)). Wenn man jetzt die Ratten nur
noch mit begrenzter Anzahl Karatekas pro Team metzeln koennte, wobei
sichergestellt werden muesste, dass nur _ein_ Team zur Zeit die Ratten
plaetten darf (nach dem Motto wer zuerst kommt...), dann waere doch das
Problem geloest.  
Dumm waere nur die Benachteiligung vin richtigen karatekateams, aber da faellt
vielleicht auch jemandem was dazu ein.

My 2 Cents, Apsu

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



Re^23: ratten (Nonne, 10. Feb 2000, 16:23:00):
~#! rn=Apsu rt=950195991 rg=d.unterwelt
~#! tid=949764499
Das ist doch albern, so eine Regelung. Eine Verurteilung von Metzelteams, die
nicht von einem RL-Spieler pro Charakter gespielt werden ist da schon
sinnvoller. Da hapert aber an der Umsetzung :-(

Nonne.

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



Re^23: ratten (Hood, 10. Feb 2000, 17:04:31):
~#! rn=Apsu rt=950195991 rg=d.unterwelt
~#! tid=949764499
und wieder einer, der das problem nicht verstanden hat.
es kann nicht angehen, dass man in ruecksicht auf zweitiearmeen
programmieren muss oder die balance daran ausrichtet, wie leicht das mit
solch einem pulk ohne teilen geht.

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



Re^24: ratten (Ark, 11. Feb 2000, 20:48:25):
~#! rn=Hood rt=950198671 rg=d.unterwelt
~#! tid=949764499
Warum driftet die Diskussion eigentlich in Richtung "wie schwer ist es, das
Ding zu bekommen" ab? Es ging urspruenglich darum, dass die Balance
beschlossen hat, den Bonus zu beschneiden. Dazu ist es unerheblich zu wissen,
wie schwer es ist, da ran zu kommen. Bei der Genehmigungspflicht muss ich
jedenfalls nie sagen, wie schwer etwas zu erhalten ist, oder welche/-s Monster
als Wache dastehen. Dass ich es trotzdem tue, dient mehr dazu, das Gewissen zu
beruhigen, nicht dazu, die Balance zur Genehmigung zu bewegen.
Die Diskussionen ueber Zweitiarmeen ist auch muessig. Ich weiss, es gibt sie,
und als Magier lebe ich damit. Wenn einige Leute meinen, viele Karatekas
besitzen oder/und verleihen zu muessen, bidde. Wenn das Verleihen auffliegt,
wird der Charakter geloescht, da dem Missbrauch ein Tuerchen geoeffnet wurde.
Und wenn einem das immer noch nicht passt, dann kann man ja, wenn man schlecht
genug drauf ist, was dagegen programmieren ... auch wenn man damit in Kauf
nimmt, auch nicht Schuldige zu benachteilen.
So, mal wieder lange gefaselt ;^) Hatte wohl grade Diskussionsbedarf. Ist
jetzt gedeckt.


              *** ARK * the * Magnificent ***


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



Re^25: ratten (Nachtwind, 11. Feb 2000, 23:11:39):
~#! rn=Ark rt=950298505 rg=d.unterwelt
~#! tid=949764499
Ark wrote:

> und als Magier lebe ich damit. Wenn einige Leute meinen, viele Karatekas
> besitzen oder/und verleihen zu muessen, bidde. Wenn das Verleihen auffliegt,
> wird der Charakter geloescht, da dem Missbrauch ein Tuerchen geoeffnet
> wurde.

Darum geht's unter anderem, Ark. Verleihen von Charakteren o.ae. ist in diesem
Mud eben grade _nicht_ verboten. Abgesehen davon sind diese Charaktere
so ziemlich jedem bekannt. Wenn das mit Loeschung bedroht waere, gaebe
es die schon lang nicht mehr.
Solange keine offiziellen Sanktionen gegen Verleihzweities und das
Metzeln mit mehreren Charakteren beschlossen wurden, kann kein Magier
dagegen etwas machen. Nicht ohne sich (zu Recht) dem Vorwurf der Willkuer
auszusetzen.


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



Re^25: ratten (Morgonate, 12. Feb 2000, 16:59:53):
~#! rn=Ark rt=950298505 rg=d.unterwelt
~#! tid=949764499
Naja, was bei dem Rattenblut aber auch geschehen ist, so wie ich es verstanden
habe, dass die Mali, die es hatte, nicht veraendert worden sind. Also waere
ich dafuer, dass Boings +4 Ringe dafuer sorgen, dass ein anderes Stat um
mindestens 10 runtergehen? ;)
So langsam ist ja egal, das Blut ist beschnitten worden, von Leuten, die nur
die Boni gesehen haben, aber nicht die Mali. Und die das Rattenblut ueberhaupt
nicht kannten. 
Persoenlich finde ich es unschoen, wenn jemand "in Familie spielt". Aber es
ist ja nicht verboten, und hier herrscht ja die gaengige Meinung, was nicht
verboten ist, ist erlaubt. :(

Morgonate

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



Re^26: ratten (Tiamak, 12. Feb 2000, 17:19:31):
~#! rn=Morgonate rt=950371193 rg=d.unterwelt
~#! tid=949764499
Was moechtest Du uns mit diesem Artikel sagen?

a) dass Du sowohl das Rattenblut als auch die Abwertung nur aus der MPA
   kennst, aber eine Meinung dazu hast und Dich

b) trotzdem dafuer qualifiziert haelst, das komplette Balanceteam mal eben
   als unfaehig und/oder befangen zu verurteilen.

Genau solche wilden Anschuldigungen sind es, die die Stimmung hier so
freundlich gestalten.


Tiamak. Begeistert.

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



Re^26: ratten (Teddy, 12. Feb 2000, 19:22:27):
~#! rn=Morgonate rt=950371193 rg=d.unterwelt
~#! tid=949764499
Nur falls es dir nicht aufgefallen ist:
Auch die +4 Ringe sind vor einiger Zeit beschnitten worden.

Ansonsten finde ich es interessant, dass du offensichtlich genau weiss, was
mich/uns dazu bewegt hat, das Blut abzuwerten und das wir vor allem den Mali
nicht gesehen/gekannt haben.

Teddy, immer wieder beruhigt, wenn andere ihm sagen, was er gedacht hat.

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



Re^27: ratten (Padreic, 20. Feb 2000, 12:16:11):
~#! rn=Teddy rt=950379747 rg=d.unterwelt
~#! tid=949764499
Offenbar hat Euer Gejammer doch noch etwas gebracht, zumindest hat die Balance
das normalweltblut nun nochmal ein wenig aufgewertet...

Padreic

P.S.: Bitte entschuldigt das ich einige Artikel in der Rubrik loeschen musste,
aber es war kein Platz mehr fuer neue Artikel (in solchen Faellen fallen kurze
schmarrnartikel natuerlich als erstes der Zensur zum Opfer :o).

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



Re^28: ratten (Darkwing, 26. Feb 2000, 12:46:42):
~#! rn=Padreic rt=951045371 rg=d.unterwelt
~#! tid=949764499
So, Normalweltblut aufgewertet. Prima. Ist eh voellig nutzlos. Herzlichen
Dank.

Und dafuer das Paraweltblut stillschweigend wieder um 5 Punkte abgewertet. Ihr
habt sie ja nicht alle.

Darkwing reichts.

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



Re^29: ratten (Padreic, 26. Feb 2000, 13:01:13):
~#! rn=Darkwing rt=951565602 rg=d.unterwelt
~#! tid=949764499
Aeh Sorry das mit dem Parablut um 5 Pkt. geht ausnahmsweise nicht auf das
Konto der Balance. Die Anweisung des bteams hiess immer +45. Ich weiss nicht
wieso (ich haette schwoeren koennen es damals direkt auf +45 gesetzt zu haben)
aber aus irgendeinem Grund stand es neulich auf +50 und so habe ich dieses
wieder auf den vorgeschriebenen Wert gesenkt, da das ganze sonst mehr oder
minder illegal gewesen waere. 

Padreic *entweder verwirrt oder an kleine boese Kobolde glaubend*

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



Re^29: ratten (Bendeigid, 28. Feb 2000, 08:36:09):
~#! rn=Darkwing rt=951565602 rg=d.unterwelt
~#! tid=949764499
Was bitte soll das heissen? "Ihr habt sie ja nicht alle"? Auf wen bezieht sich
das? Auf Padreic, auf die Balance, auf irgendwelche Kobolde, auf Erzis oder
alle Magier?
Ich fuehle mich jedenfalls mit angegriffen, wenn Magier irgendetwas an ihren
Files aendern und ein xbeliebiger Spieler (ja, auch die Toplisten-top-ten sind
fuer mich immer noch "nur" Spieler) schlaegt mit solchen Poebelungen um sich.
Ihr (alle Spieler...) scheint zu vergessen, dass wir (alle Magier) das hier
freiwillig machen. Es steht NIRGENDS, dass es Ansprueche welcher Art auch
immer gibt. Maessigt euch gefaelligst im Ton. Wenn dir das MG nicht passt,
dann kannst du gern wechseln (damit schliesse ich alle ein, die so
unqualifizierten Mist von sich geben).
Es ist unstrittig, dass heute den Spielern erheblich mehr Moeglichkeiten zur
Verfuegung stehen als jemals zuvor, incl Gilden (an denen die meisten ja viel
Spass und Freude haben) und Zusatztools, vieler huebscher und weniger schoener
Gegenden etc. Und das viel "aus dem Ruder laeuft" (-> Balance) ist unter
(ernstzunehmenden) Spielern genauso unstrittig wie unter den meisten Magiern.
Das da gegengesteuert werden muss ist klar. Die Frage des "Wie" ist leider
nicht so einfach, sonst waere es laengst geschehen.
Mir ist uebrigens wurscht, welcher konkrete Anlass es jetzt schon wieder war
(dieses Rattenblut), es geht ums Prinzip. 

Bendeigid

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



Re^30: ratten (Bubba, 28. Feb 2000, 16:07:53):
~#! rn=Bendeigid rt=951723369 rg=d.unterwelt
~#! tid=949764499

Schon recht...aber was sind Poebelungen!?

Bubba :-)

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



Re^30: ratten (Humni, 28. Feb 2000, 17:08:01):
~#! rn=Bendeigid rt=951723369 rg=d.unterwelt
~#! tid=949764499
Hmmm....

auch als Nicht-Magier und Nicht-HLP wollte ich mal meine Meinung kundtun,
ohne das Rattenblut selbst wirklich zu kennen...

Ich kann Dich (Bendeigid) verstehen, wenn Du sauer bist, und Dich persoenlich
angepisst fuehlst. Andererseits habe ich Darkwings Artikel als das genommen,
wie ich ihn empfunden habe: Als Reaktion eines Spielers, der sehr viel Zeit
in eine bestimmte Sache gesteckt hat (in diesem Fall einen wohl niicht sehr
trivial zu erhoehenden Skill) der nun langsam sauer wird, wenn diese 
Faehigkeiten nun staendig abgewertet werden.

Niemand bezweifelt, dass ein MUD ohne ohne Magier nicht funktioniert.
Genausowenig funktioniert aber ein MUD ohne Spieler. (streiche oben ein 
ohne, sehe ich gerade).

Dir mag die Aussdage ,,Ihr habt sie nicht alle'' unangemessen erscheinen,
den Beitrag fand ich aber keineswegs unqualifizierten Mist. Auf 
Bepoebelungen mit Bepoebelungen zu reagieren halte ich nicht fuer die
richtige Art des Umgangs miteinander.

In Anbetracht der Tatsache, dass ich auch von anderen Ecken weiss, dass
einige Spieler, die sicherlich mit ihrer Anwesenheit das MUD bereichert
haben, aufgrund der letzten Abwertungen keine Lust mehr auf das MG haben,
halte ich Aussagen wie ,,Such Dir doch ein anderes MUD'' zwar nicht fuer
gefaehrlich, aber fuer sehr schade.

Und mal ein anderer Vorschlag: Wie waere es zur Abwechslung mal mit ein
wenig Auf- anstatt Abwerten?? (Man vergleiche meine Faehigkeiten mal mit
denen eines Kaempfers von etwa derselbsen Spielerstufe...)

Humni, wedelt nicht mit einem ,,Kaempfer-Abwerten'' sondern mit einem 
,,Schuettler-Aufwerten''-Faehnchen.

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



Re^31: ratten (Gloinson, 28. Feb 2000, 21:33:37):
~#! rn=Humni rt=951754081 rg=d.unterwelt
~#! tid=949764499
Die Aufwertung findet staendig statt. Ob es nun Details, Raeume, Objekte
oder Gildenfaehigkeiten sind.
Nur das die Kreativitaet der Magier selten so mit Aufmerksamkeit bedacht
wird wie ein Beschneiden von unvorhergesehenen (welcher Grund auch
immer) Spitzen.

Gloinson

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



Re^30: ratten (Lug, 29. Feb 2000, 03:10:53):
~#! rn=Bendeigid rt=951723369 rg=d.unterwelt
~#! tid=949764499
Heul doch, Bende.

Jedem was er verdient.
Lug

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



Re^30: ratten (Darkwing, 29. Feb 2000, 11:00:00):
~#! rn=Bendeigid rt=951723369 rg=d.unterwelt
~#! tid=949764499
Hi Bendeigid,

Hm ja. Genau diese Einstellung scheinen hier einige Leute zu haben.
In letzter Zeit wird hier eine Menge geaendert, fuer sich gesehen sind
das alles keine grossen Sachen und meist auch einzusehen. Und man aergert
sich als Spieler trotzdem darueber. Weil man eben das Monster was man
gestern noch gut geschafft hat, nun so nicht mehr schafft. Es vergeht
im Moment kaum eine Woche, wo man nicht wieder irgendeinen "workaround" 
suchen muss, sich mit irgendeiner kleinen Abwertung einfach abfinden muss,
oder sich sonst irgendwie was aendert.
Ist ja alles schoen und nett, vielleicht wird das Mud ja gerade fairer,
logischer und ueberhaupt viel toller ... aber dass die Stimmung zur Zeit
voellig den Bach runter geht, immer mehr Leute kaum noch was machen, andere
Muds suchen und sehr viele recht frustiert sind - das merkt wohl keiner.

Ich merk jedenfalls dass viele meiner Freunde hier die Lust verlieren und 
finde das ziemlich traurig.
Wenn Deine Meinung dazu ist, dass wir ja gehn koennen, es kommen ja genug 
neue nach ... bitteschoen, dazu faellt mir nichts mehr ein.

Darkwing

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



Re^30: ratten (Padreic, 29. Feb 2000, 11:03:17):
~#! rn=Bendeigid rt=951723369 rg=d.unterwelt
~#! tid=949764499
jipiee... "es geht ums Prinzip" eindeutig mein absoluter Lieblingssatz..

kein weiterer Kommentar, Padreic.

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



Re^30: ratten (Hobo, 29. Feb 2000, 11:23:25):
~#! rn=Bendeigid rt=951723369 rg=d.unterwelt
~#! tid=949764499
Hach ja,
endlich mal wieder alle gegen alle.
Bleibt doch mal ein bisschen ruhig und ueberlegt Euch, dass es fuer beide
Seiten nicht leicht ist.
Manche Sachen sind einfach zu stark (ob nun zu Nutzen oder Lasten der Spieler)
ist ja egal), und die sollten angepasst werden.
Dass das nicht immer auf Zustimmung stoesst, ist klar und dass sich manche da
beschweren, ist genauso klar.
Aber ein vernuenftiger Ton ist doch angebracht. Versetzt Euch einfach mal in
die Gegenpartei...
   Hobo - will Friede, Freude, Eierkuchen..hae?

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



Re^31: ratten (Catweazle, 29. Feb 2000, 11:37:08):
~#! rn=Hobo rt=951819805 rg=d.unterwelt
~#! tid=949764499
Ihr seid alle doof und stinkt.

Ich bin immer lieb und nett.

Ich mag es wenn alte Suppen wieder aufgekocht werden :) Meistens 
schmecken sie am naechsten Tag gleich viel besser. Im MG sind 
die Suppen aber immer ungefaehr 6-12 Monate alt. 

Ich empfehle das Zeitungsarchiv durchzublaettern. Damit ist man 
wenigstens wochenlang beschaeftigt und hat Zeit sich zu beruhigen.

Ich kann nur altklug werden: Die Ruestungsspirale dreht halt immer 
weiter. Aus meiner kleinen ganz persoenlichen Sicht der Dinge halte
ich sie fuer unaufhaltsam. Und manchmal wird halt der hoffnungslose
Versuch gestartet, sie zu bremsen.
Das ist halt so, und es fuehlt sich auch immer jemand auf den 
Schlips getreten. *zuck*
Empfehlung Eins: Stay pufft!
Empfehlung Zwei: Ihr muesst alle viel laenger schlafen.

YTC

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



Re^31: ratten (Hood, 29. Feb 2000, 14:50:33):
~#! rn=Padreic rt=951818597 rg=d.unterwelt
~#! tid=949764499
das sollte jetzt nicht ironisch sein, nein oder? nich von dir... :)

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



Re^31: ratten (Jasonrigid,  1. Mar 2000, 15:54:27):
~#! rn=Hobo rt=951819805 rg=d.unterwelt
~#! tid=949764499

Hm, ahja, wo werden denn Sachen, die zu Lasten der Spieler zu stark sind,
angepasst ??
Waer mir neu.

JasonRigid verbreitet Ignoranz

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



Re^32: ratten (Spellfire,  3. Mar 2000, 00:10:47):
~#! rn=Jasonrigid rt=951922467 rg=d.unterwelt
~#! tid=949764499
Moins Mitmudder,
ich kann Darkwings Unmut schon verstehn, da es momenant in meinen Augen schon
etwas was chaotisch mit den Aenderungen im Mud zu geht. Es mag zwar sein das
dies alles von Magier Hand plausibel ist, ich fuer meinen Teil kann aber
leider nicht entscheiden wann ein Magier sich einfach nur vertan hat bei einer
Aenderung oder wann es absicht ist. Ich kann leider immer nur den Status Quo
beurteilen, und der aendert sich momentan recht haeufig, sodass ich eigentlich
froh bin momentan nicht so viel zeit zu haben die ich hier investieren kann,
da situationen die man heute findet morgen schon obselete sein koennen. Ich
freue mich schon auf eine Zeit, wo Aenderungen wieder etwas spaerlicher kommen
und man vorgewarnt wird, ganz davon ab ob Spieler oder Monster momentan zu
stark oder schwach sind, ich finde es eifach interessant mit den gegebenen
Moeglichkeiten Probleme zu loesen, und das macht solange Spass, solagne diese
sich nicht jeden Tag aendern... 
Spellfire, etwas konservativ .....

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



Re^33: ratten (Anakin,  7. Mar 2000, 10:00:56):
~#! rn=Spellfire rt=952038647 rg=d.unterwelt
~#! tid=949764499
Hi ihr Jungspunde...

Im Mud veraendert sich nunmal irgendwie alles, nicht ohne Grund
geh ich nicht mehr aus meinem Haus, weil sich soviel veraendert
hat dass ich mich mit Sicherheit nicht mehr auskenne (und dabei
war ich irgendwann mal recht gut hier im Mud).

Wer bei jeder Veraenderung meckert soll heulen und es wird nichts
bringen (als Spieler klebt man ziemlich an seinen eingefahrenen
Wegen, Tools und anderen Kleinigkeiten, es sei denn sie werden
veraendert, dass man selbst mehr von hat)
~

Wenn es euch nicht mehr gefaellt hier und ihr es nicht ertragen
koennt, dann hoert einfach (hihi) auf hier zu mudden.

Anakin.


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



brille (Wurzel, 12. Mar 2000, 23:25:49):
unser allseits geschaetztes balancegremium hat festgestellt, dass brillen
auch verkratzen koennen.

wurzel

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



Re: brille (Gandur, 13. Mar 2000, 22:07:54):
~#! rn=Wurzel rt=952899949 rg=d.unterwelt
~#! tid=952899949
es waere schoen wenn, zumindestens nachtraegliche, entscheidungen der
balance auch einmal fuer die allgemeinheit begruendet werden wuerden.

gruss, gandur

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



Re: Re: brille (Ringor, 13. Mar 2000, 22:12:14):
~#! rn=Gandur rt=952981674 rg=d.unterwelt
~#! tid=952899949
Bei manchen Sachen reicht vielleicht auch der gesunde Menschen-
(Elfen-/Zwergen-/...) Verstand. 

Ueberleg Dir mal, was die Brille macht. Und was fuer Auswirkungen das hat,
wenn sich jeder Mudder einmal pro Uptime ein Exemplar besorgt. 

Wenn es gegen jede Beeintraechtigung ein leicht zu erhaltendes sich niemals
verbrauchendes Gegenmittel gibt, kann man die Beeintraechtigungen auch gleich
ganz abschaffen - oder?


Ringor

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



Re^3: brille (Tatjana, 13. Mar 2000, 22:13:34):
~#! rn=Ringor rt=952981934 rg=d.unterwelt
~#! tid=952899949
Waer doch echt ne Ueberlegung wert ;)

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



Re^3: brille (Hood, 14. Mar 2000, 01:12:31):
~#! rn=Ringor rt=952981934 rg=d.unterwelt
~#! tid=952899949
war das jetzt nicht schon die zweite nachtraegliche abwertung dieses
objektes? eigentlich hat man es doch schon beim ersten mal von
einem eindeutigen zu gut zu einem eindeutigen nicht mehr brauchbar
klassifiziert, wieso also noch mal draufhaun?

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



Re^4: brille (Hobo, 14. Mar 2000, 08:19:12):
~#! rn=Hood rt=952992751 rg=d.unterwelt
~#! tid=952899949
Wenn's schon "eindeutig nicht mehr brauchbar" war, wieso beschwert sich dann
ueberhaupt jemand hier?

  Hobo

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



Re^5: brille (Paracelsus, 14. Mar 2000, 09:14:25):
~#! rn=Hobo rt=953018352 rg=d.unterwelt
~#! tid=952899949
Ist doch voellig klar, Omi: Um den Jammer-Skill zu verbessern.

Paracelsus.

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



Re^6: brille (Jamalski, 14. Mar 2000, 10:53:53):
~#! rn=Paracelsus rt=953021665 rg=d.unterwelt
~#! tid=952899949
Das heisst Jamalski!

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



Re^5: brille (Hood, 14. Mar 2000, 11:08:14):
~#! rn=Hobo rt=953018352 rg=d.unterwelt
~#! tid=952899949
wo siehst du eine beschwerde? einer fragte nach einer begruendung fuer
den vorgang, der andere fragte ebenfalls, warum jetzt nochmal was dran
gemacht wurde, weil das zweite mal schon reichlich sinnlos war.
billigrhetorik ala jammern zeugt nur von duemmlichem geplapper trotz
desinteresse, also schlage ich vor: klappe halten oder zur abwechslung
mal eine konstruktive antwort.

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



Re^6: brille (Hobo, 14. Mar 2000, 14:26:54):
~#! rn=Hood rt=953028494 rg=d.unterwelt
~#! tid=952899949
Fass Dir an die eigene Nase, Hood. Was ist denn an Deinem Artikel 21 so
konstruktiv? Ist es etwa keine Beschwerde gewesen?
Was jucktDich die zweite Aenderung ueberhaupt, wenn die Brille durch die erste
doch schon fuer Dich unbrauchbar wurde? Sorry, aber mit eben dieser Aussage
deklarierst Du Deinen Artikel als Beschwerde/Jammerei/Stimmungsmache, such'
Dir eins davon aus.

  Hobo

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



Re^7: brille (Hood, 14. Mar 2000, 14:41:14):
~#! rn=Hobo rt=953040414 rg=d.unterwelt
~#! tid=952899949
der artikel war eher eine folge-frage auf die nicht ganz unprovokante
ringorsche gesunde-menschenverstands-bemerkung. ich wollte halt genauer
wissen, was so gesund daran ist...
wie gesagt: es mag hier unwahrscheinlich "in" sein, solche anfragen mit
dem beruehmten jammern abzutun, aber reoichlich hohl bleiben solche
antworten trotz deiner rechtfertigung.

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



party-nachlese (Wurzel, 15. Mar 2000, 22:00:58):
nachdem mir jetzt doch von mehreren seiten glaubhaft versichert wurde, dass
aus abgeschlossenen raeumen im mietshaus gegenstaende verschwunden sind, hab
ich mal ein wenig nachgeforscht. ergebnis: der standardraum mag nicht, wenn
zu viele gleichartige gegenstaende herumliegen. zu viele heisst dabei wohl
mehr als drei.
der sinn der sache leuchtet mir zwar nicht ein, aber auf die schnelle habe
ich nur eine empfehlung: wer unbedingt 70 fackeln horten will, sollte den
schrank benutzen, der in jedem zimmer steht.

wurzel

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



Re: party-nachlese (Gloin, 15. Mar 2000, 22:10:48):
~#! rn=Wurzel rt=953154058 rg=d.unterwelt
~#! tid=953154058
Du kannst ja auch einfach die Aufraeum-Routine des Raumes
aendern/ueberschreiben. Wenbn Dich dann kein EM steinigt.

Gloin

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



Re: Re: party-nachlese (Wurzel, 15. Mar 2000, 22:11:34):
~#! rn=Gloin rt=953154648 rg=d.unterwelt
~#! tid=953154058
wuerde ich tun, wenn sie nicht static waere.
naechster versuch? :)

wurzel

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



Re^3: party-nachlese (Wurzel, 15. Mar 2000, 22:25:50):
~#! rn=Wurzel rt=953154694 rg=d.unterwelt
~#! tid=953154058
okay, war fehler von mir. geht natuerlich *seufz* werde wohl alt...
nach dem naechsten reboot sollten dann auch tausend diddl-maeuse im raum
bleiben.

wurzel

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



Re: Re: party-nachlese (Boing, 16. Mar 2000, 11:36:38):
~#! rn=Gloin rt=953154648 rg=d.unterwelt
~#! tid=953154058
Spricht meines Erachtens nichts dagegen, schliesslich macht ein deaktivieren
der Aufraeum-Funktion ja in diesem Falle Sinn. Der Sinn des Aufraeumens
besteht nur darin, dass sich nicht in beliebigen (!) Raeumen Unmengen
an Schrott ansammelt.
  Boing

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



delfen (Padreic, 16. Apr 2000, 18:55:25):
Ich hab heute nochmal etwas Zeit gefunden und einige Kleinigkeiten am
Spellbook geaendert. Hier und da koennte sich an den delfen also etwas
geaendert haben (hab mich bemueht es ungefaehr gleich zu halten). Will sagen,
seid einfach etwas vorsichtiger und sagt bescheid wenn irgendwas ist...

Pad*

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



delfinnen (Padreic, 29. Mai 2000, 19:36:36):
Nachdem es durch die letzte Anpassung doch zu argen Engpaessen von
Runensteinen gefuehrt hat, hab ich die delfinnen nochmal _leicht_ geaendert.
Eine endgueltige Feinjustierung mach ich aber wirklich erst wenn die Gilde
irgendwann von Nachtwind abgesegnet wurde und die Werte endgueltig klar sind.

Pad*

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



Re: delfinnen (Lug, 30. Mai 2000, 00:17:29):
~#! rn=Padreic rt=959621796 rg=d.unterwelt
~#! tid=959621796

HAHAHAHAHAHAHAHAHAHAHAHAHAHAHA!
...wenn die Gilde von Nachtwind abgesegnet wurde...

Hihihihihihihihihihihihihihi
Wovon traeumst Du eigentlich Nachts?

Kichernd
Lug

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



artikel 3 (Padreic, 22. Jun 2000, 21:01:03):
Auch wenn ich noch bezweifle das es irgendwer bemerken wird, der schwarze
Dolch is auf unbestimmte Zeit erstmal abgeklemmt.

Pad*

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



artikel 2 (Padreic, 28. Jun 2000, 22:52:07):
Ich habe heute Teo'na'katl debuggt, der nach einer Spellbookaenderung wohl
irgendwann nicht mehr das gemacht hat, was er tun sollte. Also Vorsicht... :o)

Pad*

P.S.: Nein, es war nich der Todeszauber der Delfen, der funkte immer schon :)

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



Urlaub (Padreic, 30. Jun 2000, 20:35:28):
Oidin hat Aufgrund des vielen Stress in letzter Zeit, beschlossen ein wenig
Urlaub zu machen und Susanne auf der Sonneninsel besuchen zu gehn...

Padreic

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



Zzerennzen (Padreic, 30. Aug 2000, 11:38:00):
Solange ich am Spellbook der Delfen Aenderungen/Anpassungen vornehme, koennen
sich natuerlich auch Aenderungen der Delfinnen ergeben. Nur um mich nich immer
wiederholen zu muessen, ich werde die delfinnen nich bei jeder kleinen
Aenderung wieder neu ausbalancieren, sondern erst wenn der Magiezweig fix und
fertig is. Es besteht keine Gefahr gezappt zu werden, fuer alles weitere gebe
ich keine Garantie.

Pad*

P.S.: Gilt natuerlich nur fuer Parazzerenzzen.

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



back again (Wurzel, 12. Dez 2000, 23:31:37):
juhu, die abstinente zeit ist vorbei... macht euch auf was gefasst,
die wurzel allen uebels ist wieder da :)

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



Re: back again (Gnome, 12. Dez 2000, 23:38:16):
~#! rn=Wurzel rt=976660297 rg=d.unterwelt
~#! tid=976660297
ahh, fein. dann kannst du ja jetzt endlich Surtr, Dakurian & Co.
entschaerfen. :)

gnOme freut sich wieder auf die unterwelt.

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



Re: Re: back again (Wurzel, 12. Dez 2000, 23:44:33):
~#! rn=Gnome rt=976660696 rg=d.unterwelt
~#! tid=976660297
hm, seit wann sind die kaempfer 23 denn weicheier? nur weil ein npc
mal nicht ganz so einfach ist, dass man ihn alleine weghaut, muss er
meiner meinung nach nicht gleich verluscht werden...
ausserdem (wenn man dem finger glaubt) boykottierst du die ja sowieso.

so what
wurzel

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



Re^3: back again (Gnome, 12. Dez 2000, 23:51:17):
~#! rn=Wurzel rt=976661073 rg=d.unterwelt
~#! tid=976660297
wenn ein npc teams aufloest (welchen plausiblen grund es dafuer geben
koennte, ist mir bis heute schleierhaft), hat das mix mit weichei zu tun,
sondern ist einfach nur laestig/nervig/aetzend.
und jetzt rate, _warum_ ich (und viele andere) sie boykottiere...

schade, denn ich wuerde wirklich gerne wieder in die feuerstadt...

gnOme

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



Re^4: back again (Gloinson, 13. Dez 2000, 00:43:02):
~#! rn=Gnome rt=976661477 rg=d.unterwelt
~#! tid=976660297
Mir faellt schnell ein Grund fuer Teamaufloesung ein: Panik.
Ohne die NPCs zu kennen behaupte ich also, dass ich Teamaufloesung nicht fuer
eine heilige Kuh halte.

Gloin(son)

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



Re^5: back again (Matis, 13. Dez 2000, 02:25:52):
~#! rn=Gloinson rt=976664582 rg=d.unterwelt
~#! tid=976660297
Teamaufloesen mag man ja unter extremen Umstaenden noch erklaeren koennen.
NPCs allerdings, die nur per Fluchttrigger machbar sind, bei denen man
per Hand absolut keine Chance hat, sind total sinnlos und haben rein
gar nichts mehr mit Spielspass zu tun.

Matis, Feuerschwein-erfahren

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



Re^6: back again (Elendil, 13. Dez 2000, 12:15:42):
~#! rn=Matis rt=976670752 rg=d.unterwelt
~#! tid=976660297
Hi zusammen :)

Ich stimme der Meinung, dass das aufheben von Teams kritisch ist zu. Wenn das
Team mal aufgehoben wird kann ich das tollerieren obwohl ich den Teamkampf
fuer eine rollenspiel externe Komponenten halte von der NPCs meiner Meinung
nach nichts wissen sollten. Das team jede Runde aufzuheben fuehrt allerdings
nur zu Zweitie-Metzelaktionen weil eben das Prinzip 6 mal hin mit 6 Personen
und jeder bekomt den Kill nicht mehr funktioniert. Schade um die harten NPCs.
-beileid Beileid :(((
Nebenbei steht noch eine Belohnung aus fuer Darukians Szepter :)

Ansich leichter muessen die NPCs nicht werden nachdem ein aehnlicher
Schwierigkeitsgrad bei den schwarzen Skeletten vorhanden ist :) Ausserdem sind
sie allesamt machbar wenn Team und Triggerfinten ausgebaut wuerden :)

Elendil fand das Metzeln da zumindestens aufregend ;) CU

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



Re^7: back again (Elendil, 13. Dez 2000, 12:18:00):
~#! rn=Elendil rt=976706142 rg=d.unterwelt
~#! tid=976660297
ARGL :) man sollte keine Trigger auf "bei" haben und dann einen Satz mit "Bei"
beginnen :) Sorry -> Statt Beileid :Bei Darukian ueberlebt man wie Matis schon
erklaerte leider nur wenn man auf die Feuerschweine triggert und dann komplett
aus Muspelheim flieht, das hat Darukian eigentlich garnicht noetig :) Der ist
auch so schwer genug und mit dem trigger ist das nur noch laestig :)

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



Re^6: back again (Panic, 13. Dez 2000, 12:33:58):
~#! rn=Matis rt=976670752 rg=d.unterwelt
~#! tid=976660297
Da kann ich Matis nur zustimmen... nichts gegen richtig harte Monster, fiese
Fallen, zig Kleinigkeiten auf die man aufpassen muss... aber gegen verfolgende
Feuerschweine half nur ein getriggertes Fluchtskript - das ist dann imho ein
wenig zuviel des Guten.

Darkwing

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



Re^5: back again (Ark, 13. Dez 2000, 21:16:50):
~#! rn=Gloinson rt=976664582 rg=d.unterwelt
~#! tid=976660297
Noe, Panik ist relativ individuell (mal von Massenpanik abgesehen), wenn man
sie auf einen Furcht ausstroemenden Drachen z.B. zurueckfuehren wuerde.
Deshalb waere es eigentlich auch mit ner "normal" erzwungenen Flucht oder/und
Vorsicht hochsetzendem Spruch getan. Eigentlich. Geschmackssache.



              *** ARK * the * Magnificent ***


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



speedy (Wurzel, 16. Dez 2000, 00:51:43):
der ominoese bug (feature?) mit dem speedy sollte gefixed sein. wie 
ueblich reboot/ende oder sowas...

wurzel

p.s. dabei ist noch ein winziges zusatzfeature reingerutscht.

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



Re^7: back again (Wurzel, 16. Dez 2000, 02:43:58):
~#! rn=Panic rt=976707238 rg=d.unterwelt
~#! tid=976660297
es gibt auch was anderes als trigger gegen feuerschweine.
gut, zugegebenermassen noch nicht sehr lange. genauer gesagt, seit heute.
aber immerhin... weicheier sollten die gegend uebrigens trotzdem meiden.

wurzel

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



Re^8: back again (Anatol, 18. Dez 2000, 21:49:55):
~#! rn=Wurzel rt=976931038 rg=d.unterwelt
~#! tid=976660297
Definiere "Weicheier".

Anatol

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



Re^9: back again (Wurzel, 18. Dez 2000, 21:54:39):
~#! rn=Anatol rt=977172595 rg=d.unterwelt
~#! tid=976660297
nein.
wenn du damit probleme hast, kann ich dir erklaeren wo du ein echtes weichei
sehen kannst.

wurzel

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



Partynachlese (Padreic, 27. Dez 2000, 19:40:51):
Fuer diejenigen die sich noch an die Sommerparty erinnern...
Der Glyptictradon ist nun endlich angeschlossen, froehliches sterben im
Paraschlachthof :o)

Pad*

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



Re: speedy (Wurzel, 30. Dez 2000, 14:57:02):
~#! rn=Wurzel rt=976924303 rg=d.unterwelt
~#! tid=976924303
und noch ein kleines zusatzfeature. mal schauen, ob man aus dem ding
trotz aller einschraenkungen nicht doch noch was brauchbares machen kann.
weitere ideen werden noch entgegengenommen :)

wurzel

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



wirt (Padreic, 22. Jan 2001, 12:27:08):
Leider ist es umstellungsbedingt zu einem kleinen Fehler beim Wirt des
Schlachthofs gekommen. Die Erstkills des Wirts und seines Kollegen aus der
Parawelt wurden in der letzten Woche _nicht_ sauber eingetragen. Wer den Kill
innerhalb der letzten 7 Tage gemacht hat, muss ihn sich also leider ggf.
nochmals holen.

Sorry, Padreic.

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



repfiles und ueberarbeitung (Wurzel, 17. Feb 2001, 16:11:56):
hi,
dem einen oder anderen ist es vielleicht schon aufgefallen:
derzeit mache ich nichts wirklich neues, sondern ueberarbeite und erweitere
vorhandenes in der unterwelt. es ist dabei anzumerken, dass es nicht ganz
sinnlos ist, anmerkungen und vorschlaege in das repfile abzulassen (fuer die
kleinen unter uns: mit "bug","typo","idee"). es findet beachtung.
es hat sich mit humni ja auch ein freiwilliger gefunden, der den nibelungen
endlich einen boden unter den fuessen verpasst, er ist bestimmt auch
dankbar fuer anregungen und hinweise.

die meisten der aenderungen sind zu klein, als dass sich jeweils ein artikel
in der mpa dafuer lohnen wuerde (dies ist nicht die rubrik "schmarrn" :).
fuehlt euch also hiermit informiert... wenn was groesseres dabei ist, schreib
ich vielleicht was extra.

wurzel

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



Neueroeffnung !!! (Swift, 15. Mar 2001, 23:54:17):

===========
= ANZEIGE =
===========

## ## ##### ##  ####### ####    ##  ##### ##### ##### ## ## ##  #### ##   ##  
 #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #
 ####  ###   #  #  ###   #  #  #  #  ###   ###   ###   ####  #  #  ####  #   
 # ##  #     #  #  #     ###   #  #  #     # #   # #   # ##  #  #  # ##  # ##
 #  #  #  #  #  #  #  #  #  #  #  #  #  #  #     #     #  #  #  #  #  #  #  #
##  # ##### # ##  ##### ###  #  ##  ##### ####  ####  ##  # # ##  ##  #   ##  


Hiermit geben wir die Oeffnung unseres neuen, exklusiven Ladens bekannt:

                           Dem SCHRAENKER !!!

Sind Sie Seher, und verfuegen Sie ueber ein Eigenheim?

Dann sind sie bei uns richtig. Wir statten Sie mit dem Mobiliar aus, das Sie

benoetigen. Nie wieder werden Sie Platzprobleme in Ihrem Haus haben, nie

wieder Unordnung. Besuchen Sie uns, und ueberzeugen Sie sich von unseren

qualitativ hochwertigen Produkten !!!


Wo finden Sie uns?

In Wilhelmsburg, gegenueber der Kneipe.


Ich hoffe, Sie schon bald persoenlich kennenzulernen.

August. (Geschaeftsfuehrer)

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



Re: Neueroeffnung !!! (Hight, 16. Mar 2001, 00:23:31):
~#! rn=Swift rt=984696857 rg=d.unterwelt
~#! tid=984696857
genial .o) danke .o))

hight

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



Re: Neueroeffnung !!! (Liara, 16. Mar 2001, 18:24:58):
~#! rn=Swift rt=984696857 rg=d.unterwelt
~#! tid=984696857
Ui. :-) *huepf*

LZ, hat gleich begeistert alles einsortiert ...

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



Re: Neueroeffnung !!! (Mythran, 16. Mar 2001, 20:38:19):
~#! rn=Swift rt=984696857 rg=d.unterwelt
~#! tid=984696857
Wow! Endlich mal wieder eine richtig sinnvolle Sache.
Jedem Freund 'Berechtigungen' gebe koennen!
Lob Lob Lob!!!

Wieder sinnvoll Geld rausschmeissen *freu*!

Mythran Smaragdmoebelpacker

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



Re: Neueroeffnung !!! (Trug, 16. Mar 2001, 23:37:54):
~#! rn=Swift rt=984696857 rg=d.unterwelt
~#! tid=984696857
Gibts da auch etwas andres ausser Containermoebel auch? 

So nen grossen Ohrensessel und so waer nett mit einen Tischerl.

trug

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



Re: Re: Neueroeffnung !!! (Apsu, 18. Mar 2001, 15:28:00):
~#! rn=Trug rt=984782274 rg=d.unterwelt
~#! tid=984696857
Designer-Moebel von Signore Jaffa? ;-)

Apsu

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



Re^3: Neueroeffnung !!! (Birdy, 19. Mar 2001, 20:57:54):
~#! rn=Apsu rt=984925680 rg=d.unterwelt
~#! tid=984696857
Kennst du nicht "Jaffa Antik" ? *g*

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



schraenker (Swift, 19. Mar 2001, 23:36:14):
ab sofort werden alle schraenke, truhen usw. automatisch gegen die neueste
version ausgetauscht, wenn veraenderungen/neuerungen an den schraenken
vorgenommen werden. einige von euch haben es evtl. schon bemerkt. die aktuelle
version koennt ihr per "skommandos" sehen.
auf diese weise entfallen zertruemmer- und kaufe-aktionen, nur um in den
besitz einer neuen version zu kommen, die evtl. mal ein feature mehr hat oder
in der ein bug (gibts sowas?) entfernt wurde.

have fun...
swift

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



news (Wurzel, 21. Mar 2001, 03:51:45):
die erstkilljaeger unter euch koennen schon mal suchen gehen...
die forscher muessen sich nochwas gedulden, detailueberarbeitung kommt als
naechstes dran :)

wurzel

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



Re: news (Anacrion, 21. Mar 2001, 03:54:30):
~#! rn=Wurzel rt=985143105 rg=d.unterwelt
~#! tid=985143105
Du willst ernsthaft beginnen, Deine Gebiete mit Details auszustatten ?

Anac* - skeptisch

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



Re: news (Elberet, 21. Mar 2001, 03:55:44):
~#! rn=Wurzel rt=985143105 rg=d.unterwelt
~#! tid=985143105
Kriegt der erste tote nen Ordern? ;)

Elbi ( sich dann meldend )

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



Re: Re: news (Anacrion, 21. Mar 2001, 03:56:34):
~#! rn=Elberet rt=985143344 rg=d.unterwelt
~#! tid=985143105
Wen willst Du denn ordern ?

Anac*

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



Re^3: news (Elberet, 21. Mar 2001, 03:57:52):
~#! rn=Anacrion rt=985143394 rg=d.unterwelt
~#! tid=985143105
ich sollte ins Bett gehen, tippen kann ich nicht mehr, aber wenn ich nen Orden
krieg geh ich da mal sterben ;)

Elbi :)

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



Re^4: news (Anacrion, 21. Mar 2001, 03:59:15):
~#! rn=Elberet rt=985143472 rg=d.unterwelt
~#! tid=985143105
Wenn Briesel jeder seiner Luschen fuers umfallen nen Orden umhaengen wuerde,
waeren einige Dauergast bei Lars, weil sie nach dem Beten sofort vom Gewicht
der Orden erdrueckt wuerden.

anac* - Vielsterber aber nicht Kaempfer ..

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



Re^5: news (Elberet, 21. Mar 2001, 04:00:47):
~#! rn=Anacrion rt=985143555 rg=d.unterwelt
~#! tid=985143105
Och, ich sterb dann ja fuer die Forschung, dann weiss man, wies nicht geht ;)

Elbi (nichtwissendwiemannachschmarrnverlegtwerfend)

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



Re: news (Bendeigid, 21. Mar 2001, 09:29:25):
~#! rn=Wurzel rt=985143105 rg=d.unterwelt
~#! tid=985143105
Geht mich ja nichts an, aber ich dachte immer, ein Gebiet muesse erstmal
"fertig sein", eh mans anschliesst....
Kann mich ja auch vertun, schliesslich muessen das die RMs entscheiden...

Bendeigid, geht mal eben ein paar Dutzend Raeume kopieren und anschliessen,
Ueberarbeitung folgt irgendwann...

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



Re: Re: news (Rikus, 21. Mar 2001, 09:48:20):
~#! rn=Bendeigid rt=985163365 rg=d.unterwelt
~#! tid=985143105
wobei ein Gebiet nicht anzuschliessen ist, bevor die Forscherpunkte
eingetragen wurden!

Rikus

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



Re^3: news (Wurzel, 21. Mar 2001, 10:25:07):
~#! rn=Rikus rt=985164500 rg=d.unterwelt
~#! tid=985143105
hm, irgendwie hab ich mich wohl falsch ausgedueckt... kein wunder um die
uhrzeit :) das was da neu ist, ist auch fertig. die detailueberarbeitung
bezieht sich auf alte gebiete. auch wenn es nervt, alten code nochmal
anzufassen.

wurzel

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



Re^4: news (Karis, 21. Mar 2001, 10:27:21):
~#! rn=Wurzel rt=985166707 rg=d.unterwelt
~#! tid=985143105
Detailueberarbeitung bei Dir heisst dann: die Liste
mit den Meldungen a la 'hier gibts so wenig details, da wird dir glatt
schlecht'
wird jetzt also laenger?
Generaelchen Karis - kann Wurzel und Details noch nicht so ganz
zusammenbringen.

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



Re^5: news (Wurzel, 21. Mar 2001, 10:35:59):
~#! rn=Karis rt=985166841 rg=d.unterwelt
~#! tid=985143105
wer mal tatsaechlich durch unterirdische hoehlen gewandert ist, weiss dass es
da ausser stein mit loechern nicht wirklich viel gibt. von der einen oder
anderen tropfsteinhalle abgesehen (wo es ausser steinen auch noch wasser gibt)
ist die beschreibung also eher spartanisch und wird es auch bleiben, weil es
einfach richtig ist.
es gibt aber noch andere teile der unterwelt, die vielleicht etwas mehr
aufmerksamkeit vertragen, als sie sie vor etlichen jahren bei der erschaffung
erfahren haben. genau diese werden ueberarbeitet (gluecklicherweise nicht nur
von mir allein).

wurzel

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



Re^6: news (Liara, 21. Mar 2001, 13:41:04):
~#! rn=Wurzel rt=985167359 rg=d.unterwelt
~#! tid=985143105
Ich halte es fuer ein Geruecht, dass unterirdische Hoehlen kaum Details
verdienen, auch wenn in ihnen vielleicht keine Einrichtung ;-) vorhanden ist. 

LZ

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



Terminator (Tilly, 29. Mar 2001, 21:45:08):
Moin moin,

wegen eines kleinen Bugs ist der Terminator erstmal woanders terminieren.

Gruss,
          - Tilly - 

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



Re: Terminator (Wurzel, 30. Mar 2001, 00:47:42):
~#! rn=Tilly rt=985895108 rg=d.unterwelt
~#! tid=985895108
das schlimme bei den terminatoren ist ja, das sie einen schnellen
reparaturmechanismus haben. und schon ist er wieder da...

wurzel

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



Zzerenzzen (Padreic,  4. Aug 2001, 00:07:46):
ZZerenzen wurde wegen Wartungsarbeiten vorlaeufig abgehangen.
Auf Weisung der Balance bleibt es jetzt jedoch auf unbestimmte Zeit, bis zu
einer endgueltigen Einigung in Sachen Runenschwertern, abgehangen.
Es ist nicht meine Art und mein Stil Gebiete abzuhaengen. Da die bestehende
Genehmigung jedoch entzogen wurde, eine Aenderung aufgrund der Gilde nicht
ohne weiteres moeglich und die Weisung bindend ist, bleibt mir bis zu einer
Einigung zunaechst keine andere Wahl.

Pad*

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



Re: Zzerenzzen (Tilly,  6. Aug 2001, 17:50:13):
~#! rn=Padreic rt=996876466 rg=d.unterwelt
~#! tid=996876466
Ich moechte ausdruecklich folgendes klarstellen, da Padreics 
Artikel in diesen Punkten inhaltlich schlichtweg falsch ist:

Die Objekt-Balance hat zu keinem Zeitpunkt Padreic angewiesen,
Dunkel-Elfen-Town abzuhaengen. Gleiches gilt fuer die Runen-
schwerter, allerdings mit der Bedingung, das diese entsprech-
end eines Aenderungsantrages umgestellt werden muessen um im 
Spiel zu verbleiben. 

Die Aenderungen an dem Runenschwert, und hier beziehe ich mich  
auf eine Aeusserung von Padreic in einer anderen Rubrik, hat 
keinerlei Auswirkungen auf die Dunkelelfengilde. Die Gilde 
kann im Rahmen der Gildenbalance modifizierte Runenschwerter
bekommen. Das ist eine Sache, die wir von der Objekt-Balance 
von vornherein klargestellt haben. Die von uns ausgehende 
Aenderung an den Runenschwertern bezieht einzig und allein  
solche fuer den Normal-Spieler ein, der nicht der Dunkelelfen-
Gilde angehoert.

 - Tilly - .

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



Re: Re: Zzerenzzen (Padreic,  6. Aug 2001, 19:19:28):
~#! rn=Tilly rt=997113013 rg=d.unterwelt
~#! tid=996876466
Also nun allmaehlich reichts mir nun wirklich, erst der Artikel von Anatol in
Balance und nun dies hier. Ist ja ein netter Versuch mir zu unterstellen ich
sei nicht kooperationsbereit, nicht kompromisswillig oder wolle Zzerenzzen
abhaengen.
"Wir widerrufen die Genehmigung der Runenschwerter mit sofortiger Wirksamkeit.
Bedingung fuer ein Verbleiben im Spiel ist die Aenderung der Runenschwerter
gemaess der letzten Mail von mir als Leiter der Balance. Da Du die Gegend der
Dunkelelfen vorruebergehend abgehaengt hast, betraegt die Frist fuer die
Umstellung exakt den Zeitpunkt, an dem Du sie wieder anschliesst oder einen
spaeteren, wenn die Runenschwerter nicht wieder mit angeschlossen werden."
Darf ich mal offen Fragen wie ihr "Kompromiss" definiert? Ihr verkuendet gross
ihr wollt einen Kompromiss finden. Auf der letzten Party in Muenster setzen
wir uns ueber eine Stunde zusammen und einigen uns auf einen Kompromiss, von
dem ihr dann einen Monat spaeter, nachdem wir uns sogar auf konkrete Zahlen
geeinigt haben, wieder verwerft. Ganze VIER mal war ich bereit nachzugeben um
endlich Ruhe und Planungssicherheit zu haben, dabei hab ich Euch nicht nur den
kleinen Finger oder die Hand gereicht sondern ihr habt gleich den ganzen
Arm genommen. Jedesmal hoerte ich dann von den einzelnen von Euch "Ja sieht
gut aus, so duerfte es dann nun wirklich durchgehn" bis dann wieder jemand von
Euch mit einem Nachbesserungswunsch kam.
Dann hoert man von Euch gar nichts mehr und muss
schon nachbohren um ueberhaupt was zu erfahren und dann kommt ihr zum ersten
mal mit einem Kompromissvorschlag, den ich entweder exakt so akzeptieren, oder
die Runenschwerter und Zzerenzzen bis zu einer endgueltigen Einigung abhaengen
darf.
Wenn von Euch ueber Monate null Feadback kommt und ihr da im geheimen Eure
Abstimmungen vollzieht bei denen dann auch noch jeder von Euch ein Vetorecht
hat, DANN braucht ihr euch nicht wundern wenn eine Kompromissfindung lange
dauert. Was da wirklich bei Euch abgeht ist ja ein Buch mit 7 Siegeln, von
denen niemand etwas mitkriegt. Wenn Ihr Euch dann nach endlosen Monaten
endlich auf einen Vorschlag geeinigt habt, kommt es auch nicht mehr auf die
Zeit an mal die Reaktion in Ruhe abzuwarten. Mit einer Kompromisssuche hat das
jedenfalls nichts mehr zu tun, DAS wort solltet ihr besser aus Eurem
Wortschatz streichen. Vielleicht versucht ihr es stattdessen selbst mal mit
einer schnelleren Reaktionszeit und einer anstaendigen Kommunikation, ohne
Feadback von einer Seite ist Kompromisssuchen leider ziemlich schwierig.


Pad*

P.S.: Auf inhaltliche Punkte habe ich hier bewusst verzichtet, vielleicht
schaffen wir es ja doch noch auf einer sachlichen Ebene zu einer Einigung zu
kommen.
P.P.S.:
"Im Lebenden des Einzelnen und der Voelker ist der Kompromiss unentbehrlich
zum friedlichen Ausgleich von Gegensaetzen. Gegenueber Fanatismus und
ruecksichtsloser Interessenwahrung versucht der Kompromiss einen 'modus
vivendi' zu schaffen. Die Grenze zwischen Selbstpreisgabe und tragbaren
Zugestaendnissen ist oft schwierig zu finden, Die meisten Gruppenbildungen
beruhen auf Kompromissbereitschaft, die auch bei starken Spannungen noch die
Grundlage fuer einen Interessensausgleich zu gewinnen weiss." [Brockhaus]

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



Re^3: Zzerenzzen (Tilly,  7. Aug 2001, 18:07:10):
~#! rn=Padreic rt=997118368 rg=d.unterwelt
~#! tid=996876466
Okay, nochmal. Auch auf die Gefahr hin, das ich mich wiederhole:

Niemand unterstellt Dir, Zz* abhaengen zu wollen. Das hast Du
bereits gemacht. Von Dir aus. 

Wenn Du Dir das Mailfragment nochmal durchliest, wirst Du 
feststellen, das die dortige Frist fuer eine Anpassung der Runen-
schwerter einen Zeitpunkt betrifft, den Du selber bestimmen kan-
nst. Ein Zusammenhang zwischen Wiederanschluss des Gebietes 
und der Runenschwerter besteht nicht. Das ist so und wird immer 
so bleiben.

Das von uns ueber Monate hinweg keinerlei Feedback gekommen 
ist, kann ich so auch nicht stehen lassen. Wir von der Balance 
sind immer bereit und bemueht, mit den betreffenden Magiern zu 
sprechen, um eine bestmoegliche Loesung zu finden. Zahlreiche 
positive Rueckmeldungen sind ein Zeichen dafuer, das dies auch 
von der Magierschaft wahrgenommen wird. Und gerade bei diesem
Thema rund um Deine Schwerter wurde ein Aufwand an Disputatio 
betrieben wie selten zuvor. 

Welche Worte wir in unserem Wortschatz haben, und welche wir
u.U. sogar streichen, kannst Du dabei getrost uns ueberlassen.

Du sagst, die Balance hat das Recht und die Pflicht, Objekte die sich
als zu stark / vielfaeltig / ... herausstellen, wieder in einen fuer das 
Spiel akzeptablen Rahmen zurueck zu fuehren. Genau das machen 
wir. 

Kompromiss? Ein Kompromiss ist in unserem Verstaendnis ein Ob-
jekt so genehmigen zu koennen, das der Magier und die Balance 
ruhig schlafen kann. Das ist der Idealfall und der trifft gluecklicher-
weise auch in 98% der Faelle zu.

Es steht allerdings nirgendwo geschrieben, dass dies so sein MUSS.
Zum einen gibt es durchaus Magier, die ein Objekt so und nicht 
anders wollen (dann muss im Zweifelsfall eine Ablehnung erfolgen),
zum anderen gibt es auch ein oder zwei Scherzkekse, die generell ein 
paar Stufen hoeher beantragen - die Balance wird schliesslich dafuer
sorgen, dass das maximal zulaessige genehmigt wird. Was auch nicht 
so ganz im Sinne des Erfinders ist und gelegentlich mit der Bitte, der
Magier moege sich doch bitte nochmals Gedanken machen, abgelehnt 
wird.

Der Akt der Balance muss also nicht unbedingt mit einer Einigung im
Toleranzbereich beider Parteien enden. Im Zweifelsfall ist es der 
Magier, der zurueckstecken muss. Und das ist, so hart es klingt, sehr 
gut so. 

Wildwuchs fuehrt laengerfristig ins Seitenaus.

Wir haben die Universalitaet der Schwerter etwas gestutzt. Ebenso
wie beim Elementarschwert von Morgoth. Ich bin strikt gegen ein 
starres Regelwerk, um diese Grenzfaelle in Zukunft ausschliessen zu 
koennen. Es naehme uns und den Magiern viel von dem Freiraum und 
der Vielfalt, welche letztendlich dem Spiel zugute kommen.

- Tilly - 


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



Re^4: Zzerenzzen (Morgoth,  7. Aug 2001, 22:33:15):
~#! rn=Tilly rt=997200430 rg=d.unterwelt
~#! tid=996876466
Hm, ich schreib einfach mal was zu diesem Artikel.
Ihr behauptet immer ihr reguliert die Waffenvielfalt, Waffenstaerke usw. um
kurzfristig keine zu starken Sachen anzuschliessen oder laengerfristig den
Spielspass aufrecht zu erhalten.
Dann frag ich mich doch wieso so viele Leute zur Zeit so angepisst und mies
gelaunt sind? So weit ich mich erinnern kann gab es immer wieder mal kleine
Scharmuetzel zwischen Spielern oder auch der eine oder andere Magier (pfeif
unschuldig) der sich mit irgendwelchen arroganten Erzis angelegt hat.
So wie es im Moment aussieht geht das MG ganz derbe den Bach runter und es
sieht nicht so aus als wuerdet ihr etwas dazu beisteuern, diese Talfahrt zu
stoppen.
Angefangen mit der Peitsche, die ich damals auf EUREN Wunsch so fuer die
Chaoten geproggt hab und dann forgefahren mit dem ES, das auch schon mehrfach
gekuerzt wurde (wandelbare nur noch SEHR begrenzt, Bonus bei boesen/guten NPCs
kappen, HitFunc an sich kappen). Diese Forderung, so schoen ploetzlich wie sie
kam, war ebenso laecherlich. Auch Anatols Artikelchen "das Schwert kann ja
fuer die Gilden nochmal extra bewertet werden" oder so aehnlich, war doch
eigentlich nur der schwache Versuch sich nachtraeglich fuer diesen Bockmist zu
rechtfertigen.
So komisch es auch klingt, ich wuensche mir die alte Balance wieder. Mit denen
konnte man sich wenigstens konstruktiv Fetzen, bei Euch sieht es so aus als
muesstet ihr euch erst mal profilieren.
Weiter so, dann koennt ihr euch bald selbst eure eigenen Sachen genehmigen,
ist nur die Frage wer dann noch spielt!

Morgoth

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



Re^5: Zzerenzzen (Ark,  7. Aug 2001, 23:05:41):
~#! rn=Morgoth rt=997216395 rg=d.unterwelt
~#! tid=996876466
Viele Leute sind wohl angepisst, weil sie Besitzstaende verlieren. Das ist
menschlich und verstaendlich. Dass sie ihren Frust kundtun, ist menschlich und
verstaendlich. Dass man das mit wortgewaltigen Spruechen noch unterstuetzt,
ist nicht mehr nachvollziehbar. Schon gar nicht hier in der Oeffentlichkeit.
Hatten wir schon oefter, geht aber scheinbar ins rechte Ohr rein, und im
anderen gerade wieder raus. Bei Spielern koennen "wir" ja drueber hinwegsehen,
aber "wir" sollten uns nicht auch noch in diese Schreierei und Meierei mit
einmischen. Es wird bald neue Besitzstaende geben, die Foermchen sind dann
eben gruen statt rot und eckig statt rund. Wenn ein Magier einen neuen Eimer
schreibt, den ganz viele Spieler toll finden, dann passen vielleicht auch
nicht mehr die gruenen Foermchen dazu, dann gibt es vielleicht bald gelbe.
Diskutiert werden kann darueber in den Magierrubriken.


              *** ARK * the * Magnificent ***


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



Re^6: Zzerenzzen (Wurzel,  7. Aug 2001, 23:43:19):
~#! rn=Ark rt=997218341 rg=d.unterwelt
~#! tid=996876466
es sind jedesmal, wenn eine neue abwertungsrunde laeuft, viele leute
angepisst.
das ist seit vielen jahren so und wird sich auch nicht aendern. die einen
beruhigen sich nach einer zeit wieder, die anderen hoeren eben auf. auch
nichts neues.
warum das allerdings hier in dieser rubrik aufgewaermt wird, ist mir nicht
klar. es gibt doch genug alternativen: schmarrn, megaschmarrn, balance...

wurzel

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



Re^6: Zzerenzzen (Padreic,  8. Aug 2001, 00:31:23):
~#! rn=Ark rt=997218341 rg=d.unterwelt
~#! tid=996876466
Du schreibst "Das ueber Monate hinweg keinerlei Feadback gekommen ist, kann
ich so auch nicht stehen lassen.". Es mag ja sein das ihr bemueht seid mit den
Magiern zu sprechen und es mag auch sein, das dies gelegentlich auch so gut
geht. Eine kaum zu bestreitene Tatsache ist jedoch, das nachdem ihr unseren
Muensteraner Kompromiss wieder aufgekuendigt hattet, von Euch bis zu Eurem
besagtem Vorschlag _kein einziges_ konkretes Angebot kam, mir wurde meist
nicht einmal mitgeteilt, wenn ihr meine Vorschlaege abgelehnt hattet.
Das kam dann hoechstens per Zufall auf Nachfragen von mir raus, weil ich
wieder mal drei Wochen nichts von Euch gehoert hab.
Was stimmt ist, das ich immer wieder mit einzelnen von Euch brauchbare
Gespraeche hatte und diese endeten dann auch fast immer mit einem "Ok so sieht
das in meinen Augen gut aus" oder "ich denke Du hoerst dann naechste Woche von
uns". Ich Frage mich ernstlich wie sich Eure Einschaetzung der Lage in den
letzten drei Monaten mehrmals so dramatisch aendern konnte. Normalerweise geht
man in eine Kompromisssuche indem man formuliert was man gerne anderes haette.
Bei Euch aenderten sich diese Ansichten ja teilweise alle drei Wochen, was
eine Kompromisssuche natuerlich nicht gerade einfacher macht. Absolute
Grundlage jeder Kompromisssuche ist jedoch das man seine Ansichten
_ueberhaupt_ mal mitteilt und das ist bis zu Eurer letzten mail eben _nicht_
wirklich geschehn (sicherlich auch bedingt dadurch, das ihr Euch selbst nicht
einig und sicher ward).
Nun nachdem ihr Euch dann einig seid, was ihr ungefaehr wollt, und zum ersten
mal einen konkreten Vorschlag macht, diesen dann direkt mit einem
Entweder-Du-nimmst-den-so-oder-laesst-die-Schwerter-bis-zu-einer-Einigung-abge
hangen zu untermauern, hat fuer mich nichts mit einer konstruktiven
Kompromisssuche zu tun.

Wenn ihr ein bereits im Spiel befindliches Objekt nicht nur von der Staerke,
sondern _inhaltlich_ aendern wollt, dann geht dies wohl oder uebel nur
gemeinsam mit den Magiern. Die inhaltliche Gestaltung von Objekten und
Gebieten unterliegt zunaechst naemlich einzig und allein bei ihnen. Wenn Du zu
Boing gehst und sagst: Wir sind der Meinung das Feuerschwert in der SSP sollte
lieber Saeureschaden machen, dann kann es da durchaus inhaltliche Gruende
geben, wieso das totaler Schwachsinn ist und eine andere vielleicht
balancemaessig genauso vertretbare Loesung _inhaltlich_ sinnvoller waere. Ihr
koennt mir nun weiss Gott nicht vorwerfen, ich waere nicht kooperationsbereit
gewesen und insofern ist der (zugegeben ziemlich allgemein gehaltene) Absatz
von kooperationsunwilligen Magiern und Magiern die Objekte grundsaetzlich zwei
Stufen hoeher beantragen, eine in meinen Augen ziemlich miese rhetorische,
weil absolut unpassende. Andeutung.

Die Art und Weise wie hier mit einem Umgegangen wird, hat in meinen AUgen
_nichts_ mit Besitzstandswahrung zu tun Ark und wenn die Balance im Verlauf
der vergangenen Monate halb soviel konkrete mails mit Vorschlagen geschrieben
haette wie nun Artikel, waeren wir inhaltlich heute vermutlich schon weiter.
_Ich_ habe jedenfalls umgehend auf ihren Vorschlag reagiert und einen
Vorschlag angeboten der eigentlich all ihren Einwaenden gerecht werden sollte
- das ganze in die mpa gezogen habe nicht ich.
Ich denke die Welt waere auch nicht untergegangen wenn die Schwerter noch
einige Wochen so angehangen haetten bleiben duerfen, bis man sich einig ist.


Pad*

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



Re^7: Zzerenzzen (Gloinson,  8. Aug 2001, 01:21:14):
~#! rn=Padreic rt=997223483 rg=d.unterwelt
~#! tid=996876466
Langsam scheint dieser Wortwechsel zu einer blossen Zurschaustellung von
Wortgewalt und Abneigung zu werden. Koenntet Ihr alle, denn der Grossteil der
Balance schweigt (nachfuehlbar) das bitte unter Euch ausmachen und Eure
Ergebnisse, Kompromisse und Vertraege dann praesentieren? Ich les mir gern die
Politikspalte in jeder Zeitung durch, aber es muss nicht gerade jedes Detail
einer Verhandlung darin sein.

Gloin(son), vorlaut und ungebeten wie immer. Danke.

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



Re^7: Zzerenzzen (Muaddib,  8. Aug 2001, 10:07:09):
~#! rn=Padreic rt=997223483 rg=d.unterwelt
~#! tid=996876466
Eigentlich mag ich dazu gar nicht zuviel sagen, aber wie Ark schon geschrieben
hat, koennt ihr Euren "turf fight" nicht in den Magierrubriken austragen? Ist
zwar toll, wenn man als Spieler mitbekommt, dass die Magier - insbesondere
Padreic und Morgoth - so absolut auf Spielerseite stehen und die boese und
arrogante Balance die Foermsken putt macht, aber eigentlich geht das die
Spieler meiner Meinung nach nur im Resultat was an.

Streitet alleine.

Meine $ 0.02
Mua

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



Re^7: Zzerenzzen (Anatol,  8. Aug 2001, 11:55:44):
~#! rn=Padreic rt=997223483 rg=d.unterwelt
~#! tid=996876466


[ DISCLAIMER: Dieser Artikel versteht sich als ein sogenannter offener
  Brief und ist recht lang. Wer bis zum Schluss durchhaelt, hat sich
  ein Stueck Achtung verdient. ]


Padreic,

ich wollte es ja eigentlich vermeiden, direkt auf Deinen Artikel zu 
antworten (der argwoehnische Leser wittert ein Flame), aber da Du 
meiner Ansicht nach durch recht einseitige 'Berichterstattung' weiter
konsequent an der Politik der Fehlinformation festhaeltst (nachdem die
Beschwerden bei Balance-Erzmagier und Mudgoetter nicht die Deinen 
Vorstellungen entsprechenden Ergebnisse zeigten?), erzwingst Du ja 
fast eine Antwort. Ich versuche, sachlich und verstaendlich zu 
bleiben, versprochen.

Aufgabe der Objekt-Balance ist es, den das Kampfgeschehen betreffenden
Spielbetrieb laengerfristig zu sichern. Gebiete, die heute interessant
sind, sollen es auch morgen und uebermorgen noch sein, gleichzeitig 
aber muss moeglich bleiben, dem Mud weiter Vielfalt hinzuzufuegen - 
kein Magier moechte nur die hundersten Lichtpanzer und Ledermokassins 
anschliessen, wuerde ja auch keinen interessieren. Das ist keineswegs
einfach, im wahrsten Sinne des Wortes ein Balance-Akt und muss nicht
wirklich immer die Zustimmung der 'breiten Masse' oder die des vom 
"Akt" betroffenen Magiers finden.

Das Team der Objektbalance besteht derzeit aus sieben Personen. Das 
hat Vor- und Nachteile: Sieben Personen brauchen laenger, um zu einer 
Entscheidung zu kommen, sie sind sich auch nicht immer einig. Aber 
vierzehn Augen sahen (und sehen weiterhin) mehr als zwei und die 
Wahrscheinlichkeit einer Fehlleistung sinkt. Dass als Nebeneffekt 
viel haeufiger ein Ansprechpartner zur Verfuegung steht, ist auch ganz
nett. Ebenso hat die hoehere Leistungsfaehigkeit (zusammengerechnet
waere es wohl mehr als nur eine einzige Vollzeitstelle, was so an Zeit 
in die Balancearbeit fliesst) den Vorteil, dass sich das Team auch mit
der Findung von Kompromissen beschaeftigen kann. Das heisst, dass man 
sich bei der Genehmigung eines Objektes, das in der beantragten Form
nicht ins Spiel passt, den Luxus leistet und es nicht einfach ablehnt,
sondern - auch in Ruecksprache mit dem verantwortlichen Magier - die
notwendigen Modifikationen vornimmt und in der veraenderten Form dann
genehmigt (Etwas, das sich etwa ein einzelner Balance-Erzmagier nicht
leisten kann, wenn er nicht ganz auf sein reales Leben verzichten 
moechte). Wie Tilly bereits schrieb, ist ein Kompromiss zwar sehr
wuenschenswert, aber nicht im Pflichtprogramm: Im Zweifelsfall ist es
das Balance-Team, welches das letzte Wort hat.

Nachtraegliche abwertende Anpassungen von kampfbeeinflussenden 
Objekten an das Mudgeschehen hat es schon immer gegeben, und sie
waren sicher notwendig. Allen Recht machen kann man es damit nicht:
Greift man ein, bevor das Kind in den Brunnen gefallen ist, stoesst
man bisweilen auf Unverstaendnis von Seiten des verantwortlichen
Magiers ("Das wird doch fast nicht genutzt!"). Greift man ein, wenn
das Kind bereits in den Brunnen gefallen ist (Rattenblut, SMS,
Elementarschwert...), erntet man wieder Unverstaendnis und Groll, 
diesmal hauptsaechlich von Spielerseite. Wie man's macht, ist's
falsch. Oder eher: WENN man's macht, ist's zwar richtig - aber egal
wie, es gibt an irgendeinem Ende der Decke erstmal kalte Fuesse, und
die strampeln dann kraeftig. Keiner spuert das mehr als die Mitglieder
der Balance.

Vielleicht sollte ich jetzt etwas konkreter werden, ja?

Du bist seit November 2000 in die Diskussion um die Runenschwerter
involviert. Ich moechte an dieser Stelle zwei Dinge betonen: Erstens
wurde den Runenschwertern so viel Aufmerksamkeit zuteil wie sonst 
kaum ein anderes Objekt hat erfahren duerfen. Zum anderen haben wir 
noch NIE so lange und ausdauernd gemeinsam mit einem Magier nach 
Loesungen gesucht.

Damit nicht Chaos herrscht ist in so einem Fall meist ein einzelnes
Mitglied des Gremiums damit beauftragt, als Schnittstelle zwischen 
Balance und Magier zu fungieren. Zum einen, weil es fuer den Magier 
sicher leichter ist, zum anderen, weil ein weniger netter Magier so
schon gar nicht erst in die Versuchung geraet, einen Mitarbeiter der
Balance gegen einen anderen auszuspielen. Das kann ab und zu schon
etwas mehr Zeit schlucken, ist aber fuer alle Beteiligten ein eher
geringer Preis, denn Kompromisse, so sie gefunden werden koennen, sind
etwas schoenes. Wenn Du also von diesem Mitglied ueber ein bis zwei
Wochen nichts gehoert hast, kann das durchaus daran liegen, dass er
in diesem Zeitraum mit dem Team Ruecksprache hielt. Lass' Dir von mir
versichert sein: Es WAR so.

Jedenfalls ging es um zwei Dinge, die wir, das gebe ich zu, leider 
lange Zeit nicht auseinandergehalten haben (Du hast Dich im Juni
zurecht darueber beschwert und es tut mir leid, dass wir Dir Grund
dazu gaben). Zum einen ging es um die Anpassung der Runenschwerter 
an die neue Regelung, also vom Zweidrittel-/Dreiviertel-Anteil an 
nichtphysikalischen Schaden auf eine andere Loesung, und zum anderen 
um eine Anpassung der Runenschwerter an die Verhaeltnisse des Muds. 
Wie Du selbst gesagt haben sollst: Die Runenschwerter waren auf 
Universalitaet ausgelegt. Und das ist und war (und wird hoffentlich
weiter so bleiben) - in den Augen der Balance - nicht wuenschenswert. 
Schon vor dem von Dir erwaehnten Muenster-Kompromiss (der lediglich
eine eine Einigung auf das Prinzip der Umstrukturierung der Schwerter
war, aber weder genaue Zahlen noch Formeln beinhaltete) wurde Dir
vermittelt, dass die Dunkelelfen-Gilde nicht tangiert werden muss und
Du entsprechende Details mit dem Gildenbalanceerzmagier ausmachen 
kannst.

Fuer den ersten Teil jedenfalls konnte, wenn ich die Zeichen richtig
deute, nach langem hin und her eine Loesung gefunden werden - Du 
siehst das vielleicht aehnlich, denn Du kannst ja auch rechnen. Was 
allerdings die bewusste Beschneidung des Universalen (lies: die 
Herausnahme von Schadenstypen) angeht, warst Du definitiv nicht 
bereit, mitzuziehen: Das Streichen von zwei eher unwichtigen 
Schadenstypen ist KEIN Kompromissvorschlag, sondern eher als ein 
kleines Bauernopfer anzusehen.

Schluessige Argumente von Deiner Seite aus gab es nicht. Wiederholt
hast Du erwaehnt, dass die Gilde das nicht abkoenne und man keine
Schadenstypen streichen duerfe. Du hast sogar behauptet, Dunkelelfen
koennen ohne Runenschwerter ueberhaupt keinen nennenswerten Schaden
verursachen. Ungeachtet dieser anzuzweifelnden Aussage (Testies laufen
ja zur Genuege herum, hast Du die schonmal mit einem Schwert vom
Todesritter gesehen?) haben wir Dir mehrmals gesagt, ja versichert, 
dass die Dunkelelfengilde von der Einschraenkung der Schadenstypen 
nicht betroffen sein muss. Ich verlasse mich diesbezueglich voll auf 
die Aussage meines als Schnittstelle fungierenden Kollegen.

Du wirfst der Objekt-Balance auch oeffentlich vor, sie ...

o ... ueberschreite ihre Kompetenzen, da sie inhaltliche Aspekte
  vorschreibe. 

  Dementi: Der Schadenstyp einer Waffe ist KEIN inhaltlicher Aspekt.
  Die Schadenstypen haben im lebenden Mud verschiedene Bedeutung und
  sind fuer das Kampfgeschehen relevant. Ob Du die Runenschwerter aber
  rosa oder hellblau anmalen moechtest, sei ganz Dir ueberlassen. 

o ... suche nicht nach Kompromissen.

  Dementi: Doch, tun wir. Aber wenn ein Magier bei der "Suche nach dem
  Kompromiss" eine von Seiten der Balance als zwingend erforderlich 
  angesehene Aenderung strikt verweigert, weil sie seiner Meinung nach
  eine nicht angeschlossene Gilde ruiniere, und jegliche Versuche,
  diesem Magier zu erklaeren, dass diese Gilde von der strittigen 
  Aenderung nicht betroffen sein muss, scheitern... wenn eben dieser 
  Magier zu Beginn der Gespraeche damit droht, die betroffenen Objekte 
  abzuhaengen und selbst nichts mehr im Mud zu tun, sollte die Balance
  bei der Anpassung nicht innerhalb seiner Toleranz bleiben (spaeter
  dreisterweise in der Zeitung behauptet, es sei nicht seine Art),...
  dann betrachte ich die Umstaende als "erschwert". 

o ... lasse sich zuviel Zeit.

  Dementi: Ehrm... naja. Manchmal schon, fuerchte ich. Wir sind, trotz
  aller Weish^H^H^H^H^HUeberheblichkeit Menschen und unterliegen den 
  fuer Menschen vorgesehenen Naturgesetzen. Aber auf Zeit gespielt
  haben wir nicht. Im Fall "Runenschwerter" war es eher so, dass wir
  andere Magier straeflich vernachlaessigt haben: Wir haben z.B. 
  Morgoth mit den Elementarschwertern etwas vor den Kopf gestossen, 
  weil wir uns mit IHM nicht kurzgeschlossen haben. An dieser Stelle 
  nochmals die Bitte um Entschuldigung *seufz*, das war nicht toll.

o ... 
  
Weisst Du, ich bin des Geschreis so langsam leid. Erst erweckst Du 
den Eindruck, dass die Balance Dir die Genehmigung fuer Zzerenzzen 
entzogen habe (und damit hast DU es in die MPA gezogen, nicht wir),
zitierst dann eine markante Stelle aus Tillys Balance-Mail, die sehr
deutlich formuliert klarstellt, dass Du die Runenschwerter erst in 
veraenderter Form wieder anhaengen darfst, verschweigst aber, dass 
dies bereits die *ZWEITE* Mail war, die Dir geschrieben werden 
musste, weil Du auf die erste Mail hin den Beschluss schlicht 
ignoriertest (Du sagtest zu Tilly woertlich: "solang die genehmigung 
nicht widerrufen wird, bleiben die RS bis auf weiteres so wie sie sind
angeschlossen"). Du bist ein Unikum. Du redest von Entgegenkommen, 
aber bitte, ist es ein Entgegenkommen, wenn Du der Balance anbietest, 
eine Verunreinigung (den unheiligen Schaden) zu entfernen? Oder 
Abfragen auf den Skillwert des Spielers einzubauen, die eigentlich 
ohnehin SEHR sinnvoll waeren? WIR haben, was das Feilschen angeht, 
auf taktische Massnahmen verzichtet und nicht die Axt verlangt, um 
spaeter das Messer erhandeln zu koennen. Das hat nichts mit fehlendem
Entgegenkommen zu tun, das ist Fairness und klappt bei den anderen 
Magiern wirklich gut. Und Du spekulierst mit einer erfrischenden 
Sicherheit ueber die internen Vorgaenge, ueber die Verwendung von 
Veto-Rechten, ueber Unsicherheiten... das ist Dein gutes Recht, traegt
aber - ebensowenig wie Dein in meinen Augen unverschaemter Stil in
bewusst inhaltslosen Artikeln - nichts, aber wirklich nichts zur 
Konfliktloesung bei. Wenn man davon absieht, dass es Dir vielleicht 
hilft, Dich abzukuehlen. (Es kann aber nicht schaden, denke ich, wenn 
in einer ruhigen Minute mal beschrieben wird, wie so ein Bewertungs-
Procedere im Regelfall aussieht, damit wieder ein Stueck Transparenz 
zur Black Box Balance hinzugefuegt wird.) Konstruktiv jedenfalls war 
keiner Deiner Artikel.


Ich werde nicht ganz schlau daraus. Fuer mich sieht es so aus, als ob
Du einen Beschluss des Gremiums nicht akzeptieren kannst, wenn er Dir
persoenlich nicht in den Kram passt. Es ist mir zwar herzlich egal, an
welchen Gott Du glaubst und welche Wertvorstellungen Du hast, aber Du
solltest auch in eine Hierarchie hineinpassen, wenn Du NICHT an ihrer 
Spitze stehst oder diese NICHT das tut, was Du getan haettest.

Oh, und die Balance, die steht auch nicht da oben. Nur falls Du das
glauben solltest...

Mit freundlichem Grusse,
Anatol

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



Re^7: Zzerenzzen (Ark,  8. Aug 2001, 13:07:50):
~#! rn=Padreic rt=997223483 rg=d.unterwelt
~#! tid=996876466
Besitzstaende entstehen mit der Zeit, je frueher man einschreitet, desto
(vergleichsweise) geringer das Geschrei.
Ich kenne Deinen Fall jetzt zu wenig, um darauf selbst einzugehen, ich muss
allerdings sagen, dass ich noch nie Probleme mit der Balance hatte. Ob das nun
an mir, an Ihnen, an wenig Gegenstaenden, an schwachen Gegenstaenden oder
weiss der Deibel woran lag, mag jeder selbst interpretieren. Deshalb stoeren
mich auch allgemeine Aussagen wie "Balance spinnt", "neue Besen, au Backe",
"es geht bergab mit der Balance" usw. etc. pp., schon alleine deshalb, weil
durch die oeffentliche Breittretung (eher Breittreten :-) ) wieder mal der
Eindruck entsteht, die Magier bekriegen sich. Selbst wenn dem so ist, ist es
kontraproduktiv, zu glauben, es gaebe Frieden, wenn man Spielerstimmen hinter
sich schart, deren Wissen durch teile mits, Ebenengeschwaetz (sorry :-) ) und
Stammtischhoerensagen entstand. Gut, so werden auch in einem Land vielleicht
Wahlen entschieden und Praesidenten gewaehlt, Politik gemacht. Aber hier? Weg
mit dem Thema aus der MPA und zurueck ans Zeichenbrett, bzw. den
Diskussionstisch. Setzt Euch einfach klare Ziele mit Zeit und haltet es
schriftlich fest. Danach gibt es keine Diskussion mehr. Normalerweise.


              *** ARK * the * Magnificent ***


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



Re^8: Zzerenzzen (Patryn,  8. Aug 2001, 13:41:34):
~#! rn=Anatol rt=997264544 rg=d.unterwelt
~#! tid=996876466
ich will nur mal einwerfen, dass fuer mich der schadenstyp ein sehr
deutlicher inhaltlicher aspekt ist, der rein zufaellig aber der balance
vorzulegen ist.
erst an zweiter stelle steht imho, was man denn tolles mit schnittschaden
machen kann, wenn man ein schwert programmiert hat...

-- 
patryn

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



Re^9: Zzerenzzen (Wurzel,  8. Aug 2001, 15:47:33):
~#! rn=Patryn rt=997270894 rg=d.unterwelt
~#! tid=996876466
ist natuerlich eine grauzone. ganz klar ist der schadenstyp inhaltlich, spielt
aber trotzdem eine rolle bei der balance. somit muss sich die balance auch
mal inhaltlich einmischen, obwohl ich das eigentlich auch ablehne. mir faellt
aber momentan auch keine andere loesung ein.

wurzel

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



mal was konstruktives... (Wurzel,  8. Aug 2001, 20:16:44):
damit hier auch mal wieder was konstruktives steht:
der imbiss ist um einige menuepunkte reicher geworden.

wurzel (arbeitet repfile ab, selbst wenn eintraege von mupfel kommen :)

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



Re^8: Zzerenzzen (Roland, 12. Aug 2001, 11:32:03):
~#! rn=Anatol rt=997264544 rg=d.unterwelt
~#! tid=996876466
Juhu...

Also mal vorweg ... (monsterpost phu)
Naja egal ... ich wollt eigendlich nur mal schreiben was ich nach lesen dieses
textes so fuer mich an neuem wissen ergeben hat.

So wies aussieht sind alle dahin bestrebt ihr bestes fuers mud zu tun.
besonders das b.-team hat wohl einen sehr harten job, da sie zwischen den
flanken stehen. Und nicht nur fuer den mom entscheiden muessen, sonderen auch
fuer spaetere mudtage.

was dabei jedoch auffaellig ist das es scheinbar einen kompletten einbruch
dieses zierlichen konstrukts zu geben scheint, sobald einzele personen
querschiessen.

es wurde von Hierarchie gesprochen ... aber was nuetzt die wenn nicht danach
gehandelt wird.
ich glaube das system is so ganz gut .. nur sollten sich alle dran halten.
sobald Anarchie ins mud einkert gibt es kein zurueck mehr ... und die viele
arbeit von so vielen leuten wird dann wohl um sonst gewesen sein.

Roland fragt: Muss das wirklich erst so weit kommen?

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



Re^9: Zzerenzzen (Tektuko, 12. Aug 2001, 11:42:26):
~#! rn=Roland rt=997608723 rg=d.unterwelt
~#! tid=996876466
Anarchie, das wird Solmyr aber gefallen :)

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



Re^9: Zzerenzzen (Patryn, 12. Aug 2001, 11:43:24):
~#! rn=Roland rt=997608723 rg=d.unterwelt
~#! tid=996876466
es ging bis dato gar nicht um die uebliche hierarchi in sachen balance,
es geht derzeit um das abstecken der zustaendigkeiten,
denn man (padreic und andere) stoert sich doch nicht an der
noetigen beantragung balancekritischer objekte ansich, sondern an der
unaufgeforderten neubewertung von alten objekten durch die balance nebst
aenderungsforderungen an die betreffenden magier.

-- 
patryn

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



Re: mal was konstruktives... (Wurzel, 14. Aug 2001, 23:59:52):
~#! rn=Wurzel rt=997294604 rg=d.unterwelt
~#! tid=997294604
noch was... man munkelt, dass ein hoehlentroll irgendwo sein unwesen treibt.
hoffentlich vermehrt der sich nicht auch noch...

wurzel

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



Re: Re: mal was konstruktives... (Grimmborn, 15. Aug 2001, 05:58:02):
~#! rn=Wurzel rt=997826392 rg=d.unterwelt
~#! tid=997294604
Solange er alleine ist ist die Gefahr der Vermehrung wohl eher gering, glaube
ich. Aber ich hab in Biologie nicht richtig aufgepasst als es um Trolle ging. 

GdA

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



Re^3: mal was konstruktives... (Bambi, 15. Aug 2001, 15:37:26):
~#! rn=Grimmborn rt=997847882 rg=d.unterwelt
~#! tid=997294604
So, jetzt nochmal ohne diese Redundanz...
Trolle koennen sich, wenn sie alleine sind, sehr gut vermehren.

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



Re^4: mal was konstruktives... (Rardian, 15. Aug 2001, 16:11:48):
~#! rn=Bambi rt=997882646 rg=d.unterwelt
~#! tid=997294604
>Trolle koennen sich, wenn sie alleine sind, sehr gut vermehren.

Aber nur die masochistisch veranlagten unter ihnen...

GRuss,
  Rar.

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



Re^5: mal was konstruktives... (Wurzel, 15. Aug 2001, 16:19:14):
~#! rn=Rardian rt=997884708 rg=d.unterwelt
~#! tid=997294604
sind wir nicht alle ein wenig masochistisch?
oder wie kommt es, dass wir uns hier in unserer freizeit pruegeln (lassen)?

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



Re^6: mal was konstruktives... (Rardian, 15. Aug 2001, 16:25:05):
~#! rn=Wurzel rt=997885154 rg=d.unterwelt
~#! tid=997294604
>sind wir nicht alle ein wenig masochistisch?

Angenommen, das stimmte. Dann waeren aber immer noch die wenigstens von uns
Trolle. Und ueber masochistische Mudder (vielleicht eine Tautologie?) wage ich
gar keine Aussage zu treffen!

Rar, gruessend.

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



Re^7: mal was konstruktives... (Wurzel, 16. Aug 2001, 19:53:01):
~#! rn=Rardian rt=997885505 rg=d.unterwelt
~#! tid=997294604
trotz allem ist es passiert... der troll hat sich vermehrt. und eins kann
man sicher sagen: weder er noch sein bruder sind masochisten. im gegenteil.

wurzel

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



Re: Zzerenzzen (Padreic, 17. Aug 2001, 23:16:48):
~#! rn=Padreic rt=996876466 rg=d.unterwelt
~#! tid=996876466
Tiamak war heute so freundlich mir zu helfen, die Normalwelt von Zzerenzzen zu
seperieren. Dadurch ist die Normalwelt von Zzerenzzen ab nun wieder frei
zugaenglich. Ich habe es gerade nochmal alles durchgetestet und es _sollte_
alles sauber funzen, garantieren das man nicht ausversehn in einen Pararaum
gelangt, wenn man in der Parawelt ist, kann ich jedoch nicht. Also seid
vorsichtig und betretet Zzerenzzen am besten nur in der Normalwelt.

Pad*

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



Re^8: mal was konstruktives... (Wurzel, 21. Aug 2001, 17:58:47):
~#! rn=Wurzel rt=997984381 rg=d.unterwelt
~#! tid=997294604
trulla hat eine schwester... trolla. es greift um sich.
wurzel

p.s. wer damit nichts anfangen kann: don't worry, be happy

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



Re^9: mal was konstruktives... (Montanus, 21. Aug 2001, 17:59:47):
~#! rn=Wurzel rt=998409527 rg=d.unterwelt
~#! tid=997294604
Wieso erinnert mich das so stark an...

Tri-Tra-Trullala... der kasperle ist wieder da? ;-)

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



Re^10: mal was konstruktives... (Wurzel, 21. Aug 2001, 18:00:33):
~#! rn=Montanus rt=998409587 rg=d.unterwelt
~#! tid=997294604
weil du eine kindliche phantasie hast? muss man wahrscheinlich auch haben,
wenn man bei einem spielwarenladen arbeitet :)

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



Re^11: mal was konstruktives... (Montanus, 21. Aug 2001, 18:01:27):
~#! rn=Wurzel rt=998409633 rg=d.unterwelt
~#! tid=997294604
Oh.
Spielwarenladen.
*Das* ist nun ein nettes Understatement. ;-)


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



Re^12: mal was konstruktives... (Grimmborn, 21. Aug 2001, 18:22:42):
~#! rn=Montanus rt=998409687 rg=d.unterwelt
~#! tid=997294604
Naja, wenn Dir "Kartenshop" lieber ist...

GdA

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



mal wieder was krytisches... (Wurzel, 23. Aug 2001, 13:51:12):
surt luegt nicht mehr (so sehr).

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



Re: mal wieder was krytisches... (Wurzel, 23. Aug 2001, 13:55:14):
~#! rn=Wurzel rt=998567472 rg=d.unterwelt
~#! tid=998567472
bevor noch mehr leute mich drauf aufmerksam machen:
in der artikelueberschrift ist ein typo. ich weiss.

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



Re: Re: mal wieder was krytisches... (Troy, 23. Aug 2001, 18:11:51):
~#! rn=Wurzel rt=998567714 rg=d.unterwelt
~#! tid=998567472
echt? Ich dachte, Krytien sei ein neues Gebiet...

Troy

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



Re^3: mal wieder was krytisches... (Deepblue, 23. Aug 2001, 18:12:17):
~#! rn=Troy rt=998583111 rg=d.unterwelt
~#! tid=998567472
Nicht denken, Proggen!

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



die spinnengoettin (Wurzel, 26. Aug 2001, 03:15:45):
es koennte fuer den einen oder anderen interessant sein, sich die leichenteile
der spinnengoettin mal naeher anzusehen. nur so als anmerkung.

wurzel, nachtaktiv

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



Weg nach Muspelheim (Darkwing,  1. Sep 2001, 12:51:02):
Auf selbigem stehen ein paar Dutzend Spinnen, betreten haette gereicht um mich
drei oder viermal zu toeten. 

Nach dem Aufwachen die Vergiftung dann gleich nochmal, ich dachte das sollte
beim Tod imzwischen ausgetragen werden... naja.

Bis irgendein Magier die Spinnen entsorgt hat, sollte man sich den Weg nach
Muspelheim jedenfalls mal sparen.

Darkwing

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



Re: Weg nach Muspelheim (Tiamak,  1. Sep 2001, 13:03:13):
~#! rn=Darkwing rt=999341462 rg=d.unterwelt
~#! tid=999341462
Die Spinnen sind erst einmal weg.

Tiamak

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



Re: Weg nach Muspelheim (Tiamak,  1. Sep 2001, 13:44:13):
~#! rn=Darkwing rt=999341462 rg=d.unterwelt
~#! tid=999341462
So, die Doppeltode nach dem Muster "Sterben am NPC, beten, Sterben an einer
Vergiftung/Krankheit" sollten jetzt auch endgueltig erledigt sein.

Allerdings ist damit auch ein Stueckchen Tradition im MG gestorben -
weitermetzeln (bzw. gemetzelt werden ;^) in der Todessequenz wird auch der
tapferste Spieler nicht mehr koennen.


Tiamak

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



Re: Re: Weg nach Muspelheim (Wurzel,  3. Sep 2001, 11:24:19):
~#! rn=Tiamak rt=999344653 rg=d.unterwelt
~#! tid=999341462
diese spinnen stammen noch aus einer zeit, als skripte verboten waren, und
waren als aergernis fuer uebeskripter gedacht. nun ist es mittlerweile nicht
mehr verboten, deswegen aber nicht unbedingt beliebter geworden. ich habe
die fiesen kleinen biester etwas entschaerft, aber nicht abgeschafft, soll
das im klartext heissen.

wurzel

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



enter three witches (Wurzel,  6. Sep 2001, 17:10:43):
professor stinkmann hat mich gebeten, folgendes zu veroeffentlichen:

aus der geschlossenen abteilung der finsterwaldklinik sind drei alte frauen
entkommen, die als gemeingefaehrlich gelten. fuer die beseitigung ist eine
belohnung ausgesetzt.
ein wort der vorsicht: die weird sisters arbeiten zwar anders als bei
macbeth, koennen aber trotzdem schnell ins verderben fuehren.

wurzel

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



Re: enter three witches (Orktoeter,  6. Sep 2001, 17:13:12):
~#! rn=Wurzel rt=999789043 rg=d.unterwelt
~#! tid=999789043
TWA?

Braucht man dafuer Luftabwehrwaffen?

OrkT, neugierig.

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



Re: Re: enter three witches (Anatol,  6. Sep 2001, 17:16:02):
~#! rn=Orktoeter rt=999789192 rg=d.unterwelt
~#! tid=999789043
Wurzel, Du HELD. :) Pruef' doch bitte wenigstens, ob die potentiellen
Gegner bei den Hexen im Raum sind, ja? ("finde jede hexe"...)

Anatol, blind, verflucht und mit Fusspilz ;)

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



Re^3: enter three witches (Wurzel,  6. Sep 2001, 17:16:59):
~#! rn=Anatol rt=999789362 rg=d.unterwelt
~#! tid=999789043
:liegt unter dem tisch und lacht.

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



Re^4: enter three witches (Liara,  6. Sep 2001, 21:01:54):
~#! rn=Wurzel rt=999789419 rg=d.unterwelt
~#! tid=999789043
Was genau bedeutet es, wenn Du lachst?

Ich habe grade netterweise auchma finde 'jede hexe eingegeben' und dann kam
folgendes:
Du murmelst die vorgeschriebenen Worte und haeltst ploetzlich eine magische
Kugel in den Haenden.
Die scheussliche Hexe stopft etwas in Deine Ohren.
Du schaust in die rotgruenlich schimmernde Kugel und erkennst verschwommen:
------------------------------------------------------------------------------

 1) Hexe.                
Im Knusperhaeuschen.                              

------------------------------------------------------------------------------
Die Kugel loest sich wieder auf.

Prompt hatte ich Fusspilz und war taub. :-)

Lass mich raten, das hat nix mit Deinen Hexen zu tun?

ZZLB, verwirrt

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



Re^5: enter three witches (Varlarion,  6. Sep 2001, 21:06:15):
~#! rn=Liara rt=999802914 rg=d.unterwelt
~#! tid=999789043
Bhuturih konzentriert sich und haelt Dir einen milchigen Spiegel
vor die Nase. Du siehst:

Bhuturih teilt Dir mit: Das Biest gibs zwar, aber was weiss ich, wo es ist.
Bhuturih teilt Dir mit: Interessiert mich auch einen Scheissdreck.

Varlarion hmmt.

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



Bye (Padreic, 15. Okt 2001, 23:47:40):
Irgendwann kommt fuer jeden die Zeit zu gehen, fuer den einen frueher, fuer
den andern spaeter. Gut fuenf Jahre hab ich nun das Spielgeschehn im MG
verfolgt, teils amuesiert, teils gestresst, aber doch meist mit einer Menge
Spass. Unentwegt hat sich das MG in dieser Zeit geaendert und man mag
geteilter Meinung sein, ob zum besseren oder nicht. Das MG von heute ist
jedenfalls nicht mehr dasselbe wie damals als ich anfing und mich entschied
hier zu programmieren (und zu einem kleinen Teil ist dies mein eigener
Verdienst oder Verschulden, wie mans nimmt :o). Das heutige MG ist zumindest
als Magier fuer mich nicht mehr der richtige Ort um zu wirken. Zuviel
Bestrebungen alles im Auge zu haben, zu lenken und zu kontrollieren und nicht
mehr die Freiheiten in der Kreativitaet wie man sie einmal hatte. Aus diesem
Grund habe ich mich entschlossen nun endgueltig aus dem aktiven Dienst
auszuscheiden und in Rente zu gehen.
Der eine oder andere wird sich nun sicher fragen was aus der Gilde und den
Paradelfen werden wird. Da hier eine Menge Arbeit (inzwischen nicht nur von
mir drinsteckt) habe ich mich nach langem Ueberlegen entschlossen, diese als
letzten Teil wie geplant anzuschliessen mit allem was dazu gehoert
(Kraeuterskill etc.). Da ich auf absehbare Zeit wohl immer wieder mal noch zum
Spielen oder Chaten hier sein werde, werde ich diese auch noch im Auge
behalten und pflegen. Da Padreic jedoch nur noch selten hier sein wird,
solltet ihr in dringenden Faellen zur Mail greifen (von innerhalb, da Mails
von aussen nicht weitergeleitet werden).


Pad*

P.S.: _Wann_ der genaue Gildenanschluss nun kommt kann ich Euch leider noch
nichts sagen, aber NW wird sich wohl in naechster Zeit wieder an die Gilde
setzen und weiter pruefen.

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



Parazzerenzzen (Padreic, 25. Nov 2001, 13:36:41):
Wie versprochen habe ich die Parawelt von Zzerenzzen noch ein letztes mal
uptodate gebracht und wieder angehangen. Dieses war aber wohl auf absehbare
Zeit definitiv das letzte was ich hier als Magier gemacht haben werde. Fuer
mich war das MG immer ein Hobby, das Spass gemacht hat. Die Art und Weise
wie in einem in letzter Zeit einige EMs jedoch Knueppel zwischen die Beine
werfen und mit den hahnebuechesten Argumenten Regeln und Entscheidungen aus
dem Hut zaubern, haben mir den Spass nun endgueltig verdorben und mich fast
so weit gebracht meinen eigenen Ueberzeugungen untreu zu werden und das
Gebiet abgehangen zu lassen. Leider trifft man mit sowas nur die falschen
und an meiner Meinung zu dem Thema hat sich auch nicht wirklich was geaendert.
Bei meinen angeschlossenen Gebieten ist die Wartungsfrage durch die RMs ja
geklaert. Was die Gilde und einigen anderen unangeschlossenen Kram angeht,
so sehe ich keinen grossen Sinn darin, diesen sinnlos per Muelleimer zu
entsorgen. Wenn sich also jemand finden sollte, der Interesse an einem
Teil meiner Sourcen oder an der (im Prinzip fertigen) Gilde hat, so moege er
sich bitte per mail an padreic@winheller.de an mich wenden.
Sollte jemand Interesse an der Gilde haben, so moege er sich bitte moeglichst
schnell melden, da ich davon ausgehe das Nachtwind fuer die Abnahme nicht
mehr sooo lange brauchen duerfte und ein bisschen einarbeiten sicher nicht
verkehrt waere.

Pad*

P.S.: Zumindest Grundlegende C, C++ oder LPC Kenntnisse sollte man fuer die
Gilde denke ich schon mitbringen...

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



Re: Parazzerenzzen (Wurzel, 25. Nov 2001, 20:51:25):
~#! rn=Padreic rt=1006691801 rg=d.unterwelt
~#! tid=1006691801
... was ich hier gemacht haben werde...
tolle grammatik. leider ist meine schulzeit schon ein paar jahre her, daher
weiss ich nicht mehr, wie man diese zeitform nennt. kann mir da jemand helfen?

uebrigens, wer sich der dunkelelfen annehmen moechte, kann auf meine hilfe
zaehlen. ich selbst werde es aber nicht tun. freiwillige vor!

wurzel

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



Re: Re: Parazzerenzzen (Grimmborn, 25. Nov 2001, 20:53:03):
~#! rn=Wurzel rt=1006717885 rg=d.unterwelt
~#! tid=1006691801
Futur II.

GdA

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



Re^3: Parazzerenzzen (Gnome, 25. Nov 2001, 20:57:45):
~#! rn=Grimmborn rt=1006717983 rg=d.unterwelt
~#! tid=1006691801
das kannst du ihm doch nicht so einfach an den kopf knallen! etwas
sachter bitte: lieber wurzel, das ist futur 2 oder auch vorzukunft.
auf englisch "future perfect".

gnOme

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



Re: Re: Parazzerenzzen (Weatherwax, 26. Nov 2001, 21:37:43):
~#! rn=Wurzel rt=1006717885 rg=d.unterwelt
~#! tid=1006691801
Futur 2

Wx

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



Hexen (Silvana, 27. Nov 2001, 11:28:22):
Falls sich jemand ueber das Verschwinden dreier Individuen aus Wurzels Reich
wundern sollte: Die hab ich entfernt und der Aufbereitung - dieses mal
moeglichst ohne gewisse Bugs - zugefuehrt.

  Silvana

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



Re: Hexen (Gloinson, 27. Nov 2001, 11:29:11):
~#! rn=Silvana rt=1006856902 rg=d.unterwelt
~#! tid=1006856902
Also sind Feen doch maechtiger als Hexen. Mist, ich habs gewusst.

Gloin(son)

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



Re: Re: Hexen (Wurzel, 27. Nov 2001, 22:04:17):
~#! rn=Gloinson rt=1006856951 rg=d.unterwelt
~#! tid=1006856902
und das wo ich eigentlich momentan keine zeit zum proggen hab... anyway, die
haesslichen maedels sind wieder da. und sie werden silvana auch nicht mehr
im workroom besuchen :)

wurzel

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



Re^3: Hexen (Vardion, 27. Nov 2001, 22:05:49):
~#! rn=Wurzel rt=1006895057 rg=d.unterwelt
~#! tid=1006856902
nur silvana nicht? :)

vardion

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



Dunkelelfen (Zook, 30. Dez 2001, 22:01:56):
Hallo zusammen,

ich habe eine gute Nachricht fuer Euch: Fuer die Gebiete von Padreic und 
fuer die Fertigstellung und den Anschluss der Dunkelelfengilde hat sich
jemand gefunden: Ragnaroek wird sich in der kommenden Zeit dieser Aufgabe
widmen. Dies bedeutet, dass Anregungen fuer die Dunkelelfen und fuer
die Gebiete von Padreic in Zukunft an ihn gerichtet werden sollten. 

Dir Ragnaroek wuensche ich fuer diese Aufgabe viel Erfolg, Geduld und
Ausdauer und auf dass wir in naher Zukunft eine neue Rasse und eine
neue Gilde anschliessen koennen. Bei Padreic moechte ich mich an dieser
Stelle fuer sein vielfaeltiges Engagement und die zeitintensiven
Arbeiten bedanken.

Gruss, Zook.

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



mal wieder... (Wurzel, 31. Dez 2001, 01:34:39):
geruechte besagen, dass ein neuer gang gefunden wurde. was am ende zu finden
ist, weiss man noch nicht...

frohes neues jahr, und sterbt fleissig :)
wurzel

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



Imbiss (Darkwing, 15. Feb 2002, 13:02:27):
Muss das sein, dass das halbe Mud stinkend durch die Gegend rennt, weil
staendig wer ins Klo faellt ? Nicht dass das *irgendetwas* veraendern wuerde.

Darkwing

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



Re: Imbiss (Bambi, 15. Feb 2002, 13:39:32):
~#! rn=Darkwing rt=1013774547 rg=d.unterwelt
~#! tid=1013774547
Zitat: "Wer tankt denn im Imbiss?"

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



Re: Imbiss (Mupfel, 15. Feb 2002, 20:03:19):
~#! rn=Darkwing rt=1013774547 rg=d.unterwelt
~#! tid=1013774547
Hast recht. Wurzel sollte mal einbauen, das das zusaetzlich LP abzieht...
haelt die Leute dann ja vielleicht vom Uebertreiben ab ;)

-mupfel-

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



Die magische Kugel (Tilly, 27. Aug 2002, 11:13:02):
Wegen der langen Abwesenheit des zustaendigen Regionsmagiers
habe ich 1-2 kleine Aenderungen an der magischen Kugel selbst
vorgenommen. Gilt natuerlich nur fuer neue Kugeln bzw. nach
Reboot / Crash / Ende.

Duerfte sich kaum bemerkbar machen.

 - Tilly -

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



Re: Die magische Kugel (Vardion, 28. Aug 2002, 17:01:56):
~#! rn=Tilly rt=1030439582 rg=d.unterwelt
~#! tid=1030439582
Macht sich aber doch bemerkbar...
Und es wurde nicht nur eine Kugel aus der Unterwelt geaendert, sondern
zusaetzlich noch die von Troy.

Vardion

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



Re: Re: Die magische Kugel (Eldaron, 29. Aug 2002, 00:16:59):
~#! rn=Vardion rt=1030546916 rg=d.unterwelt
~#! tid=1030439582
'beschwoere <sich selbst>' ->
Dich selbst zu beschwoeren macht doch wenig Sinn, oder?

Ist das ne Fangfrage? Natuerlich macht es Sinn, und auch dann, wenn man nur
mal einen Kp verlieren will.

Ich wuensch' mir, dass der KP auch abgezogen wird, wenn man versucht, sich
selbst zu beschwoeren.

Eldaron

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



Re^3: Die magische Kugel (Croft, 29. Aug 2002, 00:24:29):
~#! rn=Eldaron rt=1030573019 rg=d.unterwelt
~#! tid=1030439582
Also das als Fail ist mal voellig daneben.  Natuerlich macht es Sinn.  Das
war eine prima Moeglichkeit sich zu orientieren wenn man blind war.
Auch ne Art das M in Mud zu staerken ...
Gruss Croft

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



Re^3: Die magische Kugel (Gloinson, 29. Aug 2002, 03:45:24):
~#! rn=Eldaron rt=1030573019 rg=d.unterwelt
~#! tid=1030439582
Stell Dein Script um Jammerlappen!
Und nein, knuddeln kann man die Kugel nicht!

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



ratten (Patryn, 29. Dez 2002, 00:23:58):
Die Normalweltratten wurden leider laengst von gewissen
Gildenruestungsspiralen/Bugs/Wasweissich eingeholt, weshalb, viele
werden es bemerkt haben, ewige Blutsteine im Dutzend billiger sind.
Somit hat ab sofort nicht mehr jede Normalweltratte auch einen Blutstein
fuer den Spieler uebrig.

-- 
patryn

PS: Noergeleien an dev/null

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



ratten (Patryn, 15. Jan 2003, 22:47:19):
vorsicht bei normalweltratten, wegen leichenfressenden sterbies,
irgendwelche schutzspells werfenden zehnties und sonstigem kram sah ich
mich genoetigt, die im kampfmodus autoaggressive zu machen.

-- 
patryn

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



Re: ratten (Gnome, 15. Jan 2003, 22:50:27):
~#! rn=Patryn rt=1042667239 rg=d.unterwelt
~#! tid=1042667239
ich frage mich, wann die belohnungen statt ratten mal aufgewertet werden...

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



Re: Re: ratten (Patryn, 15. Jan 2003, 22:52:48):
~#! rn=Gnome rt=1042667427 rg=d.unterwelt
~#! tid=1042667239
Ich kann ja nix fuer dass grad die Normalweltbelohnung den Aufwand kein
Stueck mehr wert ist, dass trotzdem noch genug Leute hinrennen ist hakt
echt erfreulich ;)

-- 
patryn

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



Re^3: ratten (Gnome, 15. Jan 2003, 22:53:18):
~#! rn=Patryn rt=1042667568 rg=d.unterwelt
~#! tid=1042667239
...und irgendwie verwunderlich. ;-)

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



Re^4: ratten (Grimmborn, 15. Jan 2003, 22:54:37):
~#! rn=Gnome rt=1042667598 rg=d.unterwelt
~#! tid=1042667239
Tja, Scrip^WTraditionen aendern sich nicht so einfach...

GdA

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



Rats (Goethe, 16. Jan 2003, 11:21:28):
Ich find es nurnoch laecherlich nachtraeglich immer an den Viehern
zumzuschrauben, finde dich einfach mal damit ab dass man nach JAhren endlich
mal eine Taktik gefunden hat wie man sie ohne viele Tode killen kann. Diese
staendige hintendrein-aufgewerte nervt echt.

Goethe hier nur HisAsuls Meinung vertretend

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



Re: Rats (Elberet, 16. Jan 2003, 11:31:29):
~#! rn=Goethe rt=1042712488 rg=d.unterwelt
~#! tid=1042712488
ohne viele Tode? Da sterben doch seit ein paar Tagen reihenweise Leute. Auch
vor der Aenderung. So toll scheint eure Taktik also nicht zu sein.

Elbi

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



Re: Rats (Cadrach, 16. Jan 2003, 11:32:03):
~#! rn=Goethe rt=1042712488 rg=d.unterwelt
~#! tid=1042712488
Ich stimme Dir da voll und ganz zu - Leichenfressende Sterbies sind aber keine
Taktik, sondern Muell der nicht unterstuetzt werden sollte.

Cad*

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



Re: Rats (Patryn, 16. Jan 2003, 11:32:31):
~#! rn=Goethe rt=1042712488 rg=d.unterwelt
~#! tid=1042712488
Geh halt nicht mehr hin. Ich finde ganz andere Sachen laecherlich, z.B.
mit mehreren Chars zugleich zu "spielen", am besten noch mit TF
gestezert und so weiter.
Eine ganz bestimmte Gilde scheints ja besonders noetig zu haben, als
wenn sie es dort eh nicht schon viel leichter als andere haetten.

-- 
patryn

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



Re: Re: Rats (Goethe, 16. Jan 2003, 11:38:02):
~#! rn=Patryn rt=1042713151 rg=d.unterwelt
~#! tid=1042712488
Na als MAgier ueberlege ich mir vorher was ich da nciht haben moechte und was
erwuenscht ist, und komme nicht nach Jahren auf die Idee bei NPC xyz einfach
alles aufzuwerten, versteh mich ned falsch, Bugs die ersichtlich sind kann man
im Nachhinein ausbauen,. Dass da gewisse Leut ihre Zaubis zum entsorgen der
LEichen reinstellen is nen alter Hut, abr muessen die gleich autoload sein
oder waere es da nicht moegluich gewesen ueber ne Abfrage ob sich der Spieler
mit den Rats im Kampf befindet, dass man nur dann fressen/entsrgen kann
moeglich gewesen?
Sorry wgn der Typos, telnet und lag...

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



q (Goethe, 16. Jan 2003, 11:38:47):
antworte
autoattak, sorry ;)

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



Re: q (Croft, 16. Jan 2003, 11:40:24):
~#! rn=Goethe rt=1042713527 rg=d.unterwelt
~#! tid=1042713527
Sollte ja nicht nur um die Leichen-Entsorger gehen.  Passive Kampfhilfe
wird halt genauso unerwuenscht sein.

Croft

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



Re: Re: q (Goethe, 16. Jan 2003, 11:43:02):
~#! rn=Croft rt=1042713624 rg=d.unterwelt
~#! tid=1042713527
Aus Kaempfersicht (und das sind ja die die P* hier eh ueberbewertet sieht)
kannste Huelle vergessen und sonstige Kampfunterstuetzung wie Schutzhand haben
die Leute wegen denen er es _jetzt_ aendern mag sicher nicht.

Goethe kopfschuettelnd

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



Re: q (Elberet, 16. Jan 2003, 11:43:04):
~#! rn=Goethe rt=1042713527 rg=d.unterwelt
~#! tid=1042713527
ist das jetzt von Lug oder wen muss ich da zitieren wenn ich nun sage:

Heul Doch.

Elbi

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



Re: q (Patryn, 16. Jan 2003, 11:43:40):
~#! rn=Goethe rt=1042713527 rg=d.unterwelt
~#! tid=1042713527
Tatsache ist, dass Zweities da reingestellt werden zum Mitkaempfen,
ein Mitkaempfen, was immer schwerer zu erkennen ist.
Sicher sind Loesungen denkbar, wie z.B. wie Du schriebst, oder dass
z.B. Schutz-Spendende Zweities (Schutzhand und co) auch vom Monster
als Feind erkannt werden u.s.w.
Nur hey, ich bin nur ein dummer Magier, und statt 1000 Zeilen Code,
die ich auch permanent anpassen muesste, dacht ich mir, das ist eine
flinke passende Loesung.

-- 
patryn

PS: Das Geschrei war jedes mal gross beim Anpassen der Ratten,
    ich glaub nicht dass es denen geschadet hat.
    Version 1 waere heutzutage einfach nur ein Lacher, jedenfalls fuer
    1-2 Gilden. Ich werde auch weiterhin auf Anforderung anpassen,
    weil ich zu bloed dazu bin, initial alles zu beruecksichtigen.

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



Re: Re: q (Sarkon, 16. Jan 2003, 11:43:44):
~#! rn=Croft rt=1042713624 rg=d.unterwelt
~#! tid=1042713527
Der Sinn einer Aufgabe in einem Spiel ist doch die Aufgabe zu bewaeltigen,
oder? Ich schraub doch beim Baskteball auch nicht jedesmal, wenn ich den Korb
treffe denselbigen hoeher, ode? Bugs ausbauen klar, aber dieses rumgeschraube
hinterher geht mir auch auf die Nerven. Vorher ueberlegen... Sarkon

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



Re: Re: q (Cuchullin, 16. Jan 2003, 11:44:10):
~#! rn=Croft rt=1042713624 rg=d.unterwelt
~#! tid=1042713527
Naja. Da ist ein Topf, der sehr gross ist. Ich denke, da passt Patryn
neben Rochus noch rein. Was regt ihr euch also auf, das Leben ist hart
und ungerecht... Abgesehen davon sollte inzwischen auch die groesste 
Pfeife begriffen haben, dass man durch Uebertreiben einer geschickten
Massnahme deren Ausbau provoziert. Ob man das nun gutheissen kann oder
nicht.

YTCu

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



Re^3: q (Elberet, 16. Jan 2003, 11:46:12):
~#! rn=Sarkon rt=1042713824 rg=d.unterwelt
~#! tid=1042713527
und wenn sie den Korb hoeher haengen? Verbieten tut ihnen das keiner. Du hast
dann die Wahl weiter Basket zu spielen oder es bleiben zu lassen. Wie hier.

Elbi

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



Re^4: q (Sarkon, 16. Jan 2003, 11:47:38):
~#! rn=Elberet rt=1042713972 rg=d.unterwelt
~#! tid=1042713527
Genau, deshalb hab ich ja auch aufgehoert...und bin froh drueber. Aber Sinn
kann das nicht sein, dass alle mit Baskteballspielen aufhoeren, oder etwa
doch? Na scheint so...

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



Re: Re: q (Nonne, 16. Jan 2003, 11:47:52):
~#! rn=Patryn rt=1042713820 rg=d.unterwelt
~#! tid=1042713527
Patryn, das ist doch ganz einfach, Dein Konzept ist nur falsch:
- Mach _viel_ Schaden
- Nimm do_damage
- Schadensfaktor von 2 bei Zauberern und Kaempfer

Damit bist Du noch auf Jahre hinaus auf der sicheren Seite (c;

Nonne, gerne behilflich.

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



Re^3: q (Orktoeter, 16. Jan 2003, 11:49:26):
~#! rn=Sarkon rt=1042713824 rg=d.unterwelt
~#! tid=1042713527
Nur wirst du etwas aender muessen, wenn die erste Generation genmanipulierter
3m grosser Menschen heranwaechst, um beim Beispiel des Basketballs zu bleiben.
Im konkreten Fall muss ich sagen das ich die Massnahme gut finde. Mud heisst
fuer mich nicht, das ich mit meiner Privatarmee hrumziehe sondern mit anderen
zusammenspiele, mehrere Charactere zu steuern bzw. gar comutergesteuert
agieren zu lassen erhoeht sicherlich die Kampfkraft, aber genau das macht
einen Schritt in der Rustungsspirale der so sicherlich nicht gut ist. 

OrkT.

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



Re^4: q (Sarkon, 16. Jan 2003, 11:52:47):
~#! rn=Cuchullin rt=1042714273 rg=d.unterwelt
~#! tid=1042713527
Das Problem ist nur, dass der Rest der MEnschheit, also alle ausser den 3m
Menschen, nicht mehr spielen wollen. Ich geb dir sicher Recht, dass man auch
reagieren muss auf Veraenderung, aber hier gehts doch um Patryns Stolz oder
was weiss ich, aber nicht um Spieler, die die Ratten ohne Anstreungung
umhaun...

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



Re^5: q (Nonne, 16. Jan 2003, 11:56:43):
~#! rn=Sarkon rt=1042714367 rg=d.unterwelt
~#! tid=1042713527
Es ist doch ganz einfach (aus Magiersicht): Man macht den Korb kleiner als den
Ball und puscht die Belohnung ins Unermessliche. Es werden sich immer Leute
finde, die es trotzdem probieren, wenn die Belohnung nur gut genug ist (c; 

Nonne, sollte langsam nach schmarrn wechseln.

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



Re^5: q (Cadrach, 16. Jan 2003, 11:57:11):
~#! rn=Sarkon rt=1042714367 rg=d.unterwelt
~#! tid=1042713527
Also fuer "normale" Spieler aendert sich eigentlich nichts. Wer die Ratten
normal haut, der freut sich sogar weil er sich das toete ersparen kann und es
direkt losgeht. Die Tatsache das sie aggressiv sind, aendert eigentlich nur
etwas fuer Leute die im Raum stehen und mitmischen wollen _und_ (leider) fuer
diejenigen die die Ratten beim forschen entdecken, noch nicht kennen und nun
nicht zuerst untersuchen und einschaetzen koennen (was fuer Normalwelt fuer
einen starken NPC sicher nich ganz ohne ist). Aber ich gehe mal davon aus, das
das mit dem RM unterwelt abgestimmt ist und Vorsorge geleistet ist, das sich
dort keine ungewarnten Forscher verirren koennen (is ja direkt bei Williburg).

Cad*

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



Re^6: q (Patryn, 16. Jan 2003, 11:58:07):
~#! rn=Cadrach rt=1042714631 rg=d.unterwelt
~#! tid=1042713527
Die werden nur aggressiv wenn ein Kampf laeuft.

-- 
patryn

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



Re^7: q (Grimmborn, 16. Jan 2003, 13:33:40):
~#! rn=Patryn rt=1042714687 rg=d.unterwelt
~#! tid=1042713527
Ich finde, ihr diskutiert am eigentlichen Kern der Sache vorbei. Wenn Goethe
meint dass NPCs statisch bleiben sollten ist das doch eine Ueberlegung wert.
Natuerlich gilt gleiches Recht fuer alle, insofern waere es nur gerecht wenn
im Gegenzug Spieler sich auch nicht mehr entwickeln. Problem geloest, Goethe
ist zufrieden, die Magier ebenfalls weil ein "schweres" Monster auch "schwer"
bleibt. 
[X] Dafuer

GdA

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



Re^8: q (Vector, 16. Jan 2003, 16:13:12):
~#! rn=Grimmborn rt=1042720420 rg=d.unterwelt
~#! tid=1042713527
Zuerstmal halte ich die Rattenaenderung fuer einen Schritt in die richtige
Richtung. 
Um das hier angesprochene Problem wirklich zu loesen, sollte man
jedoch noch einige Erweiterungen machen, denn ansonsten steht der Huellen
Kiri/Schutzhand-Zweitie eben oben, wo er eh die Steinplatte auftriggert.
Im Vorraum koennten sich z.B. saemtliche Huellen/Nebel/Schutzhaende aufloesen,
wer das also haben will, muss den 2tie schon nach "gang" triggern.
Auch sollte man nicht vergessen, dass viele Ersties die Moeglichkeit des 
Entsorgens haben, und hier meine ich nicht Tanjian oder Zaubis, sondern
Kaempfer mit Zauberstab im inv :o)

Auch finde ich es etwas laecherlich, dass gerade die in forderster Front 
maulen, die sich den Skill mehr oder weniger erschlichen haben, sei es
ueber Dauerarmdruecken in Moulokin, Klee-pfluecken im Warok,
Finte-Wurfsternen oder Sanduhr-zerschlagen im Rattennest.

Eine Aufwertung der Belohnung... also bitte :)
Die Spieler werden immer staerker, falls die Ratten gleich bleiben wuerden,
muesste man laufend die Belohnung abwerten, von daher seht die Aufwertung
lieber als Bonus, damit die Belohnung weiterhin so bleiben kann.
(Meiner Meinung nach ist die Belohnung immer noch viel zu gut, ich kann
mir auch nicht vorstellen, dass es gedacht war, dass jemals so viele Spieler
mit max-ratten-skill durch die Gegend flitzen).

Vielleicht sollte man auch ueberlegen, den Normal- und den Paraskill der
Ratten komplett zu trennen, denn jetzt haut man die eben 100 Mal in Normal
fuer den Skill und geht dann immer bei Bedarf einmal nach Para um den 
dortigen Bonus abzuholen. Stutzig gemacht hat mich der Kommentar von
Patryn dass es ihn wundert, dass die Ratten so oft in Normal gemacht werden,
obwohl die dortige Belohnung eh sinnlos sei. Also vielleicht war das
"Para-skill-holen-bei-den-normal-Ratten" vielleicht gar nicht beabsichtigt??
Wie gesagt, komplett die 2 Skills trennen, wer LP-Bonus will, soll 100 Mal
zu den richtigen Ratten.

@Goethe/Hisasul: Bevor du hier den Dicken machst, schliess erstmal
was an. Und dann darfst du dich wundern, mit welchen Bugs/Ideen
-/Faehigkeiten die Spieler dein Gebiet auseinander nehmen.
Und wenn nicht diese Generation von Mudder, dann die naechste, die mit neuen
Items und ungeahnten Gildenspells anrueckt. Von anderen Magiern, die dann 
fuer befreundetet Spieler deinen Code nach Schwachstellen durchsuchen und
aufm Stammtisch dann mit der richtigen Technik rausruecken fang ich gar
nicht erst an. Im Nachhinein an einem Monster zu drehen sollte also nicht
nur das Recht sondern die Pflicht eines jeden Magiers sein, so dass es immer
ein angebrachtes Verhaeltnis zwischen Aufwand und Belohnung gibt.
Ohne die Aenderungen waere den Ratten heute mit Donner, Rueckendeckung
und Wurfsternen noch nichtmal erlaubt den grossen Blutstein zu haben, oder?

Erwaehnte ich schon, was den Ratten noch fehlt?:)
Im Rattennest selber wird der Spieler (sprich: Kaempfer) automatisch laufend
in Raserei versetzt, dann hat man dieses ganze "Ich-mach-Taktik-100-und-
-Paraden-weil-Waffenschlag-eh-genug-Schaden-macht"-Getue schonmal deutlich
reduziert. Bissl komisch kommt mir auch ein Kampfsprung nach "gang" vor.
Also echt, in so nen engen Gang reinspringen statt kriechen ts ts, fuer
nen Kampfsprung braucht man Platz. Die Ueberreste und Ausruestung von toten
Spielern koennten sich ja ein paar bestimmte Insekten holen und fuer den 
naechsten Winter einlagern, dann haette ein Tod auch mal bissl Pfeffer.

--Vector--

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



Re^9: q (Cuchullin, 16. Jan 2003, 16:18:05):
~#! rn=Vector rt=1042729992 rg=d.unterwelt
~#! tid=1042713527
Ein Raum, in dem Huellen, Schutzhaende und dergleichen abklingen, wuerde
ich fuer eine arme Inselloesung halten. Wuenschenswerter waer da schon
eine allgemeine Loesung von Seiten der Spellbooks, wie ja teilweise
schon geschehen.

YTCu

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



Re^10: q (Patryn, 16. Jan 2003, 16:23:51):
~#! rn=Cuchullin rt=1042730285 rg=d.unterwelt
~#! tid=1042713527
Ich finde auch, es sind eher sehr allgemeine Probleme, wenn
Karateka mit Rueckendeckung kaum was zu befuerchten haben
 (selbst bei 20 Angriffen die Runde), wenn die Schutzhand den Kaempfern
eine noch sichere Bank gewaehrleistet, wenn das Konzept
"entweder gute Abwehr oder starker Angriff" bei den Kaempfern nicht mehr
kkwer
zeiht, weil man halt trotzdem gigantisch reinkracht, weil das Ausweichen
gewisse Nebenbedingungen wie schneller Kampf oder schwere Ruestung
wohl kaum beruecksichtigt u.s.w.
Jede dieser Inselloesungen ist nicht nur der Inselloesung wegen unangebracht,
obendrein muss auch jeder das Rad fuer eine Gildenbalance erfinden, die
seit 5 Jahren erzaehlt, spaetestens naechste Woche wuerden die Kaempfer
abgewertet. (Humni ist noch nich lange bei, den mein ich (noch) nicht)

-- 
Patryn, hat sich wahrscheinlich grad wieder in die Nesseln begeben

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



Re: Rats (Sou, 16. Jan 2003, 16:24:51):
~#! rn=Goethe rt=1042712488 rg=d.unterwelt
~#! tid=1042712488
+1
Sou fragt sich, fuer was es Para II+ gibt ...

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



Re: Re: Rats (Elberet, 16. Jan 2003, 16:37:49):
~#! rn=Sou rt=1042730691 rg=d.unterwelt
~#! tid=1042712488
fuer was gibt es denn Para?

Elbi

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



Re^3: Rats (Goethe, 16. Jan 2003, 16:40:23):
~#! rn=Elberet rt=1042731469 rg=d.unterwelt
~#! tid=1042712488
ich weiss Elbi, da warstu noch nie...

G*

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



Re^4: Rats (Vector, 16. Jan 2003, 16:41:33):
~#! rn=Goethe rt=1042731623 rg=d.unterwelt
~#! tid=1042712488
Goethe teilt Dir mit: halt einfach deine fresse, statt doofe meinungen ueber
Goethe teilt Dir mit: die zeitung auszutauschen.

keine weiteren fragen.

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



Re^3: q (Householder, 16. Jan 2003, 16:41:49):
~#! rn=Sarkon rt=1042713824 rg=d.unterwelt
~#! tid=1042713527
dein beispiel (basketballkorb) ist ungenau: 
wenn die leute ploetzlich einen hocker nehmen um den korb zu treffen, ist es
legitim den korb hoeherzuschrauben, und jedesmal wenn der hocker hoeher
geschraubt wird, ist es auch legitim den korb hoeher zu schrauben 
HH (geht hoilen ia memmen murmelnd)

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



Re^4: Rats (Elberet, 16. Jan 2003, 16:46:09):
~#! rn=Goethe rt=1042731623 rg=d.unterwelt
~#! tid=1042712488
oh, da weisst du mehr als ich :)

Elbi

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



Re^4: Rats (Sou, 16. Jan 2003, 16:53:20):
~#! rn=Goethe rt=1042731623 rg=d.unterwelt
~#! tid=1042712488
Jut, ich hab jetzt die Artikel durch.
1. > Gegener sollen so stark bleiben, wie sie waren.
  Na ja, wenn ihr meint, dass die Wurstspieler (ja die gibt es auch noch)
  auch seit Jahren staerker werden, ok. Darf ich vielleicht nicht wieder-
  sprechen, weil ich noch zu jung bin.
  Wollte nur gesagt haben, dass man zu oft Maxspieler als Masstab nimmt.
2. Zu der Belohnung
  Sie ist schoen, und von daher gibt sie einem das Recht, das Besorgen zu
  erschweren. Hier hat mir Vectors Vorschlag gefallen, die Skills zu 
  trennen.
  Und wenn eurer Meinung nach zu viele 'Unwuerdige' diesen Skill nutzen,
  verschiebt sie nach Para und baut Para II Ratten.
3. Scriptzweitis fuer Huelle und so
  Lebt ihr nach dem Motto 'Steter Tropfen hoehlt den Stein'?
4. Elbi: Para ist das wo die 'stressigen' Sachen stehen, an denen Spieler 
       nicht sterben sollen.

Resume: Ich finds etwas uebertrieben, aber es bleibt dem Magier ueberlassen.

Sou haut Patryns Sachen halt nicht mehr. Auch wenn ihm das Scoreamu fehlt.

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



Re^11: q (Foobar, 16. Jan 2003, 16:55:14):
~#! rn=Patryn rt=1042730631 rg=d.unterwelt
~#! tid=1042713527
Moin.

Natuerlich faellt es leicht, ueber andere Gilden zu meckern. Trotzdem sollte
man erstmal vor der eigenen Haustuer kehren.

Haengt z. B. der Erfolg eines Zaubererspells davon ab, wieviele Magiepunkte er
zum Zeitpunkt des Castens hat (fuer Dumme: nicht ob er ausreichend hat um die
Kosten zu bezahlen, sondern ob ein verletze mit 30 MP schlechter reinhaut als
eins mit 200)?

Warum ist "hand x" immer noch dran, obwohl es seit Jahren heisst: Wird
ausgebaut?

Beruecksichtigt der Schnellkampf der Zauberer das getragene Gewicht beim
Caster?

Warum kann Llystrathe besser heilen als jeder Kleriker, und das auf
Entfernung?

Warum ist es Tanjian scheissegal wie schwer eine Waffe ist, hayai ballert
trotzdem drei bis vier Attacken die Runde raus?

Warum brauchen Karateka kaum Ausruestung, um recht stark zuzuhauen?

Usw...

Diese ganzen Gildenkriege kotzen mich dermassen an, das glaubt Ihr nicht :o)

Gruss,

   Foobar

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



Re^12: q (Cuchullin, 16. Jan 2003, 17:00:09):
~#! rn=Foobar rt=1042732514 rg=d.unterwelt
~#! tid=1042713527
1. Nein. Dafuer vom Alkoholpegel. Viel Spass beim Tanken.

2. Weil SpellDefend() noch immer missbraeuchlich angewendet wird.

3. Magie != Koerperliche Fertigkeit

4. Weil die Kraft des Kokoro den Geist zusammenhaelt. Der Kodex der 
   Trves ist nicht so toll.

5. Weil Karateka das Werkzeug fuer das einfache Volk sind: Nicht nachdenken
   muessen, trotzdem gut zuhauen koennen. Dass ihnen im Laufe der Zeit 
   dann doch Vielfalt zugeschanzt wurde, das ist etwas, um das sich 
   Humni durchaus kuemmern koennte. Ist im Vergleich zu den Trves jedoch
   nur eine Kerze im Waldbrand.

Klar kotzen Gildenkriege an. Aber solange alles so bleibt wie es
ist, was erwartest Du? Dass irgendwann der Status Quo mit dem Recht
der Gewohnheit festgenagelt wird?

YTCu

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



Re^13: q (Foobar, 16. Jan 2003, 17:01:37):
~#! rn=Cuchullin rt=1042732809 rg=d.unterwelt
~#! tid=1042713527
Foobars Law:

"Jede Diskussion in der MPA wird frueher oder spaeter auf den Gildenkrieg
Kaempfer <-> Zauberer umgebogen."

Gruss,

   Foobar

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



Re^3: Rats (Ark, 16. Jan 2003, 17:04:56):
~#! rn=Elberet rt=1042731469 rg=d.unterwelt
~#! tid=1042712488
Alternative Raumkonzepte? :-)


              *** ARK * the * Magnificent ***


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



Re^13: q (Patryn, 16. Jan 2003, 17:06:34):
~#! rn=Cuchullin rt=1042732809 rg=d.unterwelt
~#! tid=1042713527
Ich will auch meine erste Gildenbalance Kritik etwas relativieren,
ich glaube in der Tat nicht an Boeswilligkeit bei der Kaempferproblematik.
Wie schon mehrmals frueher hier gut zusammengefasst wurde, profitiert kaum
eine Gilde derart stark von Spezialitems, Spezialwaffen u.s.w. wie die
Kaempfergilde.
Die Zauberergilde abwerten ist relativ einfach, lokal irgendeinen Wert nach
unten und die Spieler duerfen direkt mit dem Jammern beginnen.
Bei den Kaempfern ist das sicherlich die Summe der Sachen, die den Ton macht.
Da die Gildenbalance doch recht haeufig wechselte oder nach anfaenglicher
Motivation schnell in totale Inaktivitaet verfiel, klappte das halt nie.
Eine Kaempferabwertung ist leider ein ganzer Katalog von Dingen, die man
nicht mal eben durchzieht, es duerfte zu einem permanenten Hinterherrennen
ausarten...aber anders gehts nun mal nicht.
Immer noch besser, als wenn irgendwann jeder seine eigene Balance macht,
die auch ich nicht wirklich mag.

-- 
patryn

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



Re^13: q (Cuchullin, 16. Jan 2003, 17:09:25):
~#! rn=Cuchullin rt=1042732809 rg=d.unterwelt
~#! tid=1042713527
Fuer die, die es nicht begriffen haben: Es geht mir nicht darum, 
dass Trves ganz boese und Zauberer ganz gut sind. Das wuerde ich so
nichtmal unterschreiben. Aber ich sehe das Hauptproblem durchaus bei
den Kaempfern, und das schon seit Jahren. Diese ewigen Konter a la
"Ihr seid auch nicht viel besser!" nerven andere mindestens genauso
wie Trves vom - berechtigten - Zielscheibendasein genervt sind.

Erschwerend kommt dann freilich hinzu, dass alle Seiten auch mal 
gern jene als Massstab nehmen, die dafuer denkbarst ungeeignet sind
(und das, wie z.B. Elendil, auch offen sagen!), weil sie sich nicht
allein auf die Faehigkeiten ihrer Gilde verlassen, sondern auch 
phaett auf den Fundus des Muds zurueckgreifen (was im Einzelfall
sicher auch als wissentliches Bugausnutzen bezeichnet werden muss,
weswegen ich nicht alle Feuerzwerge wirklich toll finde ;)). 

Dieser Fundus ist zwar etwas ganz natuerliches, aber die Gilden-
Balance muss ihn, wenn er die Gilden ungleichmaessig verstaerkt,
zwangslaeufig mit in die Berechnungen einbeziehen oder die Objekt-
Balance (resp. direkt den zustaendigen Magier) anweisen, die das
Problem erzeugende Objekt an die Gegebenheiten anzupassen.

Es ist alles in allem sicher nicht mit dem Schrauben an ein paar
Werten getan, egal ob Trves oder Zauberer oder Kleriker. Nur mit
Aussitzen und Totschweigen schon gleich gar nicht. 

YTCu

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



Re^14: q (Sou, 16. Jan 2003, 17:13:01):
~#! rn=Cuchullin rt=1042733365 rg=d.unterwelt
~#! tid=1042713527
Frage 1: Fuer was gibt es Objecte, die man missbrauchen kann?
Frage 2: Wieso muss man an den Gilden rumspielen?

Sou fragt ernsthaft.

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



Re^15: q (Cuchullin, 16. Jan 2003, 17:16:46):
~#! rn=Sou rt=1042733581 rg=d.unterwelt
~#! tid=1042713527
Da ist ein Objekt X - sagen wir: eine Silberkugel - das in einer 
Quest dazu da ist, einen Werwolf, der sonst nicht totzukriegen ist,
ins Jenseits zu schicken.

Wenn es eine Stelle Y gibt - nennen wir jene mal "Werwolfinsel" - an 
der Objekt X unvorhergehen einsetzbar ist und von findigen Spielern
zur Anwendung kommt, dann ist das "Missbraeuchliche Anwendung".


Und an den Gilden spielt "man" herum, weil man einfach nie ausgelernt
hat. Weder als Spieler, noch als Zardoz/Boing/Humni. So einfach ist
das.

YTCu

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



Re^16: q (Sou, 16. Jan 2003, 17:28:36):
~#! rn=Cuchullin rt=1042733806 rg=d.unterwelt
~#! tid=1042713527
Ich seh keinen Sinn, eine Gilde zu proggen die man direkt oder indirekt
abwertet.
Natuerlich bedenkt man manche Sachen nicht. Dafuer ist die Testphase 
ja da. Aber muss diese Phase Jahre dauern?
Kaempfer kotzen ueber die X-Hand ab, Zaubis ueber Zauber ausweichen.
Na und? Die Gilden geben sich nicht so viel. Kaempfer sind halt auf den
Schaden neidisch, die Zaubis bei anfaelligen NPCs machen, und Zaubis
darauf, dass Kaempfer fast ueberall Schaden machen.

Man lernt nie aus. Nur wieso muss man die Gilden dann abwerten?
Sou haette gerne Beispiele.

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



Re^17: q (Patryn, 16. Jan 2003, 17:30:28):
~#! rn=Sou rt=1042734516 rg=d.unterwelt
~#! tid=1042713527
Mit dem selben Argument wuerden wir heute noch auf Baeumen sitzen,
mit dem selben Argument haetten wir MS-DOS statt Windows2000 u.s.w.
OK, sind schlechte Beispiele ;)

-- 
patryn

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



Re^13: q (Foobar, 16. Jan 2003, 17:30:40):
~#! rn=Cuchullin rt=1042732809 rg=d.unterwelt
~#! tid=1042713527
1. Alkohol und Tanken? Laut Aussage eines hohen Zauberers gehoert ein
effektives Tankscript zur Standardausruestung.

2. SpellDefend()? War nicht "hand" urspruenglich der Ersatz fuer die
Artillerie, die heutzutage eh bei jedem ernstzunehmenden NPC ausgebaut ist?
Und missbraeuchliche Anwendung von SpellDefend() ist ein Fall fuer die
NPC-Balance.

3. Magie! Danke, wie habe ich darauf gewartet :o) Magie ist das Killerargument
mit dem man nahezu _jeden_ Scheiss begruenden kann.

4. Die Aussage ist IMHO falsch ;o), kokoro hat damit eher wenig zu tun, mit
hayai veraendert der Tanjian die Zeit selbst -> auch wieder Magie.

5. Wieder auf "Kaempfer sind zu stark" umgebogen, Respekt ;o)

Aber Du hast schoen demonstriert, dass man natuerlich fuer alles Begruendungen
finden kann. Die passen dem einen dann halt, dem anderen nicht.

"Schnellkampf" soll sich auf RD auswirken? Aber gerne :o) Schliesslich kaempft
man schneller, ergo kann man auch schneller und damit besser abwehren.
Natuerlich weicht man dann auch Zaubern schneller aus, das ist klar. Und die
Schwere der Ruestung wird beim Schnellkampf beruecksichtigt, ist doch alles in
Butter ;o)

Gruss,

   Foobar

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



Re^18: q (Sou, 16. Jan 2003, 17:33:58):
~#! rn=Patryn rt=1042734628 rg=d.unterwelt
~#! tid=1042713527
Falsch. Mit deiner Argumetation wuerden wir statt MS-DOS jetzt wieder alles
an den Fingern abzaehlen.

Oder findest Du, dass Win 2000 eine Abwertung von MS-DOS ist ???
Sou kann die Argumentation immer noch nicht nachvollziehen.

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



Re^14: q (Patryn, 16. Jan 2003, 17:34:12):
~#! rn=Foobar rt=1042734640 rg=d.unterwelt
~#! tid=1042713527
Glaubst Du eigentlich wirklich was Du erzaehlst?
Sofern ich weiss, sind eine ganze Reihe von Kaempfern sogar hochoffiziell
der Meinung, sie seien zu stark.
Dass um der Besitzstandswarung willen nicht jeder diese hochoffizielle
Meinung vertritt, kann ich ja noch verstehen, aber ich hoffe zumindest,
dass man entweder die Klappe haelt oder sich das auch selbst erzaehlen
kann, ohne Rot zu werden.

-- 
Patryn

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



Re^15: q (Foobar, 16. Jan 2003, 17:36:00):
~#! rn=Patryn rt=1042734852 rg=d.unterwelt
~#! tid=1042713527
Wer?

Gruss,

   Foobar

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



Re: Rats (Vanion, 16. Jan 2003, 17:36:14):
~#! rn=Goethe rt=1042712488 rg=d.unterwelt
~#! tid=1042712488
Wenn wir Deinen eigenen NPC zuschauen, wie sie von durch allerlei Items
gestaerkten Seherhorden innerhalb von Sekunden weggerafft werden, reden wir
nochmal. 

Patryn macht nicht wirklich staerker, er balanciert nach. Und das is
gelegentlich noetig.

V*

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



Re^15: q (Goethe, 16. Jan 2003, 17:37:38):
~#! rn=Patryn rt=1042734852 rg=d.unterwelt
~#! tid=1042713527
Ich wuerde vorschlagen das MG solange runterzufahren bis die Balance ein
ausgeglichenes Gildenkonzept vorzulegen  und umgesetzt hat, wobei ich
persoenlich dafuer bin, dass wir eine Einheitsgilde einfuehren, so wie schon
von manchen anderen Sehern vorgeschlagen wurde, nur dann gibts Gerechtheit :)

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



Re: Re: Rats (Sou, 16. Jan 2003, 17:38:26):
~#! rn=Vanion rt=1042734974 rg=d.unterwelt
~#! tid=1042712488
Nicht staerker?
Wie viele LPs nimmt die Leiche einem?

Sou war schon laenger nicht mehr da.

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



Re^3: Rats (Croft, 16. Jan 2003, 17:39:10):
~#! rn=Sou rt=1042735106 rg=d.unterwelt
~#! tid=1042712488
Wer zwingt dich die Leiche zu essen?

Croft

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



Re^4: Rats (Sou, 16. Jan 2003, 17:40:21):
~#! rn=Croft rt=1042735150 rg=d.unterwelt
~#! tid=1042712488
Niemand, aber die Zombieratte ist ein Gegner mehr. Dadurch sind die 
Ratten IMHO staerker. Oder stimmt meine Rechnung nicht?

Sou zaehlt.

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



Re^17: q (Cuchullin, 16. Jan 2003, 17:41:52):
~#! rn=Sou rt=1042734516 rg=d.unterwelt
~#! tid=1042713527
> Man lernt nie aus. Nur wieso muss man die Gilden dann abwerten?

Nehmen wir mal die Zauberer als Beispiel, ja?

1. Schutzhuelle. War frueher etwas, das sich am besten mit "Leo II"
   vergleichen laesst. Bei der Hydra stehen und warten, bis die MPs
   ausgehen. War ein bisschen heftig, oder?

2. Giftpfeil? Dessen Vergiftungsrate war frueher deutlich hoeher, 
   wenn ich mich recht erinnere. Heute bin ich ja froh, wenn dem
   Gegner vor Lachen uebel wird...

3. Sogar das Identifizieren wurde abgewertet. Es mache keinen
   Sinn, dass Zauberer physische Schwaechen erkennen koennen, hiess
   es. Kann man vertreten, oder?

4. "stille" hat frueher auch Kampfhandlungen der Gegner deutlich
   - DEUTLICH - verringert. Uuuuh, konnte man nicht so lassen, oder?

5. Rueste auf "misc" Objekte. Muss ich nicht weiter ausfuehren, gell?

6. Das Entkraeften war frueher auch richtig klasse. Direktschaden,
   ohne Umweg ueber 'Defend()'. Schnuckelig, aber hat wohl alles
   untergraben, was nicht haette untergraben werden sollen. Ist
   klar, dass sowas umgebaut werden muss?

.... Ohne grossartig Nachzudenken. Geh einfach davon aus, dass
es solche Dinge in jeder Gilde gibt, manche davon jahrelang vermeintlich
unerkannt vor sich hin ticken und dann ploetzlich durch vermehrten 
Gebrauch auffaellig werden. Wenn niemand das Recht haette, solche 
Fehler (jawohl) zu korrigieren, koennte man das Mud recht zuegig
schliessen.

YTCu

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



Re: Re: Rats (Goethe, 16. Jan 2003, 17:41:58):
~#! rn=Vanion rt=1042734974 rg=d.unterwelt
~#! tid=1042712488
Ich progg Monster damit Spieler Spass dran haben sie zu hauen und werte die
nich dauernd nachtraeglich auf nur weil ich find, dass sie "zu schnell"
fallen. Aber hier gehts doch nur drum dass manche NPCs "unkillbar" oder 
sauschwer zu killen sein sollen.

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



Re^18: q (Sou, 16. Jan 2003, 17:43:44):
~#! rn=Cuchullin rt=1042735312 rg=d.unterwelt
~#! tid=1042713527
Wie lange dauert es diese Fehler zu finden?

Sou stochert noch ein bisschen.

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



Re^3: Rats (Sou, 16. Jan 2003, 17:44:34):
~#! rn=Goethe rt=1042735318 rg=d.unterwelt
~#! tid=1042712488
Wenn Du einen unkillbaren NPC proggst werden ihm die Stupse entzogen, und die
Sache hat sich erledigt.

Sou.

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



Re^4: Rats (Foobar, 16. Jan 2003, 17:45:44):
~#! rn=Sou rt=1042735474 rg=d.unterwelt
~#! tid=1042712488
Noe, Llystrathe stupst immer noch ;o)

Gruss,

   Foobar

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



Re^5: Rats (Goethe, 16. Jan 2003, 17:46:14):
~#! rn=Foobar rt=1042735544 rg=d.unterwelt
~#! tid=1042712488
MAGIE, Magie Foobi ;)

Goethe auf die Spruenge helfend

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



Re^5: Rats (Sou, 16. Jan 2003, 17:46:15):
~#! rn=Foobar rt=1042735544 rg=d.unterwelt
~#! tid=1042712488
Rohrhoere hilft. :Op

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



Re^19: q (Patryn, 16. Jan 2003, 17:46:18):
~#! rn=Sou rt=1042735424 rg=d.unterwelt
~#! tid=1042713527
Also erst mal, die Leichen muss man immer noch nicht essen, ich dachte
mit dem LP-Abzug sei das hinreichend ausgebaut, weil man jeden LP
dort braucht. Leider brauchen manche dort nicht jeden LP oder stellen
Zweities zum Sterben rein. Eine Nachbesserung soll sich da wirklich
verbieten? Es gibt sogar ein extra Pulver zum Leichenaufloesen extra
damals parallel mit rangehangen. Wieviel Leute kennen das? Nun ja...

kkwer
Desweiteren...ueberleg Dir mal Deine Argumentation.
Jegliche Fehlerbehebung ist verboten?
Die Vergleiche passten schon, mags ein Dein Abstraktinsvermoegen passte nicht.

-- 
Patryn

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



Re^3: Rats (Gnome, 16. Jan 2003, 17:46:58):
~#! rn=Goethe rt=1042735318 rg=d.unterwelt
~#! tid=1042712488
sou... bitte... gehirn vor aritkel-schreiben einschalten...
die ratten hinterlassen nette (naja, zumindest in der theorie) items.

gnOme

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



Re^3: Rats (Vanion, 16. Jan 2003, 17:47:50):
~#! rn=Goethe rt=1042735318 rg=d.unterwelt
~#! tid=1042712488
Aber genau das ist es doch? Warum metzeln Spieler NPC? Weil es Spass ist, wenn
sie umfallen beim Hingucken? Ja? Dann spielt auf der HE. Da is das so.
Weil es Spass macht die plattzukriegen, weil es echt ein gutes Gefuehl ist, es
doch mal geschafft zu haben? Ja? Gut. Warte ein halbes Jahr und Du fragst
Dich, wo da das Problem war. 

Die Balance bremst die Spirale nur, sie haelt sie nicht an. Wenn ich da an
Moron denke. Da geht mein kleiner hin, wenn er irgendwas tothauen muss um
Frust abzubauen. Is eine bessere Hochebene. Das Patryn seinen Ratten dieses
Schicksal ersparen will respektiere ich, weil es Arbeit ist und akzeptiere
ich, weil ich glaube, dass es dafuer sorgt, dass man an den Ratten viel
laenger Spass hat als an Moron.

V*
PS: Moron ist nur ein ziemlich zufaellig rausgegriffenes Beispiel. Gibt da
    mehr von.

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



Re^20: q (Sou, 16. Jan 2003, 17:48:30):
~#! rn=Patryn rt=1042735578 rg=d.unterwelt
~#! tid=1042713527
Nein, sicher nicht, wie gesagt, ich weiss nicht, wie lange ich nimmer da war.
Wenn die Leiche kaum Lps kostet, hau rein.

Bei der Weghieraufwertung hab ich mich gefreut. Nur nicht gesagt.

Sou.

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



Re^4: Rats (Cuchullin, 16. Jan 2003, 17:49:18):
~#! rn=Vanion rt=1042735670 rg=d.unterwelt
~#! tid=1042712488
Auch Moron widerfuhr schon das Phaenomen "Aufwertung". 

YTCu

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



Re^4: Rats (Sou, 16. Jan 2003, 17:51:27):
~#! rn=Gnome rt=1042735618 rg=d.unterwelt
~#! tid=1042712488
Hatte ich nicht schon geschrieben, was man meiner mein Meinung nach tuen 
sollte mit der Belohnung?

Sou ist zu faul um nachzuschauen.

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



r (Kieselstein, 16. Jan 2003, 17:51:35):
naja soviel LP das mann wie ich eben dran sterben kann wenn anschliessend noch
ne welle zuschlaegt, bin ich halt selber schuld. sollte mehr forschen :)

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



Re^21: q (Cadrach, 16. Jan 2003, 18:01:03):
~#! rn=Sou rt=1042735710 rg=d.unterwelt
~#! tid=1042713527
Die Kaempfergilde auf den Boden der Tatsachen runterbringen ist gar nicht so
schwer: Man gebe sie einfach mal fuer eine Woche Zardoz zurueck.
Das erste was dann _komplett_ ausgebaut waere, waere das staendige Waffen
wechseln. Urspruenglich war gewollt das man sich pro NPC fuer eine Waffe
entscheidet die dann halt ggf. bestimmte Boni hat und fertig. Nix mit
Waffenschlag mit Waffe A und fuer normalschaden dann waffe B. Am allerbesten
wuerde man das sogar allgemein loesen und direkt in die mudlib einbauen, das
Waffe zuecken/wegstecken und schild anziehen einfach eine kampfrunde kostet.

Cad*

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



Re^3: Rats (Ark, 16. Jan 2003, 18:11:45):
~#! rn=Goethe rt=1042735318 rg=d.unterwelt
~#! tid=1042712488
Tja, wo ist der Spass, wenn alles schnell und einfach geht? :)


              *** ARK * the * Magnificent ***


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



Re^4: Rats (Matis, 16. Jan 2003, 18:28:29):
~#! rn=Ark rt=1042737105 rg=d.unterwelt
~#! tid=1042712488
Ich erinner mich noch an die Zeit, als die Belohnung bei den Ratten zum
ersten Mal abgewertet wurde. Das Geschrei war riesig. Niemand wuerde mehr
auch nur einen Fuss in die Rattenhoehle setzen, hiess es. Aber dem war ganz
offensichtlich nicht so, die Ratten wurden fast zu einem Standardkill. Als
Konsequenz gibt es zwei Moeglichkeiten: entweder AUfwand rauf, oder Belohnung
runter. Ansonsten lauert schon die Objektbalance, der nach weiterer Abwertung
duerstet ;o). Ein Glueck, dass Patryn so aktiv ist ...

Matis

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



Re^19: q (Bambi, 16. Jan 2003, 19:31:13):
~#! rn=Sou rt=1042735424 rg=d.unterwelt
~#! tid=1042713527
Wie lange gabs die 7-Meilen-Stiefel?
Wie kam ein gewisser "Bug" ans Tageslicht?

=>
1. Sehr lange.
2. Durch Zufall wegen des Licht-duweisstschonwas.

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



Re^20: q (Orktoeter, 16. Jan 2003, 19:58:19):
~#! rn=Bambi rt=1042741873 rg=d.unterwelt
~#! tid=1042713527
Ich Antworte mal auf den letzen Artikel.
Zu Sou: Also dieser kleine Fehler bei den Zauberer der ihren Schutz um mehr
als das 10-fache? staerker gemacht hat als geplant war meines wissens mehrere
Jahre aktiv. Es ist also bei einer neuen Gilde nicht mit wenigen Monaten
anpassung getan.

Zu Patryn: Ich lese immer wieder "Die Kaempfer sind zu stark" Foobar hatte
dich auch schon aufgefordert doch mal mit etwas anderem als "ich glaube" und
"ich habe gehoert" herauszuruecken. 

Zu der Hand der Zauberer kam dann auch nichts mehr...

Wie waere es denn, den Streit hier einzustellen und jede Seite liefert
Informationen (also keine Vermutungen) an die Gilden/Objektbalance und wartet
dann mal ein paar Monate ab.

OrkT.

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



Re^21: q (Patryn, 16. Jan 2003, 20:29:58):
~#! rn=Orktoeter rt=1042743499 rg=d.unterwelt
~#! tid=1042713527
1 ist falsch.
Zu 2: Warum sollte ich Namen liefern, ausserdem hilft gegen bloed stellen
 eh nix.
Zu 3: Danke fuer Dein Patentrezept gegen SpellDefend, bisher hats keiner
 geknackt, aber Du, unsere geistige Leuchte, hasts ja wohl raus.

Zu 4: Hoerst Du zu? Seit Jahren quasi Stillstand obwohl von allen Seiten
 angemeckert. Derzeit scheint sich aber wirklich was zu tun...dachte ich aber
 auch schon mehrmals.

-- 
Patryn nerven solche geistigen Hoehenfluege an

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



Re^22: q (Cadrach, 16. Jan 2003, 20:41:38):
~#! rn=Patryn rt=1042745398 rg=d.unterwelt
~#! tid=1042713527
Klar gibts Moeglichkeiten gegen SpellDefend:
a) die Zaubigilde wertet sie gar nicht mehr aus (Hier streikt aber wohl jede
Gildenbalance die noch halbwegs klar im Kopf ist).
b) die Zaubigilde halbiert einfach die Wirkung jeder SpellDefend-Func vor der
Verrechnung. Zusaetzlich grept man ueber das mud und entscheidet mit der
NPC-Balance welche NPCs da vorher angepasst werden muessen (sooo viele sind
das naemlich gar nich).
Jetzt kommen wir nur zum Hinderungsgrund: Du sprichst Magiern das recht ab
selbst entscheiden zu duerfen wie gut ihr NPC durch magie gekillt werden kann
und hast (zu Recht) die Sorge das neue NPCs wieder die magie der zaubis
abwehren werden. (Wer das wirklich will, siehe Paracelsus kann die Zaubis
natuerlich trotzdem abwehren).

Die Staerke der Kaempfer und Zaubigilde ist erst dann wieder gerechtfertigt,
wenn es in der Tat NPCs gibt, bei denen jeweils eine der zwei Gilden
_ueberhaupt und rein gar nichts gebacken bekommt_. Nun, da Du nicht bereits
bist DAS zu akzeptieren, wird es fuers SpellDefend keine Loesung geben (sonst
koennte man naemlich auch mit heutigen Werten leben und nach und nach die
NPC-Balance das loesen lassen).

a) haengt die <hand x> ab _und_
b) verhindert das Kaempfer Waffen mit Magieanteil zuecken koennen.

========>

1. Es muessen erstmal keine NPCs mehr aufgewertet werden
2. Die Objektbalance braucht sich nicht um Altkram kuemmern
3. Die Gilden sind wieder halbwegs im Gleichgewicht (Tanjians kenn ich nicht)
4. Die Gilden ergaenzen sich wirklich mal
5. Wer den Mut hat das durchzusetzen, sollte sich genug Ohropax kaufen um das
gemeinsame gejammer von Zaubis und Kaempfern nicht mit anhoeren zu muessen.

Cad*

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



Re^23: q (Sou, 16. Jan 2003, 20:44:22):
~#! rn=Cadrach rt=1042746098 rg=d.unterwelt
~#! tid=1042713527
Hatten wir schon "Proggt einer ne Standartgilde, dann koennen wir uns die
restlichen sparen" im Programm?

Sou fragend.

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



Re^9: q (Darkwing, 16. Jan 2003, 23:37:37):
~#! rn=Vector rt=1042729992 rg=d.unterwelt
~#! tid=1042713527
Interessant was Du fuer boese Dinge kennst :-)

Schreib doch mehr davon in die mpa, nicht nur den alten Kram. Aber nein, das
koennte man ja nochmal brauchen :)


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



Re^22: q (Orktoeter, 17. Jan 2003, 09:25:10):
~#! rn=Patryn rt=1042745398 rg=d.unterwelt
~#! tid=1042713527
Sorry wenn du Dich genervt fuehlst Patryn, aber staendige zu wiederholen die
boesen Kaempfer sind so stark, aber auf wiederholte Aufforderung durch
verschiedene Leute zum wiederholten male nichts Konkretes zu liefern nervt
mich nun wiederum.

OrkT.

PS Kam es vielleicht deswegen zu dem ach so vielen Spelldefend (wenn es denn
wirklich so viel ist), weil die Zauberergildenspells von Angang an zu stark
waren? Aber anstatt entsprechende Reklamationen fruehzeitig zu akezptieren und
die Werte anzupassen, blieb es wie es ist und daraufhin hat es dann angefangen
dass das Spelldefend vermehrt eingesetzt wurde. Mit der Folge das Zauberer
schon seit ewigenZeiten eigentlich Magiehaende-Karatekas sind. Ich bin nur
froh das den Tanjian dieses Schicksal erspart blieb und sie noch die Gilde
geblieben sind als die sie mal gedacht waren.

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



Re^23: q (Cuchullin, 17. Jan 2003, 10:29:34):
~#! rn=Orktoeter rt=1042791910 rg=d.unterwelt
~#! tid=1042713527
Oh Mann Orktroete.

wget http://mg.mud.de/Archiv/mgmpa.zip
unzip mgmpa.zip
more OLD.*

Melde Dich wieder, wenn Du fertiggelesen hast. Bis dahin
verschone uns mit Deinem der Grundlage entbehrenden Geplapper,
das Dir Dein Papagei beigebracht hat...

Cuchullin

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



Re^24: q (Orktoeter, 17. Jan 2003, 10:46:13):
~#! rn=Cuchullin rt=1042795774 rg=d.unterwelt
~#! tid=1042713527
Lieber Cuchullin, der Artikel war schon gar nicht schlecht. Fuer einen
Lokalpolitiker uwerde das Niveau glatt reichen, keine Fakten und dafuer den
Gegner angreifen. Wenn es allerdings ueber Lokalpolitikerniveau hinausgehen
soll musst du noch lernen den Gegner nicht einfach nur persoenlich anzugreifen
sondern das ganze etwas eleganter zu machen.

OrkT.

PS: Ich liebe dich doch auch.

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



Re^25: q (Cuchullin, 17. Jan 2003, 10:55:17):
~#! rn=Orktoeter rt=1042796773 rg=d.unterwelt
~#! tid=1042713527

0251 / 53 33 44


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



Re^26: q (Grimmborn, 17. Jan 2003, 10:56:38):
~#! rn=Cuchullin rt=1042797317 rg=d.unterwelt
~#! tid=1042713527
Was ist das? Die lokale Hotline fuer psychische Stoerungen?

GdA

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



Re^25: q (Bambi, 17. Jan 2003, 10:57:44):
~#! rn=Orktoeter rt=1042796773 rg=d.unterwelt
~#! tid=1042713527
Ich als Lokalpolitiker }:) moechte hiermit anmerken, dass Ogerkroete... aeh
Orktroete ueberhaupt keine Ahnung hat, welches Niveau oder Nichtneveau
Lokalpolitiker haben oder wie sie ueblicherweise miteinander umgehen. Ich
gestehe ihm zu, dass er einen sehr begrenzten, nicht repraesentativen Anteil
an Lokalpolitikern (ich gehe mal davon aus, er meint Kommunalpolitiker und
keine Stammtischrevolutionaere) kennt.

Um zu der Diskussion dennoch etwas fachliches beizutragen, stelle ich einfach
mal in den Raum, dass sehr wohl bekannt sein sollte, welche Punkt gerade bei
den Kaempfern angekreidet werden. Dies sei naemlich das mehrfache An- und
Ausziehen bestimmter Ruestungstypen und Waffen innerhalb einer Kampfrunde,
besser noch, innerhalb eines Angriffs.

Bambi.

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



Re^27: q (Orktoeter, 17. Jan 2003, 10:57:54):
~#! rn=Grimmborn rt=1042797398 rg=d.unterwelt
~#! tid=1042713527
Vermutlich. Er scheint sie schon auswendig zu kennen. Hat aber wohl im Stress
Das Telefon mit der Tastatur verwechselt.

OrkT.

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



Re^27: q (Cuchullin, 17. Jan 2003, 10:57:56):
~#! rn=Grimmborn rt=1042797398 rg=d.unterwelt
~#! tid=1042713527
Das Alpha-Telefon Muenster ("Lern' Lesen und Schreiben."). Wobei mir
jetzt im Nachhinein der Gedanke kam, dass die Leute dort mit den eher
unbelehrbaren Haertefaellen (Wahloesterreicher...) vielleicht gar
nicht richtig umgehen koennen...

YTCu

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



Re^28: q (Nonne, 17. Jan 2003, 11:10:49):
~#! rn=Cuchullin rt=1042797476 rg=d.unterwelt
~#! tid=1042713527
Baoh, geht das nicht per tm? Jedes mal wenn ihr beide mitschreibt, kommt das
dabei raus. Es kotzt mich noch mehr an, als der Gildenkrieg.

Nonne.

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



Re^29: q (Patryn, 17. Jan 2003, 11:14:06):
~#! rn=Nonne rt=1042798249 rg=d.unterwelt
~#! tid=1042713527
Wer er antwortet muss ichs wenigstens nich machen ;)

-- 
Patryn

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



Re^30: q (Cuchullin, 17. Jan 2003, 11:14:52):
~#! rn=Patryn rt=1042798446 rg=d.unterwelt
~#! tid=1042713527
Genau. Du bist ja noch gar nicht richtig wach. 

YTCu :)

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



Re^31: q (Patryn, 17. Jan 2003, 11:15:46):
~#! rn=Cuchullin rt=1042798492 rg=d.unterwelt
~#! tid=1042713527
Stimmt, grad ausm Bett gefallen...dabei wollt ich wieder mal 8 Uhr
aufstehen.

-- 
Patryn sucht was im Kuelschrank

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



Re^26: q (Seleven, 17. Jan 2003, 12:15:14):
~#! rn=Bambi rt=1042797464 rg=d.unterwelt
~#! tid=1042713527
Leben die Kaepfer nich davon?
Wenn Sou eine Finte mit der 'falschen' Waffe macht, geht mindestens eine
Schadensstufe floeten. Wenn er einen Schildstoss machen will, muss er seinen
Speer wegstecken (kann man ja nicht mit einer Hand halten).
Sicherlich ist es nicht wirklich realistisch, aber bei Kaempfern kann man das
beliebte Argument 'Magie' halt leider nicht anfuehren.

i.A. Sou

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



Re^27: q (Orktoeter, 17. Jan 2003, 12:22:02):
~#! rn=Seleven rt=1042802114 rg=d.unterwelt
~#! tid=1042713527
Naja, als Kaempfer koennte man natuerlich auch eine Waffe verwenden die z.B.
Finte und Waffenschlagbonus hat. Selbstredend wird es keine Waffen geben die
beide Boni auf maximal haben, aber evtl. proggen ja freundliche Magier mal
Waffen die zwei zueinander passende Boni haben diese dann aber auf 50% des
Maximalwertes?
Ausserdem dachte ich es ist schon seit Jahren so das die Boni nur
beruecksichtigt werden wenn eine Waffe mindestens 2 Kampfrunde gezueckt ist?

OrkT.

PS Auch wenn es hier die ganze Zeit um kampfkraft der Gilden geht, sollte man
Gilden vielleicht nicht nur auf kampfkraft reduzieren. Ich weis aus eigener
Erfahrung das es einfach Spass macht einen Kaempfer zu spielen, stelle mir
anderseits einen Zauberer so wie sie aktuell sind recht eintoenig vor. (bevor
es jetzt flames gibt, das ist meine persoenliche Meinung und jedem steht frei
eine andere zu haben)


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



Re^27: q (Nonne, 17. Jan 2003, 12:33:13):
~#! rn=Seleven rt=1042802114 rg=d.unterwelt
~#! tid=1042713527
Vielleicht ist es aber von Anfang an gewollt gewesen, dass man sich auf einen
Waffe beschraenkt? Wieso hat ein 2-Hand-Speer eine groessere Wirkung bei
Waffenschlag? Vielleicht weil man gleichzeitig keinen Schild tragen kann?
Genau deswegen gibts vielleicht auch den 2-Hand-Bonus bei den Waffenskills.
Wenn sich Kaempfer auf eine Waffe beschraenken muessten und nicht wild
tauschen koennten, haette das fuer Magier 2 nette Effekte:
1. Man koennte die Boni ausnutzen, die die Gilde anbietet. Ach ruhig mal ans
Maximum gehen, dafuer aber nur einen Bonus. In anderen Waffen mehrere Boni
aber nicht so heftig.
2. Es gaebe mehr Vielfalt. Man koennte im Konsens mit der Balance Waffe
proggen, die trotzdem so interessant sind, dass sie sich auch wer holt.

Nonne.

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



Re^28: q (Cuchullin, 17. Jan 2003, 12:39:04):
~#! rn=Orktoeter rt=1042802522 rg=d.unterwelt
~#! tid=1042713527
> Selbstredend wird es keine Waffen geben die beide Boni auf maximal haben ...

Traeum' weiter. Es dauert vielleicht ein bisschen, aber frueher oder spaeter
wirst Du hinter Monster Q (unglaublich schwer, aber nach 2 weiteren Jahren
eine halbe Stunde nach Reboot tot) eine solche Waffe finden. Mit allem auf
Max. Es soll Leute geben, die dem - alten - SMS gerne noch ein paar Boni
fuer Trves haben geben wollen, weisst Du? In einem Mud, in dem sowas mit
vollem Ernst gewuenscht wird, ist alles moeglich - und die natuerliche
Ruestungsspirale erst recht.

Geh davon aus, dass ab dem Moment, in dem Waffenwechsel im Kampf verhindert
wird - ein interessanter Ansatz, wie ich finde, der aber auch ueber das
Ziel hinausschiessen kann - vermehrt Mischwaffen angeschlossen werden. Das
sind schliesslich Luecken im Spektrum. Und da ist vor allem Luft nach 
oben. Es ist schliesslich inzwischen sehr schwer, dem Mud noch was neues
zu schenken, nach dem das Spielervolk auch rennt UND das den Regeln der
Balance genuegt.

Bezueglich Zauberer: Genau. Das ist Deine Meinung. Ich habe in der Tat eine
andere. Auch wenn ich mir, natuerlich, Verbesserungen des Feelings auch bei
den Zauberern vorstellen koennte, keine Frage.

YTCu

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



Re^28: q (Seleven, 17. Jan 2003, 12:39:32):
~#! rn=Nonne rt=1042803193 rg=d.unterwelt
~#! tid=1042713527
In Ordnung, es war nicht geplant ... es ist geworden ist glaub immer so.
Ich finde aber, dass es jetzt reichlich spaet ist, darueber nachzudenken,
wie man das Aendern kann. Oder willst Du die bestehenden Waffen umschreiben?
Bzw. wer nutzt die dann?

S11 ist offen fuer Aenderungen, wenn sie Sinn machen.

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



Re^29: q (Nonne, 17. Jan 2003, 13:28:54):
~#! rn=Seleven rt=1042803572 rg=d.unterwelt
~#! tid=1042713527
Ich denke schon, dass das Sinn macht. Man koennte wieder Waffen schreiben. Es
koennten auch einfache Regeln existieren. z.B. Maximal darf die Waffe 150%
Kaempferboni haben, wenn man alle Boni addiert. Damit kann man massig
verschiedene Waffen, die fuer viele verschiedene Monster Vor- und Nachteile
haben. Es gibt von jeder Waffe zu jeder Schadensart eine max Waffe. Vielleicht
mir 1-2 Ausnahmen. Was will man als Magier da noch anschliessen, wofuer
Spieler sich interessieren? Dann sollte das ganze noch unter den
Balance-Grenzen sein, damit die Leute mal etwas entlastet werden. Es kann ja
nicht Sinn der Balance sein, dass sie alles abnehmen muessen. De facto ist es
aber so. Die mangelnde Vielfalt nimmt einem einen Menge Lust am proggen )c:

Nonne.

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



Re^27: q (Nibel, 17. Jan 2003, 14:56:28):
~#! rn=Seleven rt=1042802114 rg=d.unterwelt
~#! tid=1042713527
Magie. Damit laesst sich auch nicht alles ins Positive erklaeren. Zaubis
koennen auch nicht fuer jeden Spell kurz mal die Ausruestung mit der
besten Unterstuezung anziehn.
  - Nibel
-----------------------------------------------------------------------------



Re^28: q (Cuchullin, 17. Jan 2003, 14:58:51):
~#! rn=Nibel rt=1042811788 rg=d.unterwelt
~#! tid=1042713527
Interessanter Vergleich. Bemerkenswert, dass noch keine absoluten
Allrounder aufgetaucht sind (auch wenn schon gute Naeherungswerte
in Erscheinung traten). Das mag daran liegen, dass es nicht der
einzelne Magier ist, der bestimmt, was seine Ruestung unterstuetzt
und wie stark, sondern der Gildenmagier der Zauberer. 

YTCu

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



Re^29: q (Mandragon, 17. Jan 2003, 15:00:07):
~#! rn=Cuchullin rt=1042811931 rg=d.unterwelt
~#! tid=1042713527
Ich finde es aber echt schade, den gewaltigen schlagring fuer das verletzt
zwischendurch nicht mit dem schattenring tauschen zu koennen ... ;o)

Ma* (ernst ;-) )

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



Ein schwarzer Dolch... (Zook, 23. Jan 2003, 11:34:08):
... wurde nach Ruecksprache mit Padreic aus dem Spiel entfernt.

Gruss, Zook.

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



Ein gewisser Spiegel... (Zook, 15. Feb 2003, 14:34:13):
... musste wegen schlimmer Defekte mal abgehaengt werden.

Zook.

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



Ein Nekromant... (Zook, 15. Feb 2003, 14:42:58):
... ist derzeit in Kur, um sich ein wenig zu erholen.

Zook.

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



Ein dunkles Schwert... (Zook, 16. Apr 2003, 00:29:57):
... hat uebergangsweise etwas schlechtete Eigenschaften als bisher.

Gruss, Zook.

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



Re: Ein dunkles Schwert... (Hisasul, 16. Apr 2003, 00:30:31):
~#! rn=Zook rt=1050445797 rg=d.unterwelt
~#! tid=1050445797
Nur die, die man neu holt oder auch die alten?

His

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



Re: Re: Ein dunkles Schwert... (Ogo, 16. Apr 2003, 00:30:55):
~#! rn=Hisasul rt=1050445831 rg=d.unterwelt
~#! tid=1050445797
Find es raus...

Ogo

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



Re: Re: Ein dunkles Schwert... (Zook, 16. Apr 2003, 00:36:01):
~#! rn=Hisasul rt=1050445831 rg=d.unterwelt
~#! tid=1050445797
Welche alten?

Zook dachte, er haette gar keins gefunden.

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



Re^3: Ein dunkles Schwert... (Flauros, 16. Apr 2003, 00:38:13):
~#! rn=Zook rt=1050446161 rg=d.unterwelt
~#! tid=1050445797
Neu bedeutet: Die, die man bekommt, wenn man den Balrog jetzt haut.
Alt bedeutet: Die, die man seit dieser Uptime bekommen hat, als man den Balrog
gehauen hat.

Flauschi - ist froh, dass er aufklaeren darf. :)

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



Re^4: Ein dunkles Schwert... (Zook, 16. Apr 2003, 00:39:36):
~#! rn=Flauros rt=1050446293 rg=d.unterwelt
~#! tid=1050445797
Na, da ich die alten gesucht, aber nicht gefunden habe, duerft Ihr die
diese Uptime behalten oder beim lieben Zook freiwillig abgeben.

Zook.

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



Re^5: Ein dunkles Schwert... (Flauros, 16. Apr 2003, 01:39:36):
~#! rn=Zook rt=1050446376 rg=d.unterwelt
~#! tid=1050445797
Lieber Zook?
Wo?

Grimmborn, uebernehmen Sie (c) Ma*

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



Das Dunkelelfenamulett (Padreic, 28. Jul 2003, 23:06:03):
Zusammen mit der Dunkelelfenrasse kommt natuerlich auch wieder eine neue Quest
auch hierbei wuensch ich Euch natuerlich viel Spass.
In dem Zusammenhang noch ein kleiner Tip: Das Kraeuterlabor in der Gilde ist
zwar voll funktionsfaehig, aber solang noch nicht alle Kraeuter im Mud
verteilt sind, koennt ihr mit dem Brauen von Traenken noch nicht starten -
hierzu gibts aber dann sicher naeheres wenns soweit ist.

Pad*

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



Re: Das Dunkelelfenamulett (Ark, 29. Jul 2003, 13:44:01):
~#! rn=Padreic rt=1059426363 rg=d.unterwelt
~#! tid=1059426363
Der Wanderer gibt nun auch einen Hinweis, wie andere Rassen sich ungefaehrdet
in die Gilde vortasten koennen. Muss er wohl nicht richtig mitbekommen haben,
als ich ihm das verklickerte.


              *** ARK * the * Magnificent ***


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



Re: Re: Das Dunkelelfenamulett (Montanus, 29. Jul 2003, 13:45:25):
~#! rn=Ark rt=1059479041 rg=d.unterwelt
~#! tid=1059426363
frage wanderer nach dunkelelfengilde
Der Wanderer sagt: Ark ist schuld. Am besten gehst du nur als Geist hin.

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



Rattenanpassungen (Patryn,  3. Aug 2003, 21:42:42):
1.) Mit Todesfolgen kann man das Blut nicht mehr trinken.
2.) Global Attacks werden noch etwas staerker als zuvor abgefangen.
3.) NPCs werden nicht mehr instantan gezapt.

-- 
patryn

PS: Das Kampfmodul ist sehr eigen und die Aenderung mit den NPCs war
    nicht ganz leicht, Fehler moeglich, bitte bei mir melden.

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



Spinnen (Padreic,  8. Aug 2003, 22:51:45):
Habe heute das repfile von Zzerenzzen ein wenig abgearbeitet und bei der
Gelegenheit die Spinnen in Para2 debuggt. Ab nun ist in Para2 also wieder ein
wenig mehr los.

Pad*

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



News Flash: Frankenstein von Geistern verlassen (Ark, 12. Aug 2003, 13:41:03):
Die Maechte, die Frankenstein das Aendern der Rasse verliehen, sind aus ihm
verschwunden. Ob er an einer neuen Beschaeftigung arbeiten wird, ist zur Zeit
noch unklar.


              *** ARK * the * Magnificent ***


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



Re: News Flash: Frankenstein von Geistern verlassen (Nonne, 12. Aug 2003, 13:42:54):
~#! rn=Ark rt=1060688463 rg=d.unterwelt
~#! tid=1060688463
Juhuuuuuuuuuuuuuuuuuuuuuu endlich! Danke Ark! *wuschel* *knutsch*

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



Re: Re: News Flash: Frankenstein von Geistern verlassen (Morgoth, 12. Aug 2003, 13:44:02):
~#! rn=Nonne rt=1060688574 rg=d.unterwelt
~#! tid=1060688463
Du knutscht Ark? FOTOOOS !!!

M*

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



Re: Re: News Flash: Frankenstein von Geistern verlassen (Ark, 12. Aug 2003, 13:46:22):
~#! rn=Nonne rt=1060688574 rg=d.unterwelt
~#! tid=1060688463
Immer wird der Ueberbringer der Nachricht geknechtet, gehenkt, geknutscht ...
geknutsch???


              *** ARK * the * Magnificent ***


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



Re: News Flash: Frankenstein von Geistern verlassen (Ark, 12. Aug 2003, 14:03:20):
~#! rn=Ark rt=1060688463 rg=d.unterwelt
~#! tid=1060688463
Fuer alle, die jetzt vermuten, dass etwas Aehnliches in anderen Objekten
umgesetzt wird, moechte ich hierbei gleich die Hoffnung nehmen, inkonsistent
sollte diese Entscheidung natuerlich nicht sein.


              *** ARK * the * Magnificent ***


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



Re: Re: News Flash: Frankenstein von Geistern verlassen (Padreic, 12. Aug 2003, 14:12:48):
~#! rn=Ark rt=1060689800 rg=d.unterwelt
~#! tid=1060688463
Nachdem ich mit Ark gerade nochmal Ruecksprache genommen habe ist die Sache
wohl eindeutig klar: Es wird definitiv keinerlei Wechselmoeglichkeit hin zu
den Dunkelelfen geben. Das so eine Entscheidung kommen wuerde hatte ich
befuerchtet, auch wenn es bisher hiess das es fuer die Delfen wahrscheinlich
noch eine Ausnahmeregelung geben wird.
Fuer mich reiht sich diese Entscheidung in eine Reihe von anderen Beschluessen
ein, in der ich nicht im geringsten erkennen kann wie der Spielspass durch
Frust erhoeht werden kann. In jedem Fall tut es mir sehr leid fuer alle
diejenigen von Euch die in Erwartung der Dunkelelfen schonmal jemand
hochgespielt haben aber insbesondere fuer Sloane der wohl der erste Dunkelelf
des MorgenGrauens war.

Pad*

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



Re^3: News Flash: Frankenstein von Geistern verlassen (Ark, 12. Aug 2003, 14:19:07):
~#! rn=Padreic rt=1060690368 rg=d.unterwelt
~#! tid=1060688463
Kleine persoenliche Anmerkung: wer hier "in Erwartung" auf etwas"hinspielt",
riskiert immer, enttaeuscht zu werden. Ein Anspruch auf Aenderung oder
Linderung des Risikos entsteht daraus nicht. Fakt.


              *** ARK * the * Magnificent ***


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



Re^4: News Flash: Frankenstein von Geistern verlassen (Grumpf, 12. Aug 2003, 14:22:05):
~#! rn=Ark rt=1060690747 rg=d.unterwelt
~#! tid=1060688463
Wenn schon denn schon,  ich finde man sollte das Wechseln der Gilden direkt
mit abhaengen, sowas kann man sich doch vorher ueberlegen? Einmal von Ab in ne
andere Gilde reicht ja wohl. Wenn nicht muss man sich halt nen neuen Spieler
hochspielen. Gilden sind ja schliesslich nicht zum Spass da.
Grumpf grumpft.

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



Re^5: News Flash: Frankenstein von Geistern verlassen (Twilight, 12. Aug 2003, 14:24:37):
~#! rn=Grumpf rt=1060690925 rg=d.unterwelt
~#! tid=1060688463
Naja ich bin recht neu hier - trotzdem ein Gedanke:
Wenn ich nen Char in Rasse A hochspiele, um dann als HLP in Rasse B zu
wechseln, widerspricht das fuer mich dem Prinzip der Rasse. Denn die haben
doch Vor- und Nachteile, deren Sinn es ist, mit ihnen zu leben und sich mit
ihnen hochzuspielen - und nicht um in nem Stadium zu wechseln, wos dann eh
fast egal ist oder die Vorteile ueberwiegen.

Twilight

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



Re^6: News Flash: Frankenstein von Geistern verlassen (Orktoeter, 12. Aug 2003, 14:33:35):
~#! rn=Twilight rt=1060691077 rg=d.unterwelt
~#! tid=1060688463
Das wuerde ja in Richtung Rollenspiel gehen, Twilight. Aber das wird hier doch
eh nicht gewuenscht.

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



Re^5: News Flash: Frankenstein von Geistern verlassen (Vanion, 12. Aug 2003, 15:53:12):
~#! rn=Grumpf rt=1060690925 rg=d.unterwelt
~#! tid=1060688463
Mag sein, dass Du das aus dem Realen Leben nicht kennst, aber ich hatte immer
den Eindruck, dass es einfacher ist, einen Verein, oder einen Job zu wechseln,
als die Gene.

V*, haengt an seinen Genen.

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



Re^7: News Flash: Frankenstein von Geistern verlassen (Mupfel, 12. Aug 2003, 16:44:53):
~#! rn=Orktoeter rt=1060691615 rg=d.unterwelt
~#! tid=1060688463
"Richtung Rollenspiel" ist es also, wenn Du als Zwerg besonders gut in GIlde X
aufsteigen kannst, wenn Du aber oben bist, dann Elf wirst, weil man als Elf so
richtig reinhauen kann? Nunja.... die Aufstiegsbeschraenkungen mancher Gilden
werden (bzw wurden) so wirkungsvoll umgangen...

OrkT, mach mich schlau: in welchem Rollenspielsystem kann man - je nach
Vorteil - vom Elf zum Zwerg werden usw?

-mupfel-

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



Re: News Flash: Frankenstein von Geistern verlassen (Bielefeld, 12. Aug 2003, 21:33:57):
~#! rn=Ark rt=1060688463 rg=d.unterwelt
~#! tid=1060688463
Danke! Fuenfeinhalb Jahre "Provisorium" waren ja wohl auch genug.

-Bielefeld

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



Re^6: News Flash: Frankenstein von Geistern verlassen (Sky, 12. Aug 2003, 23:07:44):
~#! rn=Twilight rt=1060691077 rg=d.unterwelt
~#! tid=1060688463
Es ist halt so, dass man am Anfang noch nicht weiss, in wie weit man hier sein
Spiel gestalten will.
Ebensowenig kennt man auch kaum die Vor- oder Nachteile (s)einer Rasse (und
wer jetzt mit 'hilfe rasse(n)' kommt wird ausgelacht. :p
Angenommen, da faengt so ein(e) kleine(r) Hobbitspieler(in) an, dass MG zu
erkunden, um dann endlich mit lv 35, nach vielen Toden und vielen vielen Tagen
online-Zeit, zu merken, dass Chaoten ja superlustig und ganz doll gruslig
sind.....
Dann ist diese(r) Hobbitspieler(in) auf gut deutsch "voll angeschissen".
Oder was will ich als Elf in einer Gilde (Kleriker), deren einziger
"brauchbarer" Schlag mit Keulenwaffen durchgefuehrt wird?
Jaja, jetzt kommt: "Man kann die Gilden auch anders spielen, wenn man nur
will", oder: "Es geht ja hier nicht darum Max-Schaden zu machen, sondern um
Spass"...
Egal, es werden viele Leute noch viele lustige Argumente finden, die teilweise
dann wohl auch zutreffen koennen.
Aber eben um das genannte Beispiel des Hobbits der Chaots werden will ist es
halt schade. 
Frankenstein ade....

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



Re^7: News Flash: Frankenstein von Geistern verlassen (Darkwing, 12. Aug 2003, 23:12:43):
~#! rn=Sky rt=1060722464 rg=d.unterwelt
~#! tid=1060688463
genau, Brotnael ist Kleriker und Elf. So ein Idiot! Da kann doch nix bei
rauskommen. Haettest Du Du ihn bloss eine Woche vorher gewarnt...

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



Re^8: News Flash: Frankenstein von Geistern verlassen (Brotnael, 12. Aug 2003, 23:14:23):
~#! rn=Darkwing rt=1060722763 rg=d.unterwelt
~#! tid=1060688463
Hey, ich war vorher Zwerg.
Und wenn ich bloss vorher von dem dummen Keulenskill gewusst haette...
*jammer*

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



Re^9: News Flash: Frankenstein von Geistern verlassen (Montanus, 13. Aug 2003, 09:29:52):
~#! rn=Brotnael rt=1060722863 rg=d.unterwelt
~#! tid=1060688463
Wer jemals freiwillig "Hobbit" bei der Charaktererschaffung angeklickt hat,
ist selber schuld. Punkt, aus, fertig.
Oder, wie ein bekannter Atheist hier sagen wuerde: Es gibt immer noch den
Befehl "Selbstloeschung", wenn einem Jugendsuenden peinlich sind.

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



Re^10: News Flash: Frankenstein von Geistern verlassen (Bambi, 13. Aug 2003, 09:38:15):
~#! rn=Montanus rt=1060759792 rg=d.unterwelt
~#! tid=1060688463
Alleine aus Sicht der Gildenverwaltung empfinde ich das Abstellen der
Rassenwechsel als aeusserst positiv. Wenn ich an den Mehraufwand im Kampf
denke, um zu pruefen, ob ein Spieler die Voraussetzungen fuer einen Spell
erfuellt, die ihm nun einmalig beim Lernen auferlegt werden koennen...
Sicher ist das Argument, man wisse zu Beginn des Spiels nicht, welche Rasse /
Gilde welche Vor- und Nachteile hat, vorhanden - und RTFM ist hier sicher auch
kein brauchbarer Hinweis. Wenn ich aber Neulingen sage, sie sollen bloss nicht
in die Karategilde eintreten, weil sie mit Level 1 arge
Geldbeschaffungsprobleme haben werden und sie das dann trotzdem tun, dann sind
sie selbst Schuld oder wollten es so (Gildenfeeling etc). Dass ein Spieler
sich erst mit Level 35 ueber Alternativen zur Abenteurergilde informiert, ist
mir persoenlich noch nicht aufgefallen, aber vielleicht kann mir da wer andere
Erfahrungen schildern.
MfG, Bambi.

PS: Antwort auf letzten Artikel, nicht auf Content.

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



Re^11: News Flash: Frankenstein von Geistern verlassen (Anatol, 13. Aug 2003, 17:37:02):
~#! rn=Bambi rt=1060760295 rg=d.unterwelt
~#! tid=1060688463
Ich distanziere mich als Spieler vom technischen Techtelmechtel. Meinetwegen
fuehrt die Gildenlosigkeit ein und macht das zwingende Grundlage fuer einen
Rassenwechsel.

Selbigen aber vor dem Hintergrund der Zweitspielerbekaempfung (wozu genau
waren die Forscherpunkte nochmal da?) komplett zu unterbinden, entbehrt
in meinen Augen jeglicher Grundlage. Eine Argumentation ueber "Wo sonst 
kannst Du denn die Rasse wechseln?" ist natuerlich hinfaellig, wie der
Dunkelelfenthread deutlich machte.

Das Mud waechst. Wer sich vor X Jahren fuer Rasse Y entschied, weil es seine
Wunschrasse Z noch nicht gab, ist mit der Einfuehrung von Z angeschissen.
Ebenso der, der beim Einloggen eine Rasse waehlte und dann merkt, dass sie
nicht seinen Vorstellungen entspricht (seien es Dunkelelfen, Elfen oder
Zwerge, mi'do'egal).

Pffffh.....

Anatol

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



Re^12: News Flash: Frankenstein von Geistern verlassen (Ogo, 13. Aug 2003, 17:43:57):
~#! rn=Anatol rt=1060789022 rg=d.unterwelt
~#! tid=1060688463
Dass du dich distanzierst, ist schoen, tut aber auch wenig zur Sache. Oft
genug muessen sich hier Sachen der Technik beugen.
Die Zweitspielerbekaempfung mittels Fps ist einzig und allein quantitativ und
nicht qualitativ zu betrachten.
Aussagen wie "X element Alle sind ... angeschissen." sind fast schon
konsekutiv wahr; die wenigsten Aenderungen schaffen fuer alle einen Vorteil.

Ogo

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



Re^13: News Flash: Frankenstein von Geistern verlassen (Anatol, 13. Aug 2003, 17:56:54):
~#! rn=Ogo rt=1060789437 rg=d.unterwelt
~#! tid=1060688463
Fuer WEN schaffen sie denn einen Vorteil? Wenn ich das richtig sehe, ist
es eine Loesung aus Bequemlichkeit gewesen. Ein anderer Weg - z.B. eben
das Ermoeglichen der "Gildenlosigkeit" - waere mehr Aufwand.

Die in meinen Augen nur vorgeschobene Argumentation, dass der Wechsel der
Rasse ja sowas von unmoeglich ist, weil man ja als duerrer Elf kein fetter
Dunkelelf werden kann, sei mit dem Wort "Magie" konfrontiert. Natuerlich
geht es, soll ich die Raeume dazu liefern? ;o)

Fakt ist: Man kann seine Gilde wechseln. Das ist in vielerlei Hinsicht auch
nicht gerade logisch. Jemand, der als Trves mit Koepfeeinschlagen gross 
geworden ist, wird sich kaum auf dem Weg arkaner Kuenste zurechtfinden. Viele
Muds legen Rasse UND Gilde beim Einloggen fest. Wurde das hier je einmal
ernsthaft hinterfragt? Nein. Weil es ja doof waere, koennte man seine Gilde
nicht wechseln... es kommen ja neuere, interessantere, pesoenlich passendere.

Mit den Rassen ist es eben dasselbe in gruen. Offensichtlich kommen neue
Rassen dazu. Sicher wird es auch Faelle geben, wo jemand zu Beginn eine
Rasse mit den falschen Erwartungen waehlt. Aber just DA kommt jetzt der
Rollenspiel-Erzmagierhammer und plaettet die Vorstellungen der Spielerwelt.

"Fang' halt einen Zweitie an" ist als ernsthafte Argumentation kaum tragbar.
Schliesslich, ich wiederhole mich, bekaempft man jene an anderer Front, 
sogar 'illegal' ( == entgegen der Vereinbarung bei Gesamtentscheidungen
bzgl. Zwangsmarkierung). "Abartig" ist als Begruendung, wie gesagt, auch
nicht gerade heranfuehrbar. Mir fehlt gerade schlicht die Position, die
ich angreifen koennte - ich sehe einfach keine Argumentation, ausser einer
Willkuerentscheidung. Weil es die Erzmagier so wollten.

Nochmal zur Klarstellung: Ich will keinen Rassenwechsel zur nachtraeglichen
Optimierung. Meinetwegen verbindet damit gravierende Nachteile wie Zwangs-
Austritt aus der Gilde, Reduzierung der "allgemeinen Waffenfertigkeiten",
einen Tod und zwei Wochen einen laecherlichen Titel noch obendrauf. Aber
... ach was soll's...

Anatol

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



Re^14: News Flash: Frankenstein von Geistern verlassen (Grimmborn, 13. Aug 2003, 18:01:13):
~#! rn=Anatol rt=1060790214 rg=d.unterwelt
~#! tid=1060688463
Ich stimme Dir vollstaendig zu, auch ich bin dafuer die Moeglichkeit des
Gildenwechsels abzuschaffen (oder kompromissweise mit massiven Hindernissen
wie 50% Lerngeschwindigkeit und -maximalerfolg in der neuen GIlde zu
versehen). 

Grimmborn der Atheist

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



Re^15: News Flash: Frankenstein von Geistern verlassen (Twilight, 13. Aug 2003, 18:02:45):
~#! rn=Grimmborn rt=1060790473 rg=d.unterwelt
~#! tid=1060688463
Bei den Dunkelelfen gibts das doch eh schon, oder wie war das mit dem Schutz?
... ;)

Twilight

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



Re^16: News Flash: Frankenstein von Geistern verlassen (Orktoeter, 13. Aug 2003, 18:03:03):
~#! rn=Ogo rt=1060790547 rg=d.unterwelt
~#! tid=1060688463
Endlich mal etwas wobei die alten Saecken nicht gekniffen sind... haehaeh

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



Re^12: News Flash: Frankenstein von Geistern verlassen (Amaryllis, 13. Aug 2003, 18:04:11):
~#! rn=Anatol rt=1060789022 rg=d.unterwelt
~#! tid=1060688463
> "Ich distanziere mich als Spieler vom technischen Techtelmechtel."

Ich werde Dich bei Gelegenheit wieder daran erinnern... :-)

scnr,
Ama*

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



Re^14: News Flash: Frankenstein von Geistern verlassen (Ogo, 13. Aug 2003, 18:21:03):
~#! rn=Anatol rt=1060790214 rg=d.unterwelt
~#! tid=1060688463
Wenn man nicht mehr die Gilde wechseln darf, sind die angeschissen, die in
eine gut balancierte Gilde eingetreten sind, die einen engagierten
Gildenmagier vorzuweisen hat, der aber dann abhanden kommt. Die Gilde wird so
klein | mit Hut zurecht gestampft und die Faehigkeit des hoechsten Levels zur
Nutzlosigkeit verdammt. Tja, und man kann nicht wechseln, doof gelaufen, oder?

Ogo, Flamebait -1

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



Re^15: News Flash: Frankenstein von Geistern verlassen (Orktoeter, 13. Aug 2003, 18:24:49):
~#! rn=Ogo rt=1060791663 rg=d.unterwelt
~#! tid=1060688463
War das jetzt die versteckte Aufforderung Zauberer zu werden so lange man noch
wechseln kann?
Denn die Zauberer-hand entgeht ja schon seit jahren der Abwertung und das wo
sie doch selbst dem zustaendigen Gildenmagier nicht gefaellt...

OrkT, zu den Chips greifend.

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



Re^15: News Flash: Frankenstein von Geistern verlassen (Foobar, 13. Aug 2003, 18:26:19):
~#! rn=Ogo rt=1060791663 rg=d.unterwelt
~#! tid=1060688463
"gut balanciert" :o)

F*

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



Re^12: News Flash: Frankenstein von Geistern verlassen (Ark, 13. Aug 2003, 18:26:37):
~#! rn=Anatol rt=1060789022 rg=d.unterwelt
~#! tid=1060688463
Technische Umsetzbarkeit ist kein Argument fuer die tatsaechliche Umsetzung.
Wenn jeder hier Rassen jederzeit waehlen kann wie Gilden, kann man sie auch
gerne einstampfen. Das "ich bin angeschissen" Argument lasse ich nicht gelten.
Ein neuer Charakter ist dann wohl besser als die Scheisse mit sich
rumzutragen. Fragt sich nur, wie der Spieler mit soviel Scheisse die ganze
Zeit spielen konnte, wohl nur unter grosser Schmerzen.
Das Wort "Rassenwechsel" will ich also nicht mehr hoeren :-) Wir haben
entschieden, dass es so, wie bisher moeglich, nicht mehr sein soll. Dagegen
spricht nichts gegen ein Konzept, das einem erlaubt, sich auch als Zwerg als
Dunkelelf zu fuehlen. Freiwillige vor.
Wer "nur mal in die Gilde/Rasse reinschnuppern" will, kann das gut ueber einen
neuen Charakter. Warum ein hochstufiger Zwerg sich ploetzlich, nach einigen
Jahren Spiel, als Dunkelelf fuehlen sollte (ausser, um ein paar
Neuigkeiten/Vorteile auszuprobieren), will mir sowieso nicht in den Kopf.


              *** ARK * the * Magnificent ***


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



Re^16: News Flash: Frankenstein von Geistern verlassen (Morgoth, 13. Aug 2003, 18:28:11):
~#! rn=Foobar rt=1060791979 rg=d.unterwelt
~#! tid=1060688463
Die einzig "gut balancierte" Gilde war, ist und wird auch immer sein:
Abenteurer :) 

M*

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



Re^17: News Flash: Frankenstein von Geistern verlassen (Zook, 13. Aug 2003, 18:28:57):
~#! rn=Morgoth rt=1060792091 rg=d.unterwelt
~#! tid=1060688463
Und das, obwohl sie in den letzten Jahren zum Teil massiv aufgewertet wurden.

Zook, Abenteurer aus Ueberzeugung.

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



Re^18: News Flash: Frankenstein von Geistern verlassen (Orktoeter, 13. Aug 2003, 18:30:29):
~#! rn=Zook rt=1060792137 rg=d.unterwelt
~#! tid=1060688463
Saeurestrahl (oder war es Saeureball? *tatter*) rulez!

OrkT.

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



Re^19: News Flash: Frankenstein von Geistern verlassen (Zook, 13. Aug 2003, 18:31:49):
~#! rn=Orktoeter rt=1060792229 rg=d.unterwelt
~#! tid=1060688463
Nicht nur das.. :)

Zook.

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



Re^17: News Flash: Frankenstein von Geistern verlassen (Croft, 13. Aug 2003, 18:32:16):
~#! rn=Morgoth rt=1060792091 rg=d.unterwelt
~#! tid=1060688463
Werden die Urukhais in Zukunft dem Vorbild der Abenteurer nacheifern? :-)

Croft

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



Re^14: News Flash: Frankenstein von Geistern verlassen (Ark, 13. Aug 2003, 18:32:35):
~#! rn=Anatol rt=1060790214 rg=d.unterwelt
~#! tid=1060688463
Umgekehrt: warum sollte man es weiterhin zulassen? Gewohnheitsrecht? Man kann
sich ein wenig an anderen Muds orientieren, aber irgendwo wollen wir ja unsere
Eigenstaendigkeit behalten und eine gewisse Richtung vorgeben. Und das wird
eben in diesem demokratischen Mud nicht per Volksentscheid entschieden, aber
das ist bekannt, aufregen darueber kann man sich in einem anderen Thread.
Ich weiss, ich klinge heute ein wenig selbstgefaellig :-)
Further bulletins as events warrant.


              *** ARK * the * Magnificent ***


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



Re^18: News Flash: Frankenstein von Geistern verlassen (Apollonia, 13. Aug 2003, 18:32:37):
~#! rn=Croft rt=1060792336 rg=d.unterwelt
~#! tid=1060688463
:lacht. Und zwar laut.

Apo*

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



Re^20: News Flash: Frankenstein von Geistern verlassen (Orktoeter, 13. Aug 2003, 18:32:51):
~#! rn=Zook rt=1060792309 rg=d.unterwelt
~#! tid=1060688463
*pssssst* sonst kommen die ganze "tollen Metzler" noch alle in die
Abenteurergilde und dann werden wir wieder abgewertet...

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



Re^19: News Flash: Frankenstein von Geistern verlassen (Morgoth, 13. Aug 2003, 18:33:09):
~#! rn=Apollonia rt=1060792357 rg=d.unterwelt
~#! tid=1060688463
Hey lach nicht ueber meine armen kleinen Orkileins :)

M*

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



Re^19: News Flash: Frankenstein von Geistern verlassen (Freibier, 13. Aug 2003, 18:33:21):
~#! rn=Orktoeter rt=1060792229 rg=d.unterwelt
~#! tid=1060688463
Wann kommt endlich der Ruelpse-Spruch fuer Schuettler?

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



Re^20: News Flash: Frankenstein von Geistern verlassen (Muadib, 13. Aug 2003, 19:07:41):
~#! rn=Freibier rt=1060792401 rg=d.unterwelt
~#! tid=1060688463
ich habe noch nicht ganz verstanden was unter zweitiebekaempfung zu verstehen
ist.
fps hindern doch an keinen zweities, lediglich an instantmitmetzlerbots
hopefully. 
und sind doch auch eine schoene bereicherung fuer den spieler kann er doch
sagen "hier kenne ich mich aus und das ist doch was" und fuehrt ihn auch in
regionen wo er vorher noch nicht war.
aber jetzt kommt bestimmt wieder das argument das war anders gedacht und
verstanden oder nicht richtig reflektiert :)
und die entmachtung frankensteins ist nun mit sicherheit auch keine
zweitieverhinderung :)
also echte zweities vor, mehret euch und seid mindestens so originaer wie der
erstie.

naja und zum thema rollenspiel: wenn jemand seine rasse nach einigem spiel
wechselt ist das alles aber nur nicht "rollengerecht" also bitte keine
rollenspieltechnsischen argumente und ooc argumente vermischen

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



Re^21: News Flash: Frankenstein von Geistern verlassen (Troy, 14. Aug 2003, 08:00:09):
~#! rn=Muadib rt=1060794461 rg=d.unterwelt
~#! tid=1060688463
Als Kompromiss koennen wir ja ein Posing-Objekt bauen, so dass dann jeder
in der Rasse, die er gerne haette posieren kann.
>Leichtsinn der Landstreicher [Zwerg posiert als Darkelf/Abenteurer]

Troy

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



Re^22: News Flash: Frankenstein von Geistern verlassen (Montanus, 14. Aug 2003, 10:44:07):
~#! rn=Troy rt=1060840809 rg=d.unterwelt
~#! tid=1060688463
Also ich kenne da eine Quest, in der man seine Rasse wechseln muss. Da wird
man naemlich zum Maulwurf. Und eine andere, in der man zum Frosch wird. (Fuer
Zwerge gleicht das ja einer erfolgreichen Schoenheitsoperation...)

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



Re^23: News Flash: Frankenstein von Geistern verlassen (Zook, 14. Aug 2003, 10:44:37):
~#! rn=Montanus rt=1060850647 rg=d.unterwelt
~#! tid=1060688463
Du erinnerst Dich an Questen? 

Zook ist erstaunt.

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



Re^24: News Flash: Frankenstein von Geistern verlassen (Montanus, 14. Aug 2003, 10:47:03):
~#! rn=Zook rt=1060850677 rg=d.unterwelt
~#! tid=1060688463
Na klar. Oder glaubst du, ich sei durch Magierwillkuer und Machtmissbrauch auf
Level 8 gekommen?

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



Re^25: News Flash: Frankenstein von Geistern verlassen (Zook, 14. Aug 2003, 10:48:01):
~#! rn=Montanus rt=1060850823 rg=d.unterwelt
~#! tid=1060688463
Das glaube ich allerdings. ;)))

Zook.

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



Re^26: News Flash: Frankenstein von Geistern verlassen (Montanus, 14. Aug 2003, 11:00:20):
~#! rn=Zook rt=1060850881 rg=d.unterwelt
~#! tid=1060688463
Ich bin eh enttaeuscht. Ich hab dich vor ein paar Tagen fuer die Auswahlliste
der groessten Deutschen vorgeschlagen und bin immer noch nur Level 8...

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



Re^27: News Flash: Frankenstein von Geistern verlassen (Boing, 14. Aug 2003, 11:00:46):
~#! rn=Montanus rt=1060851620 rg=d.unterwelt
~#! tid=1060688463
Das liegt daran dass er Halbschweizer ist.
  Boing

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



Re^27: News Flash: Frankenstein von Geistern verlassen (Zook, 14. Aug 2003, 11:00:48):
~#! rn=Montanus rt=1060851620 rg=d.unterwelt
~#! tid=1060688463
Ah, kann man mich nun endlich auch waehlen? Und, bin ich vor oder hinter
Jof?

Zook.

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



Re^28: News Flash: Frankenstein von Geistern verlassen (Zook, 14. Aug 2003, 11:01:02):
~#! rn=Boing rt=1060851646 rg=d.unterwelt
~#! tid=1060688463
Aber auch Halbdeutschr.

Zook.

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



Re^29: News Flash: Frankenstein von Geistern verlassen (Montanus, 14. Aug 2003, 11:04:17):
~#! rn=Zook rt=1060851662 rg=d.unterwelt
~#! tid=1060688463
Da Jof schon 519 Tage lang nicht mehr hier war...
Hmmm, bei Halbschweizern kommt mir so ne Idee. Wann gibt es hier denn nun die
ersten Halbelfen? Und Halbdunkelelfen? Gibt es in der Fantasy ueberhaupt
Halbdunkelelfen? Oder werden die imemr shcon gleich bei der Geburt ersaeuft?

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



Re^30: News Flash: Frankenstein von Geistern verlassen (Zook, 14. Aug 2003, 11:06:07):
~#! rn=Montanus rt=1060851857 rg=d.unterwelt
~#! tid=1060688463
Ersaeufen waer fuer die Rasse/GIlde praktisch: BRaucht man nur den ersten
Level zu proggen.

Zook.

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



Re^31: News Flash: Frankenstein von Geistern verlassen (Nonne, 14. Aug 2003, 11:07:20):
~#! rn=Zook rt=1060851967 rg=d.unterwelt
~#! tid=1060688463
Nur sollte man dann die Wasserresistenz in der Shell nicht zu hoch setzen,
sonst funktioniert das Ersaeufen nicht (c;

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



Re^13: News Flash: Frankenstein von Geistern verlassen (Gnome, 14. Aug 2003, 16:20:39):
~#! rn=Ark rt=1060791997 rg=d.unterwelt
~#! tid=1060688463
wenn ein hochstufiger zwerg sich zeit seines lebens schon immer als
Gnom gefuehlt hat und ploetzlich die Gnomen-Rasse eingefuehrt wird,
ist es doch nur allzu verstaendlich, dass er mit seinem hauptchar
dorthin wechseln moechte, oder?

nearby is not exactly.

gnOme

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



Re^14: News Flash: Frankenstein von Geistern verlassen (Montanus, 14. Aug 2003, 16:27:32):
~#! rn=Gnome rt=1060870839 rg=d.unterwelt
~#! tid=1060688463
Wenn sich ein hochhackiger Zwerg Zeit seines Lebens schon immer als Frau
gefuehlt hat und ploetzlich... ach vergiss es.

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



Re^15: News Flash: Frankenstein von Geistern verlassen (Orktoeter, 14. Aug 2003, 17:03:56):
~#! rn=Montanus rt=1060871252 rg=d.unterwelt
~#! tid=1060688463
Reply auf den letzen Artikel...
Wie waers es mit Halbelf- und Halbdunkelelf? Oder Halbzwerg und
Halb(dunkel)elf? waere doch bestimmt lustig...

Da mit dem Rollenspielargument ist mir hier an die falsche Stelle geraten, das
bezog sich auf die Dunkelelfen. Entweder das sind Dunkelelfen (abgrundtief
boese), dann muessten sie aber auch die Spieler hier killen und wuerden von
denen gekillt, oder es sind halt keine Dunkelelfen (Denn es werden doch nicht
nur Drizz... hier herumrennen, oder?).

Am Anfang des letzen Absatzes haette es Das heissen muessen, aber mit plain
telnet besser ich das jetzt nicht aus.

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



Re^16: News Flash: Frankenstein von Geistern verlassen (Gloinson, 14. Aug 2003, 17:18:00):
~#! rn=Orktoeter rt=1060873436 rg=d.unterwelt
~#! tid=1060688463
Bevor hier nochmal die Dunkelelfen als hier nicht rollenspielbar durchgenudelt
werden wollte ich mal dezent darauf hinweisen, dass AD&D kein Monopol auf die
Auslegung von "Dunkelelf" hat. Ich persoenlich finde die glamredhel und
moredhel der Riftwar-Saga z.B. sehr viel ansprechender.

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



Re^17: News Flash: Frankenstein von Geistern verlassen (Ark, 14. Aug 2003, 18:05:35):
~#! rn=Gloinson rt=1060874280 rg=d.unterwelt
~#! tid=1060688463
Tja, man schiebt eben ein Volk gern in ein Schublaedchen, bei mehreren
Aufbewahrungsplaetzen vergisst man vielleicht, welche Interpretation man gerne
grad zur Hand haette, die poese oder gute, die undurchsichtige oder
abgrundtief ...
Lass uns doch wenigstens ein plakatives Bild, das schickt uns eher :-)


              *** ARK * the * Magnificent ***


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



Re^16: News Flash: Frankenstein von Geistern verlassen (Mupfel, 14. Aug 2003, 22:44:05):
~#! rn=Orktoeter rt=1060873436 rg=d.unterwelt
~#! tid=1060688463
Halbdunkeldroelf?

-mupfel-

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



Re^7: News Flash: Frankenstein von Geistern verlassen (Jasper, 15. Aug 2003, 15:14:31):
~#! rn=Sky rt=1060722464 rg=d.unterwelt
~#! tid=1060688463
nuja es gab auch einen hobbit in der chaos gilde :>

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



Beileid! (Endor, 25. Aug 2003, 15:52:14):
Also das mit dem Rassenwechsel bei Frankenstein hat sich nach einem schoenen F
Feature angehoert, ich war zwar selber nie da, aber hoert sich nach einer
stimmigen Geschichte an, dass Rassenwechsel da geht
Waere es nicht gegangen, es nur fuer Abenteurer zu zulassen? Man braucht ja
nicht unbedingt Gildenlosigkeit.
Wirklich schade, ein schoenes Feature weniger.
Ruhe in Frieden.

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



Kachelmaenner... (Humni, 20. Feb 2004, 15:22:52):
Huhu,

einigen von Euch fehlt nun ein EK, den nicht jeder kriegen konnte, der in der
Nilsquest keinen Fehler gemacht hat. Den Stups gibts nun nicht mehr.

Humni
PS: Theoretisch haette ich das auch nach d.polar schreiben koennen. Naja.
Egal.

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



Re: Kachelmaenner... (Darklor, 20. Feb 2004, 18:37:47):
~#! rn=Humni rt=1077286972 rg=d.unterwelt
~#! tid=1077286972
Hmm hoert sich irgendwie voll gemein und nach Magierwillkuer an... ;) 

Darklor

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



verschollene Runensteine (Padreic, 24. Feb 2004, 12:16:39):
zwei lange verschollene Runensteine sind kuerzlich wieder aufgetaucht und
sollen von Zeit zu Zeit zu finden sein.

Pad*

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



Nibelungen (Ark, 10. Mar 2004, 16:57:59):
Hiho,

unter dem Motto "Unser Mud soll sicherer werden" habe ich eine kleine
Aenderung an der Quest vorgenommen, die dazu fuehrt, dass alle, die sie gerade
spielen, sie nicht beenden werden koennen. Das ist schlecht, das ist boese und
machtgeil, aber leider Fakt. Ich hoffe, es trifft nicht allzu viele, aber in
Anbetracht der Tatsache, dass ein baldiger Reboot in Aussicht steht, ist das
vielleicht die beste Zeit.
Danke fuer euer Verstaendnis.


              *** ARK * the * Magnificent ***


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



Re: Nibelungen (Ark, 10. Mar 2004, 16:59:06):
~#! rn=Ark rt=1078934279 rg=d.unterwelt
~#! tid=1078934279
Natuerlich hilft es, sie neu anzufangen, ich wollte damit nicht abschrecken
bis zum naechsten Reboot :-)


              *** ARK * the * Magnificent ***


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



Re: Re: Nibelungen (Turbo, 10. Mar 2004, 23:13:42):
~#! rn=Ark rt=1078934346 rg=d.unterwelt
~#! tid=1078934279
hmm, Du hast nicht zufaellig auch Alberichs Geissel auf Waffentyp 
Peitsche (statt Schwert) umgestellt? *meinjanur* :-)

Turbo

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



Re: Nibelungen (Ark, 21. Mar 2004, 18:47:42):
~#! rn=Ark rt=1078934279 rg=d.unterwelt
~#! tid=1078934279
Mit erzmagierischer Souveraenitaet hatte ich einen Check ausgelassen, wohl in
der naiven Hoffnung, das funktioniert trotzdem. Nun, ich bin zwar immer noch
souveraen, aber auch etwas weiser geworden. Deshalb denke ich, mich nicht
laecherlich zu machen, wenn ich nun behaupte, alles schoen, alles gut, alles
geht ;^)


              *** ARK * the * Magnificent ***


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



gierige kobolde (Wurzel,  7. Jan 2005, 01:10:47):
was immer die kobolde frueher mit dem zeug machten, das sie einsammeln, tun
sie jetzt nicht mehr: jemand, der noch gieriger ist, hat sie dazu gezwungen,
alles abzuliefern und in seiner schatzkammer zu lagern. unter dieser gier
leiden auch noch andere, nicht nur die kobolde...

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



Re: gierige kobolde (Croft,  7. Jan 2005, 01:58:44):
~#! rn=Wurzel rt=1105056647 rg=d.unterwelt
~#! tid=1105056647
Wenn ich das richtig interpretiere: Danke fuer die Umsetzung :-)

Croft

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



Re: Re: gierige kobolde (Nedime,  7. Jan 2005, 02:08:18):
~#! rn=Croft rt=1105059524 rg=d.unterwelt
~#! tid=1105056647
Sicherlich die bessere Loesung. Auch wenns nicht viel helfen wird, um an das
Zeug zu kommen. Aber man hat die beruhigende Gewissheit, dass es noch da 
ist ;)

Nedime

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



Re^3: gierige kobolde (Pitfall,  7. Jan 2005, 02:09:40):
~#! rn=Nedime rt=1105060098 rg=d.unterwelt
~#! tid=1105056647
Eben, und das Teil ist metzelbar :>

Pit*

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



repfile voller bugs (Wurzel, 18. Jan 2005, 16:06:07):
in meinem repfile sind jede menge bugs drin, die ich nicht bearbeiten kann.
das hat im wesentlichen damit was zu tun, dass ich keine ahnung habe worauf
sie sich beziehen, mit sicherheit jedenfalls nichts was von mir stammt. es
waere wirklich hilfreich, wenn ihr den fokus bei bugschreiben besser waehlen
wuerdet, wenn ihr nicht wollt, dass eure meldungen im nirvana verschwinden.

wurzel

p.s. die mir sinnvoll erscheinenden meldungen sind im wesentlichen bearbeitet.
nicht alle natuerlich, z.b. habe ich den vorschlag, eine neue gilde zu bauen,
erstmal zurueckgestellt.

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



Re: repfile voller bugs (Wurzel, 18. Jan 2005, 16:39:58):
~#! rn=Wurzel rt=1106060767 rg=d.unterwelt
~#! tid=1106060767
ach uebrigens: nibelheim habe ich nicht entkaefert. das laeuft wesentlich
auf das hinzufuegen von details etc hinaus, und an der aufgabe sind schon
leute gescheitert, die heute erzmagier sind. so weit will ich es gar nicht
kommen lassen.


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



Re: Re: repfile voller bugs (Zook, 18. Jan 2005, 16:47:16):
~#! rn=Wurzel rt=1106062798 rg=d.unterwelt
~#! tid=1106060767
Falls Dir darum bange ist, da kann ich Dich beruhigen. Bau ruhig Details 
ein. ;)

Zook.

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



hippe (Wurzel, 14. Mar 2005, 19:14:47):
erna siebenscheich hat beschlossen, hippe hausverbot zu erteilen, da er sich
ziemlich danebenbenommen hat.

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



Re: hippe (Turbo, 14. Mar 2005, 20:00:26):
~#! rn=Wurzel rt=1110824087 rg=d.unterwelt
~#! tid=1110824087
Gute Entscheidung. Danke Wur^H^H^HErna. *veg*

Turbo (Kater)

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



Re^4: gierige kobolde (Wurzel, 23. Mar 2005, 18:53:56):
~#! rn=Pitfall rt=1105060180 rg=d.unterwelt
~#! tid=1105056647
wenn es nicht bald jemand macht, muss ich allerdings mal aufraeumen. haette
nicht gedacht, dass die kleinen schelme soo viel aufsammeln.

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



Para-2-Zzerenzzen (Humni,  9. Okt 2005, 19:40:25):
Huhu,

Para-2-Zzerenzzen ist wieder betretbar. Ein Tip fuer solche Faelle in der
Zukunft:

* Sprecht gezielt, und zwar per Mail, die zustaendigen Magier an. Zustaendig
sind die Gebieteschreiber und RMs. Ich gebe offen zu, dass ich davon gehoert
habe, aber mich erst (RL-bedingt) spaet drum gekuemmert habe, da ich
"eigentlich nicht zustaendig" bin.
* Im Zweifel: Fragt in der MPA nach. Dafuer ist die da.

Es liess sich nicht klaeren, wer es abgehaengt hat oder warum. Darum kann ich
leider auch keinen Spekulationen Vorschub leisten.

Frohe Runensteinjagd ;-)

Humni

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



Schraenker (Seleven,  1. Apr 2006, 21:14:15):
Liebe Seherhausbesitzer und die, die es noch werden wollen :)
ich habe August gebeten seine Schraenke, Spinde und Kommoden ein wenig zu
veraendern und ein kleines Schluesselbrett auf seine Liste zu setzen. Leider
musste ich ihm dafuer versprechen die Kritik entgegenzunehmen. Sollte etwas
ploetzlich nicht funktionieren, schreit laut, huepft wild im Kreis und sprecht
mich dann in aller Ruhe an *gg*.
Sollte jemand eine Idee haben, was man in diesem Laden noch so alles
verbessern sollte, koennt ihr das Schreien und Huepfen ueberspringen und mich
direkt ansprechen. Ich moechte nur um eins bitten: Bitte keine Wuensche nach
Truhen, die man selber beschreiben kann. August gibt sich solche Muehe - da
wollen wir doch kein IKEA draus machen.

Seleven.

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



Wschgelegenheit, auch fuer Zwerge! (Seleven, 24. Aug 2006, 14:04:33):
Hey, ich war grad bei August und hab einen Flyer in die Hand gedrueckt
bekommen:

+ --- Neu --- Neu --- Neu --- Neu --- Neu --- Neu --- Neu +

| Endlich!                                                |

| Die neue, ultramoderene Waschgelegenheit, die sogar die |

| wehrten Kunden aus den Silberbergen ansprechen duerfte: |

| Die Duschkabine fuer Ihr Seherhaus ist da!              |

| Waehlen Sie selbst, womit Sie sich waschen wollen und   |

| bekaempfen Sie effektiv unerwuenschte Gerueche zu einem |

| einmaligen Einfuehrungspreis von nur 3.499 Muenzen !!!  |

| Wir freuen uns, Sie beraten zu koennen.                 |

| Ihr Schraenker-Team                                     |

+ --- --- --- --- --- --- --- --- --- --- --- --- --- --- +


Seleven.

PS: Solltet ihr einen Geruch auftreiben, den die Kabine nicht los wird, meldet
euch bei mir, oder nutzt bei August den Idee-Befehl. :)

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



Re: Wschgelegenheit, auch fuer Zwerge! (Gloinson, 24. Aug 2006, 14:06:03):
~#! rn=Seleven rt=1156421073 rg=d.unterwelt
~#! tid=1156421073
Der Preis ist zu niedrig, da die Wasserrecyclingpauschalgebuehr vom Hersteller
falsch angesetzt wurde. :)


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



Re: Re: Wschgelegenheit, auch fuer Zwerge! (Grimmborn, 24. Aug 2006, 14:16:17):
~#! rn=Gloinson rt=1156421163 rg=d.unterwelt
~#! tid=1156421073
"Waschgelegenheit fuer Zwerge"... Verlegt das bitte mal jemand nach schmarrn,
wo es hingehoert?

GdA

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



Re^3: Wschgelegenheit, auch fuer Zwerge! (Seleven, 24. Aug 2006, 14:18:53):
~#! rn=Grimmborn rt=1156421777 rg=d.unterwelt
~#! tid=1156421073
Waschen heisst bei Zwergen schlicht: sich mit was mehr oder minder fluessigem
ueberschuetten um wieder so zu riechen wie gewoehnt
Seleven

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



Re^4: Wschgelegenheit, auch fuer Zwerge! (Grimmborn, 24. Aug 2006, 14:19:49):
~#! rn=Seleven rt=1156421933 rg=d.unterwelt
~#! tid=1156421073
Ah, sag doch gleich dass Du eine Sondermuelldeponie programmiert hast. Einen
Moment hab ich mir da glatt Sorgen gemacht...

GdA

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



Re^5: Wschgelegenheit, auch fuer Zwerge! (Seleven, 24. Aug 2006, 14:22:04):
~#! rn=Grimmborn rt=1156421989 rg=d.unterwelt
~#! tid=1156421073
Psst, nicht das boese Wort. ;)

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



Re^6: Wschgelegenheit, auch fuer Zwerge! (Kessa, 24. Aug 2006, 23:02:34):
~#! rn=Seleven rt=1156422124 rg=d.unterwelt
~#! tid=1156421073
Ein bisschen Wasser kann auch genutzt werden, um eine allzu hart gebackene
Schmutzkruste wieder anzuloesen, ohne sie dabei zu entfernen. Das ist dann
fast wie frisch gesuhlt.

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



Re^7: Wschgelegenheit, auch fuer Zwerge! (Orktoeter, 25. Aug 2006, 00:40:11):
~#! rn=Kessa rt=1156453354 rg=d.unterwelt
~#! tid=1156421073
Eine ordentlich gepflegte Schmutzkruste enthaelt so viel Fett, die ist 1.
geschmeidig und 2. nicht wasserloeslich, auch nicht zum anloesen. Und ja,
entgegen allgemeiner Meinung waschen sich Zwerge regelmaessig, da die
gepflegte Schmutzschicht wie oben schon erwaehnt ja wasserfest ist und Zwerg
natuerlich den ungewuenschten Schutz von der gepflegten Schmutzschicht
entfernen will/muss, sonst ist sie naemlich nicht mehr gepflegt. Aber das
verraten sie natuerlich nicht jedem.

OrkT.

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



Re^8: Wschgelegenheit, auch fuer Zwerge! (Bambi, 27. Aug 2006, 11:11:19):
~#! rn=Orktoeter rt=1156459211 rg=d.unterwelt
~#! tid=1156421073
Mein Bruder hat mir mal von ein paar !"$"& Moechtegern-Punks erzaehlt, die bei
ner "Demo" waren (dir erst wirklich in Gang kam, als sie vier Polizisten
halbtot geschlagen hatten). Er meinte, dass Wasser da gar nichts genutzt
haette. Grund: "Perlt einfach ab."

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



Truhen, Schluesselbretter etc. (Smeagol, 29. Aug 2006, 14:26:39):
mir faellt auf, dass man zwar Waffentruhen etc unsichbar machen kann, aber bei
"nimm alles" bekommt man dennoch die meldung, dass man sie nicht nehmen kann
.. vielleicht kann man das auch noch abschalten?

ausserdem: kann man irgendwie auch ne individuelle ID fuer die Truhen
vergeben?


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



Re^9: Wschgelegenheit, auch fuer Zwerge! (Kellybundy, 30. Aug 2006, 20:55:48):
~#! rn=Bambi rt=1156669879 rg=d.unterwelt
~#! tid=1156421073
Deswegen sollte man fuer Zwerge vielleicht auch nen Presslufthammer statt ner
Duschkabine anbieten *GG*

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



Re: Truhen, Schluesselbretter etc. (Seleven, 31. Aug 2006, 19:30:25):
~#! rn=Smeagol rt=1156854399 rg=d.unterwelt
~#! tid=1156854399
spontane antwort, deshalb noch keine meinung zum 'nimm alles'-problem. zur
eigenen id: waere ich dagegen. grund: eine kiste sollte eine kiste bleiben und
eine truhe eine truhe. ich habe das unsichtbar machen eingebaut, damit man
auch mehrere aufewahrungselemente im raum verstecken kann - bei einem tresor
waere sowas zB angebracht. das mit dem nimm alles muss ich mir da durch den
kopf gehen lassen. :) 
Seleven.

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



Aufgabe fuer junge Delfen... (Zesstra, 21. Dez 2006, 18:50:52):
Huhu,

in Zzerenzzen gibt es jetzt eine kleine Aufgabe fuer junge (na gut, auch
weniger junge), aufstrebende Dunkelelfen (na gut, falsche Delfen tuns auch) zu
erledigen. ;-)

Zesstra
P.S. Vielen Danke an Ark fuers Testen und nen guten Vorschlag. ;-)

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



Speedy (Zook,  3. Feb 2007, 14:25:42):
Das irgendwie nach der LD-Umstellung nicht mehr so ganz funktionierende
Speedy sollte nun wieder tun, wie gewuenscht. Ich habe etwaige existierende
Speedys im Spiel durch neue ersetzt; Ihr muesst also Eure Kommandos wohl
neu eintragen. Gruss, Zook.

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



Metzelspielplatz ausgegraben (Ennox, 22. Aug 2007, 20:35:06):
Nachdem  Janne in beispielloser Forscherarbeit einen laengst vergessenen
Metzelspielplatz wiederentdeckt hat, haben unsere Ausgrabungsarbeiten dafuer
gesorgt, dass auch die dicken und fetten Altspieler bis dahin kommen.
Ennox, i.A. des Ausgrabungsteams

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



Plattenpanzer fuer Frauen (Zesstra, 15. Dez 2007, 00:07:29):
Huhu,

weibliche Dunkelelfinnen in Zzerenzzen sollten nun (wieder) auch eine Ruestung
fuer Frauen dabei haben und keinen Brustpanzer fuer Maenner... ;-)

Zesstra

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



Re: Temporaere Verstaerkung (Zesstra, 30. Jun 2008, 23:59:14):
~#! rn=Ark rt=1214862656 rg=d.vland
~#! tid=1214862656
Huhu,

man kann bei der Unterwelt zwar nicht recht von Verstaerkung sprechen, aber
ich steh da bis auf weiteres auch als Ansprechpartner fuer Probleme bereit und
bemueh mich, zeitnah zu helfen. Wie Ark uebernehme ich keinen RM-Posten. ;-)
Was Repfiles angeht: Ich werde einen Blick drauf werfen, allerdings erwartet
nicht, dass ich der Unterwelt die Details verpasse, die sie eigentlich
braeuchte *seufz*.

Zesstra

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



Umzugsarbeiten... (Zesstra, 13. Jul 2008, 23:30:26):
Amanda, Gianni und div. Objekte mussten heute (endlich) umziehen. Eigentlich
sollte sich fuer euch nix aendern, falls euch was auffaellt, meldet euch bei
mir.
Achja: Eine gewisse Damenhandtasche hat gegenueber frueher einiges vom ihrem
Schrecken eingebuesst, ist jetzt aber wieder fieser fuer die Gegner als die
letzten paar Monate.

Zesstra

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



neue Teddys... (Zesstra, 15. Jul 2008, 23:19:08):
Huhu,

ich hab mal ein bisschen am Teddybaer gebastelt und u.a. anderem den Bug
ausgebaut, der bei vielen zu sowas wie "Zesstras Teddybaer 0." als
Kurzbeschreibung fuehrte (naemlich bei allen, die ihrem Teddy keinen Namen
gegeben haben).
Das ganze nur fuer neue Teddys, d.h. fuer alle, die schon einen haben nach
Ende/Reboot/Renew.

Zesstra

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



In Riesenheim... (Zesstra, 15. Jul 2008, 23:44:55):
... versperrt man sich jetzt als Riese nicht mehr selber den Weg.

Zesstra

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



Und in der Hoelle... (Zesstra, 16. Jul 2008, 00:26:48):
... bei Lars geht jetzt auch eine naheliegende Syntax. (*seufz*) Und nun
reichts mit Unterwelt-Repfile fuer heute. ;-)

Zesstra

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



Re: Und in der Hoelle... (Gloinson, 16. Jul 2008, 01:46:03):
~#! rn=Zesstra rt=1216160808 rg=d.unterwelt
~#! tid=1216160808
Quatsch. Diese zwei Features kann man doch nicht ausbauen. Die haben doch eine
ganze Generation von Spielern beglueckt!

Wer Ironie findet ... ;)


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



Re: Und in der Hoelle... (Zesstra, 16. Jul 2008, 23:00:37):
~#! rn=Zesstra rt=1216160808 rg=d.unterwelt
~#! tid=1216160808
Ich verschon euch diesmal mit Details, aber ich hab ein Repfile mit Bugs der
UNterwelt jetzt durchgearbeitet und nochmal nen ordentlichen Schwung
beseitigt: Nibelheim, Nibelungenquest, Moria, Kantine, oberirdische Wege um
Williburg rum.

Zesstra

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



Re: Re: Und in der Hoelle... (Darklor, 17. Jul 2008, 03:48:41):
~#! rn=Zesstra rt=1216242037 rg=d.unterwelt
~#! tid=1216160808
Mehr Details, damit man es auch recht zu wuerdigen weiss...

Darklor (;))

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



Walter... (Zesstra, 17. Jul 2008, 23:34:07):
sollte Kram nicht mehr behalten, wenn man ihm mehrere Sachen in einem Befehl
(z.B. gib jede eisenstangen an walter) gibt. Allerdings muss man fuer jeden
Gegenstand noch 'ja' oder 'nein' eintippen.

Zesstra

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



Mietshause, Haustiere und aehnliches (Zesstra, 28. Aug 2008, 22:41:50):
Huhu,

das Mietshaus in Williburg laesst nun auch Haustiere und Chaosdaemonen mit in
die Zimmer. Vorrsetzung ist, dass der Besitzer diese mit 'daemon' bzw.
'haustier' vorher erlaubt hat.

Zesstra

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



Re: Mietshause, Haustiere und aehnliches (Zesstra, 28. Aug 2008, 22:44:15):
~#! rn=Zesstra rt=1219956110 rg=d.unterwelt
~#! tid=1219956110
Achja, das wichtigste ganz vergessen... Geht nur in neu geladenen Zimmern. Das
passiert aber leider nur bei Reboot oder beim ersten Betreten und per Hand
neuladen moechte ich sie nicht, weil ihr dann div. Kram weniger haettet. ;-)

Zesstra

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



Re: Re: Mietshause, Haustiere und aehnliches (Zesstra, 28. Aug 2008, 22:58:08):
~#! rn=Zesstra rt=1219956255 rg=d.unterwelt
~#! tid=1219956110
Achja. Wozu ne Code-Modernisierung nicht alles gut ist. Es sollte jetzt (bzw.
spaetestens naechste Uptime fuer die Zimmer, die jetzt schon geladen sind)
nicht mehr vorkommen, dass Zimmer keine Schraenke haben.

Zesstra

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



Re: Re: Mietshause, Haustiere und aehnliches (Zesstra,  1. Sep 2008, 20:16:59):
~#! rn=Zesstra rt=1219956255 rg=d.unterwelt
~#! tid=1219956110
Da das mit dem Reboot ja hoffentlich noch was hin ist, biete ich euch an, ein
Neuladen der Zimmer vorzunehmen. Dazu muesste ihr allerdings alle Sachen aus
dem betroffenen Zimmer vorher entfernen, die ihr behalten wollt. Allerdings
bitte ich euch, mich diesbzgl. nur abends oder am Wochenende anzusprechen.

Zesstra

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



Maerchenquest temporarily out of order (Ark,  9. Jan 2009, 18:25:48):
Aufgrund von Bauarbeiten ... bis auf Widerruf.


              *** ARK * the * Magnificent ***


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



Re: Maerchenquest temporarily out of order (Zesstra, 10. Jan 2009, 00:00:19):
~#! rn=Ark rt=1231521948 rg=d.unterwelt
~#! tid=1231521948
Die Maerchenquest sollte jetzt wieder spielbar sein.
Und ausserdem verabschiedet sie sich aus der Unterwelt, ihr neues Zuhause ist
im Gebirge... (Mit neuem Betreuer.)

Zesstra

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



Diebische Kobolde... (Zesstra,  5. Aug 2009, 23:54:09):
Ennox hat sich die Muehe gemacht und den diebischen Kobolden der Unterwelt die
Angst vor dem Drachen genommen, wegen der sie bisher den geklauten Krempel im
Hort des Drachen ablieferten. Das heisst zwar nicht, dass sie nix mehr klauen,
aber sie packen es woanders hin.

Zesstra

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



Eine quelle widerlichen Geruchs... (Zesstra,  7. Jan 2010, 22:55:57):

... in der Unterwelt wurde soeben exorziert.

(ihr koennt eure Gags entruempeln)

Zesstra

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



Re: Eine quelle widerlichen Geruchs... (Zook,  7. Jan 2010, 22:57:37):
~#! rn=Zesstra rt=1262901357 rg=d.unterwelt
~#! tid=1262901357
grats!
z

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



Re: Re: Eine quelle widerlichen Geruchs... (Gwen,  9. Jan 2010, 09:09:44):
~#! rn=Zook rt=1262901457 rg=d.unterwelt
~#! tid=1262901357
Heisst das nun "Zum frischen Wind"?
Gwen.

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



Teddy (Zesstra,  2. Mai 2010, 20:51:44):
Ich habe dem Teddy eine Code-Ueberarbeitung zukommen lassen. Als Spieler
sollte man davon eigentlich nichts bemerken. Falls doch, bitte kurz
bescheidsagen.

Zesstra

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



Casino (Zesstra,  3. Jun 2010, 22:38:06):
Ich hab das Innenleben vom Casino unterm Schlachhof mal etwas ueberholt. Jetzt
sollte eigentlich wieder alles wie frueher funktionieren, nachdem es in
letzter Zeit nicht mehr tat.
Bei Problemen meldet euch bitte.

Zesstra

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



Ratten der Unterwelt... (Zesstra,  2. Sep 2010, 23:54:11):
Huhu,

Ratten sind ja ziemlich gelehrige und gerissene Viecher - anscheinend noch
mehr als ich bisher dachte. Beim Rundgang durch die Unterwelt stellte ich
kuerzlich fest, dass sie offenbar die Techniken einiger Angreifer sehr genau
studiert und eine Moeglichkeit gefunden haben, bestimmtem magischen Angriffe
erfolgreich auszuweichen.

Zesstra

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



Spinnen (Humni, 14. Jan 2011, 22:35:28):
Huhu,

unendliche Spinnenquellen koennen unendliches Leid verursachen. Da Leid meine
Hauptbeschaeftigung ist, habe ich beschlossen, mir das Privileg dieser
unglaublichen Qual fuer den Tag des Drachengerichts aufzusparen und Euch nicht
mehr zu erlauben, unendliche Spinnenquellen zu nutzen.

Damit das Gesetz vollstreckt werden kann, moege man mir sagen, wo vielleicht
noch welche sein koennten, wenn jemand so etwas entdeckt, bitte melden.

Humni

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



Nibelungenquest (Zesstra,  7. Sep 2011, 22:38:00):
Huhu,

ich hab heute in paar Werte in der Nibelungenquest angepasst.
Zum einen sollte man beim Kampf mit Notung gegen Alberich jetzt etwas besser
merken, dass Notung nen besonderes Schwert ist. (Uebrigens sollte auch
Zauberer in diesem Kampf ganz gut zurechtkommen, obwohl sie mit so nem bloeden
Schwert kaempfen.)
Zum anderen sollen die Riesen sich gegenseitig auch vernuenftig kleinkriegen,
sobald das noetig wird.

Zesstra

-----------------------------------------------------------------------------



Terminatoren sind ueberbewertet... (Zesstra, 12. Sep 2011, 20:42:10):
Ein Terminator in der Unterwelt hat ein paar Federn lassen muessen und wird in
Zukunft ein wenig weniger nervig sein.

Zesstra

-----------------------------------------------------------------------------



Die Rattenplage in der Unterwelt... (Zesstra, 15. Sep 2011, 21:43:49):
Leider muss ich euch darueber informieren, dass die Rattenplage in der
Unterwelt wieder deutlich fieser geworden ist. Also so fies wie sie einmal
war.
Passt auf euch auf.
(Und erledigt diese jof-verdammten eleden Mistviecher.)
(Am besten endgueltig. Auf Nimmerwiedersehen von der Platte fegen oder so.)

Zesstra

-----------------------------------------------------------------------------



Re: Die Rattenplage in der Unterwelt... (Zesstra, 15. Sep 2011, 23:51:36):
~#! rn=Zesstra rt=1316115829 rg=d.unterwelt
~#! tid=1316115829
Dafuer haben sie allerdings offenbar in einem krankhaften Anfall von
Vegesslichkeit verlernt, viel zu heftigen Schaden zu ignorieren.
Den Geruechten nach griff diese Krankheit auch auf alle anderen NPCs von
Patryn in der Unterwelt ueber.

Zesstra

-----------------------------------------------------------------------------



Re: Re: Die Rattenplage in der Unterwelt... (Gnome, 15. Sep 2011, 23:52:33):
~#! rn=Zesstra rt=1316123496 rg=d.unterwelt
~#! tid=1316115829
Ah, endlich. Danke.

-----------------------------------------------------------------------------



Re: Die Rattenplage in der Unterwelt... (Zook, 16. Sep 2011, 10:30:48):
~#! rn=Zesstra rt=1316115829 rg=d.unterwelt
~#! tid=1316115829
Soll ich meine rm-Keule auspacken?
Zook.

-----------------------------------------------------------------------------



Teddy... (Zesstra, 26. Sep 2011, 20:31:40):
Aufgrund des neuen Statusreports in Spielern wurde das Kommando zum Aktivieren
des Reports im Teddy nach einem Vorschlag von Dotz in "teddyreport" geaendert.
Wirksam ist das fuer alle neuen Teddys, d.h. auch nach Ende/Reboot.

Zesstra

-----------------------------------------------------------------------------



Neulich in Zzerenzzen (Miril,  5. Okt 2011, 21:37:36):
Nyela berichtete mir, dass sie an mutigen, kleinen Dunkelelfen interessiert
ist, 
die bereit sind, ihr bei einer Kleinigkeit zu helfen. Wer sich berufen fuehlt,
moege vorbeigehen.

Achja, und falls eure Knoten dort unten nicht mehr erkannt werden:
ich bin Schuld.

Miril

-----------------------------------------------------------------------------



Teddyreport... (Zesstra, 21. Mai 2012, 20:48:49):
Zur Zeit ist der Teddyreport etwas defekt. Ich hoffe, dass ich in einigemassen
zuegig fixen kann, aber bei mir ist es wegen RL zur zeit ziemlich eng. Wer das
Ding in der Zwischenzeit abschalten moechte, aber nicht abschalten kann, melde
sich bitte bei mir.

Zesstra

-----------------------------------------------------------------------------



Re: Teddyreport... (Zesstra, 21. Mai 2012, 21:42:07):
~#! rn=Zesstra rt=1337626129 rg=d.unterwelt
~#! tid=1337626129
Ich hab ne gute und ne schlechte Nachricht:
Die gute ist, dass ich den Fehler mit dem Teddyreport schneller als gedacht
gefunden und gefixt habe.
Die schlechte ist, dass der Fehler iim Spielerobjekt wr und ihr fuer einen
funktionierenden Teddyreport ein "ende" oder einen Reboot braucht.

Zesstra

-----------------------------------------------------------------------------



Mission (Miril,  1. Dez 2012, 13:38:58):
Der Dunkelelfenpriester hat eine wichtige Mission fuer euch. Vielleicht schaut
ihr bei Gelegenheit mal vorbei.

Viel Spass, Miril

-----------------------------------------------------------------------------



Re: Fehler bei Details in Patryns Gebieten (Zesstra, 22. Dez 2012, 13:51:44):
~#! rn=Zesstra rt=1356180644 rg=d.wald
~#! tid=1356180644
siehe fuer Details den Artikel in d.wald.

Zesstra

-----------------------------------------------------------------------------



Blut von Patryns Ratten (Zesstra, 18. Jan 2015, 23:16:33):
Huhu allerseits,

ich habe heute Abend etwas an Patryns Rattenblut gebastelt. Es arbeitet jetzt
auf eine andere Weise. Dies war eigentlich schon seit langer Zeit die fuer
sowas vorgesehene Methode, d.h. die Aenderung war ueberfaellig. ;-)
Ihr werdet es merken, wenn ihr das Blut mit anderen Moeglichkeiten zusammen
einsetzt, die aehnliche Dinge tun wie das Blut.
Wenn ihr ansonsten was ungewoehnliches dran bemerkt, sagt Bescheid.

Zesstra

-----------------------------------------------------------------------------



Re: Blut von Patryns Ratten (Zesstra, 21. Jan 2015, 23:46:11):
~#! rn=Zesstra rt=1421619393 rg=d.unterwelt
~#! tid=1421619393
Elendil hat mich auf eine kleine Nebenwirkung aufmerksam gemacht, was die
Schwelle anging, wann der Effekt des Blutes verschwindet.
Dies habe ich heute abend korrigiert. Allerdings ist die Schwelle nicht exakt
so, wie ihr das gewohnt seid.

Zesstra

-----------------------------------------------------------------------------



Angeln fuer Anfaenger (Notstrom, 17. Feb 2017, 21:42:46):
    Huhu,

und wieder eine neue Region eingeno- aeh, ich meine:

Westlich von Williburg gibts einen neuen Willi, der Euch etwas Tolles
beizubringen hat. Lieben Dank an Rhovan, der mich genoetigt hat, die MQ
zusammenzubasteln, an meine drei geduldigen Tester Bugfix, Elendil und
Saray, die viel Arbeit geleistet haben, von der man hinterher aber nur
wenig sieht, und noch viel lieberen Dank an Ark, der nicht nur seinen
eigenen Job als Quest-Erzmagier gemacht hat, und ohne den das Miniquestchen
nicht so schnell angeschlossen worden waere.

Und nun viel Spass beim Spielen!

Notstrom.

-----------------------------------------------------------------------------



Der Schrecken aus der Tiefe (Notstrom, 20. Mar 2017, 03:08:47):
TOD starrt seinen neuesten Dauergast an. Womit hatte er DEN denn nun wieder
verdient? Reichte es den Goettern nicht, wenn er sich schon mit weinerlichen
Spielern abschuften musste?

Der Geist von Willifried jammert.

TOD hantiert seufzend mit der Sense, und das Jammern verstummt abrupt.

TOD: ALSO GUT, BRINGEN WIR ES HINTER UNS. NAME?
Der Geist von Willifried: Willifried der Angler.
TOD: *notier* NA SCHOEN. TODESURSACHE?
Der Geist von Willifried: Weiss ich auch nicht. Ich hab ganz in Ruhe meine
                          Angel ausgeworfen und -
TOD: DU NARR WEISST SELBST NICHT, WORAN DU GESTORBEN BIST?? VERGACKEIERN
     KANNST DU DICH SELBST, DAS VERSUCHEN DIE SPIELER AUCH SCHON DIE GANZE
     ZEIT BEI MIR! ICH KENNE MITTLERWEISE A-L-L-E TRICKS! ICH MUSS MIR NICHT
-
Der Geist von Willifried: Jaja, schon gut.
TOD brummelt.
TOD notiert seufzend: Todesursache - Eigene Bloedheit.

*PLOPP*

Lars tritt grinsend aus einer Schwefelwolke.

TOD (langsam entnervt): WAS DENN JETZT NOCH!!?
Lars: Seit wann bist Du denn nun schon fuer Nicht-Spieler zustaendig?
TOD arglt.
TOD: STIMMT.
TOD: ICH SCHICK DEN MAL ALS GEIST ZURUECK. SOLLEN DOCH DIE SPIELER MIT IHM
     KLARKOMMEN. ICH HAB JA AUCH MAL SONNTAG.

Der Geist von Willifried: He, das koennt ihr doch nicht -
*PLOPP*
Der Geist von Willifried verschwindet mit Knall und Schwefelduft.

Lars (stirnrunzelnd): Bist Du sicher, dass Du die richtige Dimension erwischt
                      hast? Das klang seltsam eben.
TOD: MIR EGAL. FEIERABEND FUER HEUTE.
Lars nickt.
Lars: Na, dann mal los. Hoffentlich stehn die Spieler nicht Schlange, wenn Du
      wiederkommst.

-----------------------------------------------------------------------------



Re: Der Schrecken aus der Tiefe (Notstrom, 20. Mar 2017, 03:09:17):
~#! rn=Notstrom rt=1489975727 rg=d.unterwelt
~#! tid=1489975727
Huhu,

ich darf hiermit den langversprochenen zweiten Teil des Anglergebietchens
westlich von Wilhelmsburg ankuendigen. Ganz lieben Dank an einige Mitmagier
und meine Tester, die Betroffenen sollten wissen, wen ich meine.

Bedenkt allerdings, dass die zweite Miniquest dort auch fuer Seher schon eine
Herausforderung sein koennte, denn die ist als Mehrspieler-MQ gedacht. Ich
bin gespannt, wer sie alles meistert.

Nun aber viel Frass beim Schielen,
Notstrom.

-----------------------------------------------------------------------------



Auf Spielerwunsch ... (Notstrom, 24. Mar 2017, 15:51:31):
... kann man nun, wenn man alle Warnungen in den Wind schlaegt, beim Versuch,
einen Raum zu verlassen, sterben.

Schoenes Wochenende!
Notstrom.

-----------------------------------------------------------------------------



Ein Unwohl ... (Notstrom, 28. Mar 2017, 13:12:38):
... hat nun gelegentlich auch mit gildenmagierlicher Genehmigung Komponenten
fuer Zaubis dabei.

Frohes Zaubern,
Notstrom.

-----------------------------------------------------------------------------



Der unterirdische Weg nach Fernwest... (Willow, 28. Mar 2017, 22:45:26):
ist von kleinen Typos befreit worden - sollte irgendetwas nicht mehr so
funktionieren wie zuvor bitte mit Rhovan oder meiner Wenigkeit in Verbindung
treten.

Viel Spass
das Weiderl

-----------------------------------------------------------------------------



Die Holzpfeife... (Willow, 28. Mar 2017, 22:47:54):
sollte jetzt wieder funktionieren wie erwartet. Also kann man sich gegen
Durians Zootiere und das Gescrolle wieder wehren...
Sollte etwas nicht so sein wie erwartet, bitte mit Rhovan oder meiner
Wenigkeit in Kontakt treten - i'll do my very best...

Viel Spass und frohes Tiere verjagen
das Weiderl

-----------------------------------------------------------------------------



Der Schrecken aus der Tiefe ... (Notstrom, 28. Mai 2017, 18:36:13):
... war etwas betriebsblind. Demzufolge hatte etwas bei dem NPC funktioniert,
was nicht funktionieren sollte. Das ist nun hoffentlich gefixt, ab nun ists
dann wohl nicht mehr ganz so langweilig, das Viech zu verkloppen.

Danke fuers Melden (ich petze mal nicht, wers war).
Notstrom.

-----------------------------------------------------------------------------



Mjoelnir neu geschmiedet (Rhovan, 12. Aug 2017, 11:26:14):
Hallo zusammen,
Mjoelnir wurde in Nibelheim neu geschmiedet.

Er wurde ab und wieder aufgewertet.
Sollte er sich nach den Schmiedearbeiten seltsam verhalten,
so gebt mir bitte bescheid.

Ein dank geht noch raus an Bugfix, der mir mit Rat und Tat zur seite stand.
Gruss
Rhovan

-----------------------------------------------------------------------------



Adventskranz  (Myrana,  3. Dez 2017, 22:12:30):
Ich habe mir erlaubt,
die erste Kerze eines schoenen Adventskranzes 
in Form einer kleinen Aufgabe zu entzuenden.
Alle Interessierten sollten sich einmal in die Kneipe in Nibelheim begeben.
Nicht nur, dass diese jetzt sogar einen Namen hat -
"zum rostigen Amboss" naemlich -, nein,
es gibt dort jetzt auch Personal.
und genau dieses hat einen Auftrag, den es zu erledigen gilt.
Ich wuensche viel Spass und einen schoenen ersten Advent!
Myrana

-----------------------------------------------------------------------------



Adventskranz der Dritte (Rhovan, 17. Dez 2017, 00:42:53):
Die naechste Kerze wurde entzuendet.
Und zwar bei Wilhelmsburg.
Das heisst fuer euch, dass sowohl die Wiese als auch ein guter Teil
des Waldes  nahe Williburg sich euren forschenden oder nicht
forschenden Blicken ganz anders zeigen moegen als es bisher der Fall
war.
Ihr koennt also dort durchaus jemandem begegnen, der eure Hilfe noetig hat.

Ausserdem sei darauf hingewiesen, dass gewisse hexen sich nun in einer
anderen Welt befinden, welche nicht jedem zugaenglich sein mag.

Rhovan

-----------------------------------------------------------------------------



Teddy aus der Unterwelt (Zesstra,  7. Mai 2018, 20:00:16):
Der Teddy hatte in letzter Zeit den Fehler, dass er nach ende/reboot seinen
Namen und die Einstellungen fuer den Report vegessen hatte. Dieses sollte nun
behoben sein.

Zesstra

-----------------------------------------------------------------------------



Re: Teddy aus der Unterwelt (Zesstra,  7. Mai 2018, 20:00:42):
~#! rn=Zesstra rt=1525716016 rg=d.unterwelt
~#! tid=1525716016
Vielen Dank an Wargon fuer den Hinweis. ;-)

Zesstra

-----------------------------------------------------------------------------



Durst und Hunger (Notstrom, 24. Jul 2018, 22:07:10):
Huhu,

weil Mundron ihm das ganze Bier weggesoffen hat, hat der Schrecken aus der
Tiefe nun spuerbar oefter Hunger und Durst. Gegen den Durst konnte ich was
tun (Prost!), gegen den Hunger koennt Ihr Spieler etwas tun, indem Ihr ihn
oefter fuettert.

Bon Appetit!

Notstrom.

-----------------------------------------------------------------------------



Nichts untersuchbar im Gildegengebaeude? Ende hilft! (Deaddy, 24. Jul 2020, 01:16:00):
~#! on=Deaddy ot=1595545866 og=gilden.dunkelelfen
Hallo liebe Spieler*innen, auch welche anderer Rassen,

wem das passiert, dass in den Gildengebaeuden der Dunkelelfen offensichtliche
Dinge wie ein "Stehpult" oder "Regal" nicht bei "untersuche" als sichtbar
angezeigt werden, oder gar einen Fehler im Raum-Zeit-Gefuege produzieren, der
moege bitte ein Ende machen.

Da gab es einige Revisionen der dahinterliegenden Technik und natuerlich
muessen wir als Testwiese fuer die fiesen oberirdischen Oberweltbewohner der
Sonne herhalten bei neuen Techniken, sollte das Problem noch nicht anderswo im
MUD auftauchen. Aber trotzdem erfordert das, dass man eine recht frische
sterbliche Huelle hier im MUD hat.

LG und viel Glueck

-----------------------------------------------------------------------------



Neue Details in der Unterwelt (Saitha, 25. Jul 2021, 15:08:11):
Vor kurzem entdeckte ein junger Abenteurer am Eingang zu Wilhelmsburg ein
kleines Haeuschen, was bisher unentdeckt blieb. Komischer Weise waren dort
Geraeusche zu vernehmen, aber niemand anzutreffen. Veraengstigt verliess er
das Haus und berichtete von seinem Erlebnis in der Hoffnung, ein anderer,
unerschrockener Abenteurer wuerde sich finden und der Sache nachgehen.

Vielen Lieben Dank, an meine fleissigen Testspieler und meinen Mitmagiern, die
ich mit Fragen loechern konnte und mich beim Anschluss unterstuetzt haben.
Besonderen Dank an meinen Magierpapi Notstrom, der den Anschluss leider nicht
mehr miterleben kann und Rhovan, der auf dem letzten Stueck meine
Hauptansprechperson war. 
Somit wuensche ich nun allen wagemutigen Abenteurern - ob gross oder noch ganz
klein - viel Spass und Erfolg!

LG Saitha

-----------------------------------------------------------------------------



Dunkelelfen in Zzerenzzen (Arathorn, 28. Mai 2022, 13:41:48):
Moin zusammen,

die Tage wurde ich eher durch Zufall auf das Problem aufmerksam, dass die
Dunkelelfen in Zzerenzzen ihre Sachen beim Tod nur teilweise in ihrer Leiche
hinterlassen. Ich wollte euch auf diesem Weg kurz informieren, dass der Fehler
gefunden und beseitigt ist. Hat sich vermutlich noch nicht bei allen
Dunkelelfen herumgesprochen, aber nach und nach sollte das Phaenomen
verschwinden.

Danke an Deaddy und Nondrum fuers Testen und Suchenhelfen.

Gruss, Arathorn.

-----------------------------------------------------------------------------



